Broke Protocol: overhaul of broken template

This commit is contained in:
Greelan 2022-07-09 13:48:32 +10:00
parent f08e6663b3
commit 01d405e4d7
6 changed files with 189 additions and 125 deletions

85
broke-protocol.kvp Normal file
View File

@ -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

97
broke-protocolconfig.json Normal file
View File

@ -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": {}
}
]

View File

@ -0,0 +1,7 @@
[
{
"ConfigFile":"settings.json",
"AutoMap":true,
"ConfigType":"json"
}
]

View File

@ -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=^(?<username>.+?): (?<message>.+)$
Console.UserJoinRegex=^User (?<username>.+?) \((?<userid>-?d+)\) connected from \[::ffff:(?<endpoint>.+?)\]$
Console.UserLeaveRegex=^User (?<username>.+?) \((?<userid>-?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/

View File

@ -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"
}
}
]

View File

@ -1,6 +0,0 @@
[
{
"ConfigFile": "/brokeprotokol/settings.json",
"AutoMap": true
}
]