Added metaconfig

Created the settings needed for the metaconfig file. Added web management.  Only server start regex included due to only having player join regex otherwise. This would cause the player count to be off and there is no chat message either.

Console still has no output in Windows based on the above referenced issue.
This commit is contained in:
James Manker 2022-02-19 13:15:00 -06:00
parent 1ddc53cf4c
commit 4f9487eaa8
3 changed files with 199 additions and 18 deletions

View File

@ -7,7 +7,7 @@ Meta.URL=https://store.steampowered.com/app/232090/Killing_Floor_2/
Meta.DisplayImageSource=steam:232090 Meta.DisplayImageSource=steam:232090
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2}
Meta.ConfigManifest=killing-floor-2config.json Meta.ConfigManifest=killing-floor-2config.json
Meta.MetaConfigManifest= Meta.MetaConfigManifest=killing-floor-2metaconfig.json
Meta.ConfigRoot=killing-floor-2.kvp Meta.ConfigRoot=killing-floor-2.kvp
Meta.MinAMPVersion= Meta.MinAMPVersion=
Meta.SpecificDockerImage= Meta.SpecificDockerImage=
@ -22,7 +22,7 @@ App.ExecutableLinux=232130/Binaries/Win64/KFGameSteamServer.bin.x86_64
App.WorkingDir=232130 App.WorkingDir=232130
App.LinuxCommandLineArgs= App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs= App.WindowsCommandLineArgs=
App.CommandLineArgs={{Map}}?Game={{Game}}?maxplayers={{$MaxUsers}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -Multihome={{$ApplicationIPBinding}} {{$FormattedArgs}} App.CommandLineArgs={{Map}}?Game={{Game}}?maxplayers={{$MaxUsers}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -WebAdminPort={{$RemoteAdminPort}} -Multihome={{$ApplicationIPBinding}} {{$FormattedArgs}}
App.AppSettings={} App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"232090"} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"232090"}
App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterFormat=-{0}="{1}"
@ -38,8 +38,8 @@ App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0 App.ApplicationIPBinding=0.0.0.0
App.ApplicationPort1=7777 App.ApplicationPort1=7777
App.ApplicationPort2=27015 App.ApplicationPort2=27015
App.ApplicationPort3=20560 App.ApplicationPort3=0
App.RemoteAdminPort=0 App.RemoteAdminPort=8080
App.MaxUsers=6 App.MaxUsers=6
App.UseRandomAdminPassword=False App.UseRandomAdminPassword=False
App.RemoteAdminPassword=Password123 App.RemoteAdminPassword=Password123
@ -56,20 +56,20 @@ App.SupportsUniversalSleep=False
App.UniversalSleepApplicationUDPPort=1 App.UniversalSleepApplicationUDPPort=1
App.UniversalSleepSteamQueryPort=2 App.UniversalSleepSteamQueryPort=2
App.WakeupMode=Any App.WakeupMode=Any
App.ApplicationReadyMode=Immediate App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}} App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex= Console.FilterMatchRegex=
Console.FilterMatchReplacement= Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^Server is ready.$ Console.AppReadyRegex=^\[\d*\.\d*\] Log: Steam game server UID: \d*$
Console.UserJoinRegex=^User (?<username>.+?) \((?<userid>-?d+)\) connected from \[::ffff:(?<endpoint>.+?)\]$ Console.UserJoinRegex=
Console.UserLeaveRegex=^User (?<username>.+?) \((?<userid>-?d+)\) disconnected\. Reason: (.+?)$ Console.UserLeaveRegex=
Console.UserChatRegex=^(?<username>.+?): (?<message>.+)$ Console.UserChatRegex=
Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$
Console.SuppressLogAtStart=False Console.SuppressLogAtStart=False
Console.ActivateLogRegex= Console.ActivateLogRegex=
Console.UserActions={} Console.UserActions={}
Limits.SleepMode=True Limits.SleepMode=False
Limits.SleepOnStart=False Limits.SleepOnStart=False
Limits.SleepDelayMinutes=5 Limits.SleepDelayMinutes=5
Limits.DozeDelay=2 Limits.DozeDelay=2

View File

@ -2,7 +2,7 @@
{ {
"DisplayName": "Starting Map", "DisplayName": "Starting Map",
"Category": "Server Config", "Category": "Server Config",
"Description": "Set the server's starting map. Not all game modes work with all maps.", "Description": "Set the server's starting map. Survival compatible maps denoted with \"*\".",
"Keywords": "Map", "Keywords": "Map",
"FieldName": "Map", "FieldName": "Map",
"InputType": "enum", "InputType": "enum",
@ -14,9 +14,9 @@
"KF-Airship": "Airship", "KF-Airship": "Airship",
"KF-AshwoodAsylum": "Ashwood Asylum", "KF-AshwoodAsylum": "Ashwood Asylum",
"KF-Biolapse": "Biolapse", "KF-Biolapse": "Biolapse",
"KF-Bioticslab": "Biotics Lab", "KF-Bioticslab": "Biotics Lab*",
"KF-BlackForest": "Black Forest", "KF-BlackForest": "Black Forest",
"KF-BurningParis": "Burning Paris", "KF-BurningParis": "Burning Paris*",
"KF-CarillonHamlet": "Carillon Hamlet", "KF-CarillonHamlet": "Carillon Hamlet",
"KF-Catacombs": "Catacombs", "KF-Catacombs": "Catacombs",
"KF-ContainmentStation": "Containment Station", "KF-ContainmentStation": "Containment Station",
@ -25,7 +25,7 @@
"KF-Dystopia2029": "Dystopia 2029", "KF-Dystopia2029": "Dystopia 2029",
"KF-Elysium": "Elysium", "KF-Elysium": "Elysium",
"KF-EvacuationPoint": "Evacuation Point", "KF-EvacuationPoint": "Evacuation Point",
"KF-Farmhouse": "Farmhouse", "KF-Farmhouse": "Farmhouse*",
"KF-HellmarkStation": "Hellmark Station", "KF-HellmarkStation": "Hellmark Station",
"KF-HostileGrounds": "Hostile Grounds", "KF-HostileGrounds": "Hostile Grounds",
"KF-InfernalRealm": "Infernal Realm", "KF-InfernalRealm": "Infernal Realm",
@ -38,7 +38,7 @@
"KF-Nuked": "Nuked", "KF-Nuked": "Nuked",
"KF-Outpost": "Outpost", "KF-Outpost": "Outpost",
"KF-PowerCore_Holdout": "Power Core Holdout", "KF-PowerCore_Holdout": "Power Core Holdout",
"KF-Prison": "Prison", "KF-Prison": "Prison*",
"KF-Sanitarium": "Sanitarium", "KF-Sanitarium": "Sanitarium",
"KF-Santasworkshop": "Santa's Workshop", "KF-Santasworkshop": "Santa's Workshop",
"KF-ShoppingSpree": "Shopping Spree", "KF-ShoppingSpree": "Shopping Spree",
@ -46,7 +46,7 @@
"KF-SteamFortress": "Steam Fortress", "KF-SteamFortress": "Steam Fortress",
"KF-TheDescent": "The Descent", "KF-TheDescent": "The Descent",
"KF-TragicKingdom": "Tragic Kingdom", "KF-TragicKingdom": "Tragic Kingdom",
"KF-VolterManor": "Volter Manor", "KF-VolterManor": "Volter Manor*",
"KF-ZedLanding": "ZedLanding" "KF-ZedLanding": "ZedLanding"
} }
}, },
@ -69,17 +69,187 @@
"KFGameContent.KFGameInfo_Objective": "Objective" "KFGameContent.KFGameInfo_Objective": "Objective"
} }
}, },
{
"DisplayName": "Enable Web Admin",
"Category": "Server Config",
"Description": "Allows managing the server in a browser using the IP:RemoteAdminPort (from ADS Edit Ports menu).",
"Keywords": "web,admin",
"FieldName": "bEnabled",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "IpDrv.WebServer.bEnabled",
"IncludeInCommandLine": false,
"DefaultValue": "true",
"EnumValues": {
"True": "true",
"False": "false"
}
},
{
"DisplayName": "Admin Password",
"Category": "Server Config",
"Description": "Password to become admin in-game. Username is \"admin\". Change this after install.",
"Keywords": "admin,password",
"FieldName": "AdminPassword",
"InputType": "RandomPassword",
"IsFlagArgument": false,
"ParamFieldName": "Engine.AccessControl.AdminPassword",
"IncludeInCommandLine": false,
"DefaultValue": "Password123",
"EnumValues": {}
},
{
"DisplayName": "Game Password",
"Category": "Server Config",
"Description": "Password to join the game. Change this after install.",
"Keywords": "game,password",
"FieldName": "GamePassword",
"InputType": "password",
"IsFlagArgument": false,
"ParamFieldName": "Engine.AccessControl.GamePassword",
"IncludeInCommandLine": false,
"DefaultValue": "",
"EnumValues": {}
},
{
"DisplayName": "Server Name",
"Category": "Server Config",
"Description": "The name to be displayed in the server browser.",
"Keywords": "server,name",
"FieldName": "ServerName",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "Engine.GameReplicationInfo.ServerName",
"IncludeInCommandLine": false,
"DefaultValue": "AMP Powered KF2 Server",
"EnumValues": {}
},
{ {
"DisplayName": "Max Players", "DisplayName": "Max Players",
"Category": "Server Config", "Category": "Server Config",
"Description": "Set server maximum amount of players", "Description": "Set server maximum amount of players.",
"Keywords": "Max,Users,players", "Keywords": "Max,Users,players",
"FieldName": "$MaxUsers", "FieldName": "$MaxUsers",
"InputType": "number", "InputType": "number",
"IsFlagArgument": false, "IsFlagArgument": false,
"ParamFieldName": "maxplayers", "ParamFieldName": "maxplayers",
"IncludeInCommandLine": false, "IncludeInCommandLine": false,
"DefaultValue": "12", "DefaultValue": "6",
"EnumValues": {} "EnumValues": {}
}, },
{
"DisplayName": "Max Spectators",
"Category": "Server Config",
"Description": "Set server maximum amount of spectators.",
"Keywords": "Max,spectators",
"FieldName": "MaxSpectators",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "Engine.GameInfo.MaxSpectators",
"IncludeInCommandLine": false,
"DefaultValue": "2",
"EnumValues": {}
},
{
"DisplayName": "Difficulty",
"Category": "Server Config",
"Description": "Sets the difficulty level.",
"Keywords": "game,difficulty",
"FieldName": "GameDifficulty",
"InputType": "enum",
"IsFlagArgument": false,
"ParamFieldName": "Engine.GameInfo.GameDifficulty",
"IncludeInCommandLine": false,
"DefaultValue": "0",
"EnumValues": {
"0": "Normal",
"1": "Hard",
"2": "Suicidal",
"3": "Hell on Earth"
}
},
{
"DisplayName": "Admin Can Pause?",
"Category": "Server Config",
"Description": "Allows the admin to pause the game.",
"Keywords": "admin,pause",
"FieldName": "bAdminCanPause",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "Engine.GameInfo.bAdminCanPause",
"IncludeInCommandLine": false,
"DefaultValue": "false",
"EnumValues": {
"True": "true",
"False": "false"
}
},
{
"DisplayName": "Change Levels?",
"Category": "Server Config",
"Description": "Whether or not the game will change levels or loop the same.",
"Keywords": "change,levels",
"FieldName": "bChangeLevels",
"InputType": "checkbox",
"IsFlagArgument": false,
"ParamFieldName": "Engine.GameInfo.bChangeLevels",
"IncludeInCommandLine": false,
"DefaultValue": "true",
"EnumValues": {
"True": "true",
"False": "false"
}
},
{
"DisplayName": "Clan Motto",
"Category": "Server Config",
"Description": "Clan motto displayed when a user joins.",
"Keywords": "clan,motto",
"FieldName": "ClanMotto",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "KFGame.KFGameInfo.ClanMotto",
"IncludeInCommandLine": false,
"DefaultValue": "We are the AMP clan!",
"EnumValues": {}
},
{
"DisplayName": "MOTD",
"Category": "Server Config",
"Description": "MOTD when a user joins.",
"Keywords": "Server,MOTD",
"FieldName": "ServerMOTD",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "KFGame.KFGameInfo.ServerMOTD",
"IncludeInCommandLine": false,
"DefaultValue": "Welcome to our server. \\n \\n Have fun and good luck!",
"EnumValues": {}
},
{
"DisplayName": "MOTD Banner Link",
"Category": "Server Config",
"Description": "Image location for MOTD banner.",
"Keywords": "Banner,Link",
"FieldName": "BannerLink",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "KFGame.KFGameInfo.BannerLink",
"IncludeInCommandLine": false,
"DefaultValue": "http://art.tripwirecdn.com/TestItemIcons/MOTDServer.png",
"EnumValues": {}
},
{
"DisplayName": "MOTD Website Link",
"Category": "Server Config",
"Description": "Link displayed on MOTD.",
"Keywords": "Website,Link",
"FieldName": "WebsiteLink",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "KFGame.KFGameInfo.WebsiteLink",
"IncludeInCommandLine": false,
"DefaultValue": "https://cubecoders.com/AMP",
"EnumValues": {}
}
] ]

View File

@ -0,0 +1,11 @@
[
{
"ConfigFile": "./KFGame/Config/PCServer-KFGame.ini",
"AutoMap": true,
"ConfigType": "ini"
},{
"ConfigFile": "./KFGame/Config/KFWeb.ini",
"AutoMap": true,
"ConfigType": "ini"
}
]