Netplay Guide: Difference between revisions

Jump to navigation Jump to search
(Working on this but need to take a break and need to save it.)
Line 9: Line 9:


== Requirements ==
== Requirements ==
*The game you want to play <b>MUST</b> be in all player's gamelist.
*Bandwidth requirements are very light: any DSL or Cable internet connection should do. However, the internet demands rapidly increase as more players are added. Because the latency (ping) of the internet connection determines how low input latency can get, using Ethernet instead of Wi-Fi usually improves the gameplay experience.
*Bandwidth requirements are very light: any DSL or Cable internet connection should do. However, the internet demands rapidly increase as more players are added. Because the latency (ping) of the internet connection determines how low input latency can get, using Ethernet instead of Wi-Fi usually improves the gameplay experience.
*Each player must have their own copy of the game, and the region and game revision of all copies must match.  While most compressed game formats are compatible with standard ISOs (with NKit being a notable exception), it is heavily recommended that all players use identical dumps.
*Each player must have their own copy of the game, and the region and game revision of all copies must match.  While most compressed game formats are compatible with standard ISOs (with NKit being a notable exception), it is heavily recommended that all players use identical dumps.
Line 15: Line 16:
== Setting Up Dolphin ==
== Setting Up Dolphin ==


Your Netplay Experience will greatly vary depending on what version you tend to use. Because Dolphin 5.0 is lacking so many Netplay features at this point, it cannot be recommended for use. It is missing important features like Wii Save Synchronization ({{revision|5.0-8478}}), Automated Settings Synchronization ({{revision|5.0-8502}}), Cheat Code Synchronization ({{revision|5.0-9032}}), Synchronize All Wii Saves ({{revision|5.0-9037}}) as well as protections for recovering saves if Netplay is to crash.
Your Netplay Experience will greatly vary depending on what version you tend to use. Because Dolphin 5.0 is lacking so many Netplay features at this point, it cannot be recommended for use. It is missing important features like Wii Save Synchronization ({{revision|5.0-8478}}), Automated Settings Synchronization ({{revision|5.0-8502}}), Cheat Code Synchronization ({{revision|5.0-9032}}), Synchronize All Wii Saves ({{revision|5.0-9037}}) as well as protections for recovering saves if Netplay is to crash.  The newest builds can even synchronize cheat codes, assuming the cheats are in all players INIs.


Rule of thumb is that most settings should be set to default and you are expected to follow specific settings where the instruction (made by host or matchmaking websites) has told you to set before playing online.
Rule of thumb is that most settings should be set to default and you are expected to follow specific settings where the instruction (made by host or matchmaking websites) has told you to set before playing online. The guide will focus on the newest available builds at the time of this writing. 


== Hosting or Joining a Session ==
== Starting a Netplay Session ==


Under the tools menu, you can find the option to "Start Netplay Session". From there you have several options.
A Netplay Session in Dolphin is started <i>without</i> before you run the game.  You can setup a netplay session from the Tools Menu -> Start Netplay Session for options for joining or hosting a netplay session.  If you wish to join a public netplay session, you can use the [https://dolphin-emu.org/blog/2019/04/06/netplay-server-browser/ "Netplay Server Browser"] available in {{revision|5.0-8478}} or newer.


*Hosting a session allows you to pick a game and host it for others to join. If you use version {{revision|5.0-8478}} or newer, you can also host these games publicly with the [https://dolphin-emu.org/blog/2019/04/06/netplay-server-browser/ "Netplay Server Browser"].
=== Hosting a Netplay Session ===
*When hosting a session, you can choose whether to Direct Connect or use a Traversal Server. Both will have the same latency, however using the traversal server allows you to use a host code instead of your IP Address. Depending on your router, you may not even need to port forward when using the traversal server.
*You can join a session by browsing public Netplay sessions or going to "Start Netplay Session" to get to the page where you can join sessions. You can enter a host code or IP Address as needed in the "Connect" tab.


While Dolphin does try to automatically configure and sync settings to be correct, it is important to be familiar with settings that can affect Netplay.
If you wish to host netplay session, there are a few things to keep in mind.  You'll have the option to select a specific port, along with host via direct connection or the traversal server.
 
*The player with the best internet, and in the geographic center when playing with 3 or more players, makes for the best host for slowest input latency.
*The host player should not be on a network with a Strict NAT.  Any player on a Strict NAT, even joining, may need to manually port forward.  On more permissive NATs, the traversal server option will allow you to host <i>without port forwarding.</i>
*Port Forwarding is different for every router/modem, so we cannot give exact instructions or how to do it.  If you do not have admin access to your router, you may not have the option of Port Forwarding.
 
Once you've selected a game and are finished, you'll enter the host netplay menu.  If you've hosted via the traversal server, then you'll have a code to distribute to the players.  Otherwise, you'll need to distribute your IP and port.  Note that if you're behind multiple routers, there may be additional complications.  You may need to manually get your IP Address if Dolphin displays a local one when using Direct Connect.


=== General Configuration ===
Do note that you can host on the traversal server, but still allow certain users to direct connect if you trust them with your IP.  This is particularly useful for LAN games, where the traversal server connection method will not work.  You can allow outside players to connect over the traversal server while you can have local players connect directly with your IP and port.  Note that using the Traversal Server does not add any latency - it is only used for connectivity.
{|
|-style="vertical-align: text-top;"


|
The host of the netplay session has additional responsibilities, such as configuring the input buffer, enabling/disabling various netplay features, and assigning netplay controllers for all of the players.
==== General ====
{| class="wikitable"
|-
! Basic Settings
|-
|
* Enable Dual Core: <b>ON</b><br />
* Enable Cheats: <b>OFF</b><br />
* Speed Limit: <b>100%</b>
|}


|
=== Joining a Netplay Session ===


==== Audio ====
Joining a netplay session is simple.  If your host is using the Traversal Server, simply enter the code.  If using direct connection, you'll need to connect via the host's IP Address.  Once you've joined the netplay session, you simply need to wait until the host starts the game.
{| class="wikitable"
|-
! DSP Emulator Engine
|-
|
* <b>DSP HLE emulation</b>
|}


|
=== Recommended Netplay Settings
==== GameCube ====
{| class="wikitable"
|-
! Device Settings
|-
|
* Slot A: <b>Memory Card</b><br />
* Slot B: <b><nowiki><</nowiki>Nothing<nowiki>></nowiki></b><br />
* SP1: <b><nowiki><</nowiki>Nothing<nowiki>></nowiki></b>
|}


|
When playing on Netplay, in order to establish a lockstep netplay session, Dolphin will synchronize a ton of different settings in order make sure the netplay session works.  However, there are certain settings that can be problematic in games and should be adjusted manually as needed.  Note that most of the host's settings will be synchronized to all connecting players.  This is temporary and only for the started netplay session and will not permanently change any of the connecting players' settings.  There are a few settings to keep an eye on.
==== Wii ====
{| class="wikitable"
|-
! Device Settings
|-
|
* Insert SD Card: <b>OFF</b>
|}


|}
*<b>Dual Core</b>: This setting can cause many issues across hundreds of games.  Most commonly, if a game is incompatible with Deterministic Dualcore, it will simply hang on boot.  There is also an issue where Deterministic Dual Core will drop to incredibly low framerates during <i>EFB Access</i> effects.  Use <b>Single Core</b> when possible on netplay to avoid these issues.
*<b>Graphics Backend</b>: When playing games that use EFB Copies, differences in how the Graphics Backends work may matter for synchronization.  This is very rare, usually users can use whichever Graphics Backend they want.  There are rare cases where NVIDIA, AMD, Intel and Apple based graphics cards may result in very slightly different EFB values.  Usually this will result in an erroneous 'Player has desynced' messaged with no further issues.  If the game relies on these value for game logic, then the netplay session may desync.
*<b>SD Card</b>: We recommend that, unless you've specifically prepared the SD card for netplay, that you disable the Wii SD card before playing Wii games on netplay.  Any difference in the SD Card will cause the game to desync.


*Deterministic Dual Core Netplay is now merged into master. While compatibility is not perfect, it should allow more games to work on dual core with three exceptions. Games that require '''Skip EFB Access to CPU''', '''Store EFB Copies to Texture Only''' and/or '''Store XFB Copies to Texture Only''' unchecked in the Graphics > Hacks settings are not guaranteed to run correctly. Deterministic Dual Core can be faster than Single Core in some games, but may also be much slower if a game relies on certain visual effects. Single Core mode in Netplay is the same single core mode used outside of Netplay and has no compatibility penalty.
While Dolphin does try to automatically configure and sync settings to be correct, it is important to be familiar with settings that can affect Netplay.
*SD cards do work on Netplay but must be manually synchronized. Any difference at all in the SD card, no matter how minor, will cause desyncs in games that access the SD card.


==== Settings Synced ====
==== Settings Synced ====