Avorion: overhaul of template

This commit is contained in:
Greelan 2022-07-05 19:58:44 +10:00
parent c857418c15
commit 5cb6f92e84
3 changed files with 291 additions and 61 deletions

View File

@ -1,35 +1,86 @@
App.AdminMethod=STDIO
App.ApplicationPort1=27000
App.ApplicationPort2=27003
App.ApplicationReadyMode=RegexMatch
App.BaseDirectory=./avorion/565060/
App.CommandLineArgs=--galaxy-name {{GALAXYNAME}} --admin {{ADMIN}} --datapath {{GALAXY_PATH}} --max-players {{$MaxUsers}}
App.CommandLineParameterDelimiter=
App.CommandLineParameterFormat=-{0} "{1}"
Meta.DisplayName=Avorion
Meta.Description=Avorion Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=Greelan, EvilPLa, Shinynecrid
Meta.URL=https://www.avorion.net/
Meta.DisplayImageSource=steam:445220
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort}
Meta.ConfigManifest=avorionconfig.json
Meta.MetaConfigManifest=avorionmetaconfig.json
Meta.ConfigRoot=avorion.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=Avorion
App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "565060"}
App.ExecutableLinux=565060//bin/AvorionServer
App.ExecutableWin=565060\bin\AvorionServer.exe
App.ExitMethod=String
App.ExitString=/stop
App.HasReadableConsole=true
App.HasWritableConsole=true
App.RapidStartup=false
App.RootDir=./avorion/
App.UpdateSource=Multi
App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "565060"}]
App.BaseDirectory=./avorion/565060/
App.ExecutableWin=565060\bin\AvorionServer.exe
App.ExecutableLinux=565060/bin/AvorionServer
App.WorkingDir=565060
Console.AppReadyRegex=^Server startup complete.$
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.UserChatRegex=^<(?<username>(?!Server).+?)> (?<message>.+?)$
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} --port {{$GamePort}} --query-port {{$QueryPort}} --steam-query-port {{$SteamQueryPort}} --steam-master-port {{$SteamPort}} --rcon-port {{$RCONPort}} --rcon-password "{{$RemoteAdminPassword}}" --datapath "{{$FullBaseDir}}galaxies" {{$FormattedArgs}}
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"445220"}
App.CommandLineParameterFormat=--{0} "{1}"
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
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":"Both","Port":27000,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27003,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"UDP","Port":27020,"Ref":"SteamQueryPort","Name":"Steam Query Port","Description":"Port for Steam query traffic"},{"Protocol":"UDP","Port":27021,"Ref":"SteamPort","Name":"Steam Port","Description":"Port for Steam traffic"},{"Protocol":"TCP","Port":27015,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}]
App.AdminPortRef=RCONPort
App.PrimaryApplicationPortRef=GamePort
App.UniversalSleepApplicationUDPPortRef=GamePort
App.UniversalSleepSteamQueryPortRef=SteamQueryPort
App.MaxUsers=10
App.UseRandomAdminPassword=True
App.RemoteAdminPassword=Password123
App.AdminMethod=SourceRCON
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.RCONHeartbeatMinutes=0
App.RCONHeartbeatCommand=
App.TelnetLoginFormat={0}
App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource": "SteamCMD","UpdateSourceData":"565060"}]
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=
Console.AppReadyRegex=^Server startup complete\.$
Console.UserJoinRegex=^<Server> Player (?<username>.+?) joined the galaxy$
Console.UserLeaveRegex=^<Server> Player (?<username>.+?) left the galaxy$
Meta.Author=Shinynecrid
Meta.ConfigManifest=avorionconfig.json
Meta.ConfigRoot=avorion.kvp
Meta.Description=Avorion Dedicated Server
Meta.DisplayImageSource=steam:445220
Meta.DisplayName=Avorion
Meta.EndpointURIFormat=
Meta.OS=2
Meta.URL=https://steamdb.info/app/565060/
Console.UserChatRegex=^<(?<username>(?!Server).+?)> (?<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=False
Limits.SleepOnStart=False
Limits.SleepDelayMinutes=5
Limits.DozeDelay=2
Limits.AutoRetryCount=5
Limits.SleepStartThresholdSeconds=25

View File

@ -1,41 +1,212 @@
[
{
"DisplayName": "Galaxy Name",
"Category": "Server Configuration",
"Description": "Set World Name",
"Keywords": "Galaxy",
"FieldName": "GALAXYNAME",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "GALAXYNAME",
"IncludeInCommandLine": true,
"DefaultValue": "",
"DisplayName":"Server Name",
"Category":"Server Settings",
"Description":"Server name shown in the server list",
"Keywords":"server,name",
"FieldName":"ServerName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"server-name",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"Avorion Server - Powered by AMP",
"EnumValues":{}
},
{
"DisplayName":"Server Description",
"Category":"Server Settings",
"Description":"Server description shown in the server list. Requires the galaxy to be generated first",
"Keywords":"server,description",
"FieldName":"Description",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"Administration.description",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Server Password",
"Category":"Server Settings",
"Description":"Sets the password to connect to the server. Default is no password. Requires the galaxy to be generated first",
"Keywords":"server,password",
"FieldName":"Password",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"Administration.password",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"List Server",
"Category":"Server Settings",
"Description":"If enabled, the server will be displayed on public server lists. Requires the \"Steam Relay Network\" connection mode",
"Keywords":"public,visible,listed",
"FieldName":"Listed",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"listed",
"IncludeInCommandLine":true,
"DefaultValue":"true",
"EnumValues":{
"True":"true",
"False":"false"
}
},
{
"DisplayName":"Connection Mode",
"Category":"Server Settings",
"Description":"Sets the connection mode - either through the Steam relay network, or via a direct port connection on the Game Port. Steam relay network is recommended for dedicated servers",
"Keywords":"steam,relay,network,port",
"FieldName":"UseSteamNetworking",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"use-steam-networking",
"IncludeInCommandLine":true,
"DefaultValue":"1",
"EnumValues":{
"1":"Steam Relay Network",
"0":"Direct Port Connection"
}
},
{
"DisplayName":"Galaxy Name",
"Category":"Server Settings",
"Description":"Sets the galaxy name for the server, with the world data saved under this name in the \"galaxies\" directory. Start and stop the server after changing this setting to allow galaxy generation",
"Keywords":"galaxy,name",
"FieldName":"GalaxyName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"galaxy-name",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"avorion_galaxy",
"EnumValues": {}
},
{
"DisplayName": "Admin",
"Category": "Server Configuration",
"Description": "Steam64ID for Admin",
"Keywords": "Admin",
"FieldName": "ADMIN",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "ADMIN",
"IncludeInCommandLine": true,
"DefaultValue": "ADMIN",
"DisplayName":"Galaxy Seed",
"Category":"Server Settings",
"Description":"Sets the seed to generate the galaxy. Alphanumeric characters only. Default is 0. Changing this after the server has been running and players logged in can lead to broken saves",
"Keywords":"galaxy,seed",
"FieldName":"Seed",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"seed",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"0",
"EnumValues": {}
},
{
"DisplayName": "Max Players",
"Category": "Server Configuration",
"Description": "Set Max Player Count",
"Keywords": "Players",
"FieldName": "$MaxUsers",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "$MaxUsers",
"IncludeInCommandLine": true,
"DefaultValue": "10",
"EnumValues": {}
"DisplayName":"Galaxy Scenario",
"Category":"Server Settings",
"Description":"Sets the scenario for the galaxy. Changing this after the server has been running and players logged in can lead to broken saves",
"Keywords":"scenario",
"FieldName":"Scenario",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"scenario",
"IncludeInCommandLine":true,
"DefaultValue":"normal",
"EnumValues": {
"creative":"Creative",
"normal":"Normal"
}
},
{
"DisplayName":"Server Difficulty",
"Category":"Server Settings",
"Description":"Sets the difficulty level of the server",
"Keywords":"difficulty",
"FieldName":"Difficulty",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"difficulty",
"IncludeInCommandLine":true,
"DefaultValue":"0",
"EnumValues": {
"-3":"Beginner",
"-2":"Easy",
"-1":"Normal",
"0":"Veteran (default)",
"1":"Expert",
"2":"Hardcore",
"3":"Insane"
}
},
{
"DisplayName":"Server Administrators",
"Category":"Server Settings",
"Description":"Comma-separated list of [Steam64 IDs](https://steamidfinder.com/) of the server administrators",
"Keywords":"admin,user",
"FieldName":"Admin",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"admin",
"IncludeInCommandLine":true,
"SkipIfEmpty":true,
"DefaultValue":"",
"Placeholder":"76561198146705130,57683990857481248",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"Server Settings",
"Description":"Maximum number of players that can connect to the server at any given time",
"Keywords":"maximum,players,limit",
"FieldName":"$MaxUsers",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"max-players",
"IncludeInCommandLine":true,
"DefaultValue":"10",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Save Interval",
"Category":"Server Settings",
"Description":"Sets the time interval between auto saves",
"Keywords":"save,interval",
"FieldName":"SaveInterval",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"save-interval",
"IncludeInCommandLine":true,
"DefaultValue":"300",
"Suffix":"seconds",
"EnumValues":{}
},
{
"DisplayName":"Same Sector Start",
"Category":"Server Settings",
"Description":"If enabled, all players will start in the same sector",
"Keywords":"same,sector,start",
"FieldName":"SameStartSector",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"same-start-sector",
"IncludeInCommandLine":true,
"DefaultValue":"true",
"EnumValues":{
"True":"true",
"False":"false"
}
},
{
"DisplayName":"Collision Damage Level",
"Category":"Server Settings",
"Description":"Sets the level of damage to an object on collison. 0 = no damage, 1 = full damage",
"Keywords":"collision,damage",
"FieldName":"CollisionDamage",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"collision-damage",
"IncludeInCommandLine":true,
"DefaultValue":"1",
"Placeholder":"0 - 1",
"EnumValues":{}
}
]

8
avorionmetaconfig.json Normal file
View File

@ -0,0 +1,8 @@
[
{
"ConfigFile":"galaxies/{{GalaxyName}}/server.ini",
"AutoMap":true,
"ConfigType":"ini",
"ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$"
}
]