Mordhau Wiki
Explore
Main Page
All Pages
Interactive Maps
navigation
Main page
Community portal
Recent changes
Random page
Admin noticeboard
Gamepedia
Gamepedia support
Report a bad ad
Help Wiki
Contact us
FANDOM
Fan Central
BETA
Games
Anime
Movies
TV
Video
Wikis
Explore Wikis
Community Central
Start a Wiki
Don't have an account?
Register
Sign In
Sign In
Register
Mordhau Wiki
331
pages
Explore
Main Page
All Pages
Interactive Maps
navigation
Main page
Community portal
Recent changes
Random page
Admin noticeboard
Gamepedia
Gamepedia support
Report a bad ad
Help Wiki
Contact us
Editing
Dedicated Server Hosting Guide
Back to page
Edit
VisualEditor
History
Talk (0)
Edit Page
Dedicated Server Hosting Guide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
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 [https://discord.gg/hTgtnmY 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. <span id="additional-guides"></span> = Additional Guides = <span id="windows-server"></span> == Windows Server == * [[Steam Setup]] (Easy - Must own a copy of Mordhau on Steam) * [[WindowsGSM Setup]] (Easy) * [[SteamCMD Setup]] (Easy) <span id="linux-server"></span> == Linux Server == * [https://linuxgsm.com/servers/mhserver/ LinuxGSM] (Easy) * [[Docker Setup]] <span id="general"></span> == General == * [[MOTD Markdown Guide]] * [[Server Configuration]] * [[Server Map Names]] <span id="ports"></span> = 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. {| class="wikitable" |- ! Name ! Default ! Type ! Description |- | Server Port | 7777 | TCP/UDP | Required. The main game port, via which most player traffic will occur |- | RCON Port | 7778 | TCP | Used for RCON clients/bots |- | Beacon Port | 15000 | TCP/UDP | Used for connecting players to reserve a slot |- | Query Port | 27015 | TCP/UDP | Used for the server browser to query details of the server |} 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/ <span id="launch-parameters"></span> = 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. {| class="wikitable" |- ! Parameter ! Description |- | <code>mapname</code> | If set, it must be the first launch parameter. Specifies the default map to load when the server starts. |- | <code>-log</code> | Outputs the server log in real-time when launched |- | <code>-Port=XXXX</code> | Specifies the Server port |- | <code>-RconPort=XXXXX</code> | Specifies the RCON Port |- | <code>-BeaconPort=XXXXX</code> | Specifies the Beacon Port |- | <code>-QueryPort=XXXXX</code> | Specifies the Query port |} The following launch parameters should only be used if you have a specific need for them: {| class="wikitable" |- ! Parameter ! Description |- | <code>-ENGINEINI="path/to/file.ini"</code> | Can be used to specify a full path to an Engine.ini file |- | <code>-GAMEINI="path/to/file.ini"</code> | Can be used to specify a full path to a Game.ini file |- | <code>-MULTIHOME=<IP Address></code> | Specifies the exact IP address the server should bind to if there are multiple |} <span id="server-configuration"></span> = 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. <span id="general-commands"></span> = 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. {| class="wikitable" |- ! Command ! Description |- | <code>LookupPlayer <SteamID/PlayfabID></code> | Returns all relevant IDs known about a player account from Playfab. |- | <code>CopyID <SessionID></code> | Copies the player's PlayfabID into your Clipboard. You are always SessionID '''1''' |- | <code>PlayerList</code> | Shows all players on the servers, their SessionID on that server, as well as their PlayfabID. |- | <code>VoteKick <Name/PlayfabID/SessionID></code> | Initiates a votekick against a given player. |- | <code>CancelVotekick</code> | Cancels your own currently active votekick. |} <span id="admin-commands"></span> = 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. {| class="wikitable" |- ! Command ! Description |- | <code>AdminList</code> | Displays a list of all current server admins. |- | <code>AddAdmin <PlayfabID/SessionID></code> | Adds an admin to the server (can be used by any admin, be warned) |- | <code>RemoveAdmin <PlayfabID/SesssionID></code> | Removes an admin from the server (can be used by any admin, be warned) |- | <code>BanList</code> | Shows all active bans on the server. |- | <code>Ban <PlayfabID/SessionID> <duration> <reason></code> | Applies a ban from the server. |- | <code>Unban <PlayfabID></code> | Removes a ban from the server. |- | <code>MuteList</code> | Shows all active mutes on the server. |- | <code>Mute <PlayfabID/SessionID> <duration></code> | Apples a chat mute, preventing that player from talking. A timer will appear instead of the chat box to let the player know how long is left on their mute. |- | <code>Unmute <PlayfabID/SessionID></code> | Removes a chat mute |- | <code>Kick <PlayfabID/SessionID> <reason></code> | Removes a player from the server, but does not prevent them from rejoining. |- | <code>CancelVotekick</code> | Cancels any currently running votekicks on the server. When not admin, it only cancels your own. |- | <code>ChangeLevel <Map Name></code> | Changes the current map to the specied, see Server Map Names for a list of suitable official maps. Changing to an invalid map name may cause players to disconnect. |- | <code>AddBots <Integer></code> | Adds the specified number of bots to the server, appearance/weapons will be entirely random. |- | <code>RemoveBots <Integer></code> | Removes the specified number of bots from the server. |- | <code>AddBotsTeam <Team> <Integer></code> | Adds the specified number of bots to a Team. 0 for Red team, 1 for Blue Team. |- | <code>RemoveBotsTeam <Team> <Integer></code> | Removes the specified number of bots from a Team. 0 for Red team, 1 for Blue Team. |- | <code>ToggleDamage</code> | Disables damage for all players and bots. |- | <code>ToggleStamina</code> | Disables stamina usage for all players and bots. |- | <code>Slomo <Value></code> |Slows down time for all players. 1 = 100%, 0.5 = 50%. Can be set to higher amounts to speed up time, but be wary of setting too high. |- | <code>ParryThis</code> |Spawns a 1411 into one of your empty inventory slots. Cannot be dropped, reloads at an ammo box. |- | <code>GiveHorse</code> |Spawns a Horse at your current location, if there is available space. |- | <code>GiveHog</code> |Spawns a Hog at your current location, if there is available space. |- | <code>Horsgor</code> |Spawns a Camel at your current location, if there is available space. |- | <code>GiveCata</code> |Spawns a Catapult at your current location, if there is available space. This catapult is a variant and may behave differently. |- | <code>GiveBlunderbuss</code> |Spawns a Blunderbuss with 120 ammo. Note that the weapon will currently drop if you are hit, or when you are killed. |- | <code>PlayerStats</code> |Outputs a list of all players showing their Levels and Duel/Teamfight MMR Rating |- | <code>ShowAuthTraces 1</code> |Displays the authoritive Server-side tracers, which may differ from client-side tracers. |- | <code>m.ShowServerStats 1</code> |Reveals the min/avg/max tickrate of the server, can be useful to identify whether the server is struggling with performance. |} <span id="chat-commands"></span> =Chat Commands= Chat commands have to be issued within the chat box itself, prefixed with a forward slash <code>/</code> . <span id="admins"></span> ===Admins=== Requires <code>bAllowAdminChat</code> set to True, which is the default. See the [[Server Configuration]] page for how to change this setting. {| class="wikitable" |- !Command !Description |- | <code>/aserver <Message></code> |Sends a Message as Server to All |- | <code>/achat <Message></code> |Admin Internal chat (Only Admins on the same server will see this messages) |- | <code>/announce <Duration> <Message></code> |Sends a Popup-Message to everyone for the given duration (Must be between 3-30 [incl.] seconds) |- | <code>/apopup <Duration> <PlayfabID/Name> <Message></code> |Sends a Popup-Message to a specific Player for the given duration (Must be between 3-30 [incl.] seconds) |- | <code>/asay <Message></code> |Sends a Message as Admin to all Players (Highlighted with ADMIN Tag and purple name) |- | <code>/awhisper <PlayfabID/Name> <Message></code> |Sends a Message as Admin to a specific Player (Highlighted with ADMIN Tag and purple name) |} <span id="players"></span> ===Players=== Requires <code>bAllowWhisperChat</code> set to True, which is False by default. See the [[Server Configuration]] page for how to change this setting. {| class="wikitable" |- !Command !Description |- | <code>/whisper <PlayfabID/Name> <Message></code> |Sends a Message to a specific Player |} <span id="general-1"></span> ===General=== {| class="wikitable" |- !Command !Description |- | <code>/help</code> |Shows all available Chat commands |} <span id="rcon"></span> =RCON= <span id="bots-tools"></span> ==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: * [https://sourceforge.net/projects/ssrcdsrcon/ Simple SourceDS RCON] * [https://github.com/WaGi-Coding/mordhau-rcon-tool Taki7o7's Mordhau RCON-Tool] * [https://github.com/Tom-Beijner/Mordhau-RCON Schweppes' Mordhau RCON Bot] <span id="broadcasts"></span> ==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: <syntaxhighlight lang="ini">[Rcon] ListeningToByDefault=InsertTypeOfBroadcastHere ListeningToByDefault=chat ListeningToByDefault=custom </syntaxhighlight> See the [[Server Configuration]] page for more details on how to configure RCON. <span id="commands"></span> ==Commands== {| class="wikitable" |- !Command !Description |- | <code>help</code> |Provides a list of these commands. |- | <code>alive</code> |Prevents the connection from being timed out due to inactivity. Only usually necessary if you are not listening to any broadcasts (see above), or the server has been inactive for too long. |- | <code>listen <Type> <Start/Stop></code> |This command will allow you to toggle listening for broadcasted data from the server. Supported types: all login, matchstate, killfeed, scorefeed, chat |- | <code>listenstatus</code> |Retrieve a list of what types of broadcasts you are listening for |- | <code>adminlist</code> |Displays a list of PlayfabID's for all current admins |- | <code>banlist</code> |Displays a list of PlayfabID's for all current bans and their duration |- | <code>mutelist</code> |Displays a list of PlayfabID's for all current mutes and their duration |- | <code>playerlist</code> |Displays a list of PlayfabID's for all players on the server, displaying their name, ping, and team (if applicable). |- | <code>maplist</code> |Displays a list of all of the current maps in the map rotation, as well as their ArrayIndex. |- | <code>addmap <MapName> <ArrayIndex> <UpdateConfig></code> |Adds a map to the map rotation. For '''MapName''' see [[Server Map Names]]. '''ArrayIndex''' would be the position you wish to insert the map (see the ArrayIndex from maplist), you can set this to 0 to place at the top. '''UpdateConfig''' is a boolean, setting to True would save the change to the Game.ini file, False would hold it in memory only. |- | <code>removemap <MapName> <UpdateConfig></code> |Removes a map from the map rotation. See the maplist command for the valid map name to use. '''UpdateConfig''' is a boolean, setting to True would save the change to the Game.ini file, False would hold it in memory only. |- | <code>addadmin <PlayerName/PlayfabID></code> |Adds a player or PlayfabID to the list of admins. |- | <code>removeadmin <PlayerName/PlayfabID></code> |Remove a player or PlayfabID from the list of admins. |- | <code>addbots <Amount> <Team></code> |Adds the specified amount of bots to the server. The team is 0 by default for non-team modes, otherwise 0 for the Red team, and 1 for the Blue Team. |- | <code>removebots <Amount> <Team></code> |Removes the specified amount of bots from the server. The team is 0 by default for non-team modes, otherwise 0 for the Red team, and 1 for the Blue Team. |- | <code>changelevel <MapName></code> |Changes the current map to the specified Map. For a list of valid maps see [[Server Map Names]]. |- | <code>say <Message></code> |Send a generic message as the server |- | <code>customsay <Message> <MessageType></code> |Currently disabled/non-functional. |- | <code>string <String></code> |Used for modding. |- | <code>event <EventName></code> |Used for modding. |- | <code>spawnserveractor <ActorPath> <Transform></code> |Used for modding. |- | <code>kick <PlayerName/PlayfabID> <Reason></code> |Kicks the specified player or PlayfabID for the given reason. Player name can only be used if the player is currently on the server. |- | <code>ban <PlayerName/PlayfabID> <Reason> <Duration></code> |Bans the specified player or PlayfabID for the given reason and duration. Duration must be an integer, in minutes. Player name can only be used if the player is currently on the server. |- | <code>unban <PlayFabID></code> |Unbans a specified PlayfabID. |- | <code>mute <PlayerName/PlayfabID> <Duration></code> |Mutes the specified player or PlayfabID for the given duration. Duration must be an integer, in minutes. Player name can only be used if the player is currently on the server. |- | <code>unmute <PlayFabID></code> |Unmutes a specified PlayfabID. |- | <code>scoreboard</code> |Displays the current scoreboard on the server. Output is as follows: PLAYFABID, NAME, TEAM (0 for Red or No Team, 1 for Blue -1 for spectator), LEVEL/MMR (0 for unranked or bot), SCORE, KILLS, DEATHS, ASSISTS |- | <code>info</code> |Displays the current server info. HostName, ServerName, Version, GameMode and Map. |- | <code>stats</code> |Returns server performance statistics - minimum, average and maximum tick rate |- | <code>writetoconsole <Message></code> |Displays a message in the console, that won't be seen by players. |- | <code>changeteam <PlayerName/PlayfabID> <Team></code> |Changes the team of the specified Player or PlayfabID. The team is 0 for the Red team and 1 for the Blue team. It cannot be used to force a player into Spectator. |- | <code>modifyinivar <File name> <nowiki><Section name> <Variable name> <Value> <Type></nowiki></code> |The file name should be 'game' or 'engine'. The section name and variable name must match an INI heading and value from that file. Supported types: bool, int, float, string, text, vector2d, vector, rotator, color |- | <code>getmatchduration</code> |Will output how many seconds are remaining on the current match. |- | <code>extendmatchduration <Duration in seconds></code> |Allows you to extend the current match duration, Duration must be in Seconds. |- | <code>setmotd <Url></code> |Must link to a valid Markdown file, see [[MOTD Markdown Guide]] |- | <code>teleportplayer <PlayerName/PlayfabID> <x=#,y=#,z=#></code> |Teleports the specified Player or PlayfabID to the coordinates provided. Must be provided in the format: '''x=#,y=#,z=# .''' You can get these coordinates from the SDK, or using in-game console commands such as '''ShowDebug CAMERA''' |- | <code>killplayer <PlayerName/PlayfabID></code> |Kills the specified Player or PlayfabID. The player must be on the server to function. |- | <code>getteamdamage <PlayerName/PlayfabID></code> |Displays the current team damage of a specified Player or PlayfabID. Must be a team mode, and player must be on the server. |- | <code>renameplayer <PlayerName/PlayfabID> <New name></code> |Renames the specified Player or PlayfabID to the new name. |- | <code>chatlog <Num messages to retrieve></code> |Returns the specified number of recent chat messages. You should use the Chat Listen Broadcast instead (see above) to get a real-time feed of chat messages. |- | <code>shutdown</code> |Shuts down the server |} <span id="motd"></span> =MOTD= See the [[MOTD Markdown Guide]] for more detail on the Markdown syntax and options for file hosting. <span id="monitoring"></span> =Monitoring= quakestat can be used to monitor your Mordhau server. <code>sudo apt install qstat</code> <code>quakestat -a2s IP:PORT</code> use <code>quakestat --help</code> to see all options. [[Category:{{gamename}}]] [[Category:Servers]] [[Category:Guides]]
Summary:
Please note that all contributions to the Mordhau Wiki are considered to be released under the CC BY-NC-SA
Cancel
Editing help
(opens in new window)
Template used on this page:
Template:Gamename
(
view source
)
Follow on IG
TikTok
Join Fan Lab