Netplay Guide: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
m (Clarification)
(Eh, good enough. Merging from the sandbox.)
Line 1: Line 1:
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 [[Broadband Adapter|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.
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 [[Wii Network Guide|Nintendo WiFi Connection]] or hassle of [[Broadband Adapter|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.


== Netplay Changes in Development Builds since 3.5 ==
*DSP HLE is functional in Netplay (with AX-HLE games) as of {{revision|3.5-1154}}.
*Ability to disable memory card writes added in Netplay settings as of {{revision|3.5-1193}}.
*Improved netplay configuration window in {{revision|3.5-1208}}.
*Disc revision numbers are now displayed in game properties and in the netplay config window as of {{revision|3.5-1251}}.


== Requirements and Known Bugs==
== Requirements ==
*All players must use the same git version of Dolphin.
 
*Dual Core can cause desyncs, it must be disabled.
*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.
*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.
*Memory Cards need to be synchronized or disabled.
*If hosting behind a firewall or router, port forwarding will be necessary.
*[[DSP LLE]] may desync if slowdown occurs, HLE in {{revision|3.5-1154}} and later is recommended for most games.
 
*Frame Limiter cannot be set to Audio.
*Only games that use GameCube controllers work with Netplay. Wiimotes, real or emulated, cannot be used.
*32bit builds cannot sync with 64bit builds, due to timing differences. But builds can sync between operating systems.
*Internet requirements are very light: any DSL or Cable internet connection should do. However, the internet demands rapidly increase as more players are added.


== Setting Up Dolphin ==
== Setting Up Dolphin ==


All players must 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, instead of using the one that you casually play games on.
*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]].
 
*For GCN games, Memory Cards need to be synchronized or disabled.
 
*For Wii games, the Cache and Wii folders must be synced.


=== General Configuration ===
=== General Configuration ===


Idle skipping doesn't affect Netplay, only movie playback, so it can be left on. Dual Core being off is the only setting required for stable Netplay. With Dual Core on, there is a very high chance of desync. All players must be running with the same setting of Dual Core in order to sync at all.
*Idle skipping doesn't affect Netplay, only movie playback, so it can be left on.
 
*Dual Core being off is the only setting required for stable Netplay. With Dual Core on, there is a very high chance of desync. All players must be running with the same setting of Dual Core in order to sync at all. The only known exceptions to this rule are [[Mario Party 4]] and [[Kirby Air Ride]], which always work with Dual Core mode. The [https://dolphin-emu.org/download/list/dc-netplay/1/ dc-netplay branch] has working Dual Core netplay, but it is somewhat experimental.


DSP HLE is recommended, as [[DSP LLE]] can cause desyncs if slowdown occurs. Some games, such as Mario Kart, still do not work with HLE and require LLE with "No audio output" to sync reliably. "DSP on Dedicated Thread" causes immediately desyncs, and '''must''' be off.
*DSP HLE is recommended. Zelda Ucode titles ([[Mario Kart: Double Dash‼]], Zelda games, [[Pikmin]] games, etc) as well as games that use streaming audio ([[Super Monkey Ball]]) require [[DSP LLE]]. "DSPLLE on Dedicated Thread" causes desyncs, and '''must''' be off.
 
*Frame Limiter cannot be set to Audio.


=== Graphics Configuration ===
=== Graphics Configuration ===


All graphics backends sync with eachother, so the general graphics settings can be whatever you like.
*All graphics backends sync with eachother, so the general graphics settings can be whatever you like.
 
*Enhancements can mostly be turned on or off without incident on higher end processors, so as long as you are getting fullspeed, go for it.
 
*Hacks are very important for speed, but can cause issues if used improperly. Make sure everyone uses the same hacks throughout: if a hack causes a bug and only one computer bugs out while the rest are fine, the game will desync. You can enable hacks as you see fit, but if a game requires a compatibility setting and you ignore it, it may cause desyncs even if all the players use it. Look at the game's wiki page for information on what settings are needed and use them as a guide to base your experiments. Skip EFB Access to CPU and Disable EFB Copies will cause desyncs in any game where they are needed, so use them only if you know what you are doing. EFB Copies to Texture is usually fine, but if a game requires EFB to Ram it will probably cause a desync, so make sure you check the game's wiki page. Some people may see a small increase in framerate when using OpenMP encoder on 4+ core processors, but it also can lower your framerate depending on the game. OpenMP is not recommended unless you're desperate for a little extra speed.


Enhancements can mostly be turned on or off without incident on higher end processors, so as long as you are getting fullspeed, go for it.
=== Controller Settings ===


Hacks are very important for speed, but can cause issues if used improperly. Make sure everyone uses the same hacks throughout: if a hack causes a bug and only one computer bugs out while the rest are fine, the game will desync. You can enable hacks as you see fit, but if a game requires a compatibility setting and you ignore it, it may cause desyncs even if all the players use it. Look at the game's wiki page for information on what settings are needed and use them as a guide to base your experiments. Skip EFB Access to CPU and Disable EFB Copies will cause desyncs in any game where they are needed, so use them only if you know what you are doing. EFB Copies to Texture is usually fine, but if a game requires EFB to Ram it will probably cause a desync, so make sure you check the game's wiki page. Some people may see a small increase in framerate when using OpenMP encoder on 4+ core processors, but it also can lower your framerate depending on the game. OpenMP is not recommended unless you're desperate for a little extra speed.
*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.


=== GCpad Settings ===
*Wiimote bindings work more or less the same way as GCpad settings, however only emulated Wiimotes 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.


This is pretty much whatever you want it to be. If you're playing local multiplayer, use pads 2 - 4 to setup your friends. For Netplay, by default it takes the first pad from every player; so even if you're the third person connecting to a Netplay, you don't have to setup a third pad.


== Netplay Settings ==
== Netplay Settings ==
Line 44: Line 46:
=== How to set the Pad buffer ===
=== How to set the Pad buffer ===


Dolphin handles latency in a very unique way: the pad buffer doesn't directly control the number of frames of lag. To find the best setting, start with a high setting and then turn down the pad buffer until the game starts slowing down. The best time to do this is during low taxing areas, such as menus or character select screens, since you're less likely to get slowdown from a computer. Be sure that all computers are able to run the section of the game at fullspeed when adjusting 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.


=== Setting a Spectator ===
=== Setting a Spectator ===


When a player connects that you want to be a spectator, the host must click their name, and then hit "Configure Pads"In the configure pads menu, turn off all pads for that player, and then hit OK to confirm.
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 padsThis player will not impact lag or latency but can still watch the netplay session.
<div style="float:left;">[[File:NetplayGuide-Spectator.png|thumb|188px|A spectator shows no controllers|link=]]</div>
<div style="clear:both;"></div>


=== Mixing Local and Online Multiplayer ===
=== Mixing Local and Online Multiplayer ===


To set multiple players on one computer, highlight the player that will have multiple controllers and hit "Configure Pads". Then put the controller you want them to control underneath the pad their controller is configured for. This can be done for multiple people connected to the server.
To set multiple players on one computer, highlight the player that will have multiple controllers and hit "Configure Pads". Then put the controller you want them to control underneath the pad their controller is configured for. This can be done for multiple people connected to the server.
<div style="float:left;">[[File:NetplayGuide-LocalOnlineMix.png|thumb|188px|A local/online mix has two controllers|link=]]</div>
 
<div style="clear:both;"></div>


== FAQ ==
== FAQ ==
Line 64: Line 63:


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."
<br/>A: You need to add the directory containing your ISOs into your Config. You'll know it is set up properly if the game is in Dolphin's Game List.
<br/>A: You need to add the directory containing your ISOs into your Config. You'll know it is set up properly if the game is in Dolphin's Game List. Also, when playing Wii games, this error may appear if Cache folders are not synced.
 
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].


Q: Can I connect to Nintendo Wi-Fi Connection?
Q: Can I connect to Nintendo WiFi Connection?
<br/>A: No.
<br/>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?
Q: Is there like a master server list of all the Dolphin servers?
<br/>A: It doesn't work that way.
<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?
<br/>A: While the emulator seems to be perfectly deterministic with a very particular group of settings, there are still multiple things that can go wrong. Your memory cards may not match, someone can have too many controllers set when someone else has less, etc. Just look at the list of requirements, double check everything, disable some of the hacks you are using, and try again.
<br/>A: Netplay has matured considerably in recent time. If you are having desyncs, it is most likely your fault. Check everything again. However, a small number of Wii games are weirdly unsupported no matter what, such as [[Super Smash Bros. Brawl]].
 
Q: Why am I getting a blackscreen at startup with no sound or anything?
<br/>A: One of the players has the wrong number of pads and the other emulators are waiting for input before starting. Double Check Options/Configuration/GC
 
Q: Why does it require single core?
<br/>A: Because of the way computers work compared to how the Wii works, Dual Core is currently unreliable for Netplay.
 
Q: Can my 32bit computer play a 64bit computer?
<br/>A: Yes, but you both have to use the x86 (32bit) build of Dolphin.


[[Category:Tutorials]]
[[Category:Tutorials]]

Revision as of 11:57, 5 October 2013

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.
  • 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.
  • If hosting behind a firewall or router, port forwarding will be necessary.


Setting Up Dolphin

  • All players should use the same 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.
  • For GCN games, Memory Cards need to be synchronized or disabled.
  • For Wii games, the Cache and Wii folders must be synced.

General Configuration

  • Idle skipping doesn't affect Netplay, only movie playback, so it can be left on.
  • Dual Core being off is the only setting required for stable Netplay. With Dual Core on, there is a very high chance of desync. All players must be running with the same setting of Dual Core in order to sync at all. The only known exceptions to this rule are Mario Party 4 and Kirby Air Ride, which always work with Dual Core mode. The dc-netplay branch has working Dual Core netplay, but it is somewhat experimental.
  • Frame Limiter cannot be set to Audio.

Graphics Configuration

  • All graphics backends sync with eachother, so the general graphics settings can be whatever you like.
  • Enhancements can mostly be turned on or off without incident on higher end processors, so as long as you are getting fullspeed, go for it.
  • Hacks are very important for speed, but can cause issues if used improperly. Make sure everyone uses the same hacks throughout: if a hack causes a bug and only one computer bugs out while the rest are fine, the game will desync. You can enable hacks as you see fit, but if a game requires a compatibility setting and you ignore it, it may cause desyncs even if all the players use it. Look at the game's wiki page for information on what settings are needed and use them as a guide to base your experiments. Skip EFB Access to CPU and Disable EFB Copies will cause desyncs in any game where they are needed, so use them only if you know what you are doing. EFB Copies to Texture is usually fine, but if a game requires EFB to Ram it will probably cause a desync, so make sure you check the game's wiki page. Some people may see a small increase in framerate when using OpenMP encoder on 4+ core processors, but it also can lower your framerate depending on the game. OpenMP is not recommended unless you're desperate for a little extra speed.

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.
  • Wiimote bindings work more or less the same way as GCpad settings, however only emulated Wiimotes 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.


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.

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, highlight the player that will have multiple controllers and hit "Configure Pads". Then put the controller you want them to control underneath the pad their controller is configured for. This can be done for multiple people connected to the server.


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. If it keeps happening, double check your settings, check the hashes on your ISOs, and keep at it.

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. You'll know it is set up properly if the game is in Dolphin's Game List. Also, when playing Wii games, this error may appear if Cache folders are not synced.

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. If you are having desyncs, it is most likely your fault. Check everything again. However, a small number of Wii games are weirdly unsupported no matter what, such as Super Smash Bros. Brawl.