@@ -156,7 +156,92 @@ 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+ * Read from a file:
218+ By adding a txt file that contains a formatted MAC address
219+ in the "system" folder of the libretro frontend or a subfolder of the "system" folder named "melonDS DS",
220+ an option will appear to set the MAC address from the file.
221+ The file must be encoded in ASCII,
222+ and the MAC address must be formatted as "00:00:00:00:00".
223+ The MAC address must be the first line in the file,
224+ and there must be no other text before the MAC address.
225+ The MAC address must only use uppercase letters and digits in the hexadecimal numbers.
226+ As with all other settings,
227+ this setting will cause issues if more than one player in a multiplayer session has the same MAC address.
228+
229+ ### Starting a multiplayer session (RetroArch)
230+ Before starting a multiplayer session,
231+ it is recommended that all set a proper username in "Settings", "User", "Username", in RetroArch,
232+ and set the MAC address mode to "Derive from libretro username".
233+
234+ In RetroArch, such a multiplayer session can be started through the "Netplay" menu either before starting a game or during a game.
235+ One player should host and the others should use the "Refresh Netplay LAN List" option to join.
236+ In game, you'd look for something mentioning local multiplayer and "players nearby".
237+ In Pokémon games, this can be accessed on the top floor of Pokémon centers,
238+ in Mario Kart DS, it is the "Multiplayer" option in the menu etc.
239+ There are a ton of pages online saying that "Netplay is not network emulation".
240+ For various reasons, these pages are wrong when it comes to melonDS DS.
241+
242+ Again, emulated LAN multiplayer only works if all players are on the same real local network.
243+ This means the same house, apartment etc.
244+ For better results, a wired connection is recommended.
160245
161246## DSi
162247
0 commit comments