Netplay Guide: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
(Did a lot of testing with netplay and such, this is the results. Used data from smashladder along with personal testing in order to make this guide more accurate, as well as statements from comex on IRC.)
No edit summary
Line 4: Line 4:
== Requirements ==
== Requirements ==
*Internet requirements are very light: any DSL or Cable internet connection should do. However, the internet demands rapidly increase as more players are added.
*Internet requirements are very light: any DSL or Cable internet connection should do. However, the internet demands rapidly increase as more players are added.
*ISOs must have matching region and game revision. The netplay window should be able to tell you this information, otherwise compare MD5 or SHA-2 hashes.
*Game disc images between players must have matching region and game revision. ISO, WBFS and other compression formats are OK.
*If hosting behind a firewall or router, port forwarding will be necessary.
*If hosting behind a firewall or router, port forwarding will be necessary.
 
*All players should use the same Dolphin build, preferably the latest development build from [http://dolphin-emu.org http://dolphin-emu.org]. Because of all the settings and memory card requirements, it is recommended that you create a duplicate copy of Dolphin specifically for Netplay and use "[[Controlling the Global User Directory#Disable the Global User Directory for a Specific Build with "portable.txt"|portable.txt]]" to isolated it from the [[Controlling the Global User Directory|Global User Directory]].


== Setting Up Dolphin ==
== Setting Up Dolphin ==
*All players should use the same build, preferably the latest development build from [http://dolphin-emu.org http://dolphin-emu.org]. Because of all the settings and memory card requirements, it is recommended that you create a duplicate copy of Dolphin specifically for Netplay and use "[[Controlling the Global User Directory#Disable the Global User Directory for a Specific Build with "portable.txt"|portable.txt]]" to isolated it from the [[Controlling the Global User Directory|Global User Directory]].
Memory card of any kinds must be copied across every computers that players intended to use for netplay. Memory Cards for GameCube can be synchronized or disabled, meanwhile players may have to copy SD card to other computers themselves. Wii save files are currently disabled as of {{revision|4.0-6512}}. This means users do not need to synchronize Wii NANDs any longer, but cannot save in exchange.
 
{{revision|4.0-6638}} added the ability to detect desyncs.  Watch the textbox for if it notices desyncs, as very often it will be able to tell the game has desynced before the players.
 
As of
 
*For GCN games, Memory Cards need to be synchronized or disabled.
 
*For Wii games, save files are currently disabled as of {{revision|4.0-6512}}. This means users do not need to synchronize Wii NANDs any longer, but cannot save in exchange.


=== General Configuration ===
=== General Configuration ===
*Idle skipping doesn't affect Netplay, only movie playback, so it can be left on.
*Idle skipping doesn't affect Netplay, only movie playback, so it can be left on.


*Deterministic Dualcore Netplay is now merged into master. While compatibility is not perfect, it should allow more games to synchronize on dualcore with three exceptions. Games that require Skip EFB Access to CPU, Store EFB Copies to Texture Only and/or Disable XFB unchecked will are not guaranteed to sync up.  There are exceptions to this, but single core is recommended in games that require those settings. As well, some games are not compatible with deterministic dualcore netplay and will hang.  Disabling Dualcore will provide better compatibility but lower performance.
*Deterministic Dualcore Netplay is now merged into master. While compatibility is not perfect, it should allow more games to synchronize on dualcore with three exceptions. Games that require Skip EFB Access to CPU, Store EFB Copies to Texture Only and/or Disable XFB unchecked will are not guaranteed to sync up.  There are exceptions to this, but single core is recommended in games that require those settings. As well, some games are not compatible with deterministic dualcore netplay and will hang.  Disabling Dualcore will provide better compatibility but lower performance.


*DSP-HLE should work with all titles.
*DSP-HLE should work with all titles.


=== Graphics Configuration ===
=== Graphics Configuration ===
*EFB Access to CPU and Store EFB Copies to Texture Only must be the same on all PCs. On Dualcore Netplay, it's highly recommended that both are checked.
*EFB Access to CPU and Store EFB Copies to Texture Only must be the same on all PCs. On Dualcore Netplay, it's highly recommended that both are checked.


*Enhancements can mostly be turned on or off without incident on higher end processors. The only exception to this is when an enhancement breaks a game, such EFB Copy readback.
*Enhancements can mostly be turned on or off without incident on higher end processors. The only exception to this is when an enhancement breaks a game, such EFB Copy readback.


=== Controller Settings ===
=== Controller Settings ===
Line 36: Line 28:
*Wiimotes bindings work more or less the same way as GCpad settings, however only emulated Wii Remotes can be used. Just edit emulated wiimote 1, regardless of what player you'll be in the netplay session. Any additional local players will be emulated wiimote 2 or emulated wiimote 3.
*Wiimotes bindings work more or less the same way as GCpad settings, however only emulated Wii Remotes can be used. Just edit emulated wiimote 1, regardless of what player you'll be in the netplay session. Any additional local players will be emulated wiimote 2 or emulated wiimote 3.


*Wiimotes do not work very well on netplay. They are subject to random failures on startup even when perfectly setup. Beyond that, all users must disable attachments in the Wiimote Settings page on all Wiimotes used in-game for wiimotes to have a chance. It is highly recommended that users watch the chatbox for desyncs on startup.  If they do see one, restarting the emulator is necessary. GameCube controllers do not suffer from these strange quirks.
*Wiimotes do not work very well on netplay. They are subject to random failures on startup even when perfectly setup. Beyond that, all users must disable attachments in the Wiimote Settings page on all Wiimotes used in-game for wiimotes to have a chance. It is highly recommended that users watch the chatbox for desyncs on startup.  If they do see one, restarting the emulator is necessary. GameCube controllers do not suffer from these strange quirks.


== Netplay Settings ==
== Netplay Settings ==


=== How to set the Pad buffer ===
=== How to set the Pad buffer ===
Because input on the GameCube and Wii are polled by non-frame intervals, buffer does not directly relate to frames and can even vary per game. Lower the buffer as much as possible without causing slowdown for an optimal experience, ideally in areas that insure there isn't computer related slowdown such as a menu. In most games, add 1 roughly pad buffer per 15ms of latency per client. Two players at 50ms latency would be roughly 3 - 4 buffer, where as three players at 50 and 65 ms would be roughly 7 buffer.
Because input on the GameCube and Wii are polled by non-frame intervals, buffer does not directly relate to frames and can even vary per game. Lower the buffer as much as possible without causing slowdown for an optimal experience, ideally in areas that insure there isn't computer related slowdown such as a menu. In most games, add 1 roughly pad buffer per 15ms of latency per client. Two players at 50ms latency would be roughly 3 - 4 buffer, where as three players at 50 and 65 ms would be roughly 7 buffer.


=== Setting a Spectator ===
=== Setting a Spectator ===
A Spectator is a connected computer that has no controllers assigned to them. You can do this by configuring pads and making sure their name has no pads.  This player will not impact lag or latency but can still watch the netplay session.
A Spectator is a connected computer that has no controllers assigned to them. You can do this by configuring pads and making sure their name has no pads.  This player will not impact lag or latency but can still watch the netplay session.


=== Mixing Local and Online Multiplayer ===
=== Mixing Local and Online Multiplayer ===
To set multiple players on one computer, simply hit the configure pads button, and add their name to another pad. The first time their name is used will default to pad/wiimote 1, then 2 and so on.
To set multiple players on one computer, simply hit the configure pads button, and add their name to another pad. The first time their name is used will default to pad/wiimote 1, then 2 and so on.




== FAQ ==
== FAQ ==
Q: The person I'm playing with seems to be moving around strangely but he says that I'm the one moving weirdly. What happened?
Q: The person I'm playing with seems to be moving around strangely but he says that I'm the one moving weirdly. What happened?
<br/>A: This is a desync. Basically what both of you are seeing are two different games. If it keeps happening, double check your settings, check the hashes on your ISOs, and keep at it.  On latest builds, desync detection will warn users before they notice a desync.
<br/>A: This is a desync. Basically what both of you are seeing are two different games. Double check your settings and confirm if you and other players have good ISO dump. {{revision|4.0-6638}} added the ability to detect desyncs. Watch the textbox for if it notices desyncs, as very often it will be able to tell the game has desynced before the players and may help them pinpoint the problem.


Q: When I try to join the host, it says "Game not found."
Q: When I try to join the host, it says "Game not found."
Line 58: Line 50:


Q: How do I host?
Q: How do I host?
<br/>A: In order to host, the player need to ensure that all firewalls allow Dolphin to send and receive packets. On top of that, if a computer is on a router, a port must be forwarded. For more instructions on how to handle specific routers, try [http://portforward.com/ portforward.com].
<br/>A: In order to host, the player need to ensure that all firewalls allow Dolphin to send and receive packets. On top of that, if a computer is on a router, a port must be forwarded. For more instructions on how to handle specific routers, try [http://portforward.com/ portforward.com].


Q: Can I connect to Nintendo WiFi Connection?
Q: Can I connect to Nintendo WiFi Connection?
Line 64: Line 56:


Q: Is there like a master server list of all the Dolphin servers?
Q: Is there like a master server list of all the Dolphin servers?
<br/>A: Dolphin operates on a Peer to Peer architecture, meaning that there is no master server. Instead you must manually setup and host games with people beforehand. This allows Dolphin's netplay to have the lowest possible latency.
<br/>A: Dolphin operates on a Peer to Peer architecture, meaning that there is no master server. Instead you must manually setup and host games with people beforehand. This allows Dolphin's netplay to have the lowest possible latency.


Q: Why am I having desyncs?
Q: Why am I having desyncs?

Revision as of 12:33, 17 August 2015

Netplay is a defining feature of Dolphin: it allows you to connect any GameCube or Wii game for internet play, without the problems or limitations of the Nintendo WiFi Connection or hassle of BBA. It is improving regularly, and while it is a bit finicky at the moment it is very playable and reliable with the right settings. This guide outlines what you need for reliable online play with Dolphin.


Requirements

  • Internet requirements are very light: any DSL or Cable internet connection should do. However, the internet demands rapidly increase as more players are added.
  • Game disc images between players must have matching region and game revision. ISO, WBFS and other compression formats are OK.
  • If hosting behind a firewall or router, port forwarding will be necessary.
  • All players should use the same Dolphin build, preferably the latest development build from http://dolphin-emu.org. Because of all the settings and memory card requirements, it is recommended that you create a duplicate copy of Dolphin specifically for Netplay and use "portable.txt" to isolated it from the Global User Directory.

Setting Up Dolphin

Memory card of any kinds must be copied across every computers that players intended to use for netplay. Memory Cards for GameCube can be synchronized or disabled, meanwhile players may have to copy SD card to other computers themselves. Wii save files are currently disabled as of 4.0-6512. This means users do not need to synchronize Wii NANDs any longer, but cannot save in exchange.

General Configuration

  • Idle skipping doesn't affect Netplay, only movie playback, so it can be left on.
  • Deterministic Dualcore Netplay is now merged into master. While compatibility is not perfect, it should allow more games to synchronize on dualcore with three exceptions. Games that require Skip EFB Access to CPU, Store EFB Copies to Texture Only and/or Disable XFB unchecked will are not guaranteed to sync up. There are exceptions to this, but single core is recommended in games that require those settings. As well, some games are not compatible with deterministic dualcore netplay and will hang. Disabling Dualcore will provide better compatibility but lower performance.
  • DSP-HLE should work with all titles.

Graphics Configuration

  • EFB Access to CPU and Store EFB Copies to Texture Only must be the same on all PCs. On Dualcore Netplay, it's highly recommended that both are checked.
  • Enhancements can mostly be turned on or off without incident on higher end processors. The only exception to this is when an enhancement breaks a game, such EFB Copy readback.

Controller Settings

  • The bindings in GCPad can be whatever you like. Just edit the Pad 1, regardless of what player you'll be in the netplay session. Any additional local players will be Pad 2 or Pad 3.
  • Wiimotes bindings work more or less the same way as GCpad settings, however only emulated Wii Remotes can be used. Just edit emulated wiimote 1, regardless of what player you'll be in the netplay session. Any additional local players will be emulated wiimote 2 or emulated wiimote 3.
  • Wiimotes do not work very well on netplay. They are subject to random failures on startup even when perfectly setup. Beyond that, all users must disable attachments in the Wiimote Settings page on all Wiimotes used in-game for wiimotes to have a chance. It is highly recommended that users watch the chatbox for desyncs on startup. If they do see one, restarting the emulator is necessary. GameCube controllers do not suffer from these strange quirks.

Netplay Settings

How to set the Pad buffer

Because input on the GameCube and Wii are polled by non-frame intervals, buffer does not directly relate to frames and can even vary per game. Lower the buffer as much as possible without causing slowdown for an optimal experience, ideally in areas that insure there isn't computer related slowdown such as a menu. In most games, add 1 roughly pad buffer per 15ms of latency per client. Two players at 50ms latency would be roughly 3 - 4 buffer, where as three players at 50 and 65 ms would be roughly 7 buffer.

Setting a Spectator

A Spectator is a connected computer that has no controllers assigned to them. You can do this by configuring pads and making sure their name has no pads. This player will not impact lag or latency but can still watch the netplay session.

Mixing Local and Online Multiplayer

To set multiple players on one computer, simply hit the configure pads button, and add their name to another pad. The first time their name is used will default to pad/wiimote 1, then 2 and so on.


FAQ

Q: The person I'm playing with seems to be moving around strangely but he says that I'm the one moving weirdly. What happened?
A: This is a desync. Basically what both of you are seeing are two different games. Double check your settings and confirm if you and other players have good ISO dump. 4.0-6638 added the ability to detect desyncs. Watch the textbox for if it notices desyncs, as very often it will be able to tell the game has desynced before the players and may help them pinpoint the problem.

Q: When I try to join the host, it says "Game not found."
A: You need to add the directory containing your ISOs into your Config.

Q: How do I host?
A: In order to host, the player need to ensure that all firewalls allow Dolphin to send and receive packets. On top of that, if a computer is on a router, a port must be forwarded. For more instructions on how to handle specific routers, try portforward.com.

Q: Can I connect to Nintendo WiFi Connection?
A: "Netplay" is Dolphin's own online multiplayer system and has no interaction with Nintendo's servers. But Dolphin can use the Nintendo WiFi Connection. See the Wii Network Guide.

Q: Is there like a master server list of all the Dolphin servers?
A: Dolphin operates on a Peer to Peer architecture, meaning that there is no master server. Instead you must manually setup and host games with people beforehand. This allows Dolphin's netplay to have the lowest possible latency.

Q: Why am I having desyncs?
A: Netplay has matured considerably in recent time, but still requires user competency and problem solving to get over some of the hurdles.