Add Staxel (#394)

This commit is contained in:
Greelan 2023-06-21 13:51:56 +10:00 committed by GitHub
parent 0e41bae87b
commit 7241c62480
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 285 additions and 0 deletions

98
staxel.kvp Normal file
View File

@ -0,0 +1,98 @@
Meta.DisplayName=Staxel
Meta.Description=Staxel Dedicated Server
Meta.OS=Windows, Linux
Meta.AarchSupport=Unknown
Meta.Arch=x86_64
Meta.Author=Greelan
Meta.URL=https://playstaxel.com
Meta.DisplayImageSource=steam:405710
Meta.EndpointURIFormat=
Meta.ConfigManifest=staxelconfig.json
Meta.MetaConfigManifest=staxelmetaconfig.json
Meta.ConfigRoot=staxel.kvp
Meta.MinAMPVersion=2.4.4.0
Meta.SpecificDockerImage=cubecoders/ampbase:mono
Meta.DockerRequired=False
Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux
Meta.ContainerPolicyReason=Staxel requires Mono on Linux. Installing Mono on the host may interfere with AMP's operation, which using a container avoids.
Meta.ExtraSetupStepsURI=
Meta.Prerequsites=[]
Meta.ExtraContainerPackages=[]
Meta.ConfigReleaseState=NotSpecified
Meta.NoCommercialUsage=False
Meta.ConfigVersion=0.0.0.0
Meta.ReleaseNotes=
Meta.BreakingReleaseNotes=
App.DisplayName=Staxel
App.RootDir=./staxel/
App.BaseDirectory=./staxel/405710/
App.SteamWorkshopDownloadLocation={{$FullBaseDir}}content/mods
App.ExecutableWin=405710\bin\Staxel.Server.exe
App.ExecutableLinux=/usr/bin/mono
App.WorkingDir=405710/bin
App.LinuxCommandLineArgs=./Staxel.Server.exe
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} --port={{$ServerPort}} --interface={{$ApplicationIPBinding}} {{$FormattedArgs}}
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}bin/lib64:%LD_LIBRARY_PATH%","SteamAppId":"405710"}
App.CommandLineParameterFormat=--{0}={1}
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=stop
App.ExitFile=lock
App.HasWriteableConsole=False
App.HasReadableConsole=True
App.SupportsLiveSettingsChanges=False
App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0
App.Ports=[{"Protocol":"TCP","Port":38465,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}]
App.AdminPortRef=0
App.PrimaryApplicationPortRef=ServerPort
App.UniversalSleepApplicationUDPPortRef=ServerPort
App.UniversalSleepSteamQueryPortRef=0
App.MaxUsers=4
App.UseRandomAdminPassword=False
App.PersistRandomPassword=True
App.RemoteAdminPassword=
App.AdminMethod=STDIO
App.AdminLoginTransform=None
App.LoginTransformPrefix=
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.RCONHeartbeatMinutes=0
App.RCONHeartbeatCommand=ping
App.TelnetLoginFormat={0}
App.UpdateSources=@IncludeJson[staxelupdates.json]
App.PreStartStages=[]
App.Compatibility=None
App.SteamUpdateAnonymousLogin=False
App.SteamForceLoginPrompt=True
App.RapidStartup=False
App.MonitorChildProcess=True
App.DumpFullChildProcessTree=False
App.MonitorChildProcessWaitMs=100
App.MonitorChildProcessName=Staxel.Server.exe
App.SupportsUniversalSleep=False
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|System\.ComponentModel\.Win32Exception.*: Seek|at (.*System\.Diagnostics\.Process\.set_PriorityClass|Plukit\.Base\.ThreadExtensions\.Prioritize).*$
Console.AppReadyRegex=^Server ready\.$
Console.UserJoinRegex=^Assigning client '(?<username>.+?)' new entity id (?<userid>\d+?)$
Console.UserLeaveRegex=^Removing disconnected client entity id (?<userid>\d+?)$
Console.UserChatRegex=^\([\d:]+\)\<(?<username>.+?)\>: (?<message>.*)$
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

169
staxelconfig.json Normal file
View File

@ -0,0 +1,169 @@
[
{
"DisplayName":"World Save Name",
"Category":"Staxel Server Settings",
"Description":"Sets the name of the world as saved locally in LocalContent. Defaults to \"server\" if not set",
"Keywords":"world,name,save,storage",
"FieldName":"storage",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"storage",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"World Seed",
"Category":"Staxel Server Settings",
"Description":"Sets the world seed when creating a new world (optional)",
"Keywords":"world,seed",
"FieldName":"seed",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"seed",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"World Size",
"Category":"Staxel Server Settings",
"Description":"Sets the world size when creating a new world",
"Keywords":"world,size,worldsize",
"FieldName":"worldSize",
"InputType":"number",
"MinValue":"1",
"MaxValue":"10",
"IsFlagArgument":false,
"ParamFieldName":"worldSize",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"1.00",
"Placeholder":"1.00",
"EnumValues":{}
},
{
"DisplayName":"Farm Count",
"Category":"Staxel Server Settings",
"Description":"Sets the farm count when creating a new world",
"Keywords":"farm,count,farmcount",
"FieldName":"farmCount",
"InputType":"number",
"MinValue":"1",
"MaxValue":"4",
"IsFlagArgument":false,
"ParamFieldName":"farmCount",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"1",
"Placeholder":"1",
"Suffix":"farms",
"EnumValues":{}
},
{
"DisplayName":"Server Name",
"Category":"Staxel Server Settings",
"Description":"Sets the server name. Must be within 3 to 16 characters, no spaces",
"Keywords":"server,name",
"FieldName":"name",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"name",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"AMPStaxelServer",
"EnumValues":{}
},
{
"DisplayName":"Server Password",
"Category":"Staxel Server Settings",
"Description":"Sets the password for players to join the server. Default is no password",
"Keywords":"password",
"FieldName":"password",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"password",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"Staxel Server Settings",
"Description":"Sets the maximum number of players that may connect to the server",
"Keywords":"players,limit,maximum,playerlimit",
"FieldName":"$MaxUsers",
"InputType":"number",
"MinValue":"1",
"IsFlagArgument":false,
"ParamFieldName":"playerLimit",
"IncludeInCommandLine":true,
"DefaultValue":"4",
"Placeholder":"4",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Enable Creative Mode",
"Category":"Staxel Server Settings",
"Description":"If set, creative mode will be enabled on the server",
"Keywords":"creative,mode",
"FieldName":"creative",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"creative",
"IncludeInCommandLine":true,
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Disable Pause",
"Category":"Staxel Server Settings",
"Description":"If set, pausing of the server will be disabled, so that time will pass even when no players are online",
"Keywords":"disable,pausing,pause,nopause",
"FieldName":"noPause",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"noPause",
"IncludeInCommandLine":true,
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Server IP Binding",
"Category":"Staxel Server Settings",
"Description":"If required, you can change the IP binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work",
"Keywords":"ip,binding,interface",
"FieldName":"interface",
"InputType":"hidden",
"IsFlagArgument":false,
"ParamFieldName":"interface",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Enable UPnP",
"Category":"Staxel Server Settings",
"Description":"If enabled, the server will attempt to configure automatic port forwarding on a compatible router",
"Keywords":"upnp",
"FieldName":"upnp",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"upnp",
"IncludeInCommandLine":true,
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
}
]

1
staxelmetaconfig.json Normal file
View File

@ -0,0 +1 @@
[]

17
staxelupdates.json Normal file
View File

@ -0,0 +1,17 @@
[
{
"UpdateStageName":"SteamCMD Server Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"SteamCMD",
"UpdateSourceData":"405710",
"UpdateSourceArgs":"405710",
"ForceDownloadPlatform":"Windows"
},
{
"UpdateStageName":"FNA Native Libraries Download",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'wget -N https://fna.flibitijibibo.com/archive/fnalibs.tar.bz2 && tar -xf fnalibs.tar.bz2 -C ./staxel/405710/bin/ lib64/ && rm -f fnalibs.tar.bz2'"
}
]