Skip to content

Commit e3032dd

Browse files
authored
Merge pull request #1021 from BernardoGomesNegri/patch-1
melonDS DS: Add docs for LAN multiplayer
2 parents 059ae85 + a76e9a4 commit e3032dd

File tree

1 file changed

+74
-1
lines changed

1 file changed

+74
-1
lines changed

docs/library/melonds_ds.md

+74-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,80 @@ If there's another server you'd like to use, you can set its DNS address from wi
156156

157157
## LAN Netplay
158158

159-
Coming soon...
159+
melonDS DS supports emulating LAN multiplayer via netplay. See below for instructions and details.
160+
161+
### What is LAN Multiplayer?
162+
The Nintendo DS has several forms of multiplayer,
163+
including local Wi-Fi (also called LAN), Nintendo Wi-Fi Connection (WFC) and infrared.
164+
You'll know when games use local Wi-Fi if the game mentions "Wi-Fi" and "players nearby",
165+
while games using WFC mention "players around the world" and use friend codes.
166+
The Nintendo DS local Wi-Fi does not use friend codes.
167+
This page only explains local Wi-Fi multiplayer.
168+
169+
Now, the Nintendo DS local Wi-Fi isn't the normal Wi-Fi in your house,
170+
it is a [mesh network that uses specialized hardware](https://melonds.kuribo64.net/comments.php?id=25).
171+
This means that games expect extremely low latency,
172+
which is achievable between two consoles directly connected with special hardware,
173+
but harder to achieve with two computers with a router in-between,
174+
and simply **impossible** to achieve through the Internet.
175+
**LAN multiplayer does not work through the Internet and neither with VPNs or tunnels such as Hamachi**.
176+
This is not something that can be fixed easily.
177+
**The only way to use emulated LAN Multiplayer is on an actual, low latency, wired LAN connection**.
178+
179+
The latency requirements are so extreme that even in LAN, you might still have issues.
180+
That is why using Wi-Fi in your LAN connection is not recommended,
181+
Wi-Fi simply adds too much latency,
182+
and the connection will drop frequently.
183+
The recommended way to use the emulated Wi-Fi LAN connection is with a wired LAN connection between the computers.
184+
185+
### What is a MAC address?
186+
Every Nintendo DS (and every device capable of Wi-Fi) comes with an identifier built-in in its firmware called a "MAC address".
187+
For three or more Nintendo DS consoles to connect in a local Wi-Fi multiplayer network,
188+
all three need to have different MAC addresses.
189+
You can see the emulated console's MAC address in a game with Nintendo WFC
190+
by going to "Nintendo WFC Settings", "Options", "System Information".
191+
192+
Some games will refuse to load save files
193+
that were created on a console with a different MAC address
194+
than the console loading the file.
195+
That is why it is important to pay attention to your MAC address when sharing save files across devices.
196+
197+
So how does the emulated console obtain a MAC address?
198+
It depends on the core option "MAC address mode", in the "Network" category:
199+
200+
* Set from firmware:
201+
The default setting.
202+
The emulator will use the firmware file's MAC address for the emulated console.
203+
If there is no firmware file, then a default MAC address of "00-09-BF-11-22-33" will be used.
204+
This setting will cause issues on LAN multiplayer with more than 2 players
205+
if the same firmware (or the default firmware) is used on more than one device.
206+
207+
* Derive from libretro username:
208+
The emulator will use your username as set on the libretro frontend to automatically generate a MAC address.
209+
Such generated MAC addresses will start with "00-08-BF".
210+
Devices with the same username set will always generate the same MAC address.
211+
Useful when syncing save files across devices
212+
to guarantee the emulated console's MAC address is the same on all devices.
213+
This setting will cause issues on LAN multiplayer
214+
if more than one player has the same username.
215+
The username can be set on RetroArch by going to "Settings", "User", "Username".
216+
217+
### Starting a multiplayer session (RetroArch)
218+
Before starting a multiplayer session,
219+
it is recommended that all set a proper username in "Settings", "User", "Username", in RetroArch,
220+
and set the MAC address mode to "Derive from libretro username".
221+
222+
In RetroArch, such a multiplayer session can be started through the "Netplay" menu either before starting a game or during a game.
223+
One player should host and the others should use the "Refresh Netplay LAN List" option to join.
224+
In game, you'd look for something mentioning local multiplayer and "players nearby".
225+
In Pokémon games, this can be accessed on the top floor of Pokémon centers,
226+
in Mario Kart DS, it is the "Multiplayer" option in the menu etc.
227+
There are a ton of pages online saying that "Netplay is not network emulation".
228+
For various reasons, these pages are wrong when it comes to melonDS DS.
229+
230+
Again, emulated LAN multiplayer only works if all players are on the same real local network.
231+
This means the same house, apartment etc.
232+
For better results, a wired connection is recommended.
160233

161234
## DSi
162235

0 commit comments

Comments
 (0)