Creating Arcade to fund for charity
-
Hey all, I am a part of an engineering club at my institution and we are creating an arcade machine to raise funds to support our club and donate to charity. (We do own copies of ROMs used) We are wondering if there's any way we can create a system that can work with emulationstation to limit the playtime of people, or in a way, adding a user system to Retropie? I looked through the documents in runcommand but other than mention bash scripts can be run at the end of the launch of the games there was no other information. Is there a way to launch games without going into emulation station but rather through command/script means?
-
Nice idea.
Look under /opt/retropie/configs/<system name, e.g. dreamcast>/emulators.cfg. That file shows the start commands used by each installed emulator for that gaming system.
User auth/permissions sounds like a nice feature request for retropie (especially in thinking about sharing a retro system with young kids, who you wouldn't want stumbling onto Mortal Kombat in the menu).
But if this machine will only be played by college-age people and older, I would say user auth is overkill. There are many many options as to how to put a time limit on games. I would just say that in general, try to use OS-level debian/raspbian tools, rather than freakier 3rd party tools that won't be as stable over the long term. You can do a lot with just timout, for example..
# limit game time to 30 minutes /usr/bin/timeout 30m /path/to/your/game/start/script.sh
Good luck!
-
@rejesterd
Thanks for the reply! Looking into timeout right now. What I meant by keeping in track of users is that we have a separate database that keeps track of how many credits each user has because the more they donate the more time they have on the arcade machine. And we have a magnetic reader at the machine which can read the information off our student-id card and retrieve the number of their credits from the database. Is there any way to implement this into a bash script? And is there any way to launch a specific game with just one command other than have to go through emulation station? -
Gotcha.. basically you need to query a donors table and translate that result to a time limit for the donor who just scanned their card. That would warrant user auth (since you're dealing with donors and real money). For that, it might be best to look at a web/RESTful interface, which Kodi has:
https://kodi.tv/about/software/chorus-web-interface
Some basics on RESTful auth:
https://blog.restcase.com/4-most-used-rest-api-authentication-methods/Doing all that via a bash script securely might get too flakey.
is there any way to launch a specific game with just one command other than have to go through emulation station?
Yep, that's what the emulators.cfg will reveal. For example, here's mine for Dreamcast..
pi@raspberrypi:~ $ cat /opt/retropie/configs/dreamcast/emulators.cfg reicast-audio-alsa = "/opt/retropie/emulators/reicast/bin/reicast.sh alsa %ROM% %XRES% %YRES%" default = "redream" lr-flycast = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-flycast/flycast_libretro.so </dev/null --config /opt/retropie/configs/dreamcast/retroarch.cfg %ROM%" redream = "/opt/retropie/emulators/redream/redream %ROM%"
Those are the commands emulationstation is running underneath the covers, depending on what emulator I've selected. You can run those same commands in your own script. But I would look at Kodi first. I've never set up Kodi, but that's where I would start if I was building this machine.
-
(We do own copies of ROMs used)
not wanting to be "that guy", but owning roms makes no difference in terms of commercial arcade use, which you need a specific game and premises license for (check your local jurisdiction). eg, you technically can't buy an xbox and games and then charge people to use it.
-
@dankcushions This is for non-profit use and the games that are played on it are all nes games from decades ago.
-
@Morotezuki neither make a difference to the law
-
@Morotezuki - I would definitely check your local laws especially for something worthwhile as non-profit that helps other people. I've seen it more than once where you can legally rent arcade machines for non-profit use in the US. The key being a rental or even donations for non-profits/charities.
After working with local law enforcement for 20+ years they would be hard pressed to turn something like that over to the State's Attorney or Attorney General for prosecution let alone those offices wanting to take the man hours and resources away from serious felony crimes. I've watched street cops make decisions off intent (was it good or bad) and they chose not to cite any type of citation, ticket or arrest due to that intent. When there's no unlawful intent they will usually leave it to the parties to find a resolution. Intent makes all the difference in deciding how to proceed.
You can actually sue someone throwing paper on your lawn (or anything for that matter) but it introduces two challenges. Finding a lawyer to take your case would be near impossible (try calling a few and explain a weird situation, they'll have you off the phone before you can say prosecute) let alone a judge to rule in favor of a crime that opens the judicial system to abuse and tying up courts for petty crimes.
It's like staying off the FBI's top 50 list of crimes. If you do it's more than likely you'll never see them knocking on your door, literally true. Should we go after the Pac-Man player trying to feed the homeless or a "new" serial killer or drug dealer dropping 5 keys of coke on the streets weekly. No contest.
I imagine most of the members on the forums use ROMs illegally but the laws don't deter us old gamers much from doing what we love and I don't imagine they care that much.
Anyway I would check your laws as there's usually a legal workaround especially when folks are trying to help law enforcement, juveniles or feeding the homeless, hungry, etc. They aren't there to strictly enforce the law to the letter or make a community miserable when it comes to doing good. Basically doing good for a community at large is a healthy great idea. I wouldn't give up trying to do good things! :)
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.