RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Configure Netplay on Retropie. Am I doing this right?

    Scheduled Pinned Locked Moved Help and Support
    netplaylobbyretropie
    24 Posts 7 Posters 5.8k 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.
    • saccublendaS
      saccublenda @xwons
      last edited by

      @xwons I’ve tried many times, never been able to start netplay.

      1 Reply Last reply Reply Quote 1
      • X
        xwons
        last edited by xwons

        Right after I wrote the post, I hosted a Super Mario Kart game and played two complete tournaments against a stranger. So at least I know it works from "host" side of things, which I believe doesn't require actually downloading the databases or scanning rom folders.

        I'll try now to scan some more rom folders and see if I can join games created by someone else. I'll report back.

        Anyway, I believe that the whole process could be much more simple. Apparently it works from a technical perspective, but the user experience is terrible and not at all user friendly.

        Update: I was unable to join any games using the lobby system. Aparently Retroarch has no idea where to find the roms and the cores, even after scanning the directories, so I couldn't start any game. I tried to follow the instructions posted here, but they seem to be outdated and no longer apply. Hosting the game was fine, though, and a friend could join and play using a windows retroarch client.

        saccublendaS 1 Reply Last reply Reply Quote 0
        • V
          Vegz78
          last edited by Vegz78

          Anyone who've gotten Netplay in lobbies to work, as a client from Retropie, or who could confirm the status of this in Retropie?

          I also followed the instructions from @mediamogul that @xwons links to above, making sure, Retroarch, core and content/ROM versions were the same and the latest on host and client. Also scanned directories.

          The closest I came on the client when trying to connect, was a success message about compatible content found, then another error message about ""suitable core or content not found, try manual load".

          Every possible combinations of loading and launching after that ended in the same error message, and stuck like here: https://github.com/libretro/RetroArch/issues/6872

          I've tried both Tetris with on lr-tgbdual and Blades of Steel on lr-fceumm. Both work with direct connection from client to host in RetroPie runncommand launch and through RetroArch, but none of the work through the lobby.

          Any help or information would be greatly appreciated, as would working Netplay through this lobby system!

          Br,
          Vegard

          1 Reply Last reply Reply Quote 0
          • X
            xwons
            last edited by

            I was able to host a game from my raspberry, and people from the pc client could join and play, but I never managed to join a game in the lobby from my raspberry.

            1 Reply Last reply Reply Quote 0
            • V
              Vegz78
              last edited by Vegz78

              Yeah, seems like even @mediamogul only had a half of dozen of several dozen attempts success rate, as well: https://retropie.org.uk/forum/topic/12793/netplay/20

              But is there anyone out there who has had consistent success in connecting a RetroPie client to a netplay game in the lobby on a Raspberry Pi, or who could confirm the status of/plans for this in Retropie?

              I've heard it works on Recalbox?

              Anyways, thanks for a great product! My kids and I use RetroPie all the time.

              Br,
              Vegard

              1 Reply Last reply Reply Quote 0
              • saccublendaS
                saccublenda @xwons
                last edited by saccublenda

                I made some test today, and I confirm what @xwons said.
                I was running Retropie on a Pi4 and Retroarch on my laptop (same Retroarch version, same core, same rom). I did not perform any rom scan on neither system (see below), I was just launching the same rom on the same emulator. On the host side I went in Retroarch menu Netplay->Host->Start Netplay Host. On the guest side I went in Retroarch menu Netplay->Refresh Room List and selected the host room.

                • Retropie is able to serve as a netplay host, that is, I was able to join the Retropie netplay host room as a guest from Retroarch running on the laptop.
                • Retropie cannot join netplay as a guest, that is, when I try to join the host room of Retroarch running on the laptop, I get the message "Failed to locate matching content by either CRC or filename". This also happen on any netplay host room I see in the room list, despite running the same core and the same rom (same CRC)

                I also tried installing Retropie on an Ubuntu virtual machine, obtaining the same results.
                I add that also I tried to create a playlist by scanning the rom directory, by going in Retroarch menu Main Menu->Load Content->Playlist->Scan Directory, selecting the rom directory and then Scan This Directory. On Retroarch running on the laptop this correctly created a playlist with the roms found in the directory, while Retropie is not able to find any content.

                1 Reply Last reply Reply Quote 0
                • saccublendaS
                  saccublenda
                  last edited by saccublenda

                  I was discussing this on RetroPie-Setup github, and @mitu found a workaround to make netplay guest work on Retropie. The main point is RetroArch expects to find the cores in the same location where the core info file is stored.

                  1. Go into the RetroArch menu Main Menu -> Online Updater -> Update Core Info Files
                  2. Create a symbolic link to the RetroArch core you want to use for netplay in the directory where the core info file was stored, for example
                    ln -s /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so $HOME/.config/retroarch/cores
                    This should be repeated for every RetroArch core you want to use with netplay

                  With this workaround I was able to join netplay rooms as a guest. Load the right rom with the right core and it should work. Some times I get a mysterious Failed to initialize netplay error, but other times I was able to join netplay and actually play.

                  Optional: with the previous workaround you should also be able to create playlists, that save you the hassle of loading the right rom with the right core every time you want to join netplay.

                  1. Go into the RetroArch menu Main Menu -> Online Updater -> Update Databases
                  2. Load a rom with a system you want to use in netplay. Go into the RetroArch menu Main Menu -> Load Content -> Playlists -> Scan Directory and select the directory containing the system roms (for arcade cores with zipped roms you may have to use Manual Scan).
                    This should be repeated for every system you want to use with netplay

                  In this way you should create a playlist of roms (matching the system database) for the system you loaded. Roms should come from standard No-Intro or Goodsets to be actually recognized and added to playlists.
                  When trying to join a netplay room, RetroArch should check if the rom the host is playing with a given system is contained in your playlist of the same system (matching the CRC). If it is, RetroArch should automatically load the right rom with the right core, and start netplay.

                  1 Reply Last reply Reply Quote 4
                  • B
                    BGallagherLA
                    last edited by

                    I've been playing Netplay with my brother like 1800 miles away for awhile now, on my RetroPie, first on my Pi 2 and still on my Pi 4. I think one of the main things you need to make it work is if you host, you have to have a port open on your router. It works great.

                    saccublendaS 1 Reply Last reply Reply Quote 0
                    • saccublendaS
                      saccublenda @BGallagherLA
                      last edited by saccublenda

                      @BGallagherLA I don't know what version of RetroPie you are using with your brother, but this is simply not true for latest RetroPie with 1.8.8 RetroArch. It has been tested and confirmed that without this workaround it does not work even if you have manually loaded the right core and rom, and even if the two RetroPies are on the same lan. Also I don't think that the distance is particularly relevant.

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        BGallagherLA @saccublenda
                        last edited by

                        @saccublenda I'm using RetroPie 4.6. Not sure what version of RetroArch but whatever version 4.6 came with I guess. I have myself set up as the Host as you set up in the RetroPie menu on the Pi. I start a game, hit a button to bring up that menu where you can choose emulators and whatnot. From there I scroll to Launch with Netplay enabled and then tell my brother it's up. He goes to the RetroArch Netplay lobby and finds me and connects to my game and it works great.

                        There are games that don't work and such, but we've gotten it to work regularly.

                        1 Reply Last reply Reply Quote 0
                        • B
                          BGallagherLA
                          last edited by

                          But like I said, I think the key is to make sure you have a port forwarded/open on your router if you are hosting and it will work.

                          X saccublendaS 2 Replies Last reply Reply Quote 0
                          • X
                            xwons @BGallagherLA
                            last edited by

                            @BGallagherLA When using Netplay from a PC, I usually activate the option to use a Relay server. For some reason, games stutter less and you don't need to open ports. Have you tried that in RetroPie?

                            1 Reply Last reply Reply Quote 0
                            • saccublendaS
                              saccublenda @BGallagherLA
                              last edited by

                              @BGallagherLA The problem is related to using RetroPie as guest, not as host.

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                BGallagherLA @saccublenda
                                last edited by

                                @saccublenda Ohh. I see. I guess that would make sense then. My brother usually plays through RetroArch on his PC or his phone. We tried to get my other brother to play through his Pi and it never worked.

                                1 Reply Last reply Reply Quote 0
                                • strohsephS
                                  strohseph
                                  last edited by

                                  @saccublenda Thank you soooooooo much for that workaround. It worked for me and my brother. Linked up all my configs for the emulators we will be using. Can't express how thankful I am.

                                  saccublendaS 1 Reply Last reply Reply Quote 0
                                  • saccublendaS
                                    saccublenda @strohseph
                                    last edited by

                                    @strohseph You should thank @mitu since he found out this workaround, I am just reporting it.

                                    1 Reply Last reply Reply Quote 0
                                    • strohsephS
                                      strohseph
                                      last edited by strohseph

                                      Well thank you @mitu

                                      For those wanting to implement this workaround, here is a list of the libretro coresI have on my build so you can copy paste the ones you want or all of them like I did.

                                      ln -s /opt/retropie/libretrocores/lr-81/81_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-atari800/atari800_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-beetle-lynx/mednafen_lynx_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-beetle-ngp/mednafen_ngp_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-beetle-pce-fast/mednafen_pce_fast_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-beetle-pcfx/mednafen_pcfx_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-beetle-psx/mednafen_psx_hw_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-beetle-supergrafx/mednafen_supergrafx_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-beetle-vb/mednafen_vb_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-beetle-wswan/mednafen_wswan_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-bluemsx/bluemsx_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-caprice32/cap32_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-desmume/desmume_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-dosbox/dosbox_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-fbalpha2012/fbalpha2012_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-flycast/reicast_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-fmsx/fmsx_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-freechaf/freechaf_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-freeintv/freeintv_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-fuse/fuse_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-gambatte/gambatte_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-genesis-plus-gx/genesis_plus_gx_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-gpsp/gpsp_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-gw/gw_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-handy/handy_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-hatari/hatari_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mame2000/mame2000_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mame2003/mame2003_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mame2003_midway/mame2003_midway_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mame2003-plus/mame2003_plus_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mame2010/mame2010_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mame2015/mame2015_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mame2016/mamearcade2016_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mesen-s/mesen-s_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mess/mess_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mrboom/mrboom_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mupen64plus/mupen64plus_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-mupen64plus-next/mupen64plus_next_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-neocd/neocd_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-nestopia/nestopia_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-np2kai/np2kai_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-nxengine/nxengine_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-o2em/o2em_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-opera/4do_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-parallel-n64/parallel_n64_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-pcsx-rearmed/pcsx_rearmed_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-picodrive/picodrive_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-pokemini/pokemini_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-ppsspp/ppsspp_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-prboom/prboom_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-prosystem/prosystem_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-puae/puae_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-px68k/px68k_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-quasi88/quasi88_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-quicknes/quicknes_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-scummvm/scummvm_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-snes9x/snes9x_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-snes9x2002/snes9x2002_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-snes9x2005/snes9x2005_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-snes9x2010/snes9x2010_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-stella2014/stella2014_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-tgbdual/tgbdual_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-tyrquake/tyrquake_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-vba-next/vba_next_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-vecx/vecx_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-vice/vice_x64_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-virtualjaguar/virtualjaguar_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-x1/x1_libretro.so $HOME/.config/retroarch/cores
                                      ln -s /opt/retropie/libretrocores/lr-yabause/yabause_libretro.so $HOME/.config/retroarch/cores
                                      

                                      (Ignore the random code highlighting)

                                      Cheers.

                                      mpnuttallM AddisonA 2 Replies Last reply Reply Quote 2
                                      • mpnuttallM
                                        mpnuttall @strohseph
                                        last edited by

                                        @strohseph strohseph Hello! Sorry to ask such a basic question, but how and where should I paste these shortcuts? I read @saccublenda post, but don't know how to to create them - I'm no good with console stuff and generally only mess around with settings via the Retropie and Retroarch UIs. Is there an idiots step by step of how to add these? Thanks so much, Mark.

                                        saccublendaS 1 Reply Last reply Reply Quote 0
                                        • saccublendaS
                                          saccublenda @mpnuttall
                                          last edited by

                                          @mpnuttall As explained in my post, the command ln -s will create the symbolic link. For example
                                          ln -s /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so $HOME/.config/retroarch/cores
                                          will create a symbolic link to the file /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so in the directory $HOME/.config/retroarch/cores.

                                          mpnuttallM 1 Reply Last reply Reply Quote 1
                                          • mpnuttallM
                                            mpnuttall @saccublenda
                                            last edited by

                                            @saccublenda Thanks very much for the reply. So do I just paste all of that in to the console (if that's even what it's called!) in, say, Putty? And also do everything in the very first post of this thread of course, I assume? Thanks again.

                                            saccublendaS 1 Reply 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.