Skip to content

Client Authentication

Logan McNaughton edited this page Mar 13, 2025 · 6 revisions

Server side

Client authentication can be enabled by passing the --enable-auth option to the program.

When this option is enabled, you must set emulator-specific auth codes as environment variables, for example:

export MYEMU_AUTH=1234
./gopher64-netplay-server --name "Server Name" --enable-auth

Where "MYEMU" matches the "emulator" value passed by the client in the create_room/get_rooms API call (the emulator name can be lowercase in the API call).

Client side

You can see how auth codes are implemented on the client side here

request_create_room and request_get_rooms need to include the following fields:

  • authTime -> This is the current number of milliseconds since the start, in UTC, of the year 1970 (as a string).
  • auth -> This is a sha256 sum of authTime + the netplay auth code (MYEMU_AUTH from above).
Clone this wiki locally