Add Killing Floor 2 (draft)

This is the beginning of the Killing Floor 2 config. It needs further settings added before release, but currently runs and can set the starting map.

Known issues:
The console does not connect as this starts a separate process.
Cannot add all ports needed due to 3 port limitation: https://github.com/CubeCoders/AMP/issues/582
This commit is contained in:
James Manker 2022-02-17 20:47:43 -06:00
parent 8e7a7bc278
commit 1ddc53cf4c
2 changed files with 161 additions and 0 deletions

76
killing-floor-2.kvp Normal file
View File

@ -0,0 +1,76 @@
Meta.DisplayName=Killing Floor 2
Meta.Description=Killing Floor 2 Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=IceOfWraith
Meta.URL=https://store.steampowered.com/app/232090/Killing_Floor_2/
Meta.DisplayImageSource=steam:232090
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2}
Meta.ConfigManifest=killing-floor-2config.json
Meta.MetaConfigManifest=
Meta.ConfigRoot=killing-floor-2.kvp
Meta.MinAMPVersion=
Meta.SpecificDockerImage=
Meta.ContainerPolicy=Supported
Meta.Prerequsites=[]
Meta.ConfigReleaseState=NotSpecified
App.DisplayName=Killing Floor 2
App.RootDir=./killing-floor-2/
App.BaseDirectory=./killing-floor-2/232130/
App.ExecutableWin=232130\Binaries\Win64\KFServer.exe
App.ExecutableLinux=232130/Binaries/Win64/KFGameSteamServer.bin.x86_64
App.WorkingDir=232130
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs={{Map}}?Game={{Game}}?maxplayers={{$MaxUsers}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -Multihome={{$ApplicationIPBinding}} {{$FormattedArgs}}
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"232090"}
App.CommandLineParameterFormat=-{0}="{1}"
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=stop
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=20560
App.RemoteAdminPort=0
App.MaxUsers=6
App.UseRandomAdminPassword=False
App.RemoteAdminPassword=Password123
App.AdminMethod=STDIO
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "232130"},{"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=1
App.UniversalSleepSteamQueryPort=2
App.WakeupMode=Any
App.ApplicationReadyMode=Immediate
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^Server is ready.$
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

View File

@ -0,0 +1,85 @@
[
{
"DisplayName": "Starting Map",
"Category": "Server Config",
"Description": "Set the server's starting map. Not all game modes work with all maps.",
"Keywords": "Map",
"FieldName": "Map",
"InputType": "enum",
"IsFlagArgument": false,
"ParamFieldName": "Map",
"IncludeInCommandLine": false,
"DefaultValue": "KF-Bioticslab",
"EnumValues": {
"KF-Airship": "Airship",
"KF-AshwoodAsylum": "Ashwood Asylum",
"KF-Biolapse": "Biolapse",
"KF-Bioticslab": "Biotics Lab",
"KF-BlackForest": "Black Forest",
"KF-BurningParis": "Burning Paris",
"KF-CarillonHamlet": "Carillon Hamlet",
"KF-Catacombs": "Catacombs",
"KF-ContainmentStation": "Containment Station",
"KF-Desolation": "Desolation",
"KF-DieSector": "DieSector",
"KF-Dystopia2029": "Dystopia 2029",
"KF-Elysium": "Elysium",
"KF-EvacuationPoint": "Evacuation Point",
"KF-Farmhouse": "Farmhouse",
"KF-HellmarkStation": "Hellmark Station",
"KF-HostileGrounds": "Hostile Grounds",
"KF-InfernalRealm": "Infernal Realm",
"KF-KrampusLair": "Krampus Lair",
"KF-Lockdown": "Lockdown",
"KF-MonsterBall": "Monster Ball",
"KF-Moonbase": "Moonbase",
"KF-Netherhold": "Netherhold",
"KF-Nightmare": "Nightmare",
"KF-Nuked": "Nuked",
"KF-Outpost": "Outpost",
"KF-PowerCore_Holdout": "Power Core Holdout",
"KF-Prison": "Prison",
"KF-Sanitarium": "Sanitarium",
"KF-Santasworkshop": "Santa's Workshop",
"KF-ShoppingSpree": "Shopping Spree",
"KF-Spillway": "Spillway",
"KF-SteamFortress": "Steam Fortress",
"KF-TheDescent": "The Descent",
"KF-TragicKingdom": "Tragic Kingdom",
"KF-VolterManor": "Volter Manor",
"KF-ZedLanding": "ZedLanding"
}
},
{
"DisplayName": "Starting Game Mode",
"Category": "Server Config",
"Description": "Set the server's starting game mode. Not all game modes work with all maps.",
"Keywords": "Game,mode",
"FieldName": "Game",
"InputType": "enum",
"IsFlagArgument": false,
"ParamFieldName": "Game",
"IncludeInCommandLine": false,
"DefaultValue": "KFGameContent.KFGameInfo_Survival",
"EnumValues": {
"KFGameContent.KFGameInfo_Survival": "Survival",
"KFGameContent.KFGameInfo_WeeklySurvival": "Weekly",
"KFGameContent.KFGameInfo_VersusSurvival": "Versus",
"KFGameContent.KFGameInfo_Endless": "Endless",
"KFGameContent.KFGameInfo_Objective": "Objective"
}
},
{
"DisplayName": "Max Players",
"Category": "Server Config",
"Description": "Set server maximum amount of players",
"Keywords": "Max,Users,players",
"FieldName": "$MaxUsers",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "maxplayers",
"IncludeInCommandLine": false,
"DefaultValue": "12",
"EnumValues": {}
},
]