diff --git a/mordhau-config.json b/mordhau-config.json new file mode 100644 index 0000000..bb0d898 --- /dev/null +++ b/mordhau-config.json @@ -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": {} + } +] \ No newline at end of file diff --git a/mordhau-metaconfig.json b/mordhau-metaconfig.json new file mode 100644 index 0000000..b05cde6 --- /dev/null +++ b/mordhau-metaconfig.json @@ -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" + } +] \ No newline at end of file diff --git a/mordhau.kvp b/mordhau.kvp new file mode 100644 index 0000000..c9ad1e0 --- /dev/null +++ b/mordhau.kvp @@ -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 (?.+?) \((?-?d+)\) connected from \[::ffff:(?.+?)\]$ +Console.UserLeaveRegex=^User (?.+?) \((?-?d+)\) disconnected\. Reason: (.+?)$ +Console.UserChatRegex=^(?.+?): (?.+)$ +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 \ No newline at end of file