RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    RetroArch 1.4.1 Netplay

    Scheduled Pinned Locked Moved General Discussion and Gaming
    netplayretroarch
    78 Posts 12 Posters 29.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • mediamogulM
      mediamogul Global Moderator @backstander
      last edited by

      @backstander

      I noticed they are porting RetroArch to DOS/Windows 9x/Windows 2K.

      Wow, that is surprising. It'll allow new life for a lot of machines that are collecting dust, though.

      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

      1 Reply Last reply Reply Quote 1
      • E
        eDrinker @BuZz
        last edited by

        @BuZz thanks I just upgraded. Will be interested to know if they fixed/improved any of the dysnc issues.

        Oz

        1 Reply Last reply Reply Quote 0
        • mediamogulM
          mediamogul Global Moderator
          last edited by

          I just tested the Netplay rooms feature and I can see this as being really nice. Once you invoke the RetroArch GUI while in a game (select+x), you then navigate to 'Netplay' and the 'Netplay Rooms'. You can then choose to start a hosting session, or refresh the list of available servers. If you choose to start a hosting session, your nickname should appear in the list of available servers. Refreshing the list populates the menu with these servers for you to select, listed by nickname.

          One thing that troubles me is that my RetroArch netplay nickname is set to be 'Pseudoscience'. However, when I refreshed the list, my nickname was listed as being my IP address. So instead of telling people that I'm starting to play 'Dr. Mario' and that anyone who wants to join can find me under the nickname 'Pseudoscience', I would have to list my IP address for all to see on a public forum. Should this even be a concern, or am I just over thinking it?

          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

          B 1 Reply Last reply Reply Quote 1
          • B
            backstander @mediamogul
            last edited by

            Yeah I'd rather have my nickname than my IP address.

            1 Reply Last reply Reply Quote 0
            • mediamogulM
              mediamogul Global Moderator
              last edited by mediamogul

              OK, I figured out how to set the netplay nickname, but it's somewhat in conflict with the RetroPie method. Normally, all the netplay settings (including the nickname) are entered into the 'RetroArch Netplay' configuration menu in the 'RetroPie' menu of Emulation Station. However, while RetroArch honors the IP address configured there, it ignores the nickname setting. To set it manually, you can of course alter the /opt/retropie/configs/all/retroarch.cfg file using SSH or the built-in 'Configuration Editor', also found in the 'RetroPie' menu of Emulation Station. The particular setting in question will be:

              #netplay_nickname =
              

              And it will need to altered to:

              netplay_nickname = InsertNicknameHere
              

              After playing around with this a bit more, I'm starting to wonder if this feature's discovery method is currently compatible with RetroPie. In order for it to work, you first must scan the roms folder from within the RetroArch GUI. It then makes a playlist of the games it was able to discover using a successful CRC check. RetroArch is then able to match content between users with this list, meaning that if you click on someone's name, a sub-menu will pop up telling you which games are compatible between the two users.

              I'm probably missing something here, but every time I scan my roms folder using RetroArch, no playlist is made. I don't know if this is due to a RetroArch issue, or a RetroPie issue in how RetroArch is set up. The CRC checks all succeeded with several other scanning and scraping methods, so I'm reasonably positive that's not an issue.

              RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

              herb_fargusH 1 Reply Last reply Reply Quote 2
              • herb_fargusH
                herb_fargus administrators @mediamogul
                last edited by

                @mediamogul we have discussed netplay as that is part of retropie that has rarely been touched. We just haven't gotten to it yet, so it is good to get feedback on how it is supposed to work and what needs to be changed with retropie to make it work that way

                If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                mediamogulM 1 Reply Last reply Reply Quote 3
                • mediamogulM
                  mediamogul Global Moderator @herb_fargus
                  last edited by mediamogul

                  @herb_fargus

                  That's good to hear. It really is mind-blowing once you sit down and consider everything that a RetroPie setup is capable of. However, the lengths it takes to keep all those functions operational shouldn't be underestimated or taken for granted. I've said it before, but it never hurts to repeat that we're all very grateful.

                  I feel like I'm a little bit closer to getting this running. I came across this reported issue that mentions that the current stable release of RetroArch is unable to scan content that is zipped unless a core has been downloaded that references the .zipextension, such as FBA or a MAME core.

                  I believe this presents a problem for RetroPie, as it always launches the core alongside RetroArch at runtime and never has a listing of what cores are actually available. A Fix was issued 10 days ago that supposedly solves this, but I thought it might be an easier solution to launch MAME and try scanning for content with the core active. Unfortunately this didn't work, but it could be because RetroArch is still unaware of what cores are available in RetroPie, even when a core is running.

                  I've been updating RetroArch from source as I write this and it just has finished, so I'll see if the most recent fix changed anything on my end and report back.

                  RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                  1 Reply Last reply Reply Quote 1
                  • mediamogulM
                    mediamogul Global Moderator
                    last edited by

                    Well, that didn't work either. I even tried unzipping all my ROMs and scanning, but still no playlist was made. If anyone thinks of something else to try, I'll be happy to guinea pig it, but for now I'm out of ideas.

                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                    herb_fargusH 1 Reply Last reply Reply Quote 0
                    • herb_fargusH
                      herb_fargus administrators @mediamogul
                      last edited by

                      @mediamogul could it have something to do with the save on exit something or other?

                      If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                      Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                      1 Reply Last reply Reply Quote 0
                      • mediamogulM
                        mediamogul Global Moderator
                        last edited by mediamogul

                        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.

                        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                        E 1 Reply Last reply Reply Quote 2
                        • E
                          eDrinker @mediamogul
                          last edited by

                          @mediamogul how long does scanning take?

                          Oz

                          mediamogulM 1 Reply Last reply Reply Quote 0
                          • mediamogulM
                            mediamogul Global Moderator @eDrinker
                            last edited by mediamogul

                            @eDrinker

                            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.

                            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                            E 1 Reply Last reply Reply Quote 0
                            • E
                              eDrinker @mediamogul
                              last edited by eDrinker

                              @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 .

                              Oz

                              mediamogulM 1 Reply Last reply Reply Quote 1
                              • mediamogulM
                                mediamogul Global Moderator @eDrinker
                                last edited by mediamogul

                                @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/Netplay

                                I'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 to xx.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.
                                

                                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                BuZzB B 2 Replies Last reply Reply Quote 0
                                • BuZzB
                                  BuZz administrators @mediamogul
                                  last edited by

                                  @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.

                                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                  mediamogulM 1 Reply Last reply Reply Quote 3
                                  • B
                                    backstander @mediamogul
                                    last edited by backstander

                                    @mediamogul

                                    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.

                                    1 Reply Last reply Reply Quote 1
                                    • mediamogulM
                                      mediamogul Global Moderator @BuZz
                                      last edited by mediamogul

                                      @BuZz

                                      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.

                                      @backstander

                                      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.

                                      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                      1 Reply Last reply Reply Quote 1
                                      • E
                                        eDrinker
                                        last edited by

                                        How long does it take to scan your ROMs roughly?

                                        Oz

                                        mediamogulM 1 Reply Last reply Reply Quote 0
                                        • mediamogulM
                                          mediamogul Global Moderator @eDrinker
                                          last edited by mediamogul

                                          @eDrinker

                                          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.

                                          RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                          E 1 Reply Last reply Reply Quote 0
                                          • E
                                            eDrinker @mediamogul
                                            last edited by eDrinker

                                            @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.

                                            Oz

                                            B mediamogulM 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.