Add Mordhau Config (Draft)

This is the first draft of the Mordhau config. The current issues outstanding:
1. Console/RCON is not accepting input
2. Shutdown (OS_CLOSE) command does not work cleanly in Windows.
This commit is contained in:
James Manker 2022-03-05 13:39:47 -06:00
parent bb74817cb2
commit 54ab6f6eb7
3 changed files with 307 additions and 0 deletions

217
mordhau-config.json Normal file
View File

@ -0,0 +1,217 @@
[
{
"DisplayName": "Server Name",
"Category": "Server Config",
"Description": "Name of the server in the browser.",
"Keywords": "Server,Name",
"FieldName": "ServerName",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "/Script/Mordhau.MordhauGameSession.ServerName",
"IncludeInCommandLine": false,
"DefaultValue": "AMP Powered Mordhau Server",
"EnumValues": {}
},
{
"DisplayName": "Server Password",
"Category": "Server Config",
"Description": "The password users need to join the server.",
"Keywords": "Server,Password",
"FieldName": "ServerPassword",
"InputType": "Password",
"IsFlagArgument": false,
"ParamFieldName": "/Script/Mordhau.MordhauGameSession.ServerPassword",
"IncludeInCommandLine": false,
"DefaultValue": "",
"EnumValues": {}
},
{
"DisplayName": "RCON Password",
"Category": "Server Config",
"Description": "RconPassword",
"Keywords": "RconPassword",
"FieldName": "RconPassword",
"InputType": "RandomPassword",
"IsFlagArgument": false,
"ParamFieldName": "/Script/Mordhau.MordhauGameSession.RconPassword",
"IncludeInCommandLine": false,
"DefaultValue": "",
"EnumValues": {}
},
{
"DisplayName": "Admin Password",
"Category": "Server Config",
"Description": "The password to become admin in the server.",
"Keywords": "Admin,Password",
"FieldName": "AdminPassword",
"InputType": "RandomPassword",
"IsFlagArgument": false,
"ParamFieldName": "/Script/Mordhau.MordhauGameSession.AdminPassword",
"IncludeInCommandLine": false,
"DefaultValue": "Password123",
"EnumValues": {}
},
{
"DisplayName": "Max Players",
"Category": "Server Config",
"Description": "Max players that can join at a time.",
"Keywords": "Max,players,Slots",
"FieldName": "MaxSlots",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "/Script/Mordhau.MordhauGameSession.MaxSlots",
"IncludeInCommandLine": false,
"DefaultValue": "16",
"EnumValues": {}
},
{
"DisplayName": "Advertise on Steam",
"Category": "Server Config",
"Description": "Enable to display the server in the Steam browser list.",
"Keywords": "advertise,on,steam",
"FieldName": "bAdvertiseServerViaSteam",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "/Script/Mordhau.MordhauGameSession.bAdvertiseServerViaSteam",
"IncludeInCommandLine": false,
"DefaultValue": "True",
"EnumValues": {
"True":"True",
"False":"False"
}
},
{
"DisplayName": "Starting Map & Mode",
"Category": "Server Config",
"Description": "The map and mode the server will start with: BR (Battle Royale), DU (Duel), FFA (Deathmatch), FL (Frontline), HRD (Horde), INV (Invasion), SKM (Skirmish), TDM (Team Deathmatch), TF (Teamfight)",
"Keywords": "starting,map,mode",
"FieldName": "map",
"InputType": "enum",
"IsFlagArgument": false,
"ParamFieldName": "map",
"IncludeInCommandLine": false,
"DefaultValue": "/FeitoriaMap/BR_Feitoria",
"EnumValues": {
"/Game/Mordhau/Maps/FeitoriaMap/BR_Feitoria":"BR_Feitoria",
"/Game/Mordhau/Maps/Grad/BR_Grad":"BR_Grad",
"/Game/Mordhau/Maps/TaigaMap/BR_Taiga":"BR_Taiga",
"/Game/Mordhau/Maps/Arena_Map/DU_Arena":"DU_Arena",
"/Game/Mordhau/Maps/Contraband/DU_Contraband":"DU_Contraband",
"/Game/Mordhau/Maps/Cortile/DU_Cortile":"DU_Cortile",
"/Game/Mordhau/Maps/Highlands/DU_Highlands":"DU_Highlands",
"/Game/Mordhau/Maps/Tourney/DU_Tourney":"DU_Tourney",
"/Game/Mordhau/Maps/Truce/DU_Truce":"DU_Truce",
"/Game/Mordhau/Maps/Arena_Map/FFA_Arena":"FFA_Arena",
"/Game/Mordhau/Maps/DuelCamp/FFA_Camp":"FFA_Camp",
"/Game/Mordhau/Maps/Castello/FFA_Castello":"FFA_Castello",
"/Game/Mordhau/Maps/Castello/FFA_Castello_64":"FFA_Castello_64",
"/Game/Mordhau/Maps/Contraband/FFA_Contraband":"FFA_Contraband",
"/Game/Mordhau/Maps/Cortile/FFA_Cortile":"FFA_Cortile",
"/Game/Mordhau/Maps/Crossroads/FFA_Crossroads":"FFA_Crossroads",
"/Game/Mordhau/Maps/FeitoriaMap/FFA_Feitoria":"FFA_Feitoria",
"/Game/Mordhau/Maps/Grad/FFA_Grad":"FFA_Grad",
"/Game/Mordhau/Maps/Highlands/FFA_Highlands":"FFA_Highlands",
"/Game/Mordhau/Maps/MaxMap/FFA_MountainPeak":"FFA_MountainPeak",
"/Game/Mordhau/Maps/DesertMap/FFA_Noria":"FFA_Noria",
"/Game/Mordhau/Maps/TaigaMap/FFA_Taiga":"FFA_Taiga",
"/Game/Mordhau/Maps/ThePit/FFA_ThePit":"FFA_ThePit",
"/Game/Mordhau/Maps/Tourney/FFA_Tourney":"FFA_Tourney",
"/Game/Mordhau/Maps/Truce/FFA_Truce":"FFA_Truce",
"/Game/Mordhau/Maps/DuelCamp/FL_Camp":"FL_Camp",
"/Game/Mordhau/MapsCastello/FL_Castello":"FL_Castello",
"/Game/Mordhau/Maps/Crossroads/FL_Crossroads":"FL_Crossroads",
"/Game/Mordhau/Maps/FeitoriaMap/FL_Feitoria":"FL_Feitoria",
"/Game/Mordhau/Maps/Grad/FL_Grad":"FL_Grad",
"/Game/Mordhau/Maps/MaxMap/FL_MountainPeak":"FL_MountainPeak",
"/Game/Mordhau/Maps/DesertMap/FL_Noria":"FL_Noria",
"/Game/Mordhau/Maps/TaigaMap/FL_Taiga":"FL_Taiga",
"/Game/Mordhau/Maps/DuelCamp/HRD_Camp":"HRD_Camp",
"/Game/Mordhau/Maps/Castello/HRD_Castello":"HRD_Castello",
"/Game/Mordhau/Maps/Crossroads/HRD_Crossroads":"HRD_Crossroads",
"/Game/Mordhau/Maps/FeitoriaMap/HRD_Feitoria":"HRD_Feitoria",
"/Game/Mordhau/Maps/Grad/HRD_Grad":"HRD_Grad",
"/Game/Mordhau/Maps/MaxMap/HRD_MountainPeak":"HRD_MountainPeak",
"/Game/Mordhau/Maps/DesertMap/HRD_Noria":"HRD_Noria",
"/Game/Mordhau/Maps/TaigaMap/HRD_Taiga":"HRD_Taiga",
"/Game/Mordhau/Maps/DuelCamp/INV_Camp_1":"INV_Camp_1",
"/Game/Mordhau/Maps/Castello/INV_Castello_0":"INV_Castello_0",
"/Game/Mordhau/Maps/Crossroads/INV_Crossroads_0":"INV_Crossroads_0",
"/Game/Mordhau/Maps/FeitoriaMap/INV_Feitoria_0":"INV_Feitoria_0",
"/Game/Mordhau/Maps/Grad/INV_Grad_0":"INV_Grad_0",
"/Game/Mordhau/Maps/Grad/INV_Grad_1":"INV_Grad_1",
"/Game/Mordhau/Maps/DesertMap/INV_Noria_1":"INV_Noria_1",
"/Game/Mordhau/Maps/TaigaMap/INV_Taiga_0":"INV_Taiga_0",
"/Game/Mordhau/Maps/Arena_Map/SKM_Arena":"SKM_Arena",
"/Game/Mordhau/Maps/DuelCamp/SKM_Camp":"SKM_Camp",
"/Game/Mordhau/Maps/DuelCamp/SKM_Camp_64":"SKM_Camp_64",
"/Game/Mordhau/Maps/Castello/SKM_Castello":"SKM_Castello",
"/Game/Mordhau/Maps/Castello/SKM_Castello_64":"SKM_Castello_64",
"/Game/Mordhau/Maps/Contraband/SKM_Contraband":"SKM_Contraband",
"/Game/Mordhau/Maps/Cortile/SKM_Cortile":"SKM_Cortile",
"/Game/Mordhau/Maps/Crossroads/SKM_Crossroads":"SKM_Crossroads",
"/Game/Mordhau/Maps/FeitoriaMap/SKM_Feitoria":"SKM_Feitoria",
"/Game/Mordhau/Maps/FeitoriaMap/SKM_Feitoria_64":"SKM_Feitoria_64",
"/Game/Mordhau/Maps/Grad/SKM_Grad":"SKM_Grad",
"/Game/Mordhau/Maps/Grad/SKM_Grad_64":"SKM_Grad_64",
"/Game/Mordhau/Maps/Highlands/SKM_Highlands":"SKM_Highlands",
"/Game/Mordhau/Maps/MaxMap/SKM_MountainPeak":"SKM_MountainPeak",
"/Game/Mordhau/Maps/MaxMap/SKM_MountainPeak_64":"SKM_MountainPeak_64",
"/Game/Mordhau/Maps/DesertMap/SKM_Noria":"SKM_Noria",
"/Game/Mordhau/Maps/TaigaMap/SKM_Taiga":"SKM_Taiga",
"/Game/Mordhau/Maps/TaigaMap/SKM_Taiga_64":"SKM_Taiga_64",
"/Game/Mordhau/Maps/ThePit/SKM_ThePit":"SKM_ThePit",
"/Game/Mordhau/Maps/Tourney/SKM_Tourney":"SKM_Tourney",
"/Game/Mordhau/Maps/Truce/SKM_Truce":"SKM_Truce",
"/Game/Mordhau/Maps/Arena_Map/TDM_Arena":"TDM_Arena",
"/Game/Mordhau/Maps/DuelCamp/TDM_Camp":"TDM_Camp",
"/Game/Mordhau/Maps/DuelCamp/TDM_Camp_64":"TDM_Camp_64",
"/Game/Mordhau/Maps/Castello/TDM_Castello":"TDM_Castello",
"/Game/Mordhau/Maps/Contraband/TDM_Contraband":"TDM_Contraband",
"/Game/Mordhau/Maps/Cortile/TDM_Cortile":"TDM_Cortile",
"/Game/Mordhau/Maps/Crossroads/TDM_Crossroads":"TDM_Crossroads",
"/Game/Mordhau/Maps/FeitoriaMap/TDM_Feitoria":"TDM_Feitoria",
"/Game/Mordhau/Maps/FeitoriaMap/TDM_Feitoria_64":"TDM_Feitoria_64",
"/Game/Mordhau/Maps/Grad/TDM_Grad":"TDM_Grad",
"/Game/Mordhau/Maps/Highlands/TDM_Highlands":"TDM_Highlands",
"/Game/Mordhau/Maps/MaxMap/TDM_MountainPeak":"TDM_MountainPeak",
"/Game/Mordhau/Maps/DesertMap/TDM_Noria":"TDM_Noria",
"/Game/Mordhau/Maps/TaigaMap/TDM_Taiga":"TDM_Taiga",
"/Game/Mordhau/Maps/TaigaMap/TDM_Taiga_64":"TDM_Taiga_64",
"/Game/Mordhau/Maps/ThePit/TDM_ThePit":"TDM_ThePit",
"/Game/Mordhau/Maps/Tourney/TDM_Tourney":"TDM_Tourney",
"/Game/Mordhau/Maps/Truce/TDM_Truce":"TDM_Truce",
"/Game/Mordhau/Maps/Arena_Map/TF_Arena":"TF_Arena",
"/Game/Mordhau/Maps/Cortile/TF_Cortile":"TF_Cortile",
"/Game/Mordhau/Maps/Highlands/TF_Highlands":"TF_Highlands",
"/Game/Mordhau/Maps/Truce/TF_Truce":"TF_Truce"
}
},
{
"DisplayName": "RconPort",
"Category": "Server Config",
"Description": "RconPort",
"Keywords": "RconPort",
"FieldName": "$RemoteAdminPort",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "/Script/Mordhau.MordhauGameSession.RconPort",
"IncludeInCommandLine": false,
"DefaultValue": "7778",
"Hidden": true,
"EnumValues": {}
},
{
"DisplayName": "RconTimeout",
"Category": "Server Config",
"Description": "RconTimeout",
"Keywords": "RconTimeout",
"FieldName": "RconTimeout",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "/Script/Mordhau.MordhauGameSession.RconTimeout",
"IncludeInCommandLine": false,
"DefaultValue": "0",
"Hidden": true,
"EnumValues": {}
}
]

12
mordhau-metaconfig.json Normal file
View File

@ -0,0 +1,12 @@
[
{
"ConfigFile": "Mordhau/Binaries/Win64/Mordhau/Binaries/Win64/Mordhau/Saved/Config/WindowsServer/Game.ini",
"AutoMap": true,
"ConfigType": "ini"
},
{
"ConfigFile": "Mordhau/Binaries/Win64/Mordhau/Binaries/Win64/Mordhau/Saved/Config/LinuxServer/Game.ini",
"AutoMap": true,
"ConfigType": "ini"
}
]

78
mordhau.kvp Normal file
View File

@ -0,0 +1,78 @@
Meta.DisplayName=Mordhau
Meta.Description=Mordhau Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=Moses, IceOfWraith
Meta.URL=https://store.steampowered.com/app/629760/MORDHAU/
Meta.DisplayImageSource=steam:629760
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2}
Meta.ConfigManifest=mordhau-config.json
Meta.MetaConfigManifest=mordhau-metaconfig.json
Meta.ConfigRoot=mordhau.kvp
Meta.MinAMPVersion=2.3.0.8
Meta.SpecificDockerImage=
Meta.DockerRequired=False
Meta.ContainerPolicy=Supported
Meta.Prerequsites=[]
Meta.ConfigReleaseState=NotSpecified
App.DisplayName=Mordhau
App.RootDir=./mordhau/
App.BaseDirectory=./mordhau/629800/
App.ExecutableWin=629800\Mordhau\Binaries\Win64\MordhauServer-Win64-Shipping.exe
App.ExecutableLinux=629800/Mordhau/Binaries/Linux/MordhauServer-Linux-Shipping
App.WorkingDir=629800
App.LinuxCommandLineArgs=Mordhau -GAMEINI="./Mordhau/Binaries/Win64/Mordhau/Saved/Config/LinuxServer/Game.ini" -ENGINEINI="./Mordhau/Binaries/Win64/Mordhau/Saved/Config/LinuxServer/Engine.ini"
App.WindowsCommandLineArgs=-GAMEINI="./Mordhau/Binaries/Win64/Mordhau/Saved/Config/WindowsServer/Game.ini" -ENGINEINI="./Mordhau/Binaries/Win64/Mordhau/Saved/Config/WindowsServer/Engine.ini"
App.CommandLineArgs={{map}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -Beaconport={{$ApplicationPort3}} {{$FormattedArgs}} {{$PlatformArgs}}
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"629760"}
App.CommandLineParameterFormat=-{0}={1}
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=Shutdown
App.ExitFile=app_exit.lck
App.HasWriteableConsole=True
App.HasReadableConsole=True
App.SupportsLiveSettingsChanges=False
App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0
App.ApplicationPort1=7777
App.ApplicationPort2=27015
App.ApplicationPort3=15000
App.RemoteAdminPort=7778
App.MaxUsers=16
App.UseRandomAdminPassword=False
App.RemoteAdminPassword=Password123
App.AdminMethod=SourceRCON
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.TelnetLoginFormat={0}
App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"629800"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}]
App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.SupportsUniversalSleep=False
App.UniversalSleepApplicationUDPPort=27015
App.UniversalSleepSteamQueryPort=27016
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^LogInit\: Display\: Starting Game.$
Console.UserJoinRegex=^User (?<username>.+?) \((?<userid>-?d+)\) connected from \[::ffff:(?<endpoint>.+?)\]$
Console.UserLeaveRegex=^User (?<username>.+?) \((?<userid>-?d+)\) disconnected\. Reason: (.+?)$
Console.UserChatRegex=^(?<username>.+?): (?<message>.+)$
Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$
Console.SuppressLogAtStart=False
Console.ActivateLogRegex=
Console.UserActions={}
Limits.SleepMode=True
Limits.SleepOnStart=False
Limits.SleepDelayMinutes=5
Limits.DozeDelay=2
Limits.AutoRetryCount=5