Mednafen

Netplay Documentation

Last updated March 19, 2024
Valid as of 1.32.1

Table of Contents:

Introduction

Mednafen's netplay is standalone-server based, with multiple clients(players) connecting to the same server. Save states are utilized upon connection, and whenever a player loads a save state on their end, so having decent bandwidth is critical, especially for newer systems with large save states like PS1 and Sega Saturn. Since nonvolatile memories(save RAM, floppy disks, etc.) are preserved in save states, you may want to backup any important save game files before netplaying with the corresponding game(s). Using a different Mednafen installation, or Mednafen base directory, solely for netplay, is an option as well. Be aware that the utilization of save states does bring about some potential security issues.

Players with lower ping times to the server will have a latency/lag advantage. To reduce latency, it's recommended to make the setting changes described here. If emulating SNES games, try the alternate snes_faust emulation module, with setting "snes_faust.spex" set to "1".


Setting up the Server

Download the latest "Mednafen-Server" release. Untarballize it, and read the included "README" files for further instructions and caveats.


Using Mednafen's netplay console

Pressing the 'T' key will bring up the network play console, or give it input focus if focus is lost. From this console, you may issue commands and chat. Input focus to the console will be lost whenever the Enter/Return key is pressed. The 'Escape' key(by default, shares assignment with the exit key) will exit the console entirely. Whenever text or important information is received, the console will appear, but without input focus.

Keys Relevant to the Text Box:
Key:Action:
UpScroll up.
DownScroll down.
Page UpScroll up a page.
Page DownScroll down a page.
CTRL + HomeScroll to the beginning.
CTRL + EndScroll to the end.

Keys Relevant to the Prompt:
Key:Action:
LeftMove cursor left.
RightMove cursor right.
HomeMove cursor to the beginning.
EndMove cursor to the end.
BackspaceRemove character to the left of cursor position, and move cursor left.
CTRL + BackspaceRemove all characters to the left of the cursor position, and move cursor to the beginning.
DeleteRemove character at cursor position.
CTRL + DeleteRemove characters at and after cursor position.
CTRL + V (or)
SHIFT + Insert
Paste text from the clipboard.
EnterProcess text entered into prompt.

Command:Description:Relevant Settings:Examples:
/nick nicknameSets nickname.netplay.nick/nick Deadly Pie
/nick 運命子猫
/server [hostname] [port]Connects to specified netplay server.netplay.host
netplay.port
/server
/server netplay.fobby.net
/server helheim.net 4046
/server ::1
/gamekey [gamekey]Sets(or clears) game key.netplay.gamekey/gamekey pudding
/gamekey
/pingPings the server.-/ping
/swap A BSwap/Exchange all instances of controllers A and B(numbered from 1).-/swap 1 2
/dupe [A] [...]Duplicate and take instances of specified controller(s)(numbered from 1).

Note: Multiple clients controlling the same controller currently does not work correctly with emulated analog-type gamepads, emulated mice, emulated lightguns, and any other emulated controller type that contains "analog" axis or button data.

-/dupe 1
/drop [A] [...]Drop all instances of specified controller(s).-/drop 1 2
/take [A] [...]Take all instances of specified controller(s).-/take 1
/listList players in game.-/list
/quitDisconnects from the netplay server.-/quit