Dedicated Server Hosting Guide

Welcome, below you will find information on how to host a Mordhau dedicated server on Linux and Windows.

While the following guides and information tries to be as helpful as possible, you can also find additional resources and assistance over on the Mordhau Server Owner's Discord

Much of this information assumes that you are trying to host a server yourself, either on a local machine within your home network, or on a VPS or Dedicated server that you have rented. There is also a list of Dedicated Game Server Providers who offer their services to set up a server that can be managed more easily at an additional cost, usually through a website control panel.

There is currently no option available in-game to host a private server that other players can join, meaning you will have to either attempt to host a server yourself using one of the following setup guides, or through one of the external hosting services mentioned above.

At this time, there are currently no options to host private servers for Console players. There is also not a Dedicated server tool available on the Epic Game Store, but servers set up through the methods below will work for both Steam and Epic players.

# Additional Guides

## Windows Server

* Steam Setup (Easy - Must own a copy of Mordhau on Steam)
* WindowsGSM Setup (Easy)
* SteamCMD Video Guide

## Linux Server

* LinuxGSM Video Guide (Easy)
* LinuxGSM (Easy)
* SteamCMD Setup
* Docker Setup

## General

* MOTD Markdown Guide
* Server Configuration
* Server Map Names

# Ports

Please note that the default server ports are also used as the default ports for the Game client, so if you are running a server from the same machine you intend to play on, you will **HAVE** to change the default ports to ones that are unused.

 RCON Port
 Beacon Port
 Query Port

To run multiple server instances, all of the ports for each server must be unique per instance. These ports can be changed via launch parameters (detailed below).

These ports must be open in your firewall, and for home routers the ports must also be forwarded to your local machine. For more specific Router guides you may need to search for documentation for your particular model of router, or check https://portforward.com/mordhau-server/

# Launch Parameters

If you are launching via Steam, you can set the following into the Launch parameters under the General tab of the properties for the Server tool. Otherwise, these could be set within the windows shortcut, batch file, bash script, or directly from the command line when the server is launched. Tools such as WindowsGSM or LinuxGSM may provide separate config files to allow you to specify these.

Some external server hosts may let you modify these values from their website control panel, if they do not, you may need to contact them directly to have these changed.

 `-QueryPort=XXXXX` | Specifies the Query port

The following launch parameters should only be used if you have a specific need for them:

 `-MULTIHOME=<IP Address>` | Specifies the exact IP address the server should bind to if there are multiple

# Server Configuration

There are two main configuration files for a Mordhau server called **Engine.ini** and **Game.ini**, and the folder they are located in may differ depending on the method you used to install the server, or whether you are using an external game server hosting service.

If you are not self-hosting and instead making use of external host, they may provide either a website URL to manage the configuration, or may provide an FTP account to allow you to access and edit the files.

For more a more specific breakdown of individual settings and folder paths, please see the Server Configuration guide.

# General Commands

These can be issued by all players and do not require Admin on the server, but are otherwise also useful commands for server administration.

 `CancelVotekick` | Cancels your own currently active votekick.

# Admin Commands

These commands only work for Admins on servers, or on Local matches. These must be issued through the Console in-game, default is the **`** key, though you can rebind this key to one more accessible through the in-game Key bindings setting "Show Console". Double-tapping this key bind will open the console fully.

# Chat Commands

Chat commands have to be issued within the chat box itself, prefixed with a forward slash `/` .

### Admins

Requires `bAllowAdminChat` set to True, which is the default. See the Server Configuration page for how to change this setting.

 `/achat <Message>`
 `/announce <Duration> <Message>`
 `/apopup <Duration> <PlayfabID/Name> <Message>`
 `/asay <Message>`
 `/awhisper <PlayfabID/Name> <Message>`

### Players

Requires `bAllowWhisperChat` set to True, which is False by default. See the Server Configuration page for how to change this setting.

# RCON

## Bots & Tools

Mordhau uses the Source Engine RCON protocol, and should work with most RCON tools that support the Source RCON protocol.

Here a few examples of tools specifically for use with Mordhau:

* Simple SourceDS RCON
* Taki7o7's Mordhau RCON-Tool
* Schweppes' Mordhau RCON Bot

## Broadcasts

Broadcasts are messages that the game server can send out to RCON clients

There are currently 6 supported broadcast channels that can be used:

* **Chat:** Connected clients will receive the chat feed
* **Login:** This will inform clients when a player logs in or out
* **Matchstate:** Informs clients when the match is starting or ending (may add more later)
* **Scorefeed:** Notifies clients when scores change (both player and team)
* **Killfeed:** Notifies clients when a player is killed
* **Custom:** A customizable channel that modders can use to broadcast custom information

Server-side mods can be used to extend the information sent through each of these channels.

In order to begin listening to a channel, use the 'listen' command: e.g. "listen chat start" would start listening for chat messages being broadcasted

You can set channels that new connecting clients will listen to by default by adding this to Game.ini:

```
[Rcon]
ListeningToByDefault=InsertTypeOfBroadcastHere
ListeningToByDefault=chat
ListeningToByDefault=custom

```

See the Server Configuration page for more details on how to configure RCON.

# MOTD

See the MOTD Markdown Guide for more detail on the Markdown syntax and options for file hosting.

# Monitoring

quakestat can be used to monitor your Mordhau server.

`sudo apt install qstat`

`quakestat -a2s IP:PORT`

use `quakestat --help` to see all options.