From d412924c8ce1e58debd1729c739b2206e2038ab2 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 23 Sep 2022 18:06:34 +1000 Subject: [PATCH] Add Blackwake (#191) * Add Blackwake * Add additional settings * Remove config download stage --- blackwake.kvp | 88 +++++++++ blackwakeconfig.json | 418 +++++++++++++++++++++++++++++++++++++++ blackwakemetaconfig.json | 7 + 3 files changed, 513 insertions(+) create mode 100644 blackwake.kvp create mode 100644 blackwakeconfig.json create mode 100644 blackwakemetaconfig.json diff --git a/blackwake.kvp b/blackwake.kvp new file mode 100644 index 0000000..82deb52 --- /dev/null +++ b/blackwake.kvp @@ -0,0 +1,88 @@ +Meta.DisplayName=Blackwake +Meta.Description=Blackwake Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://blackwake.fandom.com/wiki/Blackwake +Meta.DisplayImageSource=steam:420290 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=blackwakeconfig.json +Meta.MetaConfigManifest=blackwakemetaconfig.json +Meta.ConfigRoot=blackwake.kvp +Meta.MinAMPVersion=2.4.0.2 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Blackwake +App.RootDir=./blackwake/ +App.BaseDirectory=./blackwake/423410/ +App.ExecutableWin=423410\BlackwakeServer.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=423410 +App.LinuxCommandLineArgs=-a wine "./BlackwakeServer.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics {{$FormattedArgs}} -logfile - +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"420290"} +App.CommandLineParameterFormat=-{0}={1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=quit +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":25001,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=54 +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=login {0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"423410","ForceDownloadPlatform":"Windows"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=wine64 +App.SupportsUniversalSleep=True +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^$ +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=False +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/blackwakeconfig.json b/blackwakeconfig.json new file mode 100644 index 0000000..ef251fb --- /dev/null +++ b/blackwakeconfig.json @@ -0,0 +1,418 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Query Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$QueryPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"sport", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the name of the server", + "Keywords":"server,name", + "FieldName":"serverName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"serverName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Blackwake Server", + "EnumValues":{} + }, + { + "DisplayName":"Hide Server", + "Category":"Server Settings", + "Description":"If enabled, the server will be hidden from the Steam server list", + "Keywords":"hide,steam", + "FieldName":"hideFromList", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"hideFromList", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Sets the password to join the server. Must be longer than three characters. Default is no password", + "Keywords":"password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server IP Binding", + "Category":"Server Settings", + "Description":"Sets the IPv4 binding of the server. Default is blank (all IPs)", + "Keywords":"ip,binding", + "FieldName":"useIp", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"useIp", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Discord Link", + "Category":"Server Settings", + "Description":"Sets the discord link to show in the server list browser. A server name that is too long may cause the link not to display", + "Keywords":"discord,link", + "FieldName":"discordLink", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"discordLink", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Restart Time", + "Category":"Server Settings", + "Description":"Sets the local hour to automatically restart the game server. -1 = disabled", + "Keywords":"restart,hour", + "FieldName":"restartHour", + "InputType":"number", + "MinValue":"-1", + "MaxValue":"23", + "IsFlagArgument":false, + "ParamFieldName":"restartHour", + "IncludeInCommandLine":false, + "DefaultValue":"-1", + "Placeholder":"-1 to 23", + "EnumValues":{} + }, + { + "DisplayName":"Enable Bots", + "Category":"Server Settings", + "Description":"If enabled, bots will be allowed on the server. Disabling bots requires a server password to be set", + "Keywords":"bots", + "FieldName":"useBots", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"useBots", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Disable Time Limit", + "Category":"Server Settings", + "Description":"If enabled, the time limit for tournaments will be disabled", + "Keywords":"tournament,time,limit", + "FieldName":"compCTB", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"compCTB", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Total Team Count", + "Category":"Server Settings", + "Description":"Sets the total team count, with the number of teams dividend evenly between each faction", + "Keywords":"team,crew,count", + "FieldName":"teamCount", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"teamCount", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "EnumValues":{ + "2":"Two (1 vs 1)", + "4":"Four (2 vs 2)", + "6":"Six (3 vs 3)" + } + }, + { + "DisplayName":"Capture Speed Multiplier", + "Category":"Server Settings", + "Description":"Sets the capture speed multiplier (0.5 = 50%, 1 = 100%, 2 = 200% and so on)", + "Keywords":"capture,speed,multiplier", + "FieldName":"captureSpeedMultiplier", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"captureSpeedMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Resource Gain Multiplier", + "Category":"Server Settings", + "Description":"Sets the resource gain multiplier (0.5 = 50%, 1 = 100%, 2 = 200% and so on)", + "Keywords":"resource,gain,multiplier", + "FieldName":"resourceGainMultiplier", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"resourceGainMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Use Tickets", + "Category":"Server Settings", + "Description":"If enabled, tickets will be used", + "Keywords":"use,tickets", + "FieldName":"useAndWinByTickets", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"useAndWinByTickets", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Ticket Amount", + "Category":"Server Settings", + "Description":"Sets the number of tickets. Requires Use Tickets to be enabled", + "Keywords":"ticket,amount", + "FieldName":"ticketAmount", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"ticketAmount", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"Enable Ticket Scaling", + "Category":"Server Settings", + "Description":"If enabled, tickets will be scaled", + "Keywords":"ticket,scaling", + "FieldName":"useTicketScaling", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"useTicketScaling", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Friendly Fire Toggle", + "Category":"Server Settings", + "Description":"If enabled, friendly fire can be toggled", + "Keywords":"friendly,fire,toggle", + "FieldName":"friendlyFireCanToggle", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlyFireCanToggle", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Fort Modes", + "Category":"Server Settings", + "Description":"If enabled, fort modes will be enabled", + "Keywords":"fort,modes", + "FieldName":"allowFortModes", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"allowFortModes", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Ship Speed Multiplier", + "Category":"Server Settings", + "Description":"Sets the ship speed multiplier (0.5 = 50%, 1 = 100%, 2 = 200% and so on)", + "Keywords":"ship,speed,factor", + "FieldName":"shipSpeedFactor", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"shipSpeedFactor", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Gate Explosive Amount", + "Category":"Server Settings", + "Description":"Sets the gate explosive amount", + "Keywords":"gate,explosive", + "FieldName":"gateExplosiveAmount", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"gateExplosiveAmount", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{} + }, + { + "DisplayName":"Tower Health Hits", + "Category":"Server Settings", + "Description":"Sets the tower health hits", + "Keywords":"tower,health,hits", + "FieldName":"towerHealthHits", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"towerHealthHits", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{} + }, + { + "DisplayName":"Enable Player Collison", + "Category":"Server Settings", + "Description":"If enabled, collision of friendly players will be possible", + "Keywords":"friendly,player,collision", + "FieldName":"friendlyPlayerCollision", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlyPlayerCollision", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Fire Spread", + "Category":"Server Settings", + "Description":"If enabled, fires will spread fires when friendly players collide. Requires Player Collision to be enabled", + "Keywords":"friendly,fire,spread", + "FieldName":"friendlySpreadFires", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlySpreadFires", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Hand Weapon Damage", + "Category":"Server Settings", + "Description":"If enabled, hand weapons can cause damage to friendly players", + "Keywords":"friendly,hand,weapon,damage", + "FieldName":"friendlyFire", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlyFire", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Ship Weapon Damage", + "Category":"Server Settings", + "Description":"If enabled, ship weapons can cause damage to friendly players", + "Keywords":"friendly,ship,weapon,damage", + "FieldName":"friendlyShipDamage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlyShipDamage", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Auto Team Balance", + "Category":"Server Settings", + "Description":"If enabled, teams will be automatically balanced", + "Keywords":"team,balance,force,equal,factions", + "FieldName":"forceEqualFactions", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"forceEqualFactions", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Position Update Rate", + "Category":"Server Settings", + "Description":"Sets the times per second a player's position is updated. Higher values cause more network usage but will reduce sliding/delay during melee fighting", + "Keywords":"update,position,rate", + "FieldName":"playerUpdateRate", + "InputType":"number", + "MinValue":"10", + "IsFlagArgument":false, + "ParamFieldName":"playerUpdateRate", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "EnumValues":{} + }, + { + "DisplayName":"Enable Global Voice", + "Category":"Server Settings", + "Description":"If enabled, global voice will be allowed during the round. Otherwise it only be allowed during voting and the win screen", + "Keywords":"global,voice", + "FieldName":"allowGlobalVoice", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"allowGlobalVoice", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + } +] \ No newline at end of file diff --git a/blackwakemetaconfig.json b/blackwakemetaconfig.json new file mode 100644 index 0000000..67b21e7 --- /dev/null +++ b/blackwakemetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"Server.cfg", + "AutoMap":true, + "ConfigType":"kvp" + } +] \ No newline at end of file