
This is necessary to deal with the delay it takes to send packets on the Internet. It is more complicated than that though because each netplay plugin buffers the input data based on the lag setting you pick. Then, the netplay plugin is able to report everyone's input data back to the emulator. The server responds with every other player's input data. When the emulator asks the netplay plugin which buttons are being pressed, the netplay plugin gets input from the input plugin it is using, sends that data over the internet to the other netplay plugins via the person hosting the server. That way I didn't have to reinvent the wheel when it comes to reading input from the keyboard or USB controllers. More recently, I decided to make a nicer version so I could post it here.īasically, the netplay plugin pretends it is an emulator and loads another input plugin for getting input. I made a much simpler version of this plugin and was pretty surprised to find out how well it worked. However, it seemed like it was possible so I decided to find out. Obviously zilmar did not design the spec with netplay in mind. Writing an input plugin that supports netplay is tricky. The games I've tested this with so far are Mario Party 1, 2, and 3, Mario Golf, Mario Kart, Diddy Kong Racing, and Snowboard Kids 1 and 2. Everyone must have the same save file when the game starts though.

However, so far I have never had a desync occur when everyone was using Project64 1.7. I hit a banana on one emulator but not the other. I finished the first lap of a race but then the game desynced. For example, I tested Mario Kart 64 with Project64 1.6 and Mupen 0.5. In fact, you can use two different emulators at the same time. You can use the plugin with other N64 emulators.
#Dolphin emulator multiplayer dsync download#
Edit: Link to the download and instructions page:
