From a664360dca0d4dd38b51ae9fe8c65cbc9cfed29d Mon Sep 17 00:00:00 2001 From: Dragoon209 Date: Mon, 29 Aug 2022 23:48:40 -0400 Subject: [PATCH] Necesse Game Support Draft (#180) * Necesse Game Support * Update necesse.kvp Update necesse.kvp to point the config update path to the CubeCoders repo --- necesse.kvp | 87 ++++++++++++++++++++++++++ necesseconfig.json | 131 ++++++++++++++++++++++++++++++++++++++++ necessemetaconfig.json | 8 +++ necesseserverconfig.cfg | 11 ++++ 4 files changed, 237 insertions(+) create mode 100644 necesse.kvp create mode 100644 necesseconfig.json create mode 100644 necessemetaconfig.json create mode 100644 necesseserverconfig.cfg diff --git a/necesse.kvp b/necesse.kvp new file mode 100644 index 0000000..5a35d0e --- /dev/null +++ b/necesse.kvp @@ -0,0 +1,87 @@ +Meta.DisplayName=Necesse +Meta.Description=Necesse is a top-down sandbox action-adventure game in a procedurally generated world. Progress your character's gear and settlement through fighting, mining, exploring, crafting, trading and more! +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=ThisIslandEarth +Meta.URL=https://necessegame.com/ +Meta.DisplayImageSource=steam:1169040 +Meta.EndpointURIFormat= +Meta.ConfigManifest=necesseconfig.json +Meta.MetaConfigManifest=necessemetaconfig.json +Meta.ConfigRoot=necesse.kvp +Meta.MinAMPVersion= +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Necesse +App.RootDir=./necesse/ +App.BaseDirectory=./necesse/1169370/ +App.ExecutableWin=1169370\jre\bin\java.exe +App.ExecutableLinux=1169370/jre/bin/java +App.WorkingDir=1169370 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=-jar Server.jar -nogui -localdir {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1169040"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=String +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":14159,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"}] +App.AdminPortRef= +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef= +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":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1169370"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./necesse/1169370/cfg"},{"UpdateStageName": "Config Template Download","UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/necesseserverconfig.cfg", "UpdateSourceTarget": "../", "OverwriteExistingFiles": "true"}] +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=\[\d+m +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^\[[\d\-]+ [\d:]+\] Started server using port \d+ with \d+ slots on world ".+"( with password ".+")?, game version .+$ +Console.UserJoinRegex=^\[[\d\-]+ [\d:]+\] Client "(?.+?)" connected on slot (.+)\.$ +Console.UserLeaveRegex=^\[[\d\-]+ [\d:]+\] Player (?\d+?) \("(?.+)"\) disconnected with message: .+$ +Console.UserChatRegex=^\[[\d\-]+ [\d:]+\] \((?.+)\): (?.+)$ +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 diff --git a/necesseconfig.json b/necesseconfig.json new file mode 100644 index 0000000..74bbe67 --- /dev/null +++ b/necesseconfig.json @@ -0,0 +1,131 @@ +[ + { + "DisplayName": "Game Port", + "Category": "Server Settings", + "Description": "", + "FieldName": "$GamePort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "gport", + "IncludeInCommandLine": false, + "Hidden": true, + "DefaultValue": "14159", + "EnumValues": {} + }, + { + "DisplayName": "Players", + "Category": "Server Settings", + "Description": "Number of players allowed to join. Number between 1-250.", + "Keywords": "players slots", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "Required": true, + "ParamFieldName": "slots", + "IncludeInCommandLine": false, + "DefaultValue": "20", + "EnumValues": {}, + "Suffix":"players" + }, + { + "DisplayName": "Password", + "Category": "Server Settings", + "Description": "Password to join the server.", + "Keywords": "password", + "FieldName": "password", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "password", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Seed", + "Category": "Server Settings", + "Description": "Only used when generating a new world. Leave blank for a random seed.", + "Keywords": "seed", + "FieldName": "seed", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "seed", + "IncludeInCommandLine": true, + "Placeholder": "1234567890", + "DefaultValue": "" + }, + { + "DisplayName": "Spawn Guide House", + "Category": "Server Settings", + "Description": "Only used when generating a new world. If checked, a guide house will be added during world generation.", + "Keywords": "guide house", + "FieldName": "guide", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "guide", + "IncludeInCommandLine": true, + "DefaultValue": "y", + "EnumValues": { + "False": "n", + "True": "y" + } + }, + { + "DisplayName": "Give Clients Power", + "Category": "Server Settings", + "Description": "If true, clients will have much more power over what hits them, their position etc.", + "Keywords": "client power", + "FieldName": "clientPower", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "giveClientPower", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "false": "false", + "true": "true" + } + }, + { + "DisplayName": "Pause When Empty", + "Category": "Server Settings", + "Description": "If enabled, the server will pause when there are no connected players.", + "Keywords": "server pause", + "FieldName": "serverPause", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "svrPause", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "false": "false", + "true": "true" + } + }, + { + "DisplayName": "World Name", + "Category": "Server Settings", + "Description": "The world file to load at startup. Recommended to be a single word.", + "Keywords": "world", + "FieldName": "world", + "InputType": "text", + "Required": true, + "IsFlagArgument": false, + "ParamFieldName": "world", + "IncludeInCommandLine": true, + "DefaultValue": "world", + "EnumValues": {} + }, + { + "DisplayName": "MOTD", + "Category": "Server Settings", + "Description": "Message to be displayed on server join.", + "Keywords": "motd message", + "FieldName": "motd", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "motd", + "IncludeInCommandLine": false, + "DefaultValue": "Welcome to Necesse", + "EnumValues": {} + } +] \ No newline at end of file diff --git a/necessemetaconfig.json b/necessemetaconfig.json new file mode 100644 index 0000000..531d35a --- /dev/null +++ b/necessemetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile": "cfg/server.cfg", + "AutoMap": true, + "ConfigType": "template", + "ConfigFileTemplate": "necesseserverconfig.cfg" + } + ] \ No newline at end of file diff --git a/necesseserverconfig.cfg b/necesseserverconfig.cfg new file mode 100644 index 0000000..6adcd51 --- /dev/null +++ b/necesseserverconfig.cfg @@ -0,0 +1,11 @@ +SERVER = { + port = {{gport}}, // [0 - 65535] Server default port + slots = {{slots}}, // [1 - 250] Server default slots + password = {{password}}, // Leave blank for no password + pauseWhenEmpty = {{svrPause}}, + giveClientsPower = {{giveClientPower}}, // If true, clients will have much more power over what hits them, their position etc + logging = true, // If true, will create log files for each server start + language = en, + zipSaves = false, // If true, will create new saves uncompressed + MOTD = {{motd}} // Message of the day +} \ No newline at end of file