Server Configuration

With all of the following examples, there can be multiple values underneath the `[Heading]` value, but for the sake of making it clear which heading each of these settings have to be placed under, the heading will be repeated at the start of each code snippet.

If the heading doesn't exist, you should add it, otherwise include the setting under the existing heading in the file.

**Important:** Only make changes to these INI files when the server is shut down, as the file will be overwritten with the version held in memory when the server shuts down.

# Config Folder

**Windows (Steam):** `C:\Program Files (x86)\Steam\steamapps\common\Mordhau Dedicated Server\Mordhau\Saved\Config\WindowsServer\`

**Windows (WindowsGSM):** `<WindowsGSM Folder>\servers\1\serverfiles\steamapps\Mordhau\Saved\Config\WindowsServer\`

**Linux (LinuxGSM):** `~/serverfiles/Mordhau/Saved/Config/LinuxServer/`

If you are not self-hosting, the location of this config file may be different. Your server host may provide a UI to allow you to edit these files or individual settings, they may also provide you with FTP details to access the filesystem and edit the files directly.

# Engine.ini

### Tick rate

The tick rate needs to be set as follows, repeating under the two headings. Separate tick rates can specified for both online and LAN connections.

```
[/Script/OnlineSubsystemUtils.IpNetDriver]
NetServerMaxTickRate=120
LanServerMaxTickRate=60

[IpDrv.TcpNetDriver]
NetServerMaxTickRate=120
LanServerMaxTickRate=60

```

### Default Map

This setting needs to have the full folder path for the map to be specified, which may be difficult to determine especially for modded maps. Setting the map name as the first launch parameter for the server is typically preferred.

For modded maps, you will have to rely on the mod author specifying the full path for their map on their mod.io page description.

```
[/Script/EngineSettings.GameMapsSettings]
ServerDefaultMap=/Game/Mordhau/Maps/DuelCamp/FFA\_Camp

```

## Altering Gravity

You can adjust the server gravity, in this case the default is set to **-980**. This is the amount of force that "pushes" players down. Increasing this to be a smaller negative number like **-100** would result in lower gravity.

```
[/Script/Engine.PhysicsSettings]
DefaultGravityZ=-980.000000

```

## Logging

You can modify the verbosity and levels of server logging, by default multiple log types are set to be Verbose, that you may want to alter to reduce log file sizes.

Options are (in order of severity): **Fatal, Error, Warning, Display, Log, Verbose, VeryVerbose**

To disable, you can set to: **NoLogging**

The Default settings look like the following:

```
[LogFiles]
PurgeLogsDays=5
MaxLogFilesOnDisk=10
LogTimes=True

[Core.Log]
LogMordhauGameInstance=Verbose
LogMordhauGameSession=Verbose
LogMordhauWebAPI=Verbose
LogMordhauPlayerController=Verbose
LogPlayFabAPI=Verbose
LogMatchmaking=Verbose

```

Recommended Settings:

```
[Core.Log]
LogMordhauGameInstance=Log
LogMordhauGameSession=Log
LogMordhauWebAPI=Log
LogMordhauPlayerController=Log
LogPlayFabAPI=Log
LogMatchmaking=Log
LogStreaming=Error
LogClass=Error

```

If you are struggling with massive log sizes due to DDOS attacks or other similar incidents, you can disable network logging entirely:

```
[Core.Log]
LogNet=NoLogging

```

# Game.ini

## General Settings

```
[/Script/Mordhau.MordhauGameSession]
bAdvertiseServerViaSteam=True
bUseOfficialBanList=True
bUseOfficialMuteList=True

```

```
[/Script/Mordhau.MordhauGameMode]
bIsThirdPersonCameraDisabled=1
ConstrainAspectRatio=1.7777778
bIsHitStopOnTeamHitsDisabled=False
bDisableClientMods=False
bAllowAdminChat=True
bAllowWhisperChat=True
bLogKillfeed=False
bLogChat=False
bLogScore=False

```

Added support to disable vote-kick option for FFA and SG game modes (default True)

```
[/Game/Mordhau/Blueprints/GameModes/BP\_DeathmatchGameState.BP\_DeathmatchGameState\_C]
bAllowVoteKick=False

[/Game/Mordhau/Blueprints/GameModes/BP\_SwordGameGameState.BP\_SwordGameGameState\_C]
bAllowVoteKick=False

```

## Admins

You can add yourself and others as permanent admins, so that whenever you join the server it automatically recognises you as an admin to use commands.

Multiple admins can be added with additional `Admins=` entries, with a new line for each separate PlayfabID.

```
[/Script/Mordhau.MordhauGameSession]
Admins=<PlayfabID1>
Admins=<PlayfabID2>
Admins=<PlayfabID3>

```

As an alternative, you can also set an Admin Password and log in each time you join server with the `AdminLogin <Password>` console command, but you must be very careful to whom you give that password as there is nothing to stop them adding further admins and running amok.

```
[/Script/Mordhau.MordhauGameSession]
AdminPassword=<yourpassword>

```

All admins can also use the `AddAdmin <PlayfabID>` and `RemoveAdmin <PlayfabID>` console commands. You can view a list of current admins with the `AdminList` command. You should be very selective in who you assign as an admin, as they will be able to use these commands to add additional admins without your approval.

## Max Players

The following would set the maximum amount of players/slots on the server to **24**. Generally going higher than 64 would cause performance issues with the Engine and is not recommended.

Great care should be taken in increasing both the tick rate and the max players, as this would create an exponential decrease in server performance.

You can monitor the performance of the tick rate with `m.ShowServerStats 1` to ensure your server can handle the amount of players, and decrease the tick rate or players accordingly. Minimum tick rate always fluctuates a small amount, so only pay attention to the average and maximum tick rate displayed to measure performance.

```
[/Script/Mordhau.MordhauGameSession]
MaxSlots=24

[/Script/Engine.GameSession]
MaxPlayers=24

```

## Server Password

To create a private server, all you need to do is specify the Server Password as follows:

```
[/Script/Mordhau.MordhauGameSession]
ServerPassword=<Your Password>

```

You can also join a private server from the command line, with the `open <Server IP>?ServerPassword=<Your Password>` console command.

## Map Rotation

See Server Map Names for a full list of all official maps and their unique names. For modded maps you'll have to rely on the mod author providing the map names in the description of their mod on mod.io

Multiple maps can be added with additional `MapRotation=` entries, with a new line for each separate map.

```
[/Script/Mordhau.MordhauGameMode]
MapRotation=FFA\_Cortile
MapRotation=FFA\_Contraband
MapRotation=FFA\_Highland

```

## Game-mode Settings

The specifics of Game-modes can be set generally for all modes as follows:

```
[/Script/Mordhau.MordhauGameMode]
AutoKickOnTeamKillAmount=999
PlayerRespawnTime=15.000000
BallistaRespawnTime=300.000000
CatapultRespawnTime=300.000000
HorseRespawnTime=300.000000
DamageFactor=1.000000
TeamDamageFlinch=1
TeamDamageFactor=1.000000
AutoKickOnTeamKillAmount=999

```

Time durations here are in seconds.

You can also specify these settings to be changed to different values for each game-mode:

```
; Skirmish
; ------------------
[/Game/Mordhau/Blueprints/GameModes/BP\_SkirmishGameState.BP\_SkirmishGameState\_C]
RoundDuration=300

[/Game/Mordhau/Blueprints/GameModes/BP\_SkirmishGameMode.BP\_SkirmishGameMode\_C]
DamageFactor=1.000000
TeamDamageFlinch=1.000000
TeamDamageFactor=1.000000
AutoKickOnTeamKillAmount=999

; Deathmatch
; ------------------
[/Game/Mordhau/Blueprints/GameModes/BP\_DeathmatchGameMode.BP\_DeathmatchGameMode\_C]
ScoreToWin=5000
PlayerRespawnTime=0.000000

[/Game/Mordhau/Blueprints/GameModes/BP\_DeathmatchGameState.BP\_DeathmatchGameState\_C]
MatchDurationMax=3000

; Team Deathmatch
; ------------------
[/Game/Mordhau/Blueprints/GameModes/BP\_TeamDeathmatchGameMode.BP\_TeamDeathmatchGameMode\_C]
TeamScoreToWin=1000
DamageFactor=1.000000
TeamDamageFlinch=1
TeamDamageFactor=1.000000
AutoKickOnTeamKillAmount=999

[/Game/Mordhau/Blueprints/GameModes/BP\_TeamDeathmatchGameState.BP\_TeamDeathmatchGameState\_C]
MatchDurationMax=1200

; Frontline
; ------------------
[/Game/Mordhau/Blueprints/GameModes/Battle/BP\_FrontlineGameMode.BP\_FrontlineGameMode\_C]
PlayerRespawnTime=15.000000
BallistaRespawnTime=300.000000
CatapultRespawnTime=300.000000
HorseRespawnTime=300.000000
DamageFactor=1.000000
TeamDamageFlinch=1
TeamDamageFactor=1.000000
AutoKickOnTeamKillAmount=999

; Invasion
; ------------------
[/Game/Mordhau/Blueprints/GameModes/Push/BP\_PushGameMode.BP\_PushGameMode\_C]
PlayerRespawnTime=15.000000
BallistaRespawnTime=300.000000
CatapultRespawnTime=300.000000
HorseRespawnTime=300.000000
DamageFactor=1.000000
TeamDamageFlinch=1
TeamDamageFactor=1.000000
AutoKickOnTeamKillAmount=999

```

Time durations here are in seconds.

## Mods & Server Actors

Mods can be located via mod.io. For most mods (such as maps), you can locate their unique Mod ID from the sidebar on mod.io labelled as **"Resource ID"**. This ID can be added as a `Mods=` line as follows.

```
[/Script/Mordhau.MordhauGameSession]
Mods=<Resource ID 1>
Mods=<Resource ID 2>
Mods=<Resource ID 3>

```

In some cases, the mod may specify to add it as a "Server Actor". For some mods, these might be entirely server-side only.

```
[/Script/Mordhau.MordhauGameMode]
SpawnServerActorsOnMapLoad=<Path to Server Actor 1>
SpawnServerActorsOnMapLoad=<Path to Server Actor 2>

```

## Override Game-modes

It's possible to override the game-mode for a specific map. An example use case would be to be able to play the Ranked Duel versions of maps that have all the obstacles and spikes removed as FFA maps. The drawback is that the Ranked duel maps only have Spawn points set up for two individuals, at opposing sides of the map. It's possible to override these spawn points with a Server Actor mod to compensate.

```
[/Script/Mordhau.MordhauGameMode]
MapGameModeOverrides=(("DU\_Truce","/Game/Mordhau/Blueprints/GameModes/BP\_DeathmatchGameMode.BP\_DeathmatchGameMode\_C"), ("DU\_Arena","/Game/Mordhau/Blueprints/GameModes/BP\_DeathmatchGameMode.BP\_DeathmatchGameMode\_C"), ("DU\_Highlands","/Game/Mordhau/Blueprints/GameModes/BP\_DeathmatchGameMode.BP\_DeathmatchGameMode\_C"))

```

## Webhooks

It's possible to connect the server to Discord Webhooks, so that it outputs admin actions/punishments and the server chat to a specified channel.

It's important that the URL provided by Discord is wrapped in quotes, so that the server submits to the correct URL.

```
[/Script/Mordhau.MordhauGameSession]
AdminActionWebhookURL="<Discord Webhook URL>"
AdminPunishmentWebhookURL="<Discord Webhook URL>"
AdminChatCommandWebhookURL="<Discord Webhook URL>"
ServerLagReportsWebhookURL="<Discord Webhook URL>"
ChatFeedWebhookURL="<Discord Webhook URL>"

```

## RCON

```
[/Script/Mordhau.MordhauGameSession]
RconPassword=<Your password>
RconPort=<RCON Port>

```

Broadcasts can be set to be Listening by default. Example list of Broadcasts are:

* **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

Example of settings:

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

```