RetroArch 1.4.1 Netplay
-
I always have to give up before I can find the answer to something. There has to be some eastern zen philosophy in that. Anyway, to get scanning to work, invoke the RetroArch GUI while in a game (select+x), then navigate to 'Online Updater' and select 'Update Databases'. This will download RetroArch's own ROM definitions to identify content. This is really kind of nice because once this is downloaded, I assume future scans can be done offline.
After it downloads and unzips, then you can scan the whole roms folder, or just a system folder, or even just a single file. Afterwards, in theory, this should all work. Unfortunately, there's currently only three people online to try this with and either none of them have 'Dr. Mario' (the only ROM I've scanned so far), or they currently don't have their systems configured correctly (or I still don't somehow). I plan on scanning my whole NES collection overnight and we'll see if I can match up to anyone as early as tomorrow evening.
It should also be noted that I moved back to the binary release version and was still able to scan, so updating RetroArch from source is not necessary.
-
@mediamogul how long does scanning take?
-
I watched a few very brief demo videos of people connecting and I'm starting to wonder if you do in fact have to scan. It looks like both parties just load up an identical ROM and core, one of them starts a netplay host session and then the other selects the user's nickname from the netplay room list. I believe that downloading the RetroArch database is still necessary so that it can tell if the two games are compatible.
The big problem here is that there's no documentation yet, so a good bit of this is guess work. Moving forward we should see if any users have been discussing how it all works on the RetroArch forums. It's really late here, so I'll look around a bit tomorrow. If anyone finds something before then, please share.
-
@mediamogul Thanks, it's morning here and I just spent about an hour searching the web for documentation. There is virtually no documentation as you say (RetroArch 1.4.1 and Netplay with Retropie). Also there is no YouTube videos showing how the new feature works on Retropie either.
Previous to this update I have tested Netplay but we had a lot of desync issues. We used to do it with the same emulator and same ROM with one person hosting and connecting to a IP address. We did this without any scanning and just followed this:
https://github.com/RetroPie/RetroPie-Setup/wiki/Netplay
I really want to test this again so if you want me to test anything let me know. My time zone is GMT +1 .
-
@eDrinker said in RetroArch 1.4.1 Netplay:
We did this without any scanning and just followed this:
https://github.com/RetroPie/RetroPie-Setup/wiki/NetplayI'm glad you mentioned this. I decided to take a step back and try launching a netplay game using this manual method which made me realize that in RetroPie, the netplay nickname is only set when launched with netplay options selected in the runcommand menu. However, it seems that launching this way may be currently broken. When "Launch ROM with Netplay" is selected, RetroArch exits back to Emulation Station
unrecognized option '--frames'
appearing in/dev/shm/runcommand.log
. The entire log can be seen below. I only changed my IP toxx.xx.xx.xxx
.nes lr-fceumm /home/pi/RetroPie/roms/nes/Contra (USA).zip /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so --config /opt/retropie/configs/nes/retroarch.cfg "/home/pi/RetroPie/roms/nes/Contra (USA).zip" /opt/retropie/configs/all/runcommand-onstart.sh: line 31: [: too many arguments Parameters: Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so --config /opt/retropie/configs/nes/retroarch.cfg "/home/pi/RetroPie/roms/nes/Contra (USA).zip" --appendconfig /dev/shm/retroarch.cfg -C xx.xx.xx.xxx --port 55435 --frames 15 --nick ''Pseudoscience'' /opt/retropie/emulators/retroarch/bin/retroarch: unrecognized option '--frames' RetroArch: Frontend for libretro -- v1.4.1=================================================================== -- d8855ca -- Compiler: GCC (4.9.2) 32-bitBuilt: Feb 4 2017 =================================================================== Usage: /opt/retropie/emulators/retroarch/bin/retroarch [OPTIONS]... [FILE] -h, --help Show this help message. -v, --verbose Verbose logging. --log-file=FILE Log messages to FILE. --version Show version. --features Prints available features compiled into program. --menu Do not require content or libretro core to be loaded, starts directly in menu. If no arguments are passed to the program, it is equivalent to using --menu as only argument. -s, --save=PATH Path for save files (*.srm). -S, --savestate=PATH Path for the save state files (*.state). -f, --fullscreen Start the program in fullscreen regardless of config settings. -c, --config=FILE Path for config file. By default looks for config in $XDG_CONFIG_HOME/retroarch/retroarch.cfg, $HOME/.config/retroarch/retroarch.cfg, and $HOME/.retroarch.cfg. If a default config is not found, the program will attempt to create one based on the skeleton config (/etc/retroarch.cfg). --appendconfig=FILE Extra config files are loaded in, and take priority over config selected in -c (or default). Multiple configs are delimited by '|'. -L, --libretro=FILE Path to libretro implementation. Overrides any config setting. --subsystem=NAME Use a subsystem of the libretro core. Multiple content files are loaded as multiple arguments. If a content file is skipped, use a blank ("") command line argument. Content must be loaded in an order which depends on the particular subsystem used. See verbose log output to learn how a particular subsystem wants content to be loaded. -N, --nodevice=PORT Disconnects controller device connected to PORT (1 to 16). -A, --dualanalog=PORT Connect a DualAnalog controller to PORT (1 to 16). -d, --device=PORT:ID Connect a generic device into PORT of the device (1 to 16). Format is PORT:ID, where ID is a number corresponding to the particular device. -P, --bsvplay=FILE Playback a BSV movie file. -R, --bsvrecord=FILE Start recording a BSV movie file from the beginning. --eof-exit Exit upon reaching the end of the BSV movie file. -M, --sram-mode=MODE SRAM handling mode. MODE can be 'noload-nosave', 'noload-save', 'load-nosave' or 'load-save'. Note: 'noload-save' implies that save files *WILL BE OVERWRITTEN*. -H, --host Host netplay as user 1. -C, --connect=HOST Connect to netplay server as user 2. --port=PORT Port used to netplay. Default is 55435. --stateless Use "stateless" mode for netplay (requires a very fast network). --check-frames=NUMBER Check frames when using netplay. --command Sends a command over UDP to an already running program process. Available commands are listed if command is invalid. --nick=NICK Picks a username (for use with netplay). Not mandatory. -r, --record=FILE Path to record video file. Using .mkv extension is recommended. --recordconfig Path to settings used during recording. --size=WIDTHxHEIGHT Overrides output video size when recording. -U, --ups=FILE Specifies path for UPS patch that will be applied to content. --bps=FILE Specifies path for BPS patch that will be applied to content. --ips=FILE Specifies path for IPS patch that will be applied to content. --no-patch Disables all forms of content patching. -D, --detach Detach program from the running console. Not relevant for all platforms. --max-frames=NUMBER Runs for the specified number of frames, then exits.
-
@mediamogul I've not revisited the netplay for some time, but since the changes we probably need to adjust our stuff - will look into it.
-
When "Launch ROM with Netplay" is selected, RetroArch exits back to Emulation Station unrecognized option '--frames'
Yesterday evening I added a netplay_nickname to my
all/retroarch.cfg
and then loaded up lr-snes9x2010 with Final Fight. I started my own netplay game and updated the list and I could see my nickname on the list. I did not Launch ROM with Netplay support from the Runcommand (I actually forgot to do this). After this I downloaded the database and started it scanning my games and then went to bed. -
Thanks, that would be most appreciated. This will be really amazing when operational. By eliminating several of the steps previously needed, forum members will be able to coordinate multiplayer games much easier. Also, the fact that most all of us are using the same distribution through the RetroPie setup, having an identical core won't be much of an issue either. I expect that static IPs and having an identical ROM will be the only hurdles at that point.
I did not Launch ROM with Netplay support from the Runcommand (I actually forgot to do this).
It could be that none of the previous steps are necessary to get this new functionality to work. I'm going to continue looking into it a little bit, but finding information has been pretty difficult so far.
-
How long does it take to scan your ROMs roughly?
-
It seemed to take about 3 seconds per ROM. At that rate, the entire NES licensed library of 713 games would take close to 36 minutes.
-
@mediamogul and by scan I think you mean this screen right?
https://goo.gl/photos/qmLRajCJFGDW9J4F7
It hasn't told me it's doing anything but the fact it's frozen I am assuming it's scanning.
-
How long does it take to scan your ROMs roughly?
Depending how many ROMs your asking it to scan, It will freeze like that for a few seconds (or minutes) then will show you what it is scanning at very bottom. I had it scan all my ROMs from /home/pi/RetroPie/roms/ and I think it took all night. I started it at about 11pm before I went to bed but woke up around 3:30am and it was still scanning. When I got up this morning at about 7:00am it had already finished.
-
Yeah, if a folder contains a large number of items, it will pause to account for them all before the actual scan begins. The scanning process will be noted as it progresses by the traditional yellow text at the bottom left.
-
Heh, I didn't see your post there. Didn't mean to re-jibber your jabber.
-
Thanks both, I'm scanning and guessing a few hours will be needed.
I can also confirm the original journey of launching with netplay no longer works.
-
@mediamogul
Doesn't bother me. Sometime you can get a bigger picture if more than one person gives their 2 cents. -
So has anyone managed to join a game or is everyone still scanning trying to find a compatible person/ROM/emulator?
-
@eDrinker
I couldn't connect to anyone when I tried last night but I hadn't downloaded the database yet. I'll probably be playing around with it later today. -
@backstander mine apparently finished scanning but can't tell if it timed out. Is there a file saved somewhere with the list. Its a big list and I expected it to take longer.
I only saw one person online and it said no compatible games.
Best of luck, I'm going bed.
Would be interested if anyone gets it working.
-
Is there a file saved somewhere with the list.
It will create a
.lpl
file at: /opt/retropie/configs/all/retroarch/playlists/
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.