From 57f79b425a145bd52874cb6e84b85f49b655fd1f Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 29 Jul 2022 20:14:11 +1000 Subject: [PATCH] Add Carrier Command 2 (#170) --- carrier-command2.kvp | 81 +++++++++++++++ carrier-command2config.json | 157 ++++++++++++++++++++++++++++++ carrier-command2metaconfig.json | 7 ++ carrier-command2server_config.xml | 6 ++ 4 files changed, 251 insertions(+) create mode 100644 carrier-command2.kvp create mode 100644 carrier-command2config.json create mode 100644 carrier-command2metaconfig.json create mode 100644 carrier-command2server_config.xml diff --git a/carrier-command2.kvp b/carrier-command2.kvp new file mode 100644 index 0000000..5279c7f --- /dev/null +++ b/carrier-command2.kvp @@ -0,0 +1,81 @@ +Meta.DisplayName=Carrier Command 2 +Meta.Description=Carrier Command 2 Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://steamdb.info/app/1489630/ +Meta.DisplayImageSource=steam:1489630 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=carrier-command2config.json +Meta.MetaConfigManifest=carrier-command2metaconfig.json +Meta.ConfigRoot=carrier-command2.kvp +Meta.MinAMPVersion=2.3.3.0 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Carrier Command 2 +App.RootDir=./carrier-command2/ +App.BaseDirectory=./carrier-command2/1489630/ +App.ExecutableWin=1489630\dedicated_server.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=1489630 +App.LinuxCommandLineArgs=-a wine "./dedicated_server.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1489630"} +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.Ports=[{"Protocol":"UDP","Port":25565,"Ref":"GamePort","Name":"Game Port","Description":"Port for main game traffic"},{"Protocol":"UDP","Port":25566,"Ref":"SteamPort","Name":"Steam Port","Description":"Port for extended server info"},{"Protocol":"UDP","Port":25567,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port"},{"Protocol":"UDP","Port":25568,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server query"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=4 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/carrier-command2server_config.xml","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}server_config.xml","UpdateSourceArgs":"{{$FullInstanceDir}}carrier-command2server_config.xml","OverwriteExistingFiles":false}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=wine +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex=\[\d+m +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^[\d:]+ : connected to Steam$ +Console.UserJoinRegex=^[\d:]+ : (?.+?) \(steam id (?.+?)\) authenticated by Steam$ +Console.UserLeaveRegex=^[\d:]+ : (?.+?) \(steam id (?.+?)\) disconnected$ +Console.UserChatRegex=^$ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.MetricsRegex= +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=True +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/carrier-command2config.json b/carrier-command2config.json new file mode 100644 index 0000000..1b889a6 --- /dev/null +++ b/carrier-command2config.json @@ -0,0 +1,157 @@ +[ + { + "DisplayName":"Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"/data/@port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Game Data Path", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"game_data_path", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"/data/@game_data_path", + "IncludeInCommandLine":false, + "DefaultValue":"rom_0", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Name of the server", + "Keywords":"name", + "FieldName":"server_name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/data/@server_name", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Carrier Command 2 Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Password to connect to the server", + "Keywords":"password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/data/@password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that can connect to the server at one time", + "Keywords":"player,limit,maximum", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@max_players", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "Suffix":"players", + "Placeholder":"4", + "EnumValues":{} + }, + { + "DisplayName":"Island Count", + "Category":"Server Settings", + "Description":"Number of islands to spawn on the server. Warning: more than 64 will cause the client to crash when zooming in on the map", + "Keywords":"island,count", + "FieldName":"island_count", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@island_count", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "EnumValues":{} + }, + { + "DisplayName":"Human Team Count", + "Category":"Server Settings", + "Description":"Number of player-controlled carriers to spawn", + "Keywords":"human,team,count", + "FieldName":"team_count_human", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@team_count_human", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"AI Team Count", + "Category":"Server Settings", + "Description":"Number of AI carriers to spawn", + "Keywords":"ai,team,count", + "FieldName":"team_count_ai", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@team_count_ai", + "IncludeInCommandLine":false, + "SkipIfEmpty":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Base Difficulty", + "Category":"Server Settings", + "Description":"Sets the minimum shield difficulty an island can have", + "Keywords":"base,difficulty", + "FieldName":"base_difficulty", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@base_difficulty", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Loadout Type", + "Category":"Server Settings", + "Description":"Sets the loadout type", + "Keywords":"loudout,type", + "FieldName":"loadout_type", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/data/@loadout_type", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Default", + "1":"Minimal", + "2":"Complete" + } + }, + { + "DisplayName":"Blueprints", + "Category":"Server Settings", + "Description":"Sets the number of blueprints", + "Keywords":"blueprints", + "FieldName":"blueprints", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/data/@blueprints", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Default", + "1":"None", + "2":"All" + } + } +] \ No newline at end of file diff --git a/carrier-command2metaconfig.json b/carrier-command2metaconfig.json new file mode 100644 index 0000000..0ba4bee --- /dev/null +++ b/carrier-command2metaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"server_config.xml", + "AutoMap":true, + "ConfigType":"xml" + } +] diff --git a/carrier-command2server_config.xml b/carrier-command2server_config.xml new file mode 100644 index 0000000..f9fc7c4 --- /dev/null +++ b/carrier-command2server_config.xml @@ -0,0 +1,6 @@ + + + + + +