Multiplayer Information

Multiplayer in Wayward is enabled for up to 32 players. Multiplayer works on a simulated real-time mode where each turn happens on a fixed interval. Casual and Hardcore modes work a bit differently than in single player. Casual mode allows players to respawn as per normal, but in Hardcore mode, when you die you will continue to play in ghost form, allowing you to spectate but not interact normally. Multiplayer also allows for a special PVP flag to be set to allow players to hurt and kill other players. Multiplayer options can be set in the multiplayer menu via the pause menu accessed with escape by default.

Creature spawn rates, creature difficulty, and reputation are all based on how many connected players there are and will scale and average based on each individual player.

Commands

You can use several special commands while playing multiplayer. To see a list of all possible commands, type "/commands" in the chat bar and hit enter. The following commands are also available for use:

  • /players – Shows a list of all connected players.
  • /ping – Shows your latency to the host player.
  • /kick – Allows the host to kick a player.
  • /banned – Shows a list of all banned players.
  • /ban – Allows the host to ban a player.
  • /unban – Allows the host to unban a player.

Dedicated Server Info

To run Wayward in a dedicated server mode, run the wayward.exe with the following parameters:

wayward.exe +server +name My Server

Full arguments list:

  • +name "Server name" | String | defaults to "Default"
  • +port 38740 | Number | defaults to 38740
  • +backup | Switch | Add this argument to enable auto backups to the servers /backups folder - defaults to nothing (no auto backups)
  • +backupInterval 10 | Number | defaults to 10 (minutes)
  • +maxBackups 24 | Number | defaults to 24
  • +load "game name" | String | Specify the game name to have it load the save on startup - defaults to nothing (doesn't automatically load a game on startup)
  • +hardwareAcceleration 1 | Number | defaults to 1 (on)
    • Example with all the arguments:

      wayward.exe +server +name My Server +port 38740 +backup +backupInterval 10 +maxBackups 24 +load "game name" +hardwareAcceleration 1

      Multiplayer Design

      Packets the server sends to clients: IWorldPacket, ITickPacket, IActionPacket

      Packets the client sends the server: IActionPacket, IKeyBindStatePacket, IUpdateDirectionPacket, IConfirmDialogSelectionPacket, IChatMessagePacket, IUpdateOptionPacket

      The client doesn't do anything unless the server tells it.

      For ticking, it's controlled from the server. A client will never tick unless the servers tells them to (along with most other things).

      The server will:

      • Log the current seed (before seed)
      • Execute the tick method
      • Log the current seed (after seed)
      • Send an ITickPacket to all the clients (containing the before and after seeds)

      Each client will see the ITickPacket and:

      • Confirm the current game seed is the same as the before seed
      • Execute the tick method
      • Confirm the current game seed is the same as the after seed
      For player movement, the client will send the server an IKeyBindStatePacket (if WASD), or IUpdateDirectionPacket (if mouse click).

      The server will then:

      • Update the players key bind state or direction state
      • Process the players input
        • If a movement is going to happen, the server will send every client an IActionPacket with the MoveTo action type
      When a client wants to execute an action, it sends the server an IActionPacket with the details (action type, item, etc.).

      The server will see this and:

      • Log the current seed (before seed)
      • Execute the action
      • Log the current seed (after seed)
      • Send an IActionPacket to all the clients (containing the before and after seeds)

      Each client will see the IActionPacket and:

      • Confirm the current game seed is the same as the before seed
      • Execute the action
      • Confirm the current game seed is the same as the after seed

Community & Links