diff --git a/archean.kvp b/archean.kvp new file mode 100644 index 000000000..1c2db2d42 --- /dev/null +++ b/archean.kvp @@ -0,0 +1,84 @@ +Meta.DisplayName=Archean +Meta.Description=Archean Dedicated Server +Meta.Arch=x86_64 +Meta.Author=H3draut3r +Meta.URL=https://store.steampowered.com/app/2941660/Archean/ +Meta.MinAMPVersion=2.7 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason="Only when not on Ubuntu 24+. Default Container works fine" +Meta.Prerequsites=[] +Meta.EndpointURIFormat= +Meta.AppConfigId=d10ddf53-3b4b-496f-9e85-1f6d079c5021 +App.AdminMethod=STDIO +App.HasReadableConsole=true +App.HasWritableConsole=true +App.DisplayName=Archean +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -port {{$MainGamePort}} +App.WindowsCommandLineArgs= +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.RapidStartup=false +App.ApplicationReadyMode=RegexMatch +App.ExitMethod=String +App.ExitString=kill +App.ExitTimeout=30 +App.ExitFile=app_exit.lck +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.AdminPortRef=RemoteAdminPort +App.UniversalSleepApplicationUDPPortRef=MainGamePort +App.PrimaryApplicationPortRef=MainGamePort +App.UniversalSleepSteamQueryPortRef=SteamQueryPort +App.MaxUsers=64 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword= +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=30 +App.RCONConnectRetrySeconds=15 +App.RCONHeartbeatCommand=ping +App.RCONHeartbeatMinutes=0 +App.TelnetLoginFormat={0} +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.TemplateMatchRegex={{(\$?[\w]+)}} +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName= +App.Compatibility=None +App.SteamWorkshopDownloadLocation={{$FullBaseDir}}undefined +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Console.SleepMode=False +Console.SleepOnStart=False +Console.SleepDelayMinutes=5 +Console.DozeDelay=2 +Console.AutoRetryCount=5 +Console.SleepStartThresholdSeconds=25 +Console.AppReadyRegex=^Server Info \[.+\] Server started$ +Console.UserJoinRegex=^Server Info \[.+\] Player (?\d+) \[ (?.+?) \] connected from (?.+)$ +Console.UserLeaveRegex=^Server Info \[.+\] Player (?\d+) disconnected$ +Console.UserChatRegex=^Server Info \[.+\] >> \[(?.+?)\] (?.+)$ +Meta.OS=3 +Meta.ConfigManifest=archeanconfig.json +Meta.MetaConfigManifest=archeanmetaconfig.json +Meta.ConfigRoot=archean.kvp +App.RootDir=./archean/ +Meta.DisplayImageSource=steam:2941660 +App.BaseDirectory=./archean/3557220/ +App.WorkingDir=3557220/Archean-game +App.ExecutableWin=3557220\Archean-game/Archean_server.exe +App.ExecutableLinux=3557220/Archean-game/Archean_server +App.LinuxCommandLineArgs= +App.Ports=@IncludeJson[archeanports.json] +App.UpdateSources=@IncludeJson[archeanupdates.json] +App.EnvironmentVariables={"LD_LIBRARY_PATH": "{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%", "WINEPREFIX": "{{$FullRootDir}}.wine", "WINEARCH": "win64", "WINEDEBUG": "-all"} \ No newline at end of file diff --git a/archeanconfig.json b/archeanconfig.json new file mode 100644 index 000000000..99b72eddb --- /dev/null +++ b/archeanconfig.json @@ -0,0 +1,166 @@ +[ + + { + "DisplayName": "Server Name", + "Description": "The public name of the server shown in the server list.", + "Category": "Archean:rocket_launch", + "FieldName": "ServerName", + "InputType": "text", + "ParamFieldName": "server.server_public_name", + "DefaultValue": "My Archean Server" + }, + { + "DisplayName": "Game Mode", + "Description": "The game mode for the server.", + "Category": "Archean:rocket_launch", + "FieldName": "GameMode", + "InputType": "enum", + "ParamFieldName": "server.game_mode", + "DefaultValue": "0", + "EnumValues": { + "0": "Creative", + "1": "Adventure" + } + }, + { + "DisplayName": "Max Players", + "Description": "Maximum number of players that can be connected at the same time.", + "Category": "Archean:rocket_launch", + "FieldName": "$MaxUsers", + "InputType": "number", + "ParamFieldName": "server.max_simultaneous_players", + "DefaultValue": "16", + "minValue": "1", + "maxValue": "64" + }, + { + "DisplayName": "Password", + "Description": "Leave empty for no password protection.", + "Category": "Archean:rocket_launch", + "FieldName": "ServerPassword", + "InputType": "password", + "ParamFieldName": "server.password", + "DefaultValue": "" + }, + { + "DisplayName": "Server Online", + "Description": "Whether the server should appear in the public server list.", + "Category": "Archean:rocket_launch", + "FieldName": "ServerOnline", + "InputType": "checkbox", + "ParamFieldName": "server.server_online", + "EnumValues": { "False": "no", "True": "yes" }, + "DefaultValue": "True" + }, + { + "DisplayName": "Accept Remote Connections", + "Description": "Allow external players to connect to the server.", + "Category": "Archean:rocket_launch", + "FieldName": "AcceptRemoteConnections", + "InputType": "checkbox", + "ParamFieldName": "server.accept_remote_connections", + "EnumValues": { "False": "no", "True": "yes" }, + "DefaultValue": "True" + }, + { + "DisplayName": "External Mods Dir", + "Description": "Optional path to an external mods directory.", + "Category": "Archean:rocket_launch", + "FieldName": "ExternalModsDir", + "InputType": "text", + "ParamFieldName": "server.external_mods_dir", + "DefaultValue": "" + }, + { + "DisplayName": "Spawn Megalodon", + "Description": "Allow the April Fool's Megalodon spawn at all time ", + "Category": "Archean:rocket_launch", + "FieldName": "SpawnMegalodon", + "InputType": "checkbox", + "ParamFieldName": "game.megalodon", + "EnumValues": { "false": "no", "true": "yes" }, + "DefaultValue": "false" + }, + { + "DisplayName": "Listen Port", + "Description": "The UDP/TCP port the server listens on.", + "Category": "Networking", + "FieldName": "$MainGamePort", + "InputType": "number", + "Hidden": true, + "ParamFieldName": "networking.listen_port" + }, + { + "DisplayName": "Automatic Blacklist", + "Description": "Automatically blacklist players with bad behavior.", + "Category": "Archean:rocket_launch", + "FieldName": "AutoBlacklist", + "InputType": "checkbox", + "ParamFieldName": "networking.automatic_blacklist", + "EnumValues": { "False": "no", "True": "yes" }, + "DefaultValue": "False" + }, + { + "DisplayName": "Spawn", + "Description": "Spawn location for new players (e.g. 'earth').", + "Category": "Archean:rocket_launch", + "FieldName": "Spawn", + "InputType": "text", + "ParamFieldName": "game.spawn", + "DefaultValue": "earth" + }, + { + "DisplayName": "World", + "Description": "Name of the world to load. Optional, leave empty for default.", + "Category": "Archean:rocket_launch", + "FieldName": "World", + "InputType": "text", + "ParamFieldName": "game.world", + "DefaultValue": "" + }, + { + "DisplayName": "Auto Save Interval", + "Description": "How often the world is automatically saved.", + "Category": "Archean:rocket_launch", + "FieldName": "AutoSaveInterval", + "InputType": "number", + "ParamFieldName": "performance.auto_save_interval_seconds", + "DefaultValue": "30", + "minValue": "10", + "maxValue": "3600", + "Suffix": "s" + }, + { + "DisplayName": "Updates Per Second", + "Description": "Number of server ticks per second.", + "Category": "Archean:rocket_launch", + "FieldName": "UpdatesPerSecond", + "InputType": "number", + "ParamFieldName": "performance.updates_per_second", + "DefaultValue": "25", + "minValue": "1", + "maxValue": "64" + }, + { + "DisplayName": "Physics Steps Per Update", + "Description": "Number of physics simulation steps per server tick.", + "Category": "Archean:rocket_launch", + "FieldName": "PhysicsSteps", + "InputType": "number", + "ParamFieldName": "performance.physics_steps_per_update", + "DefaultValue": "8", + "minValue": "1", + "maxValue": "32" + }, + { + "DisplayName": "Screens Compression Level", + "Description": "Compression level for screen streaming (0 = off).", + "Category": "Archean:rocket_launch", + "FieldName": "ScreensCompression", + "InputType": "number", + "ParamFieldName": "performance.screens_compression_level", + "DefaultValue": "2", + "minValue": "0", + "maxValue": "9" + } +] diff --git a/archeanmanifest.json b/archeanmanifest.json new file mode 100644 index 000000000..a0830e3c4 --- /dev/null +++ b/archeanmanifest.json @@ -0,0 +1,10 @@ +{ + "id": "e4182181-e9e0-4cfc-851a-c20a2eb82711", + "authors": [ + "H3draut3r" + ], + "origin": "https://github.com/Hedrauta", + "url": "https://github.com/Hedrauta/AMPTemplates/", + "imagefile": "", + "prefix": "H3draut3r" +} \ No newline at end of file diff --git a/archeanmetaconfig.json b/archeanmetaconfig.json new file mode 100644 index 000000000..6efedbaec --- /dev/null +++ b/archeanmetaconfig.json @@ -0,0 +1,44 @@ +[ + { + "ConfigFile": "./Archean-data/server/server.ini", + "ConfigType": "ini", + "Subsections": [ + { + "Heading": "server", + "SettingMappings": { + "server_online": "ServerOnline", + "server_public_name": "ServerName", + "accept_remote_connections": "AcceptRemoteConnections", + "max_simultaneous_players": "$MaxUsers", + "password": "ServerPassword", + "external_mods_dir": "ExternalModsDir", + "game_mode": "GameMode" + } + }, + { + "Heading": "game", + "SettingMappings": { + "world": "World", + "spawn": "Spawn", + "megalodon": "SpawnMegalodon" + } + }, + { + "Heading": "networking", + "SettingMappings": { + "automatic_blacklist": "AutoBlacklist", + "listen_port": "$MainGamePort" + } + }, + { + "Heading": "performance", + "SettingMappings": { + "updates_per_second": "UpdatesPerSecond", + "physics_steps_per_update": "PhysicsSteps", + "auto_save_interval_seconds": "AutoSaveInterval", + "screens_compression_level": "ScreensCompression" + } + } + ] + } +] \ No newline at end of file diff --git a/archeanports.json b/archeanports.json new file mode 100644 index 000000000..2e499fc33 --- /dev/null +++ b/archeanports.json @@ -0,0 +1,9 @@ +[ + { + "Protocol": "Both", + "Port": "8881", + "Name": "Main Game Port", + "Description": "Port used for main game traffic", + "Ref": "MainGamePort" + } +] \ No newline at end of file diff --git a/archeanupdates.json b/archeanupdates.json new file mode 100644 index 000000000..759d6a2dc --- /dev/null +++ b/archeanupdates.json @@ -0,0 +1,12 @@ +[ + { + "UpdateStageName": "Downloading Files", + "UpdateSourcePlatform": "All", + "UpdateSource": "SteamCMD", + "UpdateSourceData": "3557220", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": false, + "DeleteAfterExtract": true, + "OneShot": false + } +] \ No newline at end of file