From 01d405e4d711ac015d218e31ec2dcb44773aa7b6 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 9 Jul 2022 13:48:32 +1000 Subject: [PATCH] Broke Protocol: overhaul of broken template --- broke-protocol.kvp | 85 ++++++++++++++++++++++++++++++ broke-protocolconfig.json | 97 +++++++++++++++++++++++++++++++++++ broke-protocolmetaconfig.json | 7 +++ brokeprotocol.kvp | 36 ------------- brokeprotocolconfig.json | 83 ------------------------------ brokeprotocolmetaconfig.json | 6 --- 6 files changed, 189 insertions(+), 125 deletions(-) create mode 100644 broke-protocol.kvp create mode 100644 broke-protocolconfig.json create mode 100644 broke-protocolmetaconfig.json delete mode 100644 brokeprotocol.kvp delete mode 100644 brokeprotocolconfig.json delete mode 100644 brokeprotocolmetaconfig.json diff --git a/broke-protocol.kvp b/broke-protocol.kvp new file mode 100644 index 0000000..b204eaa --- /dev/null +++ b/broke-protocol.kvp @@ -0,0 +1,85 @@ +Meta.DisplayName=Broke Protocol +Meta.Description=Broke Protocol Dedicated Server +Meta.OS=Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://brokeprotocol.com/ +Meta.DisplayImageSource=steam:696370 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=broke-protocolconfig.json +Meta.MetaConfigManifest=broke-protocolmetaconfig.json +Meta.ConfigRoot=broke-protocol.kvp +Meta.MinAMPVersion=2.3.4.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Broke Protocol +App.RootDir=./brokeprotocol/ +App.BaseDirectory=./brokeprotocol/server/ +App.ExecutableWin= +App.ExecutableLinux=server/bpgameserver.x86_64 +App.WorkingDir=server +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=-batchmode -logfile +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"696370"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=SIGTERM +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":5557,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":5558,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=32 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource": "SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://brokeprotocol.com/wp-content/uploads/game.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^\[SVR\] Ready to serve clients on UDP port: \d+$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +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/broke-protocolconfig.json b/broke-protocolconfig.json new file mode 100644 index 0000000..61a74da --- /dev/null +++ b/broke-protocolconfig.json @@ -0,0 +1,97 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"$.port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the server name visible in the server list (up to 48 characters). Color codes supported", + "Keywords":"server,name", + "FieldName":"serverName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.serverName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Broke Protocol Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Map", + "Category":"Server Settings", + "Description":"Sets the map the server will load. Can be subscribed to on Steam or included in the \"Maps\" directory", + "Keywords":"map", + "FieldName":"map", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.map", + "IncludeInCommandLine":false, + "DefaultValue":"Default", + "EnumValues":{} + }, + { + "DisplayName":"Server URL", + "Category":"Server Settings", + "Description":"Sets the URL displayed in the server list (up to 48 characters)", + "Keywords":"server,url", + "FieldName":"URL", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.URL", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server at one time (up to 255)", + "Keywords":"player,limit,maximum", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.players", + "IncludeInCommandLine":false, + "DefaultValue":"32", + "EnumValues":{} + }, + { + "DisplayName":"Enable Whitelist", + "Category":"Server Settings", + "Description":"If enabled, only whitelisted players can join", + "Keywords":"whitelist,enable", + "FieldName":"whitelist", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.whitelist", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Whitelisted Players", + "Category":"Server Settings", + "Description":"List of account names for whitelisted players", + "Keywords":"whitelisted,players", + "FieldName":"whitelistedPlayers", + "InputType":"list", + "IsFlagArgument":false, + "ParamFieldName":"whitelistedPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Special":"listfile:./brokeprotocol/whitelist.txt", + "EnumValues": {} + } +] \ No newline at end of file diff --git a/broke-protocolmetaconfig.json b/broke-protocolmetaconfig.json new file mode 100644 index 0000000..317d7ae --- /dev/null +++ b/broke-protocolmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"settings.json", + "AutoMap":true, + "ConfigType":"json" + } +] diff --git a/brokeprotocol.kvp b/brokeprotocol.kvp deleted file mode 100644 index fe4a7e6..0000000 --- a/brokeprotocol.kvp +++ /dev/null @@ -1,36 +0,0 @@ -App.AdminMethod=STDIO -App.ApplicationPort1=5557 -App.ApplicationPort2=5558 -App.ApplicationReadyMode=Immediate -App.BaseDirectory=./brokeprotocol/ -App.CommandLineArgs=-batchmode -logfile -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat=-{0} "{1}" -App.DisplayName=BrokeProtocol -App.ExecutableLinux=bpgameserver.x86_64 -App.ExecutableWin= -App.Compatibility=1 -App.ExitMethod=SIGTERM -App.ExitString=stop -App.HasReadableConsole=true -App.HasWritableConsole=false -App.RapidStartup=false -App.RootDir=./brokeprotocol/ -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "Server Download","UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", "UpdateSourceData": "https://brokeprotocol.com/wp-content/uploads/game.tar.gz", "UnzipUpdateSource": true}] -App.WorkingDir= -Console.AppReadyRegex=^Server is ready.$ -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserChatRegex=^(?.+?): (?.+)$ -Console.UserJoinRegex=^User (?.+?) \((?-?d+)\) connected from \[::ffff:(?.+?)\]$ -Console.UserLeaveRegex=^User (?.+?) \((?-?d+)\) disconnected\. Reason: (.+?)$ -Meta.Author=Torsten Widmann -Meta.ConfigManifest=brokeprotocolconfig.json -Meta.MetaConfigManifest=brokeprotocolmetaconfig.json -Meta.ConfigRoot=brokeprotocol.kvp -Meta.Description=Broke Protocol is a low-poly roleplaying game. -Meta.DisplayImageSource=url:https://brokeprotocol.com/wp-content/uploads/TitleClear.png -Meta.DisplayName=BrokeProtocol -Meta.EndpointURIFormat= -Meta.OS=2 -Meta.URL=https://brokeprotocol.com/ diff --git a/brokeprotocolconfig.json b/brokeprotocolconfig.json deleted file mode 100644 index 4c8ece0..0000000 --- a/brokeprotocolconfig.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - { - "DisplayName": "Server Name", - "Category": "BrokeProtocol Server", - "Description": "Public server name that will be displayed on the Server Browser. Color codes supported. (48 character limit)", - "Keywords": "", - "FieldName": "serverName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "serverName", - "IncludeInCommandLine": false, - "DefaultValue": "Unconfigured Server on AMP", - "EnumValues": {} - }, - { - "DisplayName": "Map", - "Category": "BrokeProtocol Server", - "Description": "Map the server will load. Can be subscribed on Steam or in /Maps directory", - "Keywords": "", - "FieldName": "map", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "map", - "IncludeInCommandLine": false, - "DefaultValue": "Default", - "EnumValues": {} - }, - { - "DisplayName": "Server URL", - "Category": "BrokeProtocol Server", - "Description": "URL displayed on the serverlist. (48 character limit)", - "Keywords": "", - "FieldName": "URL", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "URL", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Players", - "Category": "BrokeProtocol Server", - "Description": "Maximum allowed player connections. (Max: 255)", - "Keywords": "", - "FieldName": "players", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "players", - "IncludeInCommandLine": false, - "DefaultValue": "32", - "EnumValues": {} - }, - { - "DisplayName": "Port", - "Category": "BrokeProtocol Server", - "Description": "The port that the game server runs on.", - "Keywords": "", - "FieldName": "port", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "port", - "IncludeInCommandLine": false, - "DefaultValue": "5557", - "EnumValues": {} - }, - { - "DisplayName": "Whitelist", - "Category": "BrokeProtocol Server", - "Description": "Set a private/whitelisted server. See whitelist.txt for more info.", - "Keywords": "", - "FieldName": "whitelist", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "whitelist", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - } -] diff --git a/brokeprotocolmetaconfig.json b/brokeprotocolmetaconfig.json deleted file mode 100644 index 0f32e63..0000000 --- a/brokeprotocolmetaconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "ConfigFile": "/brokeprotokol/settings.json", - "AutoMap": true - } -]