From a580ee6c11b488757bb2c1c2fa84c3d0372cc9bc Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 29 Nov 2022 07:27:38 +1100 Subject: [PATCH] Add Windward (#215) --- windward.kvp | 87 +++++++++++++++++++++++++++++++++++++++++ windwardconfig.json | 60 ++++++++++++++++++++++++++++ windwardmetaconfig.json | 1 + 3 files changed, 148 insertions(+) create mode 100644 windward.kvp create mode 100755 windwardconfig.json create mode 100644 windwardmetaconfig.json diff --git a/windward.kvp b/windward.kvp new file mode 100644 index 0000000..a456805 --- /dev/null +++ b/windward.kvp @@ -0,0 +1,87 @@ +Meta.DisplayName=Windward +Meta.Description=Windward Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://windward.fandom.com/wiki/Windward_Wiki +Meta.DisplayImageSource=steam:326410 +Meta.EndpointURIFormat= +Meta.ConfigManifest=windwardconfig.json +Meta.MetaConfigManifest=windwardmetaconfig.json +Meta.ConfigRoot=windward.kvp +Meta.MinAMPVersion=2.4.0.10 +Meta.SpecificDockerImage=cubecoders/ampbase:mono +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason=Windward requires mono. Installing mono on the host may interfere with AMP's operation. +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Windward +App.RootDir=./windward/ +App.BaseDirectory=./windward/server/ +App.ExecutableWin=server\WWServer.exe +App.ExecutableLinux=/usr/bin/mono +App.WorkingDir=server +App.LinuxCommandLineArgs=./WWServer.exe +App.CommandLineArgs={{$PlatformArgs}} -tcp {{$GamePort}} -http -localPath {{$FormattedArgs}} {{public}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"326410"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=q\n +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":"TCP","Port":5127,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=20 +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":"Server Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"http://www.tasharen.com/windward/WWServer.zip","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"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=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName=WWServer.exe +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^\[[\d\/]+ [\d:]+\] Game server started on port \d+ using protocol version \d+$ +Console.UserJoinRegex=^\[[\d\/]+ [\d:]+\] (?.+?) \((?:[\d\.:]+?), (?:.+?), (?.+?)\): Passed a ban check: (?:.+)$ +Console.UserLeaveRegex=^\[[\d\/]+ [\d:]+\] (?.+?) \((?:[\d\.:]+?)\): Disconnected \[\d+\]$ +Console.UserChatRegex=^$ +Console.UpdateAvailableRegex=^$ +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/windwardconfig.json b/windwardconfig.json new file mode 100755 index 0000000..7647771 --- /dev/null +++ b/windwardconfig.json @@ -0,0 +1,60 @@ +[ + { + "DisplayName":"Server Name", + "Category":"Windward Server Settings", + "Description":"Server name as shown in the in-game browser", + "Keywords":"server,name", + "FieldName":"name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"name", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"AMP Powered Windward Server", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Windward Server Settings", + "Description":"If enabled, the server will be registered to the public lobby and be publicly visible in the in-game browser", + "Keywords":"public", + "FieldName":"public", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"public", + "IncludeInCommandLine":false, + "DefaultValue":"-public", + "EnumValues":{ + "False":"", + "True":"-public" + } + }, + { + "DisplayName":"World Name", + "Category":"Windward Server Settings", + "Description":"Sets the name of the world to load (if it already exists) or to create. If the world does not already exist in the Worlds directory, an admin must create it in-game after connecting to the server", + "Keywords":"world,name", + "FieldName":"world", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"world", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"World", + "EnumValues":{} + }, + { + "DisplayName":"Server Admins", + "Category":"Windward Server Settings", + "Description":"List of Steam64 IDs for server admins. [Find Steam64 IDs](https://steamidfinder.com/)", + "Keywords":"admins", + "FieldName":"admins", + "InputType":"list", + "IsFlagArgument":false, + "ParamFieldName":"admins", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Special":"listfile:./windward/server/ServerConfig/admin.txt", + "EnumValues": {} + } +] diff --git a/windwardmetaconfig.json b/windwardmetaconfig.json new file mode 100644 index 0000000..130e4e4 --- /dev/null +++ b/windwardmetaconfig.json @@ -0,0 +1 @@ +[] \ No newline at end of file