Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
netplay [2020/02/05 18:17] – [Current Support for Netplay] lbrpdxnetplay [2023/07/16 05:26] (current) – Added a link to the VPN client section for standalone emulator multiplayer. markfeuer
Line 1: Line 1:
-=====Netplay=====+====== Netplay ======
  
-====What is Netplay?====+<WRAP center round important> 
 +Netplay support in RetroArch is "up in the air" as of early 2023. It is possible it's broken at some point for certain cores, if not all of them.
  
-Netplay is a feature enabled by RetroArch and some libretro cores to play games with multiple players over the network. If you want to play //Double Dragon// on NES with your buddy who sits several miles away from you… using netplay you can play both as Player 1 and Player 2 over the Internet, like if you were both playing on the same console, sitting next to each other.+This doesn't apply retroactively to older versions of Batocera (such as v34), which also have older versions of RetroArch, so if you and your buddies use the same old version you should still be able to play together. 
 + 
 +For a guide to set up a VPN client for multiplayer games on standalone emulators separate from Retroarch, visit the [[vpn_client|VPN client]] section. 
 +</WRAP> 
 + 
 +==== What is Netplay? ==== 
 + 
 +Netplay is a feature enabled by RetroArch and some libretro cores to play games with multiple players over the network. If you want to play //Double Dragon// on NES with your buddy who sits several miles away from you… using netplay you can play both as Player 1 and Player 2 over the internet, like if you were both playing on the same console, sitting next to each other.
  
 How does this black magic work? How does this black magic work?
Line 11: Line 19:
 Also, all isn't "magic" here. There are several limitations to be aware of: Also, all isn't "magic" here. There are several limitations to be aware of:
  
-You need a very stable Internet connection, with a low ping value. Like any other multi-player game over the internet, your user experience is heavily depending on the quality of your internet connection. Prefer wired ethernet networking over wifi if possible.  +  * You need a very stable Internet connection, with a low ping value. Like any other multi-player game over the internet, your user experience is heavily depending on the quality of your internet connection. Prefer wired ethernet networking over wifi if possible.  
- All players in a Netplay session need to have the same core version, and the same ROM to play together. That means that you need to use the same Batocera release version, and you should always check and compare the MD5 checksums of the ROM that all members in your party are going to use. It **might** work when using a slightly different core version, or ROM, but your mileage may vary. If possible, get all the players use the same versions. +  All players in a Netplay session need to have the same core version, and the same ROM to play together. That means that you need to use the same Batocera release version, and you should always check and compare the MD5 checksums of the ROM that all members in your party are going to use. It **might** work when using a slightly different core version, or ROM, but your mileage may vary. If possible, get all the players use the same versions. 
- Check that you use a core that is compatible with Netplay - see below for the list of cores that support Netplay. Not all cores are compatible, sometimes for the same console, only a few core are compatible with Netplay. +  Check that you use a core that is compatible with Netplay - see below for the list of cores that support Netplay. Not all cores are compatible, sometimes for the same console, only a few core are compatible with Netplay. 
- Check that all the members of your party are using the same architecture. Some cores don't enable cross-architecture Netplay. Picodrive for Megadrive/Genesis will not let you play across a PC and Raspberry Pi, for technical endianness reasons. Whenever this happens, you'll see a message popping-up upon launching the RetroArch core.+  Check that all the members of your party are using the same architecture. Some cores don't enable cross-architecture Netplay. Picodrive for Megadrive/Genesis will not let you play across a PC and Raspberry Pi, for technical endianness reasons. Whenever this happens, you'll see a message popping-up upon launching the RetroArch core.
  
-====How to enable Netplay?====+<WRAP center round important> 
 +The word "netplay" can mean many things to many kinds of games, in this context this specifically refers to RetroArch's version of Netplay, which is the act of sharing the emulated console's screen across multiple clients.
  
-First of all, make sure you have Batocera 5.25 or laterNetplay is not available for earlier Batocera releases. If you personalized your es_systems.cfg, you need to use the one shipped by Batocera or update yours again based on the current ''/usr/share/emulationstation/es_systems.cfg'' as it has embeds new commands to enable netplay.+It does **NOT** refer to the emulation of the emulated console's actual network playing capabilitiesIt can only play "couch" multiplayer games such as shared or splitscreen onesFor example, you won't be able to do the Game Boy Advance's cable link play over the network with your buddy.
  
-You need to enable netplay by adding ''global.netplay=1'' in ''/userdata/system/batocera.conf''.+However, if a core allows for the emulation of multiple machines on a single client (such as TGBDual emulating two Game Boy originals on a single screen with an emulated cable link connection), then it would be possible to netplay //that// core with your buddy (albeit with the screen output for both the consoles being shown to both players at all times). 
 +</WRAP>
  
-Once this is done, you can check that Netplay is enabled as when you see the help line at the bottom of the screen that tells you that  button ''X'' in EmulationStation is now used for Netplay options (and not "Random selection" any more)+==== How to enable Netplay ==== 
 + 
 +First of all, make sure you have Batocera **5.25** or later. Netplay is not available for earlier Batocera releases. 
 + 
 +To enable Netplay for libretro cores, navigate to **GAME SETTINGS** -> **NETPLAY SETTINGS** and turn on the toggle switch. 
 + 
 +<WRAP center round info> 
 +For older versions of Batocera FIXME (which?), enable netplay by adding ''global.netplay=1'' in ''/userdata/system/batocera.conf''
 +</WRAP> 
 + 
 +Once this is done, you can check that Netplay is enabled as when you see the help line at the bottom of the screen that tells you that  button ''X'' in EmulationStation is now used for Netplay options (and not "Random selection" any more).
  
 ====How to join a Netplay game (client mode)?==== ====How to join a Netplay game (client mode)?====
  
-One of the players needs to host a Netplay server, to which the others players will connect to. When you are on the "systems" list of EmulationStation (the menu where you can select all the consoles, **not** the games), pressing the "Xbutton will give you a list of all available Netplay servers and games in progress. +One of the players needs to host a Netplay server, to which the others players will connect to. When you are on the "systems" list of EmulationStation (the menu where you can select all the consoles, **not** the games), pressing the ''X'' button will give you a list of all available Netplay servers and games in progress.  
 + 
 +Some games are greyed out and marked as "unavailable": there are some technical reasons why you can't join these games (different core version, game you don't own, or a different version of the game, and so on).
  
-Some games are greyed out: there are some technical reasons why you can'join these games (different core versiongame you don'own, or different version of the game, and so on).+Select one of the "available" games that you can join, and launch itpay close attention to the messages that are popping up when RetroArch launches. Sometimes, there are limitations that could not be detected before and that will prevent you from playing (for example some cores don'support cross-platform Netplaymeaning that you can'have some players with PC and others with a Raspberry Pi on the same game).
  
-Select a game that you can join, and launch itpay close attention to the messages that are popping up when RetroArch launches. Sometimes, there are limitations that could not be detected before and that will prevent you from playing (for example some cores don't support cross-platform Netplay, meaning that you can't have some players with a PC and others with a Raspberry Pi on the same game).+{{ ::netplay_list.png?nolink&480 |}}
  
-====How to host a Netplay game (server mode)?====+==== How to host a Netplay game (server mode) ====
  
 If you want to host your own Netplay game and let your buddies join it, you can do so by entering the "games" selection menu, and pressing ''X'' to launch a NetPlay server. Tell your buddies to join your Netplay room, when your game is launched it should appear in the menu described above. If you want to host your own Netplay game and let your buddies join it, you can do so by entering the "games" selection menu, and pressing ''X'' to launch a NetPlay server. Tell your buddies to join your Netplay room, when your game is launched it should appear in the menu described above.
Line 44: Line 66:
  - **Enable Netplay**: on/off.  - **Enable Netplay**: on/off.
  - **Nickname**: how you will be presented in the Netplay game rooms (useful for the other players to find you and make sure they join the right room).  - **Nickname**: how you will be presented in the Netplay game rooms (useful for the other players to find you and make sure they join the right room).
- - **Port**: if you need to define a specific port to enable Netplay. This is depending on your network configuration, and you can leave the default as empty if your router is UPNP compatible. + - **Port**: if you need to define a specific port to enable Netplay. This is depending on your network configuration, and you can leave the default as empty if your router is UPNP compatible. Otherwise, default port is ''55435''
- - **MITM**: in case your network can't let you open UPNP ports to host Netplay games, you can use this as a relay for hosting your Netplay game. It does introduce more latency though, so use this option only if your network can't open UPNP ports automatically + - **Use Relay Server**: in case your network can't let you open UPNP ports to host Netplay games, you can use this as a relay (aka MITM of "Man In the Middle"for hosting your Netplay game. It does introduce a little more latency though, so use this option only if your network can't open UPNP ports automatically 
- - **Reindex all games**: let Batocera index all your ROMs in order to present only the game rooms with ROMs compatible with yours. + - **Check missing indexes at startup**: on/off (see below) 
 + - **Reindex all games**: let Batocera index all your ROMs in order to present only the game rooms with ROMs compatible with yours. This will be done in the background, with a pop-up window telling about its progress as it can take some time.
  - **Index missing games**: same, but only when you have just added new ROMs to your Batocera.  - **Index missing games**: same, but only when you have just added new ROMs to your Batocera.
  
 ====Current Support for Netplay==== ====Current Support for Netplay====
  
-This is the list for Batocera 5.25, it may change based on the evolution of the cores over time.+This is the list for Batocera **5.25**:
  
 **Arcade**  **Arcade** 
  • netplay.1580923061.txt.gz
  • Last modified: 4 years ago
  • by lbrpdx