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.
- 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.
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.
- For GCN games, Memory Cards need to be synchronized or disabled.
- For Wii games, 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.
- 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.
- 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.
- 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.
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.
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. On latest builds, desync detection will warn users before they notice a desync.
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.