From 43ee4e8e577db61787140f79f08dad5957592dc9 Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Sat, 18 Jun 2022 17:29:44 +0100 Subject: [PATCH 001/318] Update project-zomboid.kvp Force UTF8 encoding to handle accented/non-latin characters properly. --- project-zomboid.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project-zomboid.kvp b/project-zomboid.kvp index 9754dc091..80d8c3206 100644 --- a/project-zomboid.kvp +++ b/project-zomboid.kvp @@ -17,8 +17,8 @@ App.BaseDirectory=./project-zomboid/380870/ App.ExecutableWin=380870\jre64\bin\java.exe App.ExecutableLinux=380870/ProjectZomboid64 App.WorkingDir=380870 -App.LinuxCommandLineArgs=-Dzomboid.steam={{SteamInt}} -Duser.home=./ -Xmx{{MaxMemory}}m {{CustomJavaArgs}} -- -App.WindowsCommandLineArgs=-Djava.awt.headless=true -Dzomboid.znetlog=1 -Dzomboid.steam={{SteamInt}} -Duser.home=./ -Xmx{{MaxMemory}}m {{JavaGCAlgo}} -XX:-CreateCoredumpOnCrash -XX:-OmitStackTraceInFastThrow -Djava.library.path=natives/;natives/win64/;. {{CustomJavaArgs}} -cp java/*;java/ zombie.network.GameServer -statistic 0 -- +App.LinuxCommandLineArgs=-Dfile.encoding=UTF-8 -Dzomboid.steam={{SteamInt}} -Duser.home=./ -Xmx{{MaxMemory}}m {{CustomJavaArgs}} -- +App.WindowsCommandLineArgs=-Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dzomboid.znetlog=1 -Dzomboid.steam={{SteamInt}} -Duser.home=./ -Xmx{{MaxMemory}}m {{JavaGCAlgo}} -XX:-CreateCoredumpOnCrash -XX:-OmitStackTraceInFastThrow -Djava.library.path=natives/;natives/win64/;. {{CustomJavaArgs}} -cp java/*;java/ zombie.network.GameServer -statistic 0 -- App.CommandLineArgs={{$PlatformArgs}} -port {{$ApplicationPort1}} -steamport1 {{$ApplicationPort2}} -steamport2 {{$ApplicationPort3}} {{CustomServerArgs}} {{$FormattedArgs}} App.AppSettings={} App.EnvironmentVariables={"PATH":"./jre64/bin:%PATH%","LD_LIBRARY_PATH":"./linux64:./natives:./:./jre64/lib/amd64:%LD_LIBRARY_PATH%","LD_PRELOAD":"./jre64/lib/libjsig.so","PZ_CLASSPATH":"java/*;java/","SteamAppId":"108600"} From 2a9992265ae35c448327ad07d255b18ed374b0f2 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 24 Jun 2022 21:41:20 +1000 Subject: [PATCH 002/318] Craftopia: config and server stop fixes (#147) * Updates to download config file * Fix server stop --- craftopia.kvp | 8 ++-- craftopiaserversetting.ini | 87 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 craftopiaserversetting.ini diff --git a/craftopia.kvp b/craftopia.kvp index 19ec1ce48..d3ed02f67 100644 --- a/craftopia.kvp +++ b/craftopia.kvp @@ -23,12 +23,12 @@ App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= App.CommandLineArgs=-batchmode -showlogs App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"1670340"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1307550"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=String -App.ExitTimeout=120 -App.ExitString=quit +App.ExitTimeout=30 +App.ExitString=stop App.ExitFile=app_exit.lck App.HasWriteableConsole=True App.HasReadableConsole=True @@ -45,7 +45,7 @@ App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1670340"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1670340"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/craftopia/craftopiaserversetting.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./craftopia/1670340/ServerSetting.ini","UpdateSourceArgs":"./craftopiaserversetting.ini","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/craftopiaserversetting.ini b/craftopiaserversetting.ini new file mode 100644 index 000000000..09340afc3 --- /dev/null +++ b/craftopiaserversetting.ini @@ -0,0 +1,87 @@ + +; Game World Data Setting - name, difficulty, gameMode +; name : world name +; difficulty : 0- Easy, 1- Normal(default), 2- Hard, 3- VeryHard +; gameMode : 1- NormalWorld(default), 2- CreativeWorld_Build, 3- CreativeWorld_Play + +; Server Setting - port : used when not using steam lobby function +; maxPlayerNumber : maximum number of player can join into the server(1 ~ 127) +; usePassword : using server password(1- True / 0- False) +; serverPassword : setting server password up to 8 digit number pin + +; Graphics Setting - vSyncCount, maxFPS, grassBend, clothSimOption +; vSyncCount : vertical sync, 0- disable, 1- once per frame 2- per two frame +; maxFPS : max frames per second, set to -1 for unlimited fps +; grassBend : enable Grass Bend(1- True / 0- False) +; ClothSimOption : cloth simulation, 1- animate everybody's, 2- animate nobody's + +; Save Setting - autoSaveSec, autoSavePerHour +; autoSaveSec : autoSavePer ** second, to disable, set to -1 +; autoSavePerHour : enable autoSavePerHour(1- True / 0- False) +; savePath : relative path base on ServerSetting.ini folder or absolute path + +; Creative Mode Setting - +; quickCraft : crafting without checking item cost(1- True / 0- False) +; ageLevel : age Level of the game world, effect crafting recipe +; islandLevel : island level override, effect monster and dungeon level, set to -1 to disable override +; noDeath : player character would not dead(1- True / 0- False) +; noDamage : player character would not take damage(1- True / 0- False) +; noHunger : player character would not be hungry(1- True / 0- False) +; infinitStamina : player character has infinit stamina(1- True / 0- False) +; forceDayTime : game world day time override, 0 to 24, set to -1 to disable +; buildingIgnoreDamage : building would not take damage(1- True / 0- False) +; noBuild : player can not place new building(1- True / 0- False) + +; Creative Mode Player Status Override - apply at gameStart +; Level : override character level, set to 0 to disable +; Health : override character health, set to 0 to disable +; Mana : override character mana, set to 0 to disable +; Stamina : override character stamia, set to 0 to disable +; Money : override character money +; SkillPoint : override character skill point +; EnchantPoint : override character enchant point + +[GameWorld] +name=AMP World +difficulty=1 +gameMode=1 + +[Host] +port=6587 +maxPlayerNumber=7 +usePassword=0 +serverPassword=00000000 +bindAddress=0.0.0.0 +isUseSteamLobby=0 + +[Graphics] +vSyncCount=0 +maxFPS=60 +grassBend=0 +clothSimOption=2 + +[Save] +autoSaveSec=300 +autoSavePerHour=1 +savePath=DedicatedServerSave/ + +[CreativeModeSetting] +quickCraft=1 +ageLevel=7 +islandLevel=-1 +noDeath=1 +noDamage=1 +noHunger=1 +infinitStamina=1 +forceDayTime=-1 +buildingIgnoreDamage=0 +noBuild=0 + +[CreativeModePlStatus] +Level=0 +Health=0 +Mana=0 +Stamina=0 +Money=1000 +SkillPoint=0 +EnchantPoint=0 From da23c9cabb3d01479d3f65428efdb47a5337a3e9 Mon Sep 17 00:00:00 2001 From: buddizer Date: Fri, 24 Jun 2022 14:46:10 -0600 Subject: [PATCH 003/318] [VRising] Make server description Textarea instead of text to support multi-line (#148) * Update v-risingconfig.json make v rising server description Textarea instead of text to support multi-line * Update project-zomboidconfig.json Add -Dfile.encoding=UTF-8 to PZ Java Startup parameter to avoid character issues when using spanish characters on server description and MOTD. * Update project-zomboidconfig.json --- v-risingconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/v-risingconfig.json b/v-risingconfig.json index 50bb1f8d9..5fa8a479d 100644 --- a/v-risingconfig.json +++ b/v-risingconfig.json @@ -18,7 +18,7 @@ "Description": "Short description of server purpose, rules, message of the day", "Keywords": "Server, description", "FieldName": "Description", - "InputType": "text", + "InputType": "Textarea", "IsFlagArgument": false, "ParamFieldName": "Description", "IncludeInCommandLine": false, @@ -342,4 +342,4 @@ "False": "false" } } -] \ No newline at end of file +] From c0304ff671f84d65e1219ec03b67e1410b7c2cce Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 27 Jun 2022 20:34:05 +1000 Subject: [PATCH 004/318] Server name fixes (#153) --- unturned.kvp | 4 ++-- unturnedconfig.json | 10 +++++----- unturnedconfigfile.dat | 3 ++- unturnedmetaconfig.json | 6 +++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/unturned.kvp b/unturned.kvp index 18d585ca8..6005cde0d 100644 --- a/unturned.kvp +++ b/unturned.kvp @@ -19,7 +19,7 @@ App.ExecutableLinux=1110390/Unturned_Headless.x86_64 App.WorkingDir=1110390 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics {{$FormattedArgs}} +{{ServerType}}/{{ServerName}} +App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics {{$FormattedArgs}} +{{ServerType}}/Unturned App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"304930"} App.CommandLineParameterFormat=-{0}={1} @@ -44,7 +44,7 @@ App.AdminMethod=TelnetRCON App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1110390"},{"UpdateStageName":"Main Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedconfigfile.dat","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Workshop Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedworkshopconfig.json","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./U3DS/1110390/Servers/{{ServerName}}/Server"},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Servers/{{ServerName}}/Server/Commands.dat","UpdateSourceArgs":"./unturnedconfigfile.dat","OverwriteExistingFiles":false},{"UpdateStageName":"Rocket Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./U3DS/1110390/Modules/Rocket.Unturned"},{"UpdateStageName":"First Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/English.dat","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/English.dat","OverwriteExistingFiles":true},{"UpdateStageName":"Second Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.API.dll","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.API.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Third Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.Core.dll","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.Core.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Fourth Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.Unturned.dll","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.Unturned.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Fifth Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.Unturned.module","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.Unturned.module","OverwriteExistingFiles":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.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1110390"},{"UpdateStageName":"Main Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedconfigfile.dat","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Workshop Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedworkshopconfig.json","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./U3DS/1110390/Servers/Unturned/Server"},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Servers/Unturned/Server/Commands.dat","UpdateSourceArgs":"./unturnedconfigfile.dat","OverwriteExistingFiles":false},{"UpdateStageName":"Rocket Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./U3DS/1110390/Modules/Rocket.Unturned"},{"UpdateStageName":"First Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/English.dat","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/English.dat","OverwriteExistingFiles":true},{"UpdateStageName":"Second Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.API.dll","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.API.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Third Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.Core.dll","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.Core.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Fourth Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.Unturned.dll","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.Unturned.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Fifth Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.Unturned.module","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.Unturned.module","OverwriteExistingFiles":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=True App.SteamForceLoginPrompt=False diff --git a/unturnedconfig.json b/unturnedconfig.json index f0ff65c4a..a6b638e45 100644 --- a/unturnedconfig.json +++ b/unturnedconfig.json @@ -57,14 +57,14 @@ { "DisplayName": "Server Name", "Category": "Server Settings", - "Description": "WARNING: You MUST run an update of the server after changing the name for correct configuration", + "Description": "Sets the name of the server shown publicly", "Keywords": "name", - "FieldName": "ServerName", + "FieldName": "Name", "InputType": "text", "IsFlagArgument": false, - "ParamFieldName": "", + "ParamFieldName": "Name", "IncludeInCommandLine": false, - "DefaultValue": "UnturnedServer", + "DefaultValue": "AMP Powered Unturned Server", "EnumValues":{} }, { @@ -132,7 +132,7 @@ "IsFlagArgument": false, "ParamFieldName": "Welcome", "IncludeInCommandLine": false, - "DefaultValue": "Welcome to Unturned. Hosted using AMP by CubeCoders", + "DefaultValue": "Welcome to Unturned", "EnumValues":{} }, { diff --git a/unturnedconfigfile.dat b/unturnedconfigfile.dat index 6e851ddeb..b86e5170e 100644 --- a/unturnedconfigfile.dat +++ b/unturnedconfigfile.dat @@ -2,7 +2,8 @@ Port 27015 Password Owner GSLT -Welcome Welcome to Unturned. Hosted using AMP by CubeCoders +Name AMP Powered Unturned Server +Welcome Welcome to Unturned Maxplayers 10 Map PEI Mode Normal diff --git a/unturnedmetaconfig.json b/unturnedmetaconfig.json index c7e7f04d0..c1e165622 100644 --- a/unturnedmetaconfig.json +++ b/unturnedmetaconfig.json @@ -1,19 +1,19 @@ [ { - "ConfigFile": "Servers/{{ServerName}}/Server/Commands.dat", + "ConfigFile": "Servers/Unturned/Server/Commands.dat", "AutoMap": true, "ConfigType": "kvp", "ConfigFormat": "{0} {1}", "ConfigFormatRegex": "^(?.+?) (?.*?)$" }, { - "ConfigFile": "Servers/{{ServerName}}/WorkshopDownloadConfig.json", + "ConfigFile": "Servers/Unturned/WorkshopDownloadConfig.json", "AutoMap": true, "ConfigType": "template", "ConfigFileTemplate": "unturnedworkshopconfig.json" }, { - "ConfigFile": "Servers/{{ServerName}}/Rocket/Rocket.config.xml", + "ConfigFile": "Servers/Unturned/Rocket/Rocket.config.xml", "AutoMap": true, "ConfigType": "xml" } From 7f48b821d7a3bdc398d4abc081c71c7001339dd1 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 27 Jun 2022 18:13:07 -0500 Subject: [PATCH 005/318] Mordhau - Add Arid Map (#154) The new Arid map was released 6/23. This adds the map to the dropdown list. --- mordhau-config.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mordhau-config.json b/mordhau-config.json index f21e616dd..394a1ca03 100644 --- a/mordhau-config.json +++ b/mordhau-config.json @@ -117,6 +117,7 @@ "/Game/Mordhau/Maps/ThePit/FFA_ThePit":"FFA_ThePit", "/Game/Mordhau/Maps/Tourney/FFA_Tourney":"FFA_Tourney", "/Game/Mordhau/Maps/Truce/FFA_Truce":"FFA_Truce", + "/Game/Mordhau/Maps/Arid/FL_Arid":"FL_Arid", "/Game/Mordhau/Maps/DuelCamp/FL_Camp":"FL_Camp", "/Game/Mordhau/MapsCastello/FL_Castello":"FL_Castello", "/Game/Mordhau/Maps/Crossroads/FL_Crossroads":"FL_Crossroads", @@ -133,6 +134,7 @@ "/Game/Mordhau/Maps/MaxMap/HRD_MountainPeak":"HRD_MountainPeak", "/Game/Mordhau/Maps/DesertMap/HRD_Noria":"HRD_Noria", "/Game/Mordhau/Maps/TaigaMap/HRD_Taiga":"HRD_Taiga", + "/Game/Mordhau/Maps/Arid/INV_Arid_1":"INV_Arid_1", "/Game/Mordhau/Maps/DuelCamp/INV_Camp_1":"INV_Camp_1", "/Game/Mordhau/Maps/Castello/INV_Castello_0":"INV_Castello_0", "/Game/Mordhau/Maps/Crossroads/INV_Crossroads_0":"INV_Crossroads_0", From 2f19b5d580a8b063aefa30262d43f1faaff34faf Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 28 Jun 2022 15:07:43 +1000 Subject: [PATCH 006/318] PZ: Setting description updates --- project-zomboidconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project-zomboidconfig.json b/project-zomboidconfig.json index 882fb2225..1d8e9db59 100755 --- a/project-zomboidconfig.json +++ b/project-zomboidconfig.json @@ -275,7 +275,7 @@ { "DisplayName":"Mods", "Category":"Server Settings", - "Description":"Semi-colon separated list of names of mods to install on the server. The mod IDs also need to be added to Workshop Items", + "Description":"Semi-colon separated list of mod IDs to install on the server. The workshop IDs for the mods also need to be added to Workshop Items", "Keywords":"mods", "FieldName":"Mods", "InputType":"text", @@ -289,7 +289,7 @@ { "DisplayName":"Workshop Items", "Category":"Server Settings", - "Description":"Semi-colon separated list of IDs of workshop items to install on the server. Mod names also need to be added to Mods. NOTE: Don't use \"Steam workshop items\" under SteamCMD and Updates", + "Description":"Semi-colon separated list of IDs of workshop items to install on the server. Mod IDs also need to be added to Mods. NOTE: Don't use \"Steam workshop items\" under SteamCMD and Updates", "Keywords":"workshop,items", "FieldName":"WorkshopItems", "InputType":"text", From e368ccbe78233354f4c71d8af1cab25f1e685195 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Tue, 28 Jun 2022 19:38:18 -0500 Subject: [PATCH 007/318] Add Empyrion Galactic Survival (#155) Reference: https://github.com/CubeCoders/AMPTemplates/pull/49 All changes requested by @Greelan have been implemented, but there are two things to note. -I kept the working directory the same as the launcher lives in this folder, but calls the dedicated server executable one deeper. -There are two ports that have unknown uses. I've looked around and have gotten mixed responses on if they're actually needed or what they do, but the telnet port is always 4 higher than the main game port in each case, so I have to assume there's a reason behind it. --- empyrion-galactic-survival.kvp | 83 +++++ empyrion-galactic-survivalconfig.json | 395 ++++++++++++++++++++++ empyrion-galactic-survivalmetaconfig.json | 7 + empyrion-galactic-survivalports.json | 37 ++ empyrion-galactic-survivalupdates.json | 17 + empyriondedicated.yaml | 33 ++ 6 files changed, 572 insertions(+) create mode 100644 empyrion-galactic-survival.kvp create mode 100644 empyrion-galactic-survivalconfig.json create mode 100644 empyrion-galactic-survivalmetaconfig.json create mode 100644 empyrion-galactic-survivalports.json create mode 100644 empyrion-galactic-survivalupdates.json create mode 100644 empyriondedicated.yaml diff --git a/empyrion-galactic-survival.kvp b/empyrion-galactic-survival.kvp new file mode 100644 index 000000000..e24468524 --- /dev/null +++ b/empyrion-galactic-survival.kvp @@ -0,0 +1,83 @@ +Meta.DisplayName=Empyrion Galactic Survival +Meta.Description=Empyrion Galactic Survival Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Shinynecrid, IceOfWraith +Meta.URL=https://steamdb.info/app/383120/ +Meta.DisplayImageSource=steam:383120 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort} +Meta.ConfigManifest=empyrion-galactic-survivalconfig.json +Meta.MetaConfigManifest=empyrion-galactic-survivalmetaconfig.json +Meta.ConfigRoot=empyrion-galactic-survival.kvp +Meta.MinAMPVersion=2.3.3 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Empyrion Galactic Survival +App.RootDir=./empyrion-galactic-survival/ +App.BaseDirectory=./empyrion-galactic-survival/530870/ +App.ExecutableWin=530870\DedicatedServer\EmpyrionDedicated.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=530870 +App.LinuxCommandLineArgs=-a wine "./DedicatedServer/EmpyrionDedicated.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics -dedicated empyriondedicated.yaml -logFile - +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"383120"} +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=@IncludeJson[empyrion-galactic-survivalports.json] +App.AdminPortRef=TelnetPort +App.PrimaryApplicationPortRef=GamePort1 +App.UniversalSleepApplicationUDPPortRef=GamePort1 +App.UniversalSleepSteamQueryPortRef=SteamQueryPort +App.MaxUsers=8 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword= +App.AdminMethod=TelnetRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=30 +App.RCONConnectRetrySeconds=15 +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[empyrion-galactic-survivalupdates.json] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=2000 +App.MonitorChildProcessName=wine64 +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^.*-LOG- Server started listening on port .*$ +Console.UserJoinRegex=^.*-LOG-.*Player (?.+?)\/'(?.+?)' login ok$ +Console.UserLeaveRegex=^.*-LOG-.*, (?.+?)\/=\/'(?.+?)' disconnected$ +Console.UserChatRegex=^(?.+?): (?.+)$ +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/empyrion-galactic-survivalconfig.json b/empyrion-galactic-survivalconfig.json new file mode 100644 index 000000000..ffcfffe22 --- /dev/null +++ b/empyrion-galactic-survivalconfig.json @@ -0,0 +1,395 @@ +[ + { + "DisplayName": "Server Port", + "Category": "Server Settings", + "Description": "Must be edited using the Edit Port button in ADS.", + "Keywords": "", + "FieldName": "$GamePort1", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Srv_Port", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Telnet Port", + "Category": "Server Settings", + "Description": "Must be edited using the Edit Port button in ADS.", + "Keywords": "", + "FieldName": "$TelnetPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Tel_Port", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Telnet Password", + "Category": "Server Settings", + "Description": "Must be set using AMP.", + "Keywords": "", + "FieldName": "$RemoteAdminPassword", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Tel_Pwd", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Server Name", + "Category": "Server Settings", + "Description": "Name that will be shown in the Server Browser.", + "Keywords": "server,name", + "FieldName": "Srv_Name", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Srv_Name", + "IncludeInCommandLine": false, + "DefaultValue": "AMP Powered Server", + "EnumValues": {} + }, + { + "DisplayName": "Server Password", + "Category": "Server Settings", + "Description": "Password players will use to join the server.", + "Keywords": "server,Password", + "FieldName": "Srv_Password", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Srv_Password", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Max Players ", + "Category": "Server Settings", + "Description": "Maximum number of player allowed to join simultaneously in the server.", + "Keywords": "Max,Players", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Srv_MaxPlayers", + "IncludeInCommandLine": false, + "DefaultValue": "8", + "EnumValues": {} + }, + { + "DisplayName": "Server Description", + "Category": "Server Settings", + "Description": "Server description shown in Server Browser, can contain [b]bold[/b] text or a [u][url=empyriongame.com]link[/url][/u].", + "Keywords": "Server,Description", + "FieldName": "Srv_Description", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Srv_Description", + "IncludeInCommandLine": false, + "DefaultValue": "AMP Powered Empyrion Server", + "EnumValues": {} + }, + { + "DisplayName": "Reserve Playfields", + "Category": "Server Settings", + "Description": "Determines the number of playfield servers that are held in reserve. For busy public servers.", + "Keywords": "Reserve,Playfields", + "FieldName": "Srv_ReservePlayfields", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Srv_ReservePlayfields", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "EnumValues": {} + }, + { + "DisplayName": "Public Server", + "Category": "Server Settings", + "Description": "Set the following parameter to false if you want to hide your server in the Server Browser. If server is not visible you can connect via IP or via joining a friend's game.", + "Keywords": "public,server", + "FieldName": "Srv_Public", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Srv_Public", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Stop Period", + "Category": "Server Settings", + "Description": "All playfield servers will be automatically stopped every real time hours. Players will get some warning messages before.", + "Keywords": "Stop,Period", + "FieldName": "Srv_StopPeriod", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Srv_StopPeriod", + "IncludeInCommandLine": false, + "DefaultValue": "48", + "EnumValues": {} + }, + { + "DisplayName": "Enable EAC", + "Category": "Server Settings", + "Description": "Activate Easy Anti Cheat (clients have to enable EAC via Options -> Misc to connect to a EAC protected server).", + "Keywords": "enable,EAC", + "FieldName": "EACActive", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.EACActive", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Save Directory", + "Category": "Server Settings", + "Description": "Location of save game folder.", + "Keywords": "save,directory", + "FieldName": "SaveDirectory", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.SaveDirectory", + "IncludeInCommandLine": false, + "DefaultValue": "Saves", + "EnumValues": {} + }, + { + "DisplayName": "Max Allowed Size Class", + "Category": "Server Settings", + "Description": "Restrict allowed Blueprint size class: restricted types are not allowed to be produced or spawned. 1 = allow only small blueprints, 10 = allow very large blueprints, 50 = allow gigantic blueprints, 0 = no limits. Warning: large blueprints can have very strong performance impact!", + "Keywords": "Max,Allowed,Size,Class", + "FieldName": "MaxAllowedSizeClass", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.MaxAllowedSizeClass", + "IncludeInCommandLine": false, + "DefaultValue": "10", + "EnumValues": {} + }, + { + "DisplayName": "Allowed Blueprints", + "Category": "Server Settings", + "Description": "Restrict Blueprint types allowed for production in factory: None = Blueprint system completely disabled; StockOnly = only stock blueprints can be produced; All = all types allowed (default).", + "Keywords": "Allowed,Blueprints", + "FieldName": "AllowedBlueprints", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.AllowedBlueprints", + "IncludeInCommandLine": false, + "DefaultValue": "All", + "EnumValues": { + "All": "All", + "StockOnly": "Stock Only", + "None": "None" + } + }, + { + "DisplayName": "Heartbeat Server", + "Category": "Server Settings", + "Description": "Timeout in seconds after which a playfield server process will be killed (and all players on it disconnected) if it no longer sends heartbeat messages to the dedicated server. (0 to disable)", + "Keywords": "Heartbeat,Server", + "FieldName": "HeartbeatServer", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.HeartbeatServer", + "IncludeInCommandLine": false, + "DefaultValue": "15", + "suffix": "sec", + "EnumValues": {} + }, + { + "DisplayName": "Heartbeat Client", + "Category": "Server Settings", + "Description": "Timeout in seconds after which a client will be disconnected if it no longer sends heartbeat messages to the dedicated server. (0 to disable)", + "Keywords": "Heartbeat,Client", + "FieldName": "HeartbeatClient", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.HeartbeatClient", + "IncludeInCommandLine": false, + "DefaultValue": "30", + "suffix": "sec", + "EnumValues": {} + }, + { + "DisplayName": "Log Flags", + "Category": "Server Settings", + "Description": "Determines the logging level.", + "Keywords": "Log,Flags,level", + "FieldName": "LogFlags", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.LogFlags", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": { + "0": "No Extra", + "1": "EAC", + "2": "EAC + All Details" + } + }, + { + "DisplayName": "Disable Family Sharing", + "Category": "Server Settings", + "Description": "Activate if you want to prohibit Steam Family Sharers from playing (only the game owner can then play).", + "Keywords": "Disable,Steam,Family,Sharing", + "FieldName": "DisableSteamFamilySharing", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.DisableSteamFamilySharing", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Kick Players With High Ping", + "Category": "Server Settings", + "Description": "Players with a ping higher than the value specified below will be locked out of the game. High ping can result in cheating.", + "Keywords": "Kick,Players,With,High,Ping", + "FieldName": "KickPlayerWithPing", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.KickPlayerWithPing", + "IncludeInCommandLine": false, + "DefaultValue": "300", + "suffix": "ms", + "EnumValues": {} + }, + { + "DisplayName": "Timeout to Boot Playfield Server", + "Category": "Server Settings", + "Description": "Monitors booting playfield server processes, kills them if they time out ( 0 to disabled). Note: This is a conservative default, for faster servers 60 seconds should be ok.", + "Keywords": "Timeout,Booting,Playfield,server", + "FieldName": "TimeoutBootingPfServer", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.TimeoutBootingPfServer", + "IncludeInCommandLine": false, + "DefaultValue": "90", + "suffix": "sec", + "EnumValues": {} + }, + { + "DisplayName": "Player Login Parallel Count", + "Category": "Server Settings", + "Description": "If specified, the number of parallel logins to a server are restricted to this number. This is important when you expect a big number of people to login at the same time.", + "Keywords": "Player,Login,Parallel,Count", + "FieldName": "PlayerLoginParallelCount", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.PlayerLoginParallelCount", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "EnumValues": {} + }, + { + "DisplayName": "Player Login VIP Names", + "Category": "Server Settings", + "Description": "Add steam ids for preferred players that will get a better position in the login queue. [Find your Steam64 ID](https://steamidfinder.com/)", + "Keywords": "Player,Login,Parallel,Count", + "FieldName": "PlayerLoginVipNames", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.PlayerLoginVipNames", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "123456789,123456788,123456787", + "EnumValues": {} + }, + { + "DisplayName": "Game Name", + "Category": "Game Settings", + "Description": "Determines name of the save game.", + "Keywords": "Game,Name", + "FieldName": "GameName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "GameConfig.GameName", + "IncludeInCommandLine": false, + "DefaultValue": "DediGame", + "EnumValues": {} + }, + { + "DisplayName": "Game Mode", + "Category": "Game Settings", + "Description": "Game mode for the server.", + "Keywords": "Game,Mode", + "FieldName": "Mode", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "GameConfig.Mode", + "IncludeInCommandLine": false, + "DefaultValue": "Survival", + "EnumValues": { + "Survival": "Survival", + "Creative": "Creative" + } + }, + { + "DisplayName": "World Seed", + "Category": "Game Settings", + "Description": "Any number up to 7 digits (Cannot be 0). The seed determines how the world is procedurally generated - the same seed means the same world.", + "Keywords": "World,Seed", + "FieldName": "Seed", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "GameConfig.Seed", + "IncludeInCommandLine": false, + "DefaultValue": "1011345", + "EnumValues": {} + }, + { + "DisplayName": "Custom Scenario", + "Category": "Game Settings", + "Description": "Choose from premade scenarios.", + "Keywords": "Custom,Scenario", + "FieldName": "CustomScenario", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "GameConfig.CustomScenario", + "IncludeInCommandLine": false, + "DefaultValue": "Default Multiplayer", + "EnumValues": { + "_TestBaseAttackCS": "Test Base Attack CS", + "_TestEmpyrion-SE": "Test Empyrion SE", + "_TestScenario": "Test Scenario", + "_TestScenario2": "Test Scenario 2", + "Default Akua-Omicron": "Default Akua-Omicron", + "Default Base Attack": "Default Base Attack", + "Default Creative": "Default Creative", + "Default Multiplayer": "Default Multiplayer", + "Default Random": "Default Random", + "Invader vs Defender - Conflict of Cygnus": "Invader vs Defender - Conflict of Cygnus", + "Shadows of Starlight": "Shadows of Starlight", + "Tutorial": "Tutorial" + } + }, + { + "DisplayName": "Release Stream", + "Category": "SteamCMD and Updates", + "Description": "\"public\" is default. Choose a custom release on [SteamDB](https://steamdb.info/app/530870/depots/).", + "Keywords": "use,experimental,release,stream", + "FieldName": "Stream", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "Stream", + "IncludeInCommandLine": false, + "DefaultValue": "public", + "Placeholder": "public", + "EnumValues": {} + } +] \ No newline at end of file diff --git a/empyrion-galactic-survivalmetaconfig.json b/empyrion-galactic-survivalmetaconfig.json new file mode 100644 index 000000000..f79f91175 --- /dev/null +++ b/empyrion-galactic-survivalmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile": "EmpyrionDedicated.yaml", + "AutoMap": true, + "ConfigType": "json" + } +] diff --git a/empyrion-galactic-survivalports.json b/empyrion-galactic-survivalports.json new file mode 100644 index 000000000..a731d8fad --- /dev/null +++ b/empyrion-galactic-survivalports.json @@ -0,0 +1,37 @@ +[ + { + "Protocol": "Both", + "Name": "Game Port 1", + "Description": "The port used for main game traffic", + "Port": 30000, + "Ref": "GamePort1" + }, + { + "Protocol": "Both", + "Name": "Steam Query Port", + "Description": "The port used for Steam Queries", + "Port": 30001, + "Ref": "SteamQueryPort" + }, + { + "Protocol": "Both", + "Name": "Game Port 3", + "Description": "The port used for unknown game traffic", + "Port": 30002, + "Ref": "GamePort3" + }, + { + "Protocol": "Both", + "Name": "Game Port 4", + "Description": "The port used for unknown game traffic", + "Port": 30003, + "Ref": "GamePort4" + }, + { + "Protocol": "TCP", + "Name": "Telnet Port", + "Description": "The port used for telnet console", + "Port": 30004, + "Ref": "TelnetPort" + } +] \ No newline at end of file diff --git a/empyrion-galactic-survivalupdates.json b/empyrion-galactic-survivalupdates.json new file mode 100644 index 000000000..e21ce990c --- /dev/null +++ b/empyrion-galactic-survivalupdates.json @@ -0,0 +1,17 @@ +[ + { + "UpdateStageName": "SteamCMD Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "SteamCMD", + "UpdateSourceData": "530870", + "ForceDownloadPlatform": "Windows", + "UpdateSourceVersion": "{{Stream}}" + }, + { + "UpdateStageName": "Base Config Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/IceOfWraith/AMPTemplates/raw/empyrion/empyriondedicated.yaml", + "UpdateSourceTarget": "./530870/" + } +] \ No newline at end of file diff --git a/empyriondedicated.yaml b/empyriondedicated.yaml new file mode 100644 index 000000000..43b29f330 --- /dev/null +++ b/empyriondedicated.yaml @@ -0,0 +1,33 @@ +{ + "ServerConfig": { + "Srv_Port": 30000, + "Srv_Name": "AMP Powered Server", + "Srv_Password": "", + "Srv_MaxPlayers": 8, + "Srv_ReservePlayfields": 1, + "Srv_Description": "AMP Powered Empyrion Server", + "Srv_Public": true, + "Srv_StopPeriod": 48, + "Tel_Enabled": true, + "Tel_Port": 30004, + "Tel_Pwd": "", + "EACActive": true, + "SaveDirectory": "Saves", + "MaxAllowedSizeClass": 10, + "AllowedBlueprints": "All", + "HeartbeatServer": 15, + "HeartbeatClient": 30, + "LogFlags": 0, + "DisableSteamFamilySharing": false, + "KickPlayerWithPing": 300, + "TimeoutBootingPfServer": 90, + "PlayerLoginParallelCount": 5, + "PlayerLoginVipNames": "" + }, + "GameConfig": { + "GameName": "DediGame", + "Mode": "Survival", + "Seed": 1011345, + "CustomScenario": "Default Multiplayer" + } +} \ No newline at end of file From 78d2b64baf4f798499e16aeeeaf8f972ef59664b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 29 Jun 2022 18:37:36 +1000 Subject: [PATCH 008/318] Satisfactory: Fix endpoint URI --- satisfactory.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/satisfactory.kvp b/satisfactory.kvp index 6d58d214d..7228ea42b 100644 --- a/satisfactory.kvp +++ b/satisfactory.kvp @@ -36,7 +36,7 @@ Meta.ConfigManifest=satisfactoryconfig.json Meta.Description= Meta.DisplayImageSource=steam:526870 Meta.DisplayName=Satisfactory -Meta.EndpointURIFormat=steam://connect/{ip}/{GenericModule.App.ApplicationPort3} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3} Meta.OS=3 Meta.URL=https://store.steampowered.com/app/526870/Satisfactory/ -Meta.MinAMPVersion=2.3.4.0 \ No newline at end of file +Meta.MinAMPVersion=2.3.4.0 From ec2839c60f0e8a0b9270dd4c84381d6cfc0ba4c5 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 29 Jun 2022 07:20:54 -0500 Subject: [PATCH 009/318] Adjust Empyrion Update Stage Pointed the config download towards the CubeCoders/AMPTemplates repo. --- empyrion-galactic-survivalupdates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/empyrion-galactic-survivalupdates.json b/empyrion-galactic-survivalupdates.json index e21ce990c..8ce8ba477 100644 --- a/empyrion-galactic-survivalupdates.json +++ b/empyrion-galactic-survivalupdates.json @@ -11,7 +11,7 @@ "UpdateStageName": "Base Config Download", "UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/IceOfWraith/AMPTemplates/raw/empyrion/empyriondedicated.yaml", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/empyriondedicated.yaml", "UpdateSourceTarget": "./530870/" } -] \ No newline at end of file +] From 7f87cb91cf5a269e9b1e0a4ac645b3b2d937e30e Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 30 Jun 2022 13:48:02 -0500 Subject: [PATCH 010/318] Update seven-days-to-die.kvp Fixed the Steam Library path. --- seven-days-to-die.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seven-days-to-die.kvp b/seven-days-to-die.kvp index 784caea8a..fd5fd2a31 100644 --- a/seven-days-to-die.kvp +++ b/seven-days-to-die.kvp @@ -25,7 +25,7 @@ App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= App.CommandLineArgs=-quit -batchmode -nographics -configfile=serverconfig.xml {{$FormattedArgs}} -dedicated App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"251570"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"251570"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE From 3651f87f63f62e256e68fff9a770ffa4943d4638 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 1 Jul 2022 08:03:45 +1000 Subject: [PATCH 011/318] Core Keeper: updates for new server build --- core-keeper.kvp | 18 ++++---- core-keeperconfig.json | 86 ++++++++++++++++++++++++++++++++------ core-keepermetaconfig.json | 8 +--- 3 files changed, 84 insertions(+), 28 deletions(-) diff --git a/core-keeper.kvp b/core-keeper.kvp index e011903f9..f97217ef0 100644 --- a/core-keeper.kvp +++ b/core-keeper.kvp @@ -2,10 +2,10 @@ Meta.DisplayName=Core Keeper Meta.Description=Core Keeper Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=Shinynecrid, Greelan +Meta.Author=Greelan, Shinynecrid Meta.URL=https://steamdb.info/app/1621690/ Meta.DisplayImageSource=steam:1621690 -Meta.EndpointURIFormat=steam://connect/{0} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} Meta.ConfigManifest=core-keeperconfig.json Meta.MetaConfigManifest=core-keepermetaconfig.json Meta.ConfigRoot=core-keeper.kvp @@ -23,7 +23,7 @@ App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=1963720 App.LinuxCommandLineArgs=-a ./CoreKeeperServer App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -datapath "{{$FullBaseDir}}DedicatedServer" {{$FormattedArgs}} -batchmode -logfile - +App.CommandLineArgs={{$PlatformArgs}} -port {{ConnectMode}} -datapath "{{$FullBaseDir}}DedicatedServer" {{$FormattedArgs}} -batchmode -logfile - App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1963720"} App.CommandLineParameterFormat=-{0} "{1}" @@ -37,10 +37,10 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"UDP","Port":0,"Ref":"Port","Name":"Port","Description":"Dummy port"}] -App.PrimaryApplicationPortRef=Port -App.UniversalSleepApplicationUDPPortRef=Port -App.UniversalSleepSteamQueryPortRef=Port +App.Ports=[{"Protocol":"UDP","Port":27015,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort App.MaxUsers=100 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 @@ -49,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1963720"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/core-keeperserverconfig.json","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./core-keeper/1963720/DedicatedServer"},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./core-keeper/1963720/DedicatedServer/ServerConfig.json","UpdateSourceArgs":"./core-keeperserverconfig.json","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1963720"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -78,4 +78,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 +Limits.SleepStartThresholdSeconds=25 \ No newline at end of file diff --git a/core-keeperconfig.json b/core-keeperconfig.json index edecf7b2f..113904501 100644 --- a/core-keeperconfig.json +++ b/core-keeperconfig.json @@ -1,14 +1,28 @@ [ + { + "DisplayName":"Game ID", + "Category":"Server Settings", + "Description":"Sets the Game ID for the server. Needs to be at least 23 characters and alphanumeric, excluding Y,y,x,0,O. Empty or not valid means a new Game ID will be generated at server start", + "Keywords":"game,id", + "FieldName":"gameid", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"gameid", + "IncludeInCommandLine":true, + "DefaultValue":"", + "Placeholder":"WThaEN6779QIU2j7sczKmGfIG1bD", + "EnumValues":{} + }, { "DisplayName":"World", "Category":"Server Settings", - "Description":"Set the index of the world to be loaded from the worlds folder", + "Description":"Sets the index of the world to be loaded from the worlds folder", "Keywords":"world,index", "FieldName":"world", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"world", - "IncludeInCommandLine":false, + "IncludeInCommandLine":true, "DefaultValue":"0", "EnumValues":{} }, @@ -17,11 +31,12 @@ "Category":"Server Settings", "Description":"Sets the name to use for the server", "Keywords":"world", - "FieldName":"worldName", + "FieldName":"worldname", "InputType":"text", "IsFlagArgument":false, - "ParamFieldName":"worldName", - "IncludeInCommandLine":false, + "ParamFieldName":"worldname", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, "DefaultValue":"Core Keeper Server Powered by AMP", "EnumValues":{} }, @@ -30,14 +45,30 @@ "Category":"Server Settings", "Description":"Sets the seed to use to generate a new world. Set to 0 to generate a random seed", "Keywords":"seed,world", - "FieldName":"worldSeed", + "FieldName":"worldseed", "InputType":"number", "IsFlagArgument":false, - "ParamFieldName":"worldSeed", - "IncludeInCommandLine":false, + "ParamFieldName":"worldseed", + "IncludeInCommandLine":true, "DefaultValue":"0", "EnumValues":{} }, + { + "DisplayName":"World Mode", + "Category":"Server Settings", + "Description":"Sets whether to use normal or hard mode for the world", + "Keywords":"world,mode", + "FieldName":"worldmode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"worldmode", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "EnumValues":{ + "0":"Normal", + "1":"Hard" + } + }, { "DisplayName":"Player Limit", "Category":"Server Settings", @@ -46,10 +77,41 @@ "FieldName":"$MaxUsers", "InputType":"number", "IsFlagArgument":false, - "ParamFieldName":"maxNumberPlayers", - "IncludeInCommandLine":false, + "ParamFieldName":"maxplayers", + "IncludeInCommandLine":true, "DefaultValue":"100", - "suffix":"players", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Connection Mode", + "Category":"Server Settings", + "Description":"Sets the connection mode - either through the Steam relay network (no ports required), or via a direct port connection on the Game Port", + "Keywords":"steam,relay,network,port", + "FieldName":"ConnectMode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ConnectMode", + "IncludeInCommandLine":false, + "DefaultValue":"{{$GamePort}}", + "EnumValues":{ + "":"Steam Relay Network", + "{{$GamePort}}":"Direct Port Connection" + } + }, + { + "DisplayName":"Server IP Binding", + "Category":"Server Settings", + "Description":"Sets the interface IP that the server will bind to. Default is 0.0.0.0. Only used if the Steam relay network is not used", + "Keywords":"ip,binding", + "FieldName":"ip", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ip", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"0.0.0.0", + "Placeholder":"0.0.0.0", "EnumValues":{} - } + } ] \ No newline at end of file diff --git a/core-keepermetaconfig.json b/core-keepermetaconfig.json index 6e1feb76d..0637a088a 100644 --- a/core-keepermetaconfig.json +++ b/core-keepermetaconfig.json @@ -1,7 +1 @@ -[ - { - "ConfigFile":"DedicatedServer/ServerConfig.json", - "AutoMap":true, - "ConfigType":"json" - } -] +[] \ No newline at end of file From c857418c157b4ce7754c53f38bcdf8af4501b274 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 1 Jul 2022 09:26:16 +1000 Subject: [PATCH 012/318] Xonotic: updates for Stable 0.8.5 release --- xonoticconfig.json | 4 ++-- xonoticserver.cfg | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/xonoticconfig.json b/xonoticconfig.json index 8689bc94c..4fd522062 100755 --- a/xonoticconfig.json +++ b/xonoticconfig.json @@ -65,8 +65,8 @@ "IsFlagArgument":false, "ParamFieldName":"", "IncludeInCommandLine":false, - "DefaultValue":"0.8.2", - "Placeholder":"0.8.2 | 20220528 | latest", + "DefaultValue":"0.8.5", + "Placeholder":"0.8.5 | 20220528 | latest", "EnumValues":{} }, { diff --git a/xonoticserver.cfg b/xonoticserver.cfg index 803ea8b64..5d9d4262e 100644 --- a/xonoticserver.cfg +++ b/xonoticserver.cfg @@ -154,9 +154,7 @@ sv_weaponstats_file "http://www.xonotic.org/weaponbalance/" ///////////////////////////////////////////////////////////////////// // Some more advanced settings. You probably are not interested in changing them at all. -//sv_ready_restart 0 // 1 to allow players to restart the map when all of them press the ready button //sv_ready_restart_after_countdown 0 // if set to 1 the players and map items are reset after the countdown ended, otherwise they're reset already at the beginning of the countdown -//sv_ready_restart_repeatable 0 "allows the players to restart the game as often as needed //sv_autoscreenshot 0 // 1 will force a screenshot for all clients when the map ends. Useful for competitions or the ladder. //g_antilag 2 // 0 to disable the antilag feature, 1 and 2 use different methods @@ -164,6 +162,7 @@ sv_weaponstats_file "http://www.xonotic.org/weaponbalance/" //sv_maxrate 1000000 // limits client connections to this rate in bytes/seconds //sys_ticrate 0.0333333 // 0.0166667 for twice as many server frames per second; smoother gameplay but somewhat higher CPU use. + // see Docs/mapdownload.txt for more info //sv_curl_defaulturl http://www.xonotic.org/contentdownload/getmap.php?file= //fallback download URL @@ -195,8 +194,7 @@ sv_weaponstats_file "http://www.xonotic.org/weaponbalance/" ///////////////////////////////////////////////////////////////////// // Overkill mod settings -// To enable Overkill, put 'exec defaultOverkill.cfg' at the top of this file (above any other cvar changes), don't use 'g_overkill 1' directly. -// You should also consider enabling 'g_fullbrightplayers 1'. +// To enable Overkill, put 'exec ruleset-overkill.cfg' at the top of this file (above any other cvar changes), don't use 'g_overkill 1' directly. From 8b3742d9ce0187769359c40d2b8364230d424e7f Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 30 Jun 2022 21:03:18 -0500 Subject: [PATCH 013/318] Update brokeprotocolmetaconfig.json There were formatting issues causing the template to not start. --- brokeprotocolmetaconfig.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/brokeprotocolmetaconfig.json b/brokeprotocolmetaconfig.json index a4a550605..0f32e63b1 100644 --- a/brokeprotocolmetaconfig.json +++ b/brokeprotocolmetaconfig.json @@ -1,6 +1,6 @@ [ { - "ConfigFile": "/brokeprotokol/settings.json" - "AutoMap": true, - }, + "ConfigFile": "/brokeprotokol/settings.json", + "AutoMap": true + } ] From da07044e13015c48b182236960c903ef872283f7 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sun, 3 Jul 2022 10:26:22 -0500 Subject: [PATCH 014/318] Update Empyrion Chat Regex A default chat regex got saved that caused the console output to show up twice with headings as AMP was attempting to treat it like chat messages. Thanks @Greelan for catching that! --- empyrion-galactic-survival.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/empyrion-galactic-survival.kvp b/empyrion-galactic-survival.kvp index e24468524..0a8667c94 100644 --- a/empyrion-galactic-survival.kvp +++ b/empyrion-galactic-survival.kvp @@ -69,7 +69,7 @@ Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ Console.AppReadyRegex=^.*-LOG- Server started listening on port .*$ Console.UserJoinRegex=^.*-LOG-.*Player (?.+?)\/'(?.+?)' login ok$ Console.UserLeaveRegex=^.*-LOG-.*, (?.+?)\/=\/'(?.+?)' disconnected$ -Console.UserChatRegex=^(?.+?): (?.+)$ +Console.UserChatRegex= Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.MetricsRegex= Console.SuppressLogAtStart=False From d7464540d82ae34d54736c400dad5bd08af5e035 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 4 Jul 2022 11:25:00 -0500 Subject: [PATCH 015/318] Update seven-days-to-die.kvp Adjusted the AppReadyRegex to find the RCON connected message. --- seven-days-to-die.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seven-days-to-die.kvp b/seven-days-to-die.kvp index fd5fd2a31..368917f96 100644 --- a/seven-days-to-die.kvp +++ b/seven-days-to-die.kvp @@ -63,7 +63,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^.*INF StartGame done$ +Console.AppReadyRegex=^Logon successful.$ Console.UserJoinRegex=^.*INF PlayerSpawnedInWorld \(reason: JoinMultiplayer.*OwnerID='(?-?.*)'.*PlayerName='(?.+?)'.*$|^.*INF PlayerSpawnedInWorld \(reason: EnterMultiplayer.*OwnerID='(?-?.*)'.*PlayerName='(?.+?)'.*$ Console.UserLeaveRegex=^.*INF Player (?.+?) disconnected after.*$ Console.UserChatRegex=^.*INF Chat \(from '(?-?.*)', entity id '.*', to '.*'\): .*'(?.+?)': (?.+)$ From 040a554e95fa82a5160edd3ba9c3c29e273bfea6 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 4 Jul 2022 11:28:14 -0500 Subject: [PATCH 016/318] Update seven-days-to-dieconfig.json Fixed: -Formatting issues -Disabled Network Protocols didn't set the right default due to two keys starting with the same value -Game World had a typo in the ParamFieldName --- seven-days-to-dieconfig.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index b5354f524..821a0daf8 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -108,7 +108,7 @@ "EnumValues":{}, "Hidden": true },{ - "DisplayName":"ServerVisibility", + "DisplayName":"Server Visibility", "Category":"Server Settings", "Description":"As you are never a friend of a dedicated server, setting this to \"Only shown to friends\" will only work when the first player connects manually by IP.", "Keywords":"Server,Visibility", @@ -138,7 +138,7 @@ "": "None", "SteamNetworking": "SteamNetworking", "LiteNetLib": "LiteNetLib", - "SteamNetworking,LiteNetLib": "Both" + "LiteNetLib,SteamNetworking": "Both" } },{ "DisplayName":"Server Max World Transfer Speed", @@ -355,14 +355,14 @@ "EnumValues":{}, "Suffix": "chunks" },{ - "DisplayName":"GameWorld", + "DisplayName":"Game World", "Category":"Gameplay Settings", "Description":"\"RWG\" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with: \"Navezgane\", \"PREGEN6k\", \"PREGEN8k\", \"PREGEN10k\").", "Keywords":"Game,World", "FieldName":"GameWorld", "InputType":"text", "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='SerGameWorlderName']/@value", + "ParamFieldName":"/ServerSettings/property[@name='GameWorld']/@value", "IncludeInCommandLine":false, "DefaultValue":"Navezgane", "EnumValues":{} @@ -1134,4 +1134,4 @@ "True": "true" } } -] \ No newline at end of file +] From 3a4c8953d0629532d2e4b7f7884a6bf3efdea357 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 5 Jul 2022 19:38:14 +1000 Subject: [PATCH 017/318] Stationeers: convert to legacy server download The new server build does not work with the current AMP template. Converting to the `previous` branch so that the legacy server build is downloaded, pending an updated AMP template being committed to cater for the new server build (which is pending the Stationeers devs fixing their server console). App ready regex also fixed. --- stationeers.kvp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/stationeers.kvp b/stationeers.kvp index 889c33da3..403b0962a 100644 --- a/stationeers.kvp +++ b/stationeers.kvp @@ -1,5 +1,5 @@ -Meta.DisplayName=Stationeers -Meta.Description=Stationeers Dedicated Server +Meta.DisplayName=Stationeers (Legacy Server) +Meta.Description=Stationeers Dedicated Server (Legacy) Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=IceOfWraith, CubeCoders @@ -14,7 +14,7 @@ Meta.SpecificDockerImage= Meta.ContainerPolicy=Supported Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Stationeers +App.DisplayName=Stationeers (Legacy Server) App.RootDir=./stationeers/ App.BaseDirectory=./stationeers/600760/ App.ExecutableWin=600760\rocketstation_DedicatedServer.exe @@ -47,7 +47,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceVersion":"previous"},{"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=True App.SteamForceLoginPrompt=False @@ -61,7 +61,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\StationeerServer connected to Steam successfully\<\/color\>$ +Console.AppReadyRegex=StationeerServer connected to Steam successfully<\/color><\/b> Console.UserJoinRegex= Console.UserLeaveRegex= Console.UserChatRegex= From 5cb6f92e849a620007e9cce25b1703fc594d2435 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 5 Jul 2022 19:58:44 +1000 Subject: [PATCH 018/318] Avorion: overhaul of template --- avorion.kvp | 111 ++++++++++++++------ avorionconfig.json | 233 +++++++++++++++++++++++++++++++++++------ avorionmetaconfig.json | 8 ++ 3 files changed, 291 insertions(+), 61 deletions(-) create mode 100644 avorionmetaconfig.json diff --git a/avorion.kvp b/avorion.kvp index 859183d4e..5e32c7a41 100644 --- a/avorion.kvp +++ b/avorion.kvp @@ -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=^<(?(?!Server).+?)> (?.+?)$ +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=^ Player (?.+?) joined the galaxy$ Console.UserLeaveRegex=^ Player (?.+?) 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/ \ No newline at end of file +Console.UserChatRegex=^<(?(?!Server).+?)> (?.+?)$ +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 \ No newline at end of file diff --git a/avorionconfig.json b/avorionconfig.json index b59865810..862138a83 100644 --- a/avorionconfig.json +++ b/avorionconfig.json @@ -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": "", - "EnumValues": {} + "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": "Admin", - "Category": "Server Configuration", - "Description": "Steam64ID for Admin", - "Keywords": "Admin", - "FieldName": "ADMIN", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "ADMIN", - "IncludeInCommandLine": true, - "DefaultValue": "ADMIN", + "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": "Max Players", - "Category": "Server Configuration", - "Description": "Set Max Player Count", - "Keywords": "Players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$MaxUsers", - "IncludeInCommandLine": true, - "DefaultValue": "10", + "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":"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":{} } ] \ No newline at end of file diff --git a/avorionmetaconfig.json b/avorionmetaconfig.json new file mode 100644 index 000000000..676f0066c --- /dev/null +++ b/avorionmetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile":"galaxies/{{GalaxyName}}/server.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?.+?)=(?.*?)$" + } +] \ No newline at end of file From d7757c3f21ad1c0584dbe187d6c480f9470f17ab Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 5 Jul 2022 20:00:02 +1000 Subject: [PATCH 019/318] Stationeers: fix previous --- stationeers.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stationeers.kvp b/stationeers.kvp index 403b0962a..0cb5166db 100644 --- a/stationeers.kvp +++ b/stationeers.kvp @@ -61,7 +61,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=StationeerServer connected to Steam successfully<\/color><\/b> +Console.AppReadyRegex=^StationeerServer connected to Steam successfully<\/color><\/b>$ Console.UserJoinRegex= Console.UserLeaveRegex= Console.UserChatRegex= From 24963256e101e2725d9cf8ec33f29bf668a49a51 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 6 Jul 2022 18:04:30 +1000 Subject: [PATCH 020/318] Avorion: add additional scenario settings --- avorionconfig.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/avorionconfig.json b/avorionconfig.json index 862138a83..5da25d110 100644 --- a/avorionconfig.json +++ b/avorionconfig.json @@ -112,7 +112,9 @@ "DefaultValue":"normal", "EnumValues": { "creative":"Creative", - "normal":"Normal" + "normal":"Normal", + "classic":"Classic", + "freeplay":"FreePlay" } }, { @@ -209,4 +211,4 @@ "Placeholder":"0 - 1", "EnumValues":{} } -] \ No newline at end of file +] From f08e6663b3eab5c0e83e018e0b90c4c77bf67b8d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 7 Jul 2022 09:16:48 +1000 Subject: [PATCH 021/318] Pavlov VR: get full console output --- pavlov-vr.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pavlov-vr.kvp b/pavlov-vr.kvp index af428b41b..33a3b3cff 100755 --- a/pavlov-vr.kvp +++ b/pavlov-vr.kvp @@ -47,13 +47,13 @@ App.RCONConnectDelaySeconds=0 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"622970","UpdateSourceVersion":"{{ServerVersion}}"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/pavlov-vrconfigfile.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Logs","OverwriteExistingFiles":false},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer","OverwriteExistingFiles":false},{"UpdateStageName":"Create Maps Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/maps","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Config File","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"./pavlov-vrconfigfile.ini","OverwriteExistingFiles":false}] -App.Compatibility=None +App.Compatibility=LinuxBufferedConsole App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= +Console.FilterMatchRegex=(\[0m|\[33m) Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ Console.AppReadyRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogGameState: Match State Changed from WaitingToStart to InProgress$ From 01d405e4d711ac015d218e31ec2dcb44773aa7b6 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 9 Jul 2022 13:48:32 +1000 Subject: [PATCH 022/318] Broke Protocol: overhaul of broken template --- broke-protocol.kvp | 85 ++++++++++++++++++++++++++++++ broke-protocolconfig.json | 97 +++++++++++++++++++++++++++++++++++ broke-protocolmetaconfig.json | 7 +++ brokeprotocol.kvp | 36 ------------- brokeprotocolconfig.json | 83 ------------------------------ brokeprotocolmetaconfig.json | 6 --- 6 files changed, 189 insertions(+), 125 deletions(-) create mode 100644 broke-protocol.kvp create mode 100644 broke-protocolconfig.json create mode 100644 broke-protocolmetaconfig.json delete mode 100644 brokeprotocol.kvp delete mode 100644 brokeprotocolconfig.json delete mode 100644 brokeprotocolmetaconfig.json diff --git a/broke-protocol.kvp b/broke-protocol.kvp new file mode 100644 index 000000000..b204eaae3 --- /dev/null +++ b/broke-protocol.kvp @@ -0,0 +1,85 @@ +Meta.DisplayName=Broke Protocol +Meta.Description=Broke Protocol Dedicated Server +Meta.OS=Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://brokeprotocol.com/ +Meta.DisplayImageSource=steam:696370 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=broke-protocolconfig.json +Meta.MetaConfigManifest=broke-protocolmetaconfig.json +Meta.ConfigRoot=broke-protocol.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=Broke Protocol +App.RootDir=./brokeprotocol/ +App.BaseDirectory=./brokeprotocol/server/ +App.ExecutableWin= +App.ExecutableLinux=server/bpgameserver.x86_64 +App.WorkingDir=server +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=-batchmode -logfile +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"696370"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=SIGTERM +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":"UDP","Port":5557,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":5558,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=32 +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 Component Download","UpdateSourcePlatform":"Linux","UpdateSource": "SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://brokeprotocol.com/wp-content/uploads/game.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":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= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^\[SVR\] Ready to serve clients on UDP port: \d+$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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/broke-protocolconfig.json b/broke-protocolconfig.json new file mode 100644 index 000000000..61a74da81 --- /dev/null +++ b/broke-protocolconfig.json @@ -0,0 +1,97 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"$.port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the server name visible in the server list (up to 48 characters). Color codes supported", + "Keywords":"server,name", + "FieldName":"serverName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.serverName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Broke Protocol Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Map", + "Category":"Server Settings", + "Description":"Sets the map the server will load. Can be subscribed to on Steam or included in the \"Maps\" directory", + "Keywords":"map", + "FieldName":"map", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.map", + "IncludeInCommandLine":false, + "DefaultValue":"Default", + "EnumValues":{} + }, + { + "DisplayName":"Server URL", + "Category":"Server Settings", + "Description":"Sets the URL displayed in the server list (up to 48 characters)", + "Keywords":"server,url", + "FieldName":"URL", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.URL", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server at one time (up to 255)", + "Keywords":"player,limit,maximum", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.players", + "IncludeInCommandLine":false, + "DefaultValue":"32", + "EnumValues":{} + }, + { + "DisplayName":"Enable Whitelist", + "Category":"Server Settings", + "Description":"If enabled, only whitelisted players can join", + "Keywords":"whitelist,enable", + "FieldName":"whitelist", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.whitelist", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Whitelisted Players", + "Category":"Server Settings", + "Description":"List of account names for whitelisted players", + "Keywords":"whitelisted,players", + "FieldName":"whitelistedPlayers", + "InputType":"list", + "IsFlagArgument":false, + "ParamFieldName":"whitelistedPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Special":"listfile:./brokeprotocol/whitelist.txt", + "EnumValues": {} + } +] \ No newline at end of file diff --git a/broke-protocolmetaconfig.json b/broke-protocolmetaconfig.json new file mode 100644 index 000000000..317d7ae50 --- /dev/null +++ b/broke-protocolmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"settings.json", + "AutoMap":true, + "ConfigType":"json" + } +] diff --git a/brokeprotocol.kvp b/brokeprotocol.kvp deleted file mode 100644 index fe4a7e6e3..000000000 --- a/brokeprotocol.kvp +++ /dev/null @@ -1,36 +0,0 @@ -App.AdminMethod=STDIO -App.ApplicationPort1=5557 -App.ApplicationPort2=5558 -App.ApplicationReadyMode=Immediate -App.BaseDirectory=./brokeprotocol/ -App.CommandLineArgs=-batchmode -logfile -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat=-{0} "{1}" -App.DisplayName=BrokeProtocol -App.ExecutableLinux=bpgameserver.x86_64 -App.ExecutableWin= -App.Compatibility=1 -App.ExitMethod=SIGTERM -App.ExitString=stop -App.HasReadableConsole=true -App.HasWritableConsole=false -App.RapidStartup=false -App.RootDir=./brokeprotocol/ -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "Server Download","UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", "UpdateSourceData": "https://brokeprotocol.com/wp-content/uploads/game.tar.gz", "UnzipUpdateSource": true}] -App.WorkingDir= -Console.AppReadyRegex=^Server is ready.$ -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserChatRegex=^(?.+?): (?.+)$ -Console.UserJoinRegex=^User (?.+?) \((?-?d+)\) connected from \[::ffff:(?.+?)\]$ -Console.UserLeaveRegex=^User (?.+?) \((?-?d+)\) disconnected\. Reason: (.+?)$ -Meta.Author=Torsten Widmann -Meta.ConfigManifest=brokeprotocolconfig.json -Meta.MetaConfigManifest=brokeprotocolmetaconfig.json -Meta.ConfigRoot=brokeprotocol.kvp -Meta.Description=Broke Protocol is a low-poly roleplaying game. -Meta.DisplayImageSource=url:https://brokeprotocol.com/wp-content/uploads/TitleClear.png -Meta.DisplayName=BrokeProtocol -Meta.EndpointURIFormat= -Meta.OS=2 -Meta.URL=https://brokeprotocol.com/ diff --git a/brokeprotocolconfig.json b/brokeprotocolconfig.json deleted file mode 100644 index 4c8ece0a2..000000000 --- a/brokeprotocolconfig.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - { - "DisplayName": "Server Name", - "Category": "BrokeProtocol Server", - "Description": "Public server name that will be displayed on the Server Browser. Color codes supported. (48 character limit)", - "Keywords": "", - "FieldName": "serverName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "serverName", - "IncludeInCommandLine": false, - "DefaultValue": "Unconfigured Server on AMP", - "EnumValues": {} - }, - { - "DisplayName": "Map", - "Category": "BrokeProtocol Server", - "Description": "Map the server will load. Can be subscribed on Steam or in /Maps directory", - "Keywords": "", - "FieldName": "map", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "map", - "IncludeInCommandLine": false, - "DefaultValue": "Default", - "EnumValues": {} - }, - { - "DisplayName": "Server URL", - "Category": "BrokeProtocol Server", - "Description": "URL displayed on the serverlist. (48 character limit)", - "Keywords": "", - "FieldName": "URL", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "URL", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Players", - "Category": "BrokeProtocol Server", - "Description": "Maximum allowed player connections. (Max: 255)", - "Keywords": "", - "FieldName": "players", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "players", - "IncludeInCommandLine": false, - "DefaultValue": "32", - "EnumValues": {} - }, - { - "DisplayName": "Port", - "Category": "BrokeProtocol Server", - "Description": "The port that the game server runs on.", - "Keywords": "", - "FieldName": "port", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "port", - "IncludeInCommandLine": false, - "DefaultValue": "5557", - "EnumValues": {} - }, - { - "DisplayName": "Whitelist", - "Category": "BrokeProtocol Server", - "Description": "Set a private/whitelisted server. See whitelist.txt for more info.", - "Keywords": "", - "FieldName": "whitelist", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "whitelist", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - } -] diff --git a/brokeprotocolmetaconfig.json b/brokeprotocolmetaconfig.json deleted file mode 100644 index 0f32e63b1..000000000 --- a/brokeprotocolmetaconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "ConfigFile": "/brokeprotokol/settings.json", - "AutoMap": true - } -] From 8b5b9d862b52976fc2d75f5c2d5095ab1262204d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 9 Jul 2022 20:41:23 +1000 Subject: [PATCH 023/318] Wreckfest: add template --- wreckfest.kvp | 80 ++++++ wreckfestconfig.json | 583 +++++++++++++++++++++++++++++++++++++++ wreckfestmetaconfig.json | 8 + 3 files changed, 671 insertions(+) create mode 100644 wreckfest.kvp create mode 100644 wreckfestconfig.json create mode 100644 wreckfestmetaconfig.json diff --git a/wreckfest.kvp b/wreckfest.kvp new file mode 100644 index 000000000..40b64e138 --- /dev/null +++ b/wreckfest.kvp @@ -0,0 +1,80 @@ +Meta.DisplayName=Wreckfest +Meta.Description=Wreckfest Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://order.wreckfestgame.com/ +Meta.DisplayImageSource=steam:228380 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=wreckfestconfig.json +Meta.MetaConfigManifest=wreckfestmetaconfig.json +Meta.ConfigRoot=wreckfest.kvp +Meta.MinAMPVersion=2.3.3.4 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.Prerequsites=[] +App.DisplayName=Wreckfest +App.RootDir=./wreckfest/ +App.BaseDirectory=./wreckfest/361580/ +App.ExecutableWin=361580\Wreckfest_x64.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=361580 +App.LinuxCommandLineArgs=-a wine "./Wreckfest_x64.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -s server_config=server_config.cfg --save-dir={{$FullBaseDir}}saved -server_set game_port={{$GamePort}} steam_port={{$SteamPort}} query_port={{$QueryPort}} {{$FormattedArgs}} +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"228380"} +App.CommandLineParameterFormat={0}={1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=exit +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":33540,"Ref":"GamePort","Name":"Game Port","Description":"Port for main game traffic"},{"Protocol":"Both","Port":27015,"Ref":"SteamPort","Name":"Steam Port","Description":"Port for extended server info"},{"Protocol":"UDP","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server query"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=24 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword= +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=2000 +App.MonitorChildProcessName=wine64 +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^[\d:]+ Server connected to Steam\.$ +Console.UserJoinRegex=^[\d:]+ Player (?.+?) \((?.+?)\) connected\.$ +Console.UserLeaveRegex=^[\d:]+ Player (?.+?) \((?.+?)\) disconnected\.$ +Console.UserChatRegex=^[\d:]+ (?.+?): (?.+)$ +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 \ No newline at end of file diff --git a/wreckfestconfig.json b/wreckfestconfig.json new file mode 100644 index 000000000..79469d110 --- /dev/null +++ b/wreckfestconfig.json @@ -0,0 +1,583 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"game_port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Steam Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$SteamPort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"steam_port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Query Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$QueryPort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"query_port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"", + "Keywords":"server,name", + "FieldName":"server_name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"server_name", + "IncludeInCommandLine":false, + "DefaultValue":"Wreckfest Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Password required to connect to the server. You should change this after first installing the server", + "Keywords":"server,password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"password", + "IncludeInCommandLine":false, + "DefaultValue":"wreckfest", + "EnumValues":{} + }, + { + "DisplayName":"Welcome Message", + "Category":"Server Settings", + "Description":"Player welcome message", + "Keywords":"welcome,message", + "FieldName":"welcome_message", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"welcome_message", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to Wreckfest. Hosted using AMP by CubeCoders", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server at one time", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_players", + "IncludeInCommandLine":false, + "DefaultValue":"24", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Exclude Quick Match Users", + "Category":"Server Settings", + "Description":"When enabled, users entering Quick Match cannot join the server", + "Keywords":"quick,match,exclude", + "FieldName":"exclude_from_quickplay", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"exclude_from_quickplay", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Clear User Privileges On Launch", + "Category":"Server Settings", + "Description":"When enabled, clears previous user privileges when launching the server", + "Keywords":"user,privileges", + "FieldName":"clear_users", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"clear_users", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"No Owner Privileges For First User", + "Category":"Server Settings", + "Description":"When enabled, owner privileges are not given to the first user who joins", + "Keywords":"first,owner,privileges", + "FieldName":"owner_disabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"owner_disabled", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Admin Controls Countdown", + "Category":"Server Settings", + "Description":"When enabled, admin starts the countdown by setting themselves ready. Otherwise the countdown is automatic", + "Keywords":"admin,control,countdown", + "FieldName":"admin_control", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"admin_control", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Countdown Duration", + "Category":"Server Settings", + "Description":"Duration of the countdown", + "Keywords":"countdown,duration", + "FieldName":"lobby_countdown", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"lobby_countdown", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30 - 127", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Required Players for Automatic Countdown", + "Category":"Server Settings", + "Description":"Percentage of players required to be ready to initiate automatic countdown, if enabled", + "Keywords":"players,countdown", + "FieldName":"ready_players_required", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ready_players_required", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "EnumValues":{} + }, + { + "DisplayName":"Admins", + "Category":"Server Settings", + "Description":"Comma separated list of [Steam64 IDs](https://steamidfinder.com/) of players automatically granted admin privileges", + "Keywords":"admin,privileges,automatic", + "FieldName":"admin_steam_ids", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"admin_steam_ids", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"76561198035765683,68475837697026445", + "EnumValues":{} + }, + { + "DisplayName":"Moderators", + "Category":"Server Settings", + "Description":"Comma separated list of [Steam64 IDs](https://steamidfinder.com/) of players automatically granted moderator privileges", + "Keywords":"moderator,privileges,automatic", + "FieldName":"op_steam_ids", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"op_steam_ids", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"76561198035765683,68475837697026445", + "EnumValues":{} + }, + { + "DisplayName":"Session Mode", + "Category":"Server Settings", + "Description":"Sets the session mode for server side point counting across multiple events", + "Keywords":"session,mode", + "FieldName":"session_mode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"session_mode", + "IncludeInCommandLine":false, + "DefaultValue":"normal", + "EnumValues":{ + "normal":"Normal (single event, no cup mode)", + "qualify-sprint":"Qualifying sprint (finishing positions determine - needs \"Qualifying session\" grid order)", + "qualify-lap":"Qualifying lap (lap times determine - needs \"Qualifying session\" grid order)", + "30p-aggr":"Winner 30 (then 27, 25, 23, 20, followed by 1 point less per position)", + "25p-aggr":"Winner 25 (then 18, 15, 12, 10, 8, 6, 4, 2, 1, followed by no points)", + "25p-mod":"Winner 25 (then 20, 16, 11, followed by 1 point less per position up to position 15)", + "24p-lin":"Winner 24 (then 1 point less per position)", + "16p-lin":"Winner 16 (then 1 point less per position for next 15 positions)", + "10p-double":"Winner 20 (then 2 points less per position for next 10 positions)", + "10p-lin":"Winner 10 (then 1 point less per position for next 9 positions)", + "35p-folk":"Winner 35 (then 30, 25, 20, 18, 16, followed by one 1 point less per position up to position 21)", + "f1-1991":"Winner 10 (then 6, 4, 3, 2, 1, followed by no points)", + "f1-2003":"Winner 10 (then 8, 6, 5, 4, 3, 2, 1, followed by no points)", + "f1-2010":"Winner 25 (then 18, 15, 12, 10, 8, 6, 4, 2, 1, followed by no points)", + "player_count_1":"Winner [player count] (then 1 less point per position)" + } + }, + { + "DisplayName":"Grid Order", + "Category":"Server Settings", + "Description":"Sets the method for sorting the grid order", + "Keywords":"grid,order", + "FieldName":"grid_order", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"grid_order", + "IncludeInCommandLine":false, + "DefaultValue":"perf_normal", + "EnumValues":{ + "random":"Random", + "perf_normal":"Performance points (fastest at front)", + "perf_reverse":"Performance points (fastest at back)", + "qualifying":"Qualifying session", + "cup_normal":"Cup points (highest at front)", + "cup_reverse":"Cup points (highest at back)" + } + }, + { + "DisplayName":"Enable Player Voting", + "Category":"Server Settings", + "Description":"When enabled, players will vote for the next event after previous event has ended (requires event rotation. Can be triggered by command \"startvote\" when players in unlocked lobby", + "Keywords":"event,voting", + "FieldName":"enable_track_vote", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"enable_track_vote", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Don't Kick Idling Players", + "Category":"Server Settings", + "Description":"When enabled, idling players will not be kicked while event is in progress", + "Keywords":"kick,idle,idling", + "FieldName":"disable_idle_kick", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disable_idle_kick", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Track", + "Category":"Server Settings", + "Description":"Set track. List available track names with command \"tracks\"", + "Keywords":"track", + "FieldName":"track", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"track", + "IncludeInCommandLine":false, + "DefaultValue":"speedway2_demolition_arena", + "Placeholder":"speedway2_demolition_arena", + "EnumValues":{} + }, + { + "DisplayName":"Game Mode", + "Category":"Server Settings", + "Description":"", + "Keywords":"game,mode", + "FieldName":"gamemode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"gamemode", + "IncludeInCommandLine":false, + "DefaultValue":"derby deathmatch", + "EnumValues":{ + "racing":"Racing", + "derby":"Derby", + "derby deathmatch":"Derby Deathmatch", + "team derby":"Team Derby", + "team race":"Team Race", + "elimination race":"Elimination Race" + } + }, + { + "DisplayName":"Bot Quantity", + "Category":"Server Settings", + "Description":"Pre-populate server with the set number of AI bots", + "Keywords":"bots", + "FieldName":"bots", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"bots", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0 - 24", + "Suffix":"bots", + "EnumValues":{} + }, + { + "DisplayName":"AI Difficulty", + "Category":"Server Settings", + "Description":"Sets difficulty setting of AI bots", + "Keywords":"AI,difficulty", + "FieldName":"ai_difficulty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ai_difficulty", + "IncludeInCommandLine":false, + "DefaultValue":"amateur", + "EnumValues":{ + "novice":"Novice", + "amateur":"Amateur", + "expert":"Expert" + } + }, + { + "DisplayName":"Team Number", + "Category":"Server Settings", + "Description":"Number of teams in team racing and team deathmatch game modes", + "Keywords":"team,number", + "FieldName":"num_teams", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"num_teams", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "2":"2", + "3":"3", + "4":"4" + } + }, + { + "DisplayName":"Lap Number", + "Category":"Server Settings", + "Description":"Number of laps in race game modes", + "Keywords":"laps", + "FieldName":"laps", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"laps", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"1 - 60", + "Suffix":"laps", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch Time Limit", + "Category":"Server Settings", + "Description":"", + "Keywords":"deathmatch,time,limit", + "FieldName":"time_limit", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"time_limit", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Elimination Interval Time", + "Category":"Server Settings", + "Description":"Elimination interval time for elimination race", + "Keywords":"elimination,interval,time", + "FieldName":"elimination_interval", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"elimination_interval", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Each Lap", + "20":"20", + "30":"30", + "45":"45", + "60":"60", + "90":"90", + "120":"120" + } + }, + { + "DisplayName":"Vehicle Damage Level", + "Category":"Server Settings", + "Description":"", + "Keywords":"vehicle,damage", + "FieldName":"vehicle_damage", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"vehicle_damage", + "IncludeInCommandLine":false, + "DefaultValue":"normal", + "EnumValues":{ + "normal":"Normal", + "intense":"Intense", + "realistic":"Realistic", + "extreme":"Extreme" + } + }, + { + "DisplayName":"Maximum Vehicle Class", + "Category":"Server Settings", + "Description":"Allow only vehicles up to the class set", + "Keywords":"vehicle,class", + "FieldName":"car_class_restriction", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"car_class_restriction", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "":"No Restriction", + "a":"Class A", + "b":"Class B", + "c":"Class C" + } + }, + { + "DisplayName":"Specific Car Allowed", + "Category":"Server Settings", + "Description":"If set, allow only the specific car listed. Leave blank for no restriction. List available cars with command \"cars\"", + "Keywords":"car,allowed", + "FieldName":"car_restriction", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"car_restriction", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Disallow Special Vehicles", + "Category":"Server Settings", + "Description":"", + "Keywords":"disallow,special,vehicles", + "FieldName":"special_vehicles_disabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"special_vehicles_disabled", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disallow Car Reset", + "Category":"Server Settings", + "Description":"", + "Keywords":"disallow,car,reset", + "FieldName":"car_reset_disabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"car_reset_disabled", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Car Reset Delay", + "Category":"Server Settings", + "Description":"Set the car reset delay (0 - 20)", + "Keywords":"car,reset,delay", + "FieldName":"car_reset_delay", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"car_reset_delay", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0 - 20", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Disable Speed Limiter", + "Category":"Server Settings", + "Description":"If set, disable speed limiter for players that drive the wrong way", + "Keywords":"disallow,speed,limiter", + "FieldName":"wrong_way_limiter_disabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"wrong_way_limiter_disabled", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Weather", + "Category":"Server Settings", + "Description":"Set event weather. Leave blank for random weather. List available weather names with command \"weathers\"", + "Keywords":"weather", + "FieldName":"weather", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"weather", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Update Frequency", + "Category":"Server Settings", + "Description":"", + "Keywords":"update,frequency", + "FieldName":"frequency", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"frequency", + "IncludeInCommandLine":false, + "DefaultValue":"high", + "EnumValues":{ + "low":"Low", + "high":"High" + } + }, + { + "DisplayName":"Enabled Mods", + "Category":"Server Settings", + "Description":"Comma separated list of folder names of enabled mods on the server. Mod folders need to be copied to server mods folder", + "Keywords":"mods", + "FieldName":"mods", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"mods", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"example,my_mod", + "EnumValues":{} + } +] \ No newline at end of file diff --git a/wreckfestmetaconfig.json b/wreckfestmetaconfig.json new file mode 100644 index 000000000..3458b290b --- /dev/null +++ b/wreckfestmetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile":"server_config.cfg", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormatRegex":"^#?(?[^\\s]+?)=(?.*?)$" + } +] From 10a5aaf3d5e3df7da38de191a0b2a09729aa58fb Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 13 Jul 2022 19:36:51 +1000 Subject: [PATCH 024/318] Xonotic: update repo for config file download --- xonotic.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xonotic.kvp b/xonotic.kvp index c266f6df7..0cbebd0fd 100644 --- a/xonotic.kvp +++ b/xonotic.kvp @@ -40,7 +40,7 @@ App.MaxUsers=8 App.UseRandomAdminPassword=True App.RemoteAdminPassword= App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName":"Server Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://{{ServerReleaseStream}}-{{ServerVersion}}.zip","UpdateSourceTarget":"./","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"./Xonotic/xonotic-linux64-dedicated"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/xonotic/xonoticserver.cfg","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Data Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./xonotic/Xonotic/ServerData/data"},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./xonotic/Xonotic/ServerData/data/server.cfg","UpdateSourceArgs":"./xonoticserver.cfg","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"Server Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://{{ServerReleaseStream}}-{{ServerVersion}}.zip","UpdateSourceTarget":"./","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"./Xonotic/xonotic-linux64-dedicated"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/xonoticserver.cfg","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Data Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./xonotic/Xonotic/ServerData/data"},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./xonotic/Xonotic/ServerData/data/server.cfg","UpdateSourceArgs":"./xonoticserver.cfg","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False From 0e3f7e7adc8b2b383fdb2c117772be91cff416d2 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 14 Jul 2022 17:20:34 +1000 Subject: [PATCH 025/318] The Isle (EVRIMA): add command line flags for new server build --- theisle-evrima.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theisle-evrima.kvp b/theisle-evrima.kvp index 90cd97b0c..4de7cd7b4 100644 --- a/theisle-evrima.kvp +++ b/theisle-evrima.kvp @@ -22,7 +22,7 @@ App.ExecutableLinux=412680/TheIsle/Binaries/Linux/TheIsleServer-Linux-Shipping App.WorkingDir=412680 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} TheIsle -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -log +App.CommandLineArgs={{$PlatformArgs}} TheIsle -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -log -ini:Engine:[EpicOnlineServices]:DedicatedServerClientId=xyza7891gk5PRo3J7G9puCJGFJjmEguW -ini:Engine:[EpicOnlineServices]:DedicatedServerClientSecret=pKWl6t5i9NJK8gTpVlAxzENZ65P8hYzodV8Dqe5Rlc8 App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210"} App.CommandLineParameterFormat=-{0}={1} From e9ca09d1ceca5b1c868ff12fbe41943381edb90f Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sat, 16 Jul 2022 19:56:38 -0500 Subject: [PATCH 026/318] The Forest Updates (#161) * The Forest Updates Updated the config to current features. Added Linux and Docker support. Added metaconfig. * Finalizing config changes * One line got lost, get back in there little line * Heh how did I forget? * Resolve suggestions by Greelan * Tidying up the config settings * Change update stage to CC --- the-forest.kvp | 114 ++++++++--- the-forestconfig.json | 412 +++++++++++++++++++++++++++++--------- the-forestmetaconfig.json | 9 + the-forestserver.cfg | 55 +++++ 4 files changed, 469 insertions(+), 121 deletions(-) create mode 100644 the-forestmetaconfig.json create mode 100644 the-forestserver.cfg diff --git a/the-forest.kvp b/the-forest.kvp index 94e2d2e3b..a781d01cc 100644 --- a/the-forest.kvp +++ b/the-forest.kvp @@ -1,35 +1,87 @@ -App.AdminMethod=STDIO -App.ApplicationPort1=27015 -App.ApplicationPort2=8766 -App.ApplicationPort3=27016 -App.ApplicationReadyMode=Immediate -App.BaseDirectory=./the-forest/556450/ -App.LinuxCommandLineArgs=run {{$ExecutableWin}} -App.CommandLineArgs={{$PlatformArgs}}-showlogs -batchmode -configfilepath server.cfg -savefolderpath saves -serverip {{$ApplicationIPBinding}} -servergameport {{$ApplicationPort1}} -serversteamport {{$ApplicationPort2}} -serverqueryport {{$ApplicationPort3}} -serverplayers {{$MaxUsers}} {{$FormattedArgs}} -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat=-{0} "{1}" +Meta.DisplayName=The Forest +Meta.Description=The Forest Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=CubeCoders Limited, IceOfWraith +Meta.URL=https://store.steampowered.com/app/242760/The_Forest/ +Meta.DisplayImageSource=steam:242760 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$queryPort} +Meta.ConfigManifest=the-forestconfig.json +Meta.MetaConfigManifest=the-forestmetaconfig.json +Meta.ConfigRoot=the-forest.kvp +Meta.MinAMPVersion=2.3.4.3 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.ContainerPolicyReason= +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False App.DisplayName=The Forest -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "242760", "STEAM_COMPAT_DATA_PATH": "{{$FullRootDir}}1580130", "STEAM_COMPAT_CLIENT_INSTALL_PATH": "{{$FullRootDir}}1580130"} -App.ExecutableLinux=1580130/proton -App.ExecutableWin=556450\TheForestDedicatedServer.exe -App.ExitMethod=OS_CLOSE -App.HasReadableConsole=true -App.HasWritableConsole=false -App.RapidStartup=false App.RootDir=./the-forest/ -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "556450", "ForceDownloadPlatform": "Windows"}, {"UpdateStageName": "Proton Compatibility Layer", "UpdateSourcePlatform": "Linux", "UpdateSource": "SteamCMD", "UpdateSourceData":"1580130"}] +App.BaseDirectory=./the-forest/556450/ +App.ExecutableWin=556450\TheForestDedicatedServer.exe +App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=556450 -Console.AppReadyRegex=^Server is ready.$ +App.LinuxCommandLineArgs=-a wine "./TheForestDedicatedServer.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -showlogs -batchmode -configfilepath the-forestserver.cfg -savefolderpath saves {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"242760"} +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":2,"Port":27015,"Offset":0,"Range":1,"Ref":"gamePort","Name":"Game Main Port","Description":"Game Main Port","ChildPorts":null},{"Protocol":2,"Port":8766,"Offset":0,"Range":1,"Ref":"steamPort","Name":"Steam Main Port","Description":"Steam Main Port","ChildPorts":null},{"Protocol":2,"Port":27016,"Offset":0,"Range":1,"Ref":"queryPort","Name":"Steam Query Port","Description":"Steam Query Port","ChildPorts":null}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=gamePort +App.UniversalSleepApplicationUDPPortRef=gamePort +App.UniversalSleepSteamQueryPortRef=queryPort +App.MaxUsers=4 +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": "556450", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/the-forestserver.cfg","UpdateSourceTarget": "./556450/"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=3000 +App.MonitorChildProcessName=wine64 +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserChatRegex=^(?.+?): (?.+)$ -Console.UserJoinRegex=^User (?.+?) \((?-?d+)\) connected from \[::ffff:(?.+?)\]$ -Console.UserLeaveRegex=^User (?.+?) \((?-?d+)\) disconnected\. Reason: (.+?)$ -Meta.Author=CubeCoders Limited -Meta.ConfigManifest=the-forestconfig.json -Meta.ConfigRoot=the-forest.kvp -Meta.Description= -Meta.DisplayImageSource=steam:242760 -Meta.DisplayName=The Forest -Meta.EndpointURIFormat=steam://connect/{ip}/{GenericModule.App.ApplicationPort3} -Meta.OS=1 -Meta.URL=https://store.steampowered.com/app/242760/The_Forest/ \ No newline at end of file +Console.AppReadyRegex=^GameServer init success.*$ +Console.UserJoinRegex= +Console.UserLeaveRegex= +Console.UserChatRegex= +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 \ No newline at end of file diff --git a/the-forestconfig.json b/the-forestconfig.json index 755c26c14..24507e64d 100644 --- a/the-forestconfig.json +++ b/the-forestconfig.json @@ -1,150 +1,382 @@ [ { - "DisplayName": "Server Admin Password", - "Category": "Server Config", - "Description": "", + "DisplayName": "serverIP", + "Category": "Forest - Server Config", + "Description": "serverIP is the binding IP", + "Keywords": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serverIP", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "serverSteamPort", + "Category": "Forest - Server Config", + "Description": "serverSteamPort is the main Steam port", "Keywords": "", - "FieldName": "serverpassword_admin", + "FieldName": "$steamPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "serverSteamPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "serverGamePort", + "Category": "Forest - Server Config", + "Description": "serverGamePort is the main game port", + "Keywords": "", + "FieldName": "$gamePort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "serverGamePort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "serverQueryPort", + "Category": "Forest - Server Config", + "Description": "serverQueryPort is Steam's query port", + "Keywords": "", + "FieldName": "$queryPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "serverQueryPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "Server Name", + "Category": "Forest - Server Config", + "Description": "Server display name.", + "Keywords": "server,Name", + "FieldName": "serverName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serverName", + "IncludeInCommandLine": false, + "DefaultValue": "AMP Forest Server", + "Placeholder": "AMP Forest Server", + "EnumValues": {} + }, + { + "DisplayName": "Max Players", + "Category": "Forest - Server Config", + "Description": "Maximum number of players.", + "Keywords": "server,Players", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "serverPlayers", + "IncludeInCommandLine": false, + "DefaultValue": "4", + "Placeholder": "4", + "Suffix": "Players", + "EnumValues": {} + }, + { + "DisplayName": "Server Password", + "Category": "Forest - Server Config", + "Description": "Server password. Blank means no password.", + "Keywords": "server,password", + "FieldName": "serverPassword", "InputType": "password", "IsFlagArgument": false, - "ParamFieldName": "serverpassword_admin", - "IncludeInCommandLine": true, + "ParamFieldName": "serverPassword", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Server Admin Password", + "Category": "Forest - Server Config", + "Description": "Server administration password. Blank means no password.", + "Keywords": "server,admin,password", + "FieldName": "serverPasswordAdmin", + "InputType": "RandomPassword", + "IsFlagArgument": false, + "ParamFieldName": "serverPasswordAdmin", + "IncludeInCommandLine": false, "DefaultValue": "", "EnumValues": {} }, { "DisplayName": "Server Steam Account", - "Category": "Server Config", - "Description": "", - "Keywords": "", - "FieldName": "serversteamaccount", + "Category": "Forest - Server Config", + "Description": "Use appid 242760 to create a [Steam Server Login Token](https://steamcommunity.com/dev/managegameservers)", + "Keywords": "server,steam,account", + "FieldName": "serverSteamAccount", "InputType": "text", "IsFlagArgument": false, - "ParamFieldName": "serversteamaccount", - "IncludeInCommandLine": true, + "ParamFieldName": "serverSteamAccount", + "IncludeInCommandLine": false, "DefaultValue": "", + "Placeholder": "A375E0CE4E8AB079638DADA3871BEF1B", "EnumValues": {} }, { "DisplayName": "Save Slot", - "Category": "Server Config", - "Description": "", - "Keywords": "", + "Category": "Forest - Server Config", + "Description": "Slot to save the game.", + "Keywords": "save,slot", "FieldName": "slot", - "InputType": "number", + "InputType": "enum", "IsFlagArgument": false, "ParamFieldName": "slot", - "IncludeInCommandLine": true, + "IncludeInCommandLine": false, "DefaultValue": "1", - "EnumValues": {} + "EnumValues": { + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5" + } + }, + { + "DisplayName": "Vegan Mode", + "Category": "Forest - Gameplay Config", + "Description": "No enemies.", + "Keywords": "vegan,mode", + "FieldName": "veganMode", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "veganMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { "DisplayName": "Vegetarian Mode", - "Category": "Gameplay Config", - "Description": "Disables enemies during the daytime", - "Keywords": "", - "FieldName": "vegetarianmode", + "Category": "Forest - Gameplay Config", + "Description": "No enemies during day time.", + "Keywords": "vegetarian,mode", + "FieldName": "vegetarianMode", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "vegetarianmode", - "IncludeInCommandLine": true, - "DefaultValue": "-vegetarianmode" + "IsFlagArgument": false, + "ParamFieldName": "vegetarianMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "No building destruction", - "Category": "Gameplay Config", - "Description": "Prevents buildings from being damaged by players or enemies", - "Keywords": "", - "FieldName": "nobuildingdestruction", + "DisplayName": "Allow Building Destruction", + "Category": "Forest - Gameplay Config", + "Description": "Allow building destruction.", + "Keywords": "allow,building,destruction", + "FieldName": "allowBuildingDestruction", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "nobuildingdestruction", - "IncludeInCommandLine": true, - "DefaultValue": "-nobuildingdestruction" + "IsFlagArgument": false, + "ParamFieldName": "allowBuildingDestruction", + "IncludeInCommandLine": false, + "DefaultValue": "on", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "Trees grow while sleeping", - "Category": "Gameplay Config", - "Description": "Trees will regrow overnight while you sleep if enabled", - "Keywords": "", - "FieldName": "treeregrowmode", + "DisplayName": "Tree Regrow Mode", + "Category": "Forest - Gameplay Config", + "Description": "Regrow 10% of cut down trees when sleeping.", + "Keywords": "tree,regrow,mode", + "FieldName": "treeRegrowMode", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "treeregrowmode", - "IncludeInCommandLine": true, - "DefaultValue": "-treeregrowmode" + "IsFlagArgument": false, + "ParamFieldName": "treeRegrowMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { "DisplayName": "Allow Cheats", - "Category": "Gameplay Config", - "Description": "Allow clients to use the development console (Use with caution!)", - "Keywords": "", - "FieldName": "allowcheats", + "Category": "Forest - Gameplay Config", + "Description": "Allow clients to use the built in debug console.", + "Keywords": "allow,cheats", + "FieldName": "allowCheats", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "allowcheats", - "IncludeInCommandLine": true, - "DefaultValue": "-allowcheats" + "IsFlagArgument": false, + "ParamFieldName": "allowCheats", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "Reset Holes", - "Category": "Gameplay Config", - "Description": "Reset all existing floor holes when loading a save", - "Keywords": "", - "FieldName": "resetholesmode", + "DisplayName": "Reset Holes Mode", + "Category": "Forest - Gameplay Config", + "Description": "Reset all structure holes when loading a save.", + "Keywords": "reset,holes,mode", + "FieldName": "resetHolesMode", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "resetholesmode", - "IncludeInCommandLine": true, - "DefaultValue": "-resetholesmode" + "IsFlagArgument": false, + "ParamFieldName": "resetHolesMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "Allow enemies in creative", - "Category": "Gameplay Config", - "Description": "Enemies will spawn even when creative mode is enabled", - "Keywords": "", - "FieldName": "allowenemiescreative", + "DisplayName": "Allow Enemies in Creative Mode", + "Category": "Forest - Gameplay Config", + "Description": "Allow enemies in creative games.", + "Keywords": "allow,enemies,creative,mode", + "FieldName": "allowEnemiesCreativeMode", "InputType": "checkbox", - "IsFlagArgument": true, - "ParamFieldName": "allowenemiescreative", - "IncludeInCommandLine": true, - "DefaultValue": "-allowenemiescreative" + "IsFlagArgument": false, + "ParamFieldName": "allowEnemiesCreativeMode", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { "DisplayName": "Realistic Player Damage", - "Category": "Gameplay Config", - "Description": "Players take more damage", - "Keywords": "", + "Category": "Forest - Gameplay Config", + "Description": "Players take more damage.", + "Keywords": "realistic,player,damage", "FieldName": "realisticPlayerDamage", "InputType": "checkbox", - "IsFlagArgument": true, + "IsFlagArgument": false, "ParamFieldName": "realisticPlayerDamage", - "IncludeInCommandLine": true, - "DefaultValue": "-realisticPlayerDamage" + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { "DisplayName": "Enable VAC", - "Category": "Server Config", - "Description": "Use Valve Anti-Cheat to help protect against cheaters and to use VAC bans", - "Keywords": "", + "Category": "Forest - Server Config", + "Description": "Enable VAC (Valve Anti-cheat System) on the server.", + "Keywords": "enable,vac,valve,anti,cheat", "FieldName": "enableVAC", "InputType": "checkbox", - "IsFlagArgument": true, + "IsFlagArgument": false, "ParamFieldName": "enableVAC", - "IncludeInCommandLine": true, - "DefaultValue": "-enableVAC" + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } }, { - "DisplayName": "Server save interval", - "Category": "Server Config", - "Description": "How often in minutes the server should save changes to disk", - "Keywords": "", - "FieldName": "serverautosaveinterval", + "DisplayName": "Server Save Interval", + "Category": "Forest - Server Config", + "Description": "Time between server auto saves in minutes - The minumum time is 15 minutes, the default time is 30.", + "Keywords": "server,auto,save,interval", + "FieldName": "serverAutoSaveInterval", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "serverAutoSaveInterval", + "IncludeInCommandLine": false, + "DefaultValue": "30", + "Placeholder` ": "30", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Game Difficulty", + "Category": "Forest - Server Config", + "Description": "Game difficulty mode.", + "Keywords": "game,difficulty", + "FieldName": "difficulty", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "difficulty", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Peaceful": "Peaceful", + "Normal": "Normal", + "Hard": "Hard" + } + }, + { + "DisplayName": "Show Logs", + "Category": "Forest - Server Config", + "Description": "Show event log.", + "Keywords": "Show,event,log", + "FieldName": "showLogs", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "showLogs", + "IncludeInCommandLine": false, + "DefaultValue": "off", + "EnumValues": { + "False": "off", + "True": "on" + } + }, + { + "DisplayName": "Server Contact", + "Category": "Forest - Server Config", + "Description": "Contact email for server admin.", + "Keywords": "server,contact,email", + "FieldName": "serverContact", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serverContact", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "email@gmail.com", + "EnumValues": {} + }, + { + "DisplayName": "Target Idle FPS", + "Category": "Forest - Server Config", + "Description": "Target FPS when no client is connected.", + "Keywords": "target,idle,fps", + "FieldName": "targetFpsIdle", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "targetFpsIdle", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "Placeholder": "5", + "Suffix": "FPS", + "EnumValues": {} + }, + { + "DisplayName": "Target Active FPS", + "Category": "Forest - Server Config", + "Description": "Target FPS when there is at least one client connected.", + "Keywords": "target,active,fps", + "FieldName": "targetFpsActive", "InputType": "number", "IsFlagArgument": false, - "ParamFieldName": "serverautosaveinterval", - "IncludeInCommandLine": true, - "DefaultValue": "15", + "ParamFieldName": "targetFpsActive", + "IncludeInCommandLine": false, + "DefaultValue": "60", + "Placeholder": "60", + "Suffix": "FPS", "EnumValues": {} } ] \ No newline at end of file diff --git a/the-forestmetaconfig.json b/the-forestmetaconfig.json new file mode 100644 index 000000000..4a82b0bef --- /dev/null +++ b/the-forestmetaconfig.json @@ -0,0 +1,9 @@ +[ + { + "ConfigFile": "the-forestserver.cfg", + "AutoMap": true, + "ConfigType": "kvp", + "ConfigFormat": "{0} {1}", + "ConfigFormatRegex": "^(?.+?) (?.*?)$" + } +] \ No newline at end of file diff --git a/the-forestserver.cfg b/the-forestserver.cfg new file mode 100644 index 000000000..fb69c1b2f --- /dev/null +++ b/the-forestserver.cfg @@ -0,0 +1,55 @@ +// Dedicated Server Settings. +// Server IP address - Note: If you have a router, this address is the internal address, and you need to configure ports forwarding +serverIP 0.0.0.0 +// Steam Communication Port - Note: If you have a router you will need to open this port. +serverSteamPort 8766 +// Game Communication Port - Note: If you have a router you will need to open this port. +serverGamePort 27015 +// Query Communication Port - Note: If you have a router you will need to open this port. +serverQueryPort 27016 +// Server display name +serverName AMP Forest Server +// Maximum number of players +serverPlayers 4 +// Enable VAC (Valve Anti-cheat System at the server. Must be set off or on +enableVAC off +// Server password. blank means no password +serverPassword +// Server administration password. blank means no password +serverPasswordAdmin +// Your Steam account name. blank means anonymous +serverSteamAccount +// Time between server auto saves in minutes - The minumum time is 15 minutes, the default time is 30 +serverAutoSaveInterval 30 +// Game difficulty mode. Must be set to Peaceful Normal or Hard +difficulty Normal +// New or continue a game. Must be set to New or Continue +initType Continue +// Slot to save the game. Must be set 1 2 3 4 or 5 +slot 1 +// Show event log. Must be set off or on +showLogs off +// Contact email for server admin +serverContact email@gmail.com +// No enemies +veganMode off +// No enemies during day time +vegetarianMode off +// Reset all structure holes when loading a save +resetHolesMode off +// Regrow 10% of cut down trees when sleeping +treeRegrowMode off +// Allow building destruction +allowBuildingDestruction on +// Allow enemies in creative games +allowEnemiesCreativeMode off +// Allow clients to use the built in debug console +allowCheats off +// Use full weapon damage values when attacking other players +realisticPlayerDamage off +// Allows defining a custom folder for save slots, leave empty to use the default location +saveFolderPath saves +// Target FPS when no client is connected +targetFpsIdle 5 +// Target FPS when there is at least one client connected +targetFpsActive 60 From 965ceca08e4b9421bbde4af7eb984a7053211ef6 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 28 Jul 2022 13:37:04 +1000 Subject: [PATCH 027/318] The Isle (EVRIMA): add settings (#171) - Updates for queue server - QueryPort no longer used for connecting etc (but not entirely clear whether fully deprecated, so keeping as assigned for time being) - Minor other regex tweaks --- theisle-evrima.kvp | 14 +++++++------- theisle-evrimaconfig.json | 29 +++++++++++++++++++++++++++++ theisle-evrimagame.ini | 2 ++ 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/theisle-evrima.kvp b/theisle-evrima.kvp index 4de7cd7b4..06f963bc9 100644 --- a/theisle-evrima.kvp +++ b/theisle-evrima.kvp @@ -5,7 +5,7 @@ Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://survivetheisle.com/ Meta.DisplayImageSource=steam:376210 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.EndpointURIFormat= Meta.ConfigManifest=theisle-evrimaconfig.json Meta.MetaConfigManifest=theisle-evrimametaconfig.json Meta.ConfigRoot=theisle-evrima.kvp @@ -36,11 +36,11 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Name":"Game Port","Description":"Port for game traffic","Port":7777,"Ref":"GamePort"},{"Protocol":"Both","Name":"Query Port","Description":"Port for server query traffic","Port":7778,"Ref":"QueryPort"},{"Protocol":"TCP","Name":"RCON Port","Description":"Port for RCON traffic","Port":8888,"Ref":"RCONPort"}] +App.Ports=[{"Protocol":"Both","Name":"Game Port","Description":"Port for game traffic","Port":7777,"Ref":"GamePort"},{"Protocol":"Both","Name":"Query Port","Description":"Port for server query traffic","Port":7778,"Ref":"QueryPort"},{"Protocol":"TCP","Name":"Queue Port","Description":"Port for queue server traffic","Port":10000,"Ref":"QueuePort"},{"Protocol":"TCP","Name":"RCON Port","Description":"Port for RCON traffic","Port":8888,"Ref":"RCONPort"}] App.PrimaryApplicationPortRef=GamePort App.AdminPortRef=RCONPort App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort +App.UniversalSleepSteamQueryPortRef= App.MaxUsers=50 App.UseRandomAdminPassword=False App.RemoteAdminPassword= @@ -57,13 +57,13 @@ App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= +Console.FilterMatchRegex=\[\d+m Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= Console.AppReadyRegex=^(\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\])?LogInit: Display: Engine is initialized\. Leaving FEngineLoop::Init\(\)$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.SuppressLogAtStart=False Console.ActivateLogRegex= diff --git a/theisle-evrimaconfig.json b/theisle-evrimaconfig.json index cd3dbe2ff..e2d4c2950 100644 --- a/theisle-evrimaconfig.json +++ b/theisle-evrimaconfig.json @@ -25,6 +25,19 @@ "IncludeInCommandLine":false, "EnumValues":{} }, + { + "DisplayName":"Queue Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$QueuePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/TheIsle.TIGameSession.QueuePort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, { "DisplayName":"RCON Port", "Category":"Server Settings", @@ -136,5 +149,21 @@ "IncludeInCommandLine":false, "DefaultValue":"", "EnumValues":{} + }, + { + "DisplayName":"Enable Queue Server", + "Category":"Server Settings", + "Description":"If enabled, players can queue to join a full server. Requires the Queue Port to be opened", + "Keywords":"queue,server", + "FieldName":"bQueueEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/TheIsle.TIGameSession.bQueueEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } } ] \ No newline at end of file diff --git a/theisle-evrimagame.ini b/theisle-evrimagame.ini index 392a2f2f1..c2c5a7c97 100644 --- a/theisle-evrimagame.ini +++ b/theisle-evrimagame.ini @@ -8,6 +8,8 @@ bEnableGlobalChat=true bGlobalIsSpeciesOnly=false bLocalIsSpeciesOnly=true LocalChatRange=20000.f +bQueueEnabled=true +QueuePort=10000 [/Script/Engine.GameSession] MaxPlayers=50 From 57f79b425a145bd52874cb6e84b85f49b655fd1f Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 29 Jul 2022 20:14:11 +1000 Subject: [PATCH 028/318] Add Carrier Command 2 (#170) --- carrier-command2.kvp | 81 +++++++++++++++ carrier-command2config.json | 157 ++++++++++++++++++++++++++++++ carrier-command2metaconfig.json | 7 ++ carrier-command2server_config.xml | 6 ++ 4 files changed, 251 insertions(+) create mode 100644 carrier-command2.kvp create mode 100644 carrier-command2config.json create mode 100644 carrier-command2metaconfig.json create mode 100644 carrier-command2server_config.xml diff --git a/carrier-command2.kvp b/carrier-command2.kvp new file mode 100644 index 000000000..5279c7f63 --- /dev/null +++ b/carrier-command2.kvp @@ -0,0 +1,81 @@ +Meta.DisplayName=Carrier Command 2 +Meta.Description=Carrier Command 2 Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://steamdb.info/app/1489630/ +Meta.DisplayImageSource=steam:1489630 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=carrier-command2config.json +Meta.MetaConfigManifest=carrier-command2metaconfig.json +Meta.ConfigRoot=carrier-command2.kvp +Meta.MinAMPVersion=2.3.3.0 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Carrier Command 2 +App.RootDir=./carrier-command2/ +App.BaseDirectory=./carrier-command2/1489630/ +App.ExecutableWin=1489630\dedicated_server.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=1489630 +App.LinuxCommandLineArgs=-a wine "./dedicated_server.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1489630"} +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":"UDP","Port":25565,"Ref":"GamePort","Name":"Game Port","Description":"Port for main game traffic"},{"Protocol":"UDP","Port":25566,"Ref":"SteamPort","Name":"Steam Port","Description":"Port for extended server info"},{"Protocol":"UDP","Port":25567,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port"},{"Protocol":"UDP","Port":25568,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server query"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=4 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/carrier-command2server_config.xml","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}server_config.xml","UpdateSourceArgs":"{{$FullInstanceDir}}carrier-command2server_config.xml","OverwriteExistingFiles":false}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=wine +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex=\[\d+m +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^[\d:]+ : connected to Steam$ +Console.UserJoinRegex=^[\d:]+ : (?.+?) \(steam id (?.+?)\) authenticated by Steam$ +Console.UserLeaveRegex=^[\d:]+ : (?.+?) \(steam id (?.+?)\) disconnected$ +Console.UserChatRegex=^$ +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/carrier-command2config.json b/carrier-command2config.json new file mode 100644 index 000000000..1b889a648 --- /dev/null +++ b/carrier-command2config.json @@ -0,0 +1,157 @@ +[ + { + "DisplayName":"Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"/data/@port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Game Data Path", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"game_data_path", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"/data/@game_data_path", + "IncludeInCommandLine":false, + "DefaultValue":"rom_0", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Name of the server", + "Keywords":"name", + "FieldName":"server_name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/data/@server_name", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Carrier Command 2 Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Password to connect to the server", + "Keywords":"password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/data/@password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that can connect to the server at one time", + "Keywords":"player,limit,maximum", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@max_players", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "Suffix":"players", + "Placeholder":"4", + "EnumValues":{} + }, + { + "DisplayName":"Island Count", + "Category":"Server Settings", + "Description":"Number of islands to spawn on the server. Warning: more than 64 will cause the client to crash when zooming in on the map", + "Keywords":"island,count", + "FieldName":"island_count", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@island_count", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "EnumValues":{} + }, + { + "DisplayName":"Human Team Count", + "Category":"Server Settings", + "Description":"Number of player-controlled carriers to spawn", + "Keywords":"human,team,count", + "FieldName":"team_count_human", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@team_count_human", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"AI Team Count", + "Category":"Server Settings", + "Description":"Number of AI carriers to spawn", + "Keywords":"ai,team,count", + "FieldName":"team_count_ai", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@team_count_ai", + "IncludeInCommandLine":false, + "SkipIfEmpty":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Base Difficulty", + "Category":"Server Settings", + "Description":"Sets the minimum shield difficulty an island can have", + "Keywords":"base,difficulty", + "FieldName":"base_difficulty", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/data/@base_difficulty", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Loadout Type", + "Category":"Server Settings", + "Description":"Sets the loadout type", + "Keywords":"loudout,type", + "FieldName":"loadout_type", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/data/@loadout_type", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Default", + "1":"Minimal", + "2":"Complete" + } + }, + { + "DisplayName":"Blueprints", + "Category":"Server Settings", + "Description":"Sets the number of blueprints", + "Keywords":"blueprints", + "FieldName":"blueprints", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/data/@blueprints", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Default", + "1":"None", + "2":"All" + } + } +] \ No newline at end of file diff --git a/carrier-command2metaconfig.json b/carrier-command2metaconfig.json new file mode 100644 index 000000000..0ba4bee13 --- /dev/null +++ b/carrier-command2metaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"server_config.xml", + "AutoMap":true, + "ConfigType":"xml" + } +] diff --git a/carrier-command2server_config.xml b/carrier-command2server_config.xml new file mode 100644 index 000000000..f9fc7c4d7 --- /dev/null +++ b/carrier-command2server_config.xml @@ -0,0 +1,6 @@ + + + + + + From db1a226f378143da8b1637297d95ebf34aca913d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 30 Jul 2022 13:29:05 +1000 Subject: [PATCH 029/318] Pavlov VR: update user join/leave regex (#172) * Create manifest.json * Revert "Create manifest.json" This reverts commit c164ec141f209ba98beb1abfe3fc6ee735b3e817. * Pavlov: update user join/leave regex --- pavlov-vr.kvp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pavlov-vr.kvp b/pavlov-vr.kvp index 33a3b3cff..8849b517c 100755 --- a/pavlov-vr.kvp +++ b/pavlov-vr.kvp @@ -57,9 +57,9 @@ Console.FilterMatchRegex=(\[0m|\[33m) Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ Console.AppReadyRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogGameState: Match State Changed from WaitingToStart to InProgress$ -Console.UserJoinRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogNet: Join succeeded: (?.+?)$ -Console.UserLeaveRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]PavlovLog: Ending auth session for: (?.+?) (?.+?)$ -Console.UserChatRegex= +Console.UserJoinRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]PavlovLog: Player (?.+?) Joined, current bot Num = \d+$ +Console.UserLeaveRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogNet: UChannel::Close: Sending CloseBunch\. (?:.*?) UniqueId: NULL:(?.+?)$ +Console.UserChatRegex=^$ Console.UpdateAvailableRegex= Console.SuppressLogAtStart=False Console.ActivateLogRegex= From 234ede77b77212a7ea9d8e2d46456b24e0272434 Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Mon, 1 Aug 2022 12:45:29 +0100 Subject: [PATCH 030/318] Update geyser.kvp Hide config because this configuration is too outdated to function. --- geyser.kvp | 1 + 1 file changed, 1 insertion(+) diff --git a/geyser.kvp b/geyser.kvp index bd9da4954..111f359ba 100644 --- a/geyser.kvp +++ b/geyser.kvp @@ -40,3 +40,4 @@ Meta.URL=https://github.com/CubeCoders/AMPTemplates/blob/main/geysermc.kvp Meta.DisplayImageSource=url:https://camo.githubusercontent.com/2c38e59629bbb0f2e632c231416baf222119b55a24803cf548e04c26e2785760/68747470733a2f2f6765797365726d632e6f72672f696d672f6765797365722d313736302d3836302e706e67 Meta.ConfigManifest=configmanifest.json Meta.ConfigRoot=GenericModule.kvp +Meta.Hidden=true From 2639b50ddb25de27b9919f0aa90c71822694e010 Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Fri, 5 Aug 2022 17:33:40 +0100 Subject: [PATCH 031/318] Update last-oasis.kvp --- last-oasis.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/last-oasis.kvp b/last-oasis.kvp index fbd9699d4..ed2903906 100644 --- a/last-oasis.kvp +++ b/last-oasis.kvp @@ -13,7 +13,7 @@ App.DisplayName=Last Oasis App.RootDir=./last-oasis/ App.BaseDirectory=./last-oasis/920720/ App.ExecutableWin=920720\MistServer.exe -App.ExecutableLinux=920720/Mist/Binaries/Linux/MistServer-Linux-Shipping +App.ExecutableLinux=920720/Mist/Binaries/Linux/MistServer App.WorkingDir=920720 App.LinuxCommandLineArgs=Mist App.WindowsCommandLineArgs= From ccbaac7f73caaf553860b1f83faa979fa741f761 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 5 Aug 2022 23:32:35 -0500 Subject: [PATCH 032/318] Add GatekeeperV2 Bot (#163) * Add GatekeeperV2 Bot (draft) This is a dedicated generic config to host the WIP bot created by k8thekat here: https://github.com/k8thekat/GatekeeperV2 * Update settings and startup arg * Update for release * Update manifest.json * Update gatekeeperv2.kvp * Update manifest.json * Update gatekeeperv2.kvp * Fixing Suggestions --- gatekeeperv2.kvp | 86 ++++++++++++++++++++++ gatekeeperv2config.json | 143 ++++++++++++++++++++++++++++++++++++ gatekeeperv2metaconfig.json | 20 +++++ 3 files changed, 249 insertions(+) create mode 100644 gatekeeperv2.kvp create mode 100644 gatekeeperv2config.json create mode 100644 gatekeeperv2metaconfig.json diff --git a/gatekeeperv2.kvp b/gatekeeperv2.kvp new file mode 100644 index 000000000..601e71106 --- /dev/null +++ b/gatekeeperv2.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=GatekeeperV2 Bot +Meta.Description=AMP Discord Bot created by k8thekat - https://github.com/k8thekat/GatekeeperV2 +Meta.OS=Linux +Meta.Arch=x86_64 +Meta.Author=k8thekat, IceOfWraith +Meta.URL=https://github.com/k8thekat/GatekeeperV2 +Meta.DisplayImageSource=url:https://avatars.githubusercontent.com/u/68672235?v=4 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=gatekeeperv2config.json +Meta.MetaConfigManifest=gatekeeperv2metaconfig.json +Meta.ConfigRoot=gatekeeperv2.kvp +Meta.MinAMPVersion= +Meta.SpecificDockerImage=cool11989/iceofwraith:gatekeeperv2 +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=GatekeeperV2 Bot +App.RootDir=./gatekeeperv2/ +App.BaseDirectory=./gatekeeperv2/ +App.ExecutableWin=$PATH/python3 +App.ExecutableLinux=/usr/bin/python3 +App.WorkingDir=GatekeeperV2-main +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=start.py -token {{dev}}{{debug}}{{discord}}{{super}} {{guildID}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={} +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":"UDP","Port":4444,"Ref":"Port","Name":"Port","Description":"Dummy port"}] +App.AdminPortRef=Port +App.PrimaryApplicationPortRef=Port +App.UniversalSleepApplicationUDPPortRef=Port +App.UniversalSleepSteamQueryPortRef=Port +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":"Bot Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/k8thekat/GatekeeperV2/archive/refs/heads/main.zip","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=True +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex= +Console.AppReadyRegex= +Console.UserJoinRegex= +Console.UserLeaveRegex= +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/gatekeeperv2config.json b/gatekeeperv2config.json new file mode 100644 index 000000000..763232ca0 --- /dev/null +++ b/gatekeeperv2config.json @@ -0,0 +1,143 @@ +[ + { + "DisplayName": "Discord Bot Token", + "Category": "Bot Settings", + "Description": "Enter your [Discord Bot Token](https://discord.com/developers/applications/).", + "Keywords": "discord,token", + "FieldName": "token", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "token", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "319/f0dsA0jk0PKge2jkpSFWEauopbvejwaioj32omoi32JIOabdsajotjewq3jr2==" + }, + { + "DisplayName": "Discord Server Guild ID", + "Category": "Bot Settings", + "Description": "Enter your Discord server's [Guild ID](https://poshbot.readthedocs.io/en/latest/guides/backends/setup-discord-backend/#find-your-guild-id-server-id).", + "Keywords": "discord,guild,id", + "FieldName": "guildID", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "guildID", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "883220743755206666" + }, + { + "DisplayName": "AMP User", + "Category": "Bot Settings", + "Description": "The Login Name for the account you want the bot to use. This account must have \"Super Admin\" privilege for setup of new instances and after upgrades.", + "Keywords": "amp,user", + "FieldName": "AMPUser", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "AMPUser", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "amp-bot" + }, + { + "DisplayName": "AMP Password", + "Category": "Bot Settings", + "Description": "The password for said Login.", + "Keywords": "amp,password", + "FieldName": "AMPPassword", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "AMPPassword", + "IncludeInCommandLine": false, + "DefaultValue": "" + }, + { + "DisplayName": "AMP 2FA Token", + "Category": "Bot Settings", + "Description": "The 2Factor AUTH Code for said Login.", + "Keywords": "amp,2factor,2fa,token", + "FieldName": "AMPAuth", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "AMPAuth", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "MQ2TMMETGB4WCYJY8NRDINDEMKQTGMZTMIZDOZTFME3TSMRXGA2A" + }, + { + "DisplayName": "AMP URL", + "Category": "Bot Settings", + "Description": "The URL or IP of your AMP ADS instance.", + "Keywords": "amp,url", + "FieldName": "AMPurl", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "AMPurl", + "IncludeInCommandLine": false, + "DefaultValue": "http://127.0.0.1:8080", + "Placeholder": "http://127.0.0.1:8080" + }, + { + "DisplayName": "Super Admin", + "Category": "Bot Settings", + "Description": "The bot requires Super Admin for first time setup of new instances and after upgrades. Enable this to keep the permission intact. Use at your own risk as this poses some security risk at the expense of convenience.", + "Keywords": "super,admin", + "FieldName": "super", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "super", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": " -super" + } + }, + { + "DisplayName": "Disable Discord Integration", + "Category": "Bot Settings", + "Description": "This setting is for dev use.", + "Keywords": "discord,integration", + "FieldName": "discord", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "discord", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": " -discord" + } + }, + { + "DisplayName": "Development Print Statements", + "Category": "Bot Settings", + "Description": "This setting is for dev use.", + "Keywords": "development,print,statements", + "FieldName": "dev", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "dev", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": " -dev" + } + }, + { + "DisplayName": "Debug Logging", + "Category": "Bot Settings", + "Description": "This setting is for dev use.", + "Keywords": "debug,logging", + "FieldName": "debug", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "debug", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": " -debug" + } + } +] diff --git a/gatekeeperv2metaconfig.json b/gatekeeperv2metaconfig.json new file mode 100644 index 000000000..0b8269462 --- /dev/null +++ b/gatekeeperv2metaconfig.json @@ -0,0 +1,20 @@ +[ + { + "ConfigFile": "GatekeeperV2-main/tokens.py", + "AutoMap": false, + "ConfigType": "kvp", + "ConfigFormat": "{0} = '{1}'", + "Subsections": [ + { + "Heading": "$root", + "SettingMappings": { + "token": "token", + "AMPUser": "AMPUser", + "AMPPassword": "AMPPassword", + "AMPAuth": "AMPAuth", + "AMPurl": "AMPurl" + } + } + ] + } +] From 9bb37f26183b105702f4188687fab8f176b15123 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sat, 6 Aug 2022 12:33:05 -0500 Subject: [PATCH 033/318] Update V Rising and Satisfactory Chat Regex (#173) * Update V Rising Chat Regex V Rising has no chat regex, so AMP was populating a default which caused the output to appear as chat anytime there was a `:` in the line. * Update satisfactory.kvp --- satisfactory.kvp | 2 +- v-rising.kvp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/satisfactory.kvp b/satisfactory.kvp index 7228ea42b..7e2e7daa6 100644 --- a/satisfactory.kvp +++ b/satisfactory.kvp @@ -27,7 +27,7 @@ Console.FilterMatchRegex=^\[.+?\]\[.+?\] Console.FilterMatchReplacement= Console.AppReadyRegex=^LogWorld: Bringing up level for play took: [\d\.]+$|^LogInit: Display: Starting Game\.$ Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserChatRegex=^(?.+?): (?.+)$ +Console.UserChatRegex= Console.UserJoinRegex=^User (?.+?) \((?-?d+)\) connected from \[::ffff:(?.+?)\]$ Console.UserLeaveRegex=^User (?.+?) \((?-?d+)\) disconnected\. Reason: (.+?)$ Meta.Author=CubeCoders Limited diff --git a/v-rising.kvp b/v-rising.kvp index ecc0d99d0..35a09c724 100644 --- a/v-rising.kvp +++ b/v-rising.kvp @@ -71,7 +71,7 @@ Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ Console.AppReadyRegex=^Server is ready.$ Console.UserJoinRegex=^User '{Steam (?\d+)}' '\d+', approvedUserIndex: \d+, Character: '(?.+?)' connected as ID '\d+,\d+', Entity '[\d,]+'.$ Console.UserLeaveRegex=^User '{Steam (?\d+)}' disconnected. approvedUserIndex: \d+ Reason: (.+?) (.+?)$ -Console.UserChatRegex=^(?.+?): (?.+)$ +Console.UserChatRegex= Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.MetricsRegex= Console.SuppressLogAtStart=False From fae9c20ed38d1a3ab58326492aa7c3ff18429a4d Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sat, 6 Aug 2022 19:11:50 -0500 Subject: [PATCH 034/318] Update Empyrion Config Manifest (#174) Added the new Stranded at Nemesis scenario and clarified menu tab names. --- empyrion-galactic-survivalconfig.json | 53 ++++++++++++++------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/empyrion-galactic-survivalconfig.json b/empyrion-galactic-survivalconfig.json index ffcfffe22..51f0b6a58 100644 --- a/empyrion-galactic-survivalconfig.json +++ b/empyrion-galactic-survivalconfig.json @@ -1,7 +1,7 @@ [ { "DisplayName": "Server Port", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Must be edited using the Edit Port button in ADS.", "Keywords": "", "FieldName": "$GamePort1", @@ -15,7 +15,7 @@ }, { "DisplayName": "Telnet Port", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Must be edited using the Edit Port button in ADS.", "Keywords": "", "FieldName": "$TelnetPort", @@ -29,7 +29,7 @@ }, { "DisplayName": "Telnet Password", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Must be set using AMP.", "Keywords": "", "FieldName": "$RemoteAdminPassword", @@ -43,7 +43,7 @@ }, { "DisplayName": "Server Name", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Name that will be shown in the Server Browser.", "Keywords": "server,name", "FieldName": "Srv_Name", @@ -56,7 +56,7 @@ }, { "DisplayName": "Server Password", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Password players will use to join the server.", "Keywords": "server,Password", "FieldName": "Srv_Password", @@ -69,7 +69,7 @@ }, { "DisplayName": "Max Players ", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Maximum number of player allowed to join simultaneously in the server.", "Keywords": "Max,Players", "FieldName": "$MaxUsers", @@ -82,7 +82,7 @@ }, { "DisplayName": "Server Description", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Server description shown in Server Browser, can contain [b]bold[/b] text or a [u][url=empyriongame.com]link[/url][/u].", "Keywords": "Server,Description", "FieldName": "Srv_Description", @@ -95,7 +95,7 @@ }, { "DisplayName": "Reserve Playfields", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Determines the number of playfield servers that are held in reserve. For busy public servers.", "Keywords": "Reserve,Playfields", "FieldName": "Srv_ReservePlayfields", @@ -108,7 +108,7 @@ }, { "DisplayName": "Public Server", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Set the following parameter to false if you want to hide your server in the Server Browser. If server is not visible you can connect via IP or via joining a friend's game.", "Keywords": "public,server", "FieldName": "Srv_Public", @@ -124,7 +124,7 @@ }, { "DisplayName": "Stop Period", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "All playfield servers will be automatically stopped every real time hours. Players will get some warning messages before.", "Keywords": "Stop,Period", "FieldName": "Srv_StopPeriod", @@ -137,7 +137,7 @@ }, { "DisplayName": "Enable EAC", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Activate Easy Anti Cheat (clients have to enable EAC via Options -> Misc to connect to a EAC protected server).", "Keywords": "enable,EAC", "FieldName": "EACActive", @@ -153,7 +153,7 @@ }, { "DisplayName": "Save Directory", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Location of save game folder.", "Keywords": "save,directory", "FieldName": "SaveDirectory", @@ -166,7 +166,7 @@ }, { "DisplayName": "Max Allowed Size Class", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Restrict allowed Blueprint size class: restricted types are not allowed to be produced or spawned. 1 = allow only small blueprints, 10 = allow very large blueprints, 50 = allow gigantic blueprints, 0 = no limits. Warning: large blueprints can have very strong performance impact!", "Keywords": "Max,Allowed,Size,Class", "FieldName": "MaxAllowedSizeClass", @@ -179,7 +179,7 @@ }, { "DisplayName": "Allowed Blueprints", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Restrict Blueprint types allowed for production in factory: None = Blueprint system completely disabled; StockOnly = only stock blueprints can be produced; All = all types allowed (default).", "Keywords": "Allowed,Blueprints", "FieldName": "AllowedBlueprints", @@ -196,7 +196,7 @@ }, { "DisplayName": "Heartbeat Server", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Timeout in seconds after which a playfield server process will be killed (and all players on it disconnected) if it no longer sends heartbeat messages to the dedicated server. (0 to disable)", "Keywords": "Heartbeat,Server", "FieldName": "HeartbeatServer", @@ -210,7 +210,7 @@ }, { "DisplayName": "Heartbeat Client", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Timeout in seconds after which a client will be disconnected if it no longer sends heartbeat messages to the dedicated server. (0 to disable)", "Keywords": "Heartbeat,Client", "FieldName": "HeartbeatClient", @@ -224,7 +224,7 @@ }, { "DisplayName": "Log Flags", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Determines the logging level.", "Keywords": "Log,Flags,level", "FieldName": "LogFlags", @@ -241,7 +241,7 @@ }, { "DisplayName": "Disable Family Sharing", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Activate if you want to prohibit Steam Family Sharers from playing (only the game owner can then play).", "Keywords": "Disable,Steam,Family,Sharing", "FieldName": "DisableSteamFamilySharing", @@ -257,7 +257,7 @@ }, { "DisplayName": "Kick Players With High Ping", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Players with a ping higher than the value specified below will be locked out of the game. High ping can result in cheating.", "Keywords": "Kick,Players,With,High,Ping", "FieldName": "KickPlayerWithPing", @@ -271,7 +271,7 @@ }, { "DisplayName": "Timeout to Boot Playfield Server", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Monitors booting playfield server processes, kills them if they time out ( 0 to disabled). Note: This is a conservative default, for faster servers 60 seconds should be ok.", "Keywords": "Timeout,Booting,Playfield,server", "FieldName": "TimeoutBootingPfServer", @@ -285,7 +285,7 @@ }, { "DisplayName": "Player Login Parallel Count", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "If specified, the number of parallel logins to a server are restricted to this number. This is important when you expect a big number of people to login at the same time.", "Keywords": "Player,Login,Parallel,Count", "FieldName": "PlayerLoginParallelCount", @@ -298,7 +298,7 @@ }, { "DisplayName": "Player Login VIP Names", - "Category": "Server Settings", + "Category": "Emp - Server Settings", "Description": "Add steam ids for preferred players that will get a better position in the login queue. [Find your Steam64 ID](https://steamidfinder.com/)", "Keywords": "Player,Login,Parallel,Count", "FieldName": "PlayerLoginVipNames", @@ -312,7 +312,7 @@ }, { "DisplayName": "Game Name", - "Category": "Game Settings", + "Category": "Emp - Game Settings", "Description": "Determines name of the save game.", "Keywords": "Game,Name", "FieldName": "GameName", @@ -325,7 +325,7 @@ }, { "DisplayName": "Game Mode", - "Category": "Game Settings", + "Category": "Emp - Game Settings", "Description": "Game mode for the server.", "Keywords": "Game,Mode", "FieldName": "Mode", @@ -341,7 +341,7 @@ }, { "DisplayName": "World Seed", - "Category": "Game Settings", + "Category": "Emp - Game Settings", "Description": "Any number up to 7 digits (Cannot be 0). The seed determines how the world is procedurally generated - the same seed means the same world.", "Keywords": "World,Seed", "FieldName": "Seed", @@ -354,7 +354,7 @@ }, { "DisplayName": "Custom Scenario", - "Category": "Game Settings", + "Category": "Emp - Game Settings", "Description": "Choose from premade scenarios.", "Keywords": "Custom,Scenario", "FieldName": "CustomScenario", @@ -375,6 +375,7 @@ "Default Random": "Default Random", "Invader vs Defender - Conflict of Cygnus": "Invader vs Defender - Conflict of Cygnus", "Shadows of Starlight": "Shadows of Starlight", + "Stranded at Nemesis (Survival Challenge)": "Stranded at Nemesis (Survival Challenge)", "Tutorial": "Tutorial" } }, From 8d645370c2276ce1d19d974d1a3549d90da53ce8 Mon Sep 17 00:00:00 2001 From: k8thekat <68672235+k8thekat@users.noreply.github.com> Date: Thu, 18 Aug 2022 16:10:36 -0700 Subject: [PATCH 035/318] Updated Support for Gatekeeperv2 (#175) - Removed required GUILDID arg - Added `-command` arg Command arg can be used to trace Discord Users who issue slash commands. --- gatekeeperv2.kvp | 2 +- gatekeeperv2config.json | 29 ++++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/gatekeeperv2.kvp b/gatekeeperv2.kvp index 601e71106..ddfdae26f 100644 --- a/gatekeeperv2.kvp +++ b/gatekeeperv2.kvp @@ -24,7 +24,7 @@ App.ExecutableLinux=/usr/bin/python3 App.WorkingDir=GatekeeperV2-main App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs=start.py -token {{dev}}{{debug}}{{discord}}{{super}} {{guildID}} +App.CommandLineArgs=start.py -token {{dev}}{{debug}}{{discord}}{{super}}{{command}} App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={} diff --git a/gatekeeperv2config.json b/gatekeeperv2config.json index 763232ca0..738e9c921 100644 --- a/gatekeeperv2config.json +++ b/gatekeeperv2config.json @@ -12,19 +12,6 @@ "DefaultValue": "", "Placeholder": "319/f0dsA0jk0PKge2jkpSFWEauopbvejwaioj32omoi32JIOabdsajotjewq3jr2==" }, - { - "DisplayName": "Discord Server Guild ID", - "Category": "Bot Settings", - "Description": "Enter your Discord server's [Guild ID](https://poshbot.readthedocs.io/en/latest/guides/backends/setup-discord-backend/#find-your-guild-id-server-id).", - "Keywords": "discord,guild,id", - "FieldName": "guildID", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "guildID", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "883220743755206666" - }, { "DisplayName": "AMP User", "Category": "Bot Settings", @@ -124,6 +111,22 @@ "True": " -dev" } }, + { + "DisplayName": "Command Print Statements", + "Category": "Bot Settings", + "Description": "This setting is for displaying the Discord User who issued the slash command.", + "Keywords": "command,print,statements", + "FieldName": "command", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "command", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": " -command" + } + }, { "DisplayName": "Debug Logging", "Category": "Bot Settings", From 46cc6a2098de2946e18c33d0aa6f8eae584e1d83 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 28 Aug 2022 16:47:37 +1000 Subject: [PATCH 036/318] Add Longvinter (#166) --- longvinter.kvp | 85 +++++++++++++++++++++++ longvinterconfig.json | 139 ++++++++++++++++++++++++++++++++++++++ longvintergame.ini | 13 ++++ longvintermetaconfig.json | 7 ++ 4 files changed, 244 insertions(+) create mode 100644 longvinter.kvp create mode 100644 longvinterconfig.json create mode 100644 longvintergame.ini create mode 100644 longvintermetaconfig.json diff --git a/longvinter.kvp b/longvinter.kvp new file mode 100644 index 000000000..e8f7be8d5 --- /dev/null +++ b/longvinter.kvp @@ -0,0 +1,85 @@ +Meta.DisplayName=Longvinter +Meta.Description=Longvinter Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan, Tempus Thales +Meta.URL=https://longvinter.com/news +Meta.DisplayImageSource=steam:1635450 +Meta.EndpointURIFormat= +Meta.ConfigManifest=longvinterconfig.json +Meta.MetaConfigManifest=longvintermetaconfig.json +Meta.ConfigRoot=longvinter.kvp +Meta.MinAMPVersion=2.3.4.3 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Longvinter +App.RootDir=./longvinter/ +App.BaseDirectory=./longvinter/1639880/ +App.ExecutableWin=1639880\Longvinter\Binaries\Win64\LongvinterServer-Win64-Shipping.exe +App.ExecutableLinux=1639880/Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping +App.WorkingDir=1639880 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} Longvinter -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdlog +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1635450"} +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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=32 +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":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1639880"},{"UpdateStageName":"GitHub Update Script Creation","UpdateSourcePlatform":"Linux","UpdateSource":"CreateFile","UpdateSourceData":"#!/bin/bash\ncd ./longvinter/1639880/\n/usr/bin/git clone https://github.com/Uuvana-Studios/longvinter-linux-server.git ./ || /usr/bin/git pull","UpdateSourceArgs":"{{$FullInstanceDir}}github_update.sh","OverwriteExistingFiles":true},{"UpdateStageName":"GitHub Update","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"{{$FullInstanceDir}}github_update.sh"},{"UpdateStageName":"Set Binary Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/longvintergame.ini","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Windows","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false}] +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=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^.*LogInit: Display: Starting Game.$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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/longvinterconfig.json b/longvinterconfig.json new file mode 100644 index 000000000..de87f7e3f --- /dev/null +++ b/longvinterconfig.json @@ -0,0 +1,139 @@ +[ + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the name shown in the server browser. Don't use OFFICIAL in the name", + "Keywords":"server,name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Longvinter Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Tag", + "Category":"Server Settings", + "Description":"Sets a single tag that allows for easier search for the server. Don't use OFFICIAL", + "Keywords":"server,tag", + "FieldName":"serverTag", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.serverTag", + "IncludeInCommandLine":false, + "DefaultValue":"Default", + "EnumValues":{} + }, + { + "DisplayName":"Password", + "Category":"Server Settings", + "Description":"Sets a password for the server. Default is no password. Use only numbers and letters", + "Keywords":"server,password", + "FieldName":"Password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.Password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Admins", + "Category":"Server Settings", + "Description":"Space separated list of EOS IDs for server admins. Press ESC > Options > General in-game to find your EOS ID", + "FieldName":"AdminSteamID", + "Keywords":"admin,ids", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gm_longvinter.gm_longvinter_c.AdminSteamID", + "IncludeInCommandLine":false, + "DefaultValue":"", + "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":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"32", + "Suffix":"players" + }, + { + "DisplayName":"MOTD", + "Category":"Server Settings", + "Description":"Sets the server message displayed on signs around the island", + "Keywords":"motd", + "FieldName":"ServerMOTD", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.ServerMOTD", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to Longvinter Island!", + "EnumValues":{} + }, + { + "DisplayName":"Community Website", + "Category":"Server Settings", + "Description":"Sets a website that is displayed in-game alongside the MOTD. The website link can be opened in-game", + "Keywords":"community,website", + "FieldName":"CommunityWebsite", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.CommunityWebsite", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"www.longvinter.com", + "EnumValues":{} + }, + { + "DisplayName":"Enable PVP", + "Category":"Server Settings", + "Description":"If enabled, Player vs Player fights will be allowed", + "Keywords":"pvp", + "FieldName":"PVP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gm_longvinter.gm_longvinter_c.PVP", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Tent Decay", + "Category":"Server Settings", + "Description":"If enabled, tent decay will occur, to ensure there aren't excessive abandoned tents in the server", + "Keywords":"tent,decay", + "FieldName":"TentDecay", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gm_longvinter.gm_longvinter_c.TentDecay", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Maximum Tents Allowed", + "Category":"Server Settings", + "Description":"Maximum number of tents allowed to be placed in the server", + "Keywords":"maximum,tents", + "FieldName":"MaxTents", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gm_longvinter.gm_longvinter_c.MaxTents", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Suffix":"tents" + } +] \ No newline at end of file diff --git a/longvintergame.ini b/longvintergame.ini new file mode 100644 index 000000000..82a71d38b --- /dev/null +++ b/longvintergame.ini @@ -0,0 +1,13 @@ +[/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c] +ServerName=AMP Powered Longvinter Server +serverTag=Default +MaxPlayers=32 +ServerMOTD=Welcome to Longvinter Island! +Password= +CommunityWebsite= + +[/game/blueprints/server/gm_longvinter.gm_longvinter_c] +AdminSteamID= +PVP=true +TentDecay=true +MaxTents=2 diff --git a/longvintermetaconfig.json b/longvintermetaconfig.json new file mode 100644 index 000000000..75518f21b --- /dev/null +++ b/longvintermetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"Longvinter/Saved/Config/WindowsServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini" + } +] \ No newline at end of file From 4c9b1ec57dacdc7f21cf929577c6edf4b9810156 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 28 Aug 2022 16:47:52 +1000 Subject: [PATCH 037/318] Add Veloren (#168) --- veloren.kvp | 86 ++++++++++++++++++++++++++++++++++++++++++ velorenconfig.json | 55 +++++++++++++++++++++++++++ velorenmetaconfig.json | 8 ++++ velorensettings.ron | 41 ++++++++++++++++++++ 4 files changed, 190 insertions(+) create mode 100644 veloren.kvp create mode 100644 velorenconfig.json create mode 100644 velorenmetaconfig.json create mode 100644 velorensettings.ron diff --git a/veloren.kvp b/veloren.kvp new file mode 100644 index 000000000..ccd855c22 --- /dev/null +++ b/veloren.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=Veloren +Meta.Description=Veloren Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://veloren.net +Meta.DisplayImageSource=url:https://cdn.discordapp.com/attachments/541307708146581519/712295605170602075/logo.png +Meta.EndpointURIFormat= +Meta.ConfigManifest=velorenconfig.json +Meta.MetaConfigManifest=velorenmetaconfig.json +Meta.ConfigRoot=veloren.kvp +Meta.MinAMPVersion=2.3.4.3 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Veloren +App.RootDir=./veloren/ +App.BaseDirectory=./veloren/ +App.ExecutableWin=veloren-server-cli.exe +App.ExecutableLinux=veloren-server-cli +App.WorkingDir= +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"RUST_LOG":"debug,common::net=info"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=shutdown graceful 0 +App.ExitFile=lock +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":"TCP","Name":"Server Port","Description":"Port for game traffic","Port":14004,"Ref":"ServerPort"},{"Protocol":"TCP","Name":"Metrics Port","Description":"Port for metrics traffic","Port":14005,"Ref":"MetricsPort"}] +App.AdminPortRef=ServerPort +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=ServerPort +App.MaxUsers=100 +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":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://download.veloren.net/latest/windows/x86_64/nightly","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":false,"OverwriteExistingFiles":true,"DeleteAfterExtract":false},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://download.veloren.net/latest/linux/x86_64/nightly","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":false,"OverwriteExistingFiles":true,"DeleteAfterExtract":false},{"UpdateStageName":"Server Download Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullInstanceDir}}nightly.zip","UpdateSourceArgs":"{{$FullRootDir}}nightly","OverwriteExistingFiles":true},{"UpdateStageName":"Server Extract","UpdateSourcePlatform":"All","UpdateSource":"ExtractArchive","UpdateSourceArgs":"{{$FullInstanceDir}}nightly.zip","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullRootDir}}veloren-server-cli"},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/velorensettings.ron","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}userdata/server/server_config"},{"UpdateStageName":"Settings Template Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}userdata/server/server_config/AMP_settings.ron","UpdateSourceArgs":"{{$FullInstanceDir}}velorensettings.ron","OverwriteExistingFiles":false}] +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-]+T[\d:]+\.\d+Z\s+INFO veloren_server_cli: Server is ready to accept connections\.(?:.+?)$ +Console.UserJoinRegex=^[\d-]+T[\d:]+\.\d+Z\s+INFO network{(?:.+?)}: veloren_network_protocol::handshake: This Handshake is now configured! pid=(?.+?)$ +Console.UserLeaveRegex=^[\d-]+T[\d:]+\.\d+Z\s+INFO ((?:.+?)remote{p=(?.+?)}: veloren_network::api: Participant already has been shutdown gracefully|veloren_server_cli::shutdown_coordinator: Shutting down)$ +Console.UserChatRegex=^$ +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/velorenconfig.json b/velorenconfig.json new file mode 100644 index 000000000..d86bc9de8 --- /dev/null +++ b/velorenconfig.json @@ -0,0 +1,55 @@ +[ + { + "DisplayName":"Server Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ServerPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"server_port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Metrics Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$MetricsPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"metrics_port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Server name visible in the server list", + "Keywords":"server,name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"server_name", + "IncludeInCommandLine":false, + "DefaultValue":"Veloren Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_players", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Suffix":"players", + "EnumValues":{} + } +] diff --git a/velorenmetaconfig.json b/velorenmetaconfig.json new file mode 100644 index 000000000..63c3fcdd8 --- /dev/null +++ b/velorenmetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile":"userdata/server/server_config/settings.ron", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"veloren/userdata/server/server_config/AMP_settings.ron" + } +] \ No newline at end of file diff --git a/velorensettings.ron b/velorensettings.ron new file mode 100644 index 000000000..be9ab9694 --- /dev/null +++ b/velorensettings.ron @@ -0,0 +1,41 @@ +// DO NOT edit settings.ron directly +// AMP_settings.ron controls settings.ron. Edit AMP_settings.ron if you want to add or change certain settings +// NOTE: +// - Do not change values in double curly braces, ie {{}}. They are set either via the AMP UI (under "Server Settings") +// or are controlled by AMP itself (in particular, ports) +// - Other settings can be changed or added as needed +( + gameserver_protocols: [ + Tcp( + address: "0.0.0.0:{{server_port}}", + ), + // Uncomment the block below if you want the server to bind on an IPv6 socket as well as IPv4 + /* + Tcp( + address: "[::]:{{server_port}}", + ), + */ + ], + metrics_address: "127.0.0.1:{{metrics_port}}", + auth_server_address: Some("https://auth.veloren.net"), + max_players: {{max_players}}, + world_seed: 230, + server_name: "{{server_name}}", + start_time: 32400, + map_file: None, + max_view_distance: Some(65), + banned_words_files: [], + max_player_group_size: 6, + client_timeout: ( + secs: 40, + nanos: 0, + ), + spawn_town: None, + max_player_for_kill_broadcast: None, + calendar_mode: Auto, + gameplay: ( + battle_mode: Global(PvP), + safe_spawn: false, + explosion_burn_marks: true, + ), +) From a664360dca0d4dd38b51ae9fe8c65cbc9cfed29d Mon Sep 17 00:00:00 2001 From: Dragoon209 Date: Mon, 29 Aug 2022 23:48:40 -0400 Subject: [PATCH 038/318] 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 000000000..5a35d0e9a --- /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 000000000..74bbe672c --- /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 000000000..531d35a7a --- /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 000000000..6adcd51af --- /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 From 16e88393b9f5cf5e3d0e66b6fe57b9b5ca2f87a7 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 30 Aug 2022 18:30:27 +1000 Subject: [PATCH 039/318] Add Windows support (#181) --- broke-protocol.kvp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/broke-protocol.kvp b/broke-protocol.kvp index b204eaae3..7ad6a349b 100644 --- a/broke-protocol.kvp +++ b/broke-protocol.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=Broke Protocol Meta.Description=Broke Protocol Dedicated Server -Meta.OS=Linux +Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://brokeprotocol.com/ @@ -19,18 +19,18 @@ Meta.NoCommercialUsage=False App.DisplayName=Broke Protocol App.RootDir=./brokeprotocol/ App.BaseDirectory=./brokeprotocol/server/ -App.ExecutableWin= +App.ExecutableWin=server/BrokeProtocol.exe App.ExecutableLinux=server/bpgameserver.x86_64 App.WorkingDir=server App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs=-batchmode -logfile +App.CommandLineArgs=-batchmode -logfile - App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"696370"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= -App.ExitMethod=SIGTERM +App.ExitMethod=OS_CLOSE App.ExitTimeout=30 App.ExitString=stop App.ExitFile=app_exit.lck @@ -53,9 +53,9 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource": "SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://brokeprotocol.com/wp-content/uploads/game.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"Windows","UpdateSource": "SteamCMD","UpdateSourceData":"696370","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource": "SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://brokeprotocol.com/wp-content/uploads/game.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] App.Compatibility=None -App.SteamUpdateAnonymousLogin=True +App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False App.RapidStartup=False App.MonitorChildProcess=False From 44e0b48ea776212f80c841f0137dd965dbe6c883 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Tue, 30 Aug 2022 22:58:18 -0500 Subject: [PATCH 040/318] Update 7d2d Config (#182) * Update 7d2d * Update 7d2d * Update 7d2d Config The generic 7d2d config doesn't account for the save directory. Updated to add a config version selector under the SteamCMD and Updates tab. * Update Port Details * Update manifest.json * Update manifest.json * Update save location * Update manifest.json * Update manifest.json * Update manifest.json * Update 7d2d This fixes an issue with the save location by providing specific config files depending on what a user chooses under SteamCMD & Updates. * Add pre 20.0 settings * More settings updated * Update 7d2d Config Create manual config download options for 18.4 to Current. Adjusted save location of all generated files to be within the datastore. * Update manifest.json * Update seven-days-to-diemetaconfig.json * Update seven-days-to-dieconfig.json * Update seven-days-to-dieupdates.json --- seven-days-settings184.xml | 174 ++++++++++++++++++++++++++++ seven-days-settings196.xml | 178 ++++++++++++++++++++++++++++ seven-days-settings200-203.xml | 188 ++++++++++++++++++++++++++++++ seven-days-settings204.xml | 192 +++++++++++++++++++++++++++++++ seven-days-to-die.kvp | 15 ++- seven-days-to-dieconfig.json | 179 +++++++++++++++------------- seven-days-to-diemetaconfig.json | 14 ++- seven-days-to-dieupdates.json | 106 +++++++++++------ 8 files changed, 922 insertions(+), 124 deletions(-) create mode 100644 seven-days-settings184.xml create mode 100644 seven-days-settings196.xml create mode 100644 seven-days-settings200-203.xml create mode 100644 seven-days-settings204.xml diff --git a/seven-days-settings184.xml b/seven-days-settings184.xml new file mode 100644 index 000000000..c83530ee5 --- /dev/null +++ b/seven-days-settings184.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/seven-days-settings196.xml b/seven-days-settings196.xml new file mode 100644 index 000000000..d52ef1efb --- /dev/null +++ b/seven-days-settings196.xml @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/seven-days-settings200-203.xml b/seven-days-settings200-203.xml new file mode 100644 index 000000000..7b8bf73b1 --- /dev/null +++ b/seven-days-settings200-203.xml @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/seven-days-settings204.xml b/seven-days-settings204.xml new file mode 100644 index 000000000..be3f8ea26 --- /dev/null +++ b/seven-days-settings204.xml @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/seven-days-to-die.kvp b/seven-days-to-die.kvp index 368917f96..f4a093747 100644 --- a/seven-days-to-die.kvp +++ b/seven-days-to-die.kvp @@ -23,7 +23,7 @@ App.ExecutableLinux=294420/7DaysToDieServer.x86_64 App.WorkingDir=294420 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs=-quit -batchmode -nographics -configfile=serverconfig.xml {{$FormattedArgs}} -dedicated +App.CommandLineArgs=-quit -batchmode -nographics -configfile={{ConfigFile}}.xml {{$FormattedArgs}} -dedicated App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"251570"} App.CommandLineParameterFormat=-{0} "{1}" @@ -37,10 +37,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=26900 -App.ApplicationPort2=26901 -App.ApplicationPort3=26902 -App.RemoteAdminPort=27020 +App.Ports=[{"Protocol":"Both","Port":26900,"Offset":0,"Range":1,"Ref":"ServerPort","Name":"Server and Steam Port","Description":"Main game traffic and Steam Query port","ChildPorts":null},{"Protocol":"UDP","Port":26901,"Offset":0,"Range":1,"Ref":"ControlPanelPort","Name":"Control Panel Port","Description":"Web panel access port","ChildPorts":null},{"Protocol":"UDP","Port":26902,"Offset":0,"Range":1,"Ref":"AdditionalPort","Name":"Server Additional Port","Description":"Unknown use at this time","ChildPorts":null},{"Protocol":"TCP","Port":27020,"Offset":0,"Range":1,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"RCON traffic port","ChildPorts":null}] App.MaxUsers=8 App.UseRandomAdminPassword=True App.RemoteAdminPassword= @@ -55,15 +52,17 @@ App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=1 -App.UniversalSleepSteamQueryPort=3 +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=ServerPort App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Logon successful.$ +Console.AppReadyRegex=^.*Logon successful.$|^.*INF StartGame done$ Console.UserJoinRegex=^.*INF PlayerSpawnedInWorld \(reason: JoinMultiplayer.*OwnerID='(?-?.*)'.*PlayerName='(?.+?)'.*$|^.*INF PlayerSpawnedInWorld \(reason: EnterMultiplayer.*OwnerID='(?-?.*)'.*PlayerName='(?.+?)'.*$ Console.UserLeaveRegex=^.*INF Player (?.+?) disconnected after.*$ Console.UserChatRegex=^.*INF Chat \(from '(?-?.*)', entity id '.*', to '.*'\): .*'(?.+?)': (?.+)$ diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index 821a0daf8..c72f17b12 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -1,7 +1,7 @@ [ { "DisplayName":"Server Name", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Whatever you want the name of the server to be.", "Keywords":"server,name", "FieldName":"ServerName", @@ -13,7 +13,7 @@ "EnumValues":{} },{ "DisplayName":"Server Description", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Whatever you want the server description to be, will be shown in the server browser.", "Keywords":"Server,Description", "FieldName":"ServerDescription", @@ -25,7 +25,7 @@ "EnumValues":{} },{ "DisplayName":"Server Website URL", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Website URL for the server, will be shown in the serverbrowser as a clickable link.", "Keywords":"Server,Website,URL", "FieldName":"ServerWebsiteURL", @@ -37,7 +37,7 @@ "EnumValues":{} },{ "DisplayName":"Server Password", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Password to gain entry to the server.", "Keywords":"Server,Password", "FieldName":"ServerPassword", @@ -49,7 +49,7 @@ "EnumValues":{} },{ "DisplayName":"Server Login Confirmation Text", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"If set the user will see the message during joining the server and has to confirm it before continuing.", "Keywords":"Server,Login,Confirmation,Text", "FieldName":"ServerLoginConfirmationText", @@ -61,7 +61,7 @@ "EnumValues":{} },{ "DisplayName":"Region", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"The region this server is in.", "Keywords":"Region", "FieldName":"Region", @@ -84,7 +84,7 @@ } },{ "DisplayName":"Language", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Primary language for players on this server. Should be the English name of the language, e.g. not \"Deutsch\" but \"German\"", "Keywords":"Language", "FieldName":"Language", @@ -96,10 +96,10 @@ "EnumValues":{} },{ "DisplayName":"Server Port", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Whatever you want the name of the server to be.", "Keywords":"Server,Port", - "FieldName":"$ApplicationPort1", + "FieldName":"$ServerPort", "InputType":"text", "IsFlagArgument":false, "ParamFieldName":"/ServerSettings/property[@name='ServerPort']/@value", @@ -109,7 +109,7 @@ "Hidden": true },{ "DisplayName":"Server Visibility", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"As you are never a friend of a dedicated server, setting this to \"Only shown to friends\" will only work when the first player connects manually by IP.", "Keywords":"Server,Visibility", "FieldName":"ServerVisibility", @@ -125,7 +125,7 @@ } },{ "DisplayName":"Server Disabled Network Protocols", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly.", "Keywords":"Server,Disabled,Network,Protocols", "FieldName":"ServerDisabledNetworkProtocols", @@ -142,7 +142,7 @@ } },{ "DisplayName":"Server Max World Transfer Speed", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Maximum speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value.", "Keywords":"Server,Max,World,Transfer,Speed,KiBs", "FieldName":"ServerMaxWorldTransferSpeedKiBs", @@ -155,7 +155,7 @@ "Suffix": "KiBs" },{ "DisplayName":"Server Max Player Count", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Maximum Concurrent Players.", "Keywords":"Server,Max,Player,Count", "FieldName":"ServerMaxPlayerCount", @@ -168,7 +168,7 @@ "Suffix": "players" },{ "DisplayName":"Server Reserved Slots", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Out of the Max Player Count this many slots can only be used by players with a specific permission level.", "Keywords":"Server,Reserved,Slots", "FieldName":"ServerReservedSlots", @@ -181,7 +181,7 @@ "Suffix": "slots" },{ "DisplayName":"Server Reserved Slots Permission", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Required permission level to use the admin slots above.", "Keywords":"Server,Reserved,Slots,Permission", "FieldName":"ServerReservedSlotsPermission", @@ -194,7 +194,7 @@ "Suffix": "level" },{ "DisplayName":"Control Panel Enabled", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Enable/Disable the web control panel.", "Keywords":"Control,Panel,Enabled", "FieldName":"ControlPanelEnabled", @@ -209,10 +209,10 @@ } },{ "DisplayName":"Control Panel Port", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Port of the control panel webpage.", "Keywords":"Control,Panel,Port", - "FieldName":"$ApplicationPort2", + "FieldName":"$ControlPanelPort", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/ServerSettings/property[@name='ControlPanelPort']/@value", @@ -222,7 +222,7 @@ "Hidden": true },{ "DisplayName":"Control Panel Password", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Password to gain entry to the control panel.", "Keywords":"Control,Panel,Password", "FieldName":"ControlPanelPassword", @@ -234,7 +234,7 @@ "EnumValues":{} },{ "DisplayName":"Telnet Enabled", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Enable/Disable the telnet.", "Keywords":"Telnet,Enabled", "FieldName":"TelnetEnabled", @@ -247,7 +247,7 @@ "Hidden": true },{ "DisplayName":"Telnet Port", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Port of the telnet server.", "Keywords":"Telnet,Port", "FieldName":"$RemoteAdminPort", @@ -260,7 +260,7 @@ "Hidden": true },{ "DisplayName":"Telnet Password", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Password to gain entry to telnet interface.", "Keywords":"Telnet,Password", "FieldName":"$RemoteAdminPassword", @@ -273,7 +273,7 @@ "Hidden": true },{ "DisplayName":"Telnet Failed Login Limit", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface.", "Keywords":"Telnet,Failed,Login,Limit", "FieldName":"TelnetFailedLoginLimit", @@ -286,7 +286,7 @@ "Suffix": "attempts" },{ "DisplayName":"Telnet Failed Logins Block Time", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"How long will the block persist.", "Keywords":"Telnet,Failed,Logins,Block,time", "FieldName":"TelnetFailedLoginsBlocktime", @@ -299,7 +299,7 @@ "Suffix": "seconds" },{ "DisplayName":"Admin File Name", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Server admin file name. Path relative to the Save Game Folder.", "Keywords":"Admin,File,Name", "FieldName":"AdminFileName", @@ -311,7 +311,7 @@ "EnumValues":{} },{ "DisplayName":"EAC Enabled", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Enables/Disables EasyAntiCheat.", "Keywords":"EAC,Enabled", "FieldName":"EACEnabled", @@ -326,7 +326,7 @@ } },{ "DisplayName":"Hide Command Execution Log", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Hide logging of command execution..", "Keywords":"Hide,Command,Execution,Log", "FieldName":"HideCommandExecutionLog", @@ -343,7 +343,7 @@ } },{ "DisplayName":"Max Uncovered Map Chunks Per Player", - "Category":"Server Settings", + "Category":"7d2d - Server Settings", "Description":"Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time.", "Keywords":"Max,Uncovered,Map,Chunks,Per,Player", "FieldName":"MaxUncoveredMapChunksPerPlayer", @@ -356,7 +356,7 @@ "Suffix": "chunks" },{ "DisplayName":"Game World", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"\"RWG\" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with: \"Navezgane\", \"PREGEN6k\", \"PREGEN8k\", \"PREGEN10k\").", "Keywords":"Game,World", "FieldName":"GameWorld", @@ -368,7 +368,7 @@ "EnumValues":{} },{ "DisplayName":"World Gen Seed", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it.", "Keywords":"World,Gen,Seed", "FieldName":"WorldGenSeed", @@ -380,7 +380,7 @@ "EnumValues":{} },{ "DisplayName":"World Gen Size", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load.", "Keywords":"World,Gen,Size", "FieldName":"WorldGenSize", @@ -392,7 +392,7 @@ "EnumValues":{} },{ "DisplayName":"Game Name", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world.`", "Keywords":"Game,Name", "FieldName":"GameName", @@ -404,7 +404,7 @@ "EnumValues":{} },{ "DisplayName":"Game Mode", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Only one game mode available at this time. Placeholder for future options.", "Keywords":"Game,Mode", "FieldName":"GameMode", @@ -416,7 +416,7 @@ "EnumValues":{} },{ "DisplayName":"Game Difficulty", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Whatever you want the name of the server to be.", "Keywords":"Game,Difficulty", "FieldName":"GameDifficulty", @@ -435,7 +435,7 @@ } },{ "DisplayName":"Player Block Damage", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"How much damage do players to blocks (percentage in whole numbers).", "Keywords":"Block,Damage,Player", "FieldName":"BlockDamagePlayer", @@ -448,7 +448,7 @@ "Suffix": "%" },{ "DisplayName":"AI Block Damage", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"How much damage do AIs do to blocks (percentage in whole numbers).", "Keywords":"Block,Damage,AI", "FieldName":"BlockDamageAI", @@ -461,7 +461,7 @@ "Suffix": "%" },{ "DisplayName":"AI Block Damage Blood Moon", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"How much damage do AIs do during blood moons to blocks (percentage in whole numbers).", "Keywords":"Block,Damage,AI,Blood,Moon", "FieldName":"BlockDamageAIBM", @@ -474,7 +474,7 @@ "Suffix": "%" },{ "DisplayName":"XP Multiplier", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"XP gain multiplier (percentage in whole numbers)", "Keywords":"XP,Multiplier", "FieldName":"XPMultiplier", @@ -487,7 +487,7 @@ "Suffix": "%" },{ "DisplayName":"Player Safe Zone Level", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"If a player is less or equal this level he will create a safe zone (no enemies).", "Keywords":"Player,Safe,Zone,Level", "FieldName":"PlayerSafeZoneLevel", @@ -500,7 +500,7 @@ "Suffix": "level" },{ "DisplayName":"Player Safe Zone Hours", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Hours in world time this safe zone exists.", "Keywords":"Player,Safe,Zone,Hours", "FieldName":"PlayerSafeZoneHours", @@ -513,7 +513,7 @@ "Suffix": "hours" },{ "DisplayName":"Build Create", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"cheat mode on/off.", "Keywords":"Build,Create,cheat,mode", "FieldName":"BuildCreate", @@ -528,7 +528,7 @@ } },{ "DisplayName":"Day Night Length", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Real time minutes per in game day: 60 minutes.", "Keywords":"Day,Night,Length", "FieldName":"DayNightLength", @@ -541,7 +541,7 @@ "Suffix": "minutes" },{ "DisplayName":"Day Light Length", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"In game hours the sun shines per day: 18 hours day light per in game day.", "Keywords":"Day,Light,Length", "FieldName":"DayLightLength", @@ -554,7 +554,7 @@ "Suffix": "hours" },{ "DisplayName":"Drop On Death", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"What a player drops upon death", "Keywords":"Drop,On,Death", "FieldName":"DropOnDeath", @@ -572,7 +572,7 @@ } },{ "DisplayName":"Drop On Quit", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"What a player drops upon death", "Keywords":"Drop,On,Quit", "FieldName":"DropOnQuit", @@ -589,7 +589,7 @@ } },{ "DisplayName":"Bedroll Dead Zone Size", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Size (box \"radius\", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared.", "Keywords":"Bedroll,Dead,Zone,Size", "FieldName":"BedrollDeadZoneSize", @@ -602,7 +602,7 @@ "Suffix": "blocks" },{ "DisplayName":"Bedroll Expiry Time", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Number of real world days a bedroll stays active after owner was last online.", "Keywords":"Bedroll Expiry Time", "FieldName":"BedrollExpiryTime", @@ -615,7 +615,7 @@ "Suffix": "minutes" },{ "DisplayName":"Max Spawned Zombies", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance.", "Keywords":"Max,Spawned,Zombies", "FieldName":"MaxSpawnedZombies", @@ -628,7 +628,7 @@ "Suffix": "zombies" },{ "DisplayName":"Max Spawned Animals", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it.", "Keywords":"Max,Spawned,Animals", "FieldName":"MaxSpawnedAnimals", @@ -641,7 +641,7 @@ "Suffix": "animals" },{ "DisplayName":"Server Max Allowed View Distance", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Max viewdistance a client may request (6 - 12). High impact on memory usage and performance.", "Keywords":"Server,Max,Allowed,View,Distance", "FieldName":"ServerMaxAllowedViewDistance", @@ -661,7 +661,7 @@ } },{ "DisplayName":"Enemy Spawn Mode", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Enable/Disable enemy spawning.", "Keywords":"Enemy,Spawn,Mode", "FieldName":"EnemySpawnMode", @@ -676,7 +676,7 @@ } },{ "DisplayName":"Enemy Difficulty", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Difficulty of the enemies.", "Keywords":"Enemy,Difficulty", "FieldName":"EnemyDifficulty", @@ -691,7 +691,7 @@ } },{ "DisplayName":"Zombie Feral Sense", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"When zombies should have feral sense.", "Keywords":"Zombie,Feral,Sense", "FieldName":"ZombieFeralSense", @@ -708,7 +708,7 @@ } },{ "DisplayName":"Zombie Move Day", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Zombie movement speed during the day.", "Keywords":"Zombie,Move", "FieldName":"ZombieMove", @@ -726,7 +726,7 @@ } },{ "DisplayName":"Zombie Move Night", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Zombie movement speed during the night.", "Keywords":"Zombie,Move,Night", "FieldName":"ZombieMoveNight", @@ -744,7 +744,7 @@ } },{ "DisplayName":"Zombie Feral Move", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Zombie movement speed of feral zombies.", "Keywords":"Zombie,Feral,Move", "FieldName":"ZombieFeralMove", @@ -762,7 +762,7 @@ } },{ "DisplayName":"Zombie Move Blood Moon", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Zombie movement speed during a blood moon.", "Keywords":"Zombie,Move,blood,moon", "FieldName":"ZombieBMMove", @@ -780,7 +780,7 @@ } },{ "DisplayName":"Blood Moon Frequency", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"What frequency (in days) should a blood moon take place. Set to \"0\" for no blood moons.", "Keywords":"Blood,Moon,Frequency", "FieldName":"BloodMoonFrequency", @@ -793,7 +793,7 @@ "Suffix": "days" },{ "DisplayName":"Blood Moon Range", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in Blood Moon Frequency.", "Keywords":"Blood,Moon,Range", "FieldName":"BloodMoonRange", @@ -806,7 +806,7 @@ "Suffix": "days" },{ "DisplayName":"Blood Moon Warning", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show.", "Keywords":"Blood,Moon,Warning", "FieldName":"BloodMoonWarning", @@ -819,7 +819,7 @@ "Suffix": "hour" },{ "DisplayName":"Blood Moon Enemy Count", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance.", "Keywords":"Blood,Moon,Enemy,Count", "FieldName":"BloodMoonEnemyCount", @@ -832,7 +832,7 @@ "Suffix": "zombies" },{ "DisplayName":"Loot Abundance", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Percentage of loot in whole numbers.", "Keywords":"Loot,Abundance", "FieldName":"LootAbundance", @@ -845,7 +845,7 @@ "Suffix": "%" },{ "DisplayName":"Loot Respawn Days", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Days in whole numbers for loot to respawn.", "Keywords":"Loot,Respawn,Days", "FieldName":"LootRespawnDays", @@ -858,7 +858,7 @@ "Suffix": "days" },{ "DisplayName":"Air Drop Frequency", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"How often airdrop occur in game-hours, 0 = never.", "Keywords":"Air,Drop,Frequency", "FieldName":"AirDropFrequency", @@ -871,7 +871,7 @@ "Suffix": "hours" },{ "DisplayName":"Air Drop Marker", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Sets if a marker is added to map/compass for air drops.", "Keywords":"Air,Drop,Marker", "FieldName":"AirDropMarker", @@ -886,7 +886,7 @@ } },{ "DisplayName":"Party Shared Kill Range", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"The distance you must be within to receive party shared kill xp and quest party kill objective credit.", "Keywords":"Party,Shared,Kill,Range", "FieldName":"PartySharedKillRange", @@ -899,7 +899,7 @@ "Suffix": "blocks" },{ "DisplayName":"Player Killing Mode", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Player Killing Settings.", "Keywords":"Player,Killing,Mode", "FieldName":"PlayerKillingMode", @@ -916,7 +916,7 @@ } },{ "DisplayName":"Land Claim Count", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Maximum allowed land claims per player.", "Keywords":"Land,Claim,Count", "FieldName":"LandClaimCount", @@ -929,7 +929,7 @@ "Suffix": "claims" },{ "DisplayName":"Land Claim Size", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Size in blocks that is protected by a keystone.", "Keywords":"Land,Claim,Size", "FieldName":"LandClaimSize", @@ -942,7 +942,7 @@ "Suffix": "blocks" },{ "DisplayName":"Land Claim Dead Zone", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Keystones must be this many blocks apart (unless you are friends with the other player).", "Keywords":"Land,Claim,Dead,Zone", "FieldName":"LandClaimDeadZone", @@ -955,7 +955,7 @@ "Suffix": "blocks" },{ "DisplayName":"Land Claim Expiry Time", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"The number of real world days a player can be offline before their claims expire and are no longer protected.", "Keywords":"Land,Claim,Expiry,Time", "FieldName":"LandClaimExpiryTime", @@ -968,7 +968,7 @@ "Suffix": "days" },{ "DisplayName":"Land Claim Decay Mode", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Controls how offline players land claims decay.", "Keywords":"Land,Claim,Decay,Mode", "FieldName":"LandClaimDecayMode", @@ -984,7 +984,7 @@ } },{ "DisplayName":"Land Claim Online Durability Modifier", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x.", "Keywords":"Land,Claim,Online,Durability,Modifier", "FieldName":"LandClaimOnlineDurabilityModifier", @@ -997,7 +997,7 @@ "Suffix": "X" },{ "DisplayName":"Land Claim Offline Durability Modifier", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x.", "Keywords":"Land,Claim,Offline,Durability,Modifier", "FieldName":"LandClaimOfflineDurabilityModifier", @@ -1010,7 +1010,7 @@ "Suffix": "X" },{ "DisplayName":"Land Claim Offline Delay", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0.", "Keywords":"Land,Claim,Offline,Delay", "FieldName":"LandClaimOfflineDelay", @@ -1023,7 +1023,7 @@ "Suffix": "minutes" },{ "DisplayName":"Dynamic Mesh Enabled", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Is Dynamic Mesh system enabled?", "Keywords":"Dynamic,Mesh,Enabled", "FieldName":"DynamicMeshEnabled", @@ -1038,7 +1038,7 @@ } },{ "DisplayName":"Dynamic Mesh Land Claim Only", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Is Dynamic Mesh system only active in player LCB areas?", "Keywords":"Dynamic,Mesh,Land,Claim,Only", "FieldName":"DynamicMeshLandClaimOnly", @@ -1053,7 +1053,7 @@ } },{ "DisplayName":"Dynamic Mesh Land Claim Buffer", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Dynamic Mesh LCB chunk radius.", "Keywords":"Dynamic Mesh Land Claim Buffer", "FieldName":"DynamicMeshLandClaimBuffer", @@ -1066,7 +1066,7 @@ "Suffix": "blocks" },{ "DisplayName":"Dynamic Mesh Max Item Cache", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"How many items can be processed concurrently, higher values use more RAM.", "Keywords":"Dynamic,Mesh,Max,Item,Cache", "FieldName":"DynamicMeshMaxItemCache", @@ -1079,7 +1079,7 @@ "Suffix": "items" },{ "DisplayName":"TwitchServerPermission", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"Required permission level to use twitch integration on the server.", "Keywords":"Twitch,Server,Permission", "FieldName":"TwitchServerPermission", @@ -1092,7 +1092,7 @@ "Suffix": "level" },{ "DisplayName":"Twitch Blood Moon Allowed", - "Category":"Gameplay Settings", + "Category":"7d2d - Gameplay Settings", "Description":"If the server allows twitch actions during a blood moon. This could cause server lag with extra zombies being spawned during blood moon.", "Keywords":"Twitch,Blood,Moon,Allowed", "FieldName":"TwitchBloodMoonAllowed", @@ -1118,6 +1118,23 @@ "DefaultValue":"public", "Placeholder":"public", "EnumValues":{} + },{ + "DisplayName":"Config File Version", + "Category":"SteamCMD and Updates", + "Description":"Select which config file to download. Must match the version of the Release Stream.", + "Keywords":"config,file,version", + "FieldName":"ConfigFile", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ConfigFile", + "IncludeInCommandLine":false, + "DefaultValue":"seven-days-settings204", + "EnumValues":{ + "seven-days-settings184": "18.4", + "seven-days-settings196": "19.6", + "seven-days-settings200-203": "20.0 to 20.3", + "seven-days-settings204": "20.4 or Higher" + } },{ "DisplayName":"Install UMOD", "Category":"SteamCMD and Updates", diff --git a/seven-days-to-diemetaconfig.json b/seven-days-to-diemetaconfig.json index 6b89a36d9..71d6610ce 100644 --- a/seven-days-to-diemetaconfig.json +++ b/seven-days-to-diemetaconfig.json @@ -1,11 +1,21 @@ [ { - "ConfigFile": "./serverconfig.xml", + "ConfigFile": "seven-days-settings184.xml", "AutoMap": true, "ConfigType": "xml" }, { - "ConfigFile": "./serverconfigpre204.xml", + "ConfigFile": "seven-days-settings196.xml", + "AutoMap": true, + "ConfigType": "xml" + }, + { + "ConfigFile": "seven-days-settings200-203.xml", + "AutoMap": true, + "ConfigType": "xml" + }, + { + "ConfigFile": "seven-days-settings204.xml", "AutoMap": true, "ConfigType": "xml" } diff --git a/seven-days-to-dieupdates.json b/seven-days-to-dieupdates.json index a5e7530f6..72a8acc9a 100644 --- a/seven-days-to-dieupdates.json +++ b/seven-days-to-dieupdates.json @@ -1,35 +1,75 @@ [ - { - "UpdateStageName": "SteamCMD Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "294420", - "UpdateSourceVersion": "{{Stream}}" - }, - { - "UpdateStageName": "UMOD Windows", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "FetchURLFromJQ", - "UpdateSourceData": "https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest", - "UpdateSourceArgs": "$.assets[1].browser_download_url", - "UpdateSourceTarget": "{{$FullBaseDir}}", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "UMOD", - "UpdateSourceConditionValue": "true", - "DeleteAfterExtract":true - }, - { - "UpdateStageName": "UMOD Linux", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "FetchURLFromJQ", - "UpdateSourceData": "https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest", - "UpdateSourceArgs": "$.assets[0].browser_download_url", - "UpdateSourceTarget": "{{$FullBaseDir}}", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "UMOD", - "UpdateSourceConditionValue": "true", - "DeleteAfterExtract":true - } + { + "UpdateStageName": "SteamCMD Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "SteamCMD", + "UpdateSourceData": "294420", + "UpdateSourceVersion": "{{Stream}}" + }, + { + "UpdateStageName": "Settings File Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings184.xml", + "UpdateSourceTarget": "./294420", + "OverwriteExistingFiles": false, + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings184" + }, + { + "UpdateStageName": "Settings File Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings196.xml", + "UpdateSourceTarget": "./294420", + "OverwriteExistingFiles": false, + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings196" + }, + { + "UpdateStageName": "Settings File Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings200-203.xml", + "UpdateSourceTarget": "./294420", + "OverwriteExistingFiles": false, + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings200-203" + }, + { + "UpdateStageName": "Settings File Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings204.xml", + "UpdateSourceTarget": "./294420", + "OverwriteExistingFiles": false, + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings204" + }, + { + "UpdateStageName": "UMOD Windows", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest", + "UpdateSourceArgs": "$.assets[1].browser_download_url", + "UpdateSourceTarget": "{{$FullBaseDir}}", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "UMOD", + "UpdateSourceConditionValue": "true", + "DeleteAfterExtract": true + }, + { + "UpdateStageName": "UMOD Linux", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest", + "UpdateSourceArgs": "$.assets[0].browser_download_url", + "UpdateSourceTarget": "{{$FullBaseDir}}", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "UMOD", + "UpdateSourceConditionValue": "true", + "DeleteAfterExtract": true + } ] \ No newline at end of file From 203de3b9dc870f13309a0fa42463e7a2d62994f4 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 2 Sep 2022 18:01:08 +1000 Subject: [PATCH 041/318] Conan Exiles: specify correct docker image --- conan-exiles.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conan-exiles.kvp b/conan-exiles.kvp index cf7ef1edd..0af49d121 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -10,7 +10,7 @@ Meta.ConfigManifest=conan-exilesconfig.json Meta.MetaConfigManifest=conan-exilesmetaconfig.json Meta.ConfigRoot=conan-exiles.kvp Meta.MinAMPVersion=2.3.2.8 -Meta.SpecificDockerImage= +Meta.SpecificDockerImage=cubecoders/ampbase:xvfb Meta.DockerRequired=False Meta.ContainerPolicy=Supported Meta.Prerequsites=[] @@ -76,4 +76,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=60 \ No newline at end of file +Limits.SleepStartThresholdSeconds=60 From 0ebb4f3efe6c1179c55e3a3fc1e06e0216593970 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sun, 11 Sep 2022 17:01:57 -0500 Subject: [PATCH 042/318] Add TeamSpeak 3 Config (#38) * Add TeamSpeak 3 Config (draft) This is the draft of the TeamSpeak 3 config. * Overhaul the config * Update teamspeak3.kvp * Getting closer, but also tired * Update teamspeak3.kvp * Port changes, Config file changes, Telnet setup * That ain't no damn ini file. It's just a plain old kvp and it is my worst enemy now. Time for a break. * Making settings file match default values * Greelan's OCD changes. ;) --- teamspeak3.kvp | 74 ++++++ teamspeak3config.json | 491 ++++++++++++++++++++++++++++++++++++++ teamspeak3metaconfig.json | 8 + teamspeak3server.ini | 37 +++ 4 files changed, 610 insertions(+) create mode 100644 teamspeak3.kvp create mode 100644 teamspeak3config.json create mode 100644 teamspeak3metaconfig.json create mode 100644 teamspeak3server.ini diff --git a/teamspeak3.kvp b/teamspeak3.kvp new file mode 100644 index 000000000..0679e8f7d --- /dev/null +++ b/teamspeak3.kvp @@ -0,0 +1,74 @@ +Meta.DisplayName=TeamSpeak 3 +Meta.Description=TeamSpeak 3 Server +Meta.OS=Windows, Linux +Meta.Author=IceOfWraith, YamiKaitou (base) +Meta.URL=https://teamspeak.com +Meta.DisplayImageSource=url:https://www.teamspeak.com/user/themes/teamspeak/images/logo_inverse.svg +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=teamspeak3config.json +Meta.MetaConfigManifest=teamspeak3metaconfig.json +Meta.ConfigRoot=teamspeak3.kvp +Meta.MinAMPVersion=2.3.4.4 +Meta.SpecificDockerImage= +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=TeamSpeak 3 +App.RootDir=./ts3/ +App.BaseDirectory=./ts3/ +App.ExecutableWin=teamspeak3-server_win64\ts3server.exe +App.ExecutableLinux=teamspeak3-server_win64/ts3server +App.WorkingDir=teamspeak3-server_win64 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} inifile=teamspeak3server.ini license_accepted=1 {{$FormattedArgs}} +App.AppSettings={} +App.EnvironmentVariables={} +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":"UDP","Port":9987,"Offset":0,"Range":1,"Ref":"Voice","Name":"Voice Port","Description":"Port for voice communications","ChildPorts":null},{"Protocol":"TCP","Port":30033,"Offset":0,"Range":1,"Ref":"Filetransfer","Name":"File Transfer Port","Description":"Port for file transfers","ChildPorts":null},{"Protocol":"TCP","Port":10011,"Offset":0,"Range":1,"Ref":"ServerQueryRAW","Name":"Telnet Port","Description":"Port for Telnet administration","ChildPorts":null},{"Protocol":"TCP","Port":10022,"Offset":0,"Range":1,"Ref":"ServerQuerySSH","Name":"SSH Port","Description":"Port for SSH administration","ChildPorts":null},{"Protocol":"TCP","Port":10080,"Offset":0,"Range":1,"Ref":"WebQueryHTTP","Name":"HTTP Port","Description":"Port for HTTP administration","ChildPorts":null},{"Protocol":"TCP","Port":10443,"Offset":0,"Range":1,"Ref":"WebQueryHTTPS","Name":"HTTPS Port","Description":"Port for HTTPS administration","ChildPorts":null}] +App.AdminPortRef=ServerQueryRAW +App.PrimaryApplicationPortRef=Voice +App.UniversalSleepApplicationUDPPortRef= +App.UniversalSleepSteamQueryPortRef= +App.MaxUsers=32 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword= +App.AdminMethod=TelnetRCON +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.UpdateSources=[{"UpdateStageName":"TeamSpeak 3 Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['windows']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"TeamSpeak 3 Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['linux']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s {{$FullBaseDir}}teamspeak3-server_linux_amd64 {{$FullBaseDir}}teamspeak3-server_win64"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/IceOfWraith/AMPTemplates/raw/ts3/teamspeak3server.ini","UpdateSourceTarget":"{{$FullBaseDir}}teamspeak3-server_win64/","OverwriteExistingFiles":false}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.SupportsUniversalSleep=False +App.UniversalSleepApplicationUDPPort=0 +App.UniversalSleepSteamQueryPort=0 +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^$ +Console.AppReadyRegex=^$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +Console.UpdateAvailableRegex=^$ +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=True +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 diff --git a/teamspeak3config.json b/teamspeak3config.json new file mode 100644 index 000000000..3f913b0a9 --- /dev/null +++ b/teamspeak3config.json @@ -0,0 +1,491 @@ +[ + { + "DisplayName": "Voice IP", + "Description": "", + "Category": "Hidden Settings", + "Keywords": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "voice_ip", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "File Transfer IP", + "Description": "", + "Category": "Hidden Settings", + "Keywords": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "filetransfer_ip", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query IP", + "Description": "", + "Category": "Hidden Settings", + "Keywords": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "query_ip", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query SSH IP", + "Description": "", + "Category": "Hidden Settings", + "Keywords": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "query_ssh_ip", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query HTTP IP", + "Description": "", + "Category": "Hidden Settings", + "Keywords": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "query_http_ip", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query HTTPS IP", + "Description": "", + "Category": "Hidden Settings", + "Keywords": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "query_https_ip", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Remote Admin Password", + "Description": "", + "Category": "Hidden Settings", + "Keywords": "", + "FieldName": "$RemoteAdminPassword", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serveradmin_password", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Default Voice Port", + "Description": "", + "Category": "Hidden Settings", + "Keywords": "", + "FieldName": "$Voice", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "default_voice_port", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "File Transfer Port", + "Description": "", + "Category": "Hidden Settings", + "Keywords": "", + "FieldName": "$Filetransfer", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "filetransfer_port", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query Port (Telnet/RAW)", + "Description": "", + "Category": "Server Settings", + "Keywords": "", + "FieldName": "$ServerQueryRAW", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "query_port", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query Port (SSH)", + "Description": "", + "Category": "Server Settings", + "Keywords": "", + "FieldName": "$ServerQuerySSH", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "query_ssh_port", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query Port (HTTP)", + "Description": "", + "Category": "Server Settings", + "Keywords": "", + "FieldName": "$WebQueryHTTP", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "query_http_port", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query Port (HTTPS)", + "Description": "", + "Category": "Server Settings", + "Keywords": "", + "FieldName": "$WebQueryHTTPS", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "query_https_port", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Machine ID", + "Description": "Optional name of this server process to identify a group of servers with the same ID.", + "Category": "Server Settings", + "Keywords": "machine,id", + "FieldName": "machine_id", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "machine_id", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "License File Path", + "Description": "The physical path where your license file is located.", + "Category": "Server Settings", + "Keywords": "license,path", + "FieldName": "licensepath", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "licensepath", + "IncludeInCommandLine": false, + "DefaultValue": "teamspeak3-server_win64/", + "EnumValues": {} + }, + { + "DisplayName": "Query Protocols", + "Category": "Server Settings", + "Description": "Protocols that can be used to connect to the ServerQuery. You must choose a Telnet option for AMP console to function fully.", + "Keywords": "query,protocols", + "FieldName": "query_protocols", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "query_protocols", + "IncludeInCommandLine": false, + "DefaultValue": "raw", + "EnumValues": { + "": "none", + "http": "HTTP", + "raw": "Telnet", + "raw,http": "Telnet, HTTP", + "raw,ssh": "Telnet, SSH", + "raw,ssh,http": "Telnet, SSH, HTTP", + "ssh": "SSH", + "ssh,http": "SSH, HTTP" + } + }, + { + "DisplayName": "Query Timeout", + "Description": "Number of seconds before a query connection is disconnected because of user inactivity.", + "Category": "Server Settings", + "Keywords": "query,timeout", + "FieldName": "query_timeout", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "query_timeout", + "IncludeInCommandLine": false, + "DefaultValue": "300", + "Suffix": "seconds", + "EnumValues": {} + }, + { + "DisplayName": "Query Pool Size (2-32)", + "Description": "The number of threads to use for the query pool. Advanced users with large slot counts or high query usage may wish to try higher numbers here.", + "Category": "Server Settings", + "Keywords": "query,pool,size", + "FieldName": "query_pool_size", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "query_pool_size", + "IncludeInCommandLine": false, + "DefaultValue": "2", + "Suffix": "threads", + "EnumValues": {} + }, + { + "DisplayName": "Query Buffer Size (1-20)", + "Description": "Server Query connections have a combined maximum buffer size. When this limit is exceeded, the connection using the most memory is closed.", + "Category": "Server Settings", + "Keywords": "query,buffer,size,mb", + "FieldName": "query_buffer_mb", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "query_buffer_mb", + "IncludeInCommandLine": false, + "DefaultValue": "20", + "Suffix": "MB", + "EnumValues": {} + }, + { + "DisplayName": "Permit Query Access", + "Description": "A list of IP addresses permitted to access the query methods.", + "Keywords": "permit,query,access", + "FieldName": "query_ip_allowlist_list", + "Category": "Server Settings", + "InputType": "list", + "Special": "listfile:./ts3/teamspeak3-server_win64/query_ip_allowlist.txt" + }, + { + "DisplayName": "Deny Query Access", + "Description": "A list of IP addresses permitted to access the query methods.", + "Keywords": "deny,query,access", + "FieldName": "query_ip_denylist_list", + "Category": "Server Settings", + "InputType": "list", + "Special": "listfile:./ts3/teamspeak3-server_win64/query_ip_denylist.txt" + }, + { + "DisplayName": "DB Plugin", + "Category": "Server Settings", + "Description": "Name of the database plugin library used by the server instance.", + "Keywords": "db,database,plugin", + "FieldName": "dbplugin", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "dbplugin", + "IncludeInCommandLine": false, + "DefaultValue": "ts3db_sqlite3", + "EnumValues": { + "ts3db_mariadb": "MariaDB/MySQL", + "ts3db_postgresql": "PostgreSQL", + "ts3db_sqlite3": "SQLite3" + } + }, + { + "DisplayName": "DB Plugin Parameter", + "Description": "A custom parameter passed to the database plugin library. For example, the MariaDB database plugin supports a parameter to specify the physical path of the plugins configuration file.", + "Category": "Server Settings", + "Keywords": "db,database,plugin,parameter", + "FieldName": "dbpluginparameter", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "dbpluginparameter", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "DB SQL Path", + "Description": "The physical path where your SQL script files are located.", + "Category": "Server Settings", + "Keywords": "db,database,sql,path", + "FieldName": "dbsqlpath", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "dbsqlpath", + "IncludeInCommandLine": false, + "DefaultValue": "sql/", + "EnumValues": {} + }, + { + "DisplayName": "DB SQL Create Path", + "Description": "The physical path where your SQL installation files are located. Note that this path will be added to the value of the 'dbsqlpath' parameter.", + "Category": "Server Settings", + "Keywords": "db,database,sql,path", + "FieldName": "dbsqlcreatepath", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "dbsqlcreatepath", + "IncludeInCommandLine": false, + "DefaultValue": "create_sqlite/", + "EnumValues": {} + }, + { + "DisplayName": "DB Connections (2-100)", + "Description": "The number of database connections used by the server. Please note that changing this value can have an affect on your servers performance. Possible values are 2-100.", + "Category": "Server Settings", + "Keywords": "db,database,connections", + "FieldName": "dbconnections", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "dbconnections", + "IncludeInCommandLine": false, + "DefaultValue": "10", + "Suffix": "connections", + "EnumValues": {} + }, + { + "DisplayName": "Log Path", + "Description": "The physical path where the server will create logfiles.", + "Category": "Server Settings", + "Keywords": "log,path", + "FieldName": "logpath", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "logpath", + "IncludeInCommandLine": false, + "DefaultValue": "logs/", + "EnumValues": {} + }, + { + "DisplayName": "Log Query Commands", + "Description": "The server will log every ServerQuery command executed by clients.", + "Category": "Server Settings", + "Keywords": "log,query,commands", + "FieldName": "logquerycommands", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "logquerycommands", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "Log Query Timing Interval", + "Description": "Defines the number of seconds before ServerQuery command timing is reported.", + "Category": "Server Settings", + "Keywords": "db,client,keep,days", + "FieldName": "logquerytiminginterval", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "logquerytiminginterval", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "DB Client Keep Days", + "Description": "Defines how many days to keep unused client identities. Auto-pruning is triggered on every start and on every new month while the server is running.", + "Category": "Server Settings", + "Keywords": "db,client,keep,days", + "FieldName": "dbclientkeepdays", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "dbclientkeepdays", + "IncludeInCommandLine": false, + "DefaultValue": "90", + "EnumValues": {} + }, + { + "DisplayName": "Log Append", + "Description": "The server will not create a new logfile on every start. Instead, the log output will be appended to the previous logfile.", + "Category": "Server Settings", + "Keywords": "log,append", + "FieldName": "logappend", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "logappend", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "Skip Brute Force Check", + "Description": "The server will skip and bruteforce protection for whitelisted Ip addresses for the ServerQuery interface.", + "Category": "Server Settings", + "Keywords": "disable,skip,brute,force,check", + "FieldName": "query_skipbruteforcecheck", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "query_skipbruteforcecheck", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "HTTP Proxy", + "Description": "If set, the server will use the specified proxy to contact the accounting server over http.", + "Category": "Server Settings", + "Keywords": "http,proxy", + "FieldName": "http_proxy", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "http_proxy", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Server Query Docs Path", + "Description": "Physical location where the server is looking for the documents used for the help command in ServerQuery.", + "Category": "Server Settings", + "Keywords": "server,query,docs,path", + "FieldName": "serverquerydocs_path", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serverquerydocs_path", + "IncludeInCommandLine": false, + "DefaultValue": "serverquerydocs/", + "EnumValues": {} + }, + { + "DisplayName": "MMDB Path", + "Description": "Set to the path of an MMDB file to use this as a source for GeoIP lookups. Requires libmaxminddb installed, which can be found in most Linux distributions as a package. Windows users can use the .dll found in the redist folder.", + "Category": "Server Settings", + "Keywords": "mmdb,file,path,geoip,lookups", + "FieldName": "mmdbpath", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "mmdbpath", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + } +] \ No newline at end of file diff --git a/teamspeak3metaconfig.json b/teamspeak3metaconfig.json new file mode 100644 index 000000000..6f34ced30 --- /dev/null +++ b/teamspeak3metaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile": "teamspeak3-server_win64/teamspeak3server.ini", + "AutoMap": true, + "ConfigType": "kvp", + "ConfigFormatRegex": "^(?.+?)=(?.*?)$" + } +] \ No newline at end of file diff --git a/teamspeak3server.ini b/teamspeak3server.ini new file mode 100644 index 000000000..a09ce5cc6 --- /dev/null +++ b/teamspeak3server.ini @@ -0,0 +1,37 @@ +machine_id= +default_voice_port=9987 +voice_ip=0.0.0.0 +licensepath=teamspeak3-server_win64/ +filetransfer_port=30033 +filetransfer_ip=0.0.0.0 +query_port=10011 +query_ip=0.0.0.0 +query_ip_allowlist=query_ip_allowlist.txt +query_ip_denylist=query_ip_denylist.txt +serveradmin_password= +dbplugin=ts3db_sqlite3 +dbpluginparameter= +dbsqlpath=sql/ +dbsqlcreatepath=create_sqlite/ +dbconnections=10 +logpath=logs/ +logquerycommands=0 +dbclientkeepdays=90 +logappend=0 +query_skipbruteforcecheck=0 +query_buffer_mb=20 +http_proxy= +license_accepted=1 +serverquerydocs_path=serverquerydocs/ +query_ssh_ip=0.0.0.0 +query_ssh_port=10022 +query_protocols=raw +query_ssh_rsa_host_key=ssh_host_rsa_key +query_timeout=300 +query_http_ip=0.0.0.0 +query_http_port=10080 +query_https_ip=0.0.0.0 +query_https_port=10443 +query_pool_size=2 +mmdbpath= +logquerytiminginterval=0 \ No newline at end of file From 4439ff3656a4cbd841096ceb628aaf122b099726 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 14 Sep 2022 05:56:51 +1000 Subject: [PATCH 043/318] Unturned: Updates for new ports system and simplified update stages (#187) --- unturned.kvp | 33 ++++++++++++++++------- unturnedconfig.json | 2 +- unturnedmetaconfig.json | 2 +- unturnedupdates.json | 60 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 86 insertions(+), 11 deletions(-) create mode 100644 unturnedupdates.json diff --git a/unturned.kvp b/unturned.kvp index 6005cde0d..1ba499f2d 100644 --- a/unturned.kvp +++ b/unturned.kvp @@ -1,16 +1,23 @@ Meta.DisplayName=Unturned Meta.Description=Unturned 3 Dedicated Server Meta.OS=Windows, Linux +Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://smartlydressedgames.com/#unturned Meta.DisplayImageSource=url:https://cdn.cloudflare.steamstatic.com/steam/apps/304930/library_hero.jpg?t=1613683705 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort1} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort1} Meta.ConfigManifest=unturnedconfig.json Meta.MetaConfigManifest=unturnedmetaconfig.json Meta.ConfigRoot=unturned.kvp -Meta.MinAMPVersion=2.3.2.0 +Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False App.DisplayName=Unturned App.RootDir=./U3DS/ App.BaseDirectory=./U3DS/1110390/ @@ -20,6 +27,7 @@ App.WorkingDir=1110390 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics {{$FormattedArgs}} +{{ServerType}}/Unturned +App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"304930"} App.CommandLineParameterFormat=-{0}={1} @@ -33,25 +41,30 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=27015 -App.ApplicationPort2=27016 -App.ApplicationPort3=0 -App.RemoteAdminPort=27115 +App.Ports=[{"Protocol":"Both","Port":27015,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":27115,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=QueryPort App.MaxUsers=10 App.UseRandomAdminPassword=True App.RemoteAdminPassword= App.AdminMethod=TelnetRCON +App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1110390"},{"UpdateStageName":"Main Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedconfigfile.dat","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Workshop Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedworkshopconfig.json","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./U3DS/1110390/Servers/Unturned/Server"},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Servers/Unturned/Server/Commands.dat","UpdateSourceArgs":"./unturnedconfigfile.dat","OverwriteExistingFiles":false},{"UpdateStageName":"Rocket Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./U3DS/1110390/Modules/Rocket.Unturned"},{"UpdateStageName":"First Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/English.dat","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/English.dat","OverwriteExistingFiles":true},{"UpdateStageName":"Second Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.API.dll","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.API.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Third Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.Core.dll","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.Core.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Fourth Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.Unturned.dll","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.Unturned.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Fifth Rocket File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./U3DS/1110390/Modules/Rocket.Unturned/Rocket.Unturned.module","UpdateSourceArgs":"./U3DS/1110390/Extras/Rocket.Unturned/Rocket.Unturned.module","OverwriteExistingFiles":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.UpdateSources=@IncludeJson[unturnedupdates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= App.SupportsUniversalSleep=True -App.UniversalSleepApplicationUDPPort=2 -App.UniversalSleepSteamQueryPort=1 App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} @@ -63,6 +76,7 @@ Console.UserJoinRegex=^Connecting: PlayerID: (?.+?) Name: (?.+ Console.UserLeaveRegex=^Disconnecting: PlayerID: (?.+?) Name: (?.+?) Character: (?.+?)$ Console.UserChatRegex=^\[(?:World|Area|Group)\] (?.+?) \[(?.+?)\]: "(?.+)"$ 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={} @@ -71,3 +85,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/unturnedconfig.json b/unturnedconfig.json index a6b638e45..567bdb999 100644 --- a/unturnedconfig.json +++ b/unturnedconfig.json @@ -1,6 +1,6 @@ [ { - "DisplayName": "Server Port", + "DisplayName": "Game Port", "Category": "Server Settings", "Description": "", "Keywords": "", diff --git a/unturnedmetaconfig.json b/unturnedmetaconfig.json index c1e165622..1e812e208 100644 --- a/unturnedmetaconfig.json +++ b/unturnedmetaconfig.json @@ -17,4 +17,4 @@ "AutoMap": true, "ConfigType": "xml" } -] +] \ No newline at end of file diff --git a/unturnedupdates.json b/unturnedupdates.json new file mode 100644 index 000000000..28f5ae029 --- /dev/null +++ b/unturnedupdates.json @@ -0,0 +1,60 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1110390" + }, + { + "UpdateStageName":"Config Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}Servers/Unturned/Server" + }, + { + "UpdateStageName":"Main Config File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedconfigfile.dat", + "UpdateSourceArgs":"Commands.dat", + "UpdateSourceTarget":"{{$FullBaseDir}}Servers/Unturned/Server/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Workshop Config File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedworkshopconfig.json", + "UpdateSourceTarget":"{{$FullInstanceDir}}", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Copy Rocket Directory", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C xcopy /E /Y /I .\\U3DS\\1110390\\Extras\\Rocket.Unturned .\\U3DS\\1110390\\Modules\\Rocket.Unturned" + }, + { + "UpdateStageName":"Copy Rocket Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/cp", + "UpdateSourceArgs":"-rf ./U3DS/1110390/Extras/Rocket.Unturned ./U3DS/1110390/Modules" + }, + { + "UpdateStageName":"Start Server", + "UpdateSourcePlatform":"All", + "UpdateSource":"StartApplication" + }, + { + "UpdateStageName":"Wait For Server Start", + "UpdateSourcePlatform":"All", + "UpdateSource":"WaitForStartupComplete" + }, + { + "UpdateStageName":"Stop Server", + "UpdateSourcePlatform":"All", + "UpdateSource":"ShutdownApplication" + } +] \ No newline at end of file From 8bf4bef4fa788252d8e55b9f496cf2fcf3135de5 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 14 Sep 2022 10:05:25 +1000 Subject: [PATCH 044/318] Clean up update stages (#186) --- veloren.kvp | 4 +-- velorenupdates.json | 60 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 velorenupdates.json diff --git a/veloren.kvp b/veloren.kvp index ccd855c22..ac987c015 100644 --- a/veloren.kvp +++ b/veloren.kvp @@ -9,7 +9,7 @@ Meta.EndpointURIFormat= Meta.ConfigManifest=velorenconfig.json Meta.MetaConfigManifest=velorenmetaconfig.json Meta.ConfigRoot=veloren.kvp -Meta.MinAMPVersion=2.3.4.3 +Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=Supported @@ -54,7 +54,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://download.veloren.net/latest/windows/x86_64/nightly","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":false,"OverwriteExistingFiles":true,"DeleteAfterExtract":false},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://download.veloren.net/latest/linux/x86_64/nightly","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":false,"OverwriteExistingFiles":true,"DeleteAfterExtract":false},{"UpdateStageName":"Server Download Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullInstanceDir}}nightly.zip","UpdateSourceArgs":"{{$FullRootDir}}nightly","OverwriteExistingFiles":true},{"UpdateStageName":"Server Extract","UpdateSourcePlatform":"All","UpdateSource":"ExtractArchive","UpdateSourceArgs":"{{$FullInstanceDir}}nightly.zip","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullRootDir}}veloren-server-cli"},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/velorensettings.ron","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}userdata/server/server_config"},{"UpdateStageName":"Settings Template Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}userdata/server/server_config/AMP_settings.ron","UpdateSourceArgs":"{{$FullInstanceDir}}velorensettings.ron","OverwriteExistingFiles":false}] +App.UpdateSources=@IncludeJson[velorenupdates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/velorenupdates.json b/velorenupdates.json new file mode 100644 index 000000000..d24198b32 --- /dev/null +++ b/velorenupdates.json @@ -0,0 +1,60 @@ +[ + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://download.veloren.net/latest/windows/x86_64/nightly", + "UpdateSourceArgs":"nightly.zip", + "UpdateSourceTarget":"{{$FullRootDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://download.veloren.net/latest/linux/x86_64/nightly", + "UpdateSourceArgs":"nightly.zip", + "UpdateSourceTarget":"{{$FullRootDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Set Executable Flag", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"SetExecutableFlag", + "UpdateSourceArgs":"{{$FullRootDir}}veloren-server-cli" + }, + { + "UpdateStageName":"Config Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}userdata/server/server_config" + }, + { + "UpdateStageName":"Settings Template Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/velorensettings.ron", + "UpdateSourceArgs":"AMP_settings.ron", + "UpdateSourceTarget":"{{$FullBaseDir}}userdata/server/server_config/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Start Server", + "UpdateSourcePlatform":"All", + "UpdateSource":"StartApplication" + }, + { + "UpdateStageName":"Wait For Server Start", + "UpdateSourcePlatform":"All", + "UpdateSource":"WaitForStartupComplete" + }, + { + "UpdateStageName":"Stop Server", + "UpdateSourcePlatform":"All", + "UpdateSource":"ShutdownApplication" + } +] \ No newline at end of file From 75b6cc29b37c67edfc1b787f85158c1fb5225a61 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 14 Sep 2022 20:13:54 +1000 Subject: [PATCH 045/318] Add Vintage Story (#152) --- vintage-story.kvp | 86 ++++++++++++++++++++++ vintage-storyconfig.json | 133 +++++++++++++++++++++++++++++++++++ vintage-storymetaconfig.json | 7 ++ 3 files changed, 226 insertions(+) create mode 100644 vintage-story.kvp create mode 100644 vintage-storyconfig.json create mode 100644 vintage-storymetaconfig.json diff --git a/vintage-story.kvp b/vintage-story.kvp new file mode 100644 index 000000000..754086e80 --- /dev/null +++ b/vintage-story.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=Vintage Story +Meta.Description=Vintage Story Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://vintagestory.at +Meta.DisplayImageSource=url:https://content.invisioncic.com/r268468/monthly_2018_02/gamelogo-vintagestory-square.png.d938fbc6101feaae3bbc38019e392ff0.png +Meta.EndpointURIFormat= +Meta.ConfigManifest=vintage-storyconfig.json +Meta.MetaConfigManifest=vintage-storymetaconfig.json +Meta.ConfigRoot=vintage-story.kvp +Meta.MinAMPVersion=2.4.0.2 +Meta.SpecificDockerImage=cubecoders/ampbase:mono +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Vintage Story +App.RootDir=./vintage-story/ +App.BaseDirectory=./vintage-story/ +App.ExecutableWin=server\VintagestoryServer.exe +App.ExecutableLinux=/usr/bin/mono +App.WorkingDir=server +App.LinuxCommandLineArgs=./VintagestoryServer.exe +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} --port {{$ServerPort}} --dataPath "{{$FullBaseDir}}data" {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={} +App.CommandLineParameterFormat=--{0} {1} +App.CommandLineParameterDelimiter= +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=/stop +App.ExitFile=lock +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":"TCP","Name":"Server Port","Description":"Port for game traffic","Port":42420,"Ref":"ServerPort"}] +App.AdminPortRef=ServerPort +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=ServerPort +App.MaxUsers=16 +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 Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}server"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://cdn.vintagestory.at/gamefiles/stable/vs_server_{{ServerVersion}}.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}server","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=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName=VintagestoryServer.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:]+ \[Server Event\] Dedicated Server now running on Port \d+ and (all ips|ip .*)!$ +Console.UserJoinRegex=^[\d:]+ \[Server Event\] (?.+?) [\[\]a-f\d:.]+ joins\.$ +Console.UserLeaveRegex=^[\d:]+ \[Server Event\] Player (?.+?) (left|got removed\. Reason: Server shutting down - Shutdown via server command).*$ +Console.UserChatRegex=^[\d:]+ \[Server Chat\] (?.+?): (?.+?): (?.+)$ +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 \ No newline at end of file diff --git a/vintage-storyconfig.json b/vintage-storyconfig.json new file mode 100644 index 000000000..6088f6437 --- /dev/null +++ b/vintage-storyconfig.json @@ -0,0 +1,133 @@ +[ + { + "DisplayName":"Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ServerPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"$.Port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Version", + "Category":"Server Settings", + "Description":"[Server version](https://account.vintagestory.at/downloads) to install (needs a game account to view versions). NOTE: Delete the \"server\" folder and then update the server after changing this setting!", + "Keywords":"server,version", + "FieldName":"ServerVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerVersion", + "IncludeInCommandLine":false, + "DefaultValue":"1.16.5", + "Placeholder":"1.16.5", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Server Settings", + "Description":"If enabled, the server will be added to the public server listing", + "Keywords":"public", + "FieldName":"AdvertiseServer", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.AdvertiseServer", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Server name visible in the server list", + "Keywords":"server,name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"Vintage Story Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Welcome Message", + "Category":"Server Settings", + "Description":"Welcome message when players join the server. Placeholder {0} will be replaced with the player's nickname", + "Keywords":"welcome,message,motd", + "FieldName":"WelcomeMessage", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.WelcomeMessage", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome, {0}, may you survive well and prosper", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.MaxClients", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Enable Whitelist", + "Category":"Server Settings", + "Description":"If enabled, only whitelisted players can join the server", + "Keywords":"whitelist", + "FieldName":"OnlyWhitelisted", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.OnlyWhitelisted", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Allow PvP", + "Category":"Gameplay Settings", + "Description":"If enabled, players can hit other players", + "Keywords":"pvp", + "FieldName":"AllowPvP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.AllowPvP", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Enable UPnP", + "Category":"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":false, + "DefaultValue":"false", + "EnumValues":{ + "True":"true", + "False":"false" + } + } +] \ No newline at end of file diff --git a/vintage-storymetaconfig.json b/vintage-storymetaconfig.json new file mode 100644 index 000000000..cb13025d7 --- /dev/null +++ b/vintage-storymetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"data/serverconfig.json", + "AutoMap":true, + "ConfigType":"json" + } +] \ No newline at end of file From 975a9f51ed7f92f017d328a21772e32a02fa3fc5 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 14 Sep 2022 23:32:22 -0500 Subject: [PATCH 046/318] Add Conan Exiles Docker Support (#188) * Add Conan Exiles Docker Support This adds Docker support for Conan Exiles and converts it to using Wine vs Proton. This simplifies the config quite a bit. * Final Changes --- conan-exiles.kvp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/conan-exiles.kvp b/conan-exiles.kvp index 0af49d121..cbfe9a905 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -9,10 +9,10 @@ Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3} Meta.ConfigManifest=conan-exilesconfig.json Meta.MetaConfigManifest=conan-exilesmetaconfig.json Meta.ConfigRoot=conan-exiles.kvp -Meta.MinAMPVersion=2.3.2.8 -Meta.SpecificDockerImage=cubecoders/ampbase:xvfb +Meta.MinAMPVersion=2.4.0.0 +Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=RecommendedOnLinux Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Conan Exiles @@ -21,11 +21,11 @@ App.BaseDirectory=./conan-exiles/443030/ App.ExecutableWin=443030\ConanSandbox\Binaries\Win64\ConanSandboxServer-Win64-Test.exe App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=443030/ConanSandbox/Binaries/Win64 -App.LinuxCommandLineArgs=-a "{{$FullRootDir}}1493710/proton" run "./ConanSandboxServer-Win64-Test.exe" +App.LinuxCommandLineArgs=-a wine "./ConanSandboxServer-Win64-Test.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{Map}}{{CustomMap}} -log -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900","STEAM_COMPAT_DATA_PATH":"{{$FullRootDir}}1493710","STEAM_COMPAT_CLIENT_INSTALL_PATH":"{{$FullRootDir}}1493710"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -49,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Proton Compatibility Layer","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1493710"},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer/ServerSettings.ini","UpdateSourceArgs":"./conan-exilesconfigsettings.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -60,13 +60,16 @@ App.UniversalSleepSteamQueryPort=3 App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=3000 +App.MonitorChildProcessName=wine64 Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^LogGameMode:Display: Match State Changed from WaitingToStart to InProgress$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.SuppressLogAtStart=False Console.ActivateLogRegex= From fc2e7e4cdc7631c8d9344a7fdc85c9e885e28b5e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 16 Sep 2022 07:45:35 +1000 Subject: [PATCH 047/318] Stationeers: Various updates for new dedicated server build (#156) --- stationeers-legacy.kvp | 76 ++++++ stationeers-legacyconfig.json | 184 +++++++++++++ stationeers-legacymetaconfig.json | 7 + stationeers.kvp | 46 ++-- stationeersconfig.json | 427 +++++++++++++++++------------- stationeersmetaconfig.json | 12 +- 6 files changed, 545 insertions(+), 207 deletions(-) create mode 100644 stationeers-legacy.kvp create mode 100644 stationeers-legacyconfig.json create mode 100644 stationeers-legacymetaconfig.json diff --git a/stationeers-legacy.kvp b/stationeers-legacy.kvp new file mode 100644 index 000000000..a5ce66c5f --- /dev/null +++ b/stationeers-legacy.kvp @@ -0,0 +1,76 @@ +Meta.DisplayName=Stationeers (Legacy) +Meta.Description=Stationeers Dedicated Server (Legacy) +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=IceOfWraith, CubeCoders +Meta.URL=https://store.steampowered.com/app/544550/Stationeers/ +Meta.DisplayImageSource=steam:544550 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} +Meta.ConfigManifest=stationeers-legacyconfig.json +Meta.MetaConfigManifest=stationeers-legacymetaconfig.json +Meta.ConfigRoot=stationeers-legacy.kvp +Meta.MinAMPVersion= +Meta.SpecificDockerImage= +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Stationeers (Legacy) +App.RootDir=./stationeers/ +App.BaseDirectory=./stationeers/600760/ +App.ExecutableWin=600760\rocketstation_DedicatedServer.exe +App.ExecutableLinux=600760/rocketstation_DedicatedServer.x86_64 +App.WorkingDir=600760 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=-batchmode -nographics -autostart -bindip={{$ApplicationIPBinding}} -basedirectory="{{$FullBaseDir}}" -loadworld="{{worldname}}" -modpath="{{$FullBaseDir}}{{modpath}}/" {{$FormattedArgs}} +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"544550"} +App.CommandLineParameterFormat=-{0}="{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=shutdown +App.ExitFile=app_exit.lck +App.HasWriteableConsole=False +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.ApplicationPort1=28015 +App.ApplicationPort2=27028 +App.ApplicationPort3=0 +App.RemoteAdminPort=0 +App.MaxUsers=20 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceVersion":"previous"},{"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=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.SupportsUniversalSleep=True +App.UniversalSleepApplicationUDPPort=1 +App.UniversalSleepSteamQueryPort=2 +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^StationeerServer connected to Steam successfully<\/color><\/b>$ +Console.UserJoinRegex= +Console.UserLeaveRegex= +Console.UserChatRegex= +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=False +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 diff --git a/stationeers-legacyconfig.json b/stationeers-legacyconfig.json new file mode 100644 index 000000000..512072f92 --- /dev/null +++ b/stationeers-legacyconfig.json @@ -0,0 +1,184 @@ +[ + { + "DisplayName": "Server Name", + "Category": "Server Settings", + "Description": "Display name of the server.", + "Keywords": "server,name", + "FieldName": "SERVERNAME", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "SERVER.SERVERNAME", + "IncludeInCommandLine": false, + "DefaultValue": "AMP Powered Stationeers Server", + "EnumValues": {} + }, + { + "DisplayName": "Server Password", + "Category": "Server Settings", + "Description": "Password that clients must supply to join.", + "Keywords": "password", + "FieldName": "PASSWORD", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "SERVER.PASSWORD", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "RCON Password", + "Category": "Server Settings", + "Description": "Password to access RCON using http://YOURIP:GAMEPORT. You should change after install.", + "Keywords": "RCON,password", + "FieldName": "RCONPASSWORD", + "InputType": "RandomPassword", + "IsFlagArgument": false, + "ParamFieldName": "RCON.RCONPASSWORD", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Admin Password", + "Category": "Server Settings", + "Description": "Password to become the in-game admin. You should change after install.", + "Keywords": "admin,password", + "FieldName": "ADMINPASSWORD", + "InputType": "RandomPassword", + "IsFlagArgument": false, + "ParamFieldName": "SERVER.ADMINPASSWORD", + "IncludeInCommandLine": false, + "DefaultValue": "Password123", + "EnumValues": {} + }, + { + "DisplayName": "Max Players", + "Category": "Server Settings", + "Description": "The maximum number of players allowed on the server.", + "Keywords": "max,players", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "SERVER.MAXPLAYER", + "IncludeInCommandLine": false, + "DefaultValue": "20", + "EnumValues": {} + }, + { + "DisplayName": "Creator", + "Category": "Server Settings", + "Description": "Set creator's [Steam64 ID](https://steamidfinder.com/) as gamedata and key-value. This is for future integration of server instancing.", + "Keywords": "creator", + "FieldName": "creator", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "creator", + "IncludeInCommandLine": true, + "DefaultValue": "", + "SkipIfEmpty": true, + "EnumValues": {} + }, + { + "DisplayName": "World Name", + "Category": "Server Settings", + "Description": "Name of the world directory to load.", + "Keywords": "world,name", + "FieldName": "worldname", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "worldname", + "IncludeInCommandLine": true, + "DefaultValue": "world", + "EnumValues": {} + }, + { + "DisplayName": "Map", + "Category": "Server Settings", + "Description": "Default Moon. Will create a world of this type or display this world type in the server browser if loading a save.", + "Keywords": "world,type", + "FieldName": "worldtype", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "worldtype", + "IncludeInCommandLine": true, + "DefaultValue": "", + "SkipIfEmpty": true, + "EnumValues": { + "": "Default", + "Europa2": "Europa2", + "Loulan": "Loulan", + "Mars": "Mars", + "Mimas": "Mimas", + "Moon": "Moon", + "Space": "Space", + "Vulcan2": "Vulcan2" + } + }, + { + "DisplayName": "Auto Save Interval", + "Category": "Server Settings", + "Description": "How frequently the server will save the world.", + "Keywords": "", + "FieldName": "autosaveinterval", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "autosaveinterval", + "IncludeInCommandLine": true, + "DefaultValue": "60", + "EnumValues": {}, + "Suffix": "sec" + }, + { + "DisplayName": "Clear All Interval", + "Category": "Server Settings", + "Description": "The interval to run \"clearall\" command. Minimum is 60 seconds. clearall will delete all disconnected characters. Set to a very high number. 0 to disable. ", + "Keywords": "clear,all,interval", + "FieldName": "clearallinterval", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "clearallinterval", + "IncludeInCommandLine": true, + "DefaultValue": "60", + "EnumValues": {}, + "Suffix": "sec" + }, + { + "DisplayName": "Mod Path", + "Category": "Server Settings", + "Description": "Where mods are located inside the datastore.", + "Keywords": "mod,path", + "FieldName": "modpath", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "modpath", + "IncludeInCommandLine": false, + "DefaultValue": "Mods", + "EnumValues": {} + }, + { + "DisplayName": "GAMEPORT", + "Category": "Server Settings", + "Description": "", + "Keywords": "", + "FieldName": "$ApplicationPort1", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "SERVER.GAMEPORT", + "IncludeInCommandLine": false, + "DefaultValue": "27500", + "Hidden": true + }, + { + "DisplayName": "UPDATERPORT", + "Category": "Server Settings", + "Description": "", + "Keywords": "", + "FieldName": "$ApplicationPort2", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "SERVER.UPDATERPORT", + "IncludeInCommandLine": false, + "DefaultValue": "27015", + "Hidden": true + } +] \ No newline at end of file diff --git a/stationeers-legacymetaconfig.json b/stationeers-legacymetaconfig.json new file mode 100644 index 000000000..c4d5b62d6 --- /dev/null +++ b/stationeers-legacymetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile": "./default.ini", + "AutoMap": true, + "ConfigType": "ini" + } +] diff --git a/stationeers.kvp b/stationeers.kvp index 0cb5166db..73d466f23 100644 --- a/stationeers.kvp +++ b/stationeers.kvp @@ -1,20 +1,20 @@ -Meta.DisplayName=Stationeers (Legacy Server) -Meta.Description=Stationeers Dedicated Server (Legacy) +Meta.DisplayName=Stationeers +Meta.Description=Stationeers Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=IceOfWraith, CubeCoders +Meta.Author=IceOfWraith, Greelan Meta.URL=https://store.steampowered.com/app/544550/Stationeers/ Meta.DisplayImageSource=steam:544550 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$UpdatePort} Meta.ConfigManifest=stationeersconfig.json Meta.MetaConfigManifest=stationeersmetaconfig.json Meta.ConfigRoot=stationeers.kvp -Meta.MinAMPVersion= +Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage= Meta.ContainerPolicy=Supported Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Stationeers (Legacy Server) +App.DisplayName=Stationeers App.RootDir=./stationeers/ App.BaseDirectory=./stationeers/600760/ App.ExecutableWin=600760\rocketstation_DedicatedServer.exe @@ -22,49 +22,47 @@ App.ExecutableLinux=600760/rocketstation_DedicatedServer.x86_64 App.WorkingDir=600760 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs=-batchmode -nographics -autostart -bindip={{$ApplicationIPBinding}} -basedirectory="{{$FullBaseDir}}" -loadworld="{{worldname}}" -modpath="{{$FullBaseDir}}{{modpath}}/" {{$FormattedArgs}} +App.CommandLineArgs=-{{LoadMode}} "{{SaveName}}" {{WorldType}} -noclear -settings StartLocalHost true GamePort {{$GamePort}} UpdatePort {{$UpdatePort}} SavePath "{{$FullBaseDir}}saves" {{$FormattedArgs}} App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"544550"} -App.CommandLineParameterFormat=-{0}="{1}" +App.CommandLineParameterFormat={0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=shutdown +App.ExitTimeout=15 +App.ExitString=quit App.ExitFile=app_exit.lck -App.HasWriteableConsole=False +App.HasWriteableConsole=True App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=28015 -App.ApplicationPort2=27028 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 -App.MaxUsers=20 -App.UseRandomAdminPassword=True +App.Ports=[{"Protocol":"UDP","Name":"Game Port","Description":"Port for game traffic","Port":27016,"Ref":"GamePort"},{"Protocol":"UDP","Name":"Update Port","Description":"Port for Steam updates","Port":27015,"Ref":"UpdatePort"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPort=GamePort +App.UniversalSleepSteamQueryPort=UpdatePort +App.MaxUsers=10 +App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceVersion":"previous"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760"},{"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=True App.SteamForceLoginPrompt=False App.RapidStartup=False App.SupportsUniversalSleep=True -App.UniversalSleepApplicationUDPPort=1 -App.UniversalSleepSteamQueryPort=2 App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^StationeerServer connected to Steam successfully<\/color><\/b>$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= +Console.AppReadyRegex=^(?:> )*?[\d:]+ (Started new game in world .+?|World\s+loaded)$ +Console.UserJoinRegex=^(?:> )*?[\d:]+ Client (?.+?) \((?.+?)\) is ready!$ +Console.UserLeaveRegex=^(?:> )*?[\d:]+ Client disconnected: .* \| (?.+?)\s+connectTime: \d+.\d+s, ClientId: (?.+?)$ +Console.UserChatRegex=^$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.SuppressLogAtStart=False Console.ActivateLogRegex= diff --git a/stationeersconfig.json b/stationeersconfig.json index 512072f92..1e3495926 100644 --- a/stationeersconfig.json +++ b/stationeersconfig.json @@ -1,184 +1,257 @@ [ { - "DisplayName": "Server Name", - "Category": "Server Settings", - "Description": "Display name of the server.", - "Keywords": "server,name", - "FieldName": "SERVERNAME", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.SERVERNAME", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Stationeers Server", - "EnumValues": {} - }, - { - "DisplayName": "Server Password", - "Category": "Server Settings", - "Description": "Password that clients must supply to join.", - "Keywords": "password", - "FieldName": "PASSWORD", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.PASSWORD", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "RCON Password", - "Category": "Server Settings", - "Description": "Password to access RCON using http://YOURIP:GAMEPORT. You should change after install.", - "Keywords": "RCON,password", - "FieldName": "RCONPASSWORD", - "InputType": "RandomPassword", - "IsFlagArgument": false, - "ParamFieldName": "RCON.RCONPASSWORD", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Admin Password", - "Category": "Server Settings", - "Description": "Password to become the in-game admin. You should change after install.", - "Keywords": "admin,password", - "FieldName": "ADMINPASSWORD", - "InputType": "RandomPassword", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.ADMINPASSWORD", - "IncludeInCommandLine": false, - "DefaultValue": "Password123", - "EnumValues": {} - }, - { - "DisplayName": "Max Players", - "Category": "Server Settings", - "Description": "The maximum number of players allowed on the server.", - "Keywords": "max,players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.MAXPLAYER", - "IncludeInCommandLine": false, - "DefaultValue": "20", - "EnumValues": {} - }, - { - "DisplayName": "Creator", - "Category": "Server Settings", - "Description": "Set creator's [Steam64 ID](https://steamidfinder.com/) as gamedata and key-value. This is for future integration of server instancing.", - "Keywords": "creator", - "FieldName": "creator", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "creator", - "IncludeInCommandLine": true, - "DefaultValue": "", - "SkipIfEmpty": true, - "EnumValues": {} - }, - { - "DisplayName": "World Name", - "Category": "Server Settings", - "Description": "Name of the world directory to load.", - "Keywords": "world,name", - "FieldName": "worldname", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "worldname", - "IncludeInCommandLine": true, - "DefaultValue": "world", - "EnumValues": {} - }, - { - "DisplayName": "Map", - "Category": "Server Settings", - "Description": "Default Moon. Will create a world of this type or display this world type in the server browser if loading a save.", - "Keywords": "world,type", - "FieldName": "worldtype", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "worldtype", - "IncludeInCommandLine": true, - "DefaultValue": "", - "SkipIfEmpty": true, - "EnumValues": { - "": "Default", - "Europa2": "Europa2", - "Loulan": "Loulan", - "Mars": "Mars", - "Mimas": "Mimas", - "Moon": "Moon", - "Space": "Space", - "Vulcan2": "Vulcan2" + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"GamePort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Update Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$UpdatePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"UpdatePort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the name of the server to be displayed on the server list.", + "Keywords":"server,name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerName", + "IncludeInCommandLine":true, + "DefaultValue":"AMP Powered Stationeers Server", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Server Settings", + "Description":"If enabled, the server will be visible in the in-game server list.", + "Keywords":"public,visible", + "FieldName":"ServerVisible", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ServerVisible", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "True":"true", + "False":"false" } }, { - "DisplayName": "Auto Save Interval", - "Category": "Server Settings", - "Description": "How frequently the server will save the world.", - "Keywords": "", - "FieldName": "autosaveinterval", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "autosaveinterval", - "IncludeInCommandLine": true, - "DefaultValue": "60", - "EnumValues": {}, - "Suffix": "sec" - }, - { - "DisplayName": "Clear All Interval", - "Category": "Server Settings", - "Description": "The interval to run \"clearall\" command. Minimum is 60 seconds. clearall will delete all disconnected characters. Set to a very high number. 0 to disable. ", - "Keywords": "clear,all,interval", - "FieldName": "clearallinterval", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "clearallinterval", - "IncludeInCommandLine": true, - "DefaultValue": "60", - "EnumValues": {}, - "Suffix": "sec" - }, - { - "DisplayName": "Mod Path", - "Category": "Server Settings", - "Description": "Where mods are located inside the datastore.", - "Keywords": "mod,path", - "FieldName": "modpath", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "modpath", - "IncludeInCommandLine": false, - "DefaultValue": "Mods", - "EnumValues": {} - }, - { - "DisplayName": "GAMEPORT", - "Category": "Server Settings", - "Description": "", - "Keywords": "", - "FieldName": "$ApplicationPort1", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.GAMEPORT", - "IncludeInCommandLine": false, - "DefaultValue": "27500", - "Hidden": true - }, - { - "DisplayName": "UPDATERPORT", - "Category": "Server Settings", - "Description": "", - "Keywords": "", - "FieldName": "$ApplicationPort2", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.UPDATERPORT", - "IncludeInCommandLine": false, - "DefaultValue": "27015", - "Hidden": true + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Sets the password to join the server.", + "Keywords":"password", + "FieldName":"ServerPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"ServerPassword", + "IncludeInCommandLine":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Auth Secret", + "Category":"Server Settings", + "Description":"Sets the authorisation secret to allow server commands to be run from a client. Requires the same \"ServerAuthSecret\" to be set on the client.", + "Keywords":"auth,secret,commands", + "FieldName":"ServerAuthSecret", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"ServerAuthSecret", + "IncludeInCommandLine":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"The maximum number of players allowed on the server.", + "Keywords":"max,players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ServerMaxPlayers", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"10", + "EnumValues":{} + }, + { + "DisplayName":"Load Mode", + "Category":"Server Settings", + "Description":"Sets the mode for loading world saves based on the Save Name. \"Load Manual Save\" loads the last manual save. \"Load Latest Save\" loads the latest save, whether manual or auto. If there is no save, a new world is created.", + "Keywords":"load,latest", + "FieldName":"LoadMode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"LoadMode", + "IncludeInCommandLine":false, + "DefaultValue":"loadlatest", + "EnumValues":{ + "load":"Load Manual Save", + "loadlatest":"Load Latest Save" + } + }, + { + "DisplayName":"Save Name", + "Category":"Server Settings", + "Description":"Sets the name of the world directory to load, or to create if it does not already exist.", + "Keywords":"save,name", + "FieldName":"SaveName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SaveName", + "IncludeInCommandLine":false, + "DefaultValue":"world", + "EnumValues":{} + }, + { + "DisplayName":"Map", + "Category":"Server Settings", + "Description":"Sets the type of world (map) to be created. Default is moon.", + "Keywords":"world,type,map", + "FieldName":"WorldType", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"WorldType", + "IncludeInCommandLine":false, + "DefaultValue":"moon", + "EnumValues":{ + "moon":"Moon", + "mars":"Mars", + "europa":"Europa", + "europa2":"Europa2", + "mimas":"Mimas", + "vulcan":"Vulcan", + "vulcan2":"Vulcan2", + "space":"Space", + "loulan":"Loulan", + "venus":"Venus" + } + }, + { + "DisplayName":"Enable Autosave", + "Category":"Server Settings", + "Description":"If enabled, the world will be autosaved at the interval set under \"Autosave Interval\".", + "Keywords":"autosave", + "FieldName":"AutoSave", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AutoSave", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Autosave Interval", + "Category":"Server Settings", + "Description":"Sets how frequently the server will save the world if autosave is enabled.", + "Keywords":"autosave,interval", + "FieldName":"SaveInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SaveInterval", + "IncludeInCommandLine":true, + "DefaultValue":"300", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Autopause", + "Category":"Server Settings", + "Description":"If enabled, the server will be paused when no player is connected.", + "Keywords":"autopause", + "FieldName":"AutoPauseServer", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AutoPauseServer", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Show Framerate", + "Category":"Server Settings", + "Description":"If enabled, shows the framerate of the server.", + "Keywords":"framerate,fps", + "FieldName":"ShowFps", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ShowFps", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Show Latency", + "Category":"Server Settings", + "Description":"If enabled, shows the latency of the server.", + "Keywords":"latency", + "FieldName":"ShowLatency", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ShowLatency", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Server IP Binding", + "Category":"Server Settings", + "Description":"Sets the binding of the server. Default is blank (all IPs). Change to internal interface IP only if the server has issues.", + "Keywords":"ip,binding,localip,address", + "FieldName":"LocalIpAddress", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"LocalIpAddress", + "IncludeInCommandLine":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Enable UPnP", + "Category":"Server Settings", + "Description":"If enabled, the server will attempt to configure automatic port forwarding on a compatible router.", + "Keywords":"upnp", + "FieldName":"UPNPEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"UPNPEnabled", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "True":"true", + "False":"false" + } } ] \ No newline at end of file diff --git a/stationeersmetaconfig.json b/stationeersmetaconfig.json index c4d5b62d6..9e4442837 100644 --- a/stationeersmetaconfig.json +++ b/stationeersmetaconfig.json @@ -1,7 +1,7 @@ [ - { - "ConfigFile": "./default.ini", - "AutoMap": true, - "ConfigType": "ini" - } -] + { + "ConfigFile":"setting.xml", + "AutoMap":true, + "ConfigType":"xml" + } +] \ No newline at end of file From 1ae86d97f6e64be3cc9e11f49083cd6db15f2d20 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 17 Sep 2022 12:28:49 +1000 Subject: [PATCH 048/318] Geyser: overhaul of template (#162) --- geyser.kvp | 101 ++++++++++++++++++++++++++++++++------------- geyserconfig.json | 64 ++++++++++++++++++++++------ geyserupdates.json | 84 +++++++++++++++++++++++++++++++++++++ 3 files changed, 208 insertions(+), 41 deletions(-) create mode 100644 geyserupdates.json diff --git a/geyser.kvp b/geyser.kvp index 111f359ba..339a6e1c1 100644 --- a/geyser.kvp +++ b/geyser.kvp @@ -1,43 +1,86 @@ +Meta.DisplayName=Geyser +Meta.Description=Geyser Minecraft Proxy +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://geysermc.org/ +Meta.DisplayImageSource=url:https://camo.githubusercontent.com/2c38e59629bbb0f2e632c231416baf222119b55a24803cf548e04c26e2785760/68747470733a2f2f6765797365726d632e6f72672f696d672f6765797365722d313736302d3836302e706e67 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=geyserconfig.json +Meta.MetaConfigManifest= +Meta.ConfigRoot=geyser.kvp +Meta.MinAMPVersion=2.4.0.2 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False App.DisplayName=Geyser -App.RootDir=./Geyser/ +App.RootDir=./geyser/ +App.BaseDirectory=./geyser/ +App.ExecutableWin=java\bin\java.exe +App.ExecutableLinux=java/bin/java App.WorkingDir= -App.ExecutableWin=java -App.ExecutableLinux=/usr/bin/java -App.Compatibility=None -App.CommandLineArgs=-Xms{{MinMemory}}M -jar {{JarFile}} -App.CommandLineVars={"MinMemory":"1024","JarFile":"Geyser.jar"} +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=-Xms{{MinMemory}}M -Xmx{{MaxMemory}}M {{CustomJavaArgs}} -jar Geyser.jar {{$PlatformArgs}} --bedrock.port={{$ServerPort}} {{$FormattedArgs}} nogui +App.UseLinuxIOREDIR=False +App.AppSettings={} App.EnvironmentVariables={} +App.CommandLineParameterFormat=--{0}="{1}" +App.CommandLineParameterDelimiter= App.ExitMethod=String +App.ExitTimeout=30 App.ExitString=geyser 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.ApplicationPort1=19132 -App.ApplicationPort2=19133 -App.ApplicationPort3=19134 +App.Ports=[{"Protocol":"UDP","Port":19132,"Ref":"ServerPort","Name":"Server Port","Description":"Port for server traffic"}] +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef= App.MaxUsers=100 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO -App.UpdateSource=FetchURL -App.UpdateSourceData=https://ci.opencollab.dev//job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/standalone/target/Geyser.jar -App.UnzipUpdateSource=False -App.OverwriteExistingFiles=True -App.UseRandomAdminPassword=True +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[geyserupdates.json] +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 - -Console.FilterMatchRegex=\[\d?\d?;?\d?m +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex=(\[m|\[\d+?;?\d+?m) Console.FilterMatchReplacement= -Console.AppReadyRegex=^\[\d{2}:\d{2}:\d{2} INFO\] Done \(\d+.\d+s\)! Run \/geyser help for help!$ -Console.UserJoinRegex=^\[\d{2}:\d{2}:\d{2} INFO\] (?.+) \(logged in as: (?.+)\) has connected to remote java server on address (?.+)$ -Console.UserLeaveRegex=^\[\d{2}:\d{2}:\d{2} INFO\] (?.+) has disconnected from remote Java server on address (?.+) because of (?.+)$ Console.ThrowawayMessageRegex= +Console.AppReadyRegex=^\[[\d:]+ INFO\] Done \([\d.]+s\)! Run \/geyser help for help!$ +Console.UserJoinRegex=^\[[\d:]+ INFO\] (?.+?) \(logged in as: .+\) has connected to remote java server on address (?.+?)$ +Console.UserLeaveRegex=^\[[\d:]+ INFO\] (?.+?) has disconnected from remote Java server on address (?.+?) because of (?.+)$ +Console.UserChatRegex=^$ +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={} - -Meta.DisplayName=Geyser -Meta.Description=Geyser Minecraft Proxy -Meta.OS=Windows, Linux -Meta.Author=https://github.com/Galaxyzd -Meta.URL=https://github.com/CubeCoders/AMPTemplates/blob/main/geysermc.kvp -Meta.DisplayImageSource=url:https://camo.githubusercontent.com/2c38e59629bbb0f2e632c231416baf222119b55a24803cf548e04c26e2785760/68747470733a2f2f6765797365726d632e6f72672f696d672f6765797365722d313736302d3836302e706e67 -Meta.ConfigManifest=configmanifest.json -Meta.ConfigRoot=GenericModule.kvp -Meta.Hidden=true +Limits.SleepMode=True +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/geyserconfig.json b/geyserconfig.json index 86c0e6547..c18a39002 100644 --- a/geyserconfig.json +++ b/geyserconfig.json @@ -1,18 +1,58 @@ [ { - "DisplayName": "Minimum Memory (MB)", - "Description": "The minimum memory allocated to Geyser, in MB", - "FieldName": "MinMemory", - "Keywords": "memory", - "InputType": "number", - "Category": "Geyser Configuration" + "DisplayName":"Java Version", + "Category":"Java Settings", + "Description":"Sets the Java version to install. Must be a major version number only such as 18 or 19, not a subversion. Check the [Geyser wiki](https://wiki.geysermc.org/geyser/setup/) for versions compatible with Geyser, and the [Oracle website](https://www.oracle.com/java/technologies/downloads/) for available downloads. Server must be updated after changing this setting", + "Keywords":"java,version", + "FieldName":"JavaVersion", + "InputType":"number", + "MinValue":"17", + "IsFlagArgument":false, + "ParamFieldName":"JavaVersion", + "IncludeInCommandLine":false, + "DefaultValue":"18", + "EnumValues":{} }, { - "DisplayName": "JAR File", - "Description": "The JAR file to execute", - "FieldName": "JarFile", - "Keywords": "jar", - "InputType": "text", - "Category": "Geyser Configuration" + "DisplayName":"Minimum Memory", + "Category":"Java Settings", + "Description":"Java's minimum heap size", + "Keywords":"minimum,memory,heap", + "FieldName":"MinMemory", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MinMemory", + "IncludeInCommandLine":false, + "DefaultValue":"1024", + "Suffix":"MB", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Memory", + "Category":"Java Settings", + "Description":"Java's maximum heap size", + "Keywords":"maximum,memory,heap", + "FieldName":"MaxMemory", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MaxMemory", + "IncludeInCommandLine":false, + "DefaultValue":"1024", + "Suffix":"MB", + "EnumValues":{} + }, + { + "DisplayName":"Additional Java Startup Parameters", + "Category":"Java Settings", + "Description":"Additional Java arguments (not server arguments) as startup parameters that are not otherwise set by AMP. Use with care", + "Keywords":"custom,java,arguments,parameters", + "FieldName":"CustomJavaArgs", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomJavaArgs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"-XX:+UseG1GC", + "EnumValues":{} } ] diff --git a/geyserupdates.json b/geyserupdates.json new file mode 100644 index 000000000..22e4042b2 --- /dev/null +++ b/geyserupdates.json @@ -0,0 +1,84 @@ +[ + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/standalone/target/Geyser.jar", + "UpdateSourceTarget":"{{$FullRootDir}}", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Java Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_windows-x64_bin.zip", + "UpdateSourceTarget":"{{$FullRootDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Remove Old Java Directory", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C RD /S /Q .\\geyser\\java" + }, + { + "UpdateStageName":"Java Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_linux-x64_bin.tar.gz", + "UpdateSourceTarget":"{{$FullRootDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Pause Update Stages", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Pause", + "UpdateSourceArgs":"1" + }, + { + "UpdateStageName":"Rename New Java Directory", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C move .\\geyser\\jdk* .\\geyser\\java" + }, + { + "UpdateStageName":"Replace Java Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'rm -rf ./geyser/java ; mv ./geyser/jdk* ./geyser/java'" + }, + { + "UpdateStageName":"Pause Update Stages", + "UpdateSourcePlatform":"All", + "UpdateSource":"Pause", + "UpdateSourceArgs":"2" + }, + { + "UpdateStageName":"Set Executable Flag", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"SetExecutableFlag", + "UpdateSourceArgs":"{{$FullBaseDir}}java/bin/java" + }, + { + "UpdateStageName":"Start Server", + "UpdateSourcePlatform":"All", + "UpdateSource":"StartApplication" + }, + { + "UpdateStageName":"Wait For Server Start", + "UpdateSourcePlatform":"All", + "UpdateSource":"WaitForStartupComplete" + }, + { + "UpdateStageName":"Stop Server", + "UpdateSourcePlatform":"All", + "UpdateSource":"ShutdownApplication" + } +] \ No newline at end of file From 25ce98d901bd3b7a9f1ab9634934fed2749e7172 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sun, 18 Sep 2022 01:23:45 -0500 Subject: [PATCH 049/318] Add tModLoader 1.4+ & Edit tModLoader (Legacy) (#184) * Add tModLoader 1.4+ Due to the major changes in how tModLoader functions, a new template has been created to address the new methods. This version will download the appropriate dotnet version and execute the tModLoader.dll. This shares the same config and metaconfig files as the original tModLoader. * Update config and metaconfig * Fix file naming * Fix File Naming * Fix broken stuff * Add original tModLoader config final update stage * Update tmodloader14metaconfig.json Co-authored-by: Jasper Borsboom * Update tmodloader14config.json * Final Updates * Final changes * Update tmodloader14.kvp Co-authored-by: Jasper Borsboom --- tmodloader.kvp | 8 +- tmodloader14.kvp | 61 ++++ tmodloader14config.json | 524 +++++++++++++++++++++++++++++++++++ tmodloader14metaconfig.json | 8 + tmodloader14serverconfig.txt | 102 +++++++ tmodloaderconfig.json | 94 +++---- 6 files changed, 744 insertions(+), 53 deletions(-) create mode 100644 tmodloader14.kvp create mode 100644 tmodloader14config.json create mode 100644 tmodloader14metaconfig.json create mode 100644 tmodloader14serverconfig.txt diff --git a/tmodloader.kvp b/tmodloader.kvp index b6ea47064..4e3597c6c 100644 --- a/tmodloader.kvp +++ b/tmodloader.kvp @@ -1,5 +1,5 @@ -Meta.DisplayName=tModLoader -Meta.Description=tModLoader server using Steam or GitHub +Meta.DisplayName=tModLoader (Legacy) +Meta.Description=tModLoader (Legacy) server using Steam or GitHub Meta.Author=JasperFirecai2, EnderWolf, IceOfWraith Meta.MetaConfigManifest=tmodloadermetaconfig.json Meta.ConfigRoot=tmodloader.kvp @@ -9,7 +9,7 @@ Meta.EndpointURIFormat=steam://connect/{0} Meta.OS=3 Meta.URL=https://store.steampowered.com/app/1281930/tModLoader/ Meta.MinAMPVersion= -App.DisplayName=tModLoader +App.DisplayName=tModLoader (Legacy) App.RootDir=./tModLoader/ App.BaseDirectory=./tModLoader/serverfiles App.ExecutableWin=serverfiles/tModLoaderServer.exe @@ -37,7 +37,7 @@ App.ApplicationPort2=0 App.ApplicationPort3=0 App.RemoteAdminPort=0 App.MaxUsers=8 -App.UpdateSources=[{"UpdateStageName": "Config Template Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/tmodloaderserverconfig.txt","UpdateSourceTarget": "serverfiles","OverwriteExistingFiles": false},{"UpdateStageName": "SteamCMD tModLoader","UpdateSourcePlatform": "All","UpdateSource": "SteamCMD","UpdateSourceData": "1281930","UpdateSourceTarget": "serverfiles","UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"Steam","UpdateSourceVersion": "1.3-legacy"},{"UpdateStageName": "GitHub tModLoader Windows","UpdateSourcePlatform": "Windows","UpdateSource": "FetchURLfromJQ","UpdateSourceData": "https://api.github.com/repos/tModLoader/tModLoader/releases/latest","UpdateSourceArgs": "$.assets[?(@.name =~ /tModLoader\\.Windows\\..+\\.zip/g)].browser_download_url","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"},{"UpdateStageName": "GitHub tModLoader Linux","UpdateSourcePlatform": "Linux","UpdateSource": "FetchURLfromJQ","UpdateSourceData": "https://api.github.com/repos/tModLoader/tModLoader/releases/latest","UpdateSourceArgs": "$.assets[?(@.name =~ /tModLoader\\.Linux\\..+\\.zip/g)].browser_download_url","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"}] +App.UpdateSources=[{"UpdateStageName": "Config Template Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/tmodloaderserverconfig.txt","UpdateSourceTarget": "serverfiles","OverwriteExistingFiles": false},{"UpdateStageName": "SteamCMD tModLoader","UpdateSourcePlatform": "All","UpdateSource": "SteamCMD","UpdateSourceData": "1281930","UpdateSourceTarget": "serverfiles","UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"Steam","UpdateSourceVersion": "1.3-legacy"},{"UpdateStageName": "GitHub tModLoader Windows","UpdateSourcePlatform": "Windows","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Windows.v0.11.8.9.zip","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"},{"UpdateStageName": "GitHub tModLoader Linux","UpdateSourcePlatform": "Linux","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Linux.v0.11.8.9.tar.gz","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/tmodloader14.kvp b/tmodloader14.kvp new file mode 100644 index 000000000..26cc5db3c --- /dev/null +++ b/tmodloader14.kvp @@ -0,0 +1,61 @@ +Meta.DisplayName=tModLoader 1.4+ +Meta.Description=tModLoader 1.4+ server using Steam or GitHub +Meta.Author=JasperFirecai2, EnderWolf, IceOfWraith +Meta.MetaConfigManifest=tmodloader14metaconfig.json +Meta.ConfigRoot=tmodloader14.kvp +Meta.ConfigManifest=tmodloader14config.json +Meta.DisplayImageSource=steam:1281930 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.OS=3 +Meta.URL=https://store.steampowered.com/app/1281930/tModLoader/ +Meta.MinAMPVersion=2.3.4.4 +App.DisplayName=tModLoader +App.RootDir=./tModLoader/ +App.BaseDirectory=./tModLoader/serverfiles +App.ExecutableWin=serverfiles/dotnet/6.0.0/dotnet.exe +App.ExecutableLinux=serverfiles/dotnet/6.0.0/dotnet +App.WorkingDir=serverfiles +App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "1281930"} +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$FullBaseDir}}/tModLoader.dll -server {{$FormattedArgs}} -players {{$MaxUsers}} -port {{$ApplicationPort1}} -config {{Config}} +App.CommandLineParameterFormat=-{0} {1} +App.AppSettings={"Config":"tmodloader14serverconfig.txt"} +App.CommandLineVars={} +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=exit +App.ExitFile=app_exit.lck +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.AdminMethod=STDIO +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.ApplicationPort1=7777 +App.ApplicationPort2=0 +App.ApplicationPort3=0 +App.RemoteAdminPort=0 +App.MaxUsers=8 +App.UpdateSources=[{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/tmodloader14serverconfig.txt","UpdateSourceTarget":"serverfiles","UnzipUpdateSource":false,"OverwriteExistingFiles":false},{"UpdateStageName":"SteamCMD tModLoader","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1281930","UpdateSourceTarget":"serverfiles","UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"Steam"},{"UpdateStageName":"GitHub tModLoader","UpdateSourcePlatform":"All","UpdateSource":"GithubRelease","UpdateSourceData":"tModLoader.zip","UpdateSourceArgs":"tModLoader/tModLoader","UpdateSourceTarget":"serverfiles","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"GitHub","DeleteAfterExtract":false},{"UpdateStageName":"Create Dotnet Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}/dotnet/6.0.0"},{"UpdateStageName":"Dotnet download Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-win-x64.zip","UpdateSourceTarget":"{{$FullBaseDir}}/dotnet/6.0.0/","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Dotnet download Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-linux-x64.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}/dotnet/6.0.0/","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.AppReadyRegex=^Listening on port (\d+)$ +Console.UserJoinRegex=^(?.+?) has joined\.$ +Console.UserLeaveRegex=^(?.+?) has left\.$ +Console.UserChatRegex=^<(?.+?)> (?.+)$ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.ThrowawayMessageRegex=^??Error Logging Enabled.$|^Permission denied \(see server\.log for full trace\)$ +Console.SuppressLogAtStart=False +Console.UserActions={} +Limits.SleepMode=True +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 \ No newline at end of file diff --git a/tmodloader14config.json b/tmodloader14config.json new file mode 100644 index 000000000..fa17d9223 --- /dev/null +++ b/tmodloader14config.json @@ -0,0 +1,524 @@ +[ + { + "DisplayName": "World Seed", + "Category": "Terraria Generator Settings", + "Keywords": "seed,new,world", + "Description": "Which world seed to use when generating a new world", + "FieldName": "Seed", + "ParamFieldName": "seed", + "placeholder": "PoweredByAMP", + "InputType": "text", + "IncludeInCommandLine": true, + "DefaultValue": "PoweredByAMP" + }, + { + "DisplayName": "World Size", + "Category": "Terraria Generator Settings", + "Keywords": "size,new,world", + "Description": "Set the Size of the World", + "FieldName": "WorldSize", + "ParamFieldName": "autocreate", + "IncludeInCommandLine": true, + "InputType": "enum", + "EnumValues": { + "1": "1 - Small World", + "2": "2 - Medium World", + "3": "3 - Large World" + }, + "DefaultValue": "3" + }, + { + "DisplayName": "Difficulty", + "Category": "Terraria Generator Settings", + "Keywords": "difficulty,new,world,journey,expert,master", + "Description": "The difficulty of a newly generated world", + "FieldName": "Difficulty", + "ParamFieldName": "difficulty", + "InputType": "enum", + "EnumValues": { + "0": "Classic", + "1": "Expert", + "2": "Master", + "3": "Journey" + }, + "IncludeInCommandLine": false, + "DefaultValue": "0" + }, + { + "DisplayName": "Created World Name", + "Category": "Terraria Generator Settings", + "Keywords": "name,new,world", + "Description": "How to name the new world if one is generated. Make sure the World name under Terraria Server Settings matches this name if you want to load it in subsequent starts.", + "FieldName": "WorldName", + "ParamFieldName": "worldname", + "placeholder": "World", + "InputType": "text", + "IncludeInCommandLine": true, + "DefaultValue": "world" + }, + { + "DisplayName": "Backup count", + "Category": "Terraria Generator Settings", + "Keywords": "backup,backups,count,world,rollback", + "Description": "Sets the number of rolling world backups to keep", + "FieldName": "Backups", + "ParamFieldName": "worldrollbackstokeep", + "placeholder": "2", + "suffix": "Backups", + "InputType": "number", + "IncludeInCommandLine": false, + "DefaultValue": 2 + }, + { + "DisplayName": "Mod Path", + "Category": "Terraria ModLoader Settings", + "Keywords": "folder,path,mod,mods,tmodloader", + "Description": "Where tModLoader will read mods from. [instructions](https://github.com/jasperfirecai2/amp-templates/wiki/Managing-mods-with-tmodloader)", + "FieldName": "ModPath", + "ParamFieldName": "modpath", + "placeholder": "ModLoader/Mods", + "InputType": "text", + "IncludeInCommandLine": false, + "DefaultValue": "ModLoader/Mods" + }, + { + "DisplayName": "Mod Pack", + "Category": "Terraria ModLoader Settings", + "Keywords": "pack,mod,mods,modpack,tmodloader", + "Description": "Which modpack to load (does not install mods for you!)", + "FieldName": "ModPack", + "ParamFieldName": "modpack", + "placeholder": "modpack", + "suffix": ".json", + "InputType": "text", + "IncludeInCommandLine": false, + "DefaultValue": "" + }, + { + "DisplayName": "Update Source", + "Category": "Terraria ModLoader Settings", + "Keywords": "download,source,steam,github,tmodloader", + "Description": "Select where to obtain tModLoader. Steam requires you to own [Terraria](https://store.steampowered.com/app/105600/Terraria/) & [tModLoader](https://store.steampowered.com/app/1281930/tModLoader/) on your account and accept tModLoader's ToS by installing it as a game to a device you can login from.", + "FieldName": "Source", + "IncludeInCommandLine": false, + "InputType": "enum", + "EnumValues": { + "GitHub": "GitHub", + "Steam": "Steam" + }, + "DefaultValue": "GitHub" + }, + { + "DisplayName": "World Path", + "Category": "Terraria Server Settings", + "Keywords": "folder,path,world,saves,savegame,worlds", + "Description": "The relative path to save worlds in", + "FieldName": "WorldPath", + "ParamFieldName": "worldpath", + "placeholder": "ModLoader/Worlds", + "suffix": "", + "InputType": "text", + "IncludeInCommandLine": false, + "DefaultValue": "ModLoader/Worlds" + }, + { + "DisplayName": "World Name", + "Category": "Terraria Server Settings", + "Keywords": "name,world,worldname,load,boot", + "Description": "Which world to load on boot", + "FieldName": "World", + "ParamFieldName": "world", + "placeholder": "ModLoader/Worlds/world.wld", + "suffix": "", + "InputType": "text", + "IncludeInCommandLine": false, + "DefaultValue": "ModLoader/Worlds/world.wld" + }, + { + "DisplayName": "Max Players", + "Category": "Terraria Server Settings", + "Keywords": "players,max,maximum", + "Description": "The maximum players in the server", + "FieldName": "$MaxUsers", + "ParamFieldName": "maxplayers", + "placeholder": "8", + "suffix": "Users", + "InputType": "number", + "IncludeInCommandLine": false, + "DefaultValue": 8 + }, + { + "DisplayName": "Password", + "Category": "Terraria Server Settings", + "Keywords": "password,pw,security", + "Description": "The password players must enter to join", + "FieldName": "Password", + "ParamFieldName": "password", + "placeholder": "Password123", + "suffix": "", + "InputType": "password", + "IncludeInCommandLine": false, + "DefaultValue": "" + }, + { + "DisplayName": "Ban List", + "Category": "Terraria Server Settings", + "Keywords": "ban,banlist,bans,security", + "Description": "Where to store the ban list", + "FieldName": "BanList", + "ParamFieldName": "banlist", + "placeholder": "banlist.txt", + "suffix": "", + "InputType": "text", + "IncludeInCommandLine": false, + "DefaultValue": "banlist.txt" + }, + { + "DisplayName": "Motd", + "Category": "Terraria Server Settings", + "Keywords": "motd,motto,message,welcome", + "Description": "The motto / message of the day", + "FieldName": "Motd", + "ParamFieldName": "motd", + "placeholder": "Welcome!", + "suffix": "", + "InputType": "text", + "IncludeInCommandLine": false, + "DefaultValue": "Welcome!" + }, + { + "DisplayName": "Language", + "Category": "Terraria Server Settings", + "Keywords": "language,lang", + "Description": "The language of your server", + "FieldName": "Language", + "ParamFieldName": "language", + "InputType": "enum", + "EnumValues": { + "en-US": "English", + "de-DE": "German", + "it-IT": "Italian", + "fr-FR": "French", + "es-ES": "Spanish", + "ru-RU": "Russian", + "zh-Hans": "Chinese", + "pt-PT": "Portuguese", + "pt-BR": "Portuguese (Brazil)", + "pl-PL": "Polish" + }, + "IncludeInCommandLine": false, + "DefaultValue": "en-US" + }, + { + "DisplayName": "Priority", + "Category": "Terraria Server Settings", + "Keywords": "priority,process,prio,performance", + "Description": "The process priority", + "FieldName": "Priority", + "ParamFieldName": "priority", + "InputType": "enum", + "EnumValues": { + "0": "Realtime", + "1": "High", + "2": "Above Normal", + "3": "Normal", + "4": "Below Normal", + "5": "Idle" + }, + "IncludeInCommandLine": false, + "DefaultValue": "1" + }, + { + "DisplayName": "NPC Stream", + "Category": "Terraria Server Settings", + "Keywords": "npc,stream,skipping,lag,bandwidth,performance", + "Description": "Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off.", + "FieldName": "NPCStream", + "ParamFieldName": "npcstream", + "placeholder": "60", + "InputType": "number", + "IncludeInCommandLine": false, + "DefaultValue": 60 + }, + { + "DisplayName": "Slower Liquids", + "Category": "Terraria Server Settings", + "Keywords": "slow,liquid,liquids slower,lag,performance", + "Description": "Reduces maximum liquids moving at the same time. If enabled may reduce lag but liquids may take longer to settle.", + "FieldName": "Slowliquids", + "ParamFieldName": "slowliquids", + "InputType": "checkbox", + "IncludeInCommandLine": false, + "EnumValues": { + "False": "0", + "True": "1" + }, + "DefaultValue": "1" + }, + { + "DisplayName": "Cheat Protection", + "Category": "Terraria Server Settings", + "Keywords": "security,cheat,cheats,auto,kick,spam", + "Description": "Enable/Disable additional cheat protection. This may cause unwanted automatic kicks", + "FieldName": "Secure", + "ParamFieldName": "secure", + "InputType": "checkbox", + "IncludeInCommandLine": false, + "EnumValues": { + "False": "0", + "True": "1" + }, + "DefaultValue": "0" + }, + { + "DisplayName": "Disable Announcement Box", + "Category": "Terraria Server Settings", + "Keywords": "announcement,box,disable,griefing", + "Description": "Enable/Disable the text announcements Announcement Box makes when pulsed from wire.", + "FieldName": "DisableAnnouncementBox", + "InputType": "checkbox", + "IncludeInCommandLine": true, + "ParamFieldName": "disableannouncementbox", + "IsFlagArgument": true, + "DefaultValue": "-disableannouncementbox" + }, + { + "DisplayName": "Announcement Box Range", + "Category": "Terraria Server Settings", + "Keywords": "announcement,box,range,griefing", + "Description": "Sets the announcement box text messaging range in pixels, -1 for serverwide announcements.", + "FieldName": "AnnouncementBoxRange", + "placeholder": "-1", + "suffix": "Pixels", + "InputType": "number", + "IncludeInCommandLine": true, + "ParamFieldName": "announcementboxrange", + "DefaultValue": "-1" + }, + { + "DisplayName": "Freeze time", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,freeze,time,stop,clock", + "Description": "Journey mode power permissions for every individual power. 'Host' is only relevant when using steam integration, which is not supported by AMP by default.", + "FieldName": "time_setfrozen", + "ParamFieldName": "journeypermission_time_setfrozen", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Set to Dawn", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,dawn,time,clock", + "FieldName": "time_setdawn", + "ParamFieldName": "journeypermission_time_setdawn", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Set to Noon", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,noon,time,clock", + "FieldName": "time_setnoon", + "ParamFieldName": "journeypermission_time_setnoon", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Set to Dusk", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,dusk,time,clock", + "FieldName": "time_setdusk", + "ParamFieldName": "journeypermission_time_setdusk", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Set to Midnight", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,midnight,time,clock", + "FieldName": "time_setmidnight", + "ParamFieldName": "journeypermission_time_setmidnight", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "God Mode", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,god,godmode", + "FieldName": "godmode", + "ParamFieldName": "journeypermission_godmode", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Set wind intensity", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,wind,set,strength", + "FieldName": "wind_setstrength", + "ParamFieldName": "journeypermission_wind_setstrength", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Set rain intensity", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,rain,set,strength", + "FieldName": "rain_setstrength", + "ParamFieldName": "journeypermission_rain_setstrength", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Change game speed", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,speed,time,speedup", + "FieldName": "time_setspeed", + "ParamFieldName": "journeypermission_time_setspeed", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Lock rain conditions", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,rain,lock,freeze", + "FieldName": "rain_setfrozen", + "ParamFieldName": "journeypermission_rain_setfrozen", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Lock Wind conditions", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,wind,lock,freeze", + "FieldName": "wind_setfrozen", + "ParamFieldName": "journeypermission_wind_setfrozen", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Placement Range", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,placement,range,reach,tile", + "FieldName": "increaseplacementrange", + "ParamFieldName": "journeypermission_increaseplacementrange", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Difficulty changing", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,difficulty", + "FieldName": "setdifficulty", + "ParamFieldName": "journeypermission_setdifficulty", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Biome / Evil Spreading", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,evil,spread,biome,crimson,hallow,corrupted", + "FieldName": "biomespread_setfrozen", + "ParamFieldName": "journeypermission_biomespread_setfrozen", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + }, + { + "DisplayName": "Spawn Rate", + "Category": "Terraria Journey Permissions", + "Keywords": "journey,mode,permissions,power,spawn,rate", + "FieldName": "setspawnrate", + "ParamFieldName": "journeypermission_setspawnrate", + "InputType": "enum", + "EnumValues": { + "0": "Locked for everyone", + "1": "Can only be changed by host", + "2": "Can be changed by everyone" + }, + "IncludeInCommandLine": false, + "DefaultValue": "2" + } +] \ No newline at end of file diff --git a/tmodloader14metaconfig.json b/tmodloader14metaconfig.json new file mode 100644 index 000000000..82dc4267e --- /dev/null +++ b/tmodloader14metaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile": "tmodloader14serverconfig.txt", + "AutoMap": true, + "ConfigType": "kvp", + "ConfigFormat": "{0}={1}" + } +] \ No newline at end of file diff --git a/tmodloader14serverconfig.txt b/tmodloader14serverconfig.txt new file mode 100644 index 000000000..d06c6d06b --- /dev/null +++ b/tmodloader14serverconfig.txt @@ -0,0 +1,102 @@ +#serverconfig.txt + +#This file is automatically generated by AMP. All uncommented settings are controlled by AMP. +#Any changes to uncommented settings will be lost when starting or updating the application +#Please use the AMP control panel to change these +#If you wish to configure other settings (those that are commented), you can do so manually +#But any future updates may overwrite these changes + +#the following is a list of available command line parameters: + +#-config Specifies the configuration file to use. +#-port Specifies the port to listen on. +#-players / -maxplayers Sets the max number of players +#-pass / -password Sets the server password +#-world Load a world and automatically start the server. +#-autocreate <#> Creates a world if none is found in the path specified by -world. World size is specified by: 1(small), 2(medium), and 3(large). +#-banlist Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory. +#-worldname Sets the name of the world when using -autocreate. +#-secure Adds addition cheat protection to the server. +#-noupnp Disables automatic port forwarding +#-steam Enables Steam Support +#-lobby or Allows friends to join the server or sets it to private if Steam is enabled +#-ip Sets the IP address for the server to listen on +#-forcepriority Sets the process priority for this task. If this is used the "priority" setting below will be ignored. +#-disableannouncementbox Disables the text announcements Announcement Box makes when pulsed from wire. +#-announcementboxrange Sets the announcement box text messaging range in pixels, -1 for serverwide announcements. +#-seed Specifies the world seed when using -autocreate + +#remove the # in front of commands to enable them. + +#Load a world and automatically start the server. +world={{world}} + +#Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large). +autocreate={{autocreate}} + +#Sets the world seed when using autocreate +seed={{seed}} + +#Sets the name of the world when using autocreate +worldname={{worldname}} + +#Sets the difficulty of the world when using autocreate 0(classic), 1(expert), 2(master), 3(journey) +difficulty={{Difficulty}} + +#Sets the max number of players allowed on a server. Value must be between 1 and 255 +maxplayers={{$MaxUsers}} + +#Set the server password +password={{Password}} + +#Set the message of the day +motd={{Motd}} + +#Sets the folder where world files will be stored +worldpath={{WorldPath}} + +#Path for mods +modpath={{ModPath}} +modpack={{ModPack}} + +#Sets the number of rolling world backups to keep +worldrollbackstokeep={{Backups}} + +#The location of the banlist. Defaults to "banlist.txt" in the working directory. +banlist={{BanList}} + +#Adds addition cheat protection. +secure={{Secure}} + +#Sets the server language from its language code. +#English = en-US, German = de-DE, Italian = it-IT, French = fr-FR, Spanish = es-ES, Russian = ru-RU, Chinese = zh-Hans, Portuguese = pt-BR, Polish = pl-PL, +language={{Language}} + +#Automatically forward ports with uPNP +#upnp=1 + +#Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off. +npcstream={{NpcStream}} + +#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNormal, 5:Idle +priority={{Priority}} + +#Reduces maximum liquids moving at the same time. If enabled may reduce lags but liquids may take longer to settle. +slowliquids={{Slowliquids}} + +#Journey mode power permissions for every individual power. 0: Locked for everyone, 1: Can only be changed by host, 2: Can be changed by everyone +journeypermission_time_setfrozen={{time_setfrozen}} +journeypermission_time_setdawn={{time_setdawn}} +journeypermission_time_setnoon={{time_setnoon}} +journeypermission_time_setdusk={{time_setdusk}} +journeypermission_time_setmidnight={{time_setmidnight}} +journeypermission_godmode={{godmode}} +journeypermission_wind_setstrength={{wind_setstrength}} +journeypermission_rain_setstrength={{rain_setstrength}} +journeypermission_time_setspeed={{time_setspeed}} +journeypermission_rain_setfrozen={{rain_setfrozen}} +journeypermission_wind_setfrozen={{wind_setfrozen}} +journeypermission_increaseplacementrange={{increaseplacementrange}} +journeypermission_setdifficulty={{setdifficulty}} +journeypermission_biomespread_setfrozen={{biomespread_setfrozen}} +journeypermission_setspawnrate={{setspawnrate}} diff --git a/tmodloaderconfig.json b/tmodloaderconfig.json index 79ccd2fbc..f2a0e9d5e 100644 --- a/tmodloaderconfig.json +++ b/tmodloaderconfig.json @@ -1,21 +1,20 @@ [ { "DisplayName": "World Seed", - "Category": "Terraria Generator settings", - "Keywords": "seed new world", + "Category": "Terraria Generator Settings", + "Keywords": "seed,new,world", "Description": "Which world seed to use when generating a new world", "FieldName": "Seed", "ParamFieldName": "seed", "placeholder": "PoweredByAMP", - "suffix": "", "InputType": "text", "IncludeInCommandLine": true, - "DefaultValue": "" + "DefaultValue": "PoweredByAMP" }, { "DisplayName": "World Size", - "Category": "Terraria Generator settings", - "Keywords": "size new world", + "Category": "Terraria Generator Settings", + "Keywords": "size,new,world", "Description": "Set the Size of the World", "FieldName": "WorldSize", "ParamFieldName": "autocreate", @@ -30,8 +29,8 @@ }, { "DisplayName": "Difficulty", - "Category": "Terraria Generator settings", - "Keywords": "difficulty new world journey expert master", + "Category": "Terraria Generator Settings", + "Keywords": "difficulty,new,world,journey,expert,master", "Description": "The difficulty of a newly generated world", "FieldName": "Difficulty", "ParamFieldName": "difficulty", @@ -45,25 +44,24 @@ }, { "DisplayName": "Created World Name", - "Category": "Terraria Generator settings", - "Keywords": "name new world", + "Category": "Terraria Generator Settings", + "Keywords": "name,new,world", "Description": "How to name the new world if one is generated. Make sure the World name under Terraria Server Settings matches this name if you want to load it in subsequent starts.", "FieldName": "WorldName", "ParamFieldName": "worldname", "placeholder": "World", - "suffix": "", "InputType": "text", "IncludeInCommandLine": true, "DefaultValue": "world" }, { "DisplayName": "Backup count", - "Category": "Terraria Generator settings", - "Keywords": "backup backups count world rollback", + "Category": "Terraria Generator Settings", + "Keywords": "backup,backups,count,world,rollback", "Description": "Sets the number of rolling world backups to keep", "FieldName": "Backups", "ParamFieldName": "worldrollbackstokeep", - "placeholder": "some integer", + "placeholder": "2", "suffix": "Backups", "InputType": "number", "IncludeInCommandLine": false, @@ -71,21 +69,20 @@ }, { "DisplayName": "Mod Path", - "Category": "Terraria ModLoader settings", - "Keywords": "folder path mod mods tmodloader", + "Category": "Terraria ModLoader Settings", + "Keywords": "folder,path,mod,mods,tmodloader", "Description": "Where tModLoader will read mods from. [instructions](https://github.com/jasperfirecai2/amp-templates/wiki/Managing-mods-with-tmodloader)", "FieldName": "ModPath", "ParamFieldName": "modpath", "placeholder": "ModLoader/Mods", - "suffix": "", "InputType": "text", "IncludeInCommandLine": false, "DefaultValue": "ModLoader/Mods" }, { "DisplayName": "Mod Pack", - "Category": "Terraria ModLoader settings", - "Keywords": "pack mod mods modpack tmodloader", + "Category": "Terraria ModLoader Settings", + "Keywords": "pack,mod,mods,modpack,tmodloader", "Description": "Which modpack to load (does not install mods for you!)", "FieldName": "ModPack", "ParamFieldName": "modpack", @@ -97,8 +94,8 @@ }, { "DisplayName": "Update Source", - "Category": "Terraria ModLoader settings", - "Keywords": "download source steam github tmodloader", + "Category": "Terraria ModLoader Settings", + "Keywords": "download,source,steam,github,tmodloader", "Description": "Select where to obtain tModLoader. Steam requires you to own [Terraria](https://store.steampowered.com/app/105600/Terraria/) & [tModLoader](https://store.steampowered.com/app/1281930/tModLoader/) on your account and accept tModLoader's ToS by installing it as a game to a device you can login from.", "FieldName": "Source", "IncludeInCommandLine": false, @@ -111,8 +108,8 @@ }, { "DisplayName": "World Path", - "Category": "Terraria Server settings", - "Keywords": "folder path world saves savegame worlds", + "Category": "Terraria Server Settings", + "Keywords": "folder,path,world,saves,savegame,worlds", "Description": "The relative path to save worlds in", "FieldName": "WorldPath", "ParamFieldName": "worldpath", @@ -124,8 +121,8 @@ }, { "DisplayName": "World Name", - "Category": "Terraria Server settings", - "Keywords": "name world worldname load boot", + "Category": "Terraria Server Settings", + "Keywords": "name,world,worldname,load,boot", "Description": "Which world to load on boot", "FieldName": "World", "ParamFieldName": "world", @@ -137,8 +134,8 @@ }, { "DisplayName": "Max Players", - "Category": "Terraria Server settings", - "Keywords": "players max maximum", + "Category": "Terraria Server Settings", + "Keywords": "players,max,maximum", "Description": "The maximum players in the server", "FieldName": "$MaxUsers", "ParamFieldName": "maxplayers", @@ -150,8 +147,8 @@ }, { "DisplayName": "Password", - "Category": "Terraria Server settings", - "Keywords": "password pw security", + "Category": "Terraria Server Settings", + "Keywords": "password,pw,security", "Description": "The password players must enter to join", "FieldName": "Password", "ParamFieldName": "password", @@ -163,12 +160,12 @@ }, { "DisplayName": "Ban List", - "Category": "Terraria Server settings", - "Keywords": "ban banlist bans security", + "Category": "Terraria Server Settings", + "Keywords": "ban,banlist,bans,security", "Description": "Where to store the ban list", "FieldName": "BanList", "ParamFieldName": "banlist", - "placeholder": "somefilename.txt", + "placeholder": "banlist.txt", "suffix": "", "InputType": "text", "IncludeInCommandLine": false, @@ -176,8 +173,8 @@ }, { "DisplayName": "Motd", - "Category": "Terraria Server settings", - "Keywords": "motd motto message welcome", + "Category": "Terraria Server Settings", + "Keywords": "motd,motto,message,welcome", "Description": "The motto/message of the day", "FieldName": "Motd", "ParamFieldName": "motd", @@ -189,8 +186,8 @@ }, { "DisplayName": "Language", - "Category": "Terraria Server settings", - "Keywords": "language lang", + "Category": "Terraria Server Settings", + "Keywords": "language,lang", "Description": "The language of your server", "FieldName": "Language", "ParamFieldName": "language", @@ -212,8 +209,8 @@ }, { "DisplayName": "Priority", - "Category": "Terraria Server settings", - "Keywords": "priority process prio performance", + "Category": "Terraria Server Settings", + "Keywords": "priority,process,prio,performance", "Description": "The process priority", "FieldName": "Priority", "ParamFieldName": "priority", @@ -231,21 +228,20 @@ }, { "DisplayName": "NPC Stream", - "Category": "Terraria Server settings", - "Keywords": "npc stream skipping lag bandwidth performance", + "Category": "Terraria Server Settings", + "Keywords": "npc,stream,skipping,lag,bandwidth,performance", "Description": "Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off.", "FieldName": "NPCStream", "ParamFieldName": "npcstream", "placeholder": "60", - "suffix": "", "InputType": "number", "IncludeInCommandLine": false, "DefaultValue": 60 }, { "DisplayName": "Slower Liquids", - "Category": "Terraria Server settings", - "Keywords": "slow liquid liquids slower lag performance", + "Category": "Terraria Server Settings", + "Keywords": "slow,liquid,liquids slower,lag,performance", "Description": "Reduces maximum liquids moving at the same time. If enabled may reduce lag but liquids may take longer to settle.", "FieldName": "Slowliquids", "ParamFieldName": "slowliquids", @@ -259,8 +255,8 @@ }, { "DisplayName": "Cheat Protection", - "Category": "Terraria Server settings", - "Keywords": "security cheat cheats auto kick spam", + "Category": "Terraria Server Settings", + "Keywords": "security,cheat,cheats,auto,kick,spam", "Description": "Enable/Disable additional cheat protection. This may cause unwanted automatic kicks", "FieldName": "Secure", "ParamFieldName": "secure", @@ -274,8 +270,8 @@ }, { "DisplayName": "Disable Announcement Box", - "Category": "Terraria Server settings", - "Keywords": "announcement box disable griefing", + "Category": "Terraria Server Settings", + "Keywords": "announcement,box,disable,griefing", "Description": "Enable/Disable the text announcements Announcement Box makes when pulsed from wire.", "FieldName": "DisableAnnouncementBox", "InputType": "checkbox", @@ -286,8 +282,8 @@ }, { "DisplayName": "Announcement Box Range", - "Category": "Terraria Server settings", - "Keywords": "announcement box range griefing", + "Category": "Terraria Server Settings", + "Keywords": "announcement,box,range,griefing", "Description": "Sets the announcement box text messaging range in pixels, -1 for serverwide announcements.", "FieldName": "AnnouncementBoxRange", "placeholder": "-1", From 5286123f1f267f363f40ab07c73e059582ff4cec Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 22 Sep 2022 07:30:54 -0500 Subject: [PATCH 050/318] Update TeamSpeak 3 Config Download Location (#196) --- teamspeak3.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/teamspeak3.kvp b/teamspeak3.kvp index 0679e8f7d..86f4ee538 100644 --- a/teamspeak3.kvp +++ b/teamspeak3.kvp @@ -45,7 +45,7 @@ App.RemoteAdminPassword= App.AdminMethod=TelnetRCON App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"TeamSpeak 3 Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['windows']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"TeamSpeak 3 Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['linux']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s {{$FullBaseDir}}teamspeak3-server_linux_amd64 {{$FullBaseDir}}teamspeak3-server_win64"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/IceOfWraith/AMPTemplates/raw/ts3/teamspeak3server.ini","UpdateSourceTarget":"{{$FullBaseDir}}teamspeak3-server_win64/","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"TeamSpeak 3 Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['windows']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"TeamSpeak 3 Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['linux']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s {{$FullBaseDir}}teamspeak3-server_linux_amd64 {{$FullBaseDir}}teamspeak3-server_win64"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/teamspeak3server.ini","UpdateSourceTarget":"{{$FullBaseDir}}teamspeak3-server_win64/","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False From 473379127753de29ca2fab96dd28a608a6b52caa Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 22 Sep 2022 17:58:02 -0500 Subject: [PATCH 051/318] Initial Starbound Generic Config (#134) * Initial Starbound Generic Config This is Windows only at the moment due to the working directory only able to point at one location. Windows is under win64 and Linux is under linux directories. * Finalize Settings * Finalize Settings * Update starbound.kvp * Update starbound.kvp --- starbound.kvp | 83 ++++++++++++++++++++++ starbound_server.config | 50 ++++++++++++++ starboundconfig.json | 144 +++++++++++++++++++++++++++++++++++++++ starboundmetaconfig.json | 7 ++ 4 files changed, 284 insertions(+) create mode 100644 starbound.kvp create mode 100644 starbound_server.config create mode 100644 starboundconfig.json create mode 100644 starboundmetaconfig.json diff --git a/starbound.kvp b/starbound.kvp new file mode 100644 index 000000000..3371b6fe8 --- /dev/null +++ b/starbound.kvp @@ -0,0 +1,83 @@ +Meta.DisplayName=Starbound +Meta.Description=Starbound Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=IceOfWraith +Meta.URL=https://store.steampowered.com/app/211820/Starbound/ +Meta.DisplayImageSource=steam:211820 +Meta.EndpointURIFormat= +Meta.ConfigManifest=starboundconfig.json +Meta.MetaConfigManifest=starboundmetaconfig.json +Meta.ConfigRoot=starbound.kvp +Meta.MinAMPVersion=2.3.3.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Starbound +App.RootDir=./starbound/ +App.BaseDirectory=./starbound/211820/ +App.ExecutableWin=211820\win64\starbound_server.exe +App.ExecutableLinux=211820/win64/starbound_server +App.WorkingDir=211820/win64 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs= +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "533830"} +App.CommandLineParameterFormat=-{0} {1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString= +App.ExitFile=lock +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":21025,"Offset":0,"Range":1,"Ref":"gameServerPort","Name":"Game and Query Port","Description":"Port for game and query traffic","ChildPorts":null},{"Protocol":"Both","Port":21026,"Offset":0,"Range":1,"Ref":"rconServerPort","Name":"RCON ServerPort","Description":"Port for RCON traffic","ChildPorts":null}] +App.AdminPortRef=rconServerPort +App.PrimaryApplicationPortRef=gameServerPort +App.UniversalSleepApplicationUDPPortRef=gameServerPort +App.UniversalSleepSteamQueryPortRef=gameServerPort +App.MaxUsers=8 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword=Password123 +App.AdminMethod=SourceRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "211820"},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./starbound/211820/storage","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/starbound_server.config","UpdateSourceTarget":"{{$FullBaseDir}}storage/","OverwriteExistingFiles":false},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s '{{$FullBaseDir}}linux' '{{$FullBaseDir}}win64'"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=True +App.RapidStartup=False +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=True +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^\[Info\] UniverseServer\: listening for incoming TCP connections on \d+\.\d+\.\d+\.\d+:\d+$ +Console.UserJoinRegex=^\[Info\] UniverseServer\: Logged in account.*as player '(?.+?)' from address.*$ +Console.UserLeaveRegex=^\[Info\] UniverseServer\: Client '(?.+?)'.*disconnected for reason.*$ +Console.UserChatRegex=^\[Info\] Chat: \<(?.+?)\> (?.+?)$ +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/starbound_server.config b/starbound_server.config new file mode 100644 index 000000000..10746781f --- /dev/null +++ b/starbound_server.config @@ -0,0 +1,50 @@ +{ + "allowAdminCommands" : true, + "allowAdminCommandsFromAnyone" : false, + "allowAnonymousConnections" : true, + "allowAssetsMismatch" : true, + "anonymousConnectionsAreAdmin" : false, + "bannedIPs" : [], + "bannedUuids" : [], + "checkAssetsDigest" : false, + "clearPlayerFiles" : false, + "clearUniverseFiles" : false, + "clientIPJoinable" : false, + "clientP2PJoinable" : true, + "configurationVersion" : { + "basic" : 2, + "server" : 4 + }, + "crafting" : { + "filterHaveMaterials" : false + }, + "gameServerBind" : "*", + "gameServerPort" : 21025, + "interactiveHighlight" : true, + "inventory" : { + "pickupToActionBar" : true + }, + "maxPlayers" : 8, + "maxTeamSize" : 4, + "monochromeLighting" : false, + "playerBackupFileCount" : 3, + "queryServerBind" : "*", + "queryServerPort" : 21025, + "rconServerBind" : "*", + "rconServerPassword" : "da5f3159ca5f404fb1fff9ce522a17c3", + "rconServerPort" : 21026, + "rconServerTimeout" : 0, + "runQueryServer" : false, + "runRconServer" : true, + "safeScripts" : true, + "scriptInstructionLimit" : 10000000, + "scriptInstructionMeasureInterval" : 10000, + "scriptProfilingEnabled" : false, + "scriptRecursionLimit" : 100, + "serverFidelity" : "automatic", + "serverName" : "AMP Starbound Server", + "serverOverrideAssetsDigest" : null, + "serverUsers" : { + }, + "tutorialMessages" : true +} \ No newline at end of file diff --git a/starboundconfig.json b/starboundconfig.json new file mode 100644 index 000000000..38cea7fca --- /dev/null +++ b/starboundconfig.json @@ -0,0 +1,144 @@ +[ + { + "DisplayName": "Server Name", + "Category": "Starbound - Settings", + "Description": "The name of the server.", + "Keywords": "Server, name", + "FieldName": "Name", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serverName", + "IncludeInCommandLine": false, + "DefaultValue": "AMP Starbound Server", + "EnumValues": {} + }, + { + "DisplayName": "Max Players", + "Category": "Starbound - Settings", + "Description": "Max number of players connected at one time.", + "Keywords": "max,players,users", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "maxPlayers", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "8" + }, + { + "DisplayName": "Server Port", + "Category": "Hidden Settings", + "Description": "UDP port for game traffic.", + "Keywords": "", + "FieldName": "$gameServerPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "gameServerPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query Port", + "Category": "Hidden Settings", + "Description": "UDP port for Steam server list features.", + "Keywords": "", + "FieldName": "$gameServerPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "queryServerPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "RCON Port", + "Category": "Hidden Settings", + "Description": "UDP port for RCON connection.", + "Keywords": "", + "FieldName": "$rconServerPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "rconServerPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "RCON Password", + "Category": "Hidden Settings", + "Description": "RCON Password.", + "Keywords": "", + "FieldName": "$RemoteAdminPassword", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "rconServerPassword", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "RCON Enabled", + "Category": "Hidden Settings", + "Description": "Allows RCON connectivity.", + "Keywords": "", + "FieldName": "runRconServer", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "runRconServer", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "RCON Timeout", + "Category": "Hidden Settings", + "Description": "RCON Timeout.", + "Keywords": "", + "FieldName": "rconServerTimeout", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "rconServerTimeout", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Admin Commands", + "Category": "Starbound - Settings", + "Description": "Allows the usage of administrator commands on the server.", + "Keywords": "admin,commands", + "FieldName": "allowAdminCommands", + "InputType": "checkbox", + "DefaultValue": "true", + "IsFlagArgument": false, + "ParamFieldName": "allowAdminCommands", + "IncludeInCommandLine": false, + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Admin Commands for Anyone", + "Category": "Starbound - Settings", + "Description": "Allows anyone logged into the server to have access to the administrator console.", + "Keywords": "admin,commands,for,anyone", + "FieldName": "allowAdminCommandsFromAnyone", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "allowAdminCommandsFromAnyone", + "DefaultValue": "false", + "IncludeInCommandLine": false, + "EnumValues": { + "True": "true", + "False": "false" + } + } +] \ No newline at end of file diff --git a/starboundmetaconfig.json b/starboundmetaconfig.json new file mode 100644 index 000000000..b1fff46c8 --- /dev/null +++ b/starboundmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile": "storage/starbound_server.config", + "AutoMap": true, + "ConfigType": "json" + } +] \ No newline at end of file From d412924c8ce1e58debd1729c739b2206e2038ab2 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 23 Sep 2022 18:06:34 +1000 Subject: [PATCH 052/318] Add Blackwake (#191) * Add Blackwake * Add additional settings * Remove config download stage --- blackwake.kvp | 88 +++++++++ blackwakeconfig.json | 418 +++++++++++++++++++++++++++++++++++++++ blackwakemetaconfig.json | 7 + 3 files changed, 513 insertions(+) create mode 100644 blackwake.kvp create mode 100644 blackwakeconfig.json create mode 100644 blackwakemetaconfig.json diff --git a/blackwake.kvp b/blackwake.kvp new file mode 100644 index 000000000..82deb5229 --- /dev/null +++ b/blackwake.kvp @@ -0,0 +1,88 @@ +Meta.DisplayName=Blackwake +Meta.Description=Blackwake Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://blackwake.fandom.com/wiki/Blackwake +Meta.DisplayImageSource=steam:420290 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=blackwakeconfig.json +Meta.MetaConfigManifest=blackwakemetaconfig.json +Meta.ConfigRoot=blackwake.kvp +Meta.MinAMPVersion=2.4.0.2 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Blackwake +App.RootDir=./blackwake/ +App.BaseDirectory=./blackwake/423410/ +App.ExecutableWin=423410\BlackwakeServer.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=423410 +App.LinuxCommandLineArgs=-a wine "./BlackwakeServer.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics {{$FormattedArgs}} -logfile - +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"420290"} +App.CommandLineParameterFormat=-{0}={1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +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":25001,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=54 +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=login {0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"423410","ForceDownloadPlatform":"Windows"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=wine64 +App.SupportsUniversalSleep=True +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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 diff --git a/blackwakeconfig.json b/blackwakeconfig.json new file mode 100644 index 000000000..ef251fbaa --- /dev/null +++ b/blackwakeconfig.json @@ -0,0 +1,418 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Query Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$QueryPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"sport", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the name of the server", + "Keywords":"server,name", + "FieldName":"serverName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"serverName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Blackwake Server", + "EnumValues":{} + }, + { + "DisplayName":"Hide Server", + "Category":"Server Settings", + "Description":"If enabled, the server will be hidden from the Steam server list", + "Keywords":"hide,steam", + "FieldName":"hideFromList", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"hideFromList", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Sets the password to join the server. Must be longer than three characters. Default is no password", + "Keywords":"password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server IP Binding", + "Category":"Server Settings", + "Description":"Sets the IPv4 binding of the server. Default is blank (all IPs)", + "Keywords":"ip,binding", + "FieldName":"useIp", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"useIp", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Discord Link", + "Category":"Server Settings", + "Description":"Sets the discord link to show in the server list browser. A server name that is too long may cause the link not to display", + "Keywords":"discord,link", + "FieldName":"discordLink", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"discordLink", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Restart Time", + "Category":"Server Settings", + "Description":"Sets the local hour to automatically restart the game server. -1 = disabled", + "Keywords":"restart,hour", + "FieldName":"restartHour", + "InputType":"number", + "MinValue":"-1", + "MaxValue":"23", + "IsFlagArgument":false, + "ParamFieldName":"restartHour", + "IncludeInCommandLine":false, + "DefaultValue":"-1", + "Placeholder":"-1 to 23", + "EnumValues":{} + }, + { + "DisplayName":"Enable Bots", + "Category":"Server Settings", + "Description":"If enabled, bots will be allowed on the server. Disabling bots requires a server password to be set", + "Keywords":"bots", + "FieldName":"useBots", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"useBots", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Disable Time Limit", + "Category":"Server Settings", + "Description":"If enabled, the time limit for tournaments will be disabled", + "Keywords":"tournament,time,limit", + "FieldName":"compCTB", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"compCTB", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Total Team Count", + "Category":"Server Settings", + "Description":"Sets the total team count, with the number of teams dividend evenly between each faction", + "Keywords":"team,crew,count", + "FieldName":"teamCount", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"teamCount", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "EnumValues":{ + "2":"Two (1 vs 1)", + "4":"Four (2 vs 2)", + "6":"Six (3 vs 3)" + } + }, + { + "DisplayName":"Capture Speed Multiplier", + "Category":"Server Settings", + "Description":"Sets the capture speed multiplier (0.5 = 50%, 1 = 100%, 2 = 200% and so on)", + "Keywords":"capture,speed,multiplier", + "FieldName":"captureSpeedMultiplier", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"captureSpeedMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Resource Gain Multiplier", + "Category":"Server Settings", + "Description":"Sets the resource gain multiplier (0.5 = 50%, 1 = 100%, 2 = 200% and so on)", + "Keywords":"resource,gain,multiplier", + "FieldName":"resourceGainMultiplier", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"resourceGainMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Use Tickets", + "Category":"Server Settings", + "Description":"If enabled, tickets will be used", + "Keywords":"use,tickets", + "FieldName":"useAndWinByTickets", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"useAndWinByTickets", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Ticket Amount", + "Category":"Server Settings", + "Description":"Sets the number of tickets. Requires Use Tickets to be enabled", + "Keywords":"ticket,amount", + "FieldName":"ticketAmount", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"ticketAmount", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"Enable Ticket Scaling", + "Category":"Server Settings", + "Description":"If enabled, tickets will be scaled", + "Keywords":"ticket,scaling", + "FieldName":"useTicketScaling", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"useTicketScaling", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Friendly Fire Toggle", + "Category":"Server Settings", + "Description":"If enabled, friendly fire can be toggled", + "Keywords":"friendly,fire,toggle", + "FieldName":"friendlyFireCanToggle", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlyFireCanToggle", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Fort Modes", + "Category":"Server Settings", + "Description":"If enabled, fort modes will be enabled", + "Keywords":"fort,modes", + "FieldName":"allowFortModes", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"allowFortModes", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Ship Speed Multiplier", + "Category":"Server Settings", + "Description":"Sets the ship speed multiplier (0.5 = 50%, 1 = 100%, 2 = 200% and so on)", + "Keywords":"ship,speed,factor", + "FieldName":"shipSpeedFactor", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"shipSpeedFactor", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Gate Explosive Amount", + "Category":"Server Settings", + "Description":"Sets the gate explosive amount", + "Keywords":"gate,explosive", + "FieldName":"gateExplosiveAmount", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"gateExplosiveAmount", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{} + }, + { + "DisplayName":"Tower Health Hits", + "Category":"Server Settings", + "Description":"Sets the tower health hits", + "Keywords":"tower,health,hits", + "FieldName":"towerHealthHits", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"towerHealthHits", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{} + }, + { + "DisplayName":"Enable Player Collison", + "Category":"Server Settings", + "Description":"If enabled, collision of friendly players will be possible", + "Keywords":"friendly,player,collision", + "FieldName":"friendlyPlayerCollision", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlyPlayerCollision", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Fire Spread", + "Category":"Server Settings", + "Description":"If enabled, fires will spread fires when friendly players collide. Requires Player Collision to be enabled", + "Keywords":"friendly,fire,spread", + "FieldName":"friendlySpreadFires", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlySpreadFires", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Hand Weapon Damage", + "Category":"Server Settings", + "Description":"If enabled, hand weapons can cause damage to friendly players", + "Keywords":"friendly,hand,weapon,damage", + "FieldName":"friendlyFire", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlyFire", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Ship Weapon Damage", + "Category":"Server Settings", + "Description":"If enabled, ship weapons can cause damage to friendly players", + "Keywords":"friendly,ship,weapon,damage", + "FieldName":"friendlyShipDamage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"friendlyShipDamage", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Auto Team Balance", + "Category":"Server Settings", + "Description":"If enabled, teams will be automatically balanced", + "Keywords":"team,balance,force,equal,factions", + "FieldName":"forceEqualFactions", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"forceEqualFactions", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Position Update Rate", + "Category":"Server Settings", + "Description":"Sets the times per second a player's position is updated. Higher values cause more network usage but will reduce sliding/delay during melee fighting", + "Keywords":"update,position,rate", + "FieldName":"playerUpdateRate", + "InputType":"number", + "MinValue":"10", + "IsFlagArgument":false, + "ParamFieldName":"playerUpdateRate", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "EnumValues":{} + }, + { + "DisplayName":"Enable Global Voice", + "Category":"Server Settings", + "Description":"If enabled, global voice will be allowed during the round. Otherwise it only be allowed during voting and the win screen", + "Keywords":"global,voice", + "FieldName":"allowGlobalVoice", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"allowGlobalVoice", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + } +] \ No newline at end of file diff --git a/blackwakemetaconfig.json b/blackwakemetaconfig.json new file mode 100644 index 000000000..67b21e72d --- /dev/null +++ b/blackwakemetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"Server.cfg", + "AutoMap":true, + "ConfigType":"kvp" + } +] \ No newline at end of file From fdd1ad31316975d13c57e248e417edeabf007262 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Tue, 27 Sep 2022 22:19:20 -0500 Subject: [PATCH 053/318] Update Pavlov VR & Space Engineers Docker Policy (#198) * Update Pavlov VR Docker Policy Until we figure out why this doesn't work in Docker, I'm marking it NotSupported. * Update space-engineers-generic.kvp --- pavlov-vr.kvp | 2 +- space-engineers-generic.kvp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pavlov-vr.kvp b/pavlov-vr.kvp index 8849b517c..ff5dead00 100755 --- a/pavlov-vr.kvp +++ b/pavlov-vr.kvp @@ -10,7 +10,7 @@ Meta.MetaConfigManifest=pavlov-vrmetaconfig.json Meta.ConfigRoot=pavlov-vr.kvp Meta.MinAMPVersion=2.3.2.0 Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=NotSupported Meta.Prerequsites=[] App.DisplayName=Pavlov VR App.RootDir=./pavlovserver/ diff --git a/space-engineers-generic.kvp b/space-engineers-generic.kvp index 86d1ec0d6..3812a30c2 100644 --- a/space-engineers-generic.kvp +++ b/space-engineers-generic.kvp @@ -12,7 +12,7 @@ Meta.ConfigRoot=space-engineers-generic.kvp Meta.MinAMPVersion=2.3.0.9 Meta.SpecificDockerImage= Meta.DockerRequired=False -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=NotSupported Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Space Engineers From a03d6393f7e086ab903dfed3b68fc996b1dad2d5 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 28 Sep 2022 20:16:10 -0500 Subject: [PATCH 054/318] Update Valheim and ValheimPlus (#201) * Update Valheim and ValheimPlus This adds the release stream option to allow for "default_old" that was recently added. This also enable crossplay functionality. * Update valheimconfig.json --- valheim.kvp | 4 ++-- valheimconfig.json | 27 +++++++++++++++++++++++++++ valheimplus.kvp | 4 ++-- 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/valheim.kvp b/valheim.kvp index 2139edc12..9270b472e 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -14,7 +14,7 @@ App.BaseDirectory=./Valheim/896660/ App.ExecutableWin=896660\valheim_server.exe App.ExecutableLinux=896660/valheim_server.x86_64 App.WorkingDir=896660 -App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Data" +App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Data" {{crossplay}} App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "892970"} App.CommandLineParameterFormat=-{0} "{1}" App.ExitMethod=OS_CLOSE @@ -29,7 +29,7 @@ App.MaxUsers=10 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "896660"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "896660", "UpdateSourceVersion": "{{Stream}}"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceWindowsVersion=False diff --git a/valheimconfig.json b/valheimconfig.json index 24822071c..06e07521f 100644 --- a/valheimconfig.json +++ b/valheimconfig.json @@ -44,6 +44,20 @@ }, "DefaultValue": "1" }, + { + "DisplayName": "Enable Crossplay", + "Description": "When enabled, the backend will be running Playfab instead of Steamworks. A \"Join code\" will appear when you join a Dedicated server supporting crossplay. Players can use this code to join the server. This Join code is regenerated whenever the server is restarted.", + "FieldName": "crossplay", + "Category": "Server", + "ParamFieldName": "crossplay", + "IncludeInCommandLine": false, + "InputType": "checkbox", + "EnumValues": { + "True": "-crossplay", + "False": "" + }, + "DefaultValue": "" + }, { "DisplayName": "Admin Players", "Description": "A list of Steam64 IDs for players that are in-game admins. [Find your Steam64 ID](https://steamidfinder.com/)", @@ -67,5 +81,18 @@ "Category": "Server", "InputType": "list", "Special": "listfile:./Valheim/896660/Data/bannedlist.txt" + },{ + "DisplayName":"Release Stream", + "Category":"SteamCMD and Updates", + "Description":"\"public\" is default. Choose a custom release on [SteamDB](https://steamdb.info/app/896660/depots/).", + "Keywords":"use,experimental,release,stream", + "FieldName":"Stream", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Stream", + "IncludeInCommandLine":false, + "DefaultValue":"public", + "Placeholder":"public", + "EnumValues":{} } ] \ No newline at end of file diff --git a/valheimplus.kvp b/valheimplus.kvp index f9ada5e47..31c41005e 100644 --- a/valheimplus.kvp +++ b/valheimplus.kvp @@ -14,7 +14,7 @@ App.BaseDirectory=./Valheim/896660/ App.ExecutableWin=896660\valheim_server.exe App.ExecutableLinux=896660/valheim_server.x86_64 App.WorkingDir=896660 -App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Data" +App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Data" {{crossplay}} App.CommandLineVars={"ServerName": "My Valheim Server - Powered by AMP", "WorldName": "PoweredByAMP", "ServerPassword": "12345"} App.EnvironmentVariables={"DOORSTOP_ENABLE": "TRUE", "DOORSTOP_INVOKE_DLL_PATH": "./BepInEx/core/BepInEx.Preloader.dll", "DOORSTOP_CORLIB_OVERRIDE_PATH": "./unstripped_corlib" , "LD_LIBRARY_PATH":"./doorstop_libs:./linux64:%LD_LIBRARY_PATH%", "LD_PRELOAD": "libdoorstop_x64.so","SteamAppId":"892970"} App.CommandLineParameterFormat=-{0} "{1}" @@ -31,7 +31,7 @@ App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "896660"},{"UpdateStageName": "Fetch ValheimPlus from Github","UpdateSourcePlatform": "Windows", "UpdateSource": "GithubRelease", "UpdateSourceArgs": "valheimPlus/ValheimPlus", "UpdateSourceData": "WindowsServer.zip", "UnzipUpdateSource": true, "OverwriteExistingFiles": true},{"UpdateSourcePlatform": "Linux", "UpdateSource": "GithubRelease", "UpdateSourceArgs": "valheimPlus/ValheimPlus", "UpdateSourceData": "UnixServer.zip", "UnzipUpdateSource": true, "OverwriteExistingFiles": true}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "896660", "UpdateSourceVersion": "{{Stream}}"},{"UpdateStageName": "Fetch ValheimPlus from Github","UpdateSourcePlatform": "Windows", "UpdateSource": "GithubRelease", "UpdateSourceArgs": "valheimPlus/ValheimPlus", "UpdateSourceData": "WindowsServer.zip", "UnzipUpdateSource": true, "OverwriteExistingFiles": true},{"UpdateSourcePlatform": "Linux", "UpdateSource": "GithubRelease", "UpdateSourceArgs": "valheimPlus/ValheimPlus", "UpdateSourceData": "UnixServer.zip", "UnzipUpdateSource": true, "OverwriteExistingFiles": true}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceWindowsVersion=False From fa8a6d6f80ccec6cd9e3a6e81e0632771f09d6a6 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 28 Sep 2022 22:18:50 -0500 Subject: [PATCH 055/318] Update 7D2D Network Option (#202) Sets the disabled network option to "None" by default instead of SteamNetworking, which is what the devs default to. This causes more headaches than it helps. --- seven-days-to-dieconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index c72f17b12..187d60dd6 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -133,7 +133,7 @@ "IsFlagArgument":false, "ParamFieldName":"/ServerSettings/property[@name='ServerDisabledNetworkProtocols']/@value", "IncludeInCommandLine":false, - "DefaultValue":"SteamNetworking", + "DefaultValue":"", "EnumValues":{ "": "None", "SteamNetworking": "SteamNetworking", From 96aa81e8c5887c56cf01dcb5fe0954e27bb5f751 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 29 Sep 2022 14:37:33 +1000 Subject: [PATCH 056/318] Add Assetto Corsa Competizione (#197) --- assetto-corsa-comp.kvp | 81 ++++++ assetto-corsa-compconfig.json | 445 ++++++++++++++++++++++++++++++ assetto-corsa-compmetaconfig.json | 26 ++ 3 files changed, 552 insertions(+) create mode 100644 assetto-corsa-comp.kvp create mode 100644 assetto-corsa-compconfig.json create mode 100644 assetto-corsa-compmetaconfig.json diff --git a/assetto-corsa-comp.kvp b/assetto-corsa-comp.kvp new file mode 100644 index 000000000..0c9d1a512 --- /dev/null +++ b/assetto-corsa-comp.kvp @@ -0,0 +1,81 @@ +Meta.DisplayName=Assetto Corsa Competizione +Meta.Description=Assetto Corsa Competizione Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://steamdb.info/app/805550 +Meta.DisplayImageSource=steam:805550 +Meta.EndpointURIFormat= +Meta.ConfigManifest=assetto-corsa-compconfig.json +Meta.MetaConfigManifest=assetto-corsa-compmetaconfig.json +Meta.ConfigRoot=assetto-corsa-comp.kvp +Meta.MinAMPVersion=2.4.0.2 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=Recommended +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Assetto Corsa Competizione +App.RootDir=./assetto-corsa-comp/ +App.BaseDirectory=./assetto-corsa-comp/1430110 +App.ExecutableWin=1430110\server\accServer.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=1430110/server +App.LinuxCommandLineArgs=-a wine "./accServer.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"805550"} +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":"UDP","Port":9231,"Ref":"UDPPort","Name":"UDP Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":9232,"Ref":"TCPPort","Name":"TCP Port","Description":"Port for server query and ping"}] +App.PrimaryApplicationPortRef=UDPPort +App.UniversalSleepApplicationUDPPortRef=UDPPort +App.UniversalSleepSteamQueryPortRef=TCPPort +App.MaxUsers=85 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","ForceDownloadPlatform":"Windows"}] +App.Compatibility=LinuxBufferedConsole, WindowsBufferedConsole +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=2000 +App.MonitorChildProcessName=wine64 +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^Listening to TCP \d+ \| UDP \d+$ +Console.UserJoinRegex=^New connection request: id (?.+?) (?.+?) (?.+?) on car model \d+$ +Console.UserLeaveRegex=^Client (?.+?) closed the connection \(\d+\)$ +Console.UserChatRegex=^CHAT (?.+?): (?.+)$ +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/assetto-corsa-compconfig.json b/assetto-corsa-compconfig.json new file mode 100644 index 000000000..a604696f2 --- /dev/null +++ b/assetto-corsa-compconfig.json @@ -0,0 +1,445 @@ +[ + { + "DisplayName":"UDP Port", + "Category":"ACC Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$UDPPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"udpPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"TCP Port", + "Category":"ACC Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$TCPPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"tcpPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"ACC Server Settings", + "Description":"The name of the server as it appears publicly", + "Keywords":"name", + "FieldName":"serverName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"serverName", + "IncludeInCommandLine":false, + "DefaultValue":"Assetto Corsa Competizione Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"ACC Server Settings", + "Description":"Password to connect to the server as a player. Default is no password", + "Keywords":"password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Spectator Password", + "Category":"ACC Server Settings", + "Description":"Password to connect to the server as a spectator. Must be different to server password if both are set. Default is no password", + "Keywords":"spectator,password", + "FieldName":"spectatorPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"spectatorPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"ACC Server Settings", + "Description":"In-game \"admin\" user password. NOTE: Change this after installing the server!", + "Keywords":"admin,password", + "FieldName":"adminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"adminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Connection Limit", + "Category":"ACC Server Settings", + "Description":"Maximum number of players and spectators that can connect to the server at one time", + "Keywords":"connection,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"maxConnections", + "IncludeInCommandLine":false, + "DefaultValue":"85", + "Suffix":"connections", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"ACC Server Settings", + "Description":"Maximum number of players that may connect to the server at one time", + "Keywords":"players,limit", + "FieldName":"maxCarSlots", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"maxCarSlots", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Track Medals Required", + "Category":"ACC Server Settings", + "Description":"Sets the number of track medals that a player must have", + "Keywords":"track,medal", + "FieldName":"trackMedalsRequirement", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"trackMedalsRequirement", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "EnumValues":{ + "0":"None", + "1":"One", + "2":"Two", + "3":"Three" + } + }, + { + "DisplayName":"Safety Rating Required", + "Category":"ACC Server Settings", + "Description":"Sets the Safety Rating (SA) that a player must have to join the server. -1 = no rating", + "Keywords":"safety,ratimg", + "FieldName":"safetyRatingRequirement", + "InputType":"number", + "MinValue":"-1", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"safetyRatingRequirement", + "IncludeInCommandLine":false, + "DefaultValue":"49", + "Placeholder":"-1 or 0 - 100", + "EnumValues":{} + }, + { + "DisplayName":"Racecraft Rating Required", + "Category":"ACC Server Settings", + "Description":"Sets the Racecraft Rating (RC) that a player must have to join the server. -1 = no rating", + "Keywords":"racecraft,rating", + "FieldName":"racecraftRatingRequirement", + "InputType":"number", + "MinValue":"-1", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"racecraftRatingRequirement", + "IncludeInCommandLine":false, + "DefaultValue":"-1", + "Placeholder":"-1 or 0 - 100", + "EnumValues":{} + }, + { + "DisplayName":"Save Leaderboard", + "Category":"ACC Server Settings", + "Description":"If enabled, leaderboards are saved to the \"results\" folder", + "Keywords":"leaderboard", + "FieldName":"dumpLeaderboards", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"dumpLeaderboards", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Save Entry List", + "Category":"ACC Server Settings", + "Description":"If enabled, entry lists are saved at the end of any qualifying session", + "Keywords":"dump,entry,list", + "FieldName":"dumpEntryList", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"dumpEntryList", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Central Entry List Path", + "Category":"ACC Server Settings", + "Description":"Sets a custom path to a central entry list, for sharing across servers", + "Keywords":"central,entry,list,path", + "FieldName":"centralEntryListPath", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"centralEntryListPath", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Track Selection", + "Category":"ACC Gameplay Settings", + "Description":"Sets the track for the server", + "Keywords":"track", + "FieldName":"track", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"track", + "IncludeInCommandLine":false, + "DefaultValue":"mount_panorama", + "EnumValues":{ + "barcelona":"Barcelona", + "brands_hatch":"Brands Hatch", + "donington":"Donington", + "hungaroring":"Hungaroring", + "imola":"Imola", + "kyalami":"Kyalami", + "laguna_seca":"Laguna Seca", + "misano":"Misano", + "monza":"Monza", + "mount_panorama":"Mount Panorama", + "nurburgring":"Nurburgring", + "oulton_park":"Oulton Park", + "paul_ricard":"Paul Ricard", + "silverstone":"Silverstone", + "snetterton":"Snetterton", + "spa":"Spa", + "suzuka":"Suzuka", + "zandvoort":"Zandvoort", + "zolder":"Zolder" + } + }, + { + "DisplayName":"Car Group Selection", + "Category":"ACC Gameplay Settings", + "Description":"Sets the car group that is allowed on the server", + "Keywords":"car,group", + "FieldName":"carGroup", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"carGroup", + "IncludeInCommandLine":false, + "DefaultValue":"GT4", + "EnumValues":{ + "FreeForAll":"Free For All", + "GT3":"GT3", + "GT4":"GT4", + "GTC":"GTC", + "TCX":"TCX" + } + }, + { + "DisplayName":"Lock Race", + "Category":"ACC Gameplay Settings", + "Description":"If enabled, the server will not allow players to join during a race session", + "Keywords":"race,locked", + "FieldName":"isRaceLocked", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"isRaceLocked", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Random Track", + "Category":"ACC Gameplay Settings", + "Description":"If enabled, the server will change to a random track when the last driver leaves. \"Track Selection\" will only apply for the first session", + "Keywords":"random,track,empty", + "FieldName":"randomizeTrackWhenEmpty", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"randomizeTrackWhenEmpty", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Auto Disqualification", + "Category":"ACC Gameplay Settings", + "Description":"If this is disabled, drivers receive 30 second penalties rather than automatic disqualification, allowing time for incident review", + "Keywords":"auto,dq,disqualification", + "FieldName":"allowAutoDQ", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"allowAutoDQ", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Formation Lap Length", + "Category":"ACC Gameplay Settings", + "Description":"Sets the formation lap length. \"Long\" is only usable on private servers", + "Keywords":"formation,lap", + "FieldName":"shortFormationLap", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"shortFormationLap", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Long", + "1":"Short" + } + }, + { + "DisplayName":"Formation Lap Type", + "Category":"ACC Gameplay Settings", + "Description":"Sets the formation lap type", + "Keywords":"formation,lap,type", + "FieldName":"formationLapType", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"formationLapType", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "EnumValues":{ + "0":"Old limiter lap", + "1":"Free lap", + "3":"Default formation" + } + }, + { + "DisplayName":"Race Wait Time", + "Category":"ACC Gameplay Settings", + "Description":"Sets the preparation time before a race (minimum 30s)", + "Keywords":"race,waiting,time", + "FieldName":"preRaceWaitingTimeSeconds", + "InputType":"number", + "MinValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"preRaceWaitingTimeSeconds", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Suffix":"seconds", + "Placeholder":"60", + "EnumValues":{} + }, + { + "DisplayName":"Race Over Time", + "Category":"ACC Gameplay Settings", + "Description":"Sets the time to forcibly close a session once the timer reaches 0:00 (recommended 107% of the expected laptime)", + "Keywords":"race,over,time", + "FieldName":"sessionOverTimeSeconds", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"sessionOverTimeSeconds", + "IncludeInCommandLine":false, + "DefaultValue":"120", + "Suffix":"seconds", + "Placeholder":"120", + "EnumValues":{} + }, + { + "DisplayName":"Ambient Temperature", + "Category":"ACC Gameplay Settings", + "Description":"Sets the baseline ambient temperature in °C", + "Keywords":"ambient,temp", + "FieldName":"ambientTemp", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ambientTemp", + "IncludeInCommandLine":false, + "DefaultValue":"26", + "Suffix":"°C", + "EnumValues":{} + }, + { + "DisplayName":"Cloud Level", + "Category":"ACC Gameplay Settings", + "Description":"Sets the baseline cloud level", + "Keywords":"cloud,level", + "FieldName":"cloudLevel", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"cloudLevel", + "IncludeInCommandLine":false, + "DefaultValue":"0.3", + "Placeholder":"0.0 - 1.0", + "EnumValues":{} + }, + { + "DisplayName":"Rain Level", + "Category":"ACC Gameplay Settings", + "Description":"Sets the static rain level if weather is static, or the expected rain level if weather is dynamic", + "Keywords":"rain", + "FieldName":"rain", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"rain", + "IncludeInCommandLine":false, + "DefaultValue":"0.0", + "Placeholder":"0.0 - 1.0", + "EnumValues":{} + }, + { + "DisplayName":"Dynamic Weather", + "Category":"ACC Gameplay Settings", + "Description":"Sets the dynamic weather level. 0 = static, 1-4 = fairly realistic, 5-7 = more sensational", + "Keywords":"random,weather", + "FieldName":"weatherRandomness", + "InputType":"number", + "MinValue":"0", + "MaxValue":"7", + "IsFlagArgument":false, + "ParamFieldName":"weatherRandomness", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"0 - 7", + "EnumValues":{} + }, + { + "DisplayName":"Ignore Premature Disconnects", + "Category":"ACC Gameplay Settings", + "Description":"If enabled, less arbitrary connections lost. On Linux hosts, disable this setting", + "Keywords":"ignore,premature,disconnects", + "FieldName":"ignorePrematureDisconnects", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ignorePrematureDisconnects", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + } +] diff --git a/assetto-corsa-compmetaconfig.json b/assetto-corsa-compmetaconfig.json new file mode 100644 index 000000000..2e1c1106d --- /dev/null +++ b/assetto-corsa-compmetaconfig.json @@ -0,0 +1,26 @@ +[ + { + "ConfigFile":"server/cfg/configuration.json", + "AutoMap":true, + "ConfigType":"json", + "ConfigEncoding":"utf16-le-nobom" + }, + { + "ConfigFile":"server/cfg/settings.json", + "AutoMap":true, + "ConfigType":"json", + "ConfigEncoding":"utf16-le-nobom" + }, + { + "ConfigFile":"server/cfg/event.json", + "AutoMap":true, + "ConfigType":"json", + "ConfigEncoding":"utf16-le-nobom" + }, + { + "ConfigFile":"server/cfg/assistRules.json", + "AutoMap":true, + "ConfigType":"json", + "ConfigEncoding":"utf16-le-nobom" + } +] \ No newline at end of file From ddea198788dca2e6da2c6e89b966b42641e50408 Mon Sep 17 00:00:00 2001 From: Dragoon209 Date: Thu, 29 Sep 2022 00:40:59 -0400 Subject: [PATCH 057/318] Just Cause 3 Multiplayer Game Support Draft (#185) * Necesse Game Support * Update necesse.kvp Update necesse.kvp to point the config update path to the CubeCoders repo * jc3mp Game Support Just Cause 3 Multiplayer Mod * jc3mp: fixes and enhhancements added default package automatic installation added server announce fixes fixed some accidental typos and duplicate names * updated per notes in PR 185 * Adjusted spelling. Don't skip sleep, kids! * updated config download path Co-authored-by: DavidAtRoot --- jc3mp.kvp | 87 ++++++++++++++++++++++ jc3mpconfig.json | 165 +++++++++++++++++++++++++++++++++++++++++ jc3mpmetaconfig.json | 8 ++ jc3mpserverconfig.json | 16 ++++ 4 files changed, 276 insertions(+) create mode 100644 jc3mp.kvp create mode 100644 jc3mpconfig.json create mode 100644 jc3mpmetaconfig.json create mode 100644 jc3mpserverconfig.json diff --git a/jc3mp.kvp b/jc3mp.kvp new file mode 100644 index 000000000..23d43d8a0 --- /dev/null +++ b/jc3mp.kvp @@ -0,0 +1,87 @@ +Meta.DisplayName=Just Cause 3 Multiplayer Mod +Meta.Description=Just Cause 3 Multiplayer Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=ThisIslandEarth +Meta.URL=https://just-cause.mp +Meta.DisplayImageSource=steam:619910 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$queryPort} +Meta.ConfigManifest=jc3mpconfig.json +Meta.MetaConfigManifest=jc3mpmetaconfig.json +Meta.ConfigRoot=jc3mp.kvp +Meta.MinAMPVersion=2.4.0.2 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Just Cause 3 Multiplayer Mod +App.RootDir=./jc3mp/ +App.BaseDirectory=./jc3mp/619960/ +App.ExecutableWin=619960\Server.exe +App.ExecutableLinux=619960/Server +App.WorkingDir=619960 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs= +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"619960"} +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":"TCP","Port":4200,"Ref":"port","Name":"Game Port","Description":"Port for game traffic"}, {"Protocol":"Both","Port":4201,"Ref":"queryPort","Name":"Query Port","Description":"Server query port"}, {"Protocol":"Both","Port":4202,"Ref":"steamPort","Name":"Steam Port","Description":"Steam communication port"}, {"Protocol":"Both","Port":4203,"Ref":"httpPort","Name":"HTTP Port","Description":"Client mod download port"}] +App.AdminPortRef= +App.PrimaryApplicationPortRef=port +App.UniversalSleepApplicationUDPPortRef=port +App.UniversalSleepSteamQueryPortRef=queryPort +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":"619960"},{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/jc3mpserverconfig.json","UpdateSourceTarget":"../","OverwriteExistingFiles":"true"},{"UpdateStageName":"Packages Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}packages"},{"UpdateStageName":"Download Default Packages","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://unlimitedjc.files.wordpress.com/2022/09/jc3mp-default-packages.zip","UpdateSourceArgs":"jc3mpdefaultpackages.zip","UpdateSourceTarget":"{{$FullBaseDir}}packages","UnzipUpdateSource":"true","OverwriteExistingFiles":"true","DeleteAfterExtract":"true"},{"UpdateStageName":"chat-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u chat-master.zip'"},{"UpdateStageName":"command-hints-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-hints-master.zip'"},{"UpdateStageName":"command-manager-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-manager-master.zip'"},{"UpdateStageName":"freeroam-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u freeroam-master.zip'"},{"UpdateStageName":"spawn-menu-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u spawn-menu-master.zip'"},{"UpdateStageName":"chat-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf chat-master.zip"},{"UpdateStageName":"command-hints-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-hints-master.zip"},{"UpdateStageName":"command-manager-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-manager-master.zip"},{"UpdateStageName":"freeroam-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf freeroam-master.zip"},{"UpdateStageName":"spawn-menu-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf spawn-menu-master.zip"}] +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=^\[[\d\-]+ [\d:]+\]: Server successfully started up, awaiting connects\.\.\.$ +Console.UserJoinRegex=^(?.+?) has joined\.$ +Console.UserLeaveRegex=^(?.+?) has left\.$ +Console.UserChatRegex=^(?.+?): (?.+)$ +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/jc3mpconfig.json b/jc3mpconfig.json new file mode 100644 index 000000000..4fdda3ec1 --- /dev/null +++ b/jc3mpconfig.json @@ -0,0 +1,165 @@ +[ + { + "DisplayName": "Game Port", + "Category": "Server Settings", + "Description": "", + "FieldName": "$port", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "gport", + "IncludeInCommandLine": false, + "Hidden": true, + "DefaultValue": "4200", + "EnumValues": {} + }, + { + "DisplayName": "Host IP", + "Category": "Server Settings", + "Description": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "hostip", + "IncludeInCommandLine": false, + "Hidden": true, + "DefaultValue": "0.0.0.0", + "EnumValues": {} + }, + { + "DisplayName": "HTTP Port", + "Category": "Server Settings", + "Description": "HTTP Port", + "FieldName": "$httpPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "hport", + "IncludeInCommandLine": false, + "Hidden": true, + "DefaultValue": "4203", + "EnumValues": {} + }, + { + "DisplayName": "Query Port", + "Category": "Server Settings", + "Description": "Query Port", + "FieldName": "$queryPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "qport", + "IncludeInCommandLine": false, + "Hidden": true, + "DefaultValue": "4201", + "EnumValues": {} + }, + { + "DisplayName": "Steam Port", + "Category": "Server Settings", + "Description": "Steam Port", + "FieldName": "$steamPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "sport", + "IncludeInCommandLine": false, + "Hidden": true, + "DefaultValue": "4202", + "EnumValues": {} + }, + { + "DisplayName": "Players", + "Category": "Server Settings", + "Description": "Number of players allowed to join.", + "Keywords": "players", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "Required": true, + "ParamFieldName": "maxPlayers", + "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": "Description", + "Category": "Server Settings", + "Description": "Displayed in the server browser.", + "Keywords": "description", + "FieldName": "description", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "description", + "IncludeInCommandLine": false, + "DefaultValue": "Powered By Amp", + "EnumValues": {} + }, + { + "DisplayName": "Tick Rate", + "Category": "Server Settings", + "Description": "Maxium FPS for the server (default is 60).", + "Keywords": "tickrate", + "FieldName": "tickrate", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "maxTickRate", + "IncludeInCommandLine": false, + "DefaultValue": "60", + "Suffix":"ticks per second", + "EnumValues": {} + }, + { + "DisplayName": "Name", + "Category": "Server Settings", + "Description": "Displayed in the server browser.", + "Keywords": "name", + "FieldName": "name", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "name", + "IncludeInCommandLine": false, + "DefaultValue": "JC3MP-AMP", + "EnumValues": {} + }, + { + "DisplayName": "Server Announce", + "Category": "Server Settings", + "Description": "Add a check here if you want to announce your server on the master server browser list.", + "Keywords": "Server Announce", + "FieldName": "announce", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "announce", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Required DLCs", + "Category": "Server Settings", + "Description": "Comma separated list of owned DLC IDs required to join. [A list is available here](https://just-cause.mp/docs/general/information/Server%20Configuration) Leave this blank to not require any DLCs to join.", + "Keywords": "dlcs", + "FieldName": "requiredDLC", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "requiredDLC", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "400551,400490,442051,401850,348880,388294,442050,488293,388290,388291,388292,442052", + "EnumValues": {} + } +] \ No newline at end of file diff --git a/jc3mpmetaconfig.json b/jc3mpmetaconfig.json new file mode 100644 index 000000000..7502c8c80 --- /dev/null +++ b/jc3mpmetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile": "config.json", + "AutoMap": true, + "ConfigType": "template", + "ConfigFileTemplate": "jc3mpserverconfig.json" + } + ] \ No newline at end of file diff --git a/jc3mpserverconfig.json b/jc3mpserverconfig.json new file mode 100644 index 000000000..876a6d8c8 --- /dev/null +++ b/jc3mpserverconfig.json @@ -0,0 +1,16 @@ +{ + "announce": {{announce}}, + "description": "{{description}}", + "host": {{hostip}}, + "httpPort": {{hport}}, + "logLevel": 7, + "logo": "", + "maxPlayers": {{maxPlayers}}, + "maxTickRate": {{maxTickRate}}, + "name": "{{name}}", + "password": "{{password}}", + "port": {{gport}}, + "queryPort": {{qport}}, + "requiredDLC": [{{requiredDLC}}], + "steamPort": {{sport}} +} \ No newline at end of file From 56a73244a6a26ff6985daea0e29e9bc4fb0b0b65 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 3 Oct 2022 07:42:37 +1100 Subject: [PATCH 058/318] Longvinter: switch to new GitRepo update stage (#206) --- longvinter.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/longvinter.kvp b/longvinter.kvp index e8f7be8d5..5b439669b 100644 --- a/longvinter.kvp +++ b/longvinter.kvp @@ -9,7 +9,7 @@ Meta.EndpointURIFormat= Meta.ConfigManifest=longvinterconfig.json Meta.MetaConfigManifest=longvintermetaconfig.json Meta.ConfigRoot=longvinter.kvp -Meta.MinAMPVersion=2.3.4.3 +Meta.MinAMPVersion=2.4.0.6 Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=Recommended @@ -53,7 +53,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1639880"},{"UpdateStageName":"GitHub Update Script Creation","UpdateSourcePlatform":"Linux","UpdateSource":"CreateFile","UpdateSourceData":"#!/bin/bash\ncd ./longvinter/1639880/\n/usr/bin/git clone https://github.com/Uuvana-Studios/longvinter-linux-server.git ./ || /usr/bin/git pull","UpdateSourceArgs":"{{$FullInstanceDir}}github_update.sh","OverwriteExistingFiles":true},{"UpdateStageName":"GitHub Update","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"{{$FullInstanceDir}}github_update.sh"},{"UpdateStageName":"Set Binary Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/longvintergame.ini","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Windows","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1639880"},{"UpdateStageName":"Clone GitHub Repo","UpdateSourcePlatform":"Linux","UpdateSource":"GitRepo","UpdateSourceData":"https://github.com/Uuvana-Studios/longvinter-linux-server.git","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Set Binary Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/longvintergame.ini","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Windows","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False From c140430300619af85c07a26c458be8c4153a0bb6 Mon Sep 17 00:00:00 2001 From: k8thekat <68672235+k8thekat@users.noreply.github.com> Date: Sun, 2 Oct 2022 14:39:34 -0700 Subject: [PATCH 059/318] Gatekeeperv2 Updated Display Image Source (#205) * Updated Support for Gatekeeperv2 - Removed required GUILDID arg - Added `-command` arg Command arg can be used to trace Discord Users who issue slash commands. * Updated DisplayImageSource URL for Gatekeeper * Updating Display Image Source - Gatekeeperv2 * Fixed typo --- gatekeeperv2.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gatekeeperv2.kvp b/gatekeeperv2.kvp index ddfdae26f..5eacddda8 100644 --- a/gatekeeperv2.kvp +++ b/gatekeeperv2.kvp @@ -4,7 +4,7 @@ Meta.OS=Linux Meta.Arch=x86_64 Meta.Author=k8thekat, IceOfWraith Meta.URL=https://github.com/k8thekat/GatekeeperV2 -Meta.DisplayImageSource=url:https://avatars.githubusercontent.com/u/68672235?v=4 +Meta.DisplayImageSource=url:https://github.com/k8thekat/GatekeeperV2/raw/main/resources/Gatekeeperv2%20Banner.jpg Meta.EndpointURIFormat=steam://connect/{0} Meta.ConfigManifest=gatekeeperv2config.json Meta.MetaConfigManifest=gatekeeperv2metaconfig.json From e0ee1d9a9c28f21a8cbc1ba71bd1faa719d412b4 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 4 Oct 2022 01:08:08 +1100 Subject: [PATCH 060/318] Add Assetto Corsa (#194) --- assetto-corsa.kvp | 81 +++++ assetto-corsaconfig.json | 641 +++++++++++++++++++++++++++++++++++ assetto-corsametaconfig.json | 8 + 3 files changed, 730 insertions(+) create mode 100644 assetto-corsa.kvp create mode 100644 assetto-corsaconfig.json create mode 100644 assetto-corsametaconfig.json diff --git a/assetto-corsa.kvp b/assetto-corsa.kvp new file mode 100644 index 000000000..310af9a82 --- /dev/null +++ b/assetto-corsa.kvp @@ -0,0 +1,81 @@ +Meta.DisplayName=Assetto Corsa +Meta.Description=Assetto Corsa Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://steamdb.info/app/244210 +Meta.DisplayImageSource=steam:244210 +Meta.EndpointURIFormat= +Meta.ConfigManifest=assetto-corsaconfig.json +Meta.MetaConfigManifest=assetto-corsametaconfig.json +Meta.ConfigRoot=assetto-corsa.kvp +Meta.MinAMPVersion=2.4.0.2 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Assetto Corsa +App.RootDir=./assetto-corsa/ +App.BaseDirectory=./assetto-corsa/302550 +App.ExecutableWin=302550\acServer.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=302550 +App.LinuxCommandLineArgs=-a wine "./acServer.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"244210"} +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":9600,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":9601,"Ref":"HTTPPort","Name":"HTTP Port","Description":"Port for lobby info"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=GamePort +App.MaxUsers=18 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"302550","ForceDownloadPlatform":"Windows"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=2000 +App.MonitorChildProcessName=wine +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^Server started$ +Console.UserJoinRegex=^DRIVER ACCEPTED FOR CAR (?.+?)$ +Console.UserLeaveRegex=^Clean exit, driver disconnected:\s+(?.+?) \[\]$ +Console.UserChatRegex=^$ +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/assetto-corsaconfig.json b/assetto-corsaconfig.json new file mode 100644 index 000000000..79777c008 --- /dev/null +++ b/assetto-corsaconfig.json @@ -0,0 +1,641 @@ +[ + { + "DisplayName":"UDP Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"SERVER.UDP_PORT", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"TCP Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"SERVER.TCP_PORT", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"HTTP Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$HTTPPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"SERVER.HTTP_PORT", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"The name of the server as it appears publicly", + "Keywords":"name", + "FieldName":"SERVER_NAME", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.NAME", + "IncludeInCommandLine":false, + "DefaultValue":"Assetto Corsa Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Server Settings", + "Description":"If enabled, the server will be registered in the in-game lobby", + "Keywords":"public", + "FieldName":"SERVER_REGISTER_TO_LOBBY", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.REGISTER_TO_LOBBY", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Password to connect to the server. Default is no password", + "Keywords":"password", + "FieldName":"SERVER_PASSWORD", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.PASSWORD", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"Server Settings", + "Description":"In-game \"admin\" user password (can be used to join instead of the server password). NOTE: Change this after installing the server!", + "Keywords":"admin,password", + "FieldName":"SERVER_ADMIN_PASSWORD", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.ADMIN_PASSWORD", + "IncludeInCommandLine":false, + "DefaultValue":"mypassword", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server. Must be less than the number of pits for the selected track", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.MAX_CLIENTS", + "IncludeInCommandLine":false, + "DefaultValue":"18", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Blacklist Mode", + "Category":"Server Settings", + "Description":"Sets the blacklist mode", + "Keywords":"blacklist,mode", + "FieldName":"SERVER_BLACKLIST_MODE", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.BLACKLIST_MODE", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Kick and allow rejoin", + "1":"Kick until server restart", + "2":"Kick and add to blacklist" + } + }, + { + "DisplayName":"Kick Quorum", + "Category":"Server Settings", + "Description":"Voting percentage threshold required to kick a player", + "Keywords":"kick,quorum", + "FieldName":"SERVER_KICK_QUORUM", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.KICK_QUORUM", + "IncludeInCommandLine":false, + "DefaultValue":"85", + "Suffix":"%", + "Placeholder":"85", + "EnumValues":{} + }, + { + "DisplayName":"Voting Quorum", + "Category":"Server Settings", + "Description":"Voting percentage threshold required for the SESSION vote to pass", + "Keywords":"vote,voting,quorum", + "FieldName":"SERVER_VOTING_QUORUM", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.VOTING_QUORUM", + "IncludeInCommandLine":false, + "DefaultValue":"80", + "Suffix":"%", + "Placeholder":"80", + "EnumValues":{} + }, + { + "DisplayName":"Voting Duration", + "Category":"Server Settings", + "Description":"Time during which a SESSION vote is open", + "Keywords":"vote,voting,duration", + "FieldName":"SERVER_VOTE_DURATION", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.VOTE_DURATION", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Suffix":"seconds", + "Placeholder":"20", + "EnumValues":{} + }, + { + "DisplayName":"Track Selection", + "Category":"Gameplay Settings", + "Description":"Sets the track for the server. Select a track name from \"content/tracks\"", + "Keywords":"track", + "FieldName":"SERVER_TRACK", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.TRACK", + "IncludeInCommandLine":false, + "DefaultValue":"magione", + "EnumValues":{} + }, + { + "DisplayName":"Track Variant Selection", + "Category":"Gameplay Settings", + "Description":"Sets the variant of the server track. Select a variant name for the selected track from \"content/tracks/TRACK\"", + "Keywords":"track,subversion", + "FieldName":"SERVER_CONFIG_TRACK", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.CONFIG_TRACK", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Car Selection", + "Category":"Gameplay Settings", + "Description":"Semi-colon separated list of car types that are allowed on the server. Select car name(s) from \"content/cars\"", + "Keywords":"track", + "FieldName":"SERVER_CARS", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.CARS", + "IncludeInCommandLine":false, + "DefaultValue":"bmw_m3_e30", + "EnumValues":{} + }, + { + "DisplayName":"Race Name", + "Category":"Gameplay Settings", + "Description":"Sets the name of the race", + "Keywords":"race,name", + "FieldName":"RACE_NAME", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"RACE.NAME", + "IncludeInCommandLine":false, + "DefaultValue":"Race", + "EnumValues":{} + }, + { + "DisplayName":"Race Laps", + "Category":"Gameplay Settings", + "Description":"Sets the number of laps for the race", + "Keywords":"race,laps", + "FieldName":"RACE_LAPS", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"RACE.LAPS", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "EnumValues":{} + }, + { + "DisplayName":"Race Wait Time", + "Category":"Gameplay Settings", + "Description":"Sets the period of time before the start of the session", + "Keywords":"race,wait,time", + "FieldName":"RACE_WAIT_TIME", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"RACE.WAIT_TIME", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Race Over Time", + "Category":"Gameplay Settings", + "Description":"Time remaining to finish the race from the moment the first player passes the finish line", + "Keywords":"race,over,time", + "FieldName":"SERVER_RACE_OVER_TIME", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.RACE_OVER_TIME", + "IncludeInCommandLine":false, + "DefaultValue":"180", + "Suffix":"seconds", + "Placeholder":"180", + "EnumValues":{} + }, + { + "DisplayName":"Race Join Status", + "Category":"Gameplay Settings", + "Description":"Sets the join status for the race", + "Keywords":"race,join,open", + "FieldName":"RACE_IS_OPEN", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"RACE.IS_OPEN", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"No join", + "1":"Free join", + "2":"Free join until 20 secs before green light" + } + }, + { + "DisplayName":"Qualifying Session Name", + "Category":"Gameplay Settings", + "Description":"Sets the name of the qualifying session", + "Keywords":"qualify,name", + "FieldName":"QUALIFY_NAME", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"QUALIFY.NAME", + "IncludeInCommandLine":false, + "DefaultValue":"Qualify", + "EnumValues":{} + }, + { + "DisplayName":"Qualifying Session Time", + "Category":"Gameplay Settings", + "Description":"Sets the period of time for the qualifying session", + "Keywords":"qualify,time", + "FieldName":"QUALIFY_TIME", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"QUALIFY.TIME", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Qualifying Session Join Status", + "Category":"Gameplay Settings", + "Description":"Sets the join status for the qualifying session", + "Keywords":"qualify,join,open", + "FieldName":"QUALIFY_IS_OPEN", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"QUALIFY.IS_OPEN", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"No join", + "1":"Free join" + } + }, + { + "DisplayName":"Practice Session Name", + "Category":"Gameplay Settings", + "Description":"Sets the name of the practice session", + "Keywords":"practice,name", + "FieldName":"PRACTICE_NAME", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"PRACTICE.NAME", + "IncludeInCommandLine":false, + "DefaultValue":"Practice", + "EnumValues":{} + }, + { + "DisplayName":"Practice Session Time", + "Category":"Gameplay Settings", + "Description":"Sets the period of time for the practice session", + "Keywords":"practice,time", + "FieldName":"PRACTICE_TIME", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PRACTICE_TIME", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Practice Session Join Status", + "Category":"Gameplay Settings", + "Description":"Sets the join status for the practice session", + "Keywords":"practice,join,open", + "FieldName":"PRACTICE_IS_OPEN", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"PRACTICE.IS_OPEN", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"No join", + "1":"Free join" + } + }, + { + "DisplayName":"Enable Loop Mode", + "Category":"Gameplay Settings", + "Description":"If enabled, the server restarts from the first track", + "Keywords":"loop,mode", + "FieldName":"SERVER_LOOP_MODE", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.LOOP_MODE", + "IncludeInCommandLine":false, + "SkipIfEmpty":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Fuel Rate", + "Category":"Gameplay Settings", + "Description":"Sets the fuel usage rate. 0 = no fuel usage, 100 = a realistic rate", + "Keywords":"fuel,rate", + "FieldName":"SERVER_FUEL_RATE", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.FUEL_RATE", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Placeholder":"100", + "EnumValues":{} + }, + { + "DisplayName":"Damage Multiplier", + "Category":"Gameplay Settings", + "Description":"Sets the damage multiplier", + "Keywords":"damage,multiplier", + "FieldName":"SERVER_DAMAGE_MULTIPLIER", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.DAMAGE_MULTIPLIER", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Placeholder":"0-100", + "EnumValues":{} + }, + { + "DisplayName":"Tyre Types Allowed", + "Category":"Gameplay Settings", + "Description":"Semi-colon separated list of tyre shortnames that are allowed on the server. Select from SV, ST, SM, SS, S, M, H, SH, HR, I, V", + "Keywords":"legal,tyres", + "FieldName":"SERVER_LEGAL_TYRES", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":false, + "ParamFieldName":"SERVER.LEGAL_TYRES", + "IncludeInCommandLine":false, + "DefaultValue":"SV", + "Placeholder":"V;E;HR;ST", + "EnumValues":{} + }, + { + "DisplayName":"Tyre Wear Rate", + "Category":"Gameplay Settings", + "Description":"Sets the tyre wear usage rate. 0 = no tyre wear, 100 = a realistic rate", + "Keywords":"tyre,wear,rate", + "FieldName":"SERVER_TYRE_WEAR_RATE", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.TYRE_WEAR_RATE", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Placeholder":"0-100", + "EnumValues":{} + }, + { + "DisplayName":"Enable Tyre Blankets", + "Category":"Gameplay Settings", + "Description":"If enabled, tyres will have optimal temperature at the start of a session and after a pitstop", + "Keywords":"tyre,blankets", + "FieldName":"SERVER_TYRE_BLANKETS_ALLOWED", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.TYRE_BLANKETS_ALLOWED", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Allowed Tyres Out Number", + "Category":"Gameplay Settings", + "Description":"Sets the number of tyres allowed to be off-track without invalidating a lap", + "Keywords":"tyres,out", + "FieldName":"SERVER_ALLOWED_TYRES_OUT", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.ALLOWED_TYRES_OUT", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Placeholder":"2", + "EnumValues":{} + }, + { + "DisplayName":"Allow Anti-lock Braking System", + "Category":"Gameplay Settings", + "Description":"Sets whether anti-lock braking system is allowed", + "Keywords":"abs,anti-lock,braking", + "FieldName":"SERVER_ABS_ALLOWED", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.ABS_ALLOWED", + "IncludeInCommandLine":false, + "SkipIfEmpty":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"No car can use", + "1":"Only cars given ABS can use", + "2":"Any car can use" + } + }, + { + "DisplayName":"Allow Traction Control", + "Category":"Gameplay Settings", + "Description":"Sets whether traction control is allowed", + "Keywords":"tc,traction,control", + "FieldName":"SERVER_TC_ALLOWED", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.TC_ALLOWED", + "IncludeInCommandLine":false, + "SkipIfEmpty":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"No car can use", + "1":"Only cars given TC can use", + "2":"Any car can use" + } + }, + { + "DisplayName":"Enable Stability Assist", + "Category":"Gameplay Settings", + "Description":"If enabled, stability assist will apply", + "Keywords":"stability,assist", + "FieldName":"SERVER_STABILITY_ALLOWED", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.STABILITY_ALLOWED", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Autoclutch Assist", + "Category":"Gameplay Settings", + "Description":"If enabled, autoclutch assist will apply", + "Keywords":"auto,clutch,assist", + "FieldName":"SERVER_AUTOCLUTCH_ALLOWED", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.AUTOCLUTCH_ALLOWED", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Virtual Mirror", + "Category":"Gameplay Settings", + "Description":"If enabled, a virtual mirror will be enabled for every player", + "Keywords":"force,virtual,mirror", + "FieldName":"SERVER_FORCE_VIRTUAL_MIRROR", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.FORCE_VIRTUAL_MIRROR", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Sun Position Angle", + "Category":"Gameplay Settings", + "Description":"Sets the angle of the position of the sun", + "Keywords":"sun,angle", + "FieldName":"SERVER_SUN_ANGLE", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SERVER.SUN_ANGLE", + "IncludeInCommandLine":false, + "DefaultValue":"48", + "Suffix":"degrees", + "Placeholder":"48", + "EnumValues":{} + }, + { + "DisplayName":"Session Starting Grip", + "Category":"Gameplay Settings", + "Description":"Sets the percentage level of grip at the start of the session", + "Keywords":"session,start,grip", + "FieldName":"DYNAMIC_TRACK_SESSION_START", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"DYNAMIC_TRACK.SESSION_START", + "IncludeInCommandLine":false, + "DefaultValue":"95", + "Suffix":"%", + "Placeholder":"95", + "EnumValues":{} + }, + { + "DisplayName":"Session Starting Grip Randomness", + "Category":"Gameplay Settings", + "Description":"Sets the level of randomness added to the session starting grip", + "Keywords":"session,start,grip,random", + "FieldName":"DYNAMIC_TRACK_RANDOMNESS", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DYNAMIC_TRACK.RANDOMNESS", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Suffix":"%", + "Placeholder":"2", + "EnumValues":{} + }, + { + "DisplayName":"Laps for Grip Gain", + "Category":"Gameplay Settings", + "Description":"Sets the number of laps needed to add 1% grip", + "Keywords":"grip,gain,laps", + "FieldName":"DYNAMIC_TRACK_LAP_GAIN", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DYNAMIC_TRACK.LAP_GAIN", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "EnumValues":{} + }, + { + "DisplayName":"Grip Session Transfer", + "Category":"Gameplay Settings", + "Description":"Sets how much of the gained grip is to be added to the next session (as a percentage). 100 = all of the gained grip", + "Keywords":"grip,gain,session,transfer", + "FieldName":"DYNAMIC_TRACK_SESSION_TRANSFER", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"DYNAMIC_TRACK.SESSION_TRANSFER", + "IncludeInCommandLine":false, + "DefaultValue":"90", + "Suffix":"%", + "Placeholder":"90", + "EnumValues":{} + } +] \ No newline at end of file diff --git a/assetto-corsametaconfig.json b/assetto-corsametaconfig.json new file mode 100644 index 000000000..1091a3f91 --- /dev/null +++ b/assetto-corsametaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile":"cfg/server_cfg.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?.+?)=(?.*?)$" + } +] \ No newline at end of file From 1afafb3b3cb7ae4d6fe001c9d4e5e397fc980b54 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 4 Oct 2022 01:25:57 +1100 Subject: [PATCH 061/318] Update assetto-corsaconfig.json (#208) --- assetto-corsaconfig.json | 84 ++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/assetto-corsaconfig.json b/assetto-corsaconfig.json index 79777c008..0666ee26d 100644 --- a/assetto-corsaconfig.json +++ b/assetto-corsaconfig.json @@ -1,7 +1,7 @@ [ { "DisplayName":"UDP Port", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"", "Keywords":"", "FieldName":"$GamePort", @@ -14,7 +14,7 @@ }, { "DisplayName":"TCP Port", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"", "Keywords":"", "FieldName":"$GamePort", @@ -40,7 +40,7 @@ }, { "DisplayName":"Server Name", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"The name of the server as it appears publicly", "Keywords":"name", "FieldName":"SERVER_NAME", @@ -53,7 +53,7 @@ }, { "DisplayName":"Make Server Public", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"If enabled, the server will be registered in the in-game lobby", "Keywords":"public", "FieldName":"SERVER_REGISTER_TO_LOBBY", @@ -69,7 +69,7 @@ }, { "DisplayName":"Server Password", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"Password to connect to the server. Default is no password", "Keywords":"password", "FieldName":"SERVER_PASSWORD", @@ -82,7 +82,7 @@ }, { "DisplayName":"Admin Password", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"In-game \"admin\" user password (can be used to join instead of the server password). NOTE: Change this after installing the server!", "Keywords":"admin,password", "FieldName":"SERVER_ADMIN_PASSWORD", @@ -95,7 +95,7 @@ }, { "DisplayName":"Player Limit", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"Maximum number of players that may connect to the server. Must be less than the number of pits for the selected track", "Keywords":"players,limit", "FieldName":"$MaxUsers", @@ -109,7 +109,7 @@ }, { "DisplayName":"Blacklist Mode", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"Sets the blacklist mode", "Keywords":"blacklist,mode", "FieldName":"SERVER_BLACKLIST_MODE", @@ -126,7 +126,7 @@ }, { "DisplayName":"Kick Quorum", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"Voting percentage threshold required to kick a player", "Keywords":"kick,quorum", "FieldName":"SERVER_KICK_QUORUM", @@ -141,7 +141,7 @@ }, { "DisplayName":"Voting Quorum", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"Voting percentage threshold required for the SESSION vote to pass", "Keywords":"vote,voting,quorum", "FieldName":"SERVER_VOTING_QUORUM", @@ -156,7 +156,7 @@ }, { "DisplayName":"Voting Duration", - "Category":"Server Settings", + "Category":"AC Server Settings", "Description":"Time during which a SESSION vote is open", "Keywords":"vote,voting,duration", "FieldName":"SERVER_VOTE_DURATION", @@ -171,7 +171,7 @@ }, { "DisplayName":"Track Selection", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the track for the server. Select a track name from \"content/tracks\"", "Keywords":"track", "FieldName":"SERVER_TRACK", @@ -184,7 +184,7 @@ }, { "DisplayName":"Track Variant Selection", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the variant of the server track. Select a variant name for the selected track from \"content/tracks/TRACK\"", "Keywords":"track,subversion", "FieldName":"SERVER_CONFIG_TRACK", @@ -197,7 +197,7 @@ }, { "DisplayName":"Car Selection", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Semi-colon separated list of car types that are allowed on the server. Select car name(s) from \"content/cars\"", "Keywords":"track", "FieldName":"SERVER_CARS", @@ -210,7 +210,7 @@ }, { "DisplayName":"Race Name", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the name of the race", "Keywords":"race,name", "FieldName":"RACE_NAME", @@ -223,7 +223,7 @@ }, { "DisplayName":"Race Laps", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the number of laps for the race", "Keywords":"race,laps", "FieldName":"RACE_LAPS", @@ -236,7 +236,7 @@ }, { "DisplayName":"Race Wait Time", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the period of time before the start of the session", "Keywords":"race,wait,time", "FieldName":"RACE_WAIT_TIME", @@ -250,7 +250,7 @@ }, { "DisplayName":"Race Over Time", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Time remaining to finish the race from the moment the first player passes the finish line", "Keywords":"race,over,time", "FieldName":"SERVER_RACE_OVER_TIME", @@ -265,7 +265,7 @@ }, { "DisplayName":"Race Join Status", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the join status for the race", "Keywords":"race,join,open", "FieldName":"RACE_IS_OPEN", @@ -282,7 +282,7 @@ }, { "DisplayName":"Qualifying Session Name", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the name of the qualifying session", "Keywords":"qualify,name", "FieldName":"QUALIFY_NAME", @@ -295,7 +295,7 @@ }, { "DisplayName":"Qualifying Session Time", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the period of time for the qualifying session", "Keywords":"qualify,time", "FieldName":"QUALIFY_TIME", @@ -309,7 +309,7 @@ }, { "DisplayName":"Qualifying Session Join Status", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the join status for the qualifying session", "Keywords":"qualify,join,open", "FieldName":"QUALIFY_IS_OPEN", @@ -325,7 +325,7 @@ }, { "DisplayName":"Practice Session Name", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the name of the practice session", "Keywords":"practice,name", "FieldName":"PRACTICE_NAME", @@ -338,7 +338,7 @@ }, { "DisplayName":"Practice Session Time", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the period of time for the practice session", "Keywords":"practice,time", "FieldName":"PRACTICE_TIME", @@ -352,7 +352,7 @@ }, { "DisplayName":"Practice Session Join Status", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the join status for the practice session", "Keywords":"practice,join,open", "FieldName":"PRACTICE_IS_OPEN", @@ -368,7 +368,7 @@ }, { "DisplayName":"Enable Loop Mode", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"If enabled, the server restarts from the first track", "Keywords":"loop,mode", "FieldName":"SERVER_LOOP_MODE", @@ -385,7 +385,7 @@ }, { "DisplayName":"Fuel Rate", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the fuel usage rate. 0 = no fuel usage, 100 = a realistic rate", "Keywords":"fuel,rate", "FieldName":"SERVER_FUEL_RATE", @@ -401,7 +401,7 @@ }, { "DisplayName":"Damage Multiplier", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the damage multiplier", "Keywords":"damage,multiplier", "FieldName":"SERVER_DAMAGE_MULTIPLIER", @@ -417,7 +417,7 @@ }, { "DisplayName":"Tyre Types Allowed", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Semi-colon separated list of tyre shortnames that are allowed on the server. Select from SV, ST, SM, SS, S, M, H, SH, HR, I, V", "Keywords":"legal,tyres", "FieldName":"SERVER_LEGAL_TYRES", @@ -432,7 +432,7 @@ }, { "DisplayName":"Tyre Wear Rate", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the tyre wear usage rate. 0 = no tyre wear, 100 = a realistic rate", "Keywords":"tyre,wear,rate", "FieldName":"SERVER_TYRE_WEAR_RATE", @@ -448,7 +448,7 @@ }, { "DisplayName":"Enable Tyre Blankets", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"If enabled, tyres will have optimal temperature at the start of a session and after a pitstop", "Keywords":"tyre,blankets", "FieldName":"SERVER_TYRE_BLANKETS_ALLOWED", @@ -464,7 +464,7 @@ }, { "DisplayName":"Allowed Tyres Out Number", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the number of tyres allowed to be off-track without invalidating a lap", "Keywords":"tyres,out", "FieldName":"SERVER_ALLOWED_TYRES_OUT", @@ -478,7 +478,7 @@ }, { "DisplayName":"Allow Anti-lock Braking System", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets whether anti-lock braking system is allowed", "Keywords":"abs,anti-lock,braking", "FieldName":"SERVER_ABS_ALLOWED", @@ -496,7 +496,7 @@ }, { "DisplayName":"Allow Traction Control", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets whether traction control is allowed", "Keywords":"tc,traction,control", "FieldName":"SERVER_TC_ALLOWED", @@ -514,7 +514,7 @@ }, { "DisplayName":"Enable Stability Assist", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"If enabled, stability assist will apply", "Keywords":"stability,assist", "FieldName":"SERVER_STABILITY_ALLOWED", @@ -530,7 +530,7 @@ }, { "DisplayName":"Enable Autoclutch Assist", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"If enabled, autoclutch assist will apply", "Keywords":"auto,clutch,assist", "FieldName":"SERVER_AUTOCLUTCH_ALLOWED", @@ -546,7 +546,7 @@ }, { "DisplayName":"Enable Virtual Mirror", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"If enabled, a virtual mirror will be enabled for every player", "Keywords":"force,virtual,mirror", "FieldName":"SERVER_FORCE_VIRTUAL_MIRROR", @@ -562,7 +562,7 @@ }, { "DisplayName":"Sun Position Angle", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the angle of the position of the sun", "Keywords":"sun,angle", "FieldName":"SERVER_SUN_ANGLE", @@ -577,7 +577,7 @@ }, { "DisplayName":"Session Starting Grip", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the percentage level of grip at the start of the session", "Keywords":"session,start,grip", "FieldName":"DYNAMIC_TRACK_SESSION_START", @@ -594,7 +594,7 @@ }, { "DisplayName":"Session Starting Grip Randomness", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the level of randomness added to the session starting grip", "Keywords":"session,start,grip,random", "FieldName":"DYNAMIC_TRACK_RANDOMNESS", @@ -609,7 +609,7 @@ }, { "DisplayName":"Laps for Grip Gain", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets the number of laps needed to add 1% grip", "Keywords":"grip,gain,laps", "FieldName":"DYNAMIC_TRACK_LAP_GAIN", @@ -623,7 +623,7 @@ }, { "DisplayName":"Grip Session Transfer", - "Category":"Gameplay Settings", + "Category":"AC Gameplay Settings", "Description":"Sets how much of the gained grip is to be added to the next session (as a percentage). 100 = all of the gained grip", "Keywords":"grip,gain,session,transfer", "FieldName":"DYNAMIC_TRACK_SESSION_TRANSFER", From 10437ebeec3477bb1eb92227b517232dd2e07873 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 4 Oct 2022 11:51:03 +1100 Subject: [PATCH 062/318] Add Day of Dragons (#195) --- day-of-dragons.kvp | 88 +++++++++ day-of-dragonsconfig.json | 327 ++++++++++++++++++++++++++++++++++ day-of-dragonsgame.ini | 21 +++ day-of-dragonsmetaconfig.json | 14 ++ 4 files changed, 450 insertions(+) create mode 100644 day-of-dragons.kvp create mode 100644 day-of-dragonsconfig.json create mode 100644 day-of-dragonsgame.ini create mode 100644 day-of-dragonsmetaconfig.json diff --git a/day-of-dragons.kvp b/day-of-dragons.kvp new file mode 100644 index 000000000..7057f2f65 --- /dev/null +++ b/day-of-dragons.kvp @@ -0,0 +1,88 @@ +Meta.DisplayName=Day of Dragons +Meta.Description=Day of Dragons Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://dayofdragons.com/ +Meta.DisplayImageSource=steam:1088090 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=day-of-dragonsconfig.json +Meta.MetaConfigManifest=day-of-dragonsmetaconfig.json +Meta.ConfigRoot=day-of-dragons.kvp +Meta.MinAMPVersion=2.4.0.2 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Day of Dragons +App.RootDir=./day-of-dragons/ +App.BaseDirectory=./day-of-dragons/1088320/ +App.ExecutableWin=1088320\Dragons\Binaries\Win64\DragonsServer-Win64-Shipping.exe +App.ExecutableLinux=1088320/Dragons/Binaries/Linux/DragonsServer-Linux-Shipping +App.WorkingDir=1088320 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=Dragons {{$PlatformArgs}} -log -Port={{$GamePort}} -QueryPort={{$QueryPort}} -SteamServerName="{{SteamServerName}}" {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1088090"} +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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=100 +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":"1088320"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Binaries/Win64/"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=True +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?LogGameMode: Display: Match State Changed from WaitingToStart to InProgress$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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 diff --git a/day-of-dragonsconfig.json b/day-of-dragonsconfig.json new file mode 100644 index 000000000..c472cf16d --- /dev/null +++ b/day-of-dragonsconfig.json @@ -0,0 +1,327 @@ +[ + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Name of the server as it appears publicly", + "Keywords":"name", + "FieldName":"SteamServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SteamServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Day of Dragons Server", + "EnumValues":{} + }, + { + "DisplayName":"Welcome Message", + "Category":"Server Settings", + "Description":"Welcome message when players join the server", + "Keywords":"welcome,message,motd", + "FieldName":"sServerMOTD", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.sServerMOTD", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to this Day of Dragons server - powered by AMP!", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"Server Settings", + "Description":"Sets the password for admins to access the admin panel. Default is no password", + "Keywords":"admin,password", + "FieldName":"sServerPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.sServerPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "MaxValue":"200", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Enable Friends List", + "Category":"Server Settings", + "Description":"If enabled, only players with Steam IDs listed in Game.ini using \"sServerFriends\" can join the server. Other players will be kicked automatically", + "Keywords":"friends,list,whitelist", + "FieldName":"bUseFriendsList", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bUseFriendsList", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Clan Size Limit", + "Category":"Server Settings", + "Description":"Maximum number of members of a clan", + "Keywords":"clan,size,limit", + "FieldName":"iMaxClanMembers", + "InputType":"number", + "MinValue":"8", + "MaxValue":"1024", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxClanMembers", + "IncludeInCommandLine":false, + "DefaultValue":"1024", + "Suffix":"members", + "EnumValues":{} + }, + { + "DisplayName":"Clan Number Limit", + "Category":"Server Settings", + "Description":"Maximum number of clans that can be created. Set to 0 to disable clan creation", + "Keywords":"clan,number,limit", + "FieldName":"iMaxClans", + "InputType":"number", + "MinValue":"0", + "MaxValue":"255", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxClans", + "IncludeInCommandLine":false, + "DefaultValue":"255", + "Suffix":"clans", + "EnumValues":{} + }, + { + "DisplayName":"Disable PvP", + "Category":"Server Settings", + "Description":"If enabled, server will be a PvE server and player on player fighting will be disabled", + "Keywords":"disable,pvp,pve", + "FieldName":"bDisablePVP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bDisablePVP", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Disable AI", + "Category":"Server Settings", + "Description":"If enabled, server will not spawn AI, allowing for a PvP only survival experience", + "Keywords":"disable,ai,pvp", + "FieldName":"bDisableAI", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bDisableAI", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Corpse Despawn Time", + "Category":"Server Settings", + "Description":"Sets how long corpses remain before despawning. Recommended to keep this low to free up resources", + "Keywords":"corpse,despawn,time", + "FieldName":"iCorpseDespawnTime", + "InputType":"number", + "MinValue":"60", + "MaxValue":"86400", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iCorpseDespawnTime", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Roleplay Features", + "Category":"Server Settings", + "Description":"If enabled, the server browser type will be appended with the RP tag and roleplay features will be enabled, if available", + "Keywords":"roleplay", + "FieldName":"bRoleplay", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bRoleplay", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Enable Group Damage", + "Category":"Server Settings", + "Description":"If enabled, group members will be allowed to damage each other when grouped", + "Keywords":"group,damage", + "FieldName":"bEnableGroupDamage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bEnableGroupDamage", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Show Admin Tags", + "Category":"Server Settings", + "Description":"If enabled, admin tags will always show to all players on the server. Recommended for servers that want people to easily identify the admins", + "Keywords":"admin,tags", + "FieldName":"bAlwaysShowAdminTags", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bAlwaysShowAdminTags", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Show Player Tags", + "Category":"Server Settings", + "Description":"If enabled, player nametags will always show regardless if grouped or clanned. By default, nametags only show up on grouped or clanned players", + "Keywords":"player,tags,names", + "FieldName":"bAlwaysShowPlayerTags", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bAlwaysShowPlayerTags", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Show Clan Tags", + "Category":"Server Settings", + "Description":"If enabled, clan tags will show in the chat box", + "Keywords":"clan,tags", + "FieldName":"bChatShowClanTags", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bChatShowClanTags", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Flag Hatchling Killers", + "Category":"Server Settings", + "Description":"If enabled, adult or elder dragons that kill hatchlings will be flagged with red glowing eyes for 20 minutes. Safelog will be unavailable to them while flagged", + "Keywords":"flag,hatchling,killers", + "FieldName":"bFlagHatchlingKillers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bFlagHatchlingKillers", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Disable Desync/Hack Checks", + "Category":"Server Settings", + "Description":"If enabled, the server will not check for client desyncs or hacks. May be useful for personal servers, private servers experiencing frequent disconnects, or servers that allow cheating", + "Keywords":"disable,dd,desyncs,hacks,checks", + "FieldName":"bDisableDD", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bDisableDD", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Autosave Interval", + "Category":"Server Settings", + "Description":"Sets the time interval between each automatic save", + "Keywords":"save,interval", + "FieldName":"iAutoSaveSeconds", + "InputType":"number", + "MinValue":"60", + "MaxValue":"3600", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iAutoSaveSeconds", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Latency", + "Category":"Server Settings", + "Description":"Sets the maximum allowed latency on the server. Players who exceed this will be auto-kicked. Requires Desync/Hack Checks to be disabled", + "Keywords":"max,latency,ping", + "FieldName":"iMaxLatencyMS", + "InputType":"number", + "MinValue":"100", + "MaxValue":"800", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxLatencyMS", + "IncludeInCommandLine":false, + "DefaultValue":"800", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Use Latency Hard Cap", + "Category":"Server Settings", + "Description":"If enabled, server will kick players who exceed the Maximum Latency. Otherwise, the server will use a soft cap and kick players only if the Maximum Latency is exceeded due to a lag spike. Requires Desync/Hack Checks to be disabled", + "Keywords":"latency,hard,cap", + "FieldName":"bUseLatencyHardCap", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bUseLatencyHardCap", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "True":"True", + "False":"False" + } + }, + { + "DisplayName":"Discord Server", + "Category":"Server Settings", + "Description":"Sets the link to a Discord server. Include the full URL", + "Keywords":"discord", + "FieldName":"sServerDiscord", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.sServerDiscord", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"https://discord.gg/mW2p4kr", + "EnumValues":{} + } +] diff --git a/day-of-dragonsgame.ini b/day-of-dragonsgame.ini new file mode 100644 index 000000000..7939052ad --- /dev/null +++ b/day-of-dragonsgame.ini @@ -0,0 +1,21 @@ +[/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C] +iMaxPlayers=100 +iCorpseDespawnTime=300 +iAutoSaveSeconds=300 +iMaxClanMembers=1024 +iMaxClans=255 +iMaxLatencyMS=800 +bDisablePVP=False +bRoleplay=False +bEnableGroupDamage=False +bAlwaysShowAdminTags=False +bAlwaysShowPlayerTags=False +bChatShowClanTags=False +bUseFriendsList=False +bFlagHatchlingKillers=False +bDisableDD=True +bDisableAI=False +bUseLatencyHardCap=False +sServerMOTD=Welcome to this Day of Dragons server - powered by AMP! +sServerDiscord= +sServerPassword= \ No newline at end of file diff --git a/day-of-dragonsmetaconfig.json b/day-of-dragonsmetaconfig.json new file mode 100644 index 000000000..e99546e4b --- /dev/null +++ b/day-of-dragonsmetaconfig.json @@ -0,0 +1,14 @@ +[ + { + "ConfigFile":"Dragons/Saved/Config/WindowsServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?.+?)=(?.*?)$" + }, + { + "ConfigFile":"Dragons/Saved/Config/LinuxServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?.+?)=(?.*?)$" + } +] From f8e8888c83bba33fee41e5cf2dd952d22aef9099 Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Tue, 4 Oct 2022 23:30:11 +0100 Subject: [PATCH 063/318] Update manifest.json --- manifest.json | 1 + 1 file changed, 1 insertion(+) diff --git a/manifest.json b/manifest.json index 90ae70ebc..092da193a 100644 --- a/manifest.json +++ b/manifest.json @@ -5,4 +5,5 @@ "url": "https://github.com/CubeCoders/AMPTemplates", "imagefile": "", "prefix": "", + "repotype": "AppTemplates" } From 544d6b28a4f6553b9a2bb6cb0a861f2922e92b10 Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Wed, 5 Oct 2022 13:55:01 +0100 Subject: [PATCH 064/318] Update InsurgencySS_Game.ini Add comment prompting users not to edit manually. --- InsurgencySS_Game.ini | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/InsurgencySS_Game.ini b/InsurgencySS_Game.ini index 75e7782bc..3fa5cdcde 100644 --- a/InsurgencySS_Game.ini +++ b/InsurgencySS_Game.ini @@ -1,3 +1,5 @@ +;Do not edit this file manually, your changes will be overwritten. Edit this via Configuration -> Server Config in AMP's interface. + [/Script/Insurgency.INSGameMode] bKillFeed={{bKillFeed}} bKillFeedSpectator={{bKillFeedSpectator}} @@ -51,4 +53,4 @@ bSupplyGainEnabled={{bSupplyGainEnabled}} bAwardSupplyInstantly={{bAwardSupplyInstantly}} SupplyGainFrequency={{SupplyGainFrequency}} GameStartingIntermissionTime={{GameStartingIntermissionTime}} -bAllowThirdPersonSpectate={{bAllowThirdPersonSpectate}} \ No newline at end of file +bAllowThirdPersonSpectate={{bAllowThirdPersonSpectate}} From 1d6054880a7a6d7e62a226ba2a0cdb22f87807a9 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 9 Oct 2022 06:08:35 +1100 Subject: [PATCH 065/318] Updates for new ports and regex (#209) --- project-zomboid.kvp | 51 ++++++++++--- project-zomboidconfig.json | 148 +++++++++++++++++-------------------- 2 files changed, 106 insertions(+), 93 deletions(-) diff --git a/project-zomboid.kvp b/project-zomboid.kvp index 80d8c3206..32613a757 100644 --- a/project-zomboid.kvp +++ b/project-zomboid.kvp @@ -1,16 +1,23 @@ Meta.DisplayName=Project Zomboid Meta.Description=Project Zomboid Dedicated Server Meta.OS=Windows, Linux +Meta.Arch=x86_64 Meta.Author=Greelan, IceOfWraith, Dhraz Meta.URL=https://projectzomboid.com Meta.DisplayImageSource=steam:108600 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort1} Meta.ConfigManifest=project-zomboidconfig.json Meta.MetaConfigManifest=project-zomboidmetaconfig.json Meta.ConfigRoot=project-zomboid.kvp Meta.MinAMPVersion=2.3.2.0 Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False App.DisplayName=Project Zomboid App.RootDir=./project-zomboid/ App.BaseDirectory=./project-zomboid/380870/ @@ -19,7 +26,8 @@ App.ExecutableLinux=380870/ProjectZomboid64 App.WorkingDir=380870 App.LinuxCommandLineArgs=-Dfile.encoding=UTF-8 -Dzomboid.steam={{SteamInt}} -Duser.home=./ -Xmx{{MaxMemory}}m {{CustomJavaArgs}} -- App.WindowsCommandLineArgs=-Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dzomboid.znetlog=1 -Dzomboid.steam={{SteamInt}} -Duser.home=./ -Xmx{{MaxMemory}}m {{JavaGCAlgo}} -XX:-CreateCoredumpOnCrash -XX:-OmitStackTraceInFastThrow -Djava.library.path=natives/;natives/win64/;. {{CustomJavaArgs}} -cp java/*;java/ zombie.network.GameServer -statistic 0 -- -App.CommandLineArgs={{$PlatformArgs}} -port {{$ApplicationPort1}} -steamport1 {{$ApplicationPort2}} -steamport2 {{$ApplicationPort3}} {{CustomServerArgs}} {{$FormattedArgs}} +App.CommandLineArgs={{$PlatformArgs}} -port {{$ApplicationPort1}} -udpport {{$ApplicationPort2}} {{CustomServerArgs}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"PATH":"./jre64/bin:%PATH%","LD_LIBRARY_PATH":"./linux64:./natives:./:./jre64/lib/amd64:%LD_LIBRARY_PATH%","LD_PRELOAD":"./jre64/lib/libjsig.so","PZ_CLASSPATH":"java/*;java/","SteamAppId":"108600"} App.CommandLineParameterFormat=-{0} {1} @@ -32,30 +40,49 @@ App.HasWriteableConsole=True App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding= -App.ApplicationPort1=16261 -App.ApplicationPort2=8766 -App.ApplicationPort3=8767 -App.RemoteAdminPort=27015 +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":"UDP","Port":16261,"Ref":"ApplicationPort1","Name":"Steam Port","Description":"Port for Steam client connections"},{"Protocol":"UDP","Port":16262,"Ref":"ApplicationPort2","Name":"Direct Port","Description":"Port for direct client connections"},{"Protocol":"TCP","Port":27015,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort1 App.MaxUsers=32 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"380870","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"380870","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Mods Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./project-zomboid/380870/Zomboid/mods","OverwriteExistingFiles":false}] +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":"380870","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"380870","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Mods Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Zomboid/mods","OverwriteExistingFiles":false}] 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=^(WARNING|ERROR): Shader.+$ Console.AppReadyRegex=^LOG\s+: Network\s+, \d+>.*> \*+ SERVER STARTED \*+$ -Console.UserJoinRegex=^LOG\s+: Network\s+, \d+>.*> Connected new client (?.+?) ID # (?.+?) and assigned DL port (?.+?)$ -Console.UserLeaveRegex=^LOG\s+: (Network|General)\s+, \d+>.*> (Disconnected player "(?.+?)" |\d+ znet: Disconnecting client #(?.+?) SteamID=)\d+$ -Console.UserChatRegex= -Console.UpdateAvailableRegex= +Console.UserJoinRegex=^LOG\s+: Network\s+, \d+>(?:.+?)> \[(?:.+?)\] > ConnectionManager: \[fully-connected\] (?:.+?) steam-id=(?.+?) (?:.+?) username="(?.+?)" (?:.+?)$ +Console.UserLeaveRegex=^LOG\s+: Network\s+, \d+>.*> Disconnected player "(?.+?)" (?.+?)$ +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/project-zomboidconfig.json b/project-zomboidconfig.json index 1d8e9db59..dbf9f93b1 100755 --- a/project-zomboidconfig.json +++ b/project-zomboidconfig.json @@ -1,7 +1,7 @@ [ { - "DisplayName":"Game Port", - "Category":"Server Settings", + "DisplayName":"Steam Port", + "Category":"PZ Server Settings", "Description":"", "Keywords":"", "FieldName":"$ApplicationPort1", @@ -14,36 +14,22 @@ "EnumValues":{} }, { - "DisplayName":"Steam Port 1", - "Category":"Server Settings", + "DisplayName":"Direct Port", + "Category":"PZ Server Settings", "Description":"", "Keywords":"", "FieldName":"$ApplicationPort2", "InputType":"number", "IsFlagArgument":false, "Hidden":true, - "ParamFieldName":"SteamPort1", + "ParamFieldName":"UDPPort", "IncludeInCommandLine":false, - "DefaultValue":"8766", - "EnumValues":{} - }, - { - "DisplayName":"Steam Port 2", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort3", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"SteamPort2", - "IncludeInCommandLine":false, - "DefaultValue":"8767", + "DefaultValue":"16262", "EnumValues":{} }, { "DisplayName":"RCON Port", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"", "Keywords":"", "FieldName":"$RemoteAdminPort", @@ -57,7 +43,7 @@ }, { "DisplayName":"Server Public Name", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Server name as shown in the in-game and/or Steam browsers", "Keywords":"public,name", "FieldName":"PublicName", @@ -70,7 +56,7 @@ }, { "DisplayName":"Make Server Public", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"If enabled, the server will be visible in the in-game browser (Steam-enabled servers are always visible in the Steam server browser)", "Keywords":"public,steam", "FieldName":"Public", @@ -86,7 +72,7 @@ }, { "DisplayName":"Server Public Description", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Description displayed in the in-game browser. Use \"\\n\" to create a new line in the description", "Keywords":"public,description", "FieldName":"PublicDescription", @@ -99,7 +85,7 @@ }, { "DisplayName":"Server Password", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Password to connect to the server. Default is no password", "Keywords":"password", "FieldName":"Password", @@ -112,7 +98,7 @@ }, { "DisplayName":"Admin Password", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"In-game \"admin\" user password (not the server password). Set before first running the server, or you will be prompted to do so in the console", "Keywords":"admin,password", "FieldName":"adminpassword", @@ -126,7 +112,7 @@ }, { "DisplayName":"RCON Password", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Password to connect to RCON. NOTE: You should change this after first installing the server", "Keywords":"rcon,password", "FieldName":"RCONPassword", @@ -139,7 +125,7 @@ }, { "DisplayName":"Welcome Message", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Welcome message when players join the server", "Keywords":"welcome,message,motd", "FieldName":"ServerWelcomeMessage", @@ -152,7 +138,7 @@ }, { "DisplayName":"Player Limit", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Maximum number of players that may be on the server at one time (excluding admins). Player counts above 32 may affect performance", "Keywords":"maximum,players", "FieldName":"$MaxUsers", @@ -166,7 +152,7 @@ }, { "DisplayName":"Enable Open Server", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"If enabled, players may join the server without already being included in the whitelist", "Keywords":"whitelist,open", "FieldName":"Open", @@ -182,7 +168,7 @@ }, { "DisplayName":"Automatically Whitelist Players", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Automatically add players to the whitelist (for open servers)", "Keywords":"whitelist,add,automatic", "FieldName":"AutoCreateUserInWhiteList", @@ -198,7 +184,7 @@ }, { "DisplayName":"Memory Limit", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Java's maximum heap size", "Keywords":"maximum,memory,limit", "FieldName":"MaxMemory", @@ -212,7 +198,7 @@ }, { "DisplayName":"Java Garbage Collection Algorithm (Windows)", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Default Java garbage collection algorithm is ZGC, but G1GC can be selected for older Windows versions that cannot use ZGC", "Keywords":"garbage,collection,algorithm", "FieldName":"JavaGCAlgo", @@ -228,7 +214,7 @@ }, { "DisplayName":"Enable Valve Anti-cheat (Steam VAC)", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"", "Keywords":"VAC,cheat", "FieldName":"SteamVAC", @@ -244,7 +230,7 @@ }, { "DisplayName":"Steam Integration", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Enable Steam integration", "Keywords":"steam,integration", "FieldName":"SteamInt", @@ -260,7 +246,7 @@ }, { "DisplayName":"Maps", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Semi-colon separated list of maps to load on the server. \"Muldraugh, KY\" should be last in the list", "Keywords":"map", "FieldName":"Map", @@ -274,7 +260,7 @@ }, { "DisplayName":"Mods", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Semi-colon separated list of mod IDs to install on the server. The workshop IDs for the mods also need to be added to Workshop Items", "Keywords":"mods", "FieldName":"Mods", @@ -288,7 +274,7 @@ }, { "DisplayName":"Workshop Items", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Semi-colon separated list of IDs of workshop items to install on the server. Mod IDs also need to be added to Mods. NOTE: Don't use \"Steam workshop items\" under SteamCMD and Updates", "Keywords":"workshop,items", "FieldName":"WorkshopItems", @@ -302,7 +288,7 @@ }, { "DisplayName":"Display Player Usernames", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"If enabled, display players' usernames above their heads in-game", "Keywords":"display,name", "FieldName":"DisplayUserName", @@ -318,7 +304,7 @@ }, { "DisplayName":"Display Player Character Names", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"If enabled, display players' first and last names above their heads in-game instead of usernames", "Keywords":"display,character,name", "FieldName":"ShowFirstAndLastName", @@ -334,7 +320,7 @@ }, { "DisplayName":"Steam Scoreboard", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Sets whether steam usernames and avatars are shown in the player list", "Keywords":"steam,scoreboard", "FieldName":"SteamScoreboard", @@ -351,7 +337,7 @@ }, { "DisplayName":"Pause When Empty", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"If enabled, game time stops when there are no players online", "Keywords":"pause,empty", "FieldName":"PauseEmpty", @@ -367,7 +353,7 @@ }, { "DisplayName":"Auto World Save Interval", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Time between each automatic save of loaded parts of the map (0 = never)", "Keywords":"save,interval", "FieldName":"SaveWorldEveryMinutes", @@ -381,7 +367,7 @@ }, { "DisplayName":"Enable UPnP", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"If enabled, the server will attempt to configure automatic port forwarding on a compatible router", "Keywords":"upnp", "FieldName":"UPnP", @@ -397,7 +383,7 @@ }, { "DisplayName":"Additional Java Startup Parameters", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Additional Java arguments (not server arguments) as startup parameters that are not otherwise set by AMP. Use with care", "Keywords":"custom,java,arguments,parameters", "FieldName":"CustomJavaArgs", @@ -411,7 +397,7 @@ }, { "DisplayName":"Server Local Name", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Server name as stored locally. WARNING: Do not change unless you know what you are doing! Also update the server if this is changed", "Keywords":"server,name", "FieldName":"servername", @@ -424,7 +410,7 @@ }, { "DisplayName":"Additional Server Startup Parameters", - "Category":"Server Settings", + "Category":"PZ Server Settings", "Description":"Additional server arguments (not Java arguments) as startup parameters that are not otherwise set by AMP. Use with care", "Keywords":"custom,server,arguments,parameters", "FieldName":"CustomServerArgs", @@ -438,7 +424,7 @@ }, { "DisplayName":"Set Spawn Point", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Sets the spawn point for every new player. Default is 0,0,0. [Find desired coordinates](https://map.projectzomboid.com/)", "Keywords":"spawnpoint,map", "FieldName":"SpawnPoint", @@ -451,7 +437,7 @@ }, { "DisplayName":"Spawn Items", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Comma separated list of item types that new players spawn with", "Keywords":"spawn,items", "FieldName":"SpawnItems", @@ -465,7 +451,7 @@ }, { "DisplayName":"Allow PvP", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, players can hurt and kill other players", "Keywords":"pvp", "FieldName":"PVP", @@ -481,7 +467,7 @@ }, { "DisplayName":"Enable PvP Toggle (Safety System)", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, allows players to enter and leave PvP mode on an individual basis. Requires \"Allow PvP\" to be enabled", "Keywords":"safetysystem,pvp", "FieldName":"SafetySystem", @@ -497,7 +483,7 @@ }, { "DisplayName":"Show Player PvP Status", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, displays a skull icon above the heads of players in PvP mode", "Keywords":"pvp,status,safety", "FieldName":"ShowSafety", @@ -513,7 +499,7 @@ }, { "DisplayName":"PvP Toggle Timer", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Time taken for a player to enter and leave PvP mode", "Keywords":"safetysystem,pvp,timer", "FieldName":"SafetyToggleTimer", @@ -527,7 +513,7 @@ }, { "DisplayName":"PvP Cooldown Timer", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Delay before a player can enter or leave PvP mode again", "Keywords":"safetysystem,pvp,timer,cooldown", "FieldName":"SafetyCooldownTimer", @@ -541,7 +527,7 @@ }, { "DisplayName":"Enable Factions", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, factions can be created and used", "Keywords":"factions", "FieldName":"Faction", @@ -557,7 +543,7 @@ }, { "DisplayName":"Game Days For Factions", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Number of in-game days that a player must survive for before they can create a faction", "Keywords":"factions", "FieldName":"FactionDaySurvivedToCreate", @@ -571,7 +557,7 @@ }, { "DisplayName":"Enable Global Chat", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, players can communicate with everyone (using the /all command in chat)", "Keywords":"chat,global", "FieldName":"GlobalChat", @@ -587,7 +573,7 @@ }, { "DisplayName":"Nighttime Length", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Sets how long nighttime lasts depending on daytime: 0.5 means twice as long, 2 means half the normal time", "Keywords":"nighttime,night", "FieldName":"nightlengthmodifier", @@ -600,7 +586,7 @@ }, { "DisplayName":"Don't Allow Fire", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, fires are not allowed (except campfires). Enable if fires cause problems for your server", "Keywords":"fire", "FieldName":"NoFire", @@ -616,7 +602,7 @@ }, { "DisplayName":"Announce Player Death", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, a global message is displayed in the chat when a player dies", "Keywords":"announce,death", "FieldName":"AnnounceDeath", @@ -632,7 +618,7 @@ }, { "DisplayName":"Minutes Per Book Page", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Sets the number of in-game minutes it takes to read one page of a book", "Keywords":"minutes,book,page", "FieldName":"MinutesPerPage", @@ -646,7 +632,7 @@ }, { "DisplayName":"Minimum Period for Loot Respawn", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Sets the in-game hours after which all containers that have been looted once will respawn loot (0 = never)", "Keywords":"loot,respawn", "FieldName":"HoursForLootRespawn", @@ -660,7 +646,7 @@ }, { "DisplayName":"Maximum Items for Loot Respawn", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Sets the maximum number of items that containers can hold to be allowed to respawn. If the number of items is less than or equal to the number set, loot will respawn", "Keywords":"loot,respawn,maximum", "FieldName":"MaxItemsForLootRespawn", @@ -674,7 +660,7 @@ }, { "DisplayName":"Construction Prevents Respawn", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, items will not respawn in buildings that players have barricaded or built in", "Keywords":"loot,respawn,construction", "FieldName":"ConstructionPreventsLootRespawn", @@ -690,7 +676,7 @@ }, { "DisplayName":"Allow Player Safehouses", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, both admins and players can claim safehouses", "Keywords":"safehouse", "FieldName":"PlayerSafehouse", @@ -706,7 +692,7 @@ }, { "DisplayName":"Allow Admin Safehouses", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, only admins can claim safehouses", "Keywords":"safehouse", "FieldName":"AdminSafehouse", @@ -722,7 +708,7 @@ }, { "DisplayName":"Allow Safehouse Trespass", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, non-members can enter a safehouse without being invited", "Keywords":"safehouse,trespass", "FieldName":"SafehouseAllowTrepass", @@ -738,7 +724,7 @@ }, { "DisplayName":"Allow Safehouse Trespass", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"[Backup setting given typo in config key, to future proof for correction]", "Keywords":"", "FieldName":"SafehouseAllowTrepass", @@ -751,7 +737,7 @@ }, { "DisplayName":"Allow Safehouse Fire", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, safehouses can be damaged by fire", "Keywords":"safehouse,fire", "FieldName":"SafehouseAllowFire", @@ -767,7 +753,7 @@ }, { "DisplayName":"Allow Safehouse Loot", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, non-members can loot safehouses", "Keywords":"safehouse,loot", "FieldName":"SafehouseAllowLoot", @@ -783,7 +769,7 @@ }, { "DisplayName":"Allow Safehouse Respawn", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, players will respawn in a safehouse they were a member of before death", "Keywords":"safehouse,respawn", "FieldName":"SafehouseAllowRespawn", @@ -799,7 +785,7 @@ }, { "DisplayName":"Game Days For Safehouse", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Number of in-game days that a player must survive for before they can claim a safehouse", "Keywords":"safehouse,days", "FieldName":"SafehouseDaySurvivedToClaim", @@ -813,7 +799,7 @@ }, { "DisplayName":"Safehouse Removal Period", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"Players are automatically removed from a safehouse they have not visited for this many real-time hours", "Keywords":"safehouse,house,removal", "FieldName":"SafeHouseRemovalTime", @@ -827,7 +813,7 @@ }, { "DisplayName":"Allow Sledgehammer Destruction", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, players can destroy world objects with sledgehammers", "Keywords":"sledgehammer,destruction", "FieldName":"AllowDestructionBySledgehammer", @@ -843,7 +829,7 @@ }, { "DisplayName":"Allow Only Safehouse Sledgehammers", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, players can destroy world objects with sledgehammers only in their safehouse. Requires \"Allow Sledgehammer Destruction\" to be enabled", "Keywords":"sledgehammer,destruction", "FieldName":"SledgehammerOnlyInSafehouse", @@ -859,7 +845,7 @@ }, { "DisplayName":"Allow Sleep", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, players are allowed to sleep when tired, but do not need to", "Keywords":"sleep", "FieldName":"SleepAllowed", @@ -875,7 +861,7 @@ }, { "DisplayName":"Require Sleep", - "Category":"Gameplay Settings", + "Category":"PZ Gameplay Settings", "Description":"If enabled, players become tired and need to sleep. Requires \"Allow Sleep\" to be enabled", "Keywords":"sleep", "FieldName":"SleepNeeded", @@ -891,7 +877,7 @@ }, { "DisplayName":"Enable Discord Integration", - "Category":"Discord Settings", + "Category":"PZ Discord Settings", "Description":"If enabled, allows global text chat integration with a Discord channel. Requires a valid bot token to be set under \"Discord Token\"", "Keywords":"discord", "FieldName":"DiscordEnable", @@ -907,7 +893,7 @@ }, { "DisplayName":"Discord Token", - "Category":"Discord Settings", + "Category":"PZ Discord Settings", "Description":"Bot token to access the Discord servers", "Keywords":"discord,token", "FieldName":"DiscordToken", @@ -920,7 +906,7 @@ }, { "DisplayName":"Discord Channel", - "Category":"Discord Settings", + "Category":"PZ Discord Settings", "Description":"Name of the Discord channel to integrate with. Use \"Discord ID\" if this does not work", "Keywords":"discord,channel", "FieldName":"DiscordChannel", @@ -933,7 +919,7 @@ }, { "DisplayName":"Discord Channel ID", - "Category":"Discord Settings", + "Category":"PZ Discord Settings", "Description":"ID of the Discord channel to integrate with. Use this if \"Discord Channel\" does not work", "Keywords":"discord,channel,id", "FieldName":"DiscordChannelID", From 6c8c2be6cf8fd58badd1307fdc4448d0add249dc Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 10 Nov 2022 06:26:04 +1100 Subject: [PATCH 066/318] Geyser: jar download and java version updates (#227) --- geyserconfig.json | 4 ++-- geyserupdates.json | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/geyserconfig.json b/geyserconfig.json index c18a39002..2fa5f16cf 100644 --- a/geyserconfig.json +++ b/geyserconfig.json @@ -2,7 +2,7 @@ { "DisplayName":"Java Version", "Category":"Java Settings", - "Description":"Sets the Java version to install. Must be a major version number only such as 18 or 19, not a subversion. Check the [Geyser wiki](https://wiki.geysermc.org/geyser/setup/) for versions compatible with Geyser, and the [Oracle website](https://www.oracle.com/java/technologies/downloads/) for available downloads. Server must be updated after changing this setting", + "Description":"Sets the Java version to install. Must be a major version number only such as 17 or 19, not a subversion. Check the [Geyser wiki](https://wiki.geysermc.org/geyser/setup/) for versions compatible with Geyser, and the [Oracle website](https://www.oracle.com/java/technologies/downloads/) for available downloads. Server must be updated after changing this setting", "Keywords":"java,version", "FieldName":"JavaVersion", "InputType":"number", @@ -10,7 +10,7 @@ "IsFlagArgument":false, "ParamFieldName":"JavaVersion", "IncludeInCommandLine":false, - "DefaultValue":"18", + "DefaultValue":"19", "EnumValues":{} }, { diff --git a/geyserupdates.json b/geyserupdates.json index 22e4042b2..20cd93605 100644 --- a/geyserupdates.json +++ b/geyserupdates.json @@ -3,7 +3,8 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"All", "UpdateSource":"FetchURL", - "UpdateSourceData":"https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/standalone/target/Geyser.jar", + "UpdateSourceData":"https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastStableBuild/artifact/bootstrap/standalone/build/libs/Geyser-Standalone.jar", + "UpdateSourceArgs":"Geyser.jar", "UpdateSourceTarget":"{{$FullRootDir}}", "OverwriteExistingFiles":true }, From 6173459bf14ce4f53aa12f9840b0806fae7900c1 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 10 Nov 2022 06:29:17 +1100 Subject: [PATCH 067/318] Add Impostor (#226) --- impostor.kvp | 88 +++++++++++++++++++++++++ impostorconfig.json | 142 ++++++++++++++++++++++++++++++++++++++++ impostormetaconfig.json | 7 ++ impostorupdates.json | 101 ++++++++++++++++++++++++++++ 4 files changed, 338 insertions(+) create mode 100644 impostor.kvp create mode 100644 impostorconfig.json create mode 100644 impostormetaconfig.json create mode 100644 impostorupdates.json diff --git a/impostor.kvp b/impostor.kvp new file mode 100644 index 000000000..b1c2b3552 --- /dev/null +++ b/impostor.kvp @@ -0,0 +1,88 @@ +Meta.DisplayName=Impostor - Among Us Server +Meta.Description=Impostor Dedicated Server - an open source private server implementation for Among Us +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://github.com/Impostor/Impostor +Meta.DisplayImageSource=steam:945360 +Meta.EndpointURIFormat= +Meta.ConfigManifest=impostorconfig.json +Meta.MetaConfigManifest=impostormetaconfig.json +Meta.ConfigRoot=impostor.kvp +Meta.MinAMPVersion=2.4.0.10 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Impostor +App.RootDir=./impostor/ +App.BaseDirectory=./impostor/ +App.ExecutableWin=Impostor.Server.exe +App.ExecutableLinux=Impostor.Server +App.WorkingDir= +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"DOTNET_ROOT":"{{$FullBaseDir}}dotnet"} +App.CommandLineParameterFormat=-{0} {1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +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":22023,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=100 +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=login {0} +App.UpdateSources=@IncludeJson[impostorupdates.json] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +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=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^\[\d+:\d+:\d+ INF\] Application started\. Press Ctrl\+C to shut down\.$ +Console.UserJoinRegex=^\[\d+:\d+:\d+ INF\] (?:.+?) - Player (?.+?) \((?.+?)\) is joining\.$ +Console.UserLeaveRegex=^\[\d+:\d+:\d+ INF\] (?:.+?) - Player (?.+?) \((?.+?)\) has left\.$ +Console.UserChatRegex=^$ +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 diff --git a/impostorconfig.json b/impostorconfig.json new file mode 100644 index 000000000..b76dac176 --- /dev/null +++ b/impostorconfig.json @@ -0,0 +1,142 @@ +[ + { + "DisplayName":"Public IP", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ExternalIP", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.Server.PublicIp", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Public Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.Server.PublicPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"IP Binding", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationIPBinding", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.Server.ListenIp", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Listen Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.Server.ListenPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Build Stream", + "Category":"Server Settings", + "Description":"Sets the build stream for the server - either the mainline release stream, or the nightly (CI) stream. Back up configuration and update the server!", + "Keywords":"build,stream", + "FieldName":"BuildStream", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"BuildStream", + "IncludeInCommandLine":false, + "DefaultValue":"Release", + "EnumValues":{ + "Release":"Mainline (Default)", + "Nightly":"Nightly" + } + }, + { + "DisplayName":"Server Version", + "Category":"Server Settings", + "Description":"Sets the server version (either a [release](https://github.com/Impostor/Impostor/releases) version or a [nightly](https://nightly.link/Impostor/Impostor/workflows/ci/master) version) to install. For nightly, you must include the build number, such as \"1.7.3-ci.513\". Back up configuration and update the server!", + "Keywords":"server,version", + "FieldName":"ServerVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerVersion", + "IncludeInCommandLine":false, + "DefaultValue":"1.7.2", + "Placeholder":"1.7.2 | 1.7.3-ci.513", + "EnumValues":{} + }, + { + "DisplayName":"Dotnet Version", + "Category":"Server Settings", + "Description":"Sets the [ASP.NET Core 6.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) to install. Back up configuration and update the server!", + "Keywords":"dotnet,version", + "FieldName":"DotnetVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"DotnetVersion", + "IncludeInCommandLine":false, + "DefaultValue":"6.0.10", + "Placeholder":"6.0.10", + "EnumValues":{} + }, + { + "DisplayName":"Client Configuration", + "Category":"Server Settings", + "Description":"For a player to connect to the server, they must [configure their Among Us client](https://impostor.github.io/Impostor/)", + "Keywords":"client,configuration", + "FieldName":"", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable Anticheat", + "Category":"Server Settings", + "Description":"If set, anticheat will be enabled", + "Keywords":"anti,cheat", + "FieldName":"AntiCheat_Enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.AntiCheat.Enabled", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Ban IP", + "Category":"Server Settings", + "Description":"If enabled, anticheat will ban a hacking player from the server rather than just kicking them. The banned player will not be able to rejoin that game", + "Keywords":"anti,cheat,ban", + "FieldName":"AntiCheat_BanIpFromGame", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.AntiCheat.BanIpFromGame", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + } +] \ No newline at end of file diff --git a/impostormetaconfig.json b/impostormetaconfig.json new file mode 100644 index 000000000..dd38b8f7f --- /dev/null +++ b/impostormetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"config.json", + "AutoMap":true, + "ConfigType":"json" + } +] \ No newline at end of file diff --git a/impostorupdates.json b/impostorupdates.json new file mode 100644 index 000000000..11fc2e67a --- /dev/null +++ b/impostorupdates.json @@ -0,0 +1,101 @@ +[ + { + "UpdateStageName":"Create Dotnet Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}dotnet" + }, + { + "UpdateStageName":"Create Libraries Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}libraries" + }, + { + "UpdateStageName":"Create Plugins Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}plugins" + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Impostor Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/Impostor/Impostor/releases/download/v{{ServerVersion}}/Impostor-Server_{{ServerVersion}}_win-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"BuildStream", + "UpdateSourceConditionValue":"Release" + }, + { + "UpdateStageName":"Impostor Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/Impostor/Impostor/releases/download/v{{ServerVersion}}/Impostor-Server_{{ServerVersion}}_linux-x64.tar.gz", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"BuildStream", + "UpdateSourceConditionValue":"Release" + }, + { + "UpdateStageName":"Impostor Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://nightly.link/Impostor/Impostor/workflows/ci/master/Impostor-Server_{{ServerVersion}}_win-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"BuildStream", + "UpdateSourceConditionValue":"Nightly" + }, + { + "UpdateStageName":"Impostor Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://nightly.link/Impostor/Impostor/workflows/ci/master/Impostor-Server_{{ServerVersion}}_linux-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"BuildStream", + "UpdateSourceConditionValue":"Nightly" + }, + { + "UpdateStageName":"Pause Update Stages", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Pause", + "UpdateSourceArgs":"2" + }, + { + "UpdateStageName":"Set Executable Flag", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"SetExecutableFlag", + "UpdateSourceArgs":"{{$FullBaseDir}}Impostor.Server" + } +] \ No newline at end of file From fc2d3c930d0b1f3d98a25d045776fa1cc94661b6 Mon Sep 17 00:00:00 2001 From: Geramie Kuba Date: Wed, 9 Nov 2022 14:15:05 -0700 Subject: [PATCH 068/318] Added Seven Days to Die Undead Legacy Template (#224) * Added Seven Days to Die Undead Legacy Template * Updated default Seven Days to Die templates * Removed Undead Legacy config references * Added name to authors * Removed Undead Legacy specific files * Made requested changes. * Added an Info box to the Undead Legacy category * Fixed missing {{$FullBaseDir}} * Fixed UpdateSourceCondition for copy commands. * Fixed typo in Windows Undead Legacy Stable copy. * Made requested changes for merge. --- ...ys-settings-undead-legacy-experimental.xml | 208 ++++++++++++++++++ seven-days-settings-undead-legacy-stable.xml | 204 +++++++++++++++++ seven-days-to-die.kvp | 6 +- seven-days-to-dieconfig.json | 138 +++++++++++- seven-days-to-diemetaconfig.json | 10 + seven-days-to-dieupdates.json | 82 +++++++ 6 files changed, 637 insertions(+), 11 deletions(-) create mode 100644 seven-days-settings-undead-legacy-experimental.xml create mode 100644 seven-days-settings-undead-legacy-stable.xml diff --git a/seven-days-settings-undead-legacy-experimental.xml b/seven-days-settings-undead-legacy-experimental.xml new file mode 100644 index 000000000..ff6ddbd68 --- /dev/null +++ b/seven-days-settings-undead-legacy-experimental.xml @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/seven-days-settings-undead-legacy-stable.xml b/seven-days-settings-undead-legacy-stable.xml new file mode 100644 index 000000000..964ac0508 --- /dev/null +++ b/seven-days-settings-undead-legacy-stable.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/seven-days-to-die.kvp b/seven-days-to-die.kvp index f4a093747..ddbda6f49 100644 --- a/seven-days-to-die.kvp +++ b/seven-days-to-die.kvp @@ -2,7 +2,7 @@ Meta.DisplayName=Seven Days To Die Meta.Description=Seven Days to Die Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=IceOfWraith, Shinynecrid +Meta.Author=IceOfWraith, Shinynecrid, GKuba Meta.URL=https://steamdb.info/app/251570/ Meta.DisplayImageSource=steam:251570 Meta.EndpointURIFormat=steam://connect/{0} @@ -25,7 +25,7 @@ App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= App.CommandLineArgs=-quit -batchmode -nographics -configfile={{ConfigFile}}.xml {{$FormattedArgs}} -dedicated App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"251570"} +App.EnvironmentVariables={"DOORSTOP_ENABLE":"TRUE","DOORSTOP_INVOKE_DLL_PATH":"./BepInEx/core/BepInEx.Preloader.dll","DOORSTOP_CORLIB_OVERRIDE_PATH":"./BepInEx/core","LD_LIBRARY_PATH":"./doorstop_libs:{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","LD_PRELOAD":"libdoorstop_x64.so","SteamAppId":"251570"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -75,4 +75,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 +Limits.SleepStartThresholdSeconds=25 \ No newline at end of file diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index 187d60dd6..ddfe85c32 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -319,7 +319,7 @@ "IsFlagArgument":false, "ParamFieldName":"/ServerSettings/property[@name='EACEnabled']/@value", "IncludeInCommandLine":false, - "DefaultValue":"true", + "DefaultValue":"false", "EnumValues":{ "False": "false", "True": "true" @@ -719,7 +719,7 @@ "DefaultValue":"0", "EnumValues":{ "0": "Walk", - "1": "Job", + "1": "Jog", "2": "Run", "3": "Sprint", "4": "Nightmare" @@ -737,7 +737,7 @@ "DefaultValue":"3", "EnumValues":{ "0": "Walk", - "1": "Job", + "1": "Jog", "2": "Run", "3": "Sprint", "4": "Nightmare" @@ -755,7 +755,7 @@ "DefaultValue":"3", "EnumValues":{ "0": "Walk", - "1": "Job", + "1": "Jog", "2": "Run", "3": "Sprint", "4": "Nightmare" @@ -773,7 +773,7 @@ "DefaultValue":"3", "EnumValues":{ "0": "Walk", - "1": "Job", + "1": "Jog", "2": "Run", "3": "Sprint", "4": "Nightmare" @@ -1121,7 +1121,7 @@ },{ "DisplayName":"Config File Version", "Category":"SteamCMD and Updates", - "Description":"Select which config file to download. Must match the version of the Release Stream.", + "Description":"Select which config file to download. Must match the version of the Release Stream. Check required Undead Legacy Version [here](https://ul.subquake.com/download).", "Keywords":"config,file,version", "FieldName":"ConfigFile", "InputType":"enum", @@ -1133,7 +1133,9 @@ "seven-days-settings184": "18.4", "seven-days-settings196": "19.6", "seven-days-settings200-203": "20.0 to 20.3", - "seven-days-settings204": "20.4 or Higher" + "seven-days-settings204": "20.4 and Higher", + "seven-days-settings-undead-legacy-stable": "Undead Legacy Stable", + "seven-days-settings-undead-legacy-experimental": "Undead Legacy Experimental" } },{ "DisplayName":"Install UMOD", @@ -1150,5 +1152,125 @@ "False": "false", "True": "true" } + },{ + "DisplayName":"Please Read!", + "Category":"7d2d - Undead Legacy Settings", + "Description":"If you would like to install Undead Legacy you need to pick either the Stable or Experimental config under the \"SteamCMD and Updates\" section. This will then grab the appropriate Undead Legacy version when you click update.", + "Keywords":"Read,Please,Info", + "FieldName":"PleaseRead", + "InputType":"hidden" + },{ + "DisplayName":"Recipe Filter", + "Category":"7d2d - Undead Legacy Settings", + "Description":"Controls how recipes are displayed.", + "Keywords":"Recipe,Filter", + "FieldName":"RecipeFilter", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='RecipeFilter']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0": "Shows all recipes", + "1": "Shows unknown recipes, search limited by workstation", + "2": "Shows only known and workstation relevant recipes" + } + },{ + "DisplayName":"Starter Quest Enabled", + "Category":"7d2d - Undead Legacy Settings", + "Description":"Determines if you trigger the tutorial quest upon first spawning on the server.", + "Keywords":"Quest,Starter,Tutorial", + "FieldName":"StarterQuestEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"StarterQuestEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } + },{ + "DisplayName":"Wandering Horde Frequency", + "Category":"7d2d - Undead Legacy Settings", + "Description":"After how many in-game hours a wandering horde would occur. On top of this value 1 to 4 additional hours may be added depending on spawn conditions. Minimum Value: 1", + "Keywords":"Wandering,Horde,Frequency", + "FieldName":"WanderingHordeFrequency", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='WanderingHordeFrequency']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "EnumValues":{}, + "Suffix": "hours" + },{ + "DisplayName":"Wandering Horde Range", + "Category":"7d2d - Undead Legacy Settings", + "Description":"Additional random hours added to Wandering Horde Frequency to add randomness to hours between spawns. For example, Frequency: 5, Frequency RNG Range: 10, then wandering horde will spawn anywhere between 5 to 15 (5+10) in-game hours + additional hours if special conditions occur (No players alive, etc).", + "Keywords":"Wandering,Horde,Range", + "FieldName":"WanderingHordeRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='WanderingHordeRange']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "EnumValues":{}, + "Suffix": "hours" + },{ + "DisplayName":"Wandering Horde Count", + "Category":"7d2d - Undead Legacy Settings", + "Description":"Fixed zombie count, that will spawn in a Wandering horde. Minimum Value: 2. Zombies + Zombie RNG Range value must not exceed: 64", + "Keywords":"Wandering,Horde,Count", + "FieldName":"WanderingHordeEnemyCount", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='WanderingHordeEnemyCount']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "zombies" + },{ + "DisplayName":"Wandering Horde Range", + "Category":"7d2d - Undead Legacy Settings", + "Description":"This value determines up to how many additional zombies can spawn for Wandering Horde. For example, Zombies: 5, Zombies RNG Range: 10, then wandering horde will spawn anywhere between 5 to 15 5+10 zombies. Combined value must not exceed: 64", + "Keywords":"Wandering,Horde,Range", + "FieldName":"WanderingHordeEnemyRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='WanderingHordeEnemyRange']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "zombies" + },{ + "DisplayName":"Death Penalty - Experimental Only", + "Category":"7d2d - Undead Legacy Settings", + "Description":"Sets what will be the consequences to your progression when you die in the game: No penalty - you will not get XP debt as well as no debuff, that lowers your Attributes. Beginner - near Death Trauma debuff Vanilla like experience. Moderate - same as beginner, but also with loss of random Action skills. Standard - same as moderate, but also you will respawn with partial health, food and water.", + "Keywords":"Death,Penalty", + "FieldName":"DeathPenalty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='DeathPenalty']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "EnumValues":{ + "0": "No penalty", + "1": "Beginner", + "2": "Moderate", + "3": "Standard" + } + },{ + "DisplayName":"POI Tier Loot Scale - Experimental Only", + "Category": "7d2d - Undead Legacy Settings", + "Description":"Multiplier determining how important a POI Tier is when scaling Loot Stage. 0% - Disabled Default, 100% Vanilla Scaling. Acceptable values are integers from 0 to 100", + "Keywords":"POI,Tier,Loot,Scale", + "FieldName":"POITierLootScale", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='POITierLootScale']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" } -] +] \ No newline at end of file diff --git a/seven-days-to-diemetaconfig.json b/seven-days-to-diemetaconfig.json index 71d6610ce..b5eed713e 100644 --- a/seven-days-to-diemetaconfig.json +++ b/seven-days-to-diemetaconfig.json @@ -18,5 +18,15 @@ "ConfigFile": "seven-days-settings204.xml", "AutoMap": true, "ConfigType": "xml" + }, + { + "ConfigFile": "seven-days-settings-undead-legacy-stable.xml", + "AutoMap": true, + "ConfigType": "xml" + }, + { + "ConfigFile": "seven-days-settings-undead-legacy-experimental.xml", + "AutoMap": true, + "ConfigType": "xml" } ] \ No newline at end of file diff --git a/seven-days-to-dieupdates.json b/seven-days-to-dieupdates.json index 72a8acc9a..72864cec0 100644 --- a/seven-days-to-dieupdates.json +++ b/seven-days-to-dieupdates.json @@ -71,5 +71,87 @@ "UpdateSourceConditionSetting": "UMOD", "UpdateSourceConditionValue": "true", "DeleteAfterExtract": true + }, + { + "UpdateStageName": "Settings File Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings-undead-legacy-stable.xml", + "UpdateSourceTarget": "./294420", + "OverwriteExistingFiles": false, + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-stable" + }, + { + "UpdateStageName": "Settings File Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings-undead-legacy-experimental.xml", + "UpdateSourceTarget": "./294420", + "OverwriteExistingFiles": false, + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-experimental" + }, + { + "UpdateStageName": "Download Undead Legacy Stable", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://ul.subquake.com/dl?v=stable", + "UpdateSourceArgs":"UndeadLegacyStable.zip", + "UpdateSourceTarget": "{{$FullBaseDir}}", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-stable", + "DeleteAfterExtract": true + }, + { + "UpdateStageName": "Download Undead Legacy Experimental", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://ul.subquake.com/dl?v=exp", + "UpdateSourceArgs":"UndeadLegacyExperimental.zip", + "UpdateSourceTarget": "{{$FullBaseDir}}", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-experimental", + "DeleteAfterExtract": true + }, + { + "UpdateStageName": "Undead Legacy Stable Copy", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "Executable", + "UpdateSourceData": "cmd.exe", + "UpdateSourceArgs": "/C move seven-days-to-die\\294420\\UndeadLegacyStable* seven-days-to-die\\294420\\UndeadLegacyStable && xcopy /E /Y /I seven-days-to-die\\294420\\UndeadLegacyStable\\* seven-days-to-die\\294420\\ && rmdir /Q /S seven-days-to-die\\294420\\UndeadLegacyStable", + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-stable" + }, + { + "UpdateStageName": "Undead Legacy Stable Copy", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"cp -rf ./seven-days-to-die/294420/UndeadLegacyStable*/* ./seven-days-to-die/294420/ && rm -rf ./seven-days-to-die/294420/UndeadLegacyStable*/\"", + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-stable" + }, + { + "UpdateStageName": "Undead Legacy Experimental Copy", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "Executable", + "UpdateSourceData": "cmd.exe", + "UpdateSourceArgs": "/C move seven-days-to-die\\294420\\UndeadLegacyExperimental* seven-days-to-die\\294420\\UndeadLegacyExperimental && xcopy /E /Y /I seven-days-to-die\\294420\\UndeadLegacyExperimental\\* seven-days-to-die\\294420\\ && rmdir /Q /S seven-days-to-die\\294420\\UndeadLegacyExperimental", + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-experimental" + }, + { + "UpdateStageName": "Undead Legacy Experimental Copy", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"cp -rf ./seven-days-to-die/294420/UndeadLegacyExperimental*/* ./seven-days-to-die/294420/ && rm -rf ./seven-days-to-die/294420/UndeadLegacyExperimental*/\"", + "UpdateSourceConditionSetting": "ConfigFile", + "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-experimental" } ] \ No newline at end of file From 30076ca8093fac75923ee7fab241a0394d1fa117 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 10 Nov 2022 10:56:28 +1100 Subject: [PATCH 069/318] Add Call of Duty: Modern Warfare 3 (#193) --- call-of-dutymw3.kvp | 86 +++++++++++++ call-of-dutymw3config.json | 212 +++++++++++++++++++++++++++++++++ call-of-dutymw3metaconfig.json | 9 ++ 3 files changed, 307 insertions(+) create mode 100644 call-of-dutymw3.kvp create mode 100644 call-of-dutymw3config.json create mode 100644 call-of-dutymw3metaconfig.json diff --git a/call-of-dutymw3.kvp b/call-of-dutymw3.kvp new file mode 100644 index 000000000..5f42bb3d3 --- /dev/null +++ b/call-of-dutymw3.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=Call of Duty: Modern Warfare 3 +Meta.Description=Call of Duty: Modern Warfare 3 Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://www.callofduty.com/au/en/mw3 +Meta.DisplayImageSource=steam:42690 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$MasterServerPort} +Meta.ConfigManifest=call-of-dutymw3config.json +Meta.MetaConfigManifest=call-of-dutymw3metaconfig.json +Meta.ConfigRoot=call-of-dutymw3.kvp +Meta.MinAMPVersion=2.4.0.8 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Call of Duty: Modern Warfare 3 +App.RootDir=./call-of-dutymw3/ +App.BaseDirectory=./call-of-dutymw3/42750/ +App.ExecutableWin=42750\iw5mp_server.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=42750 +App.LinuxCommandLineArgs=-a wine "./iw5mp_server.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} +set sv_config "server.cfg" +set net_queryPort {{$OpenGamePort}} +set net_port {{$SecureGamePort}} +set net_authPort {{$AuthPort}} +set net_masterServerPort {{$MasterServerPort}} +start_map_rotate {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"42690"} +App.CommandLineParameterFormat=+set {0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +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":27014,"Ref":"OpenGamePort","Name":"Open Game Port","Description":"Port for Steam visible server game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"SecureGamePort","Name":"Secure Game Port","Description":"Port for secure game traffic"},{"Protocol":"UDP","Port":8766,"Ref":"AuthPort","Name":"Authentication Port","Description":"Port for Steam authentication traffic"},{"Protocol":"UDP","Port":27016,"Ref":"MasterServerPort","Name":"Master Server Port","Description":"Port for Steam master server or browser traffic"}] +App.PrimaryApplicationPortRef=OpenGamePort +App.UniversalSleepApplicationUDPPort=OpenGamePort +App.UniversalSleepSteamQueryPort=MasterServerPort +App.MaxUsers=16 +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=login {0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"42750","ForceDownloadPlatform":"Windows"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=wine +App.SupportsUniversalSleep=True +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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 diff --git a/call-of-dutymw3config.json b/call-of-dutymw3config.json new file mode 100644 index 000000000..42f7b1f4a --- /dev/null +++ b/call-of-dutymw3config.json @@ -0,0 +1,212 @@ +[ + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the name of the server", + "Keywords":"server,name", + "FieldName":"sv_hostname", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"sv_hostname", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Call of Duty: Modern Warfare 3 Server", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Server Settings", + "Description":"If enabled, the server will be visible publicly. Otherwise it will only be accessible from the local network", + "Keywords":"public,visible", + "FieldName":"dedicated", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"dedicated", + "IncludeInCommandLine":true, + "DefaultValue":"2", + "EnumValues":{ + "True":"2", + "False":"1" + } + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Sets the password to join the server", + "Keywords":"password", + "FieldName":"g_password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"g_password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"Server Settings", + "Description":"Sets the RCON password to allow sending console commands in-game. Default is no password, disabling console commands", + "Keywords":"rcon,password", + "FieldName":"rcon_password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"rcon_password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"The maximum number of players allowed on the server", + "Keywords":"max,players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "MaxValue":"18", + "IsFlagArgument":false, + "ParamFieldName":"sv_maxclients", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "EnumValues":{} + }, + { + "DisplayName":"Private Player Limit", + "Category":"Server Settings", + "Description":"The maximum number of private players allowed on the server (those that can use non-public reserved slots). Will be limited to the Player Limit", + "Keywords":"max,private,players,limit", + "FieldName":"sv_privateClients", + "InputType":"number", + "MinValue":"0", + "MaxValue":"18", + "IsFlagArgument":false, + "ParamFieldName":"sv_privateClients", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Private Player Password", + "Category":"Server Settings", + "Description":"Sets the password for private players to join the server. Private players entering this password have access to all slots on the server, otherwise the players only have access to the public slots (Player Limit less Private Player Limit)", + "Keywords":"private,player,password", + "FieldName":"sv_privatePassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"sv_privatePassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Map Rotation", + "Category":"Server Settings", + "Description":"Sets the dedicated server play list (DSPL) for map rotation. Valid game options are controlled via the dedicated server recipe (DSR) specified in the DSPL", + "Keywords":"map,rotation", + "FieldName":"sv_maprotation", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"sv_maprotation", + "IncludeInCommandLine":false, + "DefaultValue":"default", + "EnumValues":{} + }, + { + "DisplayName":"Server Voice Chat", + "Category":"Server Settings", + "Description":"Sets the server voice chat configuration", + "Keywords":"voice,chat", + "FieldName":"sv_voice", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"sv_voice", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0":"No Chat", + "1":"Free Chat", + "2":"Team Chat (default)" + } + }, + { + "DisplayName":"Enable Voting", + "Category":"Server Settings", + "Description":"If enabled, voting is allowed for player kick, map restart and next map", + "Keywords":"vote,voting", + "FieldName":"g_allowVote", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"g_allowVote", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Enable Dead Chat", + "Category":"Server Settings", + "Description":"If enabled, dead players will be allowed to chat with living players", + "Keywords":"dead,chat", + "FieldName":"g_deadChat", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"g_deadChat", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "True":"1", + "False":"0" + } + }, + { + "DisplayName":"Inactivity Kick Period", + "Category":"Server Settings", + "Description":"Time before the server will kick a player for inactivity", + "Keywords":"inactivity,afk,period", + "FieldName":"g_inactivity", + "InputType":"number", + "IsFlagArgument":false, + "MinValue":"0", + "MaxValue":"10000", + "ParamFieldName":"g_inactivity", + "IncludeInCommandLine":false, + "DefaultValue":"120", + "Suffix":"seconds", + "Placeholder":"0 - 10000", + "EnumValues":{} + }, + { + "DisplayName":"Temporary Ban Period", + "Category":"Server Settings", + "Description":"Time for a player temporary ban (on kick/tempban)", + "Keywords":"ban,period,temporary", + "FieldName":"sv_kickBanTime", + "InputType":"number", + "IsFlagArgument":false, + "MinValue":"0", + "MaxValue":"3600", + "ParamFieldName":"sv_kickBanTime", + "IncludeInCommandLine":true, + "DefaultValue":"300", + "Suffix":"seconds", + "Placeholder":"0 - 3600", + "EnumValues":{} + }, + { + "DisplayName":"Enable Flood Protection", + "Category":"Server Settings", + "Description":"If enabled, flood protection applies, so user commands are throttled. Should be enabled on non-password-protected public servers", + "Keywords":"flood,protection", + "FieldName":"sv_floodProtect", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"sv_floodProtect", + "IncludeInCommandLine":true, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" + } + } +] \ No newline at end of file diff --git a/call-of-dutymw3metaconfig.json b/call-of-dutymw3metaconfig.json new file mode 100644 index 000000000..b29d0aba8 --- /dev/null +++ b/call-of-dutymw3metaconfig.json @@ -0,0 +1,9 @@ +[ + { + "ConfigFile":"admin/server.cfg", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormat":"seta {0} \"{1}\"", + "ConfigFormatRegex":"^seta (?.+?) \"?(?.*?)\"?$" + } +] \ No newline at end of file From d8a7e7ab6903e753880abf57471ff8106a4a059c Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 10 Nov 2022 12:22:02 +1100 Subject: [PATCH 070/318] Add Unreal Tournament (UT99) (#217) --- ut99.kvp | 86 +++++ ut99UnrealTournament.ini | 754 ++++++++++++++++++++++++++++++++++++ ut99config.json | 811 +++++++++++++++++++++++++++++++++++++++ ut99metaconfig.json | 12 + 4 files changed, 1663 insertions(+) create mode 100644 ut99.kvp create mode 100644 ut99UnrealTournament.ini create mode 100644 ut99config.json create mode 100644 ut99metaconfig.json diff --git a/ut99.kvp b/ut99.kvp new file mode 100644 index 000000000..d10825bd8 --- /dev/null +++ b/ut99.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=Unreal Tournament 99 +Meta.Description=Unreal Tournament (UT99) Dedicated Server. Based on v436 official server, with Bonus Packs 1 to 4 plus OldUnreal patch as selected by user +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan, TABLE +Meta.URL=https://unreal.fandom.com/wiki/Unreal_Tournament +Meta.DisplayImageSource=steam:13240 +Meta.EndpointURIFormat= +Meta.ConfigManifest=ut99config.json +Meta.MetaConfigManifest=ut99metaconfig.json +Meta.ConfigRoot=ut99.kvp +Meta.MinAMPVersion=2.4.0.8 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Unreal Tournament 99 +App.RootDir=./ut-server/ +App.BaseDirectory=./ut-server/ +App.ExecutableWin=System\UCC.exe +App.ExecutableLinux=System/ucc-bin +App.WorkingDir=System +App.LinuxCommandLineArgs=-nohomedir +App.WindowsCommandLineArgs= +App.CommandLineArgs=server {{MapName}}?{{$FormattedArgs}} ini=_AMP_UnrealTournament.ini log=server.log port={{$GamePort}} {{$PlatformArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"SteamAppId":"13240"} +App.CommandLineParameterFormat={0}={1} +App.CommandLineParameterDelimiter=? +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=stop +App.ExitFile=lock +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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"UDP","Port":7779,"Ref":"MasterServerPort1","Name":"Master Server Port 1","Description":"Port for first master server traffic"},{"Protocol":"UDP","Port":7780,"Ref":"MasterServerPort2","Name":"Master Server Port 2","Description":"Port for second master server traffic"},{"Protocol":"UDP","Port":7781,"Ref":"MasterServerPort3","Name":"Master Server Port 3","Description":"Port for third master server traffic"},{"Protocol":"TCP","Port":8888,"Ref":"WebserverPort","Name":"Webserver Port","Description":"Port for webserver traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=16 +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":"Base Server Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"http://www.ut-files.com/index.php?dir=Entire_Server_Download/&file=utserver436final.zip","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Base Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"http://www.ut-files.com/index.php?dir=Entire_Server_Download/&file=ut-server-linux-436.tar.gz","UpdateSourceTarget":"{{$FullInstanceDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Bonus Packs Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/IceOfWraith/UT99-BonusPacks/raw/main/ut99bonuspacks.zip","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"OldUnreal Patch Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v{{PatchVersion}}/OldUnreal-UTPatch{{PatchVersion}}-Windows.zip","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"OldUnreal Patch Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v{{PatchVersion}}/OldUnreal-UTPatch{{PatchVersion}}-Linux.tar.bz2","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true,"UpdateSourceConditionSetting":"PatchVersion","UpdateSourceConditionValue":"469b"},{"UpdateStageName":"OldUnreal Patch Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v{{PatchVersion}}/OldUnreal-UTPatch{{PatchVersion}}-Linux-amd64.tar.bz2","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true,"UpdateSourceConditionSetting":"PatchVersion","UpdateSourceConditionValue":"469c"},{"UpdateStageName":"Copy OldUnreal Patch Files","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c '\\cp -R ./ut-server/System64/* ./ut-server/System'","UpdateSourceConditionSetting":"PatchVersion","UpdateSourceConditionValue":"469c"},{"UpdateStageName":"Pause Update Stages","UpdateSourcePlatform":"Linux","UpdateSource":"Pause","UpdateSourceArgs":"2"},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}System/ucc-bin"},{"UpdateStageName":"Server Config Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ut99UnrealTournament.ini","UpdateSourceArgs":"_AMP_UnrealTournament.ini","UpdateSourceTarget":"{{$FullRootDir}}System/","OverwriteExistingFiles":false}] +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=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^Game engine initialized$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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/ut99UnrealTournament.ini b/ut99UnrealTournament.ini new file mode 100644 index 000000000..4652fbf68 --- /dev/null +++ b/ut99UnrealTournament.ini @@ -0,0 +1,754 @@ +[Comments] +rem=This file is supplied by AMP and should be used instead of UnrealTournament.ini to configure settings for the server. +rem=Some of the settings in this file are controlled via the AMP UI or by AMP itself (such as ports). + +[URL] +Protocol=unreal +ProtocolDescription=Unreal Protocol +Name=Player +Map=Index.unr +LocalMap=CityIntro.unr +Host= +Portal= +MapExt=unr +SaveExt=usa +Port=7777 +Class=Botpack.TMale1 + +[FirstRun] +FirstRun=0 + +[PackageRemap] +UnrealShare=UnrealI + +[Engine.Engine] +GameRenderDevice=OpenGLDrv.OpenGLRenderDevice +AudioDevice=ALAudio.ALAudioSubsystem +NetworkDevice=IpDrv.TcpNetDriver +DemoRecordingDevice=Engine.DemoRecDriver +Console=UTMenu.UTConsole +Language=int +GameEngine=Engine.GameEngine +EditorEngine=Editor.EditorEngine +WindowedRenderDevice=OpenGLDrv.OpenGLRenderDevice +RenderDevice=OpenGLDrv.OpenGLRenderDevice +DefaultGame=Botpack.DeathMatchPlus +DefaultServerGame=Botpack.DeathMatchPlus +ViewportManager=WinDrv.WindowsClient +Render=Render.Render +Input=Engine.Input +Canvas=Engine.Canvas + +[Core.System] +PurgeCacheDays=30 +SavePath=../Save +CachePath=../Cache +CacheExt=.uxx +Paths=../System/*.u +Paths=../Maps/*.unr +Paths=../Textures/*.utx +Paths=../Sounds/*.uax +Paths=../Music/*.umx +Suppress=DevLoad +Suppress=DevSave +Suppress=DevNetTraffic +Suppress=DevGarbage +Suppress=DevKill +Suppress=DevReplace +Suppress=DevSound +Suppress=DevCompile +Suppress=DevBind +Suppress=DevBsp +Suppress=DevMD5 +Suppress=DevAudio +Suppress=DevMusic +Suppress=DevGraphics + +[Engine.GameEngine] +CacheSizeMegs=16 +UseSound=True +MinClientVersion=432 +ServerActors=IpDrv.UdpBeacon +ServerActors=IpServer.UdpServerQuery +ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900 +ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.mplayer.com MasterServerPort=27900 +ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900 +ServerActors=UWeb.WebServer +ServerPackages=SoldierSkins +ServerPackages=CommandoSkins +ServerPackages=FCommandoSkins +ServerPackages=SGirlSkins +ServerPackages=BossSkins +ServerPackages=Botpack +ServerPackages=MultiMesh +ServerPackages=Relics +ServerPackages=EpicCustomModels +ServerPackages=TCowMeshSkins +ServerPackages=TNaliMeshSkins +ServerPackages=TSkMSkins +ServerPackages=SkeletalChars +ServerPackages=De + +[WinDrv.WindowsClient] +WindowedViewportX=1024 +WindowedViewportY=768 +WindowedColorBits=32 +FullscreenViewportX=1024 +FullscreenViewportY=768 +FullscreenColorBits=32 +Brightness=0.500000 +MipFactor=1.000000 +UseDirectDraw=True +UseJoystick=False +CaptureMouse=True +StartupFullscreen=True +CurvedSurfaces=False +LowDetailTextures=False +ScreenFlashes=True +NoLighting=False +SlowVideoBuffering=True +DeadZoneXYZ=True +DeadZoneRUV=False +InvertVertical=False +ScaleXYZ=1000.0 +ScaleRUV=2000.0 +MinDesiredFrameRate=30.0 +Decals=True +NoDynamicLights=False + +[SDLDrv.SDLClient] +WindowedViewportX=1024 +WindowedViewportY=768 +WindowedColorBits=32 +FullscreenViewportX=1024 +FullscreenViewportY=768 +FullscreenColorBits=32 +Brightness=0.500000 +MipFactor=1.000000 +UseJoystick=False +CaptureMouse=True +StartupFullscreen=True +CurvedSurfaces=False +LowDetailTextures=False +ScreenFlashes=True +NoLighting=False +SlowVideoBuffering=True +DeadZoneXYZ=True +DeadZoneRUV=False +InvertVertical=False +ScaleXYZ=1000.0 +ScaleRUV=2000.0 +MinDesiredFrameRate=30.0 +Decals=True +NoDynamicLights=False + +[Engine.Player] +ConfiguredInternetSpeed=10000 +ConfiguredLanSpeed=20000 + +[ALAudio.ALAudioSubsystem] +UseHRTF=Autodetect +ViewportVolumeIntensity=1.000000 +DetailStats=False +ReverbIntensity=1.000000 +UseReverb=True +OldReverbIntensity=1.000000 +EmulateOldReverb=True +MusicAmplify=0 +MusicStereoAngle=30 +MusicStereoMix=70 +MusicPanSeparation=50 +MusicDsp=DSP_ALL +MusicInterpolation=SPLINE +ProbeDevicesOnly=False +UseAutoSampleRate=False +OutputRate=44100Hz +DopplerFactor=0.100000 +bSoundAttenuate=True +AmbientFactor=0.700000 +UseDigitalMusic=True +EffectsChannels=64 +UseSpeechVolume=True +MusicVolume=64 +SpeechVolume=200 +SoundVolume=64 +SampleRate=44100Hz + +[Galaxy.GalaxyAudioSubsystem] +UseDirectSound=True +UseFilter=True +UseSurround=False +UseStereo=True +UseCDMusic=False +UseDigitalMusic=True +UseSpatial=False +UseReverb=True +Use3dHardware=False +LowSoundQuality=False +ReverseStereo=False +Latency=40 +OutputRate=44100Hz +EffectsChannels=16 +DopplerSpeed=9000.000000 +MusicVolume=64 +SoundVolume=64 +AmbientFactor=0.700000 + +[Cluster.ClusterAudioSubsystem] +UseCDMusic=True +UseDigitalMusic=True +CDMusicVolumeFactor=1.000000 +MusicVolume=64 +SoundVolume=64 +EffectsChannels=16 +AudioDeviceGuid= +EmulateGalaxyMusic=True + +[IpDrv.TcpNetDriver] +AllowDownloads=True +ConnectionTimeout=15.0 +InitialConnectTimeout=150.0 +AckTimeout=1.0 +KeepAliveTime=0.2 +MaxClientRate=20000 +SimLatency=0 +RelevantTimeout=5.0 +SpawnPrioritySeconds=1.0 +ServerTravelPause=4.0 +NetServerMaxTickRate=50 +LanServerMaxTickRate=50 +DownloadManagers=IpDrv.HTTPDownload +DownloadManagers=Engine.ChannelDownload +MaxConnPerIPPerMinute=5 +LogMaxConnPerIPPerMin=False +AllowPlayerPortUnreach=True +LogPortUnreach=False +MaxFileDownloadRate=-1 + +[IpDrv.HTTPDownload] +RedirectToURL=http://uz.ut-files.com/ +ProxyServerHost= +ProxyServerPort=3128 +UseCompression=True + +[Engine.DemoRecDriver] +DemoSpectatorClass=Botpack.CHSpectator +MaxClientRate=25000 +ConnectionTimeout=15.0 +InitialConnectTimeout=500.0 +AckTimeout=1.0 +KeepAliveTime=1.0 +SimLatency=0 +RelevantTimeout=5.0 +SpawnPrioritySeconds=1.0 +ServerTravelPause=4.0 +NetServerMaxTickRate=60 +LanServerMaxTickRate=60 + +[Engine.GameReplicationInfo] +ServerName=AMP Powered UT99 Server +ShortName= +AdminName= +AdminEmail= +Region=0 +MOTDLine1= +MOTDLine2= +MOTDLine3= +MOTDLine4= + +[IpDrv.TcpipConnection] +SimPacketLoss=0 +SimLatency=0 + +[IpServer.UdpServerQuery] +GameName=ut +bTeamInfo=False + +[IpDrv.UdpBeacon] +DoBeacon=True +BeaconTime=0.50 +BeaconTimeout=5.000000 +BeaconProduct=ut + +[SoftDrv.SoftwareRenderDevice] +Translucency=True +VolumetricLighting=True +ShinySurfaces=False +Coronas=False +HighDetailActors=False +HighResTextureSmooth=True +LowResTextureSmooth=False +FastTranslucency=True + +[GlideDrv.GlideRenderDevice] +Translucency=True +VolumetricLighting=True +ShinySurfaces=True +Coronas=True +HighDetailActors=True +DetailBias=-1.500000 +RefreshRate=60Hz +DetailTextures=True +FastUglyRefresh=False +ScreenSmoothing=True +Resolution=Default + +[MetalDrv.MetalRenderDevice] +Translucency=True +VolumetricLighting=True +ShinySurfaces=True +Coronas=True +HighDetailActors=True +DetailTextures=False + +[OpenGLDrv.OpenGLRenderDevice] +Translucency=True +ZRangeHack=True +NoAATiles=True +NumAASamples=4 +UseAA=True +SmoothMaskedTextures=False +SceneNodeHack=True +UseShaderGamma=True +ShaderGammaCorrectHUD=True +FrameRateLimit=0 +UseMultiDrawArrays=True +UseDrawGouraud469=True +ShaderAlphaHUD=True +UseSSE2=True +UseSSE=True +BufferTileQuads=True +SinglePassDetail=True +SinglePassFog=False +ColorizeDetailTextures=False +DetailMax=2 +RefreshRate=0 +MaxTMUnits=0 +NoFiltering=False +MaxAnisotropy=0 +Use16BitTextures=False +UseHDTextures=True +UseTrilinear=True +UsePrecache=True +UsePalette=True +UseZTrick=False +UseSamplerObjects=True +OneXBlending=False +GammaCorrectScreenshots=False +GammaOffsetBlue=0.000000 +GammaOffsetGreen=0.000000 +GammaOffsetRed=0.000000 +GammaOffset=0.100000 +LODBias=0.000000 +DescFlags=1 +Description= +DebugBits=-1 +VolumetricLighting=False +ShinySurfaces=True +Coronas=True +HighDetailActors=True +DetailTextures=True +AlwaysMipmap=True +SwapInterval=0 + +[D3D9Drv.D3D9RenderDevice] +ZRangeHack=True +NoAATiles=True +NumAASamples=4 +UseAA=True +UseSoftwareVertexProcessing=False +UsePureDevice=True +UseTripleBuffering=False +MaskedTextureHack=True +SmoothMaskedTextures=False +SceneNodeHack=True +FrameRateLimit=0 +SwapInterval=0 +UseFragmentProgram=True +TexDXT1ToDXT3=False +DynamicTexIdRecycleLevel=100 +CacheStaticMaps=True +UseTexPool=True +UseTexIdPool=True +UseSSE2=True +UseSSE=True +SinglePassDetail=False +SinglePassFog=True +ColorizeDetailTextures=False +DetailClipping=False +DetailMax=2 +RefreshRate=0 +MaxTMUnits=0 +NoFiltering=False +MaxAnisotropy=16 +Use565Textures=False +Use16BitTextures=False +UseS3TC=True +UseTrilinear=False +UsePrecache=True +UseMultiTexture=True +MaxLogTextureSize=8 +MinLogTextureSize=0 +OneXBlending=False +GammaCorrectScreenshots=False +GammaOffsetBlue=0.000000 +GammaOffsetGreen=0.000000 +GammaOffsetRed=0.000000 +GammaOffset=0.000000 +LODBias=0.000000 +DetailTextures=True +DescFlags=1 +HighDetailActors=True +Coronas=True +ShinySurfaces=True +VolumetricLighting=True + +[D3DDrv.D3DRenderDevice] +Translucency=True +VolumetricLighting=False +ShinySurfaces=True +Coronas=True +HighDetailActors=True +UseMipmapping=True +UseTrilinear=False +UseMultitexture=True +UsePageFlipping=True +UsePalettes=True +UseFullscreen=True +UseGammaCorrection=True +DetailTextures=False +Use3dfx=False +UseTripleBuffering=False +UsePrecache=False +Use32BitTextures=False +UseVSync=False +DescFlags=1 +UseVertexFog=False +UseAGPTextures=True +UseVideoMemoryVB=True + +[XOpenGLDrv.XOpenGLRenderDevice] +UseBindlessTextures=True +SyncToDraw=False +UseVSync=Off +NoDrawSimple=False +NoDrawTile=False +NoDrawGouraudList=False +NoDrawGouraud=False +NoDrawComplexSurface=False +NoBuffering=False +UseOpenGLDebug=False +UseHWClipping=False +UseHWLighting=False +UsePersistentBuffers=False +GenerateMipMaps=False +UseBufferInvalidation=False +NoAATiles=True +DetailTextures=True +MacroTextures=True +BumpMaps=True +GammaCorrectScreenshots=True +UseAA=False +UseTrilinear=True +UsePrecache=True +AlwaysMipmap=False +ShareLists=True +NoFiltering=False +HighDetailActors=True +Coronas=True +ShinySurfaces=True +VolumetricLighting=True +MaxAnisotropy=4.000000 +LODBias=0.000000 +GammaOffsetScreenshots=0.700000 +DebugLevel=2 +NumAASamples=4 +RefreshRate=0 +DescFlags=1 +OpenGLVersion=Core +DetailMax=2 + +[SglDrv.SglRenderDevice] +Translucency=True +VolumetricLighting=False +ShinySurfaces=False +Coronas=True +HighDetailActors=False +ColorDepth=16 +DetailTextures=False +FastUglyRefresh=False +TextureDetailBias=Near +VertexLighting=False + +[Editor.EditorEngine] +UseSound=True +CacheSizeMegs=6 +GridEnabled=True +SnapVertices=True +SnapDistance=10.000000 +GridSize=(X=16.000000,Y=16.000000,Z=16.000000) +RotGridEnabled=True +RotGridSize=(Pitch=1024,Yaw=1024,Roll=1024) +GameCommandLine=-log +FovAngleDegrees=90.000000 +GodMode=True +AutoSave=False +AutoSaveTimeMinutes=5 +AutoSaveIndex=6 +C_WorldBox=(R=0,G=0,B=107,A=255) +C_GroundPlane=(R=0,G=0,B=63,A=255) +C_GroundHighlight=(R=0,G=0,B=127,A=255) +C_BrushWire=(R=255,G=63,B=63,A=255) +C_Pivot=(R=0,G=255,B=0,A=255) +C_Select=(R=0,G=0,B=127,A=255) +C_AddWire=(R=127,G=127,B=255,A=255) +C_SubtractWire=(R=255,G=192,B=63,A=255) +C_GreyWire=(R=163,G=163,B=163,A=255) +C_Invalid=(R=163,G=163,B=163,A=255) +C_ActorWire=(R=127,G=63,B=0,A=255) +C_ActorHiWire=(R=255,G=127,B=0,A=255) +C_White=(R=255,G=255,B=255,A=255) +C_SemiSolidWire=(R=127,G=255,B=0,A=255) +C_NonSolidWire=(R=63,G=192,B=32,A=255) +C_WireGridAxis=(R=119,G=119,B=119,A=255) +C_ActorArrow=(R=163,G=0,B=0,A=255) +C_ScaleBox=(R=151,G=67,B=11,A=255) +C_ScaleBoxHi=(R=223,G=149,B=157,A=255) +C_Mover=(R=255,G=0,B=255,A=255) +C_OrthoBackground=(R=163,G=163,B=163,A=255) +C_Current=(R=0,G=0,B=0,A=255) +C_BrushVertex=(R=0,G=0,B=0,A=255) +C_BrushSnap=(R=0,G=0,B=0,A=255) +C_Black=(R=0,G=0,B=0,A=255) +C_Mask=(R=0,G=0,B=0,A=255) +C_WireBackground=(R=0,G=0,B=0,A=255) +C_ZoneWire=(R=0,G=0,B=0,A=255) +EditPackages=Core +EditPackages=Engine +EditPackages=Editor +EditPackages=UWindow +EditPackages=Fire +EditPackages=IpDrv +EditPackages=UWeb +EditPackages=UBrowser +EditPackages=UnrealShare +EditPackages=UnrealI +EditPackages=UMenu +EditPackages=IpServer +EditPackages=Botpack +EditPackages=UTServerAdmin +EditPackages=UTMenu +EditPackages=UTBrowser + +[UMenu.UnrealConsole] +RootWindow=UMenu.UMenuRootWindow +UWindowKey=IK_Esc +ShowDesktop=True + +[UMenu.UMenuMenuBar] +ShowHelp=True +GameUMenuDefault=UTMenu.UTGameMenu +MultiplayerUMenuDefault=UTMenu.UTMultiplayerMenu +OptionsUMenuDefault=UTMenu.UTOptionsMenu + +[Botpack.ChallengeBotInfo] +Difficulty=1.000000 + +[Botpack.DeathMatchPlus] +bNoviceMode=True +bHardCoreMode=True +bUseTranslocator=False +bCoopWeaponMode=False +MinPlayers=0 +AirControl=0.350000 +FragLimit=30 +TimeLimit=0 +bChangeLevels=True +bMegaSpeed=False +bAltScoring=False +bMultiWeaponStay=True +bForceRespawn=False +bTournament=False +NetWait=10 +RestartWait=15 +MaxCommanders=0 +InitialBots=4 +bNoMonsters=True +bHumansOnly=False +bClassicDeathMessages=False +MinFOV=80.000000 +MaxFOV=130.000000 +MaxNameChanges=0 + +[Botpack.CTFGame] +bUseTranslocator=True +bCoopWeaponMode=True +GoalTeamScore=3 +MinPlayers=0 +NetWait=10 +TimeLimit=0 + +[Botpack.Domination] +bDumbDown=True +bUseTranslocator=True +bCoopWeaponMode=True +GoalTeamScore=100 +MinPlayers=0 +NetWait=10 +TimeLimit=0 + +[Botpack.Assault] +bUseTranslocator=False +bCoopWeaponMode=True +MinPlayers=0 +NetWait=10 +TimeLimit=0 + +[Botpack.TeamGamePlus] +bBalanceTeams=True +GoalTeamScore=30 +bPlayersBalanceTeams=True +MinPlayers=0 +NetWait=10 +FragLimit=30 +TimeLimit=0 + +[Engine.GameInfo] +bLowGore=False +bVeryLowGore=False +bMuteSpectators=False +bNoCheating=True +bAllowFOV=False +bExternalBatcher=False +AutoAim=0.930000 +GameSpeed=1.000000 +MaxSpectators=2 +AdminPassword= +GamePassword= +MaxPlayers=16 +ServerLogName=server.log +bLocalLog=True +bWorldLog=True +bBatchLocal=False +DemoBuild=0 +DemoHasTuts=0 +PlayerViewDelay=1.000000 +PlayerSpeechDelay=0.300000 +PlayerTauntDelay=2.000000 +NoLockdown=1 +bLogAdminActions=True +LoginDelaySeconds=3.000000 +MaxLoginAttempts=3 +ActionToTake=DO_KickPlayer +bNoMonsters=False +bHumansOnly=False +bCoopWeaponMode=False +bClassicDeathMessages=False +MinFOV=80.000000 +MaxFOV=130.000000 +MaxNameChanges=0 + +[UnrealShare.UnrealGameOptionsMenu] +bCanModifyGore=True + +[UBrowser.UBrowserMainClientWindow] +LANTabName=UBrowserLAN +ServerListNames[0]=UBrowserUT +ServerListNames[1]=UBrowserLAN +ServerListNames[2]=UBrowserPopulated +ServerListNames[3]=UBrowserDeathmatch +ServerListNames[4]=UBrowserTeamGames +ServerListNames[5]=UBrowserCTF +ServerListNames[6]=UBrowserDOM +ServerListNames[7]=UBrowserAS +ServerListNames[8]=UBrowserLMS +ServerListNames[9]=UBrowserAll +ServerListNames[10]=None +ServerListNames[11]=None +ServerListNames[12]=None +ServerListNames[13]=None +ServerListNames[14]=None +ServerListNames[15]=None +ServerListNames[16]=None +ServerListNames[17]=None +ServerListNames[18]=None +ServerListNames[19]=None + +[UBrowserUT] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,bCompatibleServersOnly=True + +[UBrowserLAN] +ListFactories[0]=UBrowser.UBrowserLocalFact,BeaconProduct=ut +URLAppend=?LAN +AutoRefreshTime=10 +bNoAutoSort=True + +[UBrowserPopulated] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,MinPlayers=1,bCompatibleServersOnly=True + +[UBrowserDeathmatch] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=DeathMatchPlus,bCompatibleServersOnly=True + +[UBrowserTeamGames] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=TeamGamePlus,bCompatibleServersOnly=True + +[UBrowserCTF] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=CTFGame,bCompatibleServersOnly=True + +[UBrowserDOM] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=Domination,bCompatibleServersOnly=True + +[UBrowserAS] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=Assault,bCompatibleServersOnly=True + +[UBrowserLMS] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=LastManStanding,bCompatibleServersOnly=True + +[UBrowserAll] +ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=unreal.epicgames.com,MasterServerTCPPort=28900,Region=0,GameName=ut +ListFactories[1]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.mplayer.com,MasterServerTCPPort=28900,Region=0,GameName=ut +ListFactories[2]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.333networks.com,MasterServerTCPPort=28900,Region=0,GameName=ut +bHidden=True +bFallbackFactories=False + +[UTMenu.UTLadder] +bGOTY=true + +[UWeb.WebServer] +Applications[0]=UTServerAdmin.UTServerAdmin +ApplicationPaths[0]=/ServerAdmin +Applications[1]=UTServerAdmin.UTImageServer +ApplicationPaths[1]=/images +DefaultApplication=0 +bEnabled=True +ListenPort=8888 + +[UBrowser.UBrowserHTTPClient] +ProxyServerAddress= +ProxyServerPort= + +[UTServerAdmin.UTServerAdmin] +AdminUsername=admin +AdminPassword=admin + +[Engine.StatLog] +LocalBatcherURL=../NetGamesUSA.com/ngStats/ngStatsUT.exe +LocalBatcherParams= +LocalStatsURL=../NetGamesUSA.com/ngStats/html/ngStats_Main.html +WorldBatcherURL=../NetGamesUSA.com/ngWorldStats/bin/ngWorldStats.exe +WorldBatcherParams=-d ../NetGamesUSA.com/ngWorldStats/logs -g UT +WorldStatsURL=http://www.netgamesusa.com +LocalLogDir=../Logs +WorldLogDir=../NetGamesUSA.com/ngWorldStats/logs +bLogTypingEvents=False +bWorldBatcherError=False + +[IpServer.UdpServerUplink] +DoUplink=True +UpdateMinutes=1 +MasterServerAddress=unreal.epicgames.com +MasterServerPort=27900 +Region=0 + +[UTMenu.UTServerSetupPage] +bLanPlay=False diff --git a/ut99config.json b/ut99config.json new file mode 100644 index 000000000..8ba38bd40 --- /dev/null +++ b/ut99config.json @@ -0,0 +1,811 @@ +[ + { + "DisplayName":"Game Port", + "Category":"UT Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"URL.Port", + "IncludeInCommandLine":false, + "DefaultValue":"7777", + "EnumValues":{} + }, + { + "DisplayName":"Webserver Port", + "Category":"UT Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$WebserverPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"UWeb.WebServer.ListenPort", + "IncludeInCommandLine":false, + "DefaultValue":"8888", + "EnumValues":{} + }, + { + "DisplayName":"Server Log Name", + "Category":"UT Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"ServerLogName", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.ServerLogName", + "IncludeInCommandLine":false, + "DefaultValue":"server.log", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"UT Server Settings", + "Description":"Sets the name of the server shown publicly", + "Keywords":"name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered UT99 Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Shortname", + "Category":"UT Server Settings", + "Description":"Sets the shortname of the server shown publicly", + "Keywords":"short,name", + "FieldName":"ShortName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.ShortName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Admin Name", + "Category":"UT Server Settings", + "Description":"Sets the name of the server admin shown publicly", + "Keywords":"admin,name", + "FieldName":"AdminName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.AdminName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"UT Server Settings", + "Description":"If enabled, the server will be registered to the master servers and be publicly visible in the in-game browser", + "Keywords":"public,master", + "FieldName":"DoUplink", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"IpServer.UdpServerUplink.DoUplink", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Server Password", + "Category":"UT Server Settings", + "Description":"Password for players and spectators to connect to the server", + "Keywords":"password", + "FieldName":"GamePassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.GamePassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"UT Server Settings", + "Description":"In-game admin password", + "Keywords":"admin,password", + "FieldName":"AdminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.AdminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"UT Server Settings", + "Description":"Maximum number of players that may connect to the server", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Spectator Limit", + "Category":"UT Server Settings", + "Description":"Maximum number of spectators that may connect to the server", + "Keywords":"spectators,limit", + "FieldName":"MaxSpectators", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.MaxSpectators", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Suffix":"spectators", + "EnumValues":{} + }, + { + "DisplayName":"Map Name", + "Category":"UT Server Settings", + "Description":"Sets the name of the map to load. The Game Type must match. If Custom is selected, the Custom Map Name must also be set", + "Keywords":"map,name", + "FieldName":"MapName", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"MapName", + "IncludeInCommandLine":false, + "DefaultValue":"DM-Turbine", + "EnumValues":{ + "AS-Frigate":"AS-Frigate", + "AS-Guardia":"AS-Guardia", + "AS-HiSpeed":"AS-HiSpeed", + "AS-Mazon":"AS-Mazon", + "AS-OceanFloor":"AS-OceanFloor", + "AS-Overlord":"AS-Overlord", + "AS-Rook":"AS-Rook", + "CTF-Beatitude":"CTF-Beatitude", + "CTF-Command":"CTF-Command", + "CTF-Coret":"CTF-Coret", + "CTF-Cybrosis][":"CTF-Cybrosis (Revised)", + "CTF-Darji16":"CTF-Darji16", + "CTF-Dreary":"CTF-Dreary", + "CTF-EpicBoy":"CTF-EpicBoy", + "CTF-EternalCave":"CTF-EternalCave", + "CTF-Face":"CTF-Face", + "CTF-Face][":"CTF-Face (Revised)", + "CTF-Face-SE":"CTF-Face-SE", + "CTF-Gauntlet":"CTF-Gauntlet", + "CTF-HallOfGiants":"CTF-HallOfGiants", + "CTF-High":"CTF-High", + "CTF-Hydro16":"CTF-Hydro16", + "CTF-Kosov":"CTF-Kosov", + "CTF-LavaGiant":"CTF-LavaGiant", + "CTF-Niven":"CTF-Niven", + "CTF-November":"CTF-November", + "CTF-Noxion16":"CTF-Noxion16", + "CTF-Nucleus":"CTF-Nucleus", + "CTF-Orbital":"CTF-Orbital", + "CTF-Ratchet":"CTF-Ratchet", + "DM-Agony":"DM-Agony", + "DM-ArcaneTemple":"DM-ArcaneTemple", + "DM-Barricade":"DM-Barricade", + "DM-Bishop":"DM-Bishop", + "DM-Closer":"DM-Closer", + "DM-Codex":"DM-Codex", + "DM-Conveyor":"DM-Conveyor", + "DM-Crane":"DM-Crane", + "DM-Curse][":"DM-Curse (Revised)", + "DM-Cybrosis][":"DM-Cybrosis (Revised)", + "DM-Deck16][":"DM-Deck16 (Revised)", + "DM-Fetid":"DM-Fetid", + "DM-Fractal":"DM-Fractal", + "DM-Gothic":"DM-Gothic", + "DM-Grinder":"DM-Grinder", + "DM-Grit-TOURNEY":"DM-Grit-TOURNEY", + "DM-HealPod][":"DM-HealPod (Revised)", + "DM-HyperBlast":"DM-HyperBlast", + "DM-KGalleon":"DM-KGalleon", + "DM-Liandri":"DM-Liandri", + "DM-Malevolence":"DM-Malevolence", + "DM-Mojo][":"DM-Mojo (Revised)", + "DM-Morbias][":"DM-Morbias (Revised)", + "DM-Morpheus":"DM-Morpheus", + "DM-Oblivion":"DM-Oblivion", + "DM-Peak":"DM-Peak", + "DM-Phobos":"DM-Phobos", + "DM-Pressure":"DM-Pressure", + "DM-Pyramid":"DM-Pyramid", + "DM-Shrapnel][":"DM-Shrapnel (Revised)", + "DM-SpaceNoxx":"DM-SpaceNoxx", + "DM-Stalwart":"DM-Stalwart", + "DM-StalwartXL":"DM-StalwartXL", + "DM-Tempest":"DM-Tempest", + "DM-Turbine":"DM-Turbine (Default)", + "DM-Viridian-TOURNEY":"DM-Viridian-TOURNEY", + "DM-Zeto":"DM-Zeto", + "DOM-Bullet":"DOM-Bullet", + "DOM-CiDom":"DOM-CiDom", + "DOM-Cinder":"DOM-Cinder", + "DOM-Condemned":"DOM-Condemned", + "DOM-Cryptic":"DOM-Cryptic", + "DOM-Gearbolt":"DOM-Gearbolt", + "DOM-Ghardhen":"DOM-Ghardhen", + "DOM-Lament":"DOM-Lament", + "DOM-Lament][":"DOM-Lament (Revised)", + "DOM-Leadworks":"DOM-Leadworks", + "DOM-MetalDream":"DOM-MetalDream", + "DOM-Olden":"DOM-Olden", + "DOM-Sesmar":"DOM-Sesmar", + "DOM-WolfsBay":"DOM-WolfsBay", + "Entry":"Entry", + "{{CustomMap}}":"Custom" + } + }, + { + "DisplayName":"Custom Map Name", + "Category":"UT Server Settings", + "Description":"If Custom map is selected, sets the name of the map. The map file must be included in the Maps directory", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"DM-NeoTokyo", + "EnumValues":{} + }, + { + "DisplayName":"Game Type", + "Category":"UT Server Settings", + "Description":"Sets the game type for the server. If Custom is selected, the Custom Game Type Name must also be set", + "Keywords":"game,type", + "FieldName":"game", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"Botpack.DeathMatchPlus", + "EnumValues":{ + "Botpack.Assault":"Assault", + "Botpack.CTFGame":"Capture The Flag", + "Botpack.DeathMatchPlus":"Deathmatch (Default)", + "Botpack.Domination":"Domination", + "Botpack.TeamGamePlus":"Team Deathmatch", + "{{CustomGame}}":"Custom" + } + }, + { + "DisplayName":"Custom Game Type Name", + "Category":"UT Server Settings", + "Description":"If Custom game type is selected, sets the name of the game type", + "Keywords":"custom,game,type", + "FieldName":"CustomGame", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomGame", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"JailBreak.JailBreak", + "EnumValues":{} + }, + { + "DisplayName":"Mutators", + "Category":"UT Server Settings", + "Description":"Comma-separated list of mutators to enable on the server", + "Keywords":"mutators", + "FieldName":"mutator", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"mutator", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "Placeholder":"QFeedback.QFeedback,Relics.RelicDefense,Relics.RelicRedemption,Relics.RelicRegen,Relics.RelicSpeed,Relics.RelicStrength,Relics.RelicDeath", + "EnumValues":{} + }, + { + "DisplayName":"OldUnreal Patch Version", + "Category":"UT Server Settings", + "Description":"Sets the OldUnreal patch version to apply to the server. Update the server after changing this setting!", + "Keywords":"oldunreal,patch,version", + "FieldName":"PatchVersion", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"PatchVersion", + "IncludeInCommandLine":false, + "DefaultValue":"469c", + "EnumValues":{ + "469b":"469b", + "469c":"469c (Default)", + } + }, + { + "DisplayName":"Redirection URL", + "Category":"UT Server Settings", + "Description":"Sets the URL for a redirection website for clients to download required files. The URL must end in a slash", + "Keywords":"redirection,url", + "FieldName":"RedirectToURL", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"IpDrv.HTTPDownload.RedirectToURL", + "IncludeInCommandLine":false, + "DefaultValue":"http://uz.ut-files.com/", + "Placeholder":"http://uz.ut-files.com/", + "EnumValues":{} + }, + { + "DisplayName":"Enable Webserver", + "Category":"UT Server Settings", + "Description":"If enabled, the server's webserver will operate", + "Keywords":"webserver", + "FieldName":"bEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"UWeb.WebServer.bEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Webserver Admin Username", + "Category":"UT Server Settings", + "Description":"Sets the username of the admin user for the webserver", + "Keywords":"webserver,admin,username", + "FieldName":"WebAdminUsername", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"UTServerAdmin.UTServerAdmin.AdminUsername", + "IncludeInCommandLine":false, + "DefaultValue":"admin", + "Placeholder":"admin", + "EnumValues":{} + }, + { + "DisplayName":"Webserver Admin Password", + "Category":"UT Server Settings", + "Description":"Sets the password of the admin user for the webserver. Change this after installing the server", + "Keywords":"webserver,admin,password", + "FieldName":"WebAdminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"UTServerAdmin.UTServerAdmin.AdminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"admin", + "Placeholder":"admin", + "EnumValues":{} + }, + { + "DisplayName":"Low Gore", + "Category":"UT Gameplay Settings", + "Description":"If enabled, the server will have low gore levels", + "Keywords":"low,gore", + "FieldName":"bLowGore", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bLowGore", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Very Low Gore", + "Category":"UT Gameplay Settings", + "Description":"If enabled, the server will have very low gore levels", + "Keywords":"very,low,gore", + "FieldName":"bVeryLowGore", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bVeryLowGore", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Mute Spectators", + "Category":"UT Gameplay Settings", + "Description":"If enabled, spectators will be muted (cannot chat during the game)", + "Keywords":"mute,spectators", + "FieldName":"bMuteSpectators", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bMuteSpectators", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Cheats", + "Category":"UT Gameplay Settings", + "Description":"If enabled, cheats will not be allowed", + "Keywords":"cheating", + "FieldName":"bNoCheating", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bNoCheating", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Field of View", + "Category":"UT Gameplay Settings", + "Description":"If set, field of view will be enabled", + "Keywords":"fov,field,view", + "FieldName":"bAllowFOV", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bAllowFOV", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Game Speed", + "Category":"UT Gameplay Settings", + "Description":"Sets the speed of the game", + "Keywords":"game,speed", + "FieldName":"GameSpeed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.GameSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Bot Difficulty Level", + "Category":"UT Gameplay Settings", + "Description":"Sets the difficulty level of bots on the server", + "Keywords":"bot,difficulty,level", + "FieldName":"Difficulty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.ChallengeBotInfo.Difficulty", + "IncludeInCommandLine":false, + "DefaultValue":"1.000000", + "EnumValues":{ + "0.000000":"Novice", + "1.000000":"Average (Default)", + "2.000000":"Experienced", + "3.000000":"Skilled", + "4.000000":"Adept", + "5.000000":"Masterful", + "6.000000":"Inhuman", + "7.000000":"Godlike" + } + }, + { + "DisplayName":"Adjust Bot Skill Level", + "Category":"UT Gameplay Settings", + "Description":"If enabled, the skill level of bots will increase or decrease according to the skill level of players", + "Keywords":"adjust,bot,skill,level", + "FieldName":"bAdjustSkill", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.ChallengeBotInfo.bAdjustSkill", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Assault: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Assault standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"assault,minimum,players", + "FieldName":"Assault_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Assault.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Assault: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Assault standard game type. 0 = start the game immediately", + "Keywords":"assault,wait,period", + "FieldName":"Assault_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Assault.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Assault: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Assault standard game type. 0 = no time limit", + "Keywords":"assault,time,limit", + "FieldName":"Assault_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Assault.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Capture the Flag standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"capture,flag,ctf,minimum,players", + "FieldName":"CTFGame_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.CTFGame.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Capture the Flag standard game type. 0 = start the game immediately", + "Keywords":"capture,flag,ctf,wait,period", + "FieldName":"CTFGame_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.CTFGame.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Score Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Capture the Flag standard game type. When reached by a team the game will end", + "Keywords":"capture,flag,ctf,score,limit,goal", + "FieldName":"CTFGame_GoalTeamScore", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.CTFGame.GoalTeamScore", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Capture the Flag standard game type. 0 = no time limit", + "Keywords":"capture,flag,ctf,time,limit", + "FieldName":"CTFGame_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.CTFGame.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Deathmatch standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"deathmatch,minimum,players", + "FieldName":"DeathMatchPlus_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.DeathMatchPlus.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Deathmatch standard game type. 0 = start the game immediately", + "Keywords":"deathmatch,wait,period", + "FieldName":"DeathMatchPlus_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.DeathMatchPlus.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Frag Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the frag limit (or kill limit) for the Deathmatch standard game type. When reached by a player the game will end", + "Keywords":"deathmatch,frag,limit", + "FieldName":"DeathMatchPlus_FragLimit", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.DeathMatchPlus.FragLimit", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Deathmatch standard game type. 0 = no time limit", + "Keywords":"deathmatch,time,limit", + "FieldName":"DeathMatchPlus_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.DeathMatchPlus.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Domination: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Domination standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"domination,minimum,players", + "FieldName":"Domination_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Domination.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Domination: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Domination standard game type. 0 = start the game immediately", + "Keywords":"domination,wait,period", + "FieldName":"Domination_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Domination.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Domination: Score Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Domination standard game type. When reached by a team the game will end", + "Keywords":"domination,score,limit,goal", + "FieldName":"Domination_GoalTeamScore", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Domination.GoalTeamScore", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Placeholder":"100", + "EnumValues":{} + }, + { + "DisplayName":"Domination: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Domination standard game type. 0 = no time limit", + "Keywords":"domination,time,limit", + "FieldName":"Domination_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Domination.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Team Deathmatch standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"team,deathmatch,minimum,players", + "FieldName":"TeamGamePlus_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.TeamGamePlus.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Team Deathmatch standard game type. 0 = start the game immediately", + "Keywords":"team,deathmatch,wait,period", + "FieldName":"TeamGamePlus_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.TeamGamePlus.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Frag Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the frag limit (or kill limit) for the Team Deathmatch standard game type. When reached by a team the game will end", + "Keywords":"team,deathmatch,frag,limit", + "FieldName":"TeamGamePlus_FragLimit", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.TeamGamePlus.FragLimit", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Team Deathmatch standard game type. 0 = no time limit", + "Keywords":"team,deathmatch,time,limit", + "FieldName":"TeamGamePlus_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.TeamGamePlus.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + } +] diff --git a/ut99metaconfig.json b/ut99metaconfig.json new file mode 100644 index 000000000..dbf0fe087 --- /dev/null +++ b/ut99metaconfig.json @@ -0,0 +1,12 @@ +[ + { + "ConfigFile":"System/_AMP_UnrealTournament.ini", + "AutoMap":true, + "ConfigType":"ini" + }, + { + "ConfigFile":"System/User.ini", + "AutoMap":true, + "ConfigType":"ini" + } +] \ No newline at end of file From c0f962d4869a732ceeb648ce62047e4dccc554c7 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 10 Nov 2022 12:28:00 +1100 Subject: [PATCH 071/318] Longvinter: console output and app ready regex improvements (#222) --- longvinter.kvp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/longvinter.kvp b/longvinter.kvp index 5b439669b..b07672372 100644 --- a/longvinter.kvp +++ b/longvinter.kvp @@ -2,7 +2,7 @@ Meta.DisplayName=Longvinter Meta.Description=Longvinter Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=Greelan, Tempus Thales +Meta.Author=Greelan Meta.URL=https://longvinter.com/news Meta.DisplayImageSource=steam:1635450 Meta.EndpointURIFormat= @@ -12,7 +12,8 @@ Meta.ConfigRoot=longvinter.kvp Meta.MinAMPVersion=2.4.0.6 Meta.SpecificDockerImage= Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason=The dependency git-lfs is required for the server to be successfully downloaded on Linux. Using a container avoids the need to install this dependency on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Longvinter @@ -22,8 +23,8 @@ App.ExecutableWin=1639880\Longvinter\Binaries\Win64\LongvinterServer-Win64-Shipp App.ExecutableLinux=1639880/Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping App.WorkingDir=1639880 App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} Longvinter -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdlog +App.WindowsCommandLineArgs=-FullStdOutLogOutput +App.CommandLineArgs=Longvinter -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout {{$PlatformArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1635450"} @@ -68,7 +69,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^.*LogInit: Display: Starting Game.$ +Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogWorld: Bringing up level for play took: \d+\.\d+$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ From d304de439793b6f25fe5da32913ed370b15039be Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 10 Nov 2022 12:29:36 +1100 Subject: [PATCH 072/318] Update day-of-dragons.kvp (#220) --- day-of-dragons.kvp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/day-of-dragons.kvp b/day-of-dragons.kvp index 7057f2f65..32a3a6efc 100644 --- a/day-of-dragons.kvp +++ b/day-of-dragons.kvp @@ -25,8 +25,8 @@ App.ExecutableWin=1088320\Dragons\Binaries\Win64\DragonsServer-Win64-Shipping.ex App.ExecutableLinux=1088320/Dragons/Binaries/Linux/DragonsServer-Linux-Shipping App.WorkingDir=1088320 App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=Dragons {{$PlatformArgs}} -log -Port={{$GamePort}} -QueryPort={{$QueryPort}} -SteamServerName="{{SteamServerName}}" {{$FormattedArgs}} +App.WindowsCommandLineArgs=-FullStdOutLogOutput +App.CommandLineArgs=Dragons -Port={{$GamePort}} -QueryPort={{$QueryPort}} -SteamServerName="{{SteamServerName}}" {{$FormattedArgs}} -stdout {{$PlatformArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1088090"} @@ -71,7 +71,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?LogGameMode: Display: Match State Changed from WaitingToStart to InProgress$ +Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]DragonsLog: \[(?:.+?)\] All streaming levels loaded!$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ From 95e86fc37d408ad88c051093be14e87eb5ce322e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 10 Nov 2022 12:30:54 +1100 Subject: [PATCH 073/318] The Isle (Legacy and EVRIMA): general updates (#221) --- theisle-evrima.kvp | 12 ++++++------ theisle-legacy.kvp | 35 +++++++++++++++++------------------ 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/theisle-evrima.kvp b/theisle-evrima.kvp index 06f963bc9..644c69211 100644 --- a/theisle-evrima.kvp +++ b/theisle-evrima.kvp @@ -21,8 +21,8 @@ App.ExecutableWin=412680/TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe App.ExecutableLinux=412680/TheIsle/Binaries/Linux/TheIsleServer-Linux-Shipping App.WorkingDir=412680 App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} TheIsle -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -log -ini:Engine:[EpicOnlineServices]:DedicatedServerClientId=xyza7891gk5PRo3J7G9puCJGFJjmEguW -ini:Engine:[EpicOnlineServices]:DedicatedServerClientSecret=pKWl6t5i9NJK8gTpVlAxzENZ65P8hYzodV8Dqe5Rlc8 +App.WindowsCommandLineArgs=-FullStdOutLogOutput +App.CommandLineArgs=TheIsle -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout {{$PlatformArgs}} -ini:Engine:[EpicOnlineServices]:DedicatedServerClientId=xyza7891gk5PRo3J7G9puCJGFJjmEguW -ini:Engine:[EpicOnlineServices]:DedicatedServerClientSecret=pKWl6t5i9NJK8gTpVlAxzENZ65P8hYzodV8Dqe5Rlc8 App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210"} App.CommandLineParameterFormat=-{0}={1} @@ -36,11 +36,11 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Name":"Game Port","Description":"Port for game traffic","Port":7777,"Ref":"GamePort"},{"Protocol":"Both","Name":"Query Port","Description":"Port for server query traffic","Port":7778,"Ref":"QueryPort"},{"Protocol":"TCP","Name":"Queue Port","Description":"Port for queue server traffic","Port":10000,"Ref":"QueuePort"},{"Protocol":"TCP","Name":"RCON Port","Description":"Port for RCON traffic","Port":8888,"Ref":"RCONPort"}] +App.Ports=[{"Protocol":"Both","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":7778,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server query traffic"},{"Protocol":"TCP","Port":10000,"Ref":"QueuePort","Name":"Queue Port","Description":"Port for queue server traffic"},{"Protocol":"TCP","Port":8888,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] App.PrimaryApplicationPortRef=GamePort App.AdminPortRef=RCONPort App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef= +App.UniversalSleepSteamQueryPortRef=0 App.MaxUsers=50 App.UseRandomAdminPassword=False App.RemoteAdminPassword= @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceVersion":"evrima"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-evrimagame.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./theisle/412680/TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./theisle/412680/TheIsle/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Copy","UpdateSourcePlatform":"Windows","UpdateSource":"CopyFilePath","UpdateSourceData":"./theisle/412680/TheIsle/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"./theisle-evrimagame.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Copy","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"./theisle/412680/TheIsle/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"./theisle-evrimagame.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceVersion":"evrima"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-evrimagame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-evrimagame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -60,7 +60,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=\[\d+m Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^(\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\])?LogInit: Display: Engine is initialized\. Leaving FEngineLoop::Init\(\)$ +Console.AppReadyRegex=^\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\]LogLoad: Took \d+\.\d+ seconds to LoadMap\(\/Game\/TheIsle\/Maps\/Game\/(?:.+)\)$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ diff --git a/theisle-legacy.kvp b/theisle-legacy.kvp index af7c94939..05beec873 100644 --- a/theisle-legacy.kvp +++ b/theisle-legacy.kvp @@ -5,7 +5,7 @@ Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://survivetheisle.com/ Meta.DisplayImageSource=steam:376210 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2} Meta.ConfigManifest=theisle-legacyconfig.json Meta.MetaConfigManifest=theisle-legacymetaconfig.json Meta.ConfigRoot=theisle-legacy.kvp @@ -18,13 +18,13 @@ App.DisplayName=The Isle (Legacy) App.RootDir=./theisle/ App.BaseDirectory=./theisle/412680/ App.ExecutableWin=412680/TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe -App.ExecutableLinux=1580130/proton -App.WorkingDir=412680/TheIsle/Binaries/Win64 -App.LinuxCommandLineArgs=run {{$FullBaseDir}}TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} TheIsle {{Map}}?game={{GameMode}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} {{$FormattedArgs}} -log +App.ExecutableLinux= +App.WorkingDir=412680 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs=-FullStdOutLogOutput +App.CommandLineArgs=TheIsle {{Map}}?game={{GameMode}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} {{$FormattedArgs}} -stdout {{$PlatformArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210","STEAM_COMPAT_DATA_PATH":"{{$FullRootDir}}1580130","STEAM_COMPAT_CLIENT_INSTALL_PATH":"{{$FullRootDir}}1580130"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210"} App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -36,10 +36,11 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=7777 -App.ApplicationPort2=7778 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 +App.Ports=[{"Protocol":"Both","Port":7777,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":7778,"Ref":"ApplicationPort2","Name":"Query Port","Description":"Port for server query traffic"}] +App.PrimaryApplicationPortRef=ApplicationPort1 +App.AdminPortRef=0 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort2 App.MaxUsers=50 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 @@ -47,24 +48,22 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Proton Compatibility Layer","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1580130"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-legacygame.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./theisle/412680/TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Game Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./theisle/412680/TheIsle/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"./theisle-legacygame.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-legacygame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=1 -App.UniversalSleepSteamQueryPort=2 App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^LogGameMode: Display: Match State Changed from WaitingToStart to InProgress$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex=^LogIChat: \[[\d\:]+\] (\(.*\) )?(?.+?): (?.+)$ +Console.AppReadyRegex=^\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\]LogGameState: Match State Changed from WaitingToStart to InProgress$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^(?:\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\])?LogIChat: \[[\d\:]+\] (\(.*\) )?(?.+?): (?.+)$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.SuppressLogAtStart=False Console.ActivateLogRegex= From c773c29326d97da543338813305f21e1d9fb7c4a Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 10 Nov 2022 12:33:31 +1100 Subject: [PATCH 074/318] Add UT2004 (#218) --- ut2004.kvp | 86 ++++ ut2004config.json | 1133 +++++++++++++++++++++++++++++++++++++++++ ut2004metaconfig.json | 7 + 3 files changed, 1226 insertions(+) create mode 100644 ut2004.kvp create mode 100644 ut2004config.json create mode 100644 ut2004metaconfig.json diff --git a/ut2004.kvp b/ut2004.kvp new file mode 100644 index 000000000..7e3f82202 --- /dev/null +++ b/ut2004.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=Unreal Tournament 2004 +Meta.Description=Unreal Tournament 2004 Dedicated Server. Based on v3369.3 with bonus packs +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan, TABLE +Meta.URL=https://unreal.fandom.com/wiki/Unreal_Tournament_2004 +Meta.DisplayImageSource=steam:13230 +Meta.EndpointURIFormat= +Meta.ConfigManifest=ut2004config.json +Meta.MetaConfigManifest=ut2004metaconfig.json +Meta.ConfigRoot=ut2004.kvp +Meta.MinAMPVersion=2.4.0.8 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Unreal Tournament 2004 +App.RootDir=./ut2004/ +App.BaseDirectory=./ut2004/ +App.ExecutableWin=System\UCC.exe +App.ExecutableLinux=System/ucc-bin-linux-amd64 +App.WorkingDir=System +App.LinuxCommandLineArgs=-nohomedir +App.WindowsCommandLineArgs= +App.CommandLineArgs=server {{MapName}}?{{$FormattedArgs}} ini=UT2004.ini log=server.log port={{$GamePort}} {{$PlatformArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"SteamAppId":"13230"} +App.CommandLineParameterFormat={0}={1} +App.CommandLineParameterDelimiter=? +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=stop +App.ExitFile=lock +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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":8888,"Ref":"WebserverPort","Name":"Webserver Port","Description":"Port for webserver traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=16 +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":"GitRepo","UpdateSourceData":"https://github.com/IceOfWraith/UT2004.git","UpdateSourceArgs":"UT2004","UpdateSourceTarget":"{{$FullRootDir}}"},{"UpdateStageName":"Pause Update Stages","UpdateSourcePlatform":"Linux","UpdateSource":"Pause","UpdateSourceArgs":"2"},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}System/ucc-bin-linux-amd64"}] +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=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^Bringing Level (?:.+?) up for play \(\d+\) appSeconds: \d+\.\d+\.\.\.$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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 \ No newline at end of file diff --git a/ut2004config.json b/ut2004config.json new file mode 100644 index 000000000..9848ecf28 --- /dev/null +++ b/ut2004config.json @@ -0,0 +1,1133 @@ +[ + { + "DisplayName":"Game Port", + "Category":"UT2004 Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"URL.Port", + "IncludeInCommandLine":false, + "DefaultValue":"7777", + "EnumValues":{} + }, + { + "DisplayName":"Webserver Port", + "Category":"UT2004 Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$WebserverPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"UWeb.WebServer.ListenPort", + "IncludeInCommandLine":false, + "DefaultValue":"8888", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"UT2004 Server Settings", + "Description":"Sets the name of the server shown publicly", + "Keywords":"name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered UT2004 Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Shortname", + "Category":"UT2004 Server Settings", + "Description":"Sets the shortname of the server shown publicly", + "Keywords":"short,name", + "FieldName":"ShortName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.ShortName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Admin Name", + "Category":"UT2004 Server Settings", + "Description":"Sets the name of the server admin shown publicly", + "Keywords":"admin,name", + "FieldName":"AdminName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.AdminName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Welcome Message", + "Category":"UT2004 Server Settings", + "Description":"Player welcome message (MOTD)", + "Keywords":"welcome,message", + "FieldName":"MessageOfTheDay", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.MessageOfTheDay", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to UT2004", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"UT2004 Server Settings", + "Description":"If enabled, the server will be registered to the master server and be publicly visible in the in-game browser", + "Keywords":"public,master", + "FieldName":"DoUplink", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"IpDrv.MasterServerUplink.DoUplink", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Server Behind NAT", + "Category":"UT2004 Server Settings", + "Description":"Enable this setting if your server is on a NATed network, to ensure it shows the correct ping in the master server browser", + "Keywords":"nat", + "FieldName":"ServerBehindNAT", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"IpDrv.MasterServerUplink.ServerBehindNAT", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Server Password", + "Category":"UT2004 Server Settings", + "Description":"Password for players and spectators to connect to the server", + "Keywords":"password", + "FieldName":"GamePassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"Engine.AccessControl.GamePassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Mode", + "Category":"UT2004 Server Settings", + "Description":"Sets the server admin mode - either Standard (single admin user) or xAdmin (multiple admin users). xAdmin users must be configured in xAdmin.ini", + "Keywords":"admin,mode", + "FieldName":"AccessControlClass", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.AccessControlClass", + "DefaultValue":"Engine.AccessControl", + "EnumValues":{ + "Engine.AccessControl":"Standard", + "XAdmin.AccessControlIni":"xAdmin" + } + }, + { + "DisplayName":"Standard Admin Password", + "Category":"UT2004 Server Settings", + "Description":"In-game and webserver admin password (for Standard admin mode)", + "Keywords":"admin,password", + "FieldName":"AdminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"Engine.AccessControl.AdminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"UT2004 Server Settings", + "Description":"Maximum number of players that may connect to the server", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Spectator Limit", + "Category":"UT2004 Server Settings", + "Description":"Maximum number of spectators that may connect to the server", + "Keywords":"spectators,limit", + "FieldName":"MaxSpectators", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.MaxSpectators", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Suffix":"spectators", + "EnumValues":{} + }, + { + "DisplayName":"Map Name", + "Category":"UT2004 Server Settings", + "Description":"Sets the name of the map to load. The Game Type must match. If Custom is selected, the Custom Map Name must also be set", + "Keywords":"map,name", + "FieldName":"MapName", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"MapName", + "IncludeInCommandLine":false, + "DefaultValue":"ONS-Torlan", + "EnumValues":{ + "AS-BP2-Acatana":"AS-BP2-Acatana", + "AS-BP2-Jumpship":"AS-BP2-Jumpship", + "AS-BP2-Outback":"AS-BP2-Outback", + "AS-BP2-SubRosa":"AS-BP2-SubRosa", + "AS-BP2-Thrust":"AS-BP2-Thrust", + "AS-Confexia":"AS-Confexia", + "AS-Convoy":"AS-Convoy", + "AS-FallenCity":"AS-FallenCity", + "AS-Glacier":"AS-Glacier", + "AS-Junkyard":"AS-Junkyard", + "AS-MotherShip":"AS-MotherShip", + "AS-RobotFactory":"AS-RobotFactory", + "BR-Anubis":"BR-Anubis", + "BR-Bifrost":"BR-Bifrost", + "BR-BridgeOfFate":"BR-BridgeOfFate", + "BR-Canyon":"BR-Canyon", + "BR-Colossus":"BR-Colossus", + "BR-DE-ElecFields":"BR-DE-ElecFields", + "BR-Disclosure":"BR-Disclosure", + "BR-IceFields":"BR-IceFields", + "BR-Serenity":"BR-Serenity", + "BR-Skyline":"BR-Skyline", + "BR-Slaughterhouse":"BR-Slaughterhouse", + "BR-TwinTombs":"BR-TwinTombs", + "CTF-1on1-Joust":"CTF-1on1-Joust", + "CTF-AbsoluteZero":"CTF-AbsoluteZero", + "CTF-Avaris":"CTF-Avaris", + "CTF-BP2-Concentrate":"CTF-BP2-Concentrate", + "CTF-BP2-Pistola":"CTF-BP2-Pistola", + "CTF-BridgeOfFate":"CTF-BridgeOfFate", + "CTF-Chrome":"CTF-Chrome", + "CTF-Citadel":"CTF-Citadel", + "CTF-Colossus":"CTF-Colossus", + "CTF-DE-ElecFields":"CTF-DE-ElecFields", + "CTF-DE-LavaGiant2":"CTF-DE-LavaGiant2", + "CTF-December":"CTF-December", + "CTF-DoubleDammage":"CTF-DoubleDammage", + "CTF-Face3":"CTF-Face3", + "CTF-FaceClassic":"CTF-FaceClassic", + "CTF-Geothermal":"CTF-Geothermal", + "CTF-Grassyknoll":"CTF-Grassyknoll", + "CTF-Grendelkeep":"CTF-Grendelkeep", + "CTF-January":"CTF-January", + "CTF-Lostfaith":"CTF-Lostfaith", + "CTF-Magma":"CTF-Magma", + "CTF-Maul":"CTF-Maul", + "CTF-MoonDragon":"CTF-MoonDragon", + "CTF-Orbital2":"CTF-Orbital2", + "CTF-Smote":"CTF-Smote", + "CTF-TwinTombs":"CTF-TwinTombs", + "DM-1on1-Albatross":"DM-1on1-Albatross", + "DM-1on1-Crash":"DM-1on1-Crash", + "DM-1on1-Desolation":"DM-1on1-Desolation", + "DM-1on1-Idoma":"DM-1on1-Idoma", + "DM-1on1-Irondust":"DM-1on1-Irondust", + "DM-1on1-Mixer":"DM-1on1-Mixer", + "DM-1on1-Roughinery":"DM-1on1-Roughinery", + "DM-1on1-Serpentine":"DM-1on1-Serpentine", + "DM-1on1-Spirit":"DM-1on1-Spirit", + "DM-1on1-Squader":"DM-1on1-Squader", + "DM-1on1-Trite":"DM-1on1-Trite", + "DM-Antalus":"DM-Antalus", + "DM-Asbestos":"DM-Asbestos", + "DM-BP2-Calandras":"DM-BP2-Calandras", + "DM-BP2-GoopGod":"DM-BP2-GoopGod", + "DM-Compressed":"DM-Compressed", + "DM-Corrugation":"DM-Corrugation", + "DM-Curse4":"DM-Curse4", + "DM-DE-GrendelKeep":"DM-DE-GrendelKeep", + "DM-DE-Ironic":"DM-DE-Ironic", + "DM-DE-Osiris2":"DM-DE-Osiris2", + "DM-Deck17":"DM-Deck17", + "DM-DesertIsle":"DM-DesertIsle", + "DM-Flux2":"DM-Flux2", + "DM-Forbidden":"DM-Forbidden", + "DM-Gael":"DM-Gael", + "DM-Gestalt":"DM-Gestalt", + "DM-Goliath":"DM-Goliath", + "DM-HyperBlast2":"DM-HyperBlast2", + "DM-Icetomb":"DM-Icetomb", + "DM-Inferno":"DM-Inferno", + "DM-Injector":"DM-Injector", + "DM-Insidious":"DM-Insidious", + "DM-IronDeity":"DM-IronDeity", + "DM-Junkyard":"DM-Junkyard", + "DM-Leviathan":"DM-Leviathan", + "DM-Metallurgy":"DM-Metallurgy", + "DM-Morpheus3":"DM-Morpheus3", + "DM-Oceanic":"DM-Oceanic", + "DM-Phobos2":"DM-Phobos2", + "DM-Plunge":"DM-Plunge", + "DM-Rankin":"DM-Rankin", + "DM-Rrajigar":"DM-Rrajigar", + "DM-Rustatorium":"DM-Rustatorium", + "DM-Sulphur":"DM-Sulphur", + "DM-TokaraForest":"DM-TokaraForest", + "DM-TrainingDay":"DM-TrainingDay", + "DOM-Access":"DOM-Access", + "DOM-Aswan":"DOM-Aswan", + "DOM-Atlantis":"DOM-Atlantis", + "DOM-Conduit":"DOM-Conduit", + "DOM-Core":"DOM-Core", + "DOM-Junkyard":"DOM-Junkyard", + "DOM-OutRigger":"DOM-OutRigger", + "DOM-Renascent":"DOM-Renascent", + "DOM-Ruination":"DOM-Ruination", + "DOM-ScorchedEarth":"DOM-ScorchedEarth", + "DOM-SepukkuGorge":"DOM-SepukkuGorge", + "DOM-Suntemple":"DOM-Suntemple", + "Entry":"Entry", + "ONS-Adara":"ONS-Adara", + "ONS-ArcticStronghold":"ONS-ArcticStronghold", + "ONS-Aridoom":"ONS-Aridoom", + "ONS-Ascendancy":"ONS-Ascendancy", + "ONS-Crossfire":"ONS-Crossfire", + "ONS-Dawn":"ONS-Dawn", + "ONS-Dria":"ONS-Dria", + "ONS-FrostBite":"ONS-FrostBite", + "ONS-Icarus":"ONS-Icarus", + "ONS-IslandHop":"ONS-IslandHop", + "ONS-Primeval":"ONS-Primeval", + "ONS-RedPlanet":"ONS-RedPlanet", + "ONS-Severance":"ONS-Severance", + "ONS-Torlan":"ONS-Torlan (Default)", + "ONS-Tricky":"ONS-Tricky", + "ONS-Urban":"ONS-Urban", + "{{CustomMap}}":"Custom" + } + }, + { + "DisplayName":"Custom Map Name", + "Category":"UT2004 Server Settings", + "Description":"If Custom map is selected, sets the name of the map. The map file must be included in the Maps directory", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"DM-1on1-Lea", + "EnumValues":{} + }, + { + "DisplayName":"Auto Rotate Maps", + "Category":"UT2004 Server Settings", + "Description":"If enabled, the server map will automatically rotate", + "Keywords":"rotate,map", + "FieldName":"bChangeLevels", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bChangeLevels", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Game Type", + "Category":"UT2004 Server Settings", + "Description":"Sets the game type for the server. If Custom is selected, the Custom Game Type Name must also be set", + "Keywords":"game,type", + "FieldName":"game", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"Onslaught.ONSOnslaughtGame", + "EnumValues":{ + "UT2K4Assault.ASGameInfo":"Assault", + "XGame.xBombingRun":"Bombing Run", + "XGame.xCTFGame":"Capture The Flag", + "XGame.xDeathMatch":"Deathmatch", + "XGame.xDoubleDom":"Double Domination", + "SkaarjPack.Invasion":"Invasion", + "BonusPack.xLastManStandingGame":"Last Man Standing", + "BonusPack.xMutantGame":"Mutant", + "Onslaught.ONSOnslaughtGame":"Onslaught (Default)", + "XGame.xTeamGame":"Team Deathmatch", + "XGame.xVehicleCTFGame":"Vehicle CTF (Requires Custom Maps)", + "{{CustomGame}}":"Custom" + } + }, + { + "DisplayName":"Custom Game Type Name", + "Category":"UT2004 Server Settings", + "Description":"If Custom game type is selected, sets the name of the game type", + "Keywords":"custom,game,type", + "FieldName":"CustomGame", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomGame", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"JailBreak.JailBreak", + "EnumValues":{} + }, + { + "DisplayName":"Mutators", + "Category":"UT2004 Server Settings", + "Description":"Comma-separated list of mutators to enable on the server", + "Keywords":"mutators", + "FieldName":"mutator", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"mutator", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "Placeholder":"XGame.MutInstaGib,UnrealGame.MutLowGrav", + "EnumValues":{} + }, + { + "DisplayName":"Redirection URL", + "Category":"UT2004 Server Settings", + "Description":"Sets the URL for a redirection website for clients to download required files. The URL must end in a slash", + "Keywords":"redirection,url", + "FieldName":"RedirectToURL", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"IpDrv.HTTPDownload.RedirectToURL", + "IncludeInCommandLine":false, + "DefaultValue":"http://uz.ut-files.com/", + "Placeholder":"http://uz.ut-files.com/", + "EnumValues":{} + }, + { + "DisplayName":"Enable Webserver", + "Category":"UT2004 Server Settings", + "Description":"If enabled, the server's webserver will operate", + "Keywords":"webserver", + "FieldName":"bEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"UWeb.WebServer.bEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Gore Level", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the level of gore displayed in-game", + "Keywords":"gore,level", + "FieldName":"GoreLevel", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.GoreLevel", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{} + }, + { + "DisplayName":"Mute Spectators", + "Category":"UT2004 Gameplay Settings", + "Description":"If enabled, spectators will be muted (cannot chat during the game)", + "Keywords":"mute,spectators", + "FieldName":"bMuteSpectators", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.BroadcastHandler.bMuteSpectators", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Kick Idle Players", + "Category":"UT2004 Gameplay Settings", + "Description":"If enabled, idle players will be kicked after the set interval. 0 = no idle kicking", + "Keywords":"kick,idle", + "FieldName":"MaxIdleTime", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.MaxIdleTime", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Players", + "Category":"UT2004 Gameplay Settings", + "Description":"Minimum number of players for all standard game types. Vacant slots will be filled with bots, unless bots are disabled. 0 = no minimum", + "Keywords":"minimum,players", + "FieldName":"MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"UnrealGame.UnrealMPGameInfo.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Disable Bots", + "Category":"UT2004 Gameplay Settings", + "Description":"If enabled, bots will not join the server", + "Keywords":"disable,bots", + "FieldName":"bNoBots", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bNoBots", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Bot Difficulty Level", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the difficulty level of bots on the server", + "Keywords":"bot,difficulty,level", + "FieldName":"GameDifficulty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.GameDifficulty", + "IncludeInCommandLine":false, + "DefaultValue":"1.000000", + "EnumValues":{ + "0.000000":"Novice", + "1.000000":"Average (Default)", + "2.000000":"Experienced", + "3.000000":"Skilled", + "4.000000":"Adept", + "5.000000":"Masterful", + "6.000000":"Inhuman", + "7.000000":"Godlike" + } + }, + { + "DisplayName":"Assault: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Assault standard game type. 0 = start the game immediately", + "Keywords":"assault,wait,period", + "FieldName":"ASGameInfo_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"UT2k4Assault.ASGameInfo.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Assault: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Assault standard game type. 0 = no time limit", + "Keywords":"assault,time,limit", + "FieldName":"ASGameInfo_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"UT2k4Assault.ASGameInfo.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Assault: Round Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the number of pairs of rounds a game lasts for the Assault standard game type", + "Keywords":"assault,round,limit", + "FieldName":"ASGameInfo_RoundLimit", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"UT2k4Assault.ASGameInfo.RoundLimit", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Assault: Round Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the time period a round lasts for the Assault standard game type", + "Keywords":"assault,round,time,limit", + "FieldName":"ASGameInfo_RoundTimeLimit", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"UT2k4Assault.ASGameInfo.RoundTimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Assault: Practice Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the time period the practice round lasts for the Assault standard game type", + "Keywords":"assault,practice,time,limit", + "FieldName":"ASGameInfo_PracticeTimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"UT2k4Assault.ASGameInfo.PracticeTimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Bombing Run: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Bombing Run standard game type. 0 = start the game immediately", + "Keywords":"bombing,run,wait,period", + "FieldName":"xBombingRun_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xBombingRun.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Bombing Run: Score Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Bombing Run standard game type. When reached by a team the game will end. 0 = no score limit", + "Keywords":"bombing,run,score,limit,goal", + "FieldName":"xBombingRun_GoalScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xBombingRun.GoalScore", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "Placeholder":"15", + "EnumValues":{} + }, + { + "DisplayName":"Bombing Run: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Bombing Run standard game type. 0 = no time limit", + "Keywords":"bombing,run,time,limit", + "FieldName":"xBombingRun_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xBombingRun.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Capture The Flag standard game type. 0 = start the game immediately", + "Keywords":"capture,flag,ctf,wait,period", + "FieldName":"xCTFGame_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xCTFGame.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Score Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Capture the Flag standard game type. When reached by a team the game will end. 0 = no score limit", + "Keywords":"capture,flag,ctf,score,limit,goal", + "FieldName":"xCTFGame_GoalScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xCTFGame.GoalScore", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Capture the Flag standard game type. 0 = no time limit", + "Keywords":"capture,flag,ctf,time,limit", + "FieldName":"xCTFGame_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xCTFGame.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Deathmatch standard game type. 0 = start the game immediately", + "Keywords":"deathmatch,wait,period", + "FieldName":"xDeathMatch_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xDeathMatch.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Score Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Deathmatch standard game type. When reached by a player the game will end. 0 = no score limit", + "Keywords":"deathmatch,score,limit,goal", + "FieldName":"xDeathMatch_GoalScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xDeathMatch.GoalScore", + "IncludeInCommandLine":false, + "DefaultValue":"25", + "Placeholder":"25", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Deathmatch standard game type. 0 = no time limit", + "Keywords":"deathmatch,time,limit", + "FieldName":"xDeathMatch_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xDeathMatch.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Double Domination: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Double Domination standard game type. 0 = start the game immediately", + "Keywords":"double,domination,wait,period", + "FieldName":"xDoubleDom_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xDoubleDom.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Double Domination: Score Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Double Domination standard game type. When reached by a team the game will end. 0 = no score limit", + "Keywords":"double,domination,score,limit,goal", + "FieldName":"xDoubleDom_GoalScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xDoubleDom.GoalScore", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Double Domination: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Double Domination standard game type. 0 = no time limit", + "Keywords":"double,domination,time,limit", + "FieldName":"xDoubleDom_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xDoubleDom.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Double Domination: Time To Score", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long a team needs to hold both domination points before scoring", + "Keywords":"double,domination,time,score", + "FieldName":"xDoubleDom_TimeToScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xDoubleDom.TimeToScore", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Invasion: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Invasion standard game type. 0 = start the game immediately", + "Keywords":"invasion,wait,period", + "FieldName":"Invasion_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"SkaarjPack.Invasion.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Invasion: Score Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Invasion standard game type. When reached by a player the game will end. 0 = no score limit", + "Keywords":"invasion,score,limit,goal", + "FieldName":"Invasion_GoalScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"SkaarjPack.Invasion.GoalScore", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "EnumValues":{} + }, + { + "DisplayName":"Invasion: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Invasion standard game type. 0 = no time limit", + "Keywords":"invasion,time,limit", + "FieldName":"Invasion_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"SkaarjPack.Invasion.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Invasion: Maximum Lives", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the number of lives a player has before they are out of the game for the Invasion standard game type", + "Keywords":"invasion,max,lives", + "FieldName":"Invasion_MaxLives", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"SkaarjPack.Invasion.MaxLives", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "Placeholder":"4", + "EnumValues":{} + }, + { + "DisplayName":"Invasion: Initial Wave", + "Category":"UT2004 Gameplay Settings", + "Description":"Specifies the first wave of incoming monsters", + "Keywords":"invasion,initial,wave", + "FieldName":"Invasion_InitialWave", + "InputType":"number", + "MinValue":"0", + "MaxValue":"16", + "IsFlagArgument":false, + "ParamFieldName":"SkaarjPack.Invasion.InitialWave", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Invasion: Final Wave", + "Category":"UT2004 Gameplay Settings", + "Description":"Specifies the final wave of incoming monsters that must be completed to finish the game", + "Keywords":"invasion,final,wave", + "FieldName":"Invasion_FinalWave", + "InputType":"number", + "MinValue":"0", + "MaxValue":"16", + "IsFlagArgument":false, + "ParamFieldName":"SkaarjPack.Invasion.FinalWave", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "Placeholder":"16", + "EnumValues":{} + }, + { + "DisplayName":"Last Man Standing: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Last Man Standing standard game type. 0 = start the game immediately", + "Keywords":"lms,last,man,standing,wait,period", + "FieldName":"xLastManStandingGame_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"BonusPack.xLastManStandingGame.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Last Man Standing: Score Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Last Man Standing standard game type. When reached by a player the game will end. 0 = no score limit", + "Keywords":"lms,last,man,standing,score,limit,goal", + "FieldName":"xLastManStandingGame_GoalScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"BonusPack.xLastManStandingGame.GoalScore", + "IncludeInCommandLine":false, + "DefaultValue":"25", + "Placeholder":"25", + "EnumValues":{} + }, + { + "DisplayName":"Last Man Standing: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Last Man Standing standard game type. 0 = no time limit", + "Keywords":"lms,last,man,standing,time,limit", + "FieldName":"xLastManStandingGame_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"BonusPack.xLastManStandingGame.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Last Man Standing: Maximum Lives", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the number of lives a player has before they are out of the game for the Last Man Standing standard game type", + "Keywords":"lms,last,man,standing,max,lives", + "FieldName":"xLastManStandingGame_MaxLives", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"BonusPack.xLastManStandingGame.MaxLives", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "Placeholder":"4", + "EnumValues":{} + }, + { + "DisplayName":"Mutant: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Mutant standard game type. 0 = start the game immediately", + "Keywords":"mutant,wait,period", + "FieldName":"xMutantGame_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"BonusPack.xMutantGame.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Mutant: Score Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Mutant standard game type. When reached by a player the game will end. 0 = no score limit", + "Keywords":"mutant,score,limit,goal", + "FieldName":"xMutantGame_GoalScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"BonusPack.xMutantGame.GoalScore", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "EnumValues":{} + }, + { + "DisplayName":"Mutant: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Mutant standard game type. 0 = no time limit", + "Keywords":"mutant,time,limit", + "FieldName":"xMutantGame_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"BonusPack.xMutantGame.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Mutant: Enable Bottom Feeder", + "Category":"UT2004 Gameplay Settings", + "Description":"If enabled, the player with the lowest score can kill other players for the Mutant standard game type", + "Keywords":"mutant,bottom,feeder", + "FieldName":"xMutantGame.bEnableBottomFeeder", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"BonusPack.xMutantGame.bEnableBottomFeeder", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Team Deathmatch: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Team Deathmatch standard game type. 0 = start the game immediately", + "Keywords":"team,deathmatch,wait,period", + "FieldName":"xTeamGame_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xTeamGame.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Score Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Team Deathmatch standard game type. When reached by a team the game will end. 0 = no score limit", + "Keywords":"team,deathmatch,score,limit,goal", + "FieldName":"xTeamGame_GoalScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xTeamGame.GoalScore", + "IncludeInCommandLine":false, + "DefaultValue":"25", + "Placeholder":"25", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Team Deathmatch standard game type. 0 = no time limit", + "Keywords":"team,deathmatch,time,limit", + "FieldName":"xTeamGame_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"XGame.xTeamGame.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Onslaught: Player Wait Period", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Onslaught standard game type. 0 = start the game immediately", + "Keywords":"onslaught,wait,period", + "FieldName":"ONSOnslaughtGame_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Onslaught.ONSOnslaughtGame.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "Placeholder":"15", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Onslaught: Score Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Onslaught standard game type. When reached by a player the game will end. 0 = no score limit", + "Keywords":"onslaught,score,limit,goal", + "FieldName":"ONSOnslaughtGame_GoalScore", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Onslaught.ONSOnslaughtGame.GoalScore", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Onslaught: Time Limit", + "Category":"UT2004 Gameplay Settings", + "Description":"Sets the game time limit for the Onslaught standard game type. 0 = no time limit", + "Keywords":"onslaught,time,limit", + "FieldName":"ONSOnslaughtGame_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Onslaught.ONSOnslaughtGame.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"minutes", + "EnumValues":{} + } +] \ No newline at end of file diff --git a/ut2004metaconfig.json b/ut2004metaconfig.json new file mode 100644 index 000000000..066b56916 --- /dev/null +++ b/ut2004metaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"System/UT2004.ini", + "AutoMap":true, + "ConfigType":"ini" + } +] \ No newline at end of file From 22dd5ecef9ff0ccc51f360b98d4eef80a56b3580 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 11 Nov 2022 14:05:12 -0600 Subject: [PATCH 075/318] Add Portal Knights (#115) * Add Portal Knights (draft) This is the first draft for Portal Knights. It currently seems to function fine on Windows. I have not completed the Linux (Proton) support yet. * Add Proton Updated config to include Proton support. * Add new Ports setup and WINE/Docker * Add extract stage * Create manifest.json * Delete manifest.json * Finalize Settings * Final updates * Update repo source --- portal-knights.kvp | 84 ++++++ portal-knightsconfig.json | 438 +++++++++++++++++++++++++++++++ portal-knightsmetaconfig.json | 7 + portal-knightsserver_config.json | 45 ++++ 4 files changed, 574 insertions(+) create mode 100644 portal-knights.kvp create mode 100644 portal-knightsconfig.json create mode 100644 portal-knightsmetaconfig.json create mode 100644 portal-knightsserver_config.json diff --git a/portal-knights.kvp b/portal-knights.kvp new file mode 100644 index 000000000..584500a24 --- /dev/null +++ b/portal-knights.kvp @@ -0,0 +1,84 @@ +Meta.DisplayName=Portal Knights +Meta.Description=Portal Knights Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=IceOfWraith +Meta.URL=https://store.steampowered.com/app/374040/Portal_Knights/ +Meta.DisplayImageSource=steam:374040 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=portal-knightsconfig.json +Meta.MetaConfigManifest=portal-knightsmetaconfig.json +Meta.ConfigRoot=portal-knights.kvp +Meta.MinAMPVersion= +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Portal Knights +App.RootDir=./portal-knights/ +App.BaseDirectory=./portal-knights/374040/ +App.ExecutableWin=374040\pk_dedicated_server.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=374040 +App.LinuxCommandLineArgs=-a wine "./pk_dedicated_server.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -config "{{$FullBaseDir}}server_config.json" -log Server.log +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"374040"} +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":2,"Port":28001,"Offset":0,"Range":1,"Ref":"GamePort","Name":"Game Port","Description":"Main game port","ChildPorts":null}] +App.AdminPortRef= +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef= +App.UniversalSleepSteamQueryPortRef= +App.MaxUsers=4 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "374040", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Windows", "UpdateSource": "Executable", "UpdateSourceData": "cmd.exe", "UpdateSourceArgs": "/C cd portal-knights\\374040 && tar -xf dedicated_server.zip"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", "UpdateSourceArgs": "-c 'cd portal-knights/374040 && unzip -u dedicated_server.zip'"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/portal-knightsserver_config.json","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceArgs":"server_config.json","OverwriteExistingFiles":false}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=3000 +App.MonitorChildProcessName=wine64 +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^.*\'ReadyToServe\'\:\:Execute .*$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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 \ No newline at end of file diff --git a/portal-knightsconfig.json b/portal-knightsconfig.json new file mode 100644 index 000000000..d86eb7412 --- /dev/null +++ b/portal-knightsconfig.json @@ -0,0 +1,438 @@ +[ + { + "DisplayName":"Server Name", + "Category":"PK - Server Settings", + "Description":"The name that your dedicated server will display.", + "Keywords":"server,name", + "FieldName":"name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.basicServerData.name", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Portal Knights Server", + "EnumValues":{} + }, + { + "DisplayName":"Game IP", + "Category":"PK - Server Settings", + "Description":"The local network IP address of your dedicated server. The address 0.0.0.0 allows the host computer to listen to all local network traffic. You probably won't need to change this unless you're setting up your server to work on a specific network card or interface.", + "Keywords":"", + "FieldName":"$ApplicationIPBinding", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.basicServerData.ipv4", + "IncludeInCommandLine":false + }, + { + "DisplayName":"Game Port", + "Category":"PK - Server Settings", + "Description":"The port for the dedicated server.", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.basicServerData.port", + "IncludeInCommandLine":false + }, + { + "DisplayName":"Save Folder Path", + "Category":"PK - Server Settings", + "Description":"This is the location where save data will be written.", + "Keywords":"Save,folder,path", + "FieldName":"saveFolderPath", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.basicServerData.saveFolderPath", + "IncludeInCommandLine":false, + "DefaultValue":"./savedata" + }, + { + "DisplayName":"Gameplay Mode", + "Category":"PK - Server Settings", + "Description":"The game play mode for the dedicated server.", + "Keywords":"gameplay,Mode", + "FieldName":"gameplayMode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"$.gameplayMode", + "IncludeInCommandLine":false, + "DefaultValue":"Adventure", + "EnumValues":{ + "Adventure": "Adventure", + "Creative": "Creative" + } + }, + { + "DisplayName":"Universe Size", + "Category":"PK - Server Settings", + "Description":"The universe size for the dedicated server.", + "Keywords":"universe,Size", + "FieldName":"universeSize", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"$.universeSize", + "IncludeInCommandLine":false, + "DefaultValue":"Normal", + "EnumValues":{ + "Small": "Normal", + "Normal": "Large", + "Large": "Huge" + } + }, + { + "DisplayName":"Universe ID", + "Category":"PK - Server Settings", + "Description":"The world slot used when accessing this dedicated server.", + "Keywords":"universe,Id", + "FieldName":"universeId", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.universeId", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Hide Console Window", + "Category":"PK - Server Settings", + "Description":"This will hide the console window and break the console in AMP if changed.", + "Keywords":"", + "FieldName":"hideConsoleWindow", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.hideConsoleWindow", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{}, + "Hidden": true + }, + { + "DisplayName":"Admin Password", + "Category":"PK - Server Settings", + "Description":"Choose the password used to access your dedicated server by the Admin user group.", + "Keywords":"admin,password", + "FieldName":"adminscredentialspassword", + "InputType":"RandomPassword", + "IsFlagArgument":false, + "ParamFieldName":"$.admins.credentials.password", + "IncludeInCommandLine":false, + "DefaultValue":"admin_password_please_change", + "EnumValues":{} + }, + { + "DisplayName":"Admin Can Login", + "Category":"PK - Server Settings", + "Description":"Defines whether Admins can log in.", + "Keywords":"admin,Login", + "FieldName":"adminscanLogin", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.admins.canLogin", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Admin Can Kick Players", + "Category":"PK - Server Settings", + "Description":"Defines whether Admins can kick other players from the server.", + "Keywords":"admin,Kick,Players", + "FieldName":"adminscanKickPlayers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.admins.canKickPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Admin Can Modify World", + "Category":"PK - Server Settings", + "Description":"Defines whether Admins can mine/build blocks/props.", + "Keywords":"admin,Modify,World", + "FieldName":"adminscanModifyWorld", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.admins.canModifyWorld", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Admin Can Interact With Crafting Stations", + "Category":"PK - Server Settings", + "Description":"Defines whether Admins can interact with crafting stations.", + "Keywords":"admin,Interact,Crafting,Stations", + "FieldName":"adminscanInteractWithCraftingStations", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.admins.canInteractWithCraftingStations", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Admin Can Interact With Chests", + "Category":"PK - Server Settings", + "Description":"Defines whether Admins can interact with chests. Should be used together with \"Admin Can Modify World\" in order to also prevent mining of chests.", + "Keywords":"admin,Interact,Chests", + "FieldName":"adminscanInteractWithChests", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.admins.canInteractWithChests", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Admin Can Interact With NPCs", + "Category":"PK - Server Settings", + "Description":"Defines whether Admins can interact with NPCs.", + "Keywords":"admin,Interact,NPCs", + "FieldName":"adminscanInteractWithNPCs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.admins.canInteractWithNPCs", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"User Password", + "Category":"PK - Server Settings", + "Description":"Choose the password used to access your dedicated server by the User user group.", + "Keywords":"user,password", + "FieldName":"userscredentialspassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"$.users.credentials.password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"User Can Login", + "Category":"PK - Server Settings", + "Description":"Defines whether Users can log in.", + "Keywords":"users,Login", + "FieldName":"userscanLogin", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.users.canLogin", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"User Can Kick Players", + "Category":"PK - Server Settings", + "Description":"Defines whether Users can kick other players from the server.", + "Keywords":"users,Kick,Players", + "FieldName":"userscanKickPlayers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.users.canKickPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"User Can Modify World", + "Category":"PK - Server Settings", + "Description":"Defines whether Users can mine/build blocks/props.", + "Keywords":"users,Modify,World", + "FieldName":"userscanModifyWorld", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.users.canModifyWorld", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"User Can Interact With Crafting Stations", + "Category":"PK - Server Settings", + "Description":"Defines whether Users can interact with crafting stations.", + "Keywords":"users,Interact,Crafting,Stations", + "FieldName":"userscanInteractWithCraftingStations", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.users.canInteractWithCraftingStations", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"User Can Interact With Chests", + "Category":"PK - Server Settings", + "Description":"Defines whether Users can interact with chests. Should be used together with \"User Can Modify World\" in order to also prevent mining of chests.", + "Keywords":"users,Interact,Chests", + "FieldName":"userscanInteractWithChests", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.users.canInteractWithChests", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"User Can Interact With NPCs", + "Category":"PK - Server Settings", + "Description":"Defines whether Users can interact with NPCs.", + "Keywords":"users,Interact,NPCs", + "FieldName":"userscanInteractWithNPCs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.users.canInteractWithNPCs", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Guest Password", + "Category":"PK - Server Settings", + "Description":"Choose the password used to access your dedicated server by the Guest user group.", + "Keywords":"guests,password", + "FieldName":"guestscredentialspassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"$.guests.credentials.password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Guest Can Login", + "Category":"PK - Server Settings", + "Description":"Defines whether Guests can log in.", + "Keywords":"guests,Login", + "FieldName":"guestscanLogin", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.guests.canLogin", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Guest Can Kick Players", + "Category":"PK - Server Settings", + "Description":"Defines whether Guests can kick other players from the server.", + "Keywords":"guests,Kick,Players", + "FieldName":"guestscanKickPlayers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.guests.canKickPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Guest Can Modify World", + "Category":"PK - Server Settings", + "Description":"Defines whether Guests can mine/build blocks/props.", + "Keywords":"guests,Modify,World", + "FieldName":"guestscanModifyWorld", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.guests.canModifyWorld", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Guest Can Interact With Crafting Stations", + "Category":"PK - Server Settings", + "Description":"Defines whether Guests can interact with crafting stations.", + "Keywords":"guests,Interact,Crafting,Stations", + "FieldName":"guestscanInteractWithCraftingStations", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.guests.canInteractWithCraftingStations", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Guest Can Interact With Chests", + "Category":"PK - Server Settings", + "Description":"Defines whether Guests can interact with chests. Should be used together with \"Guest Can Modify World\" enabled in order to also prevent mining of chests.", + "Keywords":"guests,Interact,Chests", + "FieldName":"guestscanInteractWithChests", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.guests.canInteractWithChests", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Guest Can Interact With NPCs", + "Category":"PK - Server Settings", + "Description":"Defines whether Guests can interact with NPCs.", + "Keywords":"guests,Interact,NPCs", + "FieldName":"guestscanInteractWithNPCs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.guests.canInteractWithNPCs", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True": "true", + "False": "false" + } + } +] \ No newline at end of file diff --git a/portal-knightsmetaconfig.json b/portal-knightsmetaconfig.json new file mode 100644 index 000000000..a1480ebeb --- /dev/null +++ b/portal-knightsmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile": "server_config.json", + "AutoMap": true, + "ConfigType": "json" + } +] \ No newline at end of file diff --git a/portal-knightsserver_config.json b/portal-knightsserver_config.json new file mode 100644 index 000000000..e0982595b --- /dev/null +++ b/portal-knightsserver_config.json @@ -0,0 +1,45 @@ +{ + "basicServerData": { + "name": "AMP Powered Portal Knights Server", + "ipv4": "0.0.0.0", + "port": 28001, + "saveFolderPath": "./savedata" + }, + "gameplayMode": "Adventure", + "universeSize": "Normal", + "universeId": 0, + "hideConsoleWindow": false, + "admins": { + "credentials": { + "password": "admin_password_please_change" + }, + "canLogin": true, + "canKickPlayers": true, + "canModifyWorld": true, + "canInteractWithCraftingStations": true, + "canInteractWithChests": true, + "canInteractWithNPCs": true + }, + "users": { + "credentials": { + "password": "" + }, + "canLogin": true, + "canKickPlayers": false, + "canModifyWorld": true, + "canInteractWithCraftingStations": true, + "canInteractWithChests": true, + "canInteractWithNPCs": true + }, + "guests": { + "credentials": { + "password": "" + }, + "canLogin": false, + "canKickPlayers": false, + "canModifyWorld": false, + "canInteractWithCraftingStations": false, + "canInteractWithChests": false, + "canInteractWithNPCs": false + } + } \ No newline at end of file From 142567fed456b02533a3f186641ef1341104b5af Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 12 Nov 2022 17:16:14 +1100 Subject: [PATCH 076/318] Add Night of the Dead (#223) --- night-of-the-dead.kvp | 78 +++ night-of-the-deadconfig.json | 982 ++++++++++++++++++++++++++++ night-of-the-deadmetaconfig.json | 14 + night-of-the-deadserversettings.ini | 119 ++++ 4 files changed, 1193 insertions(+) create mode 100644 night-of-the-dead.kvp create mode 100644 night-of-the-deadconfig.json create mode 100644 night-of-the-deadmetaconfig.json create mode 100644 night-of-the-deadserversettings.ini diff --git a/night-of-the-dead.kvp b/night-of-the-dead.kvp new file mode 100644 index 000000000..4e5b86a67 --- /dev/null +++ b/night-of-the-dead.kvp @@ -0,0 +1,78 @@ +Meta.DisplayName=Night of the Dead +Meta.Description=Night of the Dead Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://www.nightofthedead.org/ +Meta.DisplayImageSource=steam:1377380 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=night-of-the-deadconfig.json +Meta.MetaConfigManifest=night-of-the-deadmetaconfig.json +Meta.ConfigRoot=night-of-the-dead.kvp +Meta.MinAMPVersion= +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Night of the Dead +App.RootDir=./night-of-the-dead/ +App.BaseDirectory=./night-of-the-dead/1420710/ +App.ExecutableWin=1420710\LF\Binaries\Win64\LFServer.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=1420710 +App.LinuxCommandLineArgs=-a wine "./LF/Binaries/Win64/LFServer.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} ?listen -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout -FullStdOutLogOutput -CRASHREPORTS +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1377380"} +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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPort=GamePort +App.UniversalSleepSteamQueryPort=QueryPort +App.MaxUsers=16 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"First DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/steamclient64.dll","UpdateSourceArgs":"{{$FullBaseDir}}steamclient64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Second DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/tier0_s64.dll","UpdateSourceArgs":"{{$FullBaseDir}}tier0_s64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Third DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/vstdlib_s64.dll","UpdateSourceArgs":"{{$FullBaseDir}}vstdlib_s64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=2000 +App.MonitorChildProcessName=wine64 +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogBlueprintUserMessages: \[LevelStreamer_BP_2\] LOAD COMPLETE$ +Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: Adding user (?.+?):\d+ from RegisterConnection$ +Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: (?.+?) has been removed\.$ +Console.UserChatRegex=^$ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=False +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 diff --git a/night-of-the-deadconfig.json b/night-of-the-deadconfig.json new file mode 100644 index 000000000..44e9a0bb6 --- /dev/null +++ b/night-of-the-deadconfig.json @@ -0,0 +1,982 @@ +[ + { + "DisplayName":"Server Name", + "Category":"NOTD Server Settings", + "Description":"Sets the name of the server to be displayed on the server list", + "Keywords":"server,name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Night of the Dead Server", + "EnumValues":{} + }, + { + "DisplayName":"Message Of The Day", + "Category":"NOTD Server Settings", + "Description":"Sets the message of the day (MOTD) displayed when players join", + "Keywords":"message,motd", + "FieldName":"DefaultMessageOfTheDay", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"DefaultMessageOfTheDay", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to NOTD!", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"NOTD Server Settings", + "Description":"Sets the password to join the server. Default is no password", + "Keywords":"password", + "FieldName":"Password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"Password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"NOTD Server Settings", + "Description":"Sets the password for in-game admin commands. Default is no password", + "Keywords":"password", + "FieldName":"IngameAdminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"IngameAdminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"NOTD Server Settings", + "Description":"Maximum number of players allowed on the server", + "Keywords":"max,players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Save Name", + "Category":"NOTD Server Settings", + "Description":"Sets the name of the world directory to load, or to create if it does not already exist", + "Keywords":"save,name", + "FieldName":"SaveName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SaveName", + "IncludeInCommandLine":false, + "DefaultValue":"world", + "EnumValues":{} + }, + { + "DisplayName":"Save Interval", + "Category":"NOTD Server Settings", + "Description":"Sets the save interval for the server. 1 in-game hour = 5 minutes in real time", + "Keywords":"save,interval", + "FieldName":"SaveIntervalHour", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SaveIntervalHour", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "Suffix":"in-game hours", + "EnumValues":{} + }, + { + "DisplayName":"Server IP Binding", + "Category":"NOTD Server Settings", + "Description":"Sets the binding of the server (Windows only). Default is blank (all IPs). Change to internal interface IP only if the server has issues", + "Keywords":"ip,binding,localip,address,multihome", + "FieldName":"MultiHome", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"MultiHome", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Game Mode", + "Category":"NOTD Server Settings", + "Description":"Sets the game mode", + "Keywords":"game,mode", + "FieldName":"MODSelect", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"MODSelect", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "1":"PvE", + "0":"PvP" + } + }, + { + "DisplayName":"Game Difficulty", + "Category":"NOTD Server Settings", + "Description":"Sets the game difficulty level. If Custom is selected, server parameters can be set under NOTD Custom Settings", + "Keywords":"game,difficulty", + "FieldName":"Difficulty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Difficulty", + "IncludeInCommandLine":false, + "DefaultValue":"Normal", + "EnumValues":{ + "Peaceful":"Peaceful", + "Easy":"Easy", + "Normal":"Normal (Default)", + "Hard":"Hard", + "Survival":"Survival", + "Challenge":"Challenge", + "Legend":"Legend", + "Custom":"Custom" + } + }, + { + "DisplayName":"Enable Hardcore", + "Category":"NOTD Server Settings", + "Description":"If enabled, hardcore mode will be enabled", + "Keywords":"hardcore", + "FieldName":"Hardcore", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Hardcore", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Wave", + "Category":"NOTD Server Settings", + "Description":"If set, there will be no wave", + "Keywords":"wave", + "FieldName":"NoWave", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NoWave", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Zombie Respawn", + "Category":"NOTD Server Settings", + "Description":"If set, zombies will not respawn", + "Keywords":"zombie,respawn", + "FieldName":"NoZombieRespawn", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NoZombieRespawn", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Natural Objects Respawn", + "Category":"NOTD Server Settings", + "Description":"If enabled, natural objects will respawn", + "Keywords":"natural,objects,respawn", + "FieldName":"NaturalObjectRespawn", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NaturalObjectRespawn", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Synthetic Objects Respawn", + "Category":"NOTD Server Settings", + "Description":"If enabled, synthetic objects will respawn", + "Keywords":"synthetic,objects,respawn", + "FieldName":"SyntheticObjectRespawn", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SyntheticObjectRespawn", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Generator Breakdown", + "Category":"NOTD Server Settings", + "Description":"If set, generators will not break down", + "Keywords":"generator,breakdown", + "FieldName":"NoGeneratorTrouble", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NoGeneratorTrouble", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Research Loss On Death", + "Category":"NOTD Server Settings", + "Description":"If set, research will not be lost on death", + "Keywords":"research,drop,loss,death", + "FieldName":"NoDeathResearchDrop", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NoDeathResearchDrop", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Item Drop On Exit", + "Category":"NOTD Server Settings", + "Description":"If enabled, items will be dropped on exit", + "Keywords":"item,drop,exit", + "FieldName":"DropItemsOnExit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"DropItemsOnExit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Team Kill", + "Category":"NOTD Server Settings", + "Description":"If set, team kill will be disabled", + "Keywords":"team,kill", + "FieldName":"NoTeamKill", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NoTeamKill", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Ending", + "Category":"NOTD Server Settings", + "Description":"If set, ending will be disabled", + "Keywords":"ending", + "FieldName":"NoEnding", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NoEnding", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Light Zombie HP", + "Category":"NOTD Custom Settings", + "Description":"Sets the light zombie HP", + "Keywords":"light,normal,zombie,health,hp", + "FieldName":"NormalZombieHealth", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"NormalZombieHealth", + "IncludeInCommandLine":false, + "DefaultValue":"17", + "Placeholder":"17", + "EnumValues":{} + }, + { + "DisplayName":"Heavy Zombie HP", + "Category":"NOTD Custom Settings", + "Description":"Sets the heavy zombie HP", + "Keywords":"heavy,special,zombie,health,hp", + "FieldName":"SpecialZombieHealth", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"SpecialZombieHealth", + "IncludeInCommandLine":false, + "DefaultValue":"17", + "Placeholder":"17", + "EnumValues":{} + }, + { + "DisplayName":"Giant Zombie HP", + "Category":"NOTD Custom Settings", + "Description":"Sets the giant zombie HP", + "Keywords":"giant,zombie,health,hp", + "FieldName":"GiantZombieHealth", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"GiantZombieHealth", + "IncludeInCommandLine":false, + "DefaultValue":"17", + "Placeholder":"17", + "EnumValues":{} + }, + { + "DisplayName":"Zombie Damage", + "Category":"NOTD Custom Settings", + "Description":"Sets the zombie damage", + "Keywords":"zombie,damage", + "FieldName":"ZombieDamage", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ZombieDamage", + "IncludeInCommandLine":false, + "DefaultValue":"18", + "Placeholder":"18", + "EnumValues":{} + }, + { + "DisplayName":"Zombie Movement Speed", + "Category":"NOTD Custom Settings", + "Description":"Sets the zombie movement speed", + "Keywords":"zombie,movement,speed", + "FieldName":"ZombieMovementSpeed", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ZombieMovementSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"35", + "Placeholder":"35", + "EnumValues":{} + }, + { + "DisplayName":"World Zombie Spawn Amount", + "Category":"NOTD Custom Settings", + "Description":"Sets the world zombie spawn amount", + "Keywords":"world,zombie,spawn,amount", + "FieldName":"WorldZombieSpawn", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"WorldZombieSpawn", + "IncludeInCommandLine":false, + "DefaultValue":"17", + "Placeholder":"17", + "EnumValues":{} + }, + { + "DisplayName":"Wave Zombie HP", + "Category":"NOTD Custom Settings", + "Description":"Sets the wave zombie HP", + "Keywords":"wave,zombie,health,hp", + "FieldName":"WaveZombieHealth", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"WaveZombieHealth", + "IncludeInCommandLine":false, + "DefaultValue":"25", + "Placeholder":"25", + "EnumValues":{} + }, + { + "DisplayName":"Light Zombie Amount", + "Category":"NOTD Custom Settings", + "Description":"Sets the light zombie wave amount", + "Keywords":"light,normal,zombie,amount", + "FieldName":"WaveNormalZombieAmount", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"WaveNormalZombieAmount", + "IncludeInCommandLine":false, + "DefaultValue":"44", + "Placeholder":"44", + "EnumValues":{} + }, + { + "DisplayName":"Heavy Zombie Amount", + "Category":"NOTD Custom Settings", + "Description":"Sets the heavy zombie wave amount", + "Keywords":"heavy,special,zombie,amount", + "FieldName":"WaveSpecialZombieAmount", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"WaveSpecialZombieAmount", + "IncludeInCommandLine":false, + "DefaultValue":"17", + "Placeholder":"17", + "EnumValues":{} + }, + { + "DisplayName":"Giant Zombie Amount", + "Category":"NOTD Custom Settings", + "Description":"Sets the giant zombie wave amount", + "Keywords":"giant,zombie,amount", + "FieldName":"WaveGiantZombieAmount", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"WaveGiantZombieAmount", + "IncludeInCommandLine":false, + "DefaultValue":"21", + "Placeholder":"21", + "EnumValues":{} + }, + { + "DisplayName":"Animal HP", + "Category":"NOTD Custom Settings", + "Description":"Sets the animal HP", + "Keywords":"animal,health,hp", + "FieldName":"AnimalHealth", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"AnimalHealth", + "IncludeInCommandLine":false, + "DefaultValue":"17", + "Placeholder":"17", + "EnumValues":{} + }, + { + "DisplayName":"Animal Attack Damage", + "Category":"NOTD Custom Settings", + "Description":"Sets the animal attack damage", + "Keywords":"animal,attack,damage", + "FieldName":"AnimalDamage", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"AnimalDamage", + "IncludeInCommandLine":false, + "DefaultValue":"18", + "Placeholder":"18", + "EnumValues":{} + }, + { + "DisplayName":"Light Zombie Respawn Time", + "Category":"NOTD Custom Settings", + "Description":"Sets the light zombie respawn time", + "Keywords":"light,normal,zombie,respawn,time", + "FieldName":"WorldNormalZombieRespawnTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"WorldNormalZombieRespawnTime", + "IncludeInCommandLine":false, + "DefaultValue":"120", + "EnumValues":{ + "30":"30", + "60":"60", + "120":"120", + "180":"180", + "240":"240" + } + }, + { + "DisplayName":"Heavy Zombie Respawn Time", + "Category":"NOTD Custom Settings", + "Description":"Sets the heavy zombie respawn time", + "Keywords":"heavy,special,zombie,respawn,time", + "FieldName":"WorldSpecialZombieRespawnTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"WorldSpecialZombieRespawnTime", + "IncludeInCommandLine":false, + "DefaultValue":"600", + "EnumValues":{ + "120":"120", + "300":"300", + "600":"600", + "900":"900", + "1200":"1200" + } + }, + { + "DisplayName":"Giant Zombie Respawn Time", + "Category":"NOTD Custom Settings", + "Description":"Sets the giant zombie respawn time", + "Keywords":"giant,zombie,respawn,time", + "FieldName":"WorldGiantZombieRespawnTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"WorldGiantZombieRespawnTime", + "IncludeInCommandLine":false, + "DefaultValue":"600", + "EnumValues":{ + "120":"120", + "300":"300", + "600":"600", + "900":"900", + "1200":"1200" + } + }, + { + "DisplayName":"Disable XP Loss On Death", + "Category":"NOTD Custom Settings", + "Description":"If set, no experience will be lost on death", + "Keywords":"experience,xp,loss,death", + "FieldName":"NoExperienceLoss", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NoExperienceLoss", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Item Drop On Death", + "Category":"NOTD Custom Settings", + "Description":"If set, no items will be dropped on death", + "Keywords":"item,drop,death", + "FieldName":"NoDeathItemDrop", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NoDeathItemDrop", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Research Data Consumption", + "Category":"NOTD Custom Settings", + "Description":"Sets research data consumption", + "Keywords":"research,data,consumption", + "FieldName":"ResearchDataConsumption", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ResearchDataConsumption", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "Placeholder":"50", + "EnumValues":{} + }, + { + "DisplayName":"Fish Speed", + "Category":"NOTD Custom Settings", + "Description":"Sets fish speed", + "Keywords":"fish,speed", + "FieldName":"FishSpeed", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"FishSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"66", + "Placeholder":"66", + "EnumValues":{} + }, + { + "DisplayName":"Building HP", + "Category":"NOTD Custom Settings", + "Description":"Sets building HP", + "Keywords":"building,health,hp", + "FieldName":"BuildingHit", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"BuildingHit", + "IncludeInCommandLine":false, + "DefaultValue":"90", + "Placeholder":"90", + "EnumValues":{} + }, + { + "DisplayName":"Trap Attack Damage", + "Category":"NOTD Custom Settings", + "Description":"Sets trap attack damage", + "Keywords":"trap,attack,damage", + "FieldName":"TrapDamage", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"TrapDamage", + "IncludeInCommandLine":false, + "DefaultValue":"66", + "Placeholder":"66", + "EnumValues":{} + }, + { + "DisplayName":"Materials Return Rate", + "Category":"NOTD Custom Settings", + "Description":"Sets the materials return rate after building destruction", + "Keywords":"materials,return,rate,building,destruction", + "FieldName":"ResourcesReturnedAfterBuildingDestroyed", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ResourcesReturnedAfterBuildingDestroyed", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30", + "EnumValues":{} + }, + { + "DisplayName":"Fish Power", + "Category":"NOTD Custom Settings", + "Description":"Sets fish power", + "Keywords":"fishing,gauge,increase,power", + "FieldName":"FishingGaugeDecrease", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"FishingGaugeDecrease", + "IncludeInCommandLine":false, + "DefaultValue":"40", + "Placeholder":"40", + "EnumValues":{} + }, + { + "DisplayName":"High-Grade Equipment Drop Rate", + "Category":"NOTD Custom Settings", + "Description":"Sets the high-grade equipment drop rate", + "Keywords":"superior,high,equipment,gain,multiplier,rate", + "FieldName":"SuperiorOrHigherEquipmentGainMultiplier", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"SuperiorOrHigherEquipmentGainMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"40", + "Placeholder":"40", + "EnumValues":{} + }, + { + "DisplayName":"Experience Gain Amount", + "Category":"NOTD Custom Settings", + "Description":"Sets the amount of experience gained", + "Keywords":"experience,gain", + "FieldName":"AmountOfExperienceGained", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"AmountOfExperienceGained", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "1":"1", + "2":"2", + "3":"3", + "4":"4", + "5":"5" + } + }, + { + "DisplayName":"Resources Acquisition Amount", + "Category":"NOTD Custom Settings", + "Description":"Sets the amount of resources acquired", + "Keywords":"item,resource,acquired,obtained", + "FieldName":"ResourceAcquisition", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ResourceAcquisition", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "1":"1", + "2":"2", + "3":"3" + } + }, + { + "DisplayName":"Initial Food Amount", + "Category":"NOTD Custom Settings", + "Description":"Sets the initial food amount", + "Keywords":"initial,food,amount", + "FieldName":"InitialFoodAmount", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"InitialFoodAmount", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"0", + "1":"1", + "2":"2", + "5":"5", + "10":"10", + "12":"12", + "15":"15" + } + }, + { + "DisplayName":"Natural Objects Respawn Time", + "Category":"NOTD Custom Settings", + "Description":"Sets the natural objects respawn time", + "Keywords":"natural,objects,respawn,time", + "FieldName":"NaturalObjectRespawnTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"NaturalObjectRespawnTime", + "IncludeInCommandLine":false, + "DefaultValue":"240", + "EnumValues":{ + "240":"240", + "360":"360", + "480":"480", + "720":"720", + "840":"840", + "960":"960", + "1200":"1200" + } + }, + { + "DisplayName":"Synthetic Objects Respawn Time", + "Category":"NOTD Custom Settings", + "Description":"Sets the synthetic objects respawn time", + "Keywords":"synthetic,objects,respawn,time", + "FieldName":"SyntheticObjectRespawnTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"SyntheticObjectRespawnTime", + "IncludeInCommandLine":false, + "DefaultValue":"240", + "EnumValues":{ + "240":"240", + "360":"360", + "480":"480", + "720":"720", + "840":"840", + "960":"960", + "1200":"1200" + } + }, + { + "DisplayName":"Farm Resource Production Amount", + "Category":"NOTD Custom Settings", + "Description":"Sets the farm resource production amount", + "Keywords":"farm,resource,production,amount", + "FieldName":"FarmResourceOutput", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"FarmResourceOutput", + "IncludeInCommandLine":false, + "DefaultValue":"1.25", + "EnumValues":{ + "1":"1", + "1.25":"1.25", + "1.5":"1.5", + "1.75":"1.75", + "2":"2" + } + }, + { + "DisplayName":"Machine Resource Production Amount", + "Category":"NOTD Custom Settings", + "Description":"Sets the machine resource production amount", + "Keywords":"machine,resource,production,amount", + "FieldName":"MachineResourceOutput", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"MachineResourceOutput", + "IncludeInCommandLine":false, + "DefaultValue":"1.5", + "EnumValues":{ + "0.5":"0.5", + "1":"1", + "1.5":"1.5", + "2":"2", + "2.5":"2.5" + } + }, + { + "DisplayName":"Animal Trap Time", + "Category":"NOTD Custom Settings", + "Description":"Sets the animal trap time", + "Keywords":"animal,trap,time", + "FieldName":"AnimalTrapTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"AnimalTrapTime", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0.5":"0.5", + "1":"1", + "1.5":"1.5", + "2":"2", + "2.5":"2.5" + } + }, + { + "DisplayName":"Farm Resource Production Time", + "Category":"NOTD Custom Settings", + "Description":"Sets the farm resource production time", + "Keywords":"farm,resource,production,time", + "FieldName":"FarmResourceProductionTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"FarmResourceProductionTime", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0.5":"0.5", + "1":"1", + "1.5":"1.5" + } + }, + { + "DisplayName":"Machine Resource Production Time", + "Category":"NOTD Custom Settings", + "Description":"Sets the machine resource production time", + "Keywords":"machine,resource,production,time", + "FieldName":"MachineResourceProductionTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"MachineResourceProductionTime", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0.5":"0.5", + "1":"1", + "1.5":"1.5" + } + }, + { + "DisplayName":"Power Generated", + "Category":"NOTD Custom Settings", + "Description":"Sets the power generated", + "Keywords":"power,generated,electric", + "FieldName":"ElectricGeneration", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ElectricGeneration", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0.5":"0.5", + "1":"1", + "1.5":"1.5", + "2":"2", + "2.5":"2.5" + } + }, + { + "DisplayName":"Power Consumption", + "Category":"NOTD Custom Settings", + "Description":"Sets the power consumption", + "Keywords":"power,consumption,electric", + "FieldName":"ElectricConsumption", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ElectricConsumption", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0.5":"0.5", + "1":"1", + "1.5":"1.5" + } + }, + { + "DisplayName":"Power Limit", + "Category":"NOTD Custom Settings", + "Description":"Sets the power limit", + "Keywords":"power,limit,electric", + "FieldName":"ElectricOvercurrentLimit", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ElectricOvercurrentLimit", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0.5":"0.5", + "1":"1", + "1.5":"1.5", + "2":"2", + "2.5":"2.5" + } + }, + { + "DisplayName":"Standby Power", + "Category":"NOTD Custom Settings", + "Description":"Sets the standby power", + "Keywords":"power,standby,electric", + "FieldName":"ElectricStandbyPower", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ElectricStandbyPower", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0.5":"0.5", + "1":"1", + "1.5":"1.5" + } + }, + { + "DisplayName":"Times Per Day", + "Category":"NOTD Custom Settings", + "Description":"Sets the times per day", + "Keywords":"times,day", + "FieldName":"OneDayTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"OneDayTime", + "IncludeInCommandLine":false, + "DefaultValue":"120", + "EnumValues":{ + "60":"60", + "120":"120", + "180":"180", + "240":"240", + "300":"300" + } + } +] diff --git a/night-of-the-deadmetaconfig.json b/night-of-the-deadmetaconfig.json new file mode 100644 index 000000000..8cbd01b74 --- /dev/null +++ b/night-of-the-deadmetaconfig.json @@ -0,0 +1,14 @@ +[ + { + "ConfigFile":"ServerSettings.ini", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"night-of-the-dead/AMP_ServerSettings.ini" + }, + { + "ConfigFile":"LF/Saved/Config/ServerSettings.ini", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"night-of-the-dead/AMP_ServerSettings.ini" + } +] \ No newline at end of file diff --git a/night-of-the-deadserversettings.ini b/night-of-the-deadserversettings.ini new file mode 100644 index 000000000..eacf0e202 --- /dev/null +++ b/night-of-the-deadserversettings.ini @@ -0,0 +1,119 @@ +; AMP controls ServerSettings.ini - do not try to edit it directly + +[ServerSettings] +ServerName={{ServerName}} +Password={{Password}} +MaxPlayers={{MaxPlayers}} + +[SystemSettings] +IngameAdminPassword={{IngameAdminPassword}} +DefaultMessageOfTheDay={{DefaultMessageOfTheDay}} + +; INSTALL_DIR/Saved/SaveGames/SAVE_NAME +SaveName={{SaveName}} + +; In-game hour, integer, Default: 1 = 5 min(realtime). +SaveIntervalHour={{SaveIntervalHour}} + +[GameSettings] +; Peaceful/Easy/Normal/Hard/Survival/Challenge/Legend/Custom +Difficulty={{Difficulty}} + +[GameSettings/General] +; 0=disable, 1=enable +NoWave={{NoWave}} +NoZombieRespawn={{NoZombieRespawn}} +NaturalObjectRespawn={{NaturalObjectRespawn}} +SyntheticObjectRespawn={{SyntheticObjectRespawn}} +NoGeneratorTrouble={{NoGeneratorTrouble}} +NoDeathResearchDrop={{NoDeathResearchDrop}} +DropItemsOnExit={{DropItemsOnExit}} +Hardcore={{Hardcore}} +NoTeamKill={{NoTeamKill}} +NoEnding={{NoEnding}} + +; 0=PvP, 1=PvE +MODSelect={{MODSelect}} + +; It works only when the difficulty is Custom. +[GameSettings/Basic] +; 0 <= value <= 100 +NormalZombieHealth={{NormalZombieHealth}} +SpecialZombieHealth={{SpecialZombieHealth}} +GiantZombieHealth={{GiantZombieHealth}} +ZombieDamage={{ZombieDamage}} +ZombieMovementSpeed={{ZombieMovementSpeed}} +WorldZombieSpawn={{WorldZombieSpawn}} +WaveZombieHealth={{WaveZombieHealth}} +WaveNormalZombieAmount={{WaveNormalZombieAmount}} +WaveSpecialZombieAmount={{WaveSpecialZombieAmount}} +WaveGiantZombieAmount={{WaveGiantZombieAmount}} +AnimalHealth={{AnimalHealth}} +AnimalDamage={{AnimalDamage}} + +; 30 / 60 / 120 / 180 / 240 +WorldNormalZombieRespawnTime={{WorldNormalZombieRespawnTime}} + +; 120 / 300 / 600 / 900 / 1200 +WorldSpecialZombieRespawnTime={{WorldSpecialZombieRespawnTime}} + +; 120 / 300 / 600 / 900 / 1200 +WorldGiantZombieRespawnTime={{WorldGiantZombieRespawnTime}} + +; It works only when the difficulty is Custom. +[GameSettings/Advanced] +; 0 = disable, 1 = enable +NoExperienceLoss={{NoExperienceLoss}} +NoDeathItemDrop={{NoDeathItemDrop}} + +; 0 <= value <= 100 +ResearchDataConsumption={{ResearchDataConsumption}} +FishSpeed={{FishSpeed}} +BuildingHit={{BuildingHit}} +TrapDamage={{TrapDamage}} +ResourcesReturnedAfterBuildingDestroyed={{ResourcesReturnedAfterBuildingDestroyed}} +FishingGaugeDecrease={{FishingGaugeDecrease}} +SuperiorOrHigherEquipmentGainMultiplier={{SuperiorOrHigherEquipmentGainMultiplier}} + +; 1 / 2 / 3 / 4 / 5 +AmountOfExperienceGained={{AmountOfExperienceGained}} + +; 1 / 2 / 3 +ResourceAcquisition={{ResourceAcquisition}} + +; 0 / 1 / 2 / 5 / 10 / 12 / 15 +InitialFoodAmount={{InitialFoodAmount}} + +; 240 / 360 / 480 / 720 / 840 / 960 / 1200 +NaturalObjectRespawnTime={{NaturalObjectRespawnTime}} +SyntheticObjectRespawnTime={{SyntheticObjectRespawnTime}} + +; 1 / 1.25 / 1.5 / 1.75 / 2 +FarmResourceOutput={{FarmResourceOutput}} + +; 0.5 / 1 / 1.5 / 2 / 2.5 +MachineResourceOutput={{MachineResourceOutput}} + +; 0.5 / 1 / 1.5 / 2 / 2.5 +AnimalTrapTime={{AnimalTrapTime}} + +; 0.5 / 1 / 1.5 +FarmResourceProductionTime={{FarmResourceProductionTime}} +MachineResourceProductionTime={{MachineResourceProductionTime}} + +; 0.5 / 1 / 1.5 / 2 / 2.5 +ElectricGeneration={{ElectricGeneration}} + +; 0.5 / 1 / 1.5 +ElectricConsumption={{ElectricConsumption}} + +; 0.5 / 1 / 1.5 / 2 / 2.5 +ElectricOvercurrentLimit={{ElectricOvercurrentLimit}} + +; 0.5 / 1 / 1.5 +ElectricStandbyPower={{ElectricStandbyPower}} + +; It works only when the difficulty is Custom. +[GameSettings/Detail] +; 60 / 120 / 180 / 240 / 300 +OneDayTime={{OneDayTime}} From 08561762828c3c139bf9209002a26613a2f10549 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 14 Nov 2022 20:57:47 -0600 Subject: [PATCH 077/318] Space Engineers Config Updates (#160) * Space Engineers Config Updates (draft) Revamped the config to match the Dedicated Server Launcher more closely and added missing config file rows. Added release stream option. * Update space-engineers-genericconfig.json * Rearrange EVERYTHING * So.... Much.... Cleanup...... * Comma and formatted config.json file * ) * P * Final touches * Add Space Engineers Linux/Docker Support * Multiple SE updates * Update Port to avoid ADS conflict bug * Update based on feedback * Fixed a couple bugs --- ...cated.cfg => space-engineers-dedicated.cfg | 167 +- space-engineers-generic.kvp | 35 +- space-engineers-genericconfig.json | 4558 +++++++++-------- space-engineers-genericupdates.json | 49 + 4 files changed, 2686 insertions(+), 2123 deletions(-) rename SpaceEngineers-Dedicated.cfg => space-engineers-dedicated.cfg (56%) create mode 100644 space-engineers-genericupdates.json diff --git a/SpaceEngineers-Dedicated.cfg b/space-engineers-dedicated.cfg similarity index 56% rename from SpaceEngineers-Dedicated.cfg rename to space-engineers-dedicated.cfg index 166c4643c..c39af42b1 100644 --- a/SpaceEngineers-Dedicated.cfg +++ b/space-engineers-dedicated.cfg @@ -1,58 +1,56 @@ - + Survival - 1 - 1 - 1 - 1 + 3 + 1 + 3 + 3 + 3 PUBLIC - 12 - 100 + 4 + 56 + 32 + 5 + 0 + 0 + 100000 + 50000 + 0 + GLOBALLY + true SAFE true false true - true true - false true true false 0 - true + false false - 1 - 1 + 2 + 2 false 0.33 false 5 - 1 - true - true - 20000 - true - 2 - true - 1 - 250 - 0 - 0 - 100000 - 50000 - 0 - NONE - true - false + true false false - 0.4 + 0 + 0.35 0 + true + false + 15000 + true + 4 + true true - true true - false + true true false true @@ -60,63 +58,70 @@ false false false - 6 - 120 + 8 + 119.999992 true true false true 5 - false + true false false 1 false 50 + + + false - false - 15 + 5 20 false false 3000 false - false true true 0 true - 30 - 7706 + 15 + 1562 0 - 5 - 1000 + 20 + 500 0 0 15 - true + false 5000 5000 - 600 - false - false + 24 + true + true 16000 - false - false + true + true false false - 1.125 - 75 - 0.85 - 12 + 2 + 30 + true + 1 + 15 10000000 10000000 30000000 1200 - true - false - 99 - false + false + + true + true + false + false + true + 3 + true true false 0 @@ -130,24 +135,50 @@ false 5 false + true 0.0.0.0 - 27027 - 27028 - true - - 27029 - 4 + 8766 + 27016 + 0 0 AMP Powered Server - My AMP Powered Space Engineers Server + World + false + false Welcome to my Space Engineers Server, powered by AMP! https://cubecoders.com/AMP - true - World + true + 0 + true + false + 10 + 15 + public + + false ./Content/CustomWorlds/Star System - false - true - + + + + + false + + 8080 + + 30 + 0.05 + 5 + Server will be shut down in {0} min(s). + true + false + steam + false + + true + 30 + 0.5 + 60 + \ No newline at end of file diff --git a/space-engineers-generic.kvp b/space-engineers-generic.kvp index 3812a30c2..bbaa780d9 100644 --- a/space-engineers-generic.kvp +++ b/space-engineers-generic.kvp @@ -9,21 +9,24 @@ Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} Meta.ConfigManifest=space-engineers-genericconfig.json Meta.MetaConfigManifest=space-engineers-genericmetaconfig.json Meta.ConfigRoot=space-engineers-generic.kvp -Meta.MinAMPVersion=2.3.0.9 +Meta.MinAMPVersion=2.4.0.10 Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=NotSupported +Meta.ContainerPolicyReason=This game requires Winetricks when using Docker which is currently not support in AMP. Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False App.DisplayName=Space Engineers App.RootDir=./space-engineers-generic/ App.BaseDirectory=./space-engineers-generic/298740/ App.ExecutableWin=298740\DedicatedServer64\SpaceEngineersDedicated.exe -App.ExecutableLinux=298740/ -App.WorkingDir=298740 +App.ExecutableLinux= +App.WorkingDir=298740/DedicatedServer64 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs=-console -path "{{$FullBaseDir}}servers" {{$FormattedArgs}} +App.CommandLineArgs={{$PlatformArgs}} -console -path "{{$FullBaseDir}}servers" {{$FormattedArgs}} App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"244850"} App.CommandLineParameterFormat=-{0} "{1}" @@ -37,29 +40,33 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.RemoteAdminPort=27016 -App.ApplicationPort1=27017 -App.ApplicationPort2=8777 -App.ApplicationPort3=0 -App.MaxUsers=12 +App.Ports=[{"Protocol":"UDP","Port":27016,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Server Port","Description":"Port used for main game traffic","ChildPorts":null},{"Protocol":"UDP","Port":8766,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Steam Port","Description":"Port used for Steam communications","ChildPorts":null},{"Protocol":"Both","Port":8777,"Offset":0,"Range":1,"Ref":"RemoteAdminPort","Name":"Remote API Port","Description":"Port used to access the API","ChildPorts":null}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort2 +App.MaxUsers=4 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": "298740"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"space-engineers-generic/298740/servers","OverwriteExistingFiles":false},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/SpaceEngineers-Dedicated.cfg","UpdateSourceTarget":"298740/servers","OverwriteExistingFiles":false}] +App.UpdateSources=@IncludeJson[space-engineers-genericupdates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False App.SupportsUniversalSleep=True -App.UniversalSleepApplicationUDPPort=1 -App.UniversalSleepSteamQueryPort=2 App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=3000 +App.MonitorChildProcessName=wine64 Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ @@ -68,6 +75,7 @@ Console.UserJoinRegex=^\d+\-\d+\-\d+ \d+\:\d+\:\d+.\d+\: World request received: Console.UserLeaveRegex=^\d+\-\d+\-\d+ \d+\:\d+\:\d+.\d+\: User left (?.+?)$ Console.UserChatRegex=^\[\d\d:\d\d:\d\d\] \[CHAT\] <(?.+?)> (?.+)$ 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={} @@ -75,4 +83,5 @@ Limits.SleepMode=False Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 -Limits.AutoRetryCount=5 \ No newline at end of file +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 \ No newline at end of file diff --git a/space-engineers-genericconfig.json b/space-engineers-genericconfig.json index 1820a408d..ae13bf923 100644 --- a/space-engineers-genericconfig.json +++ b/space-engineers-genericconfig.json @@ -1,2046 +1,2520 @@ [ { - "DisplayName": "Game Mode", - "Category": "Server Settings", - "Description": "Sets the world to either Creative or Survival Mode.", - "Keywords": "Game Mode", - "FieldName": "GameMode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/GameMode/text() | /MyObjectBuilder_WorldConfiguration/Settings/GameMode/text()", - "IncludeInCommandLine": false, - "DefaultValue": "Survival", - "EnumValues": { - "Creative": "Creative", - "Survival": "Survival" - } - }, - { - "DisplayName": "Select Scenario", - "Category": "Server Settings", - "Description": "Sets the Scenario to base the game on.", - "Keywords": "Game Mode", - "FieldName": "PremadeCheckpointPath", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/PremadeCheckpointPath/text()", - "IncludeInCommandLine": false, - "DefaultValue": "./Content/CustomWorlds/Star System", - "EnumValues": { - "./Content/CustomWorlds/Alien Planet": "Alien Planet", - "./Content/CustomWorlds/Alien System": "Alien System", - "./Content/CustomWorlds/Crashed Red Ship": "Crashed Red Ship", - "./Content/CustomWorlds/Dead Drop Arena": "Dead Drop Arena", - "./Content/CustomWorlds/Distant Moons": "Distant Moons", - "./Content/CustomWorlds/Earth Planet": "Earth Planet", - "./Content/CustomWorlds/Empty World": "Empty World", - "./Content/CustomWorlds/Green Station": "Green Station", - "./Content/CustomWorlds/Home System": "Home System", - "./Content/CustomWorlds/SLone Survivor": "Lone Survivor", - "./Content/CustomWorlds/Mars Planet": "Mars Planet", - "./Content/CustomWorlds/Moon Base": "Moon Base", - "./Content/CustomWorlds/Petram Orbiter": "Petram Orbiter", - "./Content/CustomWorlds/Red Ship": "Red Ship", - "./Content/CustomWorlds/Rival Platforms": "Rival Platforms", - "./Content/CustomWorlds/Star System": "Star System" - } - }, - { - "DisplayName": "Inventory Size Multiplier", - "Category": "Advanced Settings", - "Description": "Only available in Survival Mode Affects the size of the inventories (both the player's and most storage blocks).", - "Keywords": "Inventory Size Multiplier", - "FieldName": "InventorySizeMultiplier", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/InventorySizeMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/InventorySizeMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "1": "Realistic", - "3": "x3", - "5": "x5", - "10": "x10" - } - }, - { - "DisplayName": "Assembler Efficiency Multiplier", - "Category": "Advanced Settings", - "Description": "Only available in Survival Mode. Affects the speed of and the amount of ingots used by the Assembler to produce Components.", - "Keywords": "Assembler Efficiency Multiplier", - "FieldName": "AssemblerEfficiencyMultiplier", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AssemblerEfficiencyMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/AssemblerEfficiencyMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "1": "Realistic", - "3": "x3", - "10": "x10" - } - }, - { - "DisplayName": "Refinery Speed Multiplier", - "Category": "Advanced Settings", - "Keywords": "Refinery Speed Multiplier", - "FieldName": "RefinerySpeedMultiplier", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/RefinerySpeedMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/RefinerySpeedMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "1": "Realistic", - "3": "x3", - "10": "x10" - } - }, - { - "DisplayName": "Max Players", - "Category": "Server Settings", - "Description": "Any number of players between 4 and 1024", - "Keywords": "Max Players users", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxPlayers/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxPlayers/text()", - "IncludeInCommandLine": false, - "DefaultValue": "12", - "EnumValues": {} - }, - { - "DisplayName": "Max Floating Objects", - "Category": "Server Settings", - "Description": "How many items are allowed to float freely in space (16 - 1024)", - "Keywords": "Max Floating Objects", - "FieldName": "MaxFloatingObjects", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxFloatingObjects/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxFloatingObjects/text()", - "IncludeInCommandLine": false, - "DefaultValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Environment Hostility", - "Category": "Advanced Settings", - "Keywords": "Environment Hostility", - "FieldName": "EnvironmentHostility", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnvironmentHostility/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnvironmentHostility/text()", - "IncludeInCommandLine": false, - "DefaultValue": "SAFE", - "EnumValues": { - "SAFE": "Safe", - "NORMAL": "Normal", - "CATACLYSM": "Cataclysm", - "ARMAGEDDON": "Armageddon" - } - }, - { - "DisplayName": "Auto-healing", - "Category": "Advanced Settings", - "Description": "If enabled, engineers will automatically heal damage in oxygen environments at a slow rate.", - "Keywords": "Auto Healing", - "FieldName": "AutoHealing", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AutoHealing/text() | /MyObjectBuilder_WorldConfiguration/Settings/AutoHealing/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Copy & Paste", - "Category": "Advanced Settings", - "Description": "allows players to copy a ship, rover, station, and paste the copy into the world", - "Keywords": "Enable Copy Paste", - "FieldName": "EnableCopyPaste", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableCopyPaste/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableCopyPaste/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Weapons Enabled", - "Category": "Advanced Settings", - "Description": "If enabled, weapons and explosives will function normally.", - "Keywords": "Weapons Enabled", - "FieldName": "WeaponsEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/WeaponsEnabled/text() | /MyObjectBuilder_WorldConfiguration/Settings/WeaponsEnabled/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Weather System", - "Category": "Advanced Settings", - "Description": "Adds different atmopsheric conditions to planets with atmospheres which may limit visibility, or affect the power effectivity of wind mills and solar panels.", - "Keywords": "Weather System", - "FieldName": "WeatherSystem", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/WeatherSystem/text() | /MyObjectBuilder_WorldConfiguration/Settings/WeatherSystem/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Show Player Names On Hud", - "Category": "Advanced Settings", - "Description": "If enabled, nearby players will have their names displayed.", - "Keywords": "Show Player Names On Hud", - "FieldName": "ShowPlayerNamesOnHud", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ShowPlayerNamesOnHud/text() | /MyObjectBuilder_WorldConfiguration/Settings/ShowPlayerNamesOnHud/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Thruster Damage", - "Category": "Advanced Settings", - "Description": "If enabled, thrusters will deal damage to players and blocks that are behind them when they fire.", - "Keywords": "Thruster Damage", - "FieldName": "ThrusterDamage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ThrusterDamage/text() | /MyObjectBuilder_WorldConfiguration/Settings/ThrusterDamage/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Cargo Ships", - "Category": "Advanced Settings", - "Description": "If enabled, Pre-Built Ships will occasionally spawn at the edge of the world and drift through the sector.", - "Keywords": "Cargo Ships Enabled", - "FieldName": "CargoShipsEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/CargoShipsEnabled/text() | /MyObjectBuilder_WorldConfiguration/Settings/CargoShipsEnabled/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Spectator", - "Category": "Advanced Settings", - "Description": "Spectator Mode lets players (in Survival, typically multiplayer admins) see through walls and teleport.", - "Keywords": "Enable Spectator", - "FieldName": "EnableSpectator", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSpectator/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableSpectator/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "World Size", - "Category": "Advanced Settings", - "Description": "You can choose to limit the world size to a cube with a side lingth of:", - "Keywords": "World Size Km", - "FieldName": "WorldSizeKm", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/WorldSizeKm/text() | /MyObjectBuilder_WorldConfiguration/Settings/WorldSizeKm/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "0": "Unlimited", - "10": "10km", - "20": "20km", - "50": "50km", - "100": "100km" - } - }, - { - "DisplayName": "Respawn Ship Delete", - "Category": "Advanced Settings", - "Description": "Whether the respawn ship will be deleted when the player leaves the server or spawns in another one.", - "Keywords": "Respawn Ship Delete", - "FieldName": "RespawnShipDelete", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/RespawnShipDelete/text() | /MyObjectBuilder_WorldConfiguration/Settings/RespawnShipDelete/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Reset Ownership", - "Category": "Advanced Settings", - "Description": "Reset Ownership of all blocks to nobody.", - "Keywords": "Reset Ownership", - "FieldName": "ResetOwnership", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ResetOwnership/text() | /MyObjectBuilder_WorldConfiguration/Settings/ResetOwnership/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Welder Speed Multiplier", - "Category": "Advanced Settings", - "Description": "The speed at which blocks are built using welding tools.", - "Keywords": "Welder Speed Multiplier", - "FieldName": "WelderSpeedMultiplier", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/WelderSpeedMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/WelderSpeedMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - ".5": ".5x", - "1": "Realistic", - "2": "2x", - "5": "5x" - } - }, - { - "DisplayName": "Grinder Speed Multiplier", - "Category": "Advanced Settings", - "Description": "The speed at which blocks are salvaged using grinding tools.", - "Keywords": "Grinder Speed Multiplier", - "FieldName": "GrinderSpeedMultiplier", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/GrinderSpeedMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/GrinderSpeedMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - ".5": ".5x", - "1": "Realistic", - "2": "2x", - "5": "5x" - } - }, - { - "DisplayName": "Realistic Sound", - "Category": "Advanced Settings", - "Description": "Arcade sounds are how sound is often depicted in science fiction (explosions in space), whereas Realistic sound is more muted in vacuum.", - "Keywords": "Realistic Sound", - "FieldName": "RealisticSound", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/RealisticSound/text() | /MyObjectBuilder_WorldConfiguration/Settings/RealisticSound/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "false": "Arcade", - "true": "Realistic" - } - }, - { - "DisplayName": "Hack Speed Multiplier", - "Category": "Advanced Settings", - "Description": "Higher values increase the speed of the hacking grinder mechanic. Lower values decrease hacking speed.", - "Keywords": "Hack Speed Multiplier", - "FieldName": "HackSpeedMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/HackSpeedMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/HackSpeedMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0.33", - "EnumValues": {} - }, - { - "DisplayName": "Permanent Death", - "Category": "Advanced Settings", - "Description": "When enabled, players lose all ownership of objects upon death. The player can still respawn and start fresh.", - "Keywords": "Permanent Death", - "FieldName": "PermanentDeath", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PermanentDeath/text() | /MyObjectBuilder_WorldConfiguration/Settings/PermanentDeath/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Auto Save In Minutes", - "Category": "Advanced Settings", - "Description": "Set the frequency the server will save the map.", - "Keywords": "Auto Save In Minutes", - "FieldName": "AutoSaveInMinutes", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AutoSaveInMinutes/text() | /MyObjectBuilder_WorldConfiguration/Settings/AutoSaveInMinutes/text()", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "Spawn Ship Time Multiplier", - "Category": "Advanced Settings", - "Description": "Higher values increase the time that server side spawn ships become available upon death.", - "Keywords": "Spawn Ship Time Multiplier", - "FieldName": "SpawnShipTimeMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/SpawnShipTimeMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/SpawnShipTimeMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Enable Ingame Scripts", - "Category": "Advanced Settings", - "Description": "Allows scripts loaded from in game computer terminals to work.", - "Keywords": "Enable Ingame Scripts", - "FieldName": "EnableIngameScripts", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableIngameScripts/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableIngameScripts/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "View Distance", - "Category": "Advanced Settings", - "Description": "Set the distance of how far each client can see objects.", - "Keywords": "View Distance", - "FieldName": "ViewDistance", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ViewDistance/text() | /MyObjectBuilder_WorldConfiguration/Settings/ViewDistance/text()", - "IncludeInCommandLine": false, - "DefaultValue": "20000", - "EnumValues": {} - }, - { - "DisplayName": "Enable Tool Shake", - "Category": "Advanced Settings", - "Description": "Toggles whether tools and objects attached to the tool shake when in use. Disable to reduce cpu load.", - "Keywords": "Enable Tool Shake", - "FieldName": "EnableToolShake", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableToolShake/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableToolShake/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Voxel Generator Version", - "Category": "Advanced Settings", - "Description": "Controls whether or not ice will spawn on asteroids.", - "Keywords": "Voxel Generator Version", - "FieldName": "VoxelGeneratorVersion", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelGeneratorVersion/text() | /MyObjectBuilder_WorldConfiguration/Settings/VoxelGeneratorVersion/text()", - "IncludeInCommandLine": false, - "DefaultValue": "2", - "EnumValues": { - "0": "Disabled", - "1": "First Iteration", - "2": "Current Iteration" - } - }, - { - "DisplayName": "Enable Oxygen", - "Category": "Advanced Settings", - "Description": "Toggles whether or not oxygen can be used/is needed for players to survive.", - "Keywords": "Enable Oxygen", - "FieldName": "EnableOxygen", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableOxygen/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableOxygen/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Blocks Inventory Size Multiplier", - "Category": "Server Settings", - "Description": "Affects the size of the inventories for blocks.", - "Keywords": "Blocks Inventory Size Multiplier", - "FieldName": "BlocksInventorySizeMultiplier", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/BlocksInventorySizeMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/BlocksInventorySizeMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "1": "Realistic", - "3": "x3", - "5": "x5", - "10": "x10" - } - }, - { - "DisplayName": "Max Backup Saves", - "Category": "Advanced Settings", - "Description": "Max number of backups", - "Keywords": "Max Backup Saves", - "FieldName": "MaxBackupSaves", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxBackupSaves/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxBackupSaves/text()", - "IncludeInCommandLine": false, - "DefaultValue": "250", - "EnumValues": {} - }, - { - "DisplayName": "Max Grid Size", - "Category": "Advanced Settings", - "Keywords": "Max Grid Size", - "FieldName": "MaxGridSize", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxGridSize/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxGridSize/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Max Blocks Per Player", - "Category": "Advanced Settings", - "Keywords": "Max Blocks Per Player", - "FieldName": "MaxBlocksPerPlayer", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxBlocksPerPlayer/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxBlocksPerPlayer/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Total PCU", - "Category": "Advanced Settings", - "Keywords": "Total PCU", - "FieldName": "TotalPCU", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/TotalPCU/text() | /MyObjectBuilder_WorldConfiguration/Settings/TotalPCU/text()", - "IncludeInCommandLine": false, - "DefaultValue": "100000", - "EnumValues": {} - }, - { - "DisplayName": "Pirate PCU", - "Category": "Advanced Settings", - "Keywords": "PiratePCU", - "FieldName": "PiratePCU", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PiratePCU/text() | /MyObjectBuilder_WorldConfiguration/Settings/PiratePCU/text()", - "IncludeInCommandLine": false, - "DefaultValue": "50000", - "EnumValues": {} - }, - { - "DisplayName": "Max Factions Count", - "Category": "Advanced Settings", - "Keywords": "Max Factions Count", - "FieldName": "MaxFactionsCount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxFactionsCount/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxFactionsCount/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Block Limits Enabled", - "Category": "Advanced Settings", - "Keywords": "Block Limits Enabled", - "FieldName": "BlockLimitsEnabled", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/BlockLimitsEnabled/text() | /MyObjectBuilder_WorldConfiguration/Settings/BlockLimitsEnabled/text()", - "IncludeInCommandLine": false, - "DefaultValue": "NONE", - "EnumValues": { - "NONE": "None", - "PER_PLAYER": "Per Player", - "PER_FACTION": "Per Faction", - "GLOBALLY": "Globally" - } - }, - { - "DisplayName": "Enable Remote Block Removal", - "Category": "Advanced Settings", - "Keywords": "Enable Remote Block Removal", - "FieldName": "EnableRemoteBlockRemoval", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableRemoteBlockRemoval/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableRemoteBlockRemoval/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Saving", - "Category": "Advanced Settings", - "Keywords": "Enable Saving", - "FieldName": "EnableSaving", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSaving/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableSaving/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Infinite Ammo", - "Category": "Advanced Settings", - "Keywords": "Infinite Ammo", - "FieldName": "InfiniteAmmo", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/InfiniteAmmo/text() | /MyObjectBuilder_WorldConfiguration/Settings/InfiniteAmmo/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Container Drops", - "Category": "Advanced Settings", - "Keywords": "Enable Container Drops", - "FieldName": "EnableContainerDrops", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableContainerDrops/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableContainerDrops/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Procedural Density", - "Category": "Advanced Settings", - "Description": "Changing this affects how close together seeded asteroids spawn.", - "Keywords": "Procedural Density", - "FieldName": "ProceduralDensity", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ProceduralDensity/text() | /MyObjectBuilder_WorldConfiguration/Settings/ProceduralDensity/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0.4", - "EnumValues": {} - }, - { - "DisplayName": "Procedural Seed", - "Category": "Advanced Settings", - "Description": "Presumeably any numerical value placed here will generate and save an asteroid seed.", - "Keywords": "Procedural Seed", - "FieldName": "ProceduralSeed", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ProceduralSeed/text() | /MyObjectBuilder_WorldConfiguration/Settings/ProceduralSeed/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Enable Oxygen Pressurization", - "Category": "Advanced Settings", - "Keywords": "Enable Oxygen Pressurization", - "FieldName": "EnableOxygenPressurization", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableOxygenPressurization/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableOxygenPressurization/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable PCU Trading", - "Category": "Advanced Settings", - "Keywords": "Enable PCU Trading", - "FieldName": "EnablePcuTrading", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnablePcuTrading/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnablePcuTrading/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable 3rd Person View", - "Category": "Advanced Settings", - "Keywords": "Enable 3rd Person View", - "FieldName": "Enable3rdPersonView", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/Enable3rdPersonView/text() | /MyObjectBuilder_WorldConfiguration/Settings/Enable3rdPersonView/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Encounters", - "Category": "Advanced Settings", - "Description": "Toggles the random spawning of player made ships/points of interest that were officially imported to the game.", - "Keywords": "EnableEncounters", - "FieldName": "EnableEncounters", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableEncounters/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableEncounters/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Convert To Station", - "Category": "Advanced Settings", - "Keywords": "Enable Convert To Station", - "FieldName": "EnableConvertToStation", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableConvertToStation/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableConvertToStation/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Station Voxel Support", - "Category": "Advanced Settings", - "Description": "Toggles whether stations built on asteroids snap to the asteroid grid.", - "Keywords": "Station Voxel Support", - "FieldName": "StationVoxelSupport", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationVoxelSupport/text() | /MyObjectBuilder_WorldConfiguration/Settings/StationVoxelSupport/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Sun Rotation", - "Category": "Advanced Settings", - "Description": "Toggles whether or not the sun rotates around the area of play.", - "Keywords": "Enable Sun Rotation", - "FieldName": "EnableSunRotation", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSunRotation/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableSunRotation/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Respawn Ships", - "Category": "Advanced Settings", - "Description": "Engineers can respawn in a ship or in their suit after they get killed.", - "Keywords": "Enable Respawn Ships", - "FieldName": "EnableRespawnShips", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableRespawnShips/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableRespawnShips/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Scenario Edit Mode", - "Category": "Advanced Settings", - "Keywords": "Scenario Edit Mode", - "FieldName": "ScenarioEditMode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ScenarioEditMode/text() | /MyObjectBuilder_WorldConfiguration/Settings/ScenarioEditMode/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Scenario", - "Category": "Advanced Settings", - "Description": "The left side of the screen presents various options for the starting conditions of the world.", - "Keywords": "Scenario", - "FieldName": "Scenario", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/Scenario/text() | /MyObjectBuilder_WorldConfiguration/Settings/Scenario/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Can Join Running", - "Category": "Advanced Settings", - "Description": "Whether players can join a running server.", - "Keywords": "Can Join Running", - "FieldName": "CanJoinRunning", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/CanJoinRunning/text() | /MyObjectBuilder_WorldConfiguration/Settings/CanJoinRunning/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Physics Iterations", - "Category": "Advanced Settings", - "Description": "Set how often the server cpu checks for physics. (Collision). 4 is considered a moderate setting while 10 is very high. A popular server will want a low setting.", - "Keywords": "Physics Iterations", - "FieldName": "PhysicsIterations", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PhysicsIterations/text() | /MyObjectBuilder_WorldConfiguration/Settings/PhysicsIterations/text()", - "IncludeInCommandLine": false, - "DefaultValue": "6", - "EnumValues": {} - }, - { - "DisplayName": "Sun Rotation Interval", - "Category": "Advanced Settings", - "Keywords": "Sun Rotation Interval Minutes", - "FieldName": "SunRotationIntervalMinutes", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/SunRotationIntervalMinutes/text() | /MyObjectBuilder_WorldConfiguration/Settings/SunRotationIntervalMinutes/text()", - "IncludeInCommandLine": false, - "DefaultValue": "120", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Enable Jetpack", - "Category": "Advanced Settings", - "Keywords": "Enable Jetpack", - "FieldName": "EnableJetpack", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableJetpack/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableJetpack/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Spawn With Tools", - "Category": "Advanced Settings", - "Description": "Enable/Disable players spawning with hand tools.", - "Keywords": "Spawn With Tools", - "FieldName": "SpawnWithTools", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/SpawnWithTools/text() | /MyObjectBuilder_WorldConfiguration/Settings/SpawnWithTools/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Start In Respawn Screen", - "Category": "Advanced Settings", - "Keywords": "Start In Respawn Screen", - "FieldName": "StartInRespawnScreen", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StartInRespawnScreen/text() | /MyObjectBuilder_WorldConfiguration/Settings/StartInRespawnScreen/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Voxel Destruction", - "Category": "Advanced Settings", - "Description": "Enable/Disable destructable asteroids.", - "Keywords": "Enable Voxel Destruction", - "FieldName": "EnableVoxelDestruction", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableVoxelDestruction/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableVoxelDestruction/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Max Drones", - "Category": "Advanced Settings", - "Keywords": "Max Drones", - "FieldName": "MaxDrones", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxDrones/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxDrones/text()", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "Enable Drones", - "Category": "Advanced Settings", - "Description": "Enable/Disable hostile NPC drones.", - "Keywords": "Enable Drones", - "FieldName": "EnableDrones", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableDrones/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableDrones/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Wolfs", - "Category": "Advanced Settings", - "Keywords": "Enable Wolfs", - "FieldName": "EnableWolfs", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableWolfs/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableWolfs/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Spiders", - "Category": "Advanced Settings", - "Keywords": "Enable Spiders", - "FieldName": "EnableSpiders", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSpiders/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableSpiders/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Flora Density Multiplier", - "Category": "Advanced Settings", - "Description": "Flora Density Multiplier", - "Keywords": "Flora Density Multiplier", - "FieldName": "FloraDensityMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/FloraDensityMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/FloraDensityMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Enable Structural Simulation", - "Category": "Advanced Settings", - "Keywords": "Enable Structural Simulation", - "FieldName": "EnableStructuralSimulation", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableStructuralSimulation/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableStructuralSimulation/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Max Active Fracture Pieces", - "Category": "Advanced Settings", - "Keywords": "Max Active Fracture Pieces", - "FieldName": "MaxActiveFracturePieces", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxActiveFracturePieces/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxActiveFracturePieces/text()", - "IncludeInCommandLine": false, - "DefaultValue": "50", - "EnumValues": {} - }, - { - "DisplayName": "Enable Scripter Role", - "Category": "Advanced Settings", - "Keywords": "Enable Scripter Role", - "FieldName": "EnableScripterRole", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableScripterRole/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableScripterRole/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Selective Physics Updates", - "Category": "Advanced Settings", - "Keywords": "Enable Selective Physics Updates", - "FieldName": "EnableSelectivePhysicsUpdates", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSelectivePhysicsUpdates/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableSelectivePhysicsUpdates/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Min Drop Container Respawn Time", - "Category": "Advanced Settings", - "Keywords": "Min Drop Container Respawn Time", - "FieldName": "MinDropContainerRespawnTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MinDropContainerRespawnTime/text() | /MyObjectBuilder_WorldConfiguration/Settings/MinDropContainerRespawnTime/text()", - "IncludeInCommandLine": false, - "DefaultValue": "15", - "EnumValues": {} - }, - { - "DisplayName": "Max Drop Container Respawn Time", - "Category": "Advanced Settings", - "Keywords": "Max Drop Container Respawn Time", - "FieldName": "MaxDropContainerRespawnTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxDropContainerRespawnTime/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxDropContainerRespawnTime/text()", - "IncludeInCommandLine": false, - "DefaultValue": "20", - "EnumValues": {} - }, - { - "DisplayName": "Enable Turrets Friendly Fire", - "Category": "Advanced Settings", - "Keywords": "Enable Turrets Friendly Fire", - "FieldName": "EnableTurretsFriendlyFire", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableTurretsFriendlyFire/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableTurretsFriendlyFire/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Subgrid Damage", - "Category": "Advanced Settings", - "Keywords": "Enable Subgrid Damage", - "FieldName": "EnableSubgridDamage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSubgridDamage/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableSubgridDamage/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Sync Distance", - "Category": "Advanced Settings", - "Keywords": "Sync Distance", - "FieldName": "SyncDistance", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/SyncDistance/text() | /MyObjectBuilder_WorldConfiguration/Settings/SyncDistance/text()", - "IncludeInCommandLine": false, - "DefaultValue": "3000", - "EnumValues": {} - }, - { - "DisplayName": "Experimental Mode", - "Category": "Advanced Settings", - "Description": "Enable experimental mode to use legacy or untested settings.", - "Keywords": "Experimental Mode", - "FieldName": "ExperimentalMode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ExperimentalMode/text() | /MyObjectBuilder_WorldConfiguration/Settings/ExperimentalMode/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Family Sharing", - "Category": "Advanced Settings", - "Description": "Whether players using family sharing can join.", - "Keywords": "Family Sharing", - "FieldName": "FamilySharing", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/FamilySharing/text() | /MyObjectBuilder_WorldConfiguration/Settings/FamilySharing/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Adaptive Simulation Quality", - "Category": "Advanced Settings", - "Keywords": "Adaptive Simulation Quality", - "FieldName": "AdaptiveSimulationQuality", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AdaptiveSimulationQuality/text() | /MyObjectBuilder_WorldConfiguration/Settings/AdaptiveSimulationQuality/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Voxel Hand", - "Category": "Advanced Settings", - "Description": "The Voxel Hands tool is a Creative tool in the Toolbar Configuration that lets you shape the voxels of planets and asteroids. Enabled in Creative mode, disabled by default in Survival mode.", - "Keywords": "Enable Voxel Hand", - "FieldName": "EnableVoxelHand", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableVoxelHand/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableVoxelHand/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Remove Old Identities", - "Category": "Advanced Settings", - "Keywords": "Remove Old Identities (in hours)", - "FieldName": "RemoveOldIdentitiesH", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/RemoveOldIdentitiesH/text() | /MyObjectBuilder_WorldConfiguration/Settings/RemoveOldIdentitiesH/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Suffix": "Hours", - "EnumValues": {} - }, - { - "DisplayName": "Trash Removal Enabled", - "Category": "Advanced Settings", - "Description": "The server will automatically remove debris based on size, movement, and player distance from the object.", - "Keywords": "Trash Removal Enabled", - "FieldName": "TrashRemovalEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/TrashRemovalEnabled/text() | /MyObjectBuilder_WorldConfiguration/Settings/TrashRemovalEnabled/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Stop Grids Period", - "Category": "Advanced Settings", - "Keywords": "Stop Grids Period Min", - "FieldName": "StopGridsPeriodMin", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StopGridsPeriodMin/text() | /MyObjectBuilder_WorldConfiguration/Settings/StopGridsPeriodMin/text()", - "IncludeInCommandLine": false, - "DefaultValue": "30", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Trash Flags Value", - "Category": "Advanced Settings", - "Keywords": "Trash Flags Value", - "FieldName": "TrashFlagsValue", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/TrashFlagsValue/text() | /MyObjectBuilder_WorldConfiguration/Settings/TrashFlagsValue/text()", - "IncludeInCommandLine": false, - "DefaultValue": "7706", - "EnumValues": {} - }, - { - "DisplayName": "AFK Timeount", - "Category": "Advanced Settings", - "Keywords": "AFK Timeount minutes", - "FieldName": "AFKTimeountMin", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AFKTimeountMin/text() | /MyObjectBuilder_WorldConfiguration/Settings/AFKTimeountMin/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Block Count Threshold", - "Category": "Advanced Settings", - "Keywords": "Block Count Threshold", - "FieldName": "BlockCountThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/BlockCountThreshold/text() | /MyObjectBuilder_WorldConfiguration/Settings/BlockCountThreshold/text()", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "Player Distance Threshold", - "Category": "Advanced Settings", - "Keywords": "Player Distance Threshold", - "FieldName": "PlayerDistanceThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PlayerDistanceThreshold/text() | /MyObjectBuilder_WorldConfiguration/Settings/PlayerDistanceThreshold/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1000", - "EnumValues": {} - }, - { - "DisplayName": "Optimal Grid Count", - "Category": "Advanced Settings", - "Keywords": "Optimal Grid Count", - "FieldName": "OptimalGridCount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/OptimalGridCount/text() | /MyObjectBuilder_WorldConfiguration/Settings/OptimalGridCount/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Player Inactivity Threshold", - "Category": "Advanced Settings", - "Keywords": "Player Inactivity Threshold", - "FieldName": "PlayerInactivityThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PlayerInactivityThreshold/text() | /MyObjectBuilder_WorldConfiguration/Settings/PlayerInactivityThreshold/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Player Character Removal Threshold", - "Category": "Advanced Settings", - "Keywords": "Player Character Removal Threshold", - "FieldName": "PlayerCharacterRemovalThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PlayerCharacterRemovalThreshold/text() | /MyObjectBuilder_WorldConfiguration/Settings/PlayerCharacterRemovalThreshold/text()", - "IncludeInCommandLine": false, - "DefaultValue": "15", - "EnumValues": {} - }, - { - "DisplayName": "Voxel Trash Removal Enabled", - "Category": "Advanced Settings", - "Keywords": "Voxel Trash Removal Enabled", - "FieldName": "VoxelTrashRemovalEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelTrashRemovalEnabled/text() | /MyObjectBuilder_WorldConfiguration/Settings/VoxelTrashRemovalEnabled/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Voxel Player Distance Threshold", - "Category": "Advanced Settings", - "Keywords": "Voxel Player Distance Threshold", - "FieldName": "VoxelPlayerDistanceThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelPlayerDistanceThreshold/text() | /MyObjectBuilder_WorldConfiguration/Settings/VoxelPlayerDistanceThreshold/text()", - "IncludeInCommandLine": false, - "DefaultValue": "5000", - "EnumValues": {} - }, - { - "DisplayName": "Voxel Grid Distance Threshold", - "Category": "Advanced Settings", - "Keywords": "Voxel Grid Distance Threshold", - "FieldName": "VoxelGridDistanceThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelGridDistanceThreshold/text() | /MyObjectBuilder_WorldConfiguration/Settings/VoxelGridDistanceThreshold/text()", - "IncludeInCommandLine": false, - "DefaultValue": "5000", - "EnumValues": {} - }, - { - "DisplayName": "Voxel Age Threshold", - "Category": "Advanced Settings", - "Keywords": "Voxel Age Threshold", - "FieldName": "VoxelAgeThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelAgeThreshold/text() | /MyObjectBuilder_WorldConfiguration/Settings/VoxelAgeThreshold/text()", - "IncludeInCommandLine": false, - "DefaultValue": "600", - "EnumValues": {} - }, - { - "DisplayName": "Enable Research", - "Category": "Advanced Settings", - "Keywords": "Enable Research", - "FieldName": "EnableResearch", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableResearch/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableResearch/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Good Bot Hints", - "Category": "Advanced Settings", - "Keywords": "Enable Good Bot Hints", - "FieldName": "EnableGoodBotHints", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableGoodBotHints/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableGoodBotHints/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Optimal Spawn Distance", - "Category": "Advanced Settings", - "Keywords": "Optimal Spawn Distance", - "FieldName": "OptimalSpawnDistance", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/OptimalSpawnDistance/text() | /MyObjectBuilder_WorldConfiguration/Settings/OptimalSpawnDistance/text()", - "IncludeInCommandLine": false, - "DefaultValue": "16000", - "EnumValues": {} - }, - { - "DisplayName": "Enable Autorespawn", - "Category": "Advanced Settings", - "Keywords": "Enable Autorespawn", - "FieldName": "EnableAutorespawn", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableAutorespawn/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableAutorespawn/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Bounty Contracts", - "Category": "Advanced Settings", - "Keywords": "Enable Bounty Contracts", - "FieldName": "EnableBountyContracts", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableBountyContracts/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableBountyContracts/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Supergridding", - "Category": "Advanced Settings", - "Keywords": "Enable Supergridding", - "FieldName": "EnableSupergridding", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSupergridding/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableSupergridding/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Economy", - "Category": "Advanced Settings", - "Keywords": "Enable Economy", - "FieldName": "EnableEconomy", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableEconomy/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableEconomy/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Deposits Count Coefficient", - "Category": "Advanced Settings", - "Keywords": "Deposits Count Coefficient", - "FieldName": "DepositsCountCoefficient", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/DepositsCountCoefficient/text() | /MyObjectBuilder_WorldConfiguration/Settings/DepositsCountCoefficient/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1.125", - "EnumValues": {} - }, - { - "DisplayName": "Deposit Size Denominator", - "Category": "Advanced Settings", - "Keywords": "Deposit Size Denominator", - "FieldName": "DepositSizeDenominator", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/DepositSizeDenominator/text() | /MyObjectBuilder_WorldConfiguration/Settings/DepositSizeDenominator/text()", - "IncludeInCommandLine": false, - "DefaultValue": "75", - "EnumValues": {} - }, - { - "DisplayName": "Harvest Ratio Multiplier", - "Category": "Advanced Settings", - "Keywords": "Harvest Ratio Multiplier", - "FieldName": "HarvestRatioMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/HarvestRatioMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/HarvestRatioMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0.85", - "EnumValues": {} - }, - { - "DisplayName": "Trade Factions Count", - "Category": "Advanced Settings", - "Keywords": "Trade Factions Count", - "FieldName": "TradeFactionsCount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/TradeFactionsCount/text() | /MyObjectBuilder_WorldConfiguration/Settings/TradeFactionsCount/text()", - "IncludeInCommandLine": false, - "DefaultValue": "12", - "EnumValues": {} - }, - { - "DisplayName": "Stations Distance Inner Radius", - "Category": "Advanced Settings", - "Keywords": "Stations Distance Inner Radius", - "FieldName": "StationsDistanceInnerRadius", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationsDistanceInnerRadius/text() | /MyObjectBuilder_WorldConfiguration/Settings/StationsDistanceInnerRadius/text()", - "IncludeInCommandLine": false, - "DefaultValue": "10000000", - "EnumValues": {} - }, - { - "DisplayName": "Stations Distance Outer Radius Start", - "Category": "Advanced Settings", - "Keywords": "Stations Distance Outer Radius Start", - "FieldName": "StationsDistanceOuterRadiusStart", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationsDistanceOuterRadiusStart/text() | /MyObjectBuilder_WorldConfiguration/Settings/StationsDistanceOuterRadiusStart/text()", - "IncludeInCommandLine": false, - "DefaultValue": "10000000", - "EnumValues": {} - }, - { - "DisplayName": "Stations Distance Outer Radius End", - "Category": "Advanced Settings", - "Keywords": "Stations Distance Outer Radius End", - "FieldName": "StationsDistanceOuterRadiusEnd", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationsDistanceOuterRadiusEnd/text() | /MyObjectBuilder_WorldConfiguration/Settings/StationsDistanceOuterRadiusEnd/text()", - "IncludeInCommandLine": false, - "DefaultValue": "30000000", - "EnumValues": {} - }, - { - "DisplayName": "Economy Tick", - "Category": "Advanced Settings", - "Keywords": "Economy Tick In Seconds", - "FieldName": "EconomyTickInSeconds", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EconomyTickInSeconds/text() | /MyObjectBuilder_WorldConfiguration/Settings/EconomyTickInSeconds/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1200", - "Suffix": "seconds", - "EnumValues": {} - }, - { - "DisplayName": "Predefined Asteroids", - "Category": "Advanced Settings", - "Keywords": "Predefined Asteroids", - "FieldName": "PredefinedAsteroids", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PredefinedAsteroids/text() | /MyObjectBuilder_WorldConfiguration/Settings/PredefinedAsteroids/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Use Console PCU", - "Category": "Advanced Settings", - "Keywords": "Use Console PCU", - "FieldName": "UseConsolePCU", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/UseConsolePCU/text() | /MyObjectBuilder_WorldConfiguration/Settings/UseConsolePCU/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Max Planets", - "Category": "Advanced Settings", - "Keywords": "Max Planets", - "FieldName": "MaxPlanets", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxPlanets/text() | /MyObjectBuilder_WorldConfiguration/Settings/MaxPlanets/text()", - "IncludeInCommandLine": false, - "DefaultValue": "99", - "EnumValues": {} - }, - { - "DisplayName": "Offensive Words Filtering", - "Category": "Advanced Settings", - "Keywords": "Offensive Words Filtering", - "FieldName": "OffensiveWordsFiltering", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/OffensiveWordsFiltering/text() | /MyObjectBuilder_WorldConfiguration/Settings/OffensiveWordsFiltering/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Adjustable Max Vehicle Speed", - "Category": "Advanced Settings", - "Keywords": "Adjustable Max Vehicle Speed", - "FieldName": "AdjustableMaxVehicleSpeed", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AdjustableMaxVehicleSpeed/text() | /MyObjectBuilder_WorldConfiguration/Settings/AdjustableMaxVehicleSpeed/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Match Component", - "Category": "Advanced Settings", - "Keywords": "Enable Match Component", - "FieldName": "EnableMatchComponent", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableMatchComponent/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableMatchComponent/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Pre-Match Duration", - "Category": "Advanced Settings", - "Keywords": "Pre Match Duration", - "FieldName": "PreMatchDuration", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PreMatchDuration/text() | /MyObjectBuilder_WorldConfiguration/Settings/PreMatchDuration/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Match Duration", - "Category": "Advanced Settings", - "Keywords": "Match Duration", - "FieldName": "MatchDuration", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MatchDuration/text() | /MyObjectBuilder_WorldConfiguration/Settings/MatchDuration/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Post Match Duration", - "Category": "Advanced Settings", - "Keywords": "Post Match Duration", - "FieldName": "PostMatchDuration", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PostMatchDuration/text() | /MyObjectBuilder_WorldConfiguration/Settings/PostMatchDuration/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Enable Friendly Fire", - "Category": "Advanced Settings", - "Keywords": "Enable Friendly Fire", - "FieldName": "EnableFriendlyFire", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableFriendlyFire/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableFriendlyFire/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Team Balancing", - "Category": "Advanced Settings", - "Keywords": "Enable Team Balancing", - "FieldName": "EnableTeamBalancing", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableTeamBalancing/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableTeamBalancing/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Character Speed Multiplier", - "Category": "Advanced Settings", - "Keywords": "Character Speed Multiplier", - "FieldName": "CharacterSpeedMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/CharacterSpeedMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/CharacterSpeedMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Enable Recoil", - "Category": "Advanced Settings", - "Keywords": "Enable Recoil", - "FieldName": "EnableRecoil", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableRecoil/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableRecoil/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Environment Damage Multiplier", - "Category": "Advanced Settings", - "Keywords": "Environment Damage Multiplier", - "FieldName": "EnvironmentDamageMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnvironmentDamageMultiplier/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnvironmentDamageMultiplier/text()", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Enable Gamepad Aim Assist", - "Category": "Advanced Settings", - "Keywords": "Enable Gamepad Aim Assist", - "FieldName": "EnableGamepadAimAssist", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableGamepadAimAssist/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableGamepadAimAssist/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Backpack Despawn Timer", - "Category": "Advanced Settings", - "Keywords": "Backpack Despawn Timer", - "FieldName": "BackpackDespawnTimer", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/BackpackDespawnTimer/text() | /MyObjectBuilder_WorldConfiguration/Settings/BackpackDespawnTimer/text()", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "Enable Faction Player Names", - "Category": "Advanced Settings", - "Keywords": "Enable Faction Player Names", - "FieldName": "EnableFactionPlayerNames", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableFactionPlayerNames/text() | /MyObjectBuilder_WorldConfiguration/Settings/EnableFactionPlayerNames/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Binding IP", - "Category": "Hidden Settings", - "Description": "Must match AMP's Binding IP", - "Keywords": "binding IP", - "FieldName": "$ApplicationIPBinding", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/IP/text()", - "IncludeInCommandLine": false, - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Server Port", - "Category": "Hidden Settings", - "Description": "Must match AMP's Application Port 1", - "Keywords": "Application Port Server", - "FieldName": "$ApplicationPort1", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ServerPort/text()", - "IncludeInCommandLine": false, - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Remote API Port", - "Category": "Hidden Settings", - "Description": "Must match AMP's Remote Admin Port", - "Keywords": "Remote Api Port", - "FieldName": "$RemoteAdminPort", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/RemoteApiPort/text()", - "IncludeInCommandLine": false, - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Steam Port", - "Category": "Hidden Settings", - "Description": "Must match AMP's Application Port 2", - "Keywords": "Steam Port", - "FieldName": "$ApplicationPort2", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SteamPort/text()", - "IncludeInCommandLine": false, - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Remote API Enabled", - "Category": "Server Settings", - "Description": "Enable/Disable the remote API to manage the server from a browser. ***Does not work in AMP on Windows in service mode***", - "Keywords": "Remote API Enabled", - "FieldName": "RemoteApiEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/RemoteApiEnabled/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Asteroid Amount", - "Category": "Server Settings", - "Keywords": "Asteroid Amount", - "FieldName": "AsteroidAmount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/AsteroidAmount/text()", - "IncludeInCommandLine": false, - "DefaultValue": "4", - "EnumValues": {} - }, - { - "DisplayName": "Group ID", - "Category": "Server Settings", - "Description": "Steam Group ID for friends only", - "Keywords": "Group ID", - "FieldName": "GroupID", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/GroupID/text()", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Server Name", - "Category": "Server Settings", - "Description": "Server Name displayed in the server browser.", - "Keywords": "Server Name", - "FieldName": "ServerName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ServerName/text()", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Server", - "EnumValues": {} - }, - { - "DisplayName": "Server Description", - "Category": "Server Settings", - "Description": "Server Description displayed in the server browser.", - "Keywords": "Server Description", - "FieldName": "ServerDescription", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ServerDescription/text()", - "IncludeInCommandLine": false, - "DefaultValue": "My AMP Powered Space Engineers Server", - "EnumValues": {} - }, - { - "DisplayName": "Message Of The Day", - "Category": "Server Settings", - "Keywords": "Message Of The Day", - "FieldName": "MessageOfTheDay", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/MessageOfTheDay/text()", - "IncludeInCommandLine": false, - "DefaultValue": "Welcome to my Space Engineers Server, powered by AMP!", - "EnumValues": {} - }, - { - "DisplayName": "MessageOfTheDayUrl", - "Category": "Server Settings", - "Keywords": "Message Of The Day Url", - "FieldName": "MessageOfTheDayUrl", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/MessageOfTheDayUrl/text()", - "IncludeInCommandLine": false, - "DefaultValue": "https://cubecoders.com/AMP", - "EnumValues": {} - }, - { - "DisplayName": "Save Chat To Log", - "Category": "Server Settings", - "Description": "Save chat messages to the log file.", - "Keywords": "Save Chat To Log", - "FieldName": "SaveChatToLog", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SaveChatToLog/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Permanent Death", - "Category": "Advanced Settings", - "Description": "Players permantently die.", - "Keywords": "key", - "FieldName": "PermanentDeath", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PermanentDeath/text() | /MyObjectBuilder_WorldConfiguration/Settings/PermanentDeath/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "World Name", - "Category": "Server Settings", - "Description": "World Name displayed in server browser.", - "Keywords": "World Name", - "FieldName": "WorldName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/WorldName/text()", - "IncludeInCommandLine": false, - "DefaultValue": "World", - "EnumValues": {} - }, - { - "DisplayName": "Pause Game When Empty", - "Category": "Advanced Settings", - "Keywords": "Pause Game When Empty", - "FieldName": "PauseGameWhenEmpty", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/PauseGameWhenEmpty/text()", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Ignore Last Session", - "Category": "Advanced Settings", - "Description": "This will ignore the save file and load based on the config every time. This should not be used for survival mode, but can be useful to provide a new world each start for battle sessions.", - "Keywords": "Ignore Last Session", - "FieldName": "IgnoreLastSession", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/IgnoreLastSession/text()", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } + "DisplayName": "Binding IP", + "Category": "Hidden Settings", + "Description": "Must match AMP's Binding IP", + "Keywords": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/IP", + "IncludeInCommandLine": false, + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Server Port", + "Category": "Hidden Settings", + "Description": "Must match AMP's Application Port 1", + "Keywords": "", + "FieldName": "$ApplicationPort1", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/ServerPort", + "IncludeInCommandLine": false, + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Steam Port", + "Category": "Hidden Settings", + "Description": "Must match AMP's Application Port 2", + "Keywords": "", + "FieldName": "$ApplicationPort2", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SteamPort", + "IncludeInCommandLine": false, + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Remote API Port", + "Category": "Hidden Settings", + "Description": "Must match AMP's Remote Admin Port", + "Keywords": "", + "FieldName": "$RemoteAdminPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/RemoteApiPort", + "IncludeInCommandLine": false, + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Server Release Stream", + "Category": "SteamCMD and Updates", + "Description": "Which release stream should be used to update the server. Choose a custom release on [SteamDB](https://steamdb.info/app/298740/depots/) and enter the Branch Name below.", + "Keywords": "server,release,stream", + "FieldName": "Stream", + "ParamFieldName": "Stream", + "IncludeInCommandLine": false, + "InputType": "text", + "EnumValues": {}, + "DefaultValue": "public", + "Placeholder": "public" + }, + { + "DisplayName": "Block Limits Mode", + "Category": "SE - Block Limits", + "Description": "Defines block limits mode.", + "Keywords": "Block,Limits,Enabled", + "FieldName": "BlockLimitsEnabled", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/BlockLimitsEnabled | /MyObjectBuilder_WorldConfiguration/Settings/BlockLimitsEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "GLOBALLY", + "EnumValues": { + "NONE": "None", + "GLOBALLY": "Globally", + "PER_FACTION": "Per Faction", + "PER_PLAYER": "Per Player" + } + }, + { + "DisplayName": "Max Blocks Per Player", + "Category": "SE - Block Limits", + "Description": "The maximum number of blocks per player. (0 - 2147483647)", + "Keywords": "Max,Blocks,Per,Player", + "FieldName": "MaxBlocksPerPlayer", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxBlocksPerPlayer | /MyObjectBuilder_WorldConfiguration/Settings/MaxBlocksPerPlayer", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "MinValue": "0", + "MaxValue": "2147483647", + "Suffix": "Blocks", + "EnumValues": {} + }, + { + "DisplayName": "Max Factions Count", + "Category": "SE - Block Limits", + "Description": "The maximum number of existing factions in the world. (0 - 2147483647)", + "Keywords": "Max,Factions,Count", + "FieldName": "MaxFactionsCount", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxFactionsCount | /MyObjectBuilder_WorldConfiguration/Settings/MaxFactionsCount", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "MinValue": "0", + "MaxValue": "2147483647", + "Suffix": "Factions", + "EnumValues": {} + }, + { + "DisplayName": "Max Grid Blocks", + "Category": "SE - Block Limits", + "Description": "The maximum number of blocks in one grid. (0 - 2147483647)", + "Keywords": "Max,Grid,Size", + "FieldName": "MaxGridSize", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxGridSize | /MyObjectBuilder_WorldConfiguration/Settings/MaxGridSize", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "MinValue": "0", + "MaxValue": "2147483647", + "Suffix": "Blocks", + "EnumValues": {} + }, + { + "DisplayName": "Pirate PCU", + "Category": "SE - Block Limits", + "Description": "Number of Performance Cost Units allocated for pirate faction. (0 - 2147483647)", + "Keywords": "Pirate,PCU", + "FieldName": "PiratePCU", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/PiratePCU | /MyObjectBuilder_WorldConfiguration/Settings/PiratePCU", + "IncludeInCommandLine": false, + "DefaultValue": "50000", + "Placeholder": "50000", + "MinValue": "0", + "MaxValue": "2147483647", + "Suffix": "Units", + "EnumValues": {} + }, + { + "DisplayName": "World PCU", + "Category": "SE - Block Limits", + "Description": "The total number of Performance Cost Units in the world. (0 - 2147483647)", + "Keywords": "Total,PCU", + "FieldName": "TotalPCU", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/TotalPCU | /MyObjectBuilder_WorldConfiguration/Settings/TotalPCU", + "IncludeInCommandLine": false, + "DefaultValue": "100000", + "Placeholder": "100000", + "MinValue": "0", + "MaxValue": "2147483647", + "Suffix": "Units", + "EnumValues": {} + }, + { + "DisplayName": "Enable Destructible Blocks", + "Category": "SE - Environment", + "Description": "Enables destruction feature for the blocks.", + "Keywords": "enable,destructible,blocks", + "FieldName": "DestructibleBlocks", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/DestructibleBlocks | /MyObjectBuilder_WorldConfiguration/Settings/DestructibleBlocks", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Oxygen", + "Category": "SE - Environment", + "Description": "Enables oxygen in the world.", + "Keywords": "Enable,Oxygen", + "FieldName": "EnableOxygen", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableOxygen | /MyObjectBuilder_WorldConfiguration/Settings/EnableOxygen", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Airtightness", + "Category": "SE - Environment", + "Description": "Enables airtightness in the world.", + "Keywords": "Enable,airtightness,Oxygen,Pressurization", + "FieldName": "EnableOxygenPressurization", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableOxygenPressurization | /MyObjectBuilder_WorldConfiguration/Settings/EnableOxygenPressurization", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Sub-Grid Damage", + "Category": "SE - Environment", + "Description": "Enables sub-grid damage.", + "Keywords": "Enable,Subgrid,Damage", + "FieldName": "EnableSubgridDamage", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSubgridDamage | /MyObjectBuilder_WorldConfiguration/Settings/EnableSubgridDamage", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Sun Rotation", + "Category": "SE - Environment", + "Description": "Enables sun rotation.", + "Keywords": "Enable,Sun,Rotation", + "FieldName": "EnableSunRotation", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSunRotation | /MyObjectBuilder_WorldConfiguration/Settings/EnableSunRotation", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Friendly Missile Damage", + "Category": "SE - Environment", + "Description": "Enables explosion damage from missiles being applied to its own grid.", + "Keywords": "Enable,missile,damage,Turrets,Friendly,Fire", + "FieldName": "EnableTurretsFriendlyFire", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableTurretsFriendlyFire | /MyObjectBuilder_WorldConfiguration/Settings/EnableTurretsFriendlyFire", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Voxel Destruction", + "Category": "SE - Environment", + "Description": "Enables voxel destructions.", + "Keywords": "Enable,Voxel,Destruction", + "FieldName": "EnableVoxelDestruction", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableVoxelDestruction | /MyObjectBuilder_WorldConfiguration/Settings/EnableVoxelDestruction", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Environment Hostility", + "Category": "SE - Environment", + "Description": "Defines hostility of the environment.", + "Keywords": "Environment,Hostility", + "FieldName": "EnvironmentHostility", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnvironmentHostility | /MyObjectBuilder_WorldConfiguration/Settings/EnvironmentHostility", + "IncludeInCommandLine": false, + "DefaultValue": "SAFE", + "EnumValues": { + "SAFE": "Safe", + "NORMAL": "Normal", + "CATACLYSM": "Cataclysm", + "CATACLYSM_UNREAL": "Cataclysm - Unreal" + } + }, + { + "DisplayName": "Max Floating Objects", + "Category": "SE - Environment", + "Description": "The maximum number of existing floating objects. (2 - 1024)", + "Keywords": "Max,Floating,Objects", + "FieldName": "MaxFloatingObjects", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxFloatingObjects | /MyObjectBuilder_WorldConfiguration/Settings/MaxFloatingObjects", + "IncludeInCommandLine": false, + "DefaultValue": "56", + "Placeholder": "56", + "MinValue": "2", + "MaxValue": "1024", + "Suffix": "Objects", + "EnumValues": {} + }, + { + "DisplayName": "Physics Iterations", + "Category": "SE - Environment", + "Description": "Defines the number of physics iterations. (2 - 32)", + "Keywords": "Physics,Iterations", + "FieldName": "PhysicsIterations", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/PhysicsIterations | /MyObjectBuilder_WorldConfiguration/Settings/PhysicsIterations", + "IncludeInCommandLine": false, + "DefaultValue": "8", + "Placeholder": "8", + "MinValue": "2", + "MaxValue": "32", + "Suffix": "Iterations", + "EnumValues": {} + }, + { + "DisplayName": "Enable Realistic Sound", + "Category": "SE - Environment", + "Description": "Enable realistic sounds.", + "Keywords": "Realistic,Sound", + "FieldName": "RealisticSound", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/RealisticSound | /MyObjectBuilder_WorldConfiguration/Settings/RealisticSound", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Unsupported Stations", + "Category": "SE - Environment", + "Description": "By enabling this option grids will no longer turn dynamic when disconnected from static grids.", + "Keywords": "unsupported,Station,Voxel,Support", + "FieldName": "StationVoxelSupport", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationVoxelSupport | /MyObjectBuilder_WorldConfiguration/Settings/StationVoxelSupport", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Sun Rotation Interval", + "Category": "SE - Environment", + "Description": "Defines interval of one rotation of the sun. (0 - 1440)", + "Keywords": "Sun,Rotation,Interval,Minutes", + "FieldName": "SunRotationIntervalMinutes", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/SunRotationIntervalMinutes | /MyObjectBuilder_WorldConfiguration/Settings/SunRotationIntervalMinutes", + "IncludeInCommandLine": false, + "DefaultValue": "119.999992", + "Placeholder": "119.999992", + "MinValue": "0", + "MaxValue": "1440", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Sync Distance", + "Category": "SE - Environment", + "Description": "Defines synchronization distance in multiplayer. High distance can slow down server drastically. Use with caution. (1000 - 20000)", + "Keywords": "Sync,Distance", + "FieldName": "SyncDistance", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/SyncDistance | /MyObjectBuilder_WorldConfiguration/Settings/SyncDistance", + "IncludeInCommandLine": false, + "DefaultValue": "3000", + "Placeholder": "3000", + "MinValue": "1000", + "MaxValue": "20000", + "Suffix": "Meters", + "EnumValues": {} + }, + { + "DisplayName": "Bot Limit", + "Category": "SE - Environment", + "Description": "Maximum number of organic bots in the world. (16 - 1024)", + "Keywords": "bot,limit", + "FieldName": "TotalBotLimit", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/TotalBotLimit | /MyObjectBuilder_WorldConfiguration/Settings/TotalBotLimit", + "IncludeInCommandLine": false, + "DefaultValue": "32", + "Placeholder": "32", + "MinValue": "16", + "MaxValue": "1024", + "Suffix": "Bots", + "EnumValues": {} + }, + { + "DisplayName": "Voxel Generator Version", + "Category": "SE - Environment", + "Description": "Selects the voxel generator version.", + "Keywords": "Voxel,Generator,Version", + "FieldName": "VoxelGeneratorVersion", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelGeneratorVersion | /MyObjectBuilder_WorldConfiguration/Settings/VoxelGeneratorVersion", + "IncludeInCommandLine": false, + "DefaultValue": "4", + "EnumValues": { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4" + } + }, + { + "DisplayName": "Enable Weather System", + "Category": "SE - Environment", + "Description": "Enables automatic weather generation on planets.", + "Keywords": "Weather,System", + "FieldName": "WeatherSystem", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/WeatherSystem | /MyObjectBuilder_WorldConfiguration/Settings/WeatherSystem", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "World Size", + "Category": "SE - Environment", + "Description": "Defines the size of the world. (0 - 2147483647)", + "Keywords": "World,Size,Km", + "FieldName": "WorldSizeKm", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/WorldSizeKm | /MyObjectBuilder_WorldConfiguration/Settings/WorldSizeKm", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "MinValue": "0", + "MaxValue": "2147483647", + "Suffix": "Kilometers", + "EnumValues": {} + }, + { + "DisplayName": "Server Name", + "Category": "SE - General", + "Description": "Server Name displayed in the server browser.", + "Keywords": "Server,Name", + "FieldName": "ServerName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/ServerName", + "IncludeInCommandLine": false, + "DefaultValue": "AMP Powered Server", + "Placeholder": "AMP Powered Server", + "EnumValues": {} + }, + { + "DisplayName": "World Name", + "Category": "SE - General", + "Description": "World Name displayed in server browser.", + "Keywords": "World,Name", + "FieldName": "WorldName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/WorldName", + "IncludeInCommandLine": false, + "DefaultValue": "World", + "Placeholder": "World", + "EnumValues": {} + }, + { + "DisplayName": "Steam Group ID", + "Category": "SE - General", + "Description": "Steam Group ID for friends only", + "Keywords": "Group,ID", + "FieldName": "GroupID", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/GroupID", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "123456789012345678", + "EnumValues": {} + }, + { + "DisplayName": "Server Password Hash", + "Category": "SE - General", + "Description": "Generate the password hash using the [Password Generator](https://sepg.einarjegorov.com/)", + "Keywords": "server,password,hash", + "FieldName": "ServerPasswordHash", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/ServerPasswordHash", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Server Password Salt", + "Category": "SE - General", + "Description": "Generate the password salt using the [Password Generator](https://sepg.einarjegorov.com/)", + "Keywords": "server,password,salt", + "FieldName": "ServerPasswordSalt", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/ServerPasswordSalt", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Pause Game When Empty", + "Category": "SE - General", + "Description": "", + "Keywords": "Pause,Game,When,Empty", + "FieldName": "PauseGameWhenEmpty", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/PauseGameWhenEmpty", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Ignore Last Session", + "Category": "SE - General", + "Description": "This will ignore the save file and load based on the config every time. This should not be used for survival mode, but can be useful to provide a new world each start for battle sessions.", + "Keywords": "Ignore,Last,Session", + "FieldName": "IgnoreLastSession", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/IgnoreLastSession", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Remote API", + "Category": "SE - General", + "Description": "Enable/Disable the remote API to manage the server from a browser. ***Does not work in AMP on Windows in service mode***", + "Keywords": "Remote,API,Enabled", + "FieldName": "RemoteApiEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/RemoteApiEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Remote API Security Key", + "Category": "SE - General", + "Description": "The password used to access the Remote API.", + "Keywords": "Remote,API,security,key", + "FieldName": "RemoteSecurityKey", + "InputType": "RandomPassword", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/RemoteSecurityKey", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Server Description", + "Category": "SE - General", + "Description": "Server Description displayed in the server browser.", + "Keywords": "Server,Description", + "FieldName": "ServerDescription", + "InputType": "Textarea", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/ServerDescription", + "IncludeInCommandLine": false, + "DefaultValue": "My AMP Powered Space Engineers Server", + "Placeholder": "My AMP Powered Space Engineers Server", + "EnumValues": {} + }, + { + "DisplayName": "Verbose Network Logging", + "Category": "SE - General", + "Description": "Enables additional network logging.", + "Keywords": "Verbose,Network,Logging", + "FieldName": "VerboseNetworkLogging", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/VerboseNetworkLogging | /MyObjectBuilder_WorldConfiguration/VerboseNetworkLogging", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Console Compatibility", + "Category": "SE - General", + "Description": "Enables console players to cross-play with PC. Ensure \"Networking Type\" is set to EOS.", + "Keywords": "console,compatibility", + "FieldName": "ConsoleCompatibility", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/ConsoleCompatibility", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Networking Type", + "Category": "SE - General", + "Description": "EOS must be selected for cross-platform play. Use in-game server browser filters to display Steam or EOS server lists.", + "Keywords": "Networking,Type", + "FieldName": "NetworkType", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/NetworkType | /MyObjectBuilder_WorldConfiguration/NetworkType", + "IncludeInCommandLine": false, + "DefaultValue": "steam", + "EnumValues": { + "steam": "Steam", + "eos": "EOS" + } + }, + { + "DisplayName": "Enable Chat Anti-Spam", + "Category": "SE - General", + "Description": "Enables anti-spam measures for in-game chat.", + "Keywords": "Chat,AntiSpam,Enabled", + "FieldName": "ChatAntiSpamEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/ChatAntiSpamEnabled | /MyObjectBuilder_WorldConfiguration/ChatAntiSpamEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Same Message Timeout", + "Category": "SE - General", + "Description": "Time between sending the same message before getting timed out.", + "Keywords": "Same,Message,Timeout", + "FieldName": "SameMessageTimeout", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SameMessageTimeout | /MyObjectBuilder_WorldConfiguration/SameMessageTimeout", + "IncludeInCommandLine": false, + "DefaultValue": "30", + "Placeholder": "30", + "Suffix": "Seconds", + "EnumValues": {} + }, + { + "DisplayName": "Spam Messages Time", + "Category": "SE - General", + "Description": "Time between sending multiple messages before getting timed out.", + "Keywords": "Spam,Messages,Time", + "FieldName": "SpamMessagesTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SpamMessagesTime | /MyObjectBuilder_WorldConfiguration/SpamMessagesTime", + "IncludeInCommandLine": false, + "DefaultValue": "0.5", + "Placeholder": "0.5", + "Suffix": "Seconds", + "EnumValues": {} + }, + { + "DisplayName": "Spam Messages Timeout", + "Category": "SE - General", + "Description": "How long to time out a user for spamming.", + "Keywords": "Spam,Messages,Timeout", + "FieldName": "SpamMessagesTimeout", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SpamMessagesTimeout | /MyObjectBuilder_WorldConfiguration/SpamMessagesTimeout", + "IncludeInCommandLine": false, + "DefaultValue": "60", + "Placeholder": "60", + "Suffix": "Seconds", + "EnumValues": {} + }, + { + "DisplayName": "Autodetect Mod Dependencies", + "Category": "SE - General", + "Description": "The server will detect mod dependencies and automatically download on startup.", + "Keywords": "Autodetect,mod,Dependencies", + "FieldName": "AutodetectDependencies", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/AutodetectDependencies | /MyObjectBuilder_WorldConfiguration/AutodetectDependencies", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Message Of The Day", + "Category": "SE - General", + "Description": "", + "Keywords": "Message,Of,The,Day", + "FieldName": "MessageOfTheDay", + "InputType": "Textarea", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/MessageOfTheDay", + "IncludeInCommandLine": false, + "DefaultValue": "Welcome to my Space Engineers Server, powered by AMP!", + "Placeholder": "Welcome to my Space Engineers Server, powered by AMP!", + "EnumValues": {} + }, + { + "DisplayName": "Message Of The Day URL", + "Category": "SE - General", + "Description": "", + "Keywords": "Message,Of,The,Day,Url", + "FieldName": "MessageOfTheDayUrl", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/MessageOfTheDayUrl", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "https://cubecoders.com/AMP", + "EnumValues": {} + }, + { + "DisplayName": "Log Chat", + "Category": "SE - General", + "Description": "Save chat messages to the log file.", + "Keywords": "Save,Chat,Log", + "FieldName": "SaveChatToLog", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SaveChatToLog", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Select World or Scenario", + "Category": "SE - General", + "Description": "Sets the World or Scenario to base the game on. If \"Custom\" is chosen, you must also fill in the Custom World or Custom Scenario fields.", + "Keywords": "select,scenario,premade,checkpoint,path", + "FieldName": "PremadeCheckpointPath", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/PremadeCheckpointPath", + "IncludeInCommandLine": false, + "DefaultValue": "../Content/CustomWorlds/Star System", + "EnumValues": { + "../Content/CustomWorlds/Alien Planet/PC": "Alien Planet [PC]", + "../Content/CustomWorlds/Alien System/XBox": "Alien System [XBOX]", + "../Content/CustomWorlds/Asteroid Armory": "Asteroid Armory", + "../Content/CustomWorlds/Crashed Red Ship": "Crashed Red Ship", + "../Content/CustomWorlds/{{CustomWorld}}": "Custom World", + "../Content/CustomWorlds/{{CustomScenario}}": "Custom Scenario", + "../Content/CustomWorlds/Dead Drop Arena": "Dead Drop Arena [PC]", + "../Content/CustomWorlds/Distant Moons": "Distant Moons [XBOX]", + "../Content/CustomWorlds/Earth Planet/PC": "Earth Planet [PC]", + "../Content/CustomWorlds/Earth Planet/XBox": "Earth Planet [XBOX]", + "../Content/CustomWorlds/Empty World": "Empty World", + "../Content/CustomWorlds/Green Station": "Green Station", + "../Content/CustomWorlds/Home System": "Home System", + "../Content/Scenarios/Learning to Survive": "Learning to Survive [Scenario]", + "../Content/CustomWorlds/Lone Survivor": "Lone Survivor", + "../Content/Scenarios/Lost Colony/PC": "Lost Colony [Scenario] [PC]", + "../Content/CustomWorlds/Mars Planet/PC": "Mars Planet [PC]", + "../Content/CustomWorlds/Mars Planet/XBox": "Mars Planet [XBOX]", + "../Content/CustomWorlds/Moon Base/PC": "Moon Base [PC]", + "../Content/CustomWorlds/Moon Base/XBox": "Moon Base [XBOX]", + "../Content/Scenarios/Never Surrender": "Never Surrender [Scenario]", + "../Content/CustomWorlds/Petram Orbiter": "Petram Orbiter", + "../Content/CustomWorlds/Red Ship": "Red Ship", + "../Content/CustomWorlds/Rival Platforms": "Rival Platforms", + "../Content/Scenarios/Scrap Race/PC": "Scrap Race [Scenario] [PC]", + "../Content/Scenarios/Scrap Race/XBox": "Scrap Race [Scenario] [XBOX]", + "../Content/Scenarios/Sparks of the Future/PC": "Sparks of the Future [Scenario] [PC]", + "../Content/Scenarios/Sparks of the Future/XBox": "Sparks of the Future [Scenario] [XBOX]", + "../Content/CustomWorlds/Star System": "Star System", + "../Content/Scenarios/The First Jump": "The First Jump [Scenario]", + "../Content/Scenarios/Warfare": "Warfare [Scenario]" + } + }, + { + "DisplayName": "Custom World", + "Category": "SE - General", + "Description": "Set this to the name of the folder you created under the \"CustomWorlds\" directory.", + "Keywords": "custom,world", + "FieldName": "CustomWorld", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "CustomWorld", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Custom Scenario", + "Category": "SE - General", + "Description": "Set this to the name of the folder you created under the \"Scenarios\" directory.", + "Keywords": "custom,scenario", + "FieldName": "CustomScenario", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "CustomScenario", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "View Distance", + "Category": "SE - General", + "Description": "Set the distance of how far each client can see objects.", + "Keywords": "View,Distance", + "FieldName": "ViewDistance", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/ViewDistance | /MyObjectBuilder_WorldConfiguration/Settings/ViewDistance", + "IncludeInCommandLine": false, + "DefaultValue": "15000", + "Placeholder": "15000", + "Suffix": "Meters", + "EnumValues": {} + }, + { + "DisplayName": "Procedural Density", + "Category": "SE - General", + "Description": "Defines density of the procedurally generated content.", + "Keywords": "Procedural,Density", + "FieldName": "ProceduralDensity", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/ProceduralDensity | /MyObjectBuilder_WorldConfiguration/Settings/ProceduralDensity", + "IncludeInCommandLine": false, + "DefaultValue": "0.35", + "Placeholder": "0.35", + "EnumValues": {} + }, + { + "DisplayName": "Procedural Seed", + "Category": "SE - General", + "Description": "Defines unique starting seed for the procedurally generated content.", + "Keywords": "Procedural,Seed", + "FieldName": "ProceduralSeed", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/ProceduralSeed | /MyObjectBuilder_WorldConfiguration/Settings/ProceduralSeed", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": {} + }, + { + "DisplayName": "Scenario Edit Mode", + "Category": "SE - General", + "Description": "", + "Keywords": "Scenario,Edit,Mode", + "FieldName": "ScenarioEditMode", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/ScenarioEditMode | /MyObjectBuilder_WorldConfiguration/Settings/ScenarioEditMode", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Scenario", + "Category": "SE - General", + "Description": "The left side of the screen presents various options for the starting conditions of the world.", + "Keywords": "Scenario", + "FieldName": "Scenario", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/Scenario | /MyObjectBuilder_WorldConfiguration/Settings/Scenario", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Can Join Running", + "Category": "SE - General", + "Description": "Whether players can join a running server.", + "Keywords": "Can,Join,Running", + "FieldName": "CanJoinRunning", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/CanJoinRunning | /MyObjectBuilder_WorldConfiguration/Settings/CanJoinRunning", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Start In Respawn Screen", + "Category": "SE - General", + "Description": "", + "Keywords": "Start,Respawn,Screen", + "FieldName": "StartInRespawnScreen", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/StartInRespawnScreen | /MyObjectBuilder_WorldConfiguration/Settings/StartInRespawnScreen", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Flora Density Multiplier", + "Category": "SE - General", + "Description": "", + "Keywords": "Flora Density Multiplier", + "FieldName": "FloraDensityMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/FloraDensityMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/FloraDensityMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "Placeholder": "1", + "Suffix": "x", + "EnumValues": {} + }, + { + "DisplayName": "Enable Structural Simulation", + "Category": "SE - General", + "Description": "", + "Keywords": "Enable,Structural,Simulation", + "FieldName": "EnableStructuralSimulation", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableStructuralSimulation | /MyObjectBuilder_WorldConfiguration/Settings/EnableStructuralSimulation", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Max Active Fracture Pieces", + "Category": "SE - General", + "Description": "", + "Keywords": "Max,Active,Fracture,Pieces", + "FieldName": "MaxActiveFracturePieces", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxActiveFracturePieces | /MyObjectBuilder_WorldConfiguration/Settings/MaxActiveFracturePieces", + "IncludeInCommandLine": false, + "DefaultValue": "50", + "Placeholder": "50", + "Suffix": "Pieces", + "EnumValues": {} + }, + { + "DisplayName": "Deposits Count Coefficient", + "Category": "SE - General", + "Description": "", + "Keywords": "Deposits,Count,Coefficient", + "FieldName": "DepositsCountCoefficient", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/DepositsCountCoefficient | /MyObjectBuilder_WorldConfiguration/Settings/DepositsCountCoefficient", + "IncludeInCommandLine": false, + "DefaultValue": "2", + "Placeholder": "2", + "EnumValues": {} + }, + { + "DisplayName": "Deposit Size Denominator", + "Category": "SE - General", + "Description": "", + "Keywords": "Deposit,Size,Denominator", + "FieldName": "DepositSizeDenominator", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/DepositSizeDenominator | /MyObjectBuilder_WorldConfiguration/Settings/DepositSizeDenominator", + "IncludeInCommandLine": false, + "DefaultValue": "30", + "Placeholder": "30", + "EnumValues": {} + }, + { + "DisplayName": "Adjustable Max Vehicle Speed", + "Category": "SE - General", + "Description": "", + "Keywords": "Adjustable,Max,Vehicle,Speed", + "FieldName": "AdjustableMaxVehicleSpeed", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/AdjustableMaxVehicleSpeed | /MyObjectBuilder_WorldConfiguration/Settings/AdjustableMaxVehicleSpeed", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Faction Player Names", + "Category": "SE - General", + "Description": "", + "Keywords": "Enable,Faction,Player,Names", + "FieldName": "EnableFactionPlayerNames", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableFactionPlayerNames | /MyObjectBuilder_WorldConfiguration/Settings/EnableFactionPlayerNames", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Asteroid Amount", + "Category": "SE - General", + "Description": "", + "Keywords": "Asteroid,Amount", + "FieldName": "AsteroidAmount", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/AsteroidAmount", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "Suffix": "Asteroids", + "EnumValues": {} + }, + { + "DisplayName": "Assembler Efficiency", + "Category": "SE - Multipliers", + "Description": "The multiplier for assembler efficiency. (1 - 100)", + "Keywords": "Assembler,Efficiency,Multiplier", + "FieldName": "AssemblerEfficiencyMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/AssemblerEfficiencyMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/AssemblerEfficiencyMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "3", + "Placeholder": "3", + "MinValue": "1", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Assembler Speed", + "Category": "SE - Multipliers", + "Description": "The multiplier for assembler speed. (1 - 100)", + "Keywords": "Assembler,speed,Multiplier", + "FieldName": "AssemblerSpeedMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/AssemblerSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/AssemblerSpeedMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "3", + "Placeholder": "3", + "MinValue": "1", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Blocks Inventory Size", + "Category": "SE - Multipliers", + "Description": "The multiplier for inventory size for the blocks. (1 - 100)", + "Keywords": "Blocks,Inventory,Size,Multiplier", + "FieldName": "BlocksInventorySizeMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/BlocksInventorySizeMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/BlocksInventorySizeMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "Placeholder": "1", + "MinValue": "1", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Grinder Speed", + "Category": "SE - Multipliers", + "Description": "The multiplier for grinder speed. (0 - 100)", + "Keywords": "Grinder,Speed,Multiplier", + "FieldName": "GrinderSpeedMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/GrinderSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/GrinderSpeedMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "2", + "Placeholder": "2", + "MinValue": "0", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Hacking Speed", + "Category": "SE - Multipliers", + "Description": "The multiplier for hacking speed. (0 - 100)", + "Keywords": "Hacking,Speed,Multiplier", + "FieldName": "HackSpeedMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/HackSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/HackSpeedMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "0.33", + "Placeholder": "0.33", + "MinValue": "0", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Harvest Ratio Multiplier", + "Category": "SE - Multipliers", + "Description": "The ratio multiplier for drills. (0 - 100)", + "Keywords": "Harvest,Ratio,Multiplier", + "FieldName": "HarvestRatioMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/HarvestRatioMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/HarvestRatioMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "Placeholder": "1", + "MinValue": "0", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Character Inventory Size", + "Category": "SE - Multipliers", + "Description": "The multiplier for the inventory size for the characters. (1 - 100)", + "Keywords": "character,inventory,Size,Multiplier", + "FieldName": "InventorySizeMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/InventorySizeMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/InventorySizeMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "3", + "Placeholder": "3", + "MinValue": "1", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Refinery Speed", + "Category": "SE - Multipliers", + "Description": "The multiplier for refinery speed. (1 - 100)", + "Keywords": "Refinery,Speed,Multiplier", + "FieldName": "RefinerySpeedMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/RefinerySpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/RefinerySpeedMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "3", + "Placeholder": "3", + "MinValue": "1", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Welder Speed", + "Category": "SE - Multipliers", + "Description": "The multiplier for welder speed. (0 - 100)", + "Keywords": "Welder,Speed,Multiplier", + "FieldName": "WelderSpeedMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/WelderSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/WelderSpeedMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "2", + "Placeholder": "2", + "MinValue": "0", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Enable Cargo Ships", + "Category": "SE - NPCs", + "Description": "Enables spawning of cargo ships.", + "Keywords": "Cargo,Ships,Enabled", + "FieldName": "CargoShipsEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/CargoShipsEnabled | /MyObjectBuilder_WorldConfiguration/Settings/CargoShipsEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Economy Tick Time", + "Category": "SE - NPCs", + "Description": "Time period between two economy updates. (300 - 3600)", + "Keywords": "Economy,Tick,In,Seconds", + "FieldName": "EconomyTickInSeconds", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EconomyTickInSeconds | /MyObjectBuilder_WorldConfiguration/Settings/EconomyTickInSeconds", + "IncludeInCommandLine": false, + "DefaultValue": "1200", + "Placeholder": "1200", + "MinValue": "300", + "MaxValue": "3600", + "Suffix": "Seconds", + "EnumValues": {} + }, + { + "DisplayName": "Enable Drones", + "Category": "SE - NPCs", + "Description": "Enable spawning of drones in the world.", + "Keywords": "Enable,Drones", + "FieldName": "EnableDrones", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableDrones | /MyObjectBuilder_WorldConfiguration/Settings/EnableDrones", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Max Drones", + "Category": "SE - General", + "Description": "", + "Keywords": "Max,Drones", + "FieldName": "MaxDrones", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxDrones | /MyObjectBuilder_WorldConfiguration/Settings/MaxDrones", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "Placeholder": "5", + "Suffix": "Drones", + "EnumValues": {} + }, + { + "DisplayName": "Enable Economy", + "Category": "SE - NPCs", + "Description": "Enables economy features.", + "Keywords": "Enable,Economy", + "FieldName": "EnableEconomy", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableEconomy | /MyObjectBuilder_WorldConfiguration/Settings/EnableEconomy", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Encounters", + "Category": "SE - NPCs", + "Description": "Enables random encounters in the world.", + "Keywords": "Enable,Encounters", + "FieldName": "EnableEncounters", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableEncounters | /MyObjectBuilder_WorldConfiguration/Settings/EnableEncounters", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Spiders", + "Category": "SE - NPCs", + "Description": "Enables spawning of spiders in the world.", + "Keywords": "Enable,Spiders", + "FieldName": "EnableSpiders", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSpiders | /MyObjectBuilder_WorldConfiguration/Settings/EnableSpiders", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Wolves", + "Category": "SE - NPCs", + "Description": "Enables spawning of wolves in the world.", + "Keywords": "Enable,Wolves", + "FieldName": "EnableWolfs", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableWolfs | /MyObjectBuilder_WorldConfiguration/Settings/EnableWolfs", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Stations Inner Radius", + "Category": "SE - NPCs", + "Description": "The inner radius [m] (center is in 0,0,0), where stations can spawn. Does not affect planet-bound stations (Surface Outposts and Orbital Stations). (200000 - 9223372036854780000)", + "Keywords": "Stations,Distance,Inner,Radius", + "FieldName": "StationsDistanceInnerRadius", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationsDistanceInnerRadius | /MyObjectBuilder_WorldConfiguration/Settings/StationsDistanceInnerRadius", + "IncludeInCommandLine": false, + "DefaultValue": "10000000", + "Placeholder": "10000000", + "MinValue": "200000", + "Suffix": "Meters", + "EnumValues": {} + }, + { + "DisplayName": "Stations Outer Radius Start", + "Category": "SE - NPCs", + "Description": "The outer radius [m] (center is in 0,0,0), where stations can spawn. Does not affect planet-bound stations (Surface Outposts and Orbital Stations). (500000 - 9223372036854780000)", + "Keywords": "Stations,Distance,Outer,Radius,Start", + "FieldName": "StationsDistanceOuterRadiusStart", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationsDistanceOuterRadiusStart | /MyObjectBuilder_WorldConfiguration/Settings/StationsDistanceOuterRadiusStart", + "IncludeInCommandLine": false, + "DefaultValue": "10000000", + "Placeholder": "10000000", + "MinValue": "500000", + "Suffix": "Meters", + "EnumValues": {} + }, + { + "DisplayName": "Stations Outer Radius End", + "Category": "SE - NPCs", + "Description": "The outer radius [m] (center is in 0,0,0), where stations can spawn. Does not affect planet-bound stations (Surface Outposts and Orbital Stations). (1000000 - 9223372036854780000)", + "Keywords": "Stations,Distance,Outer,Radius,End", + "FieldName": "StationsDistanceOuterRadiusEnd", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationsDistanceOuterRadiusEnd | /MyObjectBuilder_WorldConfiguration/Settings/StationsDistanceOuterRadiusEnd", + "IncludeInCommandLine": false, + "DefaultValue": "30000000", + "Placeholder": "30000000", + "MinValue": "1000000", + "Suffix": "Meters", + "EnumValues": {} + }, + { + "DisplayName": "NPC Factions Count", + "Category": "SE - NPCs", + "Description": "The number of NPC factions generated on the start of the world. (8 - 100)", + "Keywords": "Trade,Factions,Count", + "FieldName": "TradeFactionsCount", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/TradeFactionsCount | /MyObjectBuilder_WorldConfiguration/Settings/TradeFactionsCount", + "IncludeInCommandLine": false, + "DefaultValue": "15", + "Placeholder": "15", + "MinValue": "8", + "MaxValue": "100", + "Suffix": "Factions", + "EnumValues": {} + }, + { + "DisplayName": "Adaptive Simulation Quality", + "Category": "SE - Others", + "Description": "Enables adaptive simulation quality system. This system is useful if you have a lot of voxel deformations in the world and a low simulation speed.", + "Keywords": "Adaptive,Simulation,Quality", + "FieldName": "AdaptiveSimulationQuality", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/AdaptiveSimulationQuality | /MyObjectBuilder_WorldConfiguration/Settings/AdaptiveSimulationQuality", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Autosave Interval", + "Category": "SE - Others", + "Description": "Defines autosave interval.", + "Keywords": "Autosave,interval", + "FieldName": "AutoSaveInMinutes", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/AutoSaveInMinutes | /MyObjectBuilder_WorldConfiguration/Settings/AutoSaveInMinutes", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "Placeholder": "5", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Enable Drop Containers", + "Category": "SE - Others", + "Description": "Enable drop containers (unknown signals).", + "Keywords": "Enable,Container,Drops", + "FieldName": "EnableContainerDrops", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableContainerDrops | /MyObjectBuilder_WorldConfiguration/Settings/EnableContainerDrops", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Convert To Station", + "Category": "SE - Others", + "Description": "Enables possibility of converting grid to station.", + "Keywords": "Enable,Convert,Station", + "FieldName": "EnableConvertToStation", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableConvertToStation | /MyObjectBuilder_WorldConfiguration/Settings/EnableConvertToStation", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Good.bot Hints", + "Category": "SE - Others", + "Description": "Enables Good.bot hints in the world. If user has diabled hints, this will not override that.", + "Keywords": "Enable,Good,Bot,Hints", + "FieldName": "EnableGoodBotHints", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableGoodBotHints | /MyObjectBuilder_WorldConfiguration/Settings/EnableGoodBotHints", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Ingame Scripts", + "Category": "SE - Others", + "Description": "Allows scripts loaded from in game computer terminals to work.", + "Keywords": "Enable,Ingame,Scripts", + "FieldName": "EnableIngameScripts", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableIngameScripts | /MyObjectBuilder_WorldConfiguration/Settings/EnableIngameScripts", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Scripter Role", + "Category": "SE - Others", + "Description": "Adds a Scritper role, only Scripters and higher ranks will be able to paste and modify scripts.", + "Keywords": "Enable,Scripter,Role", + "FieldName": "EnableScripterRole", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableScripterRole | /MyObjectBuilder_WorldConfiguration/Settings/EnableScripterRole", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Match", + "Category": "SE - Others", + "Description": "Enable component handling the match.", + "Keywords": "Enable,Match,Component", + "FieldName": "EnableMatchComponent", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableMatchComponent | /MyObjectBuilder_WorldConfiguration/Settings/EnableMatchComponent", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Remote Grid Removal", + "Category": "SE - Others", + "Description": "Enables possibility to remove grid remotely from the world by an author.", + "Keywords": "Enable,Remote,Grid,Block,Removal", + "FieldName": "EnableRemoteBlockRemoval", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableRemoteBlockRemoval | /MyObjectBuilder_WorldConfiguration/Settings/EnableRemoteBlockRemoval", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Progression", + "Category": "SE - Others", + "Description": "Enables research progression.", + "Keywords": "Enable,Progression,Research", + "FieldName": "EnableResearch", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableResearch | /MyObjectBuilder_WorldConfiguration/Settings/EnableResearch", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Respawn Ships", + "Category": "SE - Others", + "Description": "Enables respawn ships.", + "Keywords": "Enable,Respawn,Ships", + "FieldName": "EnableRespawnShips", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableRespawnShips | /MyObjectBuilder_WorldConfiguration/Settings/EnableRespawnShips", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Saving From Menu", + "Category": "SE - Others", + "Description": "Enables saving from the menu.", + "Keywords": "Enable,Saving,from,menu", + "FieldName": "EnableSaving", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSaving | /MyObjectBuilder_WorldConfiguration/Settings/EnableSaving", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Selective Physics Updates", + "Category": "SE - Others", + "Description": "When enabled game will update physics only in the specific clusters, which are necessary.", + "Keywords": "Enable,Selective,Physics,Updates", + "FieldName": "EnableSelectivePhysicsUpdates", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSelectivePhysicsUpdates | /MyObjectBuilder_WorldConfiguration/Settings/EnableSelectivePhysicsUpdates", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Spectator Camera", + "Category": "SE - Others", + "Description": "Enables spectator camera.", + "Keywords": "Enable,Spectator,camera", + "FieldName": "EnableSpectator", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSpectator | /MyObjectBuilder_WorldConfiguration/Settings/EnableSpectator", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Supergridding", + "Category": "SE - Others", + "Description": "Allows super gridding exploit to be used.", + "Keywords": "Enable,Supergridding", + "FieldName": "EnableSupergridding", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSupergridding | /MyObjectBuilder_WorldConfiguration/Settings/EnableSupergridding", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Team Score Counters", + "Category": "SE - Others", + "Description": "Show team scores at the top of the screen.", + "Keywords": "Enable,team,score,counters", + "FieldName": "EnableTeamScoreCounters", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableTeamScoreCounters | /MyObjectBuilder_WorldConfiguration/Settings/EnableTeamScoreCounters", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Voxel Hand", + "Category": "SE - Others", + "Description": "Enables voxel hand.", + "Keywords": "Enable,Voxel,Hand", + "FieldName": "EnableVoxelHand", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableVoxelHand | /MyObjectBuilder_WorldConfiguration/Settings/EnableVoxelHand", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Experimental Mode", + "Category": "SE - Others", + "Description": "Enables experimental mode.", + "Keywords": "Experimental,Mode", + "FieldName": "ExperimentalMode", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/ExperimentalMode | /MyObjectBuilder_WorldConfiguration/Settings/ExperimentalMode", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Game Mode", + "Category": "SE - Others", + "Description": "The type of the game mode.", + "Keywords": "Game,Mode", + "FieldName": "GameMode", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/GameMode | /MyObjectBuilder_WorldConfiguration/Settings/GameMode", + "IncludeInCommandLine": false, + "DefaultValue": "Survival", + "EnumValues": { + "Creative": "Creative", + "Survival": "Survival" + } + }, + { + "DisplayName": "Enable Infinite Ammunition in Survival", + "Category": "SE - Others", + "Description": "Enables infinite ammunition in survival game mode.", + "Keywords": "Infinite,Ammo,ammunition", + "FieldName": "InfiniteAmmo", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/InfiniteAmmo | /MyObjectBuilder_WorldConfiguration/Settings/InfiniteAmmo", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "PreMatch Duration", + "Category": "SE - Others", + "Description": "Duration of PreMatch phase of the match. (0 - 60000)", + "Keywords": "PreMatch,Duration", + "FieldName": "PreMatchDuration", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/PreMatchDuration | /MyObjectBuilder_WorldConfiguration/Settings/PreMatchDuration", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "MinValue": "0", + "MaxValue": "60000", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Match Duration", + "Category": "SE - Others", + "Description": "Duration of Match phase of the match. (0 - 60000)", + "Keywords": "Match,Duration", + "FieldName": "MatchDuration", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MatchDuration | /MyObjectBuilder_WorldConfiguration/Settings/MatchDuration", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "MinValue": "0", + "MaxValue": "60000", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Post Match Duration", + "Category": "SE - Others", + "Description": "Duration of Post Match phase of the match. (0 - 60000)", + "Keywords": "Post,Match,Duration", + "FieldName": "PostMatchDuration", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/PostMatchDuration | /MyObjectBuilder_WorldConfiguration/Settings/PostMatchDuration", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "MinValue": "0", + "MaxValue": "60000", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Max Backup Saves", + "Category": "SE - Others", + "Description": "Max number of backups", + "Keywords": "Max,Backup,Saves", + "FieldName": "MaxBackupSaves", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxBackupSaves | /MyObjectBuilder_WorldConfiguration/Settings/MaxBackupSaves", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "Placeholder": "5", + "Suffix": "Saves", + "EnumValues": {} + }, + { + "DisplayName": "Min Drop Container Respawn Time", + "Category": "SE - Others", + "Description": "Defines minimum respawn time for drop containers.", + "Keywords": "Min,Drop,Container,Respawn,Time", + "FieldName": "MinDropContainerRespawnTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MinDropContainerRespawnTime | /MyObjectBuilder_WorldConfiguration/Settings/MinDropContainerRespawnTime", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "Placeholder": "5", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Max Drop Container Respawn Time", + "Category": "SE - Others", + "Description": "Defines maximum respawn time for drop containers.", + "Keywords": "Max,Drop,Container,Respawn,Time", + "FieldName": "MaxDropContainerRespawnTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxDropContainerRespawnTime | /MyObjectBuilder_WorldConfiguration/Settings/MaxDropContainerRespawnTime", + "IncludeInCommandLine": false, + "DefaultValue": "20", + "Placeholder": "20", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Max Planet Types", + "Category": "SE - Others", + "Description": "Limit maximum number of types of planets in the world.", + "Keywords": "Max,Planets", + "FieldName": "MaxPlanets", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxPlanets | /MyObjectBuilder_WorldConfiguration/Settings/MaxPlanets", + "IncludeInCommandLine": false, + "DefaultValue": "99", + "Placeholder": "99", + "Suffix": "Types", + "EnumValues": {} + }, + { + "DisplayName": "Offensive Words Filtering", + "Category": "SE - Others", + "Description": "Filter offensive words from all input methods.", + "Keywords": "Offensive,Words,Filtering", + "FieldName": "OffensiveWordsFiltering", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/OffensiveWordsFiltering | /MyObjectBuilder_WorldConfiguration/Settings/OffensiveWordsFiltering", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Predefined Asteroids", + "Category": "SE - Others", + "Description": "To conserve memory, predefined asteroids has to be disabled on consoles.", + "Keywords": "Predefined,Asteroids", + "FieldName": "PredefinedAsteroids", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/PredefinedAsteroids | /MyObjectBuilder_WorldConfiguration/Settings/PredefinedAsteroids", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Remove Respawn Ships on Logoff", + "Category": "SE - Others", + "Description": "When enabled respawn ship is removed after player logout.", + "Keywords": "Respawn,Ship,Delete", + "FieldName": "RespawnShipDelete", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/RespawnShipDelete | /MyObjectBuilder_WorldConfiguration/Settings/RespawnShipDelete", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Thruster Damage", + "Category": "SE - Others", + "Description": "Enables thruster damage.", + "Keywords": "Thruster,Damage", + "FieldName": "ThrusterDamage", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/ThrusterDamage | /MyObjectBuilder_WorldConfiguration/Settings/ThrusterDamage", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Use Console PCU", + "Category": "SE - Others", + "Description": "To conserve memory, some of the blocks have different PCU values for consoles.", + "Keywords": "Use,Console,PCU", + "FieldName": "UseConsolePCU", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/UseConsolePCU | /MyObjectBuilder_WorldConfiguration/Settings/UseConsolePCU", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Weapons", + "Category": "SE - Others", + "Description": "Enables weapons.", + "Keywords": "Weapons,Enabled", + "FieldName": "WeaponsEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/WeaponsEnabled | /MyObjectBuilder_WorldConfiguration/Settings/WeaponsEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Auto Healing", + "Category": "SE - Players", + "Description": "Auto-healing heals players only in oxygen environments and during periods of not taking damage.", + "Keywords": "Auto,Healing", + "FieldName": "AutoHealing", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/AutoHealing | /MyObjectBuilder_WorldConfiguration/Settings/AutoHealing", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Backpack Despawn Timer", + "Category": "SE - Players", + "Description": "Sets the timer (minutes) for the backup to be removed from the world. Default is 5 minutes. (0 - 10)", + "Keywords": "Backpack,Despawn,Timer", + "FieldName": "BackpackDespawnTimer", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/BackpackDespawnTimer | /MyObjectBuilder_WorldConfiguration/Settings/BackpackDespawnTimer", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "Placeholder": "5", + "MinValue": "0", + "MaxValue": "10", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Character Speed Multiplier", + "Category": "SE - Players", + "Description": "Character speed multiplier. (.75 - 1)", + "Keywords": "Character,Speed,Multiplier", + "FieldName": "CharacterSpeedMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/CharacterSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/CharacterSpeedMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "Placeholder": "1", + "MinValue": "0", + "MaxValue": "1", + "EnumValues": {} + }, + { + "DisplayName": "Enable 3rd Person Camera", + "Category": "SE - Players", + "Description": "Enables 3rd person camera.", + "Keywords": "Enable,3rd,Person,View", + "FieldName": "Enable3rdPersonView", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/Enable3rdPersonView | /MyObjectBuilder_WorldConfiguration/Settings/Enable3rdPersonView", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Autorespawn", + "Category": "SE - Players", + "Description": "Enables automatic respawn at nearest available respawn point.", + "Keywords": "Enable,Autorespawn", + "FieldName": "EnableAutorespawn", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableAutorespawn | /MyObjectBuilder_WorldConfiguration/Settings/EnableAutorespawn", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Bounty Contracts", + "Category": "SE - Players", + "Description": "If enabled bounty contracts will be available on stations.", + "Keywords": "Enable,Bounty,Contracts", + "FieldName": "EnableBountyContracts", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableBountyContracts | /MyObjectBuilder_WorldConfiguration/Settings/EnableBountyContracts", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Copy & Paste", + "Category": "SE - Players", + "Description": "Allows players to copy a ship, rover, station, and paste the copy into the world.", + "Keywords": "Enable,Copy,Paste", + "FieldName": "EnableCopyPaste", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableCopyPaste | /MyObjectBuilder_WorldConfiguration/Settings/EnableCopyPaste", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Gamepad Aim Assist", + "Category": "SE - Players", + "Description": "Enables aim assist for gamepad.", + "Keywords": "Enable,Gamepad,Aim,Assist", + "FieldName": "EnableGamepadAimAssist", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableGamepadAimAssist | /MyObjectBuilder_WorldConfiguration/Settings/EnableGamepadAimAssist", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Jetpack", + "Category": "SE - Players", + "Description": "Enables jetpack.", + "Keywords": "Enable,Jetpack", + "FieldName": "EnableJetpack", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableJetpack | /MyObjectBuilder_WorldConfiguration/Settings/EnableJetpack", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable PCU Trading", + "Category": "SE - Players", + "Description": "Enables trading of PCUs between players or factions depending on PCU settings.", + "Keywords": "Enable,PCU,Trading", + "FieldName": "EnablePcuTrading", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnablePcuTrading | /MyObjectBuilder_WorldConfiguration/Settings/EnablePcuTrading", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Weapon Recoil", + "Category": "SE - Players", + "Description": "Enables weapon recoil.", + "Keywords": "Enable,Recoil", + "FieldName": "EnableRecoil", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableRecoil | /MyObjectBuilder_WorldConfiguration/Settings/EnableRecoil", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Tool Shake", + "Category": "SE - Players", + "Description": "Enables tool shake feature.", + "Keywords": "Enable,Tool,Shake", + "FieldName": "EnableToolShake", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableToolShake | /MyObjectBuilder_WorldConfiguration/Settings/EnableToolShake", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Environment Damage Multiplier", + "Category": "SE - Players", + "Description": "This multiplier only applies for damage caused to the player by the environment. (max 2)", + "Keywords": "Environment,Damage,Multiplier", + "FieldName": "EnvironmentDamageMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnvironmentDamageMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/EnvironmentDamageMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "MaxValue": "2", + "EnumValues": {} + }, + { + "DisplayName": "Enable Family Sharing", + "Category": "SE - Players", + "Description": "Enables shared accounts to join multiplayer games.", + "Keywords": "Family,Sharing", + "FieldName": "FamilySharing", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/FamilySharing | /MyObjectBuilder_WorldConfiguration/Settings/FamilySharing", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Max Players", + "Category": "SE - Players", + "Description": "The maximum number of connected players. (2 - 64)", + "Keywords": "Max,Players,users", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxPlayers | /MyObjectBuilder_WorldConfiguration/Settings/MaxPlayers", + "IncludeInCommandLine": false, + "DefaultValue": "4", + "Placeholder": "4", + "MinValue": "2", + "MaxValue": "64", + "Suffix": "Players", + "EnumValues": {} + }, + { + "DisplayName": "Optimal Respawn Distance", + "Category": "SE - Players", + "Description": "Sets optimal distance in meters the game should take into consideration when spawning new player near others.", + "Keywords": "Optimal,Respawn,Distance", + "FieldName": "OptimalSpawnDistance", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/OptimalSpawnDistance | /MyObjectBuilder_WorldConfiguration/Settings/OptimalSpawnDistance", + "IncludeInCommandLine": false, + "DefaultValue": "16000", + "Placeholder": "16000", + "Suffix": "Meters", + "EnumValues": {} + }, + { + "DisplayName": "Permanent Death", + "Category": "SE - Players", + "Description": "Enables permanent death.", + "Keywords": "permanent,death", + "FieldName": "PermanentDeath", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/PermanentDeath | /MyObjectBuilder_WorldConfiguration/Settings/PermanentDeath", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Reset Ownership", + "Category": "SE - Players", + "Description": "Reset ownership of all blocks to nobody.", + "Keywords": "Reset,Ownership", + "FieldName": "ResetOwnership", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/ResetOwnership | /MyObjectBuilder_WorldConfiguration/Settings/ResetOwnership", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Show Player Names On HUD", + "Category": "SE - Players", + "Description": "If enabled, nearby players will have their names displayed.", + "Keywords": "Show,Player,Names,Hud", + "FieldName": "ShowPlayerNamesOnHud", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/ShowPlayerNamesOnHud | /MyObjectBuilder_WorldConfiguration/Settings/ShowPlayerNamesOnHud", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Respawn Ship Time Multiplier", + "Category": "SE - Players", + "Description": "The multiplier for respawn ship timer. (0 - 100)", + "Keywords": "Spawn,Ship,Time,Multiplier", + "FieldName": "SpawnShipTimeMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/SpawnShipTimeMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/SpawnShipTimeMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "MinValue": "0", + "MaxValue": "100", + "EnumValues": {} + }, + { + "DisplayName": "Spawn With Tools", + "Category": "SE - Players", + "Description": "Enables spawning with tools in the inventory.", + "Keywords": "Spawn,Tools", + "FieldName": "SpawnWithTools", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/SpawnWithTools | /MyObjectBuilder_WorldConfiguration/Settings/SpawnWithTools", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Friendly Fire", + "Category": "SE - PvP", + "Description": "Enables friendly fire damage.", + "Keywords": "Enable,Friendly,Fire", + "FieldName": "EnableFriendlyFire", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableFriendlyFire | /MyObjectBuilder_WorldConfiguration/Settings/EnableFriendlyFire", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Team Balancing", + "Category": "SE - PvP", + "Description": "Enables automatic team balancing.", + "Keywords": "Enable,Team,Balancing", + "FieldName": "EnableTeamBalancing", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableTeamBalancing | /MyObjectBuilder_WorldConfiguration/Settings/EnableTeamBalancing", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "AFK Timeout", + "Category": "SE - Trash Removal", + "Description": "Defines time in minutes after which inactive players will be kicked. 0 is off.", + "Keywords": "AFK,Timeout,minutes", + "FieldName": "AFKTimeountMin", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/AFKTimeountMin | /MyObjectBuilder_WorldConfiguration/Settings/AFKTimeountMin", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Block Count Threshold", + "Category": "SE - Trash Removal", + "Description": "Defines block count threshold for trash removal system.", + "Keywords": "Block,Count,Threshold", + "FieldName": "BlockCountThreshold", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/BlockCountThreshold | /MyObjectBuilder_WorldConfiguration/Settings/BlockCountThreshold", + "IncludeInCommandLine": false, + "DefaultValue": "20", + "Placeholder": "20", + "Suffix": "Blocks", + "EnumValues": {} + }, + { + "DisplayName": "Optimal Grid Count", + "Category": "SE - Trash Removal", + "Description": "By setting this, server will keep number of grids around this value. !WARNING! It ignores Powered and Fixed flags, Block count and lowers Distance from player. Set to 0 to disable.", + "Keywords": "Optimal,Grid,Count", + "FieldName": "OptimalGridCount", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/OptimalGridCount | /MyObjectBuilder_WorldConfiguration/Settings/OptimalGridCount", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "Suffix": "Grids", + "EnumValues": {} + }, + { + "DisplayName": "Character Removal Threshold", + "Category": "SE - Trash Removal", + "Description": "Defines character removal threshold for trash removal system. If player disconnects it will remove their character after this time. Set to 0 to disable.", + "Keywords": "Player,Character,Removal,Threshold", + "FieldName": "PlayerCharacterRemovalThreshold", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/PlayerCharacterRemovalThreshold | /MyObjectBuilder_WorldConfiguration/Settings/PlayerCharacterRemovalThreshold", + "IncludeInCommandLine": false, + "DefaultValue": "15", + "Placeholder": "15", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Player Distance Threshold", + "Category": "SE - Trash Removal", + "Description": "Defines Player Distance Threshold for trash removal system.", + "Keywords": "Player,Distance,Threshold", + "FieldName": "PlayerDistanceThreshold", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/PlayerDistanceThreshold | /MyObjectBuilder_WorldConfiguration/Settings/PlayerDistanceThreshold", + "IncludeInCommandLine": false, + "DefaultValue": "500", + "Placeholder": "500", + "Suffix": "Meters", + "EnumValues": {} + }, + { + "DisplayName": "Player Inactivity Threshold", + "Category": "SE - Trash Removal", + "Description": "Defines player inactivity (time from logout) threshold for trash removal system. !WARNING! This will remove all grids of the player. Set to 0 to disable.", + "Keywords": "Player,Inactivity,Threshold", + "FieldName": "PlayerInactivityThreshold", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/PlayerInactivityThreshold | /MyObjectBuilder_WorldConfiguration/Settings/PlayerInactivityThreshold", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "Suffix": "Hours", + "EnumValues": {} + }, + { + "DisplayName": "Remove Old Identities", + "Category": "SE - Trash Removal", + "Description": "Defines time in hours after which inactive identities that do not own any grids will be removed. Set to 0 to disable.", + "Keywords": "Remove,Old,Identities", + "FieldName": "RemoveOldIdentitiesH", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/RemoveOldIdentitiesH | /MyObjectBuilder_WorldConfiguration/Settings/RemoveOldIdentitiesH", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "Suffix": "Hours", + "EnumValues": {} + }, + { + "DisplayName": "Stop Grids Period", + "Category": "SE - Trash Removal", + "Description": "Defines time in minutes after which grids will be stopped if far from player. Set to 0 to disable.", + "Keywords": "Stop,Grids,Period", + "FieldName": "StopGridsPeriodMin", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/StopGridsPeriodMin | /MyObjectBuilder_WorldConfiguration/Settings/StopGridsPeriodMin", + "IncludeInCommandLine": false, + "DefaultValue": "15", + "Placeholder": "15", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Trash Removal Flags Value", + "Category": "SE - Trash Removal", + "Description": "Determined by the combination of checkboxes chosen from the Server Launcher.", + "Keywords": "Trash,Flags,Value", + "FieldName": "TrashFlagsValue", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/TrashFlagsValue | /MyObjectBuilder_WorldConfiguration/Settings/TrashFlagsValue", + "IncludeInCommandLine": false, + "DefaultValue": "1562", + "Placeholder": "1562", + "EnumValues": {} + }, + { + "DisplayName": "Trash Removal Enabled", + "Category": "SE - Trash Removal", + "Description": "Enable trash removal system.", + "Keywords": "Trash,Removal,Enabled", + "FieldName": "TrashRemovalEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/TrashRemovalEnabled | /MyObjectBuilder_WorldConfiguration/Settings/TrashRemovalEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Voxel Age", + "Category": "SE - Trash Removal", + "Description": "Only voxel chunks that have been modified longer than this time may be reverted.", + "Keywords": "Voxel,Age,Threshold", + "FieldName": "VoxelAgeThreshold", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelAgeThreshold | /MyObjectBuilder_WorldConfiguration/Settings/VoxelAgeThreshold", + "IncludeInCommandLine": false, + "DefaultValue": "24", + "Placeholder": "24", + "Suffix": "Minutes", + "EnumValues": {} + }, + { + "DisplayName": "Distance Voxel From Grid", + "Category": "SE - Trash Removal", + "Description": "Only voxel chunks that are further from grid will be reverted.", + "Keywords": "Voxel,Grid,Distance,Threshold", + "FieldName": "VoxelGridDistanceThreshold", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelGridDistanceThreshold | /MyObjectBuilder_WorldConfiguration/Settings/VoxelGridDistanceThreshold", + "IncludeInCommandLine": false, + "DefaultValue": "5000", + "Placeholder": "5000", + "Suffix": "Meters", + "EnumValues": {} + }, + { + "DisplayName": "Distance Voxel From Player", + "Category": "SE - Trash Removal", + "Description": "Only voxel chunks that are further from player will be reverted.", + "Keywords": "Voxel,Player,distance,Threshold", + "FieldName": "VoxelPlayerDistanceThreshold", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelPlayerDistanceThreshold | /MyObjectBuilder_WorldConfiguration/Settings/VoxelPlayerDistanceThreshold", + "IncludeInCommandLine": false, + "DefaultValue": "5000", + "Placeholder": "5000", + "Suffix": "Meters", + "EnumValues": {} + }, + { + "DisplayName": "Voxel Reverting Enabled", + "Category": "SE - Trash Removal", + "Description": "Enables system for voxel removal", + "Keywords": "Voxel,Trash,Removal,Reverting,Enabled", + "FieldName": "VoxelTrashRemovalEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelTrashRemovalEnabled | /MyObjectBuilder_WorldConfiguration/Settings/VoxelTrashRemovalEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } } ] \ No newline at end of file diff --git a/space-engineers-genericupdates.json b/space-engineers-genericupdates.json new file mode 100644 index 000000000..db471a5ff --- /dev/null +++ b/space-engineers-genericupdates.json @@ -0,0 +1,49 @@ +[ + { + "UpdateStageName": "SteamCMD Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "SteamCMD", + "UpdateSourceData": "298740", + "UpdateSourceVersion": "{{Stream}}" + }, + { + "UpdateStageName": "Create Config Directory", + "UpdateSourcePlatform": "All", + "UpdateSource": "CreateDirectory", + "UpdateSourceArgs": "{{$FullBaseDir}}servers", + "OverwriteExistingFiles": false + }, + { + "UpdateStageName": "Base Config Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/IceOfWraith/AMPTemplates/raw/dev/space-engineers-dedicated.cfg", + "UpdateSourceTarget": "{{$FullBaseDir}}servers", + "UpdateSourceArgs": "SpaceEngineers-Dedicated.cfg", + "OverwriteExistingFiles": false + }, + { + "UpdateStageName": "Mods Workaround 1", + "UpdateSourcePlatform": "All", + "UpdateSource": "CopyFilePath", + "UpdateSourceData": "{{$FullBaseDir}}DedicatedServer64/steamclient64.dll", + "UpdateSourceArgs": "{{$FullBaseDir}}steamclient64.dll", + "OverwriteExistingFiles": true + }, + { + "UpdateStageName": "Mods Workaround 2", + "UpdateSourcePlatform": "All", + "UpdateSource": "CopyFilePath", + "UpdateSourceData": "{{$FullBaseDir}}DedicatedServer64/tier0_s64.dll", + "UpdateSourceArgs": "{{$FullBaseDir}}tier0_s64.dll", + "OverwriteExistingFiles": true + }, + { + "UpdateStageName": "Mods Workaround 3", + "UpdateSourcePlatform": "All", + "UpdateSource": "CopyFilePath", + "UpdateSourceData": "{{$FullBaseDir}}DedicatedServer64/vstdlib_s64.dll", + "UpdateSourceArgs": "{{$FullBaseDir}}vstdlib_s64.dll", + "OverwriteExistingFiles": true + } +] \ No newline at end of file From 7df4568d7fed7ce6acaa477179ea391c863e12df Mon Sep 17 00:00:00 2001 From: Geramie Kuba Date: Sat, 19 Nov 2022 14:43:55 -0700 Subject: [PATCH 078/318] Create Mod dir on base game update. (#231) --- seven-days-to-dieupdates.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/seven-days-to-dieupdates.json b/seven-days-to-dieupdates.json index 72864cec0..f51a23c7c 100644 --- a/seven-days-to-dieupdates.json +++ b/seven-days-to-dieupdates.json @@ -6,6 +6,12 @@ "UpdateSourceData": "294420", "UpdateSourceVersion": "{{Stream}}" }, + { + "UpdateStageName":"Create Mod Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}Mods" + }, { "UpdateStageName": "Settings File Download", "UpdateSourcePlatform": "All", From f4b00c1f178c83f9ac50d69b1f2825404ba9190b Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sun, 20 Nov 2022 15:21:07 -0600 Subject: [PATCH 079/318] Update Satisfactory Release Stream (#234) Change the Early Access value to "public" so switching back from Experimental properly switches it to the EA branch. --- satisfactoryconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/satisfactoryconfig.json b/satisfactoryconfig.json index 92574a3ce..6f0430d01 100644 --- a/satisfactoryconfig.json +++ b/satisfactoryconfig.json @@ -8,10 +8,10 @@ "IncludeInCommandLine": false, "InputType": "enum", "EnumValues": { - "": "Early Access", + "public": "Early Access", "experimental": "Experimental" }, - "DefaultValue": "" + "DefaultValue": "public" } ] \ No newline at end of file From f1dd7c5beea19f8198d9e955baa0c3f3b3f6d57c Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 21 Nov 2022 14:14:17 +1100 Subject: [PATCH 080/318] Astroneer: update container policy (#235) --- astroneer.kvp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/astroneer.kvp b/astroneer.kvp index 54ccdb532..2ee7c4175 100644 --- a/astroneer.kvp +++ b/astroneer.kvp @@ -11,7 +11,8 @@ Meta.MetaConfigManifest=astroneermetaconfig.json Meta.ConfigRoot=astroneer.kvp Meta.MinAMPVersion=2.3.2.0 Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=NotSupported +Meta.ContainerPolicyReason=Astroneer can currently only run under Wine/Proton on Linux (and therefore in Docker), but to do so requires disabling of encryption on server and clients. The AMP template is therefore not configured for Linux. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Astroneer From 38bcb44b0867168d8ba7b6a4856cf397961fa1a8 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 25 Nov 2022 19:44:08 -0600 Subject: [PATCH 081/318] Update TeamSpeak 3 License Path (#240) * Update TeamSpeak 3 License Path Small fix to adjust the default License Path value to be blank, matching the working directory. * Update teamspeak3config.json --- teamspeak3config.json | 4 ++-- teamspeak3server.ini | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/teamspeak3config.json b/teamspeak3config.json index 3f913b0a9..dfbcce738 100644 --- a/teamspeak3config.json +++ b/teamspeak3config.json @@ -196,7 +196,7 @@ }, { "DisplayName": "License File Path", - "Description": "The physical path where your license file is located.", + "Description": "The physical path where your license file is located. You must replace the existing \"licensekey.dat\" file with the one provided after purchasing. This file can be found in File Manager inside the instance.", "Category": "Server Settings", "Keywords": "license,path", "FieldName": "licensepath", @@ -204,7 +204,7 @@ "IsFlagArgument": false, "ParamFieldName": "licensepath", "IncludeInCommandLine": false, - "DefaultValue": "teamspeak3-server_win64/", + "DefaultValue": "", "EnumValues": {} }, { diff --git a/teamspeak3server.ini b/teamspeak3server.ini index a09ce5cc6..fff839abc 100644 --- a/teamspeak3server.ini +++ b/teamspeak3server.ini @@ -1,7 +1,7 @@ machine_id= default_voice_port=9987 voice_ip=0.0.0.0 -licensepath=teamspeak3-server_win64/ +licensepath= filetransfer_port=30033 filetransfer_ip=0.0.0.0 query_port=10011 From 0d08f63bf322e6ef43e1cf9c610df0cec2de3896 Mon Sep 17 00:00:00 2001 From: Geramie Kuba Date: Sat, 26 Nov 2022 06:42:27 -0800 Subject: [PATCH 082/318] Updated stable settings and config options. (#239) * Updated stable settings and config options. * Added Persistant Player Profile setting. --- seven-days-settings-undead-legacy-stable.xml | 4 ++++ seven-days-to-dieconfig.json | 19 +++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/seven-days-settings-undead-legacy-stable.xml b/seven-days-settings-undead-legacy-stable.xml index 964ac0508..ff6ddbd68 100644 --- a/seven-days-settings-undead-legacy-stable.xml +++ b/seven-days-settings-undead-legacy-stable.xml @@ -201,4 +201,8 @@ + + + + diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index ddfe85c32..30b476614 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -192,6 +192,21 @@ "DefaultValue":"100", "EnumValues":{}, "Suffix": "level" + },{ + "DisplayName":"Persistent Player Profiles", + "Category":"7d2d - Server Settings", + "Description":"Enable/Disable players joining with the same profile they last logged in with.", + "Keywords":"Profile,Persistent,Enabled", + "FieldName":"PersistentPlayerProfiles", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='PersistentPlayerProfiles']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } },{ "DisplayName":"Control Panel Enabled", "Category":"7d2d - Server Settings", @@ -1243,7 +1258,7 @@ "EnumValues":{}, "Suffix": "zombies" },{ - "DisplayName":"Death Penalty - Experimental Only", + "DisplayName":"Death Penalty", "Category":"7d2d - Undead Legacy Settings", "Description":"Sets what will be the consequences to your progression when you die in the game: No penalty - you will not get XP debt as well as no debuff, that lowers your Attributes. Beginner - near Death Trauma debuff Vanilla like experience. Moderate - same as beginner, but also with loss of random Action skills. Standard - same as moderate, but also you will respawn with partial health, food and water.", "Keywords":"Death,Penalty", @@ -1260,7 +1275,7 @@ "3": "Standard" } },{ - "DisplayName":"POI Tier Loot Scale - Experimental Only", + "DisplayName":"POI Tier Loot Scale", "Category": "7d2d - Undead Legacy Settings", "Description":"Multiplier determining how important a POI Tier is when scaling Loot Stage. 0% - Disabled Default, 100% Vanilla Scaling. Acceptable values are integers from 0 to 100", "Keywords":"POI,Tier,Loot,Scale", From 3361229bb92c597f60240e93f971f18f5ec4b97e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 28 Nov 2022 09:09:19 +1100 Subject: [PATCH 083/318] Add Icarus (#237) --- icarus.kvp | 79 +++++++++ icarusconfig.json | 356 +++++++++++++++++++++++++++++++++++++++ icarusmetaconfig.json | 8 + icarusserversettings.ini | 11 ++ 4 files changed, 454 insertions(+) create mode 100644 icarus.kvp create mode 100644 icarusconfig.json create mode 100644 icarusmetaconfig.json create mode 100644 icarusserversettings.ini diff --git a/icarus.kvp b/icarus.kvp new file mode 100644 index 000000000..b0baf02d5 --- /dev/null +++ b/icarus.kvp @@ -0,0 +1,79 @@ +Meta.DisplayName=Icarus +Meta.Description=Icarus Dedicated Server +Meta.OS=Windows +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://surviveicarus.com/ +Meta.DisplayImageSource=steam:1149460 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=icarusconfig.json +Meta.MetaConfigManifest=icarusmetaconfig.json +Meta.ConfigRoot=icarus.kvp +Meta.MinAMPVersion=2.4.0.10 +Meta.SpecificDockerImage= +Meta.ContainerPolicy=NotSupported +Meta.ContainerPolicyReason=Icarus requires Winetricks when using Docker, which is currently not supported in AMP. +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Icarus +App.RootDir=./icarus/ +App.BaseDirectory=./icarus/2089300/ +App.ExecutableWin=2089300/Icarus/Binaries/Win64/IcarusServer-Win64-Shipping.exe +App.ExecutableLinux= +App.WorkingDir=2089300 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} Icarus -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{StartupMode}}{{$FormattedArgs}} -stdout -FullStdOutLogOutput +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1149460"} +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":"UDP","Port":17777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPort=GamePort +App.UniversalSleepSteamQueryPort=QueryPort +App.MaxUsers=8 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2089300","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] +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=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogInit: Display: Game Engine Initialized\.$ +Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogConnectedPlayers: Display: AddConnectedPlayer - UserId: (?.+?) \| PlayerName: (?.+)$ +Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: (?.+?) has been removed\.$ +Console.UserChatRegex=^$ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=False +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 diff --git a/icarusconfig.json b/icarusconfig.json new file mode 100644 index 000000000..565872d46 --- /dev/null +++ b/icarusconfig.json @@ -0,0 +1,356 @@ +[ + { + "DisplayName":"Load Prospect", + "Category":"Icarus Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"LoadProspect", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.LoadProspect", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Create Prospect", + "Category":"Icarus Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"CreateProspect", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.CreateProspect", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Resume Prospect", + "Category":"Icarus Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"ResumeProspect", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.ResumeProspect", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{} + }, + { + "DisplayName":"Session Name", + "Category":"Icarus Server Settings", + "Description":"Sets the session name for the server to be displayed in the server browser. Limit of 64 characters", + "Keywords":"session,name", + "FieldName":"SessionName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SteamServerName", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"AMP Powered Icarus Server", + "EnumValues":{} + }, + { + "DisplayName":"Session Name", + "Category":"Icarus Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"SessionName", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.SessionName", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Icarus Server Settings", + "Description":"Sets the password to join the server. Default is no password", + "Keywords":"server,password", + "FieldName":"JoinPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"JoinPassword", + "IncludeInCommandLine":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Icarus Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"JoinPassword", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.JoinPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"Icarus Server Settings", + "Description":"Sets the admin RCON password. Default is a random, strong password", + "Keywords":"rcon,admin,password", + "FieldName":"AdminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"AdminPassword", + "IncludeInCommandLine":true, + "DefaultValue":"{{newguid()}}", + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"Icarus Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"AdminPassword", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.AdminPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Icarus Server Settings", + "Description":"Maximum number of players that may connect to the server", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "MaxValue":"8", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Server IP Binding", + "Category":"Icarus Server Settings", + "Description":"Sets the binding of the server. Default is blank (all IPs). Change to internal interface IP only if the server has issues", + "Keywords":"ip,binding,localip,address,multihome", + "FieldName":"MultiHome", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"MultiHome", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Startup Mode", + "Category":"Icarus Server Settings", + "Description":"Sets the server startup mode. For \"Load existing prospect\", the Prospect Save Name must be set and the file must exist. For \"Create and launch new prospect\", the Prospect Type must be set; if no Prospect Save Name is set, a random save name will be created for regular prospects", + "Keywords":"startup,mode,load,create,resume", + "FieldName":"StartupMode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"StartupMode", + "IncludeInCommandLine":false, + "DefaultValue":"-CreateProspect=\"{{ProspectType}} {{Difficulty}} {{Hardcore}} {{ProspectSaveName}}\" ", + "EnumValues":{ + "":"Wait in lobby", + "-CreateProspect=\"{{ProspectType}} {{Difficulty}} {{Hardcore}} {{ProspectSaveName}}\" ":"Create and launch new prospect (default)", + "-LoadProspect={{ProspectSaveName}} ":"Load existing prospect", + "-ResumeProspect ":"Resume last prospect" + } + }, + { + "DisplayName":"Prospect Save Name", + "Category":"Icarus Server Settings", + "Description":"Sets the save name of the specific prospect to be loaded or created", + "Keywords":"prospect,save,name", + "FieldName":"ProspectSaveName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ProspectSaveName", + "IncludeInCommandLine":false, + "DefaultValue":"DefaultProspect01", + "EnumValues":{} + }, + { + "DisplayName":"Prospect Type", + "Category":"Icarus Server Settings", + "Description":"Sets the prospect type to create a prospect with", + "Keywords":"prospect,type", + "FieldName":"ProspectType", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ProspectType", + "IncludeInCommandLine":false, + "DefaultValue":"Tier1_Forest_Recon_0", + "EnumValues":{ + "STYX_C_Construction":"Construction: Alcazar", + "STYX_A_Construction":"Construction: Highrise", + "Tier1_Forest_Construction":"Construction: Homestead", + "Tier2_Glacier_Construction_0":"Construction: Influx", + "Tier3_RiverLands_Construction":"Construction: Life Line", + "Tier2_Canyon_Construction_0":"Construction: Pyramid", + "Tier4_Desert_Construction_0":"Construction: Sandbox", + "Tier3_RiverLands_Delivery":"Delivery: Fire Walk", + "STYX_D_Delivery":"Delivery: Rendezvous", + "Tier4_Arctic_Expedition_0":"Expedition: Avalanche", + "Tier2_Canyon_Expedition_0":"Expedition: Dry Run", + "Tier4_Desert_Expedition_0":"Expedition: El Camino", + "Tier2_Glacier_Expedition_0":"Expedition: Icestorm", + "STYX_B_Expedition":"Expedition: Maelstrom", + "STYX_A_Expedition":"Expedition: Omphalos", + "STYX_C_Expedition":"Expedition: Ricochet", + "STYX_E_Expedition":"Expedition: Vertigo", + "Tier3_RiverLands_Expedition_0":"Expedition: Waterfall", + "STYX_D_Expedition":"Expedition: Zephyr", + "STYX_B_Exploration":"Exploration: Adagio", + "Tier1_Forest_Exploration_0":"Exploration: Argos", + "STYX_D_Exploration":"Exploration: Cavalcade", + "STYX_E_Exploration":"Exploration: Dust", + "Tier3_RiverLands_Exploration_0":"Exploration: Edelweiss", + "STYX_A_Exploration":"Exploration: Headlong", + "Tier2_Glacier_Exploration_0":"Exploration: High Wire", + "STYX_C_Exploration":"Exploration: Kismet", + "Tier4_Desert_Exploration_0":"Exploration: Promised Land", + "Tier2_Canyon_Exploration_0":"Exploration: Sandblast", + "Tier5_Omni_Exploration_0":"Exploration: Spirit Walk", + "Tier4_Arctic_Exploration_0":"Exploration: Tundra", + "STYX_C_Extermination2":"Extermination: Augmentation", + "STYX_C_Extermination":"Extermination: Ballistic", + "Tier4_Arctic_Extermination_0":"Extermination: Clean Up", + "Tier4_Desert_Extermination_0":"Extermination: Dust Up", + "STYX_B_Extermination":"Extermination: Halcyon", + "STYX_A_Extermination":"Extermination: Husk", + "Tier1_Forest_Extermination_0":"Extermination: Kill List", + "Tier4_Desert_Extermination_2":"Extermination: Loose Ends", + "STYX_D_Extermination":"Extermination: Lupine", + "Tier3_RiverLands_Extermination_0":"Extermination: Wet Work", + "Tier2_Glacier_Extraction_0":"Extraction: Deep Vein", + "Tier3_RiverLands_Extraction":"Extraction: Meridian", + "Tier4_Arctic_Extraction_0":"Extraction: Payday", + "Tier1_Farming":"Hydroponics: Agriculture", + "Outpost002_Forest":"Outpost: Arcwood", + "Outpost005_Forest":"Outpost: Holdfast", + "Outpost003_Arctic":"Outpost: Iceholm", + "Outpost006_Olympus":"Outpost: Olympus", + "OpenWorld_Styx":"Outpost: Styx", + "Tier1_Forest_Recon_0":"Recon: Beachhead (default)", + "Tier2_Glacier_Recovery_0":"Recovery: Broken Arrow", + "Tier4_Desert_Recovery":"Recovery: Concealment", + "Tier2_Canyon_Recovery_0":"Recovery: Field Test", + "Tier1_Forest_Defence":"Recovery: Forsaken", + "Tier4_Arctic_Recovery_0":"Recovery: Snowcrash", + "Tier5_Omni_Recovery":"Recovery: Voyager", + "STYX_D_Research_2":"Research: Abyss", + "Tier2_Canyon_Research_0":"Research: Bioshock", + "Tier4_Desert_Research_2":"Research: Carapace", + "Tier5_Omni_Research_2":"Research: Cryogenic", + "STYX_E_Research":"Research: Flatline", + "STYX_D_Research":"Research: Gossamer", + "Tier4_Desert_Research_0":"Research: Nightwatch", + "Tier2_Glacier_Research_0":"Research: Resurgence", + "Tier1_Forest_Research_0":"Research: Strange Harvest", + "Tier5_Omni_Research":"Research: Unearthed", + "Tier3_RiverLands_Research_0":"Research: Uplift", + "Tier2_Canyon_Scan_0":"Scan: Death Ray", + "Tier3_RiverLands_Scan_0":"Scan: Incursion", + "Tier1_Forest_Scan_0":"Scan: Livewire", + "Tier2_Glacier_Scan_0":"Scan: Searchlight", + "Tier4_Desert_Scan_0":"Scan: Seven Pillars", + "Tier4_Arctic_Scan_0":"Scan: Snowblind", + "Tier4_Arctic_Stockpile":"Stockpile: Advanced Order", + "Tier1_Forest_Stockpile":"Stockpile: Agriculture", + "Tier3_RiverLands_Stockpile_2":"Stockpile: Big Shot", + "STYX_B_Stockpile":"Stockpile: Opulence", + "Tier2_Canyon_Stockpile2":"Stockpile: Preservation", + "Tier3_RiverLands_Stockpile_0":"Stockpile: Ramp Up", + "Tier2_Canyon_Stockpile":"Stockpile: Solid Metal", + "Tier1_Forest_WS_Stockpile":"Stockpile: Spelunking", + "Tier3_RiverLands_Survey_0":"Survey: Clustered", + "STYX_E_Survey":"Survey: Crescendo", + "Tier1_Forest_Survey_0":"Survey: Headstone", + "Tier2_Glacier_Survey_0":"Survey: Ice Line", + "Tier4_Desert_Survey":"Survey: Migrating Sands", + "Tier5_Omni_Olympus":"Survey: Nightfall", + "Tier2_Canyon_LongSurvey_0":"Survey: Sandy Bridges", + "Tier2_Canyon_Survey_0":"Survey: Spirit Level", + "Tier4_Arctic_Survey_0":"Survey: Station To Station", + "Tier1_Forest_Range":"Training: Potshot" + } + }, + { + "DisplayName":"Difficulty Level", + "Category":"Icarus Server Settings", + "Description":"Sets the difficulty level to create a prospect with", + "Keywords":"difficulty,level", + "FieldName":"Difficulty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Difficulty", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "1":"Easy", + "2":"Medium / Normal (default)", + "3":"Hard", + "4":"Extreme" + } + }, + { + "DisplayName":"Enable Hardcore", + "Category":"Icarus Server Settings", + "Description":"If set, harcore mode will be enabled when creating a prospect (respawns will be disabled)", + "Keywords":"hardcore", + "FieldName":"Hardcore", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Hardcore", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"No Join Shutdown Interval", + "Category":"Icarus Server Settings", + "Description":"Sets the period after which the server will exit a prospect and return to the lobby, if no player has joined. -1 = run indefinitely, 0 = return to lobby immediately, >0 = interval for shutdown. Note that data loss/corruption may occur if the server is shut down in AMP before returning to the lobby", + "Keywords":"shutdown,not,joined,interval", + "FieldName":"ShutdownIfNotJoinedFor", + "InputType":"number", + "MinValue":"-1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.ShutdownIfNotJoinedFor", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Placeholder":"300", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Empty Shutdown Interval", + "Category":"Icarus Server Settings", + "Description":"Sets the period after which the server will exit a prospect and return to the lobby, if the server becomes empty. -1 = run indefinitely, 0 = return to lobby immediately, >0 = interval for shutdown. Note that data loss/corruption may occur if the server is shut down in AMP before returning to the lobby", + "Keywords":"shutdown,not,joined,interval", + "FieldName":"ShutdownIfEmptyFor", + "InputType":"number", + "MinValue":"-1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.ShutdownIfEmptyFor", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Placeholder":"300", + "Suffix":"seconds", + "EnumValues":{} + } +] diff --git a/icarusmetaconfig.json b/icarusmetaconfig.json new file mode 100644 index 000000000..a6a5317a1 --- /dev/null +++ b/icarusmetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile":"Icarus/Saved/Config/WindowsServer/ServerSettings.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?.+?)=(?.*?)$" + } +] diff --git a/icarusserversettings.ini b/icarusserversettings.ini new file mode 100644 index 000000000..85ce7eefd --- /dev/null +++ b/icarusserversettings.ini @@ -0,0 +1,11 @@ +[/Script/Icarus.DedicatedServerSettings] +SessionName=AMP Powered Icarus Server +JoinPassword= +MaxPlayers=8 +AdminPassword=Password123 +ShutdownIfNotJoinedFor=300 +ShutdownIfEmptyFor=300 +LoadProspect= +CreateProspect= +ResumeProspect=False +LastProspectName= 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 084/318] 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 000000000..a4568051b --- /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 000000000..7647771f2 --- /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 000000000..130e4e4e7 --- /dev/null +++ b/windwardmetaconfig.json @@ -0,0 +1 @@ +[] \ No newline at end of file From 43442dcdf07558e093521efc097182a89f9a8400 Mon Sep 17 00:00:00 2001 From: k8thekat <68672235+k8thekat@users.noreply.github.com> Date: Mon, 28 Nov 2022 22:32:46 -0800 Subject: [PATCH 085/318] Fix for `Meta.DisplayImageSource` (#244) * Fix for `Meta.DisplayImageSource` * Update gatekeeperv2.kvp --- gatekeeperv2.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gatekeeperv2.kvp b/gatekeeperv2.kvp index 5eacddda8..d3a90a751 100644 --- a/gatekeeperv2.kvp +++ b/gatekeeperv2.kvp @@ -4,7 +4,7 @@ Meta.OS=Linux Meta.Arch=x86_64 Meta.Author=k8thekat, IceOfWraith Meta.URL=https://github.com/k8thekat/GatekeeperV2 -Meta.DisplayImageSource=url:https://github.com/k8thekat/GatekeeperV2/raw/main/resources/Gatekeeperv2%20Banner.jpg +Meta.DisplayImageSource=url:https://github.com/k8thekat/GatekeeperV2/raw/main/resources/Gatekeeperv2_Banner.jpg Meta.EndpointURIFormat=steam://connect/{0} Meta.ConfigManifest=gatekeeperv2config.json Meta.MetaConfigManifest=gatekeeperv2metaconfig.json From ba2c5ef4832dc05004c7fb62a921aa4217edb499 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 6 Dec 2022 14:06:01 +1100 Subject: [PATCH 086/318] Longvinter: fix metaconfig (#247) --- longvintermetaconfig.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/longvintermetaconfig.json b/longvintermetaconfig.json index 75518f21b..085225331 100644 --- a/longvintermetaconfig.json +++ b/longvintermetaconfig.json @@ -3,5 +3,10 @@ "ConfigFile":"Longvinter/Saved/Config/WindowsServer/Game.ini", "AutoMap":true, "ConfigType":"ini" + }, + { + "ConfigFile":"Longvinter/Saved/Config/LinuxServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini" } -] \ No newline at end of file +] From 6b905c64df84078e6d12bde17aa4cb05e9833712 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 11 Dec 2022 15:53:12 +1100 Subject: [PATCH 087/318] Add Frozen Flame (#238) --- frozen-flame.kvp | 78 +++++++ frozen-flameconfig.json | 447 ++++++++++++++++++++++++++++++++++++ frozen-flamegame.ini | 45 ++++ frozen-flamemetaconfig.json | 14 ++ frozen-flameupdates.json | 45 ++++ 5 files changed, 629 insertions(+) create mode 100644 frozen-flame.kvp create mode 100644 frozen-flameconfig.json create mode 100644 frozen-flamegame.ini create mode 100644 frozen-flamemetaconfig.json create mode 100644 frozen-flameupdates.json diff --git a/frozen-flame.kvp b/frozen-flame.kvp new file mode 100644 index 000000000..79bccc8f9 --- /dev/null +++ b/frozen-flame.kvp @@ -0,0 +1,78 @@ +Meta.DisplayName=Frozen Flame +Meta.Description=Frozen Flame Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://frozen-flame.com/ +Meta.DisplayImageSource=steam:715400 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=frozen-flameconfig.json +Meta.MetaConfigManifest=frozen-flamemetaconfig.json +Meta.ConfigRoot=frozen-flame.kvp +Meta.MinAMPVersion=2.4.0.10 +Meta.SpecificDockerImage= +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Frozen Flame +App.RootDir=./frozen-flame/ +App.BaseDirectory=./frozen-flame/1348640/ +App.ExecutableWin=1348640\FrozenFlame\Binaries\Win64\FrozenFlameServer.exe +App.ExecutableLinux=1348640/FrozenFlame/Binaries/Linux/FrozenFlameServer +App.WorkingDir=1348640 +App.LinuxCommandLineArgs=FrozenFlame -stdout +App.WindowsCommandLineArgs=FrozenFlame -stdout -FullStdOutLogOutput +App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} -RconPort={{$RCONPort}} -RconPassword={{$RemoteAdminPassword}} -ip={{$ExternalIP}} {{noeac}}{{$FormattedArgs}} -LOCALLOGTIMES +App.AppSettings={} +App.EnvironmentVariables={} +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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":25575,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RCONPort +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPort=GamePort +App.UniversalSleepSteamQueryPort=QueryPort +App.MaxUsers=10 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword=Password123 +App.AdminMethod=SourceRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.UpdateSources=@IncludeJson[frozen-flameupdates.json] +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=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogRCon: \([\d\.:]+:\d+\): started connection$ +Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogGameEvent: Player \((?.+?):(?.+?)\) Connected$ +Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogGameEvent: Player \((?.+?):(?.+?)\) Disconnected$ +Console.UserChatRegex=^$ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=False +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 diff --git a/frozen-flameconfig.json b/frozen-flameconfig.json new file mode 100644 index 000000000..7bd804709 --- /dev/null +++ b/frozen-flameconfig.json @@ -0,0 +1,447 @@ +[ + { + "DisplayName":"Server Name", + "Category":"Frozen Flame Server Settings", + "Description":"The name of the server as it appears publicly", + "Keywords":"name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"MetaGameServerName", + "IncludeInCommandLine":true, + "DefaultValue":"AMP Powered Frozen Flame Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Frozen Flame Server Settings", + "Description":"Password to connect to the server", + "Keywords":"server,password", + "FieldName":"ServerPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.FGameSession.ServerPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Frozen Flame Server Settings", + "Description":"Maximum number of players that may connect to the server", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Engine.GameSession.MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Disable EasyAntiCheat", + "Category":"Frozen Flame Server Settings", + "Description":"If set, the server will be started without EasyAntiCheat (EAC). Clients should also be started without it", + "Keywords":"easy,anti,cheat,eac", + "FieldName":"noeac", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"noeac", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-noeac " + } + }, + { + "DisplayName":"Enable PvP", + "Category":"Frozen Flame Server Settings", + "Description":"If set, PvP for non-friends will be enabled", + "Keywords":"pvp", + "FieldName":"bFreePVP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bFreePVP", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Day Length", + "Category":"Frozen Flame Server Settings", + "Description":"Sets how long a day lasts on the server", + "Keywords":"day,duration,length", + "FieldName":"DurationOfDay", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.DurationOfDay", + "IncludeInCommandLine":false, + "DefaultValue":"3600", + "Suffix":"seconds", + "Placeholder":"3600", + "EnumValues":{} + }, + { + "DisplayName":"Health Rate After Respawn", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the health rate after death/upon respawn", + "Keywords":"health,rate,respawn", + "FieldName":"HealthRateAfterRespawn", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.HealthRateAfterRespawn", + "IncludeInCommandLine":false, + "DefaultValue":"0.5", + "Placeholder":"0.5", + "EnumValues":{} + }, + { + "DisplayName":"Restore Health On Level Up", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, health will be restored on level up", + "Keywords":"health,restore,level", + "FieldName":"bRestoreHealthOnLevelUp", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bRestoreHealthOnLevelUp", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Jump Stamina Cost", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the stamina cost of jumping", + "Keywords":"stamina,cost,jumping", + "FieldName":"JumpStaminaCost", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.JumpStaminaCost", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "Placeholder":"6", + "EnumValues":{} + }, + { + "DisplayName":"Sprint Stamina Cost", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the stamina cost of sprinting", + "Keywords":"stamina,cost,sprinting", + "FieldName":"SprintStaminaCost", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.SprintStaminaCost", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Armour Durability Reduction On Death", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the amount of armour durability lost after death", + "Keywords":"armour,durability,loss,reduction", + "FieldName":"ArmorDurabilityReducementAfterDeath", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.ArmorDurabilityReducementAfterDeath", + "IncludeInCommandLine":false, + "DefaultValue":"25", + "Placeholder":"25", + "EnumValues":{} + }, + { + "DisplayName":"Default Weapon Durability Cost", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the default weapon durability loss speed", + "Keywords":"weapon,durability,cost,speed", + "FieldName":"DefaultWeaponDurabilityCost", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.DefaultWeaponDurabilityCost", + "IncludeInCommandLine":false, + "DefaultValue":"0.5", + "Placeholder":"0.5", + "EnumValues":{} + }, + { + "DisplayName":"Disable Overweight System", + "Category":"Frozen Flame Server Settings", + "Description":"If set, disables the server's overweight system", + "Keywords":"disable,overweight,system", + "FieldName":"bDisableOverweight", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.DefaultsOverTimeEffect.bDisableOverweight", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Half Slowdown Overweight Ratio", + "Category":"Frozen Flame Server Settings", + "Description":"If the overweight system is enabled, disables sprint for a player after the relevant ratio is reached. 1 = 100% (default)", + "Keywords":"half,slowdown,overweight,ratio", + "FieldName":"HalfSlowdownOverweightRatio", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.HalfSlowdownOverweightRatio", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Full Slowdown Overweight Ratio", + "Category":"Frozen Flame Server Settings", + "Description":"If the overweight system is enabled, disables run and getting new items after the relevant ratio is reached. 1.5 = 150% (default)", + "Keywords":"full,slowdown,overweight,ratio", + "FieldName":"FullSlowdownOverweightRatio", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.FullSlowdownOverweightRatio", + "IncludeInCommandLine":false, + "DefaultValue":"1.5", + "Placeholder":"1.5", + "EnumValues":{} + }, + { + "DisplayName":"Allow Teleport With Overweight", + "Category":"Frozen Flame Server Settings", + "Description":"If set, teleport is allowed when the overweight system is enabled", + "Keywords":"teleport,overweight", + "FieldName":"bIsAllowedToTeleportWithOverweight", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bIsAllowedToTeleportWithOverweight", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Flying With Overweight", + "Category":"Frozen Flame Server Settings", + "Description":"If set, flying is allowed when the overweight system is enabled", + "Keywords":"flying,glide,overweight", + "FieldName":"bIsAllowedToGlideWithOverweight", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bIsAllowedToGlideWithOverweight", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Minimal Level To Drop Item After Death", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the minimum player level for dropping items after death (assuming the relevant drop settings are enabled)", + "Keywords":"minimum,level,drop,items,death", + "FieldName":"MinimalLevelToDropItemAfterDeath", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.MinimalLevelToDropItemAfterDeath", + "IncludeInCommandLine":false, + "DefaultValue":"2147483647", + "Placeholder":"2147483647", + "EnumValues":{} + }, + { + "DisplayName":"Drop Equipped Items", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, equipped items will be dropped after death (assuming the minimum player level is reached)", + "Keywords":"drop,equipped,items", + "FieldName":"bDropEquippedItems", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDropEquippedItems", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Drop Equipable Items", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, equipable items will be dropped after death (assuming the minimum player level is reached)", + "Keywords":"drop,equipable,items", + "FieldName":"bDropEquipableItems", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDropEquipableItems", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Drop Food Items", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, food items will be dropped after death (assuming the minimum player level is reached)", + "Keywords":"drop,food,items", + "FieldName":"bDropFoodItems", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDropFoodItems", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Flame Rate", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the flame rate from everything", + "Keywords":"flame,rate", + "FieldName":"FlameRate", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.FlameRate", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Monsters Health Multiplier", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the monsters health multiplier", + "Keywords":"monsters,health,multiplier", + "FieldName":"MonstersHealthMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.MonstersHealthMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Monsters Damage Multiplier", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the monsters damage multiplier", + "Keywords":"monsters,damage,multiplier", + "FieldName":"MonstersDamageMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.MonstersDamageMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Disable Module Cost", + "Category":"Frozen Flame Server Settings", + "Description":"If set, building will be allowed without material costs", + "Keywords":"disable,module,building,cost", + "FieldName":"bNoModuleCost", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bNoModuleCost", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Limitless Support", + "Category":"Frozen Flame Server Settings", + "Description":"If set, building will be allowed without restrictions", + "Keywords":"building,module,limitless,restrictions", + "FieldName":"bLimitlessSupport", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bLimitlessSupport", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Invulnerable Modules", + "Category":"Frozen Flame Server Settings", + "Description":"If set, buildings will not decay", + "Keywords":"building,module,decay,invulnerable", + "FieldName":"bInvulnerableModules", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bInvulnerableModules", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Demolish Resource Drop Multiplier", + "Category":"Frozen Flame Server Settings", + "Description":"Sets how many resources to return after modules/buildings are destroyed", + "Keywords":"building,module,drop,resource", + "FieldName":"bDemolishResourceDropMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDemolishResourceDropMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0.5", + "Placeholder":"0.5", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Durability", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the minimum durability that is retained after weather decay system damage", + "Keywords":"minimum,durability,decay,damage", + "FieldName":"MinDurability", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.DecaySubsystemSettings.MinDurability", + "IncludeInCommandLine":false, + "DefaultValue":"0.3", + "Placeholder":"0.3", + "EnumValues":{} + }, + { + "DisplayName":"Apply Restrictions Inside Energy Barriers", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, sets flying and some buildings restrictions inside energy barriers", + "Keywords":"restrictions,energy,barriers", + "FieldName":"bApplyRestrictionsInsideEnergyBarriers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Game/FrozenFlame/DataTables/Variables/BP_GameBalance_Base.BP_GameBalance_Base_C.bApplyRestrictionsInsideEnergyBarriers", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + } +] diff --git a/frozen-flamegame.ini b/frozen-flamegame.ini new file mode 100644 index 000000000..53b71a657 --- /dev/null +++ b/frozen-flamegame.ini @@ -0,0 +1,45 @@ +[/Script/Engine.GameSession] +MaxPlayers=10 + +[/Script/FrozenFlame.FGameSession] +ServerPassword= + +[/Script/FrozenFlame.GameBalance] +bFreePVP=True +DurationOfDay=3600 + +HealthRateAfterRespawn=0.5 +bRestoreHealthOnLevelUp=True +JumpStaminaCost=6 +SprintStaminaCost=1 + +ArmorDurabilityReducementAfterDeath=25 +DefaultWeaponDurabilityCost=0.5 + +HalfSlowdownOverweightRatio=1 +FullSlowdownOverweightRatio=1.5 +bIsAllowedToTeleportWithOverweight=False +bIsAllowedToGlideWithOverweight=False + +MinimalLevelToDropItemAfterDeath=2147483647 +bDropEquippedItems=False +bDropEquipableItems=False +bDropFoodItems=False + +FlameRate=1 +MonstersHealthMultiplier=1 +MonstersDamageMultiplier=1 + +bNoModuleCost=False +bLimitlessSupport=False +bInvulnerableModules=False +bDemolishResourceDropMultiplier=0.5 + +[/Script/FrozenFlame.DecaySubsystemSettings] +MinDurability=0.3 + +[/Script/FrozenFlame.DefaultsOverTimeEffect] +bDisableOverweight=false + +[/Game/FrozenFlame/DataTables/Variables/BP_GameBalance_Base.BP_GameBalance_Base_C] +bApplyRestrictionsInsideEnergyBarriers=1 diff --git a/frozen-flamemetaconfig.json b/frozen-flamemetaconfig.json new file mode 100644 index 000000000..e764146d6 --- /dev/null +++ b/frozen-flamemetaconfig.json @@ -0,0 +1,14 @@ +[ + { + "ConfigFile":"FrozenFlame/Saved/Config/WindowsServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?.+?)=(?.*?)$" + }, + { + "ConfigFile":"FrozenFlame/Saved/Config/LinuxServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?.+?)=(?.*?)$" + } +] diff --git a/frozen-flameupdates.json b/frozen-flameupdates.json new file mode 100644 index 000000000..f8fbc775f --- /dev/null +++ b/frozen-flameupdates.json @@ -0,0 +1,45 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1348640" + }, + { + "UpdateStageName":"SteamCMD Component Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1007", + "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Binaries/Win64/" + }, + { + "UpdateStageName":"Config Directory Creation", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}FrozenFlame/Saved/Config/WindowsServer" + }, + { + "UpdateStageName":"Config Directory Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer" + }, + { + "UpdateStageName":"Game Config File Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegame.ini", + "UpdateSourceArgs":"Game.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/WindowsServer/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Game Config File Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegame.ini", + "UpdateSourceArgs":"Game.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer/", + "OverwriteExistingFiles":false + } +] From 7523fb5cba629a884b522cb021de38487a0e1e2b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 11 Dec 2022 16:10:20 +1100 Subject: [PATCH 088/318] Add Call of Duty 4: Modern Warfare (#229) \ --- call-of-duty4mw.kvp | 86 ++++++ call-of-duty4mwconfig.json | 478 +++++++++++++++++++++++++++++++++ call-of-duty4mwmetaconfig.json | 16 ++ call-of-duty4mwserver.cfg | 155 +++++++++++ 4 files changed, 735 insertions(+) create mode 100644 call-of-duty4mw.kvp create mode 100644 call-of-duty4mwconfig.json create mode 100644 call-of-duty4mwmetaconfig.json create mode 100644 call-of-duty4mwserver.cfg diff --git a/call-of-duty4mw.kvp b/call-of-duty4mw.kvp new file mode 100644 index 000000000..8f9de05fc --- /dev/null +++ b/call-of-duty4mw.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=Call of Duty 4: Modern Warfare +Meta.Description=Call of Duty 4: Modern Warfare Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL= +Meta.DisplayImageSource=steam:7940 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$MasterPort} +Meta.ConfigManifest=call-of-duty4mwconfig.json +Meta.MetaConfigManifest=call-of-duty4mwmetaconfig.json +Meta.ConfigRoot=call-of-duty4mw.kvp +Meta.MinAMPVersion=2.4.0.10 +Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Call of Duty 4: Modern Warfare +App.RootDir=./call-of-duty4mw/ +App.BaseDirectory=./call-of-duty4mw/7940/ +App.ExecutableWin=7940\iw3mp.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=7940 +App.LinuxCommandLineArgs=-a wine "./iw3mp.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} +set sv_punkbuster 0 +exec "server.cfg" +set net_port {{$GamePort}} +set authPort {{$AuthPort}} +set masterPort {{$MasterPort}} {{map_mode}}{{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"7940"} +App.CommandLineParameterFormat=+set {0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +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":28960,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":20800,"Ref":"AuthPort","Name":"Authentication Port","Description":"Port for Steam authentication traffic"},{"Protocol":"UDP","Port":20810,"Ref":"MasterPort","Name":"Master Port","Description":"Port for Steam master server or browser traffic"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPort=GamePort +App.UniversalSleepSteamQueryPort=MasterPort +App.MaxUsers=32 +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=login {0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"7940","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/call-of-duty4mwserver.cfg","UpdateSourceArgs":"main/server.cfg","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false},{"UpdateStageName":"Create Custom Maps Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}usermaps","OverwriteExistingFiles":false}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=wine +App.SupportsUniversalSleep=True +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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 diff --git a/call-of-duty4mwconfig.json b/call-of-duty4mwconfig.json new file mode 100644 index 000000000..3095047d2 --- /dev/null +++ b/call-of-duty4mwconfig.json @@ -0,0 +1,478 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"net_port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"IP Binding", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationIPBinding", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"net_ip", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable Log File", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"logfile", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"logfile", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{} + }, + { + "DisplayName":"Continuous Log", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"g_logsync", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"g_logsync", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{} + }, + { + "DisplayName":"Log File Name", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"g_log", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"g_log", + "IncludeInCommandLine":false, + "DefaultValue":"games_mp.log", + "EnumValues":{} + }, + { + "DisplayName":"Disable Punkbuster", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"sv_punkbuster", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"sv_punkbuster", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the name of the server. Limit of 22 characters. Colour codes can be used: ^0=Black, ^1=Red, ^2=Green, ^3=Yellow, ^4=Blue, ^5=Cyan, ^6=Pink, ^7=White, ^8=Grey, ^9=Grey/Map Default", + "Keywords":"server,name", + "FieldName":"sv_hostname", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"sv_hostname", + "IncludeInCommandLine":false, + "DefaultValue":"^1AMP Hosted COD4 Server", + "EnumValues":{} + }, + { + "DisplayName":"Message Of The Day", + "Category":"Server Settings", + "Description":"Sets the message of the day (MOTD) displayed when players join. Colour codes can also be used, as per the Server Name", + "Keywords":"message,motd", + "FieldName":"scr_motd", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"scr_motd", + "IncludeInCommandLine":false, + "DefaultValue":"^4Welcome to COD4!", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Server Settings", + "Description":"If enabled, the server will be visible publicly. Otherwise it will only be accessible from the local network", + "Keywords":"public,visible", + "FieldName":"dedicated", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"dedicated", + "IncludeInCommandLine":true, + "DefaultValue":"2", + "EnumValues":{ + "False":"1", + "True":"2" + } + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Sets the password to join the server", + "Keywords":"password", + "FieldName":"g_password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"g_password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"Server Settings", + "Description":"Sets the RCON password to allow sending console commands in-game. Default is no password, disabling console commands", + "Keywords":"rcon,password", + "FieldName":"rcon_password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"rcon_password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Map Mode", + "Category":"Server Settings", + "Description":"Sets whether to enable map rotation (the Map Rotation List must then also be set) or to load a specific initial map (the Initial Game Type and Initial Map must then also be set)", + "Keywords":"map,mode", + "FieldName":"map_mode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"map_mode", + "IncludeInCommandLine":false, + "DefaultValue":"+map_rotate ", + "EnumValues":{ + "+map_rotate ":"Map Rotation (Default)", + "+map \"{{map_name}}\" ":"Specific Initial Map" + } + }, + { + "DisplayName":"Map Rotation List", + "Category":"Server Settings", + "Description":"Sets the map list to use for map rotations for the server. Each entry must be in the format: gametype map (for example, gametype war map mp_convoy). Map Rotation must be configured", + "Keywords":"map,rotation,list", + "FieldName":"sv_mapRotation", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"sv_mapRotation", + "IncludeInCommandLine":false, + "DefaultValue":"gametype dm map mp_backlot gametype dom map mp_bloc gametype koth map mp_bog gametype sab map mp_cargoship gametype sd map mp_citystreets gametype war map mp_convoy gametype dm map mp_countdown gametype dom map mp_crash gametype koth map mp_crossfire gametype sab map mp_farm gametype sd map mp_overgrown gametype war map mp_pipeline gametype dm map mp_shipment gametype dom map mp_showdown gametype koth map mp_strike gametype sab map mp_vacant", + "Placeholder":"gametype dm map mp_backlot gametype dom map mp_bloc gametype koth map mp_bog gametype sab map mp_cargoship gametype sd map mp_citystreets gametype war map mp_convoy gametype dm map mp_countdown gametype dom map mp_crash gametype koth map mp_crossfire gametype sab map mp_farm gametype sd map mp_overgrown gametype war map mp_pipeline gametype dm map mp_shipment gametype dom map mp_showdown gametype koth map mp_strike gametype sab map mp_vacant", + "EnumValues":{} + }, + { + "DisplayName":"Initial Game Type", + "Category":"Server Settings", + "Description":"Sets the game type to start the server with. This setting will be overridden if Map Rotation is configured. Settings for each game type can be set in server.cfg", + "Keywords":"game,type", + "FieldName":"g_gametype", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"g_gametype", + "IncludeInCommandLine":false, + "DefaultValue":"dm", + "EnumValues":{ + "dm":"Deathmatch / Free For All (Default)", + "dom":"Domination", + "koth":"King Of The Hill / Headquarters", + "sab":"Sabotage", + "sd":"Search And Destroy Classic", + "war":"Team Deathmatch" + } + }, + { + "DisplayName":"Initial Map", + "Category":"Server Settings", + "Description":"Sets the map to start the server with. This setting will be overridden if Map Rotation is configured", + "Keywords":"map", + "FieldName":"map_name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"map_name", + "IncludeInCommandLine":false, + "DefaultValue":"mp_backlot", + "EnumValues":{} + }, + { + "DisplayName":"Load Mod", + "Category":"Server Settings", + "Description":"Sets the mod to load when starting the server, based on the path to the mod in the Mods directory - for example, \"Mods/ModWarfare\"", + "Keywords":"mods", + "FieldName":"fs_game", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"+fs_game", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Sets the maximum number of players allowed on the server", + "Keywords":"max,players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"sv_maxclients", + "IncludeInCommandLine":false, + "DefaultValue":"32", + "EnumValues":{} + }, + { + "DisplayName":"Private Player Limit", + "Category":"Server Settings", + "Description":"Sets the maximum number of private players allowed on the server (those that can use non-public reserved slots). Will be limited to the Player Limit", + "Keywords":"max,private,players,limit", + "FieldName":"sv_privateclients", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"sv_privateclients", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "EnumValues":{} + }, + { + "DisplayName":"Private Player Password", + "Category":"Server Settings", + "Description":"Sets the password for private players to join the server. Private players entering this password have access to all slots on the server, otherwise the players only have access to the public slots (Player Limit less Private Player Limit)", + "Keywords":"private,player,password", + "FieldName":"sv_privatePassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"sv_privatePassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Enable Server Voice Chat", + "Category":"Server Settings", + "Description":"If set, server voice chat will be enabled", + "Keywords":"voice,chat", + "FieldName":"sv_voice", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"sv_voice", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Server Voice Chat Quality", + "Category":"Server Settings", + "Description":"Sets the server voice quality level", + "Keywords":"voice,chat,quality", + "FieldName":"sv_voiceQuality", + "InputType":"number", + "MinValue":"0", + "MaxValue":"9", + "IsFlagArgument":false, + "ParamFieldName":"sv_voiceQuality", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "EnumValues":{} + }, + { + "DisplayName":"Enable Dead Chat", + "Category":"Server Settings", + "Description":"If enabled, dead players will be allowed to chat with living players", + "Keywords":"voice,dead,chat", + "FieldName":"voice_deadChat", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"voice_deadChat", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Minimum Ping", + "Category":"Server Settings", + "Description":"Sets the minimum ping required for a player to be allowed to join", + "Keywords":"minimum,ping", + "FieldName":"sv_minPing", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1000", + "IsFlagArgument":false, + "ParamFieldName":"sv_minPing", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Ping", + "Category":"Server Settings", + "Description":"Sets the maximum ping permitted for a player to be allowed to join", + "Keywords":"maximum,ping", + "FieldName":"sv_maxping", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1000", + "IsFlagArgument":false, + "ParamFieldName":"sv_maxping", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Bandwidth", + "Category":"Server Settings", + "Description":"Sets the maximum bandwidth for the server", + "Keywords":"maximum,bandwidth", + "FieldName":"sv_maxRate", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100000", + "IsFlagArgument":false, + "ParamFieldName":"sv_maxRate", + "IncludeInCommandLine":false, + "DefaultValue":"25000", + "Placeholder":"0 - 100000", + "Suffix":"bytes/second", + "EnumValues":{} + }, + { + "DisplayName":"Client Timeout Period", + "Category":"Server Settings", + "Description":"Sets the time before the server will kick a client if no response is sent to the server", + "Keywords":"timeout", + "FieldName":"sv_timeout", + "InputType":"number", + "IsFlagArgument":false, + "MinValue":"0", + "MaxValue":"1800", + "ParamFieldName":"sv_timeout", + "IncludeInCommandLine":false, + "DefaultValue":"40", + "Suffix":"seconds", + "Placeholder":"0 - 1800", + "EnumValues":{} + }, + { + "DisplayName":"Player Inactivity Kick Period", + "Category":"Server Settings", + "Description":"Sets the time before the server will kick a player for inactivity", + "Keywords":"inactivity,afk,period", + "FieldName":"g_inactivity", + "InputType":"number", + "IsFlagArgument":false, + "MinValue":"0", + "ParamFieldName":"g_inactivity", + "IncludeInCommandLine":false, + "DefaultValue":"120", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Spectator Kick Period", + "Category":"Server Settings", + "Description":"Sets the time before the server will kick a spectator", + "Keywords":"inactivity,period,spectator", + "FieldName":"g_inactivityspectator", + "InputType":"number", + "IsFlagArgument":false, + "MinValue":"0", + "ParamFieldName":"g_inactivityspectator", + "IncludeInCommandLine":false, + "DefaultValue":"180", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Temporary Ban Period", + "Category":"Server Settings", + "Description":"Sets the time for a player temporary ban (on kick/tempban)", + "Keywords":"ban,period,temporary", + "FieldName":"sv_kickBanTime", + "InputType":"number", + "IsFlagArgument":false, + "MinValue":"0", + "MaxValue":"3600", + "ParamFieldName":"sv_kickBanTime", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Suffix":"seconds", + "Placeholder":"0 - 3600", + "EnumValues":{} + }, + { + "DisplayName":"Zombie Retention Period", + "Category":"Server Settings", + "Description":"Sets the time for keeping a disconnected client on the server to transmit the last message", + "Keywords":"zombie,time", + "FieldName":"sv_zombietime", + "InputType":"number", + "IsFlagArgument":false, + "MinValue":"0", + "MaxValue":"1800", + "ParamFieldName":"sv_zombietime", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Suffix":"seconds", + "Placeholder":"0 - 1800", + "EnumValues":{} + }, + { + "DisplayName":"Enable Flood Protection", + "Category":"Server Settings", + "Description":"If enabled, flood protection applies, so user commands are throttled. Should be enabled on non-password-protected public servers", + "Keywords":"flood,protection", + "FieldName":"sv_floodProtect", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"sv_floodProtect", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Reconnect Limit", + "Category":"Server Settings", + "Description":"Sets the number of times a player can reconnect after disconnection", + "Keywords":"reconnect,limit", + "FieldName":"sv_reconnectlimit", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1800", + "IsFlagArgument":false, + "ParamFieldName":"sv_reconnectlimit", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "EnumValues":{} + } +] diff --git a/call-of-duty4mwmetaconfig.json b/call-of-duty4mwmetaconfig.json new file mode 100644 index 000000000..680963677 --- /dev/null +++ b/call-of-duty4mwmetaconfig.json @@ -0,0 +1,16 @@ +[ + { + "ConfigFile":"main/server.cfg", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormat":"set {0} \"{1}\"", + "ConfigFormatRegex":"^set (?.+?) \"?(?.*?)\"?$" + }, + { + "ConfigFile":"main/server.cfg", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormat":"sets {0} \"{1}\"", + "ConfigFormatRegex":"^sets (?.+?) \"?(?.*?)\"?$" + } +] \ No newline at end of file diff --git a/call-of-duty4mwserver.cfg b/call-of-duty4mwserver.cfg new file mode 100644 index 000000000..38584b5a0 --- /dev/null +++ b/call-of-duty4mwserver.cfg @@ -0,0 +1,155 @@ +// AMP partly controls server.cfg + +// The first section below includes the settings that are set either via the AMP UI +// or are controlled by AMP itself (in particular, ports) +// Settings in the second section can be changed or added to as needed + +// ******* +// AMP CONTROLLED SETTINGS +// ******* + +set net_port "28960" +set net_ip "" +set dedicated "2" +sets sv_hostname "^1AMP Powered Call of Duty 4: Modern Warfare Server" +set scr_motd "^4Welcome to COD4!" +set g_password "" +set rcon_password "" +set sv_mapRotation "gametype dm map mp_backlot gametype dom map mp_bloc gametype koth map mp_bog gametype sab map mp_cargoship gametype sd map mp_citystreets gametype war map mp_convoy gametype dm map mp_countdown gametype dom map mp_crash gametype koth map mp_crossfire gametype sab map mp_farm gametype sd map mp_overgrown gametype war map mp_pipeline gametype dm map mp_shipment gametype dom map mp_showdown gametype koth map mp_strike gametype sab map mp_vacant" +set g_gametype "dm" +set sv_maxclients "32" +set sv_privateclients "6" +set sv_privatePassword "" +set sv_voice "1" +set sv_voiceQuality "3" +set voice_deadChat "0" +set sv_minPing "0" +set sv_maxping "0" +set sv_maxRate "25000" +set sv_timeout "40" +set g_inactivity "120" +set g_inactivityspectator "180" +set sv_kickBanTime "300" +set sv_zombietime "2" +set sv_floodProtect "1" +set sv_reconnectlimit "3" +set logfile "1" +set g_logsync "2" +set g_log "games_mp.log" +set sv_punkbuster "0" + + +// ******* +// OTHER SETTINGS +// ******* + +// General +sets _Admin "admin" +sets _Email "" +sets _Website "" +sets _Location "" +sets _Irc "" +sets _Mod "" +sets _ModVer "" +sets _ModUpdate "" +sets _Maps "" + +// Logging +set sv_log_damage "1" + +// Master servers +set sv_master1 "cod2master.activision.com" +set sv_master2 "cod2update.activision.com" +set sv_master3 "clanservers.net" +set sv_gamespy "0" + +// Client download settings. Used for mods and custom maps. 0=off, 1=on +set sv_allowdownload "1" +seta sv_wwwDownload "1" +//seta sv_wwwBaseURL "http://www.your_website.com/base_folder" +seta sv_wwwDlDisconnected "0" + +// FPS +//set sv_fps "20" + +// Anti Cheat settings +set sv_disableClientConsole "0" +set cl_autocmd "0" +set sv_cheats "0" +set sv_pure "1" +set g_banIPs "" +set g_no_script_spam "1" + +// In-game voice communication system +set voice_global "0" +set voice_localEcho "0" +set winvoice_mic_mute "1" +set sv_allowAnonymous "0" +set g_antilag "0" +set g_compassShowEnemies "0" + +// Deathmatch / Free For All settings +set scr_dm_scorelimit 150 +set scr_dm_timelimit 10 +set scr_dm_roundlimit 1 +set scr_dm_numlives 0 +set scr_dm_playerrespawndelay 0 +set scr_dm_waverespawndelay 0 + +// Domination settings +set scr_dom_scorelimit 200 +set scr_dom_timelimit 0 +set scr_dom_roundlimit 1 +set scr_dom_numlives 0 +set scr_dom_playerrespawndelay 0 +set scr_dom_waverespawndelay 0 + +// Team Deathmatch settings +set scr_war_scorelimit 750 +set scr_war_timelimit 10 +set scr_war_roundlimit 1 +set scr_war_numlives 0 +set scr_war_playerrespawndelay 0 +set scr_war_waverespawndelay 0 + +// Sabotage settings +set scr_sab_scorelimit 1 +set scr_sab_timelimit 20 +set scr_sab_roundlimit 0 +set scr_sab_roundswitch 1 +set scr_sab_numlives 0 +set scr_sab_bombtimer 30 +set scr_sab_planttime 2.5 +set scr_sab_defusetime 5 +set scr_sab_hotpotato 0 +set scr_sab_playerrespawndelay 7.5 +set scr_sab_waverespawndelay 0 + +// Search And Destroy Classic settings +set scr_sd_scorelimit 4 +set scr_sd_timelimit 2.5 +set scr_sd_roundlimit 0 +set scr_sd_roundswitch 3 +set scr_sd_numlives 1 +set scr_sd_bombtimer 45 +set scr_sd_planttime 5 +set scr_sd_defusetime 5 +set scr_sd_multibomb 0 +set scr_sd_playerrespawndelay 0 +set scr_sd_waverespawndelay 0 + +// King Of The Hill / Headquarters settings +set scr_koth_scorelimit 250 +set scr_koth_timelimit 15 +set scr_koth_roundlimit 1 +set scr_koth_roundswitch 1 +set scr_koth_numlives 0 +set scr_koth_playerrespawndelay 0 +set scr_koth_waverespawndelay 0 +set koth_autodestroytime 60 +set koth_spawntime 0 +set koth_kothmode 0 +set koth_capturetime 20 +set koth_destroytime 10 +set koth_delayPlayer 0 +set koth_spawnDelay 60 \ No newline at end of file From 3fb98509c091f52572317c75852c18078aab1e03 Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Tue, 13 Dec 2022 19:12:48 +0000 Subject: [PATCH 089/318] Update space-engineers-generic.kvp --- space-engineers-generic.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/space-engineers-generic.kvp b/space-engineers-generic.kvp index bbaa780d9..e6297f804 100644 --- a/space-engineers-generic.kvp +++ b/space-engineers-generic.kvp @@ -13,7 +13,7 @@ Meta.MinAMPVersion=2.4.0.10 Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=NotSupported -Meta.ContainerPolicyReason=This game requires Winetricks when using Docker which is currently not support in AMP. +Meta.ContainerPolicyReason=This game has dependencies that are not currently supported by AMP. Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified @@ -84,4 +84,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 \ No newline at end of file +Limits.SleepStartThresholdSeconds=25 From feaffecd75960ce2f62e8a505e65c3451494533b Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 16 Dec 2022 16:06:32 -0600 Subject: [PATCH 090/318] Update Empyrion - Custom Scenario and Default Backup Exclusions (#250) * Update Empyrion - Custom Scenario and Default Backup Exclusions This provides a second scenario input that allows the user to specify a custom scenario. The folder name must match the name put in the input. This also includes a backup exclusion that only stores the Saves folder and the yaml config files. * Fix stuff * Update empyrion-galactic-survivalupdates.json --- empyrion-galactic-survivalconfig.json | 21 ++++++++++++++++++--- empyrion-galactic-survivalupdates.json | 9 +++++++++ exclusions/.backupExclusionsEmpyrion1 | 17 +++++++++++++++++ 3 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 exclusions/.backupExclusionsEmpyrion1 diff --git a/empyrion-galactic-survivalconfig.json b/empyrion-galactic-survivalconfig.json index 51f0b6a58..bc7fa2cf4 100644 --- a/empyrion-galactic-survivalconfig.json +++ b/empyrion-galactic-survivalconfig.json @@ -353,9 +353,9 @@ "EnumValues": {} }, { - "DisplayName": "Custom Scenario", + "DisplayName": "Scenario", "Category": "Emp - Game Settings", - "Description": "Choose from premade scenarios.", + "Description": "Choose from premade scenarios. If \"Custom Scenario\" is chosen, you must enter the name of the scenario in the Custom Scenario setting.", "Keywords": "Custom,Scenario", "FieldName": "CustomScenario", "InputType": "enum", @@ -376,9 +376,24 @@ "Invader vs Defender - Conflict of Cygnus": "Invader vs Defender - Conflict of Cygnus", "Shadows of Starlight": "Shadows of Starlight", "Stranded at Nemesis (Survival Challenge)": "Stranded at Nemesis (Survival Challenge)", - "Tutorial": "Tutorial" + "Tutorial": "Tutorial", + "{{CustomScenarioText}}": "Custom Scenario" } }, + { + "DisplayName": "Custom Scenario", + "Category": "Emp - Game Settings", + "Description": "Enter a custom scenario. Must select \"Custom Scenario\" in the Scenario drop-down. This is the same as the folder name the scenario is stored under.", + "Keywords": "Custom,Scenario", + "FieldName": "CustomScenarioText", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "CustomScenarioText", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "ReforgedEden", + "EnumValues": {} + }, { "DisplayName": "Release Stream", "Category": "SteamCMD and Updates", diff --git a/empyrion-galactic-survivalupdates.json b/empyrion-galactic-survivalupdates.json index 8ce8ba477..8a312bf56 100644 --- a/empyrion-galactic-survivalupdates.json +++ b/empyrion-galactic-survivalupdates.json @@ -13,5 +13,14 @@ "UpdateSource": "FetchURL", "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/empyriondedicated.yaml", "UpdateSourceTarget": "./530870/" + }, + { + "UpdateStageName":"Backup Exclusions Download 1", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/exclusions/.backupExclusionsEmpyrion1", + "UpdateSourceArgs":".backupExclude", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "OverwriteExistingFiles":false } ] diff --git a/exclusions/.backupExclusionsEmpyrion1 b/exclusions/.backupExclusionsEmpyrion1 new file mode 100644 index 000000000..6c261f183 --- /dev/null +++ b/exclusions/.backupExclusionsEmpyrion1 @@ -0,0 +1,17 @@ +_CommonRedist +Content +DedicatedServer +PlayfieldServer +steamapps +BuildNumber.txt +dedicated.yaml +Empyrion_Example.props +EmpyrionDedicated.cmd +EmpyrionDedicated_NoGraphics.cmd +EmpyrionLauncher.exe +steamclient.dll +steamclient64.dll +tier0_s.dll +tier0_s64.dll +vstdlib_s.dll +vstdlib_s64.dll \ No newline at end of file From 1c96ebb8903b37510123442d070aae9fae657648 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 17 Dec 2022 12:39:01 +1100 Subject: [PATCH 091/318] Icarus: Add settings, branch option, remove player limit (#249) --- icarus.kvp | 2 +- icarusconfig.json | 53 +++++++++++++++++++++++++++++++++++++--- icarusserversettings.ini | 2 ++ 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/icarus.kvp b/icarus.kvp index b0baf02d5..4ed6922b0 100644 --- a/icarus.kvp +++ b/icarus.kvp @@ -49,7 +49,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2089300","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2089300","UpdateSourceVersion":"{{ServerBranch}}","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/icarusconfig.json b/icarusconfig.json index 565872d46..f54819ff1 100644 --- a/icarusconfig.json +++ b/icarusconfig.json @@ -123,12 +123,11 @@ { "DisplayName":"Player Limit", "Category":"Icarus Server Settings", - "Description":"Maximum number of players that may connect to the server", + "Description":"Maximum number of players that may connect to the server at one time", "Keywords":"players,limit", "FieldName":"$MaxUsers", "InputType":"number", "MinValue":"1", - "MaxValue":"8", "IsFlagArgument":false, "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.MaxPlayers", "IncludeInCommandLine":false, @@ -308,7 +307,7 @@ { "DisplayName":"Enable Hardcore", "Category":"Icarus Server Settings", - "Description":"If set, harcore mode will be enabled when creating a prospect (respawns will be disabled)", + "Description":"If set, hardcore mode will be enabled when creating a prospect (respawns will be disabled)", "Keywords":"hardcore", "FieldName":"Hardcore", "InputType":"checkbox", @@ -352,5 +351,53 @@ "Placeholder":"300", "Suffix":"seconds", "EnumValues":{} + }, + { + "DisplayName":"Allow Non-Admins To Load Prospects", + "Category":"Icarus Server Settings", + "Description":"If set, anyone who joins the lobby can create a new prospect or load an existing one. Otherwise, only admins can", + "Keywords":"non,admins,create,prospects", + "FieldName":"AllowNonAdminsToLaunchProspects", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.AllowNonAdminsToLaunchProspects", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Non-Admins To Delete Prospects", + "Category":"Icarus Server Settings", + "Description":"If set, anyone who joins the lobby can delete existing prospects from the server. Otherwise, only admins can", + "Keywords":"non,admins,delete,prospects", + "FieldName":"AllowNonAdminsToDeleteProspects", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.AllowNonAdminsToDeleteProspects", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Server Branch", + "Category":"SteamCMD and Updates", + "Description":"Sets the server branch to install. The client must be on the same version. NOTE: Update the server after switching branches!", + "Keywords":"server,branch,depot", + "FieldName":"ServerBranch", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerBranch", + "IncludeInCommandLine":false, + "DefaultValue":"public", + "EnumValues":{ + "public":"Public (default)", + "experimental":"Experimental" + } } ] diff --git a/icarusserversettings.ini b/icarusserversettings.ini index 85ce7eefd..53950fcb5 100644 --- a/icarusserversettings.ini +++ b/icarusserversettings.ini @@ -5,6 +5,8 @@ MaxPlayers=8 AdminPassword=Password123 ShutdownIfNotJoinedFor=300 ShutdownIfEmptyFor=300 +AllowNonAdminsToLaunchProspects=True +AllowNonAdminsToDeleteProspects=False LoadProspect= CreateProspect= ResumeProspect=False From 09d6d804bf23b15766bbe82eeee7c84a006d60f5 Mon Sep 17 00:00:00 2001 From: Geramie Kuba Date: Fri, 16 Dec 2022 20:37:51 -0700 Subject: [PATCH 092/318] Added Darkness Falls Mod (#245) * Added Darkness Falls Mod * Fixed squashed items * Expanded description Noted this is the stable branch. --- seven-days-to-dieconfig.json | 17 ++++++++++++++++- seven-days-to-dieupdates.json | 31 +++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index 30b476614..ddb2a0e14 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -1167,6 +1167,21 @@ "False": "false", "True": "true" } + },{ + "DisplayName":"Install Darkness Falls", + "Category":"SteamCMD and Updates", + "Description":"Auto-installs Darkness Falls when the server is updated. This is the Stable branch.", + "Keywords":"install,DarknessFalls", + "FieldName":"DarknessFalls", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"DarknessFalls", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } },{ "DisplayName":"Please Read!", "Category":"7d2d - Undead Legacy Settings", @@ -1288,4 +1303,4 @@ "EnumValues":{}, "Suffix": "%" } -] \ No newline at end of file +] diff --git a/seven-days-to-dieupdates.json b/seven-days-to-dieupdates.json index f51a23c7c..4daea7544 100644 --- a/seven-days-to-dieupdates.json +++ b/seven-days-to-dieupdates.json @@ -159,5 +159,36 @@ "UpdateSourceArgs": "-c \"cp -rf ./seven-days-to-die/294420/UndeadLegacyExperimental*/* ./seven-days-to-die/294420/ && rm -rf ./seven-days-to-die/294420/UndeadLegacyExperimental*/\"", "UpdateSourceConditionSetting": "ConfigFile", "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-experimental" + }, + { + "UpdateStageName":"Download Darkness Falls", + "UpdateSourcePlatform":"All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://gitlab.com/KhaineGB/darkness-falls-a20/-/archive/main/darkness-falls-a20-main.zip", + "UpdateSourceArgs":"darkness-falls-a20-main.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "DarknessFalls", + "UpdateSourceConditionValue": "true", + "DeleteAfterExtract": true + }, + { + "UpdateStageName": "Darkness Falls Copy", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "Executable", + "UpdateSourceData": "cmd.exe", + "UpdateSourceArgs": "/C xcopy /E /Y /I seven-days-to-die\\294420\\darkness-falls-a20-main\\* seven-days-to-die\\294420\\ && rmdir /Q /S seven-days-to-die\\294420\\darkness-falls-a20-main", + "UpdateSourceConditionSetting": "DarknessFalls", + "UpdateSourceConditionValue": "true" + }, + { + "UpdateStageName": "Darkness Falls Copy", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"cp -rf ./seven-days-to-die/294420/darkness-falls-a20-main/* ./seven-days-to-die/294420/ && rm -rf ./seven-days-to-die/294420/darkness-falls-a20-main*/\"", + "UpdateSourceConditionSetting": "DarknessFalls", + "UpdateSourceConditionValue": "true" } ] \ No newline at end of file From 7e025bac53fa81221f9467b1bc1f23ff0c3562fc Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 16 Dec 2022 22:26:30 -0600 Subject: [PATCH 093/318] Update Empyrion - Backup Exclude Toggle (#251) This adds a checkbox slider to allow disabling the download of the default backup exclude file. --- empyrion-galactic-survivalconfig.json | 16 ++++++++++++++++ empyrion-galactic-survivalupdates.json | 2 ++ 2 files changed, 18 insertions(+) diff --git a/empyrion-galactic-survivalconfig.json b/empyrion-galactic-survivalconfig.json index bc7fa2cf4..b6dceafbd 100644 --- a/empyrion-galactic-survivalconfig.json +++ b/empyrion-galactic-survivalconfig.json @@ -407,5 +407,21 @@ "DefaultValue": "public", "Placeholder": "public", "EnumValues": {} + }, + { + "DisplayName":"Download Backup Exclude File", + "Category":"SteamCMD and Updates", + "Description":"This downloads a default backup exclude file to save space on backups by only saving specific directories. If this is disabled, you will need to manually delete the .backupExclude file it downloads.", + "Keywords":"download,backup,exclude,file", + "FieldName":"backupExclude", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"backupExclude", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } } ] \ No newline at end of file diff --git a/empyrion-galactic-survivalupdates.json b/empyrion-galactic-survivalupdates.json index 8a312bf56..2225900c1 100644 --- a/empyrion-galactic-survivalupdates.json +++ b/empyrion-galactic-survivalupdates.json @@ -21,6 +21,8 @@ "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/exclusions/.backupExclusionsEmpyrion1", "UpdateSourceArgs":".backupExclude", "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceConditionSetting": "backupExclude", + "UpdateSourceConditionValue": "true", "OverwriteExistingFiles":false } ] From 215c301d25ca62ecb5049501e39f24c16eccc7b9 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 16 Dec 2022 23:57:37 -0600 Subject: [PATCH 094/318] Update 7D2D - Default Backup Exclude (#252) * 7d2d * Update 7D2D - Default Backup Exclusion This adds a default .backupExclusions file for 7d2d. --- exclusions/.backupExclusions7d2d1 | 37 +++++++++++++++++++++++++++++++ seven-days-to-dieconfig.json | 15 +++++++++++++ seven-days-to-dieupdates.json | 11 +++++++++ 3 files changed, 63 insertions(+) create mode 100644 exclusions/.backupExclusions7d2d1 diff --git a/exclusions/.backupExclusions7d2d1 b/exclusions/.backupExclusions7d2d1 new file mode 100644 index 000000000..90e45f01a --- /dev/null +++ b/exclusions/.backupExclusions7d2d1 @@ -0,0 +1,37 @@ +_CommonRedist +7DaysToDieServer_Data +BepInEx +Data +doorstop_libs +Licenses +Logos +Mods +MonoBleedingEdge +steamapps +7DaysToDieServer.exe +7DaysToDieServer.x86_64 +darknessfalls.ico +DarknessFallsConfig.xml +doorstop_config.ini +libstdc++.so.6 +LICENSE +LinuxPlayer_s.debugMicrosoftGame.Config +platform.cfg +README.md +run_bepinex.sh +run_bepinex_server.sh +serverconfig.xml +startdedicated.bat +startserver.sh +steam_appid.txt +steamclient64.dll +tier0_s64.dll +UnityCrashHandler64.exe +UnityPlayer.dll +UnityPlayer.so +UnityPlayer_s.debug +UnityPlayer_Win64_mono_x64.pdb +vstdlib_s64.dll +WindowsPlayer_Master_mono_x64.pdb +WindowsPlayerHeadless.pdb +winhttp.dll \ No newline at end of file diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index ddb2a0e14..07260ab47 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -1182,6 +1182,21 @@ "False": "false", "True": "true" } + },{ + "DisplayName":"Download Backup Exclude File", + "Category":"SteamCMD and Updates", + "Description":"This downloads a default backup exclude file to save space on backups by only saving specific directories. If this is disabled, you will need to manually delete the .backupExclude file it downloads.", + "Keywords":"download,backup,exclude,file", + "FieldName":"backupExclude", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"backupExclude", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } },{ "DisplayName":"Please Read!", "Category":"7d2d - Undead Legacy Settings", diff --git a/seven-days-to-dieupdates.json b/seven-days-to-dieupdates.json index 4daea7544..cf429ecac 100644 --- a/seven-days-to-dieupdates.json +++ b/seven-days-to-dieupdates.json @@ -190,5 +190,16 @@ "UpdateSourceArgs": "-c \"cp -rf ./seven-days-to-die/294420/darkness-falls-a20-main/* ./seven-days-to-die/294420/ && rm -rf ./seven-days-to-die/294420/darkness-falls-a20-main*/\"", "UpdateSourceConditionSetting": "DarknessFalls", "UpdateSourceConditionValue": "true" + }, + { + "UpdateStageName":"Backup Exclusions Download 1", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/exclusions/.backupExclusions7d2d1", + "UpdateSourceArgs":".backupExclude", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceConditionSetting": "backupExclude", + "UpdateSourceConditionValue": "true", + "OverwriteExistingFiles":false } ] \ No newline at end of file From 2d1b35189bacc4cb260462b1fa592a1de6c56739 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 20 Dec 2022 06:21:00 +1100 Subject: [PATCH 095/318] Update icarusconfig.json (#254) --- icarusconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/icarusconfig.json b/icarusconfig.json index f54819ff1..98117d8a5 100644 --- a/icarusconfig.json +++ b/icarusconfig.json @@ -237,11 +237,11 @@ "Tier3_RiverLands_Extraction":"Extraction: Meridian", "Tier4_Arctic_Extraction_0":"Extraction: Payday", "Tier1_Farming":"Hydroponics: Agriculture", + "Outpost006_Olympus":"Open World: Olympus", + "OpenWorld_Styx":"Open World: Styx", "Outpost002_Forest":"Outpost: Arcwood", "Outpost005_Forest":"Outpost: Holdfast", "Outpost003_Arctic":"Outpost: Iceholm", - "Outpost006_Olympus":"Outpost: Olympus", - "OpenWorld_Styx":"Outpost: Styx", "Tier1_Forest_Recon_0":"Recon: Beachhead (default)", "Tier2_Glacier_Recovery_0":"Recovery: Broken Arrow", "Tier4_Desert_Recovery":"Recovery: Concealment", From 34b47c875a2e67821ae04139ec62b8512cf0cdcd Mon Sep 17 00:00:00 2001 From: Geramie Kuba Date: Thu, 22 Dec 2022 16:21:46 -0700 Subject: [PATCH 096/318] Merged Valheim and Valheim Plus templates. (#241) * Merged Valheim and Valheim Plus templates. * Updated Config. * Changed the saves dir to Saves from Data. * Updated Authors * fixed a typo * Added move Data to Saves command on update * Copy Pasta problems * Updated user Join and Leave regex. * Added BepInEx download option. * Added Valheim Plus config options. First pass. * Clarified BepInEx Description * fixed typo * added Valheim Meta config * Fixed typo * Fixes * Fixed category formatting * Resolved issues * Added Min/Max value * Fixed more capitalizations. * More fixes * more fixes --- valheim.kvp | 8 +- valheimconfig.json | 4698 +++++++++++++++++++++++++++++++++++++++- valheimmetaconfig.json | 9 + valheimplus.kvp | 51 - valheimupdates.json | 77 + 5 files changed, 4759 insertions(+), 84 deletions(-) create mode 100644 valheimmetaconfig.json delete mode 100644 valheimplus.kvp create mode 100644 valheimupdates.json diff --git a/valheim.kvp b/valheim.kvp index 9270b472e..765d1f6bb 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -6,6 +6,7 @@ Meta.URL=https://www.valheimgame.com/ Meta.DisplayImageSource=steam:892970 Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} Meta.ConfigManifest=valheimconfig.json +Meta.MetaConfigManifest=valheimmetaconfig.json Meta.ConfigRoot=valheim.kvp Meta.MinAMPVersion=2.2.2.0 App.DisplayName=Valheim @@ -14,8 +15,8 @@ App.BaseDirectory=./Valheim/896660/ App.ExecutableWin=896660\valheim_server.exe App.ExecutableLinux=896660/valheim_server.x86_64 App.WorkingDir=896660 -App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Data" {{crossplay}} -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "892970"} +App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Saves" {{crossplay}} +App.EnvironmentVariables={"DOORSTOP_ENABLE": "TRUE", "DOORSTOP_INVOKE_DLL_PATH": "./BepInEx/core/BepInEx.Preloader.dll", "DOORSTOP_CORLIB_OVERRIDE_PATH": "./unstripped_corlib" , "LD_LIBRARY_PATH":"./doorstop_libs:./linux64:%LD_LIBRARY_PATH%", "LD_PRELOAD": "libdoorstop_x64.so","SteamAppId":"892970"} App.CommandLineParameterFormat=-{0} "{1}" App.ExitMethod=OS_CLOSE App.HasWriteableConsole=False @@ -25,11 +26,10 @@ App.ApplicationPort1=2456 App.ApplicationPort2=2457 App.ApplicationPort3=0 App.RemoteAdminPort=0 -App.MaxUsers=10 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "896660", "UpdateSourceVersion": "{{Stream}}"}] +App.UpdateSources=@IncludeJSON[valheimupdates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceWindowsVersion=False diff --git a/valheimconfig.json b/valheimconfig.json index 06e07521f..e2d090798 100644 --- a/valheimconfig.json +++ b/valheimconfig.json @@ -4,51 +4,47 @@ "Description": "Server name as it appears in the server list", "FieldName": "ServerName", "InputType": "text", - "Category": "Server", + "Category": "Valheim - General Settings", "ParamFieldName": "name", "IncludeInCommandLine": true, "DefaultValue": "My Valheim Server - Powered by AMP" - }, - { + },{ "DisplayName": "World Name", "Description": "Name of the world .db file to load. Also used as the random seed used for terrain random generation", "FieldName": "WorldName", "Keywords": "world,seed,db", "InputType": "text", - "Category": "Server", + "Category": "Valheim - General Settings", "ParamFieldName": "world", "IncludeInCommandLine": true, "DefaultValue": "PoweredByAMP" - }, - { + },{ "DisplayName": "Server Password", - "Description": "Password that clients must supply in order to connect", + "Description": "Password that clients must supply in order to connect. NOTE: Minimum password length is 5 characters & Password can't be in the server name. Default Password: 12345", "FieldName": "ServerPassword", "InputType": "password", - "Category": "Server", + "Category": "Valheim - General Settings", "ParamFieldName": "password", "IncludeInCommandLine": true, "DefaultValue": "12345" - }, - { + },{ "DisplayName": "Server is Public", "Description": "Whether or not the server appears on the server list. Disable for a LAN-only server.", "FieldName": "ServerPublic", - "Category": "Server", + "Category": "Valheim - General Settings", "ParamFieldName": "public", "IncludeInCommandLine": true, "InputType": "checkbox", + "DefaultValue": "1", "EnumValues": { "True": "1", "False": "0" - }, - "DefaultValue": "1" - }, - { + } + },{ "DisplayName": "Enable Crossplay", "Description": "When enabled, the backend will be running Playfab instead of Steamworks. A \"Join code\" will appear when you join a Dedicated server supporting crossplay. Players can use this code to join the server. This Join code is regenerated whenever the server is restarted.", "FieldName": "crossplay", - "Category": "Server", + "Category": "Valheim - General Settings", "ParamFieldName": "crossplay", "IncludeInCommandLine": false, "InputType": "checkbox", @@ -57,30 +53,27 @@ "False": "" }, "DefaultValue": "" - }, - { + },{ "DisplayName": "Admin Players", "Description": "A list of Steam64 IDs for players that are in-game admins. [Find your Steam64 ID](https://steamidfinder.com/)", "FieldName": "AdminPlayers", - "Category": "Server", + "Category": "Valheim - General Settings", "InputType": "list", - "Special": "listfile:./Valheim/896660/Data/adminlist.txt" - }, - { + "Special": "listfile:./Valheim/896660/Saves/adminlist.txt" + },{ "DisplayName": "Permitted Players", "Description": "A list of Steam64 IDs for players that are permitted in-game. [Find your Steam64 ID](https://steamidfinder.com/)", "FieldName": "PermittedPlayers", - "Category": "Server", + "Category": "Valheim - General Settings", "InputType": "list", - "Special": "listfile:./Valheim/896660/Data/permittedlist.txt" - }, - { + "Special": "listfile:./Valheim/896660/Saves/permittedlist.txt" + },{ "DisplayName": "Banned Players", "Description": "A list of Steam64 IDs for players that are banned [Find a Steam64 ID](https://steamidfinder.com/)", "FieldName": "BannedPlayers", - "Category": "Server", + "Category": "Valheim - General Settings", "InputType": "list", - "Special": "listfile:./Valheim/896660/Data/bannedlist.txt" + "Special": "listfile:./Valheim/896660/Saves/bannedlist.txt" },{ "DisplayName":"Release Stream", "Category":"SteamCMD and Updates", @@ -94,5 +87,4652 @@ "DefaultValue":"public", "Placeholder":"public", "EnumValues":{} + },{ + "DisplayName":"Install BepInEx", + "Category":"SteamCMD and Updates", + "Description":"Installs BepInEx. Standalone - DO NOT use with the Install Valheim Plus option.", + "Keywords":"Install,BepInEx", + "FieldName":"bepinex_install", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"bepinex_install", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + },{ + "DisplayName":"Install Valheim Plus", + "Category":"SteamCMD and Updates", + "Description":"Installs Valheim Plus. Includes BepInEx", + "Keywords":"Install,Valheim,Plus", + "FieldName":"valheim_plus_install", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"valheim_plus", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + },{ + "DisplayName":"Please Read!", + "Category":"Valheim Plus - Basic Settings", + "Description":"The settings on this page are spit up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", + "Keywords":"Read,Please,Info", + "FieldName":"PleaseReadBasicSettings", + "InputType":"hidden" + },{ + "DisplayName":"Bed Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Bed,Enable", + "FieldName":"Bed.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Bed.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enable Sleeping Without Setting Spawn", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enable sleeping without setting bed as spawn. When hovering over a bed you will be presented with a Hot-Key 'LShift+E'. This Hot-Key will allow for you to sleep on any bed without having to set a spawn-point.", + "Keywords":"Bed,Sleep,Without,Spawn", + "FieldName":"Bed.sleepWithoutSpawn", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Bed.sleepWithoutSpawn", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enable Sleeping On Unclaimed Beds Only", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enable sleeping on only unclaimed beds without setting bed as spawn. This option enabled only beds that are not claimed by other players can be slept on without setting spawn-point using 'Shift+E'", + "Keywords":"Bed,Unclaimed,Beds,Only", + "FieldName":"Bed.unclaimedBedsOnly", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Bed.unclaimedBedsOnly", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Beehive Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Beehive,Enable", + "FieldName":"Beehive.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Beehive.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Honey Production Speed", + "Category":"Valheim Plus - Basic Settings", + "Description":"Configure the speed at which the bees produce honey in seconds, 1200 seconds are 24 ingame hours.", + "Keywords":"Beehive,Honey,Production,Speed", + "FieldName":"Beehive.honeyProductionSpeed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Beehive.honeyProductionSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"1200", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Max Honey Production Per Beehive", + "Category":"Valheim Plus - Basic Settings", + "Description":"Configure the maximum amount of honey in beehives.", + "Keywords":"Beehive,Maximum,Honey,Beehive", + "FieldName":"Beehive.maximumHoneyPerBeehive", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Beehive.maximumHoneyPerBeehive", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Beehive Auto Deposit", + "Category":"Valheim Plus - Basic Settings", + "Description":"Instead of dropping the items, they will be placed inside the nearest chests.", + "Keywords":"Beehive,Auto,Deposit", + "FieldName":"Beehive.autoDeposit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Beehive.autoDeposit", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Beehive Auto Deposit Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"The range of the chest detection for the auto deposit feature. Default 10, Minimum 0, Maximum is 50", + "Keywords":"Beehive,Auto,Deposit,Range", + "FieldName":"Beehive.autoDepositRange", + "InputType":"number", + "MinValue":"0", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"Beehive.autoDepositRange", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Display Duration on Hover", + "Category":"Valheim Plus - Basic Settings", + "Description":"Display the minutes and seconds until the beehive produces honey on crosshair hover.", + "Keywords":"Beehive,Show,Duration", + "FieldName":"Beehive.showDuration", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Beehive.showDuration", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Building Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Building,Enable", + "FieldName":"Building.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Building.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Invalid Placement Message", + "Category":"Valheim Plus - Basic Settings", + "Description":"Remove some of the Invalid placement messages, most notably provides the ability to place objects into other objects", + "Keywords":"Building,Invalid,Placement,Restriction", + "FieldName":"Building.noInvalidPlacementRestriction", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Building.noInvalidPlacementRestriction", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Mystical Forces Prevent Placement Message", + "Category":"Valheim Plus - Basic Settings", + "Description":"Removes the \"Mystical forces\" building prevention and allows destruction of build objects in those areas with the hammer.", + "Keywords":"Building,Mystical,Forces,Prevent,Placement,Restriction", + "FieldName":"Building.noMysticalForcesPreventPlacementRestriction", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Building.noMysticalForcesPreventPlacementRestriction", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Weather Damage", + "Category":"Valheim Plus - Basic Settings", + "Description":"Removes the weather damage from rain and water erosion.", + "Keywords":"Building,Weather,Damage", + "FieldName":"Building.noWeatherDamage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Building.noWeatherDamage", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Maximum Placement Distance", + "Category":"Valheim Plus - Basic Settings", + "Description":"The maximum range in meters that you can place build objects at inside the hammer build mode.", + "Keywords":"Building,Maximum,Placement,Distance", + "FieldName":"Building.maximumPlacementDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Building.maximumPlacementDistance", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Comfort Radius Per Piece", + "Category":"Valheim Plus - Basic Settings", + "Description":"The radius, in meters, in which a piece must be to contribute to the comfort level.", + "Keywords":"Building,Piece,Comfort,Radius", + "FieldName":"Building.pieceComfortRadius", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Building.pieceComfortRadius", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Always Drop Full Resources", + "Category":"Valheim Plus - Basic Settings", + "Description":"When destroying a building piece, it always drops full resources. We recommend to enable this if you use this section.", + "Keywords":"Building,Always,Drop,Resources", + "FieldName":"Building.alwaysDropResources", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Building.alwaysDropResources", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Always Drop \"Do Not Drop\" Marked Resources", + "Category":"Valheim Plus - Basic Settings", + "Description":"When destroying a building piece, it always drops pieces that the devs have marked as \"do not drop\". We recommend to enable this if you use this section.", + "Keywords":"Building,Always,Drop,Excluded,Resources", + "FieldName":"Building.alwaysDropExcludedResources", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Building.alwaysDropExcludedResources", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enable Area Repair", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this will cause repairing with the hammer to repair in a radius instead of a single piece.", + "Keywords":"Building,Enable,Area,Repair", + "FieldName":"Building.enableAreaRepair", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Building.enableAreaRepair", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Area Repair Radius", + "Category":"Valheim Plus - Basic Settings", + "Description":"Sets the area repair radius of enableAreaRepair. A value of 7.5 would mean your repair radius is 7.5 meters. Requires \"Enable Auto Repair\"", + "Keywords":"Building,Area,Repair,Radius", + "FieldName":"Building.areaRepairRadius", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Building.areaRepairRadius", + "IncludeInCommandLine":false, + "DefaultValue":"7.5", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Craft From Chest Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"This feature allows you to craft from nearby chests when in range. Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Craft,From,Chest,Enable", + "FieldName":"CraftFromChest.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"CraftFromChest.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable When Using Cooking Station", + "Category":"Valheim Plus - Basic Settings", + "Description":"Disable this feature when using a Cooking Station.", + "Keywords":"Craft,From,Chest,Disable,Cooking,Station", + "FieldName":"CraftFromChest.disableCookingStation", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"CraftFromChest.disableCookingStation", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Check From Workbench", + "Category":"Valheim Plus - Basic Settings", + "Description":"If in a workbench area, uses it as reference point when scanning for chests.", + "Keywords":"Craft,From,Chest,Check,From,Workbench", + "FieldName":"CraftFromChest.checkFromWorkbench", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"CraftFromChest.checkFromWorkbench", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Craft From Chest Ignore Private Area Check", + "Category":"Valheim Plus - Basic Settings", + "Description":"This option prevents crafting to pull items from warded areas if the player doesn't have access to it.", + "Keywords":"Craft,From,Chest,Ignore,Private,Area,Check", + "FieldName":"CraftFromChest.ignorePrivateAreaCheck", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"CraftFromChest.ignorePrivateAreaCheck", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Chest Detection Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"The range of the chest detection in meters.", + "Keywords":"Craft,From,Chest,Detection,Radius", + "FieldName":"CraftFromChest.range", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"CraftFromChest.range", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Chest Lookup Interval", + "Category":"Valheim Plus - Basic Settings", + "Description":"The interval in seconds that the feature scans your nearby chests.", + "Keywords":"Craft,From,Chest,Lookup,Interval", + "FieldName":"CraftFromChest.lookupInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"CraftFromChest.lookupInterval", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Allow Crafting From Carts", + "Category":"Valheim Plus - Basic Settings", + "Description":"Allows the system to use and see contents of carts for crafting. Might also allow use of other modded containers or vehicles not accessible otherwise.", + "Keywords":"Craft,From,Chest,Allow,Crafting,From,Carts", + "FieldName":"CraftFromChest.allowCraftingFromCarts", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"CraftFromChest.allowCraftingFromCarts", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Allow Crafting From Ships", + "Category":"Valheim Plus - Basic Settings", + "Description":"Allows the system to use and see contents of ships for crafting. Might also allow use of other modded containers or vehicles not accessible otherwise.", + "Keywords":"Craft,From,Chest,Allow,Crafting,From,Ships", + "FieldName":"CraftFromChest.allowCraftingFromShips", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"CraftFromChest.allowCraftingFromShips", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Durability Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Modifiers are increases and reduction in percent declared by 50, or -50. Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Durability,Enable", + "FieldName":"Durability.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Durability.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Durability of Armor", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of armor. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Armor", + "FieldName":"Durability.armor", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.armor", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Durability of Axes", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of axes. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Axes", + "FieldName":"Durability.axes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.axes", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Durability of Bows", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of bows. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Bows", + "FieldName":"Durability.bows", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.bows", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Durability of Cultivator", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of cultivator. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Cultivator", + "FieldName":"Durability.cultivator", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.cultivator", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Durability of Hammer", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of hammer. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Hammer", + "FieldName":"Durability.hammer", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.hammer", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Durability of Hoe", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of hoe. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Hoe", + "FieldName":"Durability.hoe", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.hoe", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Durability of pickaxes", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of pickaxes. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Pickaxes", + "FieldName":"Durability.pickaxes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.pickaxes", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Durability of Shields", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of shields. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Shields", + "FieldName":"Durability.shields", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.shields", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Durability of Torch", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of torch. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Torch", + "FieldName":"Durability.torch", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.torch", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Durability of Weapons", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Durability of weapons. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", + "Keywords":"Durability,Weapons", + "FieldName":"Durability.weapons", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Durability.weapons", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Fermenter Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Fermenter,Enable", + "FieldName":"Fermenter.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Fermenter.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fermenter Duration", + "Category":"Valheim Plus - Basic Settings", + "Description":"Configure the time that the fermenter takes to produce its product, 2400 seconds are 48 ingame hours.", + "Keywords":"Fermenter,Duration", + "FieldName":"Fermenter.fermenterDuration", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Fermenter.fermenterDuration", + "IncludeInCommandLine":false, + "DefaultValue":"2400", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Fermenter Production Amount", + "Category":"Valheim Plus - Basic Settings", + "Description":"Configure the total amount of produced items from a fermenter.", + "Keywords":"Fermenter,Items,Produced", + "FieldName":"Fermenter.fermenterItemsProduced", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Fermenter.fermenterItemsProduced", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "EnumValues":{}, + "Suffix": "items" + },{ + "DisplayName":"Display Fermenter Duration on Hover", + "Category":"Valheim Plus - Basic Settings", + "Description":"Display the minutes and seconds until the fermenter is done on crosshair hover.", + "Keywords":"Fermenter,Show,Duration", + "FieldName":"Fermenter.showDuration", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Fermenter.showDuration", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fermenter Auto Deposit", + "Category":"Valheim Plus - Basic Settings", + "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", + "Keywords":"Fermenter,Auto,Deposit", + "FieldName":"Fermenter.autoDeposit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Fermenter.autoDeposit", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fermenter Auto Fuel", + "Category":"Valheim Plus - Basic Settings", + "Description":"Automatically pull meads from nearby chests to be placed inside the Fermenter as soon as its empty.", + "Keywords":"Fermenter,Auto,Fuel", + "FieldName":"Fermenter.autoFuel", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Fermenter.autoFuel", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fermenter Ignore Private Area Check", + "Category":"Valheim Plus - Basic Settings", + "Description":"This option prevents the fermenter to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this be enabled", + "Keywords":"Fermenter,Ignore,Private,Area,Check", + "FieldName":"Fermenter.ignorePrivateAreaCheck", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Fermenter.ignorePrivateAreaCheck", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fermenter Chest Detection Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"The range of the chest detection for the auto deposit and auto fuel features. Maximum is 50", + "Keywords":"Fermenter,Auto,Range", + "FieldName":"Fermenter.autoRange", + "InputType":"number", + "MinValue":"0", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"Fermenter.autoRange", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Fire Source Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Fire,Source,Enable", + "FieldName":"FireSource.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FireSource.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fire Source Torches", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this torch-type fire sources will stay at max fuel level once filled. Applies to: wood torches, iron torches, green torches, sconces and brazier.", + "Keywords":"Fire,Source,Torches", + "FieldName":"FireSource.torches", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FireSource.torches", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fire Source Fires", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this non torch-type fire sources will stay at max fuel level once filled.", + "Keywords":"Fire,Source,Fires", + "FieldName":"FireSource.fires", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FireSource.fires", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fire Source Auto Fuel", + "Category":"Valheim Plus - Basic Settings", + "Description":"Automatically pull wood from nearby chests to be placed inside the Fire as soon as its empty.", + "Keywords":"Fire,Source,Auto,Fuel", + "FieldName":"FireSource.autoFuel", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FireSource.autoFuel", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fire Source Ignore Private Area Check", + "Category":"Valheim Plus - Basic Settings", + "Description":"This option prevents the Fire to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this to be enabled", + "Keywords":"Fire,Source,Ignore,Private,Area,Check", + "FieldName":"FireSource.ignorePrivateAreaCheck", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FireSource.ignorePrivateAreaCheck", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fire Source Chest Detection Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"The range of the chest detection for the auto fuel features. Default 10, Minimum 0, Maximum is 50", + "Keywords":"FireSource,Auto,Range", + "FieldName":"FireSource.autoRange", + "InputType":"number", + "MinValue":"0", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"FireSource.autoRange", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Furnace Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Furnace,Enable", + "FieldName":"Furnace.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Furnace Maximum Ore", + "Category":"Valheim Plus - Basic Settings", + "Description":"Maximum amount of ore in a Furnace.", + "Keywords":"Furnace,Maximum,Ore", + "FieldName":"Furnace.maximumOre", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.maximumOre", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "items" + },{ + "DisplayName":"Furnace Maximum Coal", + "Category":"Valheim Plus - Basic Settings", + "Description":"Maximum amount of coal in a Furnace.", + "Keywords":"Furnace,Maximum,Coal", + "FieldName":"Furnace.maximumCoal", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.maximumCoal", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "EnumValues":{}, + "Suffix": "items" + },{ + "DisplayName":"Furnace Coal Per Product", + "Category":"Valheim Plus - Basic Settings", + "Description":"The total amount of coal used to produce a single smelted ingot.", + "Keywords":"Furnace,Coal,Used,Per,Product", + "FieldName":"Furnace.coalUsedPerProduct", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.coalUsedPerProduct", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{}, + "Suffix": "coal" + },{ + "DisplayName":"Furnace Production Speed", + "Category":"Valheim Plus - Basic Settings", + "Description":"The time it takes for the Furnace to produce a single ingot in seconds.", + "Keywords":"Furnace,Production,Speed", + "FieldName":"Furnace.productionSpeed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.productionSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Furnace Auto Deposit", + "Category":"Valheim Plus - Basic Settings", + "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", + "Keywords":"Furnace,Auto,Deposit", + "FieldName":"Furnace.autoDeposit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.autoDeposit", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Furnace Auto Fuel", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Furnace will pull coal and raw materials from nearby chests to be automatically added to it when its empty.", + "Keywords":"Furnace,Auto,Fuel", + "FieldName":"Furnace.autoFuel", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.autoFuel", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Furnace Ignore Private Area Check", + "Category":"Valheim Plus - Basic Settings", + "Description":"This option prevents the Furnace to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this to be enabled", + "Keywords":"Furnace,Ignore,Private,Area,Check", + "FieldName":"Furnace.ignorePrivateAreaCheck", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.ignorePrivateAreaCheck", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Furnace Detection Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"The range of the chest detection for the auto deposit and auto fuel features. Default 10, Minimum 0, Maximum is 50", + "Keywords":"Furnace,Auto,Range", + "FieldName":"Furnace.autoRange", + "InputType":"number", + "MinValue":"0", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.autoRange", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Furnace Allow All Ores", + "Category":"Valheim Plus - Basic Settings", + "Description":"This option allows all ores inside the Furnace.", + "Keywords":"Furnace,Allow,All,Ores", + "FieldName":"Furnace.allowAllOres", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Furnace.allowAllOres", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Gathering Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Modifiers are increases and reduction in percent declared by 50, or -50. Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Gathering,Enable", + "FieldName":"Gathering.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Drop Chance", + "Category":"Valheim Plus - Basic Settings", + "Description":"Modify the chance to drop resources from resource nodes affected by this category. This only works on resource nodes that do not have guaranteed drops. As example by default scrap piles in dungeons have a 20% chance to drop a item, if you set this option to 200, you will then have a 60% chance to drop iron.", + "Keywords":"Gathering,Drop,Chance", + "FieldName":"Gathering.dropChance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.dropChance", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Chitin", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for chitin. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Chitin", + "FieldName":"Gathering.chitin", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.chitin", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Copper Ore", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for copper ore. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Copper,Ore", + "FieldName":"Gathering.copperOre", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.copperOre", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Core Wood", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for core wood. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Core,Wood", + "FieldName":"Gathering.coreWood", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.coreWood", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Elder Bark", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for elder bark. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Elder,Bark", + "FieldName":"Gathering.elderBark", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.elderBark", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Fine Wood", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for fine wood. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Fine,Wood", + "FieldName":"Gathering.fineWood", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.fineWood", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Iron Scrap", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for iron scrap. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Iron Scrap", + "FieldName":"Gathering.ironScrap", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.ironScrap", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Silver Ore", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for silver ore. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Silver,Ore", + "FieldName":"Gathering.silverOre", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.silverOre", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Stone", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for stone. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Stone", + "FieldName":"Gathering.stone", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.stone", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Tin Ore", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for tin ore. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Tin,Ore", + "FieldName":"Gathering.tinOre", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.tinOre", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Drop Chance Wood", + "Category":"Valheim Plus - Basic Settings", + "Description":"Drop chance for wood. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", + "Keywords":"Gathering,Drop,Chance,Wood", + "FieldName":"Gathering.wood", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Gathering.wood", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Inventory Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Inventory,Enable", + "FieldName":"Inventory.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Player Inventory Rows", + "Category":"Valheim Plus - Basic Settings", + "Description":"Player inventory number of rows (inventory is resized up to 6 rows, higher values will add a scrollbar). Default 4, Minimum 4, Maximum 20", + "Keywords":"Inventory,Player,Inventory,Rows", + "FieldName":"Inventory.playerInventoryRows", + "InputType":"number", + "MinValue":"4", + "MaxValue":"20", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.playerInventoryRows", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "EnumValues":{}, + "Suffix": "rows" + },{ + "DisplayName":"Wood Chest Columns", + "Category":"Valheim Plus - Basic Settings", + "Description":"Wood chest number of columns. Default 5, Minimum 3, Maximum 8", + "Keywords":"Inventory,Wood,Chest,Columns", + "FieldName":"Inventory.woodChestColumns", + "InputType":"number", + "MinValue":"3", + "MaxValue":"8", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.woodChestColumns", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "EnumValues":{}, + "Suffix": "columns" + },{ + "DisplayName":"Wood Chest Rows", + "Category":"Valheim Plus - Basic Settings", + "Description":"Wood chest number of rows, more than 4 rows will add a scrollbar. Default 2, Minimum 2, Maximum 10", + "Keywords":"Inventory,Wood,Chest,Rows", + "FieldName":"Inventory.woodChestRows", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.woodChestRows", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{}, + "Suffix": "rows" + },{ + "DisplayName":"Personal Chest Columns", + "Category":"Valheim Plus - Basic Settings", + "Description":"Personal chest number of columns. Default 3, Minimum 3, Maximum 8", + "Keywords":"Inventory,Personal,Chest,Columns", + "FieldName":"Inventory.personalChestColumns", + "InputType":"number", + "MinValue":"3", + "MaxValue":"8", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.personalChestColumns", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "EnumValues":{}, + "Suffix": "columns" + },{ + "DisplayName":"Personal Chest Rows", + "Category":"Valheim Plus - Basic Settings", + "Description":"Personal chest number of rows. Default 2, Minimum 2, Maximum 20", + "Keywords":"Inventory,Personal,Chest,Rows", + "FieldName":"Inventory.personalChestRows", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.personalChestRows", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{}, + "Suffix": "rows" + },{ + "DisplayName":"Iron Chest Columns", + "Category":"Valheim Plus - Basic Settings", + "Description":"Iron chest number of columns. Default 6, Minimum 3, Maximum 8", + "Keywords":"Inventory,Iron,Chest,Columns", + "FieldName":"Inventory.ironChestColumns", + "InputType":"number", + "MinValue":"3", + "MaxValue":"8", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.ironChestColumns", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "EnumValues":{}, + "Suffix": "columns" + },{ + "DisplayName":"Iron Chest Rows", + "Category":"Valheim Plus - Basic Settings", + "Description":"Iron chest number of rows,more than 4 rows will add a scrollbar. Default 4, Minimum 3, Maximum 20", + "Keywords":"Inventory,Iron,Chest,Rows", + "FieldName":"Inventory.ironChestRows", + "InputType":"number", + "MinValue":"3", + "MaxValue":"20", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.ironChestRows", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "EnumValues":{}, + "Suffix": "rows" + },{ + "DisplayName":"Blackmetal Chest Columns", + "Category":"Valheim Plus - Basic Settings", + "Description":"Blackmetal chests already have 8 columns by default but now you can lower it. Default 8, Minimum 3, Maximum 8", + "Keywords":"Inventory,Blackmetal,Chest,Columns", + "FieldName":"Inventory.blackmetalChestColumns", + "InputType":"number", + "MinValue":"3", + "MaxValue":"8", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.blackmetalChestColumns", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "EnumValues":{}, + "Suffix": "columns" + },{ + "DisplayName":"Blackmetal Chest Rows", + "Category":"Valheim Plus - Basic Settings", + "Description":"Blackmetal number of rows, more than 4 rows will add a scrollbar. Default 4, Minimum 3, Maximum 20", + "Keywords":"Inventory,Blackmetal,Chest,Rows", + "FieldName":"Inventory.blackmetalChestRows", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.blackmetalChestRows", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "EnumValues":{}, + "Suffix": "rows" + },{ + "DisplayName":"Cart Inventory Columns", + "Category":"Valheim Plus - Basic Settings", + "Description":"Cart inventory number of columns. Default 8, Minimum 6, Maximum 8", + "Keywords":"Inventory,Cart,Inventory,Columns", + "FieldName":"Inventory.cartInventoryColumns", + "InputType":"number", + "MinValue":"6", + "MaxValue":"8", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.cartInventoryColumns", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "EnumValues":{}, + "Suffix": "columns" + },{ + "DisplayName":"Cart Inventory Rows", + "Category":"Valheim Plus - Basic Settings", + "Description":"Cart inventory number of rows, more than 4 rows will add a scrollbar. Default 3, Minimum 3, Maximum 30", + "Keywords":"Inventory,Cart,Inventory,Rows", + "FieldName":"Inventory.cartInventoryRows", + "InputType":"number", + "MinValue":"3", + "MaxValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.cartInventoryRows", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "EnumValues":{}, + "Suffix": "rows" + },{ + "DisplayName":"Karve Inventory Columns", + "Category":"Valheim Plus - Basic Settings", + "Description":"Karve inventory number of columns. Default 2, Minimum 2, Maximum 8", + "Keywords":"Inventory,Karve,Inventory,Columns", + "FieldName":"Inventory.karveInventoryColumns", + "InputType":"number", + "MinValue":"2", + "MaxValue":"8", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.karveInventoryColumns", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{}, + "Suffix": "columns" + },{ + "DisplayName":"Karve Inventory Rows", + "Category":"Valheim Plus - Basic Settings", + "Description":"Karve inventory number of rows, more than 4 rows will add a scrollbar. Default 2, Minimum 2, Maximum 30", + "Keywords":"Inventory,Karve,Inventory,Rows", + "FieldName":"Inventory.karveInventoryRows", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.karveInventoryRows", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{}, + "Suffix": "rows" + },{ + "DisplayName":"Longboat Inventory Columns", + "Category":"Valheim Plus - Basic Settings", + "Description":"Longboat inventory number of columns. Default 8, Minimum 6, Maximum 8", + "Keywords":"Inventory,Longboat,Inventory,Columns", + "FieldName":"Inventory.longboatInventoryColumns", + "InputType":"number", + "MinValue":"6", + "MaxValue":"8", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.longboatInventoryColumns", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "EnumValues":{}, + "Suffix": "columns" + },{ + "DisplayName":"Longboat Inventory Rows", + "Category":"Valheim Plus - Basic Settings", + "Description":"Longboat inventory number of rows, more than 4 rows will add a scrollbar. Default 3, Minimum 3, Maximum 30", + "Keywords":"Inventory,Longboat,Inventory,Rows", + "FieldName":"Inventory.longboatInventoryRows", + "InputType":"number", + "MinValue":"3", + "MaxValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.longboatInventoryRows", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "EnumValues":{}, + "Suffix": "rows" + },{ + "DisplayName":"Inventory Fill Top To Bottom", + "Category":"Valheim Plus - Basic Settings", + "Description":"By default tools and weapons go into inventories top to bottom and other materials bottom to top. Enable to make all items go into the inventory top to bottom.", + "Keywords":"Inventory,Fill,Top,Bottom", + "FieldName":"Inventory.inventoryFillTopToBottom", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.inventoryFillTopToBottom", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Merge With Existing Stacks", + "Category":"Valheim Plus - Basic Settings", + "Description":"By default items go to their original position when picking up your tombstone. Enable to make all stacks try to merge with an existing stack first.", + "Keywords":"Inventory,Merge,Existing,Stacks", + "FieldName":"Inventory.mergeWithExistingStacks", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Inventory.mergeWithExistingStacks", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Items Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Items,Enable", + "FieldName":"Items.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Items.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"No Teleport Prevention", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enables you to teleport with ores and other usually teleport restricted objects", + "Keywords":"Items,Teleport,Prevention", + "FieldName":"Items.noTeleportPrevention", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Items.noTeleportPrevention", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Base Item Weight Reduction", + "Category":"Valheim Plus - Basic Settings", + "Description":"Increase or reduce item weight by a modifier in percent. The value -50 will reduce item weight of every object by 50%, 50 will increase the weight of every item by 50%.", + "Keywords":"Items,Base,Item,Weight,Reduction", + "FieldName":"Items.baseItemWeightReduction", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Items.baseItemWeightReduction", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Base Item Stack Multiplier", + "Category":"Valheim Plus - Basic Settings", + "Description":"Increase or reduce the size of all maximum item stacks by a modifier in percent. The value 50 would set a usual item stack of 100 to be 150. The value -50 would set a usual item stack of 100 to be 50.", + "Keywords":"Items,Item,Stack,Multiplier", + "FieldName":"Items.itemStackMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Items.itemStackMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Dropped Item Duration Before Despawn", + "Category":"Valheim Plus - Basic Settings", + "Description":"Set duration that dropped items stay on the ground before they are despawning. Game default is 3600 seconds.", + "Keywords":"Items,Dropped,Item,Ground,Duration,Seconds", + "FieldName":"Items.droppedItemOnGroundDurationInSeconds", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Items.droppedItemOnGroundDurationInSeconds", + "IncludeInCommandLine":false, + "DefaultValue":"3600", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Items Float In Water", + "Category":"Valheim Plus - Basic Settings", + "Description":"Items dropped always float in water.", + "Keywords":"Items,Items,Float,Water", + "FieldName":"Items.itemsFloatInWater", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Items.itemsFloatInWater", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Kiln Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Kiln,Enable", + "FieldName":"Kiln.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Maximum Wood In Kiln", + "Category":"Valheim Plus - Basic Settings", + "Description":"Maximum amount of wood in a Kiln.", + "Keywords":"Kiln,Maximum,Wood", + "FieldName":"Kiln.maximumWood", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.maximumWood", + "IncludeInCommandLine":false, + "DefaultValue":"25", + "EnumValues":{}, + "Suffix": "wood" + },{ + "DisplayName":"Kiln Disable Fine Wood Processing", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling to disable Fine Wood processing.", + "Keywords":"Kiln,Process,FineWood", + "FieldName":"Kiln.dontProcessFineWood", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.dontProcessFineWood", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Kiln Disable Round Log Processing", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling to disabled Round Log processing.", + "Keywords":"Kiln,Process,Round,Log", + "FieldName":"Kiln.dontProcessRoundLog", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.dontProcessRoundLog", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Kiln Production Speed", + "Category":"Valheim Plus - Basic Settings", + "Description":"The time it takes for the Kiln to produce a single piece of coal in seconds.", + "Keywords":"Kiln,Production,Speed", + "FieldName":"Kiln.productionSpeed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.productionSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Kiln Auto Deposit", + "Category":"Valheim Plus - Basic Settings", + "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", + "Keywords":"Kiln,Auto,Deposit", + "FieldName":"Kiln.autoDeposit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.autoDeposit", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Kiln Auto Fuel", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Kiln will pull wood from nearby chests to be automatically added to it when its empty. his option respects the Process Fine Wood and Process Round Log settings.", + "Keywords":"Kiln,Auto,Fuel", + "FieldName":"Kiln.autoFuel", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.autoFuel", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Kiln Stop Auto Fuel If X Coal In Chests", + "Category":"Valheim Plus - Basic Settings", + "Description":"Stops Auto Fuel looking for fuel when there is at least this quantity of Coal in nearby chests", + "Keywords":"Kiln,Stop,Auto,Fuel,Threshold", + "FieldName":"Kiln.stopAutoFuelThreshold", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.stopAutoFuelThreshold", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "coal" + },{ + "DisplayName":"Kiln Ignore Private Area Check", + "Category":"Valheim Plus - Basic Settings", + "Description":"This option prevents the Kiln to pull items from warded areas if it isn't placed inside of it. or convenience, we recommend this to be enabled.", + "Keywords":"Kiln,Ignore,Private,Area,Check", + "FieldName":"Kiln.ignorePrivateAreaCheck", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.ignorePrivateAreaCheck", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Kiln Chest Detection Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"The range of the chest detection for the auto deposit and fuel features. Default 10, Minimum 0, Maximum is 50", + "Keywords":"Kiln,Auto,Range", + "FieldName":"Kiln.autoRange", + "InputType":"number", + "MinValue":"0", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"Kiln.autoRange", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Pickable Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section. Each value below (in percent) will modify the yield when \"picking\" items (default key E) such as berries and flowers. A value of 100 will double drops, 200 will triple and so on.", + "Keywords":"Pickable,Enable", + "FieldName":"Pickable.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Pickable.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Edibles", + "Category":"Valheim Plus - Basic Settings", + "Description":"All berries, all mushrooms, onions and carrots. A value of 100 will double drops, 200 will triple and so on.", + "Keywords":"Pickable,Edibles", + "FieldName":"Pickable.edibles", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Pickable.edibles", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Flowers And Ingredients", + "Category":"Valheim Plus - Basic Settings", + "Description":"Barley, Flax, Dandelion, Thistle, Carrot Seeds, Turnip Seeds, Turnip, Onion Seeds. A value of 100 will double drops, 200 will triple and so on.", + "Keywords":"Pickable,Flowers,Ingredients", + "FieldName":"Pickable.flowersAndIngredients", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Pickable.flowersAndIngredients", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Materials", + "Category":"Valheim Plus - Basic Settings", + "Description":"Bone Fragments, Flint, Stone, Wood (branches on the ground).", + "Keywords":"Pickable,Materials", + "FieldName":"Pickable.materials", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Pickable.materials", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Valuables", + "Category":"Valheim Plus - Basic Settings", + "Description":"Amber, Amber Pearl, Coins, Ruby.", + "Keywords":"Pickable,Valuables", + "FieldName":"Pickable.valuables", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Pickable.valuables", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Surtling Cores", + "Category":"Valheim Plus - Basic Settings", + "Description":"Surtling Core only.", + "Keywords":"Pickable,Surtling,Cores", + "FieldName":"Pickable.surtlingCores", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Pickable.surtlingCores", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Smelter Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Smelter,Enable", + "FieldName":"Smelter.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Smelter.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Smelter Maximum Ore", + "Category":"Valheim Plus - Basic Settings", + "Description":"Maximum amount of ore in a Smelter.", + "Keywords":"Smelter,Maximum,Ore", + "FieldName":"Smelter.maximumOre", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Smelter.maximumOre", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "ore" + },{ + "DisplayName":"Smelter Maximum Coal", + "Category":"Valheim Plus - Basic Settings", + "Description":"Maximum amount of coal in a Smelter.", + "Keywords":"Smelter,Maximum,Coal", + "FieldName":"Smelter.maximumCoal", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Smelter.maximumCoal", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "EnumValues":{}, + "Suffix": "coal" + },{ + "DisplayName":"Smelter Coal Used Per Product", + "Category":"Valheim Plus - Basic Settings", + "Description":"Maximum amount of coal in a Smelter.", + "Keywords":"Smelter,Coal,Used,Product", + "FieldName":"Smelter.coalUsedPerProduct", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Smelter.coalUsedPerProduct", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{}, + "Suffix": "coal" + },{ + "DisplayName":"Smelter Production Speed", + "Category":"Valheim Plus - Basic Settings", + "Description":"The time it takes for the Smelter to produce a single ingot in seconds.", + "Keywords":"Smelter,Production,Speed", + "FieldName":"Smelter.productionSpeed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Smelter.productionSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Smelter Auto Deposit", + "Category":"Valheim Plus - Basic Settings", + "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", + "Keywords":"Smelter,Auto,Deposit", + "FieldName":"Smelter.autoDeposit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Smelter.autoDeposit", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Smelter Auto Fuel", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Smelter will pull coal and raw materials from nearby chests to be automatically added to it when its empty.", + "Keywords":"Smelter,Auto,Fuel", + "FieldName":"Smelter.autoFuel", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Smelter.autoFuel", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Smelter Ignore Private Area Check", + "Category":"Valheim Plus - Basic Settings", + "Description":"This option prevents the Smelter to pull items from warded areas if it isn't placed inside of it. or convenience, we recommend this to be enabled", + "Keywords":"Smelter,Ignore,Private,Area,Check", + "FieldName":"Smelter.ignorePrivateAreaCheck", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Smelter.ignorePrivateAreaCheck", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Smelter Chest Detection Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"The range of the chest detection for the auto deposit and auto fuel features. Default 10, Minimum 0, Maximum is 50", + "Keywords":"Smelter,Auto,Range", + "FieldName":"Smelter.autoRange", + "InputType":"number", + "MinValue":"0", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"Smelter.autoRange", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Spinning Wheel Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Spinning,Wheel,Enable", + "FieldName":"SpinningWheel.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SpinningWheel.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Spinning Wheel Maximum Flax", + "Category":"Valheim Plus - Basic Settings", + "Description":"Maximum amount of flax in a spinning wheel.", + "Keywords":"Spinning,Wheel,Maximum,Flax", + "FieldName":"SpinningWheel.maximumFlax", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SpinningWheel.maximumFlax", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "EnumValues":{}, + "Suffix": "flax" + },{ + "DisplayName":"Spinning Wheel Production Speed", + "Category":"Valheim Plus - Basic Settings", + "Description":"The time it takes for the spinning wheel to produce linen thread in seconds.", + "Keywords":"Spinning,Wheel,Production,Speed", + "FieldName":"SpinningWheel.productionSpeed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SpinningWheel.productionSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Spinning Wheel Auto Deposit", + "Category":"Valheim Plus - Basic Settings", + "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", + "Keywords":"Spinning,Wheel,Auto,Deposit", + "FieldName":"SpinningWheel.autoDeposit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SpinningWheel.autoDeposit", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Spinning Wheel Auto Fuel", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Spinning Wheel will pull flax from nearby chests to be automatically added to it when its empty.", + "Keywords":"Spinning,Wheel,Auto,Fuel", + "FieldName":"SpinningWheel.autoFuel", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SpinningWheel.autoFuel", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Spinning Wheel Ignore Private Area Check", + "Category":"Valheim Plus - Basic Settings", + "Description":"his option prevents the Spinning Wheel to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this to be enabled.", + "Keywords":"Spinning,Wheel,Ignore,Private,Area,Check", + "FieldName":"SpinningWheel.ignorePrivateAreaCheck", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SpinningWheel.ignorePrivateAreaCheck", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Spinning Wheel Chest Detection Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"The range of the chest detection for the auto deposit and auto fuel features. Default 10, Minimum 0, Maximum is 50", + "Keywords":"Spinning,Wheel,Auto,Range", + "FieldName":"SpinningWheel.autoRange", + "InputType":"number", + "MinValue":"0", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"SpinningWheel.autoRange", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Tameable Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Tameable,Enable", + "FieldName":"Tameable.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Tameable.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Mortality", + "Category":"Valheim Plus - Basic Settings", + "Description":"Modify what happens when a tamed creature is attacked. Normal - default, Essential - Deadly attacks stun instead of kill, tamed creatures can still die rarely, Immortal - Can't Die.", + "Keywords":"Tameable,Mortality", + "FieldName":"Tameable.mortality", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Tameable.mortality", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Normal", + "1":"Essential", + "2":"Immortal" + } + },{ + "DisplayName":"Tameable Owner Damage Override", + "Category":"Valheim Plus - Basic Settings", + "Description":"This will circumvent the mortality setting, so even if tamed creatures are immortal, players can still kill them with a butcher knife. For this option to work you need to have mortality to set to either essential or immortal.", + "Keywords":"Tameable,Owner,Damage,Override", + "FieldName":"Tameable.ownerDamageOverride", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Tameable.ownerDamageOverride", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Stun Recovery Time", + "Category":"Valheim Plus - Basic Settings", + "Description":"How long it takes for a tamed creature to recover if mortality is set to essential and they are stunned.", + "Keywords":"Tameable,Stun,Recovery,Time", + "FieldName":"Tameable.stunRecoveryTime", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Tameable.stunRecoveryTime", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Show Stunned On Hover Text", + "Category":"Valheim Plus - Basic Settings", + "Description":"If the tamed creature is recovering from a stun, then add Stunned to the hover text on mouse over.", + "Keywords":"Tameable,Stun,Information", + "FieldName":"Tameable.stunInformation", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Tameable.stunInformation", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Wagon Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Wagon,Enable", + "FieldName":"Wagon.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Wagon.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Wagon Base Mass", + "Category":"Valheim Plus - Basic Settings", + "Description":"Change the base wagon physical mass of the wagon object. This is essentially the base weight of a cart.", + "Keywords":"Wagon,Base,Mass", + "FieldName":"Wagon.wagonBaseMass", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Wagon.wagonBaseMass", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "EnumValues":{}, + "Suffix": "mass" + },{ + "DisplayName":"Wagon Extra Mass From Items", + "Category":"Valheim Plus - Basic Settings", + "Description":"This value changes the physical weight of wagons by +/- more/less from item weight inside. The value 50 would increase the weight by 50% more. The value -100 would remove the entire extra weight.", + "Keywords":"Wagon,Extra,Mass,From,Items", + "FieldName":"Wagon.wagonExtraMassFromItems", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Wagon.wagonExtraMassFromItems", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Windmill Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Windmill,Enable", + "FieldName":"Windmill.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Windmill.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Windmill Maximum Barley", + "Category":"Valheim Plus - Basic Settings", + "Description":"Maximum amount of barley in a windmill.", + "Keywords":"Windmill,Maximum,Barley", + "FieldName":"Windmill.maximumBarley", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Windmill.maximumBarley", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "EnumValues":{}, + "Suffix": "barley" + },{ + "DisplayName":"Windmill Production Speed", + "Category":"Valheim Plus - Basic Settings", + "Description":"The time it takes for the windmill to produce a single ingot in seconds.", + "Keywords":"Windmill,Production,Speed", + "FieldName":"Windmill.productionSpeed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Windmill.productionSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Windmill Ignore Wind Intensity", + "Category":"Valheim Plus - Basic Settings", + "Description":"Ignore wind intensity so it always takes the production speed value to process one barley.", + "Keywords":"Windmill,Ignore,Wind,Intensity", + "FieldName":"Windmill.ignoreWindIntensity", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Windmill.ignoreWindIntensity", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Windmill Auto Deposit", + "Category":"Valheim Plus - Basic Settings", + "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", + "Keywords":"Windmill,Auto,Deposit", + "FieldName":"Windmill.autoDeposit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Windmill.autoDeposit", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Windmill Auto Fuel", + "Category":"Valheim Plus - Basic Settings", + "Description":"The Windmill will pull barley from nearby chests to be automatically added to it when its empty.", + "Keywords":"Windmill,Auto,Fuel", + "FieldName":"Windmill.autoFuel", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Windmill.autoFuel", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Windmill Ignore Private Area Check", + "Category":"Valheim Plus - Basic Settings", + "Description":"This option prevents the Windmill to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this to be enabled", + "Keywords":"Windmill,Ignore,Private,Area,Check", + "FieldName":"Windmill.ignorePrivateAreaCheck", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Windmill.ignorePrivateAreaCheck", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Windmill Chest Detection Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"The range of the chest detection for the auto deposit and auto fuel features. Default 10, Minimum 0, Maximum is 50 meters", + "Keywords":"Windmill,Auto,Range", + "FieldName":"Windmill.autoRange", + "InputType":"number", + "MinValue":"0", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"Windmill.autoRange", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Workbench Settings Enable", + "Category":"Valheim Plus - Basic Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Workbench,Enable", + "FieldName":"Workbench.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Workbench.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Workbench Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"Set the workbench radius in meters.", + "Keywords":"Workbench,Range", + "FieldName":"Workbench.workbenchRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Workbench.workbenchRange", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Workbench Enemy Spawn Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"Set the enemy spawn radius around workbenches in meters. This value equals Workbench Range if its set to 0.", + "Keywords":"Workbench,Enemy,Spawn,Range", + "FieldName":"Workbench.workbenchEnemySpawnRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Workbench.workbenchEnemySpawnRange", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Workbench Attachment Range", + "Category":"Valheim Plus - Basic Settings", + "Description":"Sets the workbench attachment radius. e.g. anvil", + "Keywords":"Workbench,Attachment,Range", + "FieldName":"Workbench.workbenchAttachmentRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Workbench.workbenchAttachmentRange", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Workbench Disable Roof Check", + "Category":"Valheim Plus - Basic Settings", + "Description":"Disables the roof and exposure requirement to use a workbench.", + "Keywords":"Workbench,Disable,Roof,Check", + "FieldName":"Workbench.disableRoofCheck", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Workbench.disableRoofCheck", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Please Read!", + "Category":"Valheim Plus - Player Settings", + "Description":"The settings on this page are spit up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", + "Keywords":"Read,Please,Info", + "FieldName":"PleaseReadPlayerSettings", + "InputType":"hidden" + },{ + "Category":"Valheim Plus - Player Settings", + "DisplayName":"Armor Enable", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Armor,Enable", + "FieldName":"Armor.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Armor.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Helmet Armor Modified Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The value 50 will increase the armor by 7. The value -50 will reduce the armor 7.", + "Keywords":"Armor,Values,Helmets", + "FieldName":"Armor.helmets", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Armor.helmets", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Chests Armor Modified Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The value 50 will increase the armor by 7. The value -50 will reduce the armor 7.", + "Keywords":"Armor,Values,Chests", + "FieldName":"Armor.chests", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Armor.chests", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Legs Armor Modified Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The value 50 will increase the armor by 7. The value -50 will reduce the armor 7.", + "Keywords":"Armor,Values,Legs", + "FieldName":"Armor.legs", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Armor.legs", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Capes Armor Modified Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The value 50 will increase the armor by 7. The value -50 will reduce the armor 7.", + "Keywords":"Armor,Values,Capes", + "FieldName":"Armor.capes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Armor.capes", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Experience Enable", + "Category":"Valheim Plus - Player Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Experience,Enable", + "FieldName":"Experience.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Experience.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Axes Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of axes.", + "Keywords":"Experience,Values,Axes", + "FieldName":"Experience.axes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.axes", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Blocking Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of blocking.", + "Keywords":"Experience,Values,Blocking", + "FieldName":"Experience.blocking", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.blocking", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Bows Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of bows.", + "Keywords":"Experience,Values,Bows", + "FieldName":"Experience.bows", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.bows", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Clubs Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of clubs.", + "Keywords":"Experience,Values,Clubs", + "FieldName":"Experience.clubs", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.clubs", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Fire Magic Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of fire magic.", + "Keywords":"Experience,Values,Fire,Magic", + "FieldName":"Experience.fireMagic", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.fireMagic", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Frost Magic Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of frost magic.", + "Keywords":"Experience,Values,Frost,Magic", + "FieldName":"Experience.frostMagic", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.frostMagic", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Jump Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of jump.", + "Keywords":"Experience,Values,Jump", + "FieldName":"Experience.jump", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.jump", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Knives Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of knives.", + "Keywords":"Experience,Values,Knives", + "FieldName":"Experience.knives", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.knives", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Pickaxes Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of pickaxes.", + "Keywords":"Experience,Values,Pickaxes", + "FieldName":"Experience.pickaxes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.pickaxes", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Polearms Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of polearms.", + "Keywords":"Experience,Values,Polearms", + "FieldName":"Experience.polearms", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.polearms", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Ride Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of ride.", + "Keywords":"Experience,Values,Ride", + "FieldName":"Experience.ride", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.ride", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Run Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of run.", + "Keywords":"Experience,Values,Run", + "FieldName":"Experience.run", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.run", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Sneak Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of sneak.", + "Keywords":"Experience,Values,Sneak", + "FieldName":"Experience.sneak", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.sneak", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Spears Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of spears.", + "Keywords":"Experience,Values,Spears", + "FieldName":"Experience.spears", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.spears", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Swim Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of swim.", + "Keywords":"Experience,Values,Swim", + "FieldName":"Experience.swim", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.swim", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Swords Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of swords.", + "Keywords":"Experience,Values,Swords", + "FieldName":"Experience.swords", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.swords", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Unarmed Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of unarmed.", + "Keywords":"Experience,Values,Unarmed", + "FieldName":"Experience.unarmed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.unarmed", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"Wood Cutting Experience Values", + "Category":"Valheim Plus - Player Settings", + "Description":"The modifier value for the experience gained of wood cutting.", + "Keywords":"Experience,Values,Wood,Cutting", + "FieldName":"Experience.woodCutting", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Experience.woodCutting", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "modifier" + },{ + "DisplayName":"First Person Settings Enable", + "Category":"Valheim Plus - Player Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"FirstPerson,Enable", + "FieldName":"FirstPerson.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FirstPerson.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"First Person Hotkey", + "Category":"Valheim Plus - Player Settings", + "Description":"Hotkey to enable First Person. Default F10", + "Keywords":"First,Person,hotkey", + "FieldName":"FirstPerson.hotkey", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"FirstPerson.hotkey", + "IncludeInCommandLine":false, + "DefaultValue":"F10", + "EnumValues":{} + },{ + "DisplayName":"First Person Default FOV", + "Category":"Valheim Plus - Player Settings", + "Description":"Default Field Of View to use. Default 65.0", + "Keywords":"First,Person,FOV", + "FieldName":"FirstPerson.defaultFOV", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"FirstPerson.defaultFOV", + "IncludeInCommandLine":false, + "DefaultValue":"65.0", + "EnumValues":{}, + "Suffix": "fov" + },{ + "DisplayName":"First Person Raise FOV Hotkey", + "Category":"Valheim Plus - Player Settings", + "Description":"Hotkey to raise Field Of View. Default PageUp", + "Keywords":"First,Person,FOV,Hotkey", + "FieldName":"FirstPerson.raiseFOVHotkey", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"FirstPerson.raiseFOVHotkey", + "IncludeInCommandLine":false, + "DefaultValue":"PageUp", + "EnumValues":{} + },{ + "DisplayName":"First Person Lower FOV Hotkey", + "Category":"Valheim Plus - Player Settings", + "Description":"Hotkey to raise Field Of View. Default PageDown", + "Keywords":"First,Person,FOV,Hotkey", + "FieldName":"FirstPerson.lowerFOVHotkey", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"FirstPerson.lowerFOVHotkey", + "IncludeInCommandLine":false, + "DefaultValue":"PageDown", + "EnumValues":{} + },{ + "DisplayName":"Food Settings Enable", + "Category":"Valheim Plus - Player Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Food,Enable", + "FieldName":"Food.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Food.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Food Duration Multiplier", + "Category":"Valheim Plus - Player Settings", + "Description":"Increase or reduce the time that food lasts by %. The value 50 would cause food to run out 50% slower, -50% would cause the food to run out 50% faster.", + "Keywords":"Food,Duration,Multiplier", + "FieldName":"Food.foodDurationMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Food.foodDurationMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Disable Food Degradation Over Time", + "Category":"Valheim Plus - Player Settings", + "Description":"This option prevents food degrading over time - in other words, it retains its maximum benefit until it runs out instead of reducing its effect over time.", + "Keywords":"Food,Degradation,Over,Time", + "FieldName":"Food.disableFoodDegradation", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Food.disableFoodDegradation", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Player Settings Enable", + "Category":"Valheim Plus - Player Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Player,Enable", + "FieldName":"Player.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Maximum Carry Weight", + "Category":"Valheim Plus - Player Settings", + "Description":"The base amount of carry weight of your character.", + "Keywords":"Player,Carry,Weight", + "FieldName":"Player.baseMaximumWeight", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.baseMaximumWeight", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "EnumValues":{}, + "Suffix": "weight" + },{ + "DisplayName":"Megingjord's Girdle Bonus Weight", + "Category":"Valheim Plus - Player Settings", + "Description":"Increase the buff you receive to your carry weight from Megingjord's girdle.", + "Keywords":"Player,Megingjord,Weight,Buff", + "FieldName":"Player.baseMegingjordBuff", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.baseMegingjordBuff", + "IncludeInCommandLine":false, + "DefaultValue":"150", + "EnumValues":{}, + "Suffix": "weight" + },{ + "DisplayName":"Player Auto Pickup Range", + "Category":"Valheim Plus - Player Settings", + "Description":"Increase auto pickup range of all items.", + "Keywords":"Player,Pickup,Range,Auto", + "FieldName":"Player.baseAutoPickUpRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.baseAutoPickUpRange", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{}, + "Suffix": "range" + },{ + "DisplayName":"Disable Camera Shake", + "Category":"Valheim Plus - Player Settings", + "Description":"Disable all types of camera shake.", + "Keywords":"Player,Camera,Shake", + "FieldName":"Player.disableCameraShake", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.disableCameraShake", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Unarmed Damage Bonus", + "Category":"Valheim Plus - Player Settings", + "Description":"The base unarmed damage multiplied by your skill level. 120 will result in a maximum of up to 12 damage when you have a skill level of 10. Default 70", + "Keywords":"Player,Unarmed,Damage", + "FieldName":"Player.baseUnarmedDamage", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.baseUnarmedDamage", + "IncludeInCommandLine":false, + "DefaultValue":"70", + "EnumValues":{}, + "Suffix": "damage" + },{ + "DisplayName":"Crop Notifier", + "Category":"Valheim Plus - Player Settings", + "Description":"When enabled, you will not be permitted to place a crop within the grow radius of another crop.", + "Keywords":"Player,Crop,Notifier", + "FieldName":"Player.cropNotifier", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.cropNotifier", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Comfort Level Bonus In Seconds", + "Category":"Valheim Plus - Player Settings", + "Description":"How many seconds each comfort level contributes to the rested bonus.", + "Keywords":"Player,Rested,Bonus", + "FieldName":"Player.restSecondsPerComfortLevel", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.restSecondsPerComfortLevel", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Death Penalty", + "Category":"Valheim Plus - Player Settings", + "Description":"Change the death penalty in percentage, where higher will increase the death penalty and lower will reduce it. This is a modifier value. 50 will increase it by 50%, -50 will reduce it by 50%.", + "Keywords":"Player,Death,Penalty", + "FieldName":"Player.deathPenaltyMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.deathPenaltyMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Enable Auto Repair", + "Category":"Valheim Plus - Player Settings", + "Description":"If enabled, this option will automatically repair your equipment when you interact with the appropriate workbench.", + "Keywords":"Player,Auto,Repair", + "FieldName":"Player.autoRepair", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.autoRepair", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Boss Buff Duration", + "Category":"Valheim Plus - Player Settings", + "Description":"Boss buff duration (seconds). Default 300 seconds", + "Keywords":"Player,Boss,Buff,Duration", + "FieldName":"Player.guardianBuffDuration", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.guardianBuffDuration", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Boss Buff Cooldown", + "Category":"Valheim Plus - Player Settings", + "Description":"Boss buff cooldown (seconds). Default 1200 seconds", + "Keywords":"Player,Boss,Buff,Cooldown", + "FieldName":"Player.guardianBuffCooldown", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.guardianBuffCooldown", + "IncludeInCommandLine":false, + "DefaultValue":"1200", + "EnumValues":{}, + "Suffix": "seconds" + },{ + "DisplayName":"Disable Guardian Buff Animation", + "Category":"Valheim Plus - Player Settings", + "Description":"Disable the Guardian Buff animation", + "Keywords":"Player,Buff,Animation,Guardian", + "FieldName":"Player.disableGuardianBuffAnimation", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.disableGuardianBuffAnimation", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enable Auto Equip Shield", + "Category":"Valheim Plus - Player Settings", + "Description":"If enabled, when equipping a one-handed weapon, the best shield from your inventory is automatically equipped. (Best is determined by highest block power)", + "Keywords":"Player,Auto,Equip,Shield", + "FieldName":"Player.autoEquipShield", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.autoEquipShield", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enable Auto Unequip Shield", + "Category":"Valheim Plus - Player Settings", + "Description":"When unequipping a one-handed weapon also unequip shield from inventory.", + "Keywords":"Player,Auto,Unequip,Shield", + "FieldName":"Player.autoUnequipShield", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.autoUnequipShield", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enable Queue Weapon Change", + "Category":"Valheim Plus - Player Settings", + "Description":"If enabled, weapon switches requested mid-attack will be carried out when the current attack is finished instead of being ignored.", + "Keywords":"Player,Queue,Weapon,Change", + "FieldName":"Player.queueWeaponChanges", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.queueWeaponChanges", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enable Skip Intro", + "Category":"Valheim Plus - Player Settings", + "Description":"If enabled, you will always skip the intro of the game.", + "Keywords":"Player,Skip,Intro", + "FieldName":"Player.skipIntro", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.skipIntro", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"\"I Have Arrived\" Message", + "Category":"Valheim Plus - Player Settings", + "Description":"If disabled, disables the \"I have arrived!\" message on player spawn.", + "Keywords":"Player,Arrived,Message", + "FieldName":"Player.iHaveArrivedOnSpawn", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.iHaveArrivedOnSpawn", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Unequip Items When Swimming", + "Category":"Valheim Plus - Player Settings", + "Description":"If enabled, you will not put away / unequip your items when swimming.", + "Keywords":"Player,Unequip,Items,Swimming", + "FieldName":"Player.dontUnequipItemsWhenSwimming", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.dontUnequipItemsWhenSwimming", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Re-equip Items After Swimming", + "Category":"Valheim Plus - Player Settings", + "Description":"If enabled, items will be re-equipped when you exit water after swimming (if they were hidden automatically)", + "Keywords":"Player,Re-equip,Items,Swimming", + "FieldName":"Player.reequipItemsAfterSwimming", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.reequipItemsAfterSwimming", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Fall Damage Scale", + "Category":"Valheim Plus - Player Settings", + "Description":"This value represents how much the fall damage should be scaled in +/- %. This is a modifier value. The value 50 would result in 50% increased fall damage. The value -50 would result in 50% reduced fall damage.", + "Keywords":"Player,Fall,Damage,Scale", + "FieldName":"Player.fallDamageScalePercent", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.fallDamageScalePercent", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Max Fall Damage", + "Category":"Valheim Plus - Player Settings", + "Description":"Max fall damage. Game default is 100 (so with enough health, falls can't kill).", + "Keywords":"Player,Fall,Damage,Max", + "FieldName":"Player.maxFallDamage", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Player.maxFallDamage", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "EnumValues":{}, + "Suffix": "" + },{ + "DisplayName":"Enable Skip Tutorials", + "Category":"Valheim Plus - Player Settings", + "Description":"If enabled, all tutorials will skip from now on. You can turn this config off and reset the tutorial (in the settings) at any time.", + "Keywords":"Player,Skip,Tutorials", + "FieldName":"Player.skipTutorials", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.skipTutorials", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Encumbrance ", + "Category":"Valheim Plus - Player Settings", + "Description":"Disable the encumbered state when you carry too many items (overweight)", + "Keywords":"Player,Disable,Encumbrance ", + "FieldName":"Player.disableEncumbered", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.disableEncumbered", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enable Auto Pickup If Encumbered", + "Category":"Valheim Plus - Player Settings", + "Description":"Allow auto pickup of items when encumbered (overweight)", + "Keywords":"Player,Auto,Pickup,Encumbered", + "FieldName":"Player.autoPickUpWhenEncumbered", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Player.autoPickUpWhenEncumbered", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Shields Settings Enable", + "Category":"Valheim Plus - Player Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Shields,Enable", + "FieldName":"Shields.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Shields.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Shield Block Value", + "Category":"Valheim Plus - Player Settings", + "Description":"Increase or decrease the block value on all shields in %. -50 would be 50% less block rating, 50 would be 50% more block rating.", + "Keywords":"Shields,Block,Value", + "FieldName":"Shields.blockRating", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Shields.blockRating", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Stamina Settings Enable", + "Category":"Valheim Plus - Player Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Stamina,Enable", + "FieldName":"Stamina.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Stamina.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Dodge Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Changes the amount of stamina cost of using the dodge roll by %", + "Keywords":"Stamina,Dodge,Usage", + "FieldName":"Stamina.dodgeStaminaUsage", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Stamina.dodgeStaminaUsage", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Encumbered Stamina Drain", + "Category":"Valheim Plus - Player Settings", + "Description":"Changes the stamina drain of being overweight by %", + "Keywords":"Stamina,Encumbered,Drain", + "FieldName":"Stamina.encumberedStaminaDrain", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Stamina.encumberedStaminaDrain", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Jump Stamina Drain", + "Category":"Valheim Plus - Player Settings", + "Description":"Changes the stamina cost of jumping by %", + "Keywords":"Stamina,Jump,Drain", + "FieldName":"Stamina.jumpStaminaDrain", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Stamina.jumpStaminaDrain", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Run Stamina Drain", + "Category":"Valheim Plus - Player Settings", + "Description":"Changes the stamina cost of running by %", + "Keywords":"Stamina,Run,Drain", + "FieldName":"Stamina.runStaminaDrain", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Stamina.runStaminaDrain", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Sneak Stamina Drain", + "Category":"Valheim Plus - Player Settings", + "Description":"Changes the stamina cost of sneaking by %", + "Keywords":"Stamina,Sneak,Drain", + "FieldName":"Stamina.sneakStaminaDrain", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Stamina.sneakStaminaDrain", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Stamina Regen", + "Category":"Valheim Plus - Player Settings", + "Description":"Changes the total amount of stamina recovered per second by %", + "Keywords":"Stamina,Regen", + "FieldName":"Stamina.staminaRegen", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Stamina.staminaRegen", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Stamina Regen Delay", + "Category":"Valheim Plus - Player Settings", + "Description":"Changes the delay until stamina regeneration sets in by %", + "Keywords":"Stamina,Regen,Delay", + "FieldName":"Stamina.staminaRegenDelay", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Stamina.staminaRegenDelay", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Swim Stamina Drain", + "Category":"Valheim Plus - Player Settings", + "Description":"Changes the stamina drain of swimming by %", + "Keywords":"Stamina,Swim,Drain", + "FieldName":"Stamina.swimStaminaDrain", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Stamina.swimStaminaDrain", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Stamina Usage Settings Enable", + "Category":"Valheim Plus - Player Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Stamina,Usage,Enable", + "FieldName":"StaminaUsage.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Axes Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Axes", + "FieldName":"StaminaUsage.axes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.axes", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Blocking Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Blocking", + "FieldName":"StaminaUsage.blocking", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.blocking", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Bows Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Bows", + "FieldName":"StaminaUsage.bows", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.bows", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Clubs Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Clubs", + "FieldName":"StaminaUsage.clubs", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.clubs", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Knives Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Knives", + "FieldName":"StaminaUsage.knives", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.knives", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Pickaxes Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Pickaxes", + "FieldName":"StaminaUsage.pickaxes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.pickaxes", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Polearms Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Polearms", + "FieldName":"StaminaUsage.polearms", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.polearms", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Spears Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Spears", + "FieldName":"StaminaUsage.spears", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.spears", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Swords Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Swords", + "FieldName":"StaminaUsage.swords", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.swords", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Unarmed Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Unarmed", + "FieldName":"StaminaUsage.unarmed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.unarmed", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Hammer Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Hammer", + "FieldName":"StaminaUsage.hammer", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.hammer", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Hoe Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Hoe", + "FieldName":"StaminaUsage.hoe", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.hoe", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Cultivator Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Cultivator", + "FieldName":"StaminaUsage.cultivator", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.cultivator", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Fishing Stamina Usage", + "Category":"Valheim Plus - Player Settings", + "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", + "Keywords":"Stamina,Usage,Fishing", + "FieldName":"StaminaUsage.fishing", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StaminaUsage.fishing", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "%" + },{ + "DisplayName":"Please Read!", + "Category":"Valheim Plus - Server Settings", + "Description":"The settings on this page are spit up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", + "Keywords":"Read,Please,Info", + "FieldName":"PleaseReadServerSettings", + "InputType":"hidden" + },{ + "DisplayName":"Valheim Plus Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"ValheimPlus,Enable", + "FieldName":"ValheimPlus.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ValheimPlus.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Valheim Plus Logo", + "Category":"Valheim Plus - Server Settings", + "Description":"Display the Valheim Plus logo in the main menu", + "Keywords":"ValheimPlus,Logo", + "FieldName":"ValheimPlus.mainMenuLogo", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ValheimPlus.mainMenuLogo", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Server Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section. Recommended to be left on.", + "Keywords":"ValheimPlus,Server,Settings", + "FieldName":"Server.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Server.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Max Player Count", + "Category":"Valheim Plus - Server Settings", + "Description":"Maximum Concurrent Players on the server.", + "Keywords":"Server,Max,Player,Count", + "FieldName":"Server.maxPlayers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Server.maxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "EnumValues":{}, + "Suffix": "players" + },{ + "DisplayName":"Disable Server Password", + "Category":"Valheim Plus - Server Settings", + "Description":"Removes the requirement to have a server password.", + "Keywords":"Server,Password", + "FieldName":"Server.disableServerPassword", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Server.disableServerPassword", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Require Valheim Plus", + "Category":"Valheim Plus - Server Settings", + "Description":"This settings add a version control check to make sure that people that try to join your server has Valheim Plus installed. Recommended to leave on.", + "Keywords":"Server,Check", + "FieldName":"Server.enforceMod", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Server.enforceMod", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Sync Server Config", + "Category":"Valheim Plus - Server Settings", + "Description":"Sync config to clients. Recommended to leave on.", + "Keywords":"Server,Config", + "FieldName":"Server.serverSyncsConfig", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Server.serverSyncsConfig", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Game Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Game,Enable", + "FieldName":"Game.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Game.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Difficulty Damage Scale", + "Category":"Valheim Plus - Server Settings", + "Description":"Default is 4% monster damage increase per player in radius.", + "Keywords":"Game,Difficulty,Damage,Scale", + "FieldName":"Game.gameDifficultyDamageScale", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Game.gameDifficultyDamageScale", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "EnumValues":{}, + "Suffix": "% damage" + },{ + "DisplayName":"Difficulty Health Scale", + "Category":"Valheim Plus - Server Settings", + "Description":"Default is 40% monster health increase per player in radius.", + "Keywords":"Game,Difficulty,Health,Scale", + "FieldName":"Game.gameDifficultyHealthScale", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Game.gameDifficultyHealthScale", + "IncludeInCommandLine":false, + "DefaultValue":"40", + "EnumValues":{}, + "Suffix": "% health" + },{ + "DisplayName":"Extra Player Count Nearby", + "Category":"Valheim Plus - Server Settings", + "Description":"Adds additional players to the difficulty calculation in multiplayer unrelated to the actual amount. This option is disabled if its set to 0.", + "Keywords":"Game,Player,Nearby,Count", + "FieldName":"Game.extraPlayerCountNearby", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Game.extraPlayerCountNearby", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "extra players" + },{ + "DisplayName":"Set Fixed Player Count", + "Category":"Valheim Plus - Server Settings", + "Description":"Sets the nearby player count always to this value + Extra Player Count Nearby. This option is disabled if its set to 0.", + "Keywords":"Game,Player,Nearby,Count", + "FieldName":"Game.setFixedPlayerCountTo", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Game.setFixedPlayerCountTo", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "fixed extra players" + },{ + "DisplayName":"Difficulty Scale Range", + "Category":"Valheim Plus - Server Settings", + "Description":"The range in meters at which other players count towards nearby players for the difficulty scale", + "Keywords":"Game,Difficulty,Scale,Range", + "FieldName":"Game.difficultyScaleRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Game.difficultyScaleRange", + "IncludeInCommandLine":false, + "DefaultValue":"200", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Disable Portals", + "Category":"Valheim Plus - Server Settings", + "Description":"If you set this to enabled, all portals will be disabled.", + "Keywords":"Game,Portals,Disable", + "FieldName":"Game.disablePortals", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Game.disablePortals", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Big Portal Names", + "Category":"Valheim Plus - Server Settings", + "Description":"If you set this to enabled, portal names will be displayed in big text in center of screen.", + "Keywords":"Game,Portal,Names", + "FieldName":"Game.bigPortalNames", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Game.bigPortalNames", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Console", + "Category":"Valheim Plus - Server Settings", + "Description":"If you set this to enabled the console will be force disabled in-game.", + "Keywords":"Game,Console,Disable", + "FieldName":"Game.disableConsole", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Game.disableConsole", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Fog", + "Category":"Valheim Plus - Server Settings", + "Description":"If you set this to enabled this will remove dense fog from the game.", + "Keywords":"Game,Fog,Disable", + "FieldName":"Game.disableFog", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Game.disableFog", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Game Clock Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"GameClock,Enable", + "FieldName":"GameClock.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"GameClock.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Game Clock Format", + "Category":"Valheim Plus - Server Settings", + "Description":"Change time formatting from 24hr to AM-PM.", + "Keywords":"GameClock,Format", + "FieldName":"GameClock.useAMPM", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"GameClock.useAMPM", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Clock Font Size", + "Category":"Valheim Plus - Server Settings", + "Description":"Sets the font size of time text.", + "Keywords":"GameClock,Font,Size", + "FieldName":"GameClock.textFontSize", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"GameClock.textFontSize", + "IncludeInCommandLine":false, + "DefaultValue":"34", + "EnumValues":{}, + "Suffix": "font size" + },{ + "DisplayName":"Clock Text Red Channel", + "Category":"Valheim Plus - Server Settings", + "Description":"Sets how red the time text is (51/255).", + "Keywords":"GameClock,Font,Red", + "FieldName":"GameClock.textRedChannel", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"GameClock.textRedChannel", + "IncludeInCommandLine":false, + "DefaultValue":"248", + "EnumValues":{}, + "Suffix": "red" + },{ + "DisplayName":"Clock Text Green Channel", + "Category":"Valheim Plus - Server Settings", + "Description":"Sets how green the time text is (51/255).", + "Keywords":"GameClock,Font,Green", + "FieldName":"GameClock.textGreenChannel", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"GameClock.textGreenChannel", + "IncludeInCommandLine":false, + "DefaultValue":"105", + "EnumValues":{}, + "Suffix": "green" + },{ + "DisplayName":"Clock Text Blue Channel", + "Category":"Valheim Plus - Server Settings", + "Description":"Sets how Blue the time text is (51/255).", + "Keywords":"GameClock,Font,Blue", + "FieldName":"GameClock.textBlueChannel", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"GameClock.textBlueChannel", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "blue" + },{ + "DisplayName":"Clock Text Transparent Channel", + "Category":"Valheim Plus - Server Settings", + "Description":"Sets how Transparent the time text is (51/255).", + "Keywords":"GameClock,Font,Transparent", + "FieldName":"GameClock.textTransparencyChannel", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"GameClock.textTransparencyChannel", + "IncludeInCommandLine":false, + "DefaultValue":"255", + "EnumValues":{}, + "Suffix": "transparency" + },{ + "DisplayName":"Brightness Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Brightness,Enable", + "FieldName":"Brightness.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Brightness.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Night Brightness Multiplier", + "Category":"Valheim Plus - Server Settings", + "Description":"Changes how bright it looks at night. A value between 5 and 10 will result in nearly double in brightness at night.", + "Keywords":"GameClock,Font,Transparent", + "FieldName":"Brightness.nightBrightnessMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Brightness.nightBrightnessMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Camera Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Camera,Enable", + "FieldName":"Camera.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Camera.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Camera Max Zoom Distance", + "Category":"Valheim Plus - Server Settings", + "Description":"The maximum zoom distance to your character in-game.", + "Keywords":"Camera,Max,Zoom,Distance", + "FieldName":"Camera.cameraMaximumZoomDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Camera.cameraMaximumZoomDistance", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "EnumValues":{}, + "Suffix": "max zoom" + },{ + "DisplayName":"Camera Boat Max Zoom Distance", + "Category":"Valheim Plus - Server Settings", + "Description":"The maximum zoom distance to your character when in a boat.", + "Keywords":"Camera,Max,Zoom,Distance,Boat", + "FieldName":"Camera.cameraBoatMaximumZoomDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Camera.cameraBoatMaximumZoomDistance", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "EnumValues":{}, + "Suffix": "max zoom" + },{ + "DisplayName":"Camera FOV", + "Category":"Valheim Plus - Server Settings", + "Description":"Adjusts the camera FOV. The in-game camera FOV default is 65", + "Keywords":"Camera,FOV", + "FieldName":"Camera.cameraFOV", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Camera.cameraFOV", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "EnumValues":{}, + "Suffix": "FOV" + },{ + "DisplayName":"Chat Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Chat,Enable", + "FieldName":"Chat.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Chat.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Chat Shout Distance", + "Category":"Valheim Plus - Server Settings", + "Description":"If the player is outside of this range in meters in comparison to the creator of the shout you will not see the message on the map or in the chat. If this is set to 0, its disabled.", + "Keywords":"Chat,Shout,Distance", + "FieldName":"Chat.shoutDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Chat.shoutDistance", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Display Shout in Chat", + "Category":"Valheim Plus - Server Settings", + "Description":"With this option enabled you will see the shout message in your chat window even if you are outside of Shout Distance", + "Keywords":"Chat,Shout,Range", + "FieldName":"Chat.outOfRangeShoutsDisplayInChatWindow", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Chat.outOfRangeShoutsDisplayInChatWindow", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Ping Distance", + "Category":"Valheim Plus - Server Settings", + "Description":"If the player is outside of this range in meters in comparison to the creator of the ping on the map you will not see the ping on the map. If this is set to 0, its disabled.", + "Keywords":"Chat,Ping,Distance", + "FieldName":"Chat.pingDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Chat.pingDistance", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Disable Forced Case Conversion", + "Category":"Valheim Plus - Server Settings", + "Description":"Disable the forced upper and lower case conversions for in-game text messages of all types.", + "Keywords":"Chat,Case", + "FieldName":"Chat.forcedCase", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Chat.forcedCase", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Default Whisper Distance", + "Category":"Valheim Plus - Server Settings", + "Description":"This determines the range in meters that you can see whisper text messages by default.", + "Keywords":"Chat,Whisper,Distance", + "FieldName":"Chat.defaultWhisperDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Chat.defaultWhisperDistance", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Default Normal Chat Distance", + "Category":"Valheim Plus - Server Settings", + "Description":"This determines the range in meters that you can see normal text messages by default.", + "Keywords":"Chat,Normal,Distance", + "FieldName":"Chat.defaultNormalDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Chat.defaultNormalDistance", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Default Shout Distance", + "Category":"Valheim Plus - Server Settings", + "Description":"This determines the range in meters that you can see shout text messages by default.", + "Keywords":"Chat,Shout,Distance", + "FieldName":"Chat.defaultShoutDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Chat.defaultShoutDistance", + "IncludeInCommandLine":false, + "DefaultValue":"70", + "EnumValues":{}, + "Suffix": "meters" + },{ + "DisplayName":"Advanced Building Mode Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Advanced,Building,Mode,Enable", + "FieldName":"AdvancedBuildingMode.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedBuildingMode.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enter Advanced Building Mode Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Enter the advanced building mode with this key when building. Default F1", + "Keywords":"Advanced,Building,Mode,Hotkey", + "FieldName":"AdvancedBuildingMode.enterAdvancedBuildingMode", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedBuildingMode.enterAdvancedBuildingMode", + "IncludeInCommandLine":false, + "DefaultValue":"F1", + "EnumValues":{} + },{ + "DisplayName":"Exit Advanced Building Mode Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Exit the advanced building mode with this key when building. Default F3", + "Keywords":"Advanced,Building,Mode,Hotkey", + "FieldName":"AdvancedBuildingMode.exitAdvancedBuildingMode", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedBuildingMode.exitAdvancedBuildingMode", + "IncludeInCommandLine":false, + "DefaultValue":"F1", + "EnumValues":{} + },{ + "DisplayName":"Advanced Builiding Mode Rotation Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Copy the object rotation of the currently selected object in Advanced Building Mode. Default Keypad7", + "Keywords":"Advanced,Building,Mode,Hotkey,Rotation,Object,Copy", + "FieldName":"AdvancedBuildingMode.copyObjectRotation", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedBuildingMode.copyObjectRotation", + "IncludeInCommandLine":false, + "DefaultValue":"Keypad7", + "EnumValues":{} + },{ + "DisplayName":"Advanced Builiding Mode Paste Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Copy the object rotation of the currently selected object in Advanced Building Mode. Default Keypad8", + "Keywords":"Advanced,Building,Mode,Hotkey,Paste,Object,Rotation", + "FieldName":"AdvancedBuildingMode.pasteObjectRotation", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedBuildingMode.pasteObjectRotation", + "IncludeInCommandLine":false, + "DefaultValue":"Keypad8", + "EnumValues":{} + },{ + "DisplayName":"Increase Scroll Speed Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Increases the amount an object rotates and moves. Holding Shift will increase in increments of 10 instead of 1. Default KeypadPlus", + "Keywords":"Advanced,Building,Mode,Hotkey,Increase,Scroll,Speed", + "FieldName":"AdvancedBuildingMode.increaseScrollSpeed", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedBuildingMode.increaseScrollSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"KeypadPlus", + "EnumValues":{} + },{ + "DisplayName":"Decrease Scroll Speed Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Decrease the amount an object rotates and moves. Holding Shift will increase in increments of 10 instead of 1. Default KeypadMinus", + "Keywords":"Advanced,Building,Mode,Hotkey,Decrease,Scroll,Speed", + "FieldName":"AdvancedBuildingMode.decreaseScrollSpeed", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedBuildingMode.decreaseScrollSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"KeypadMinus", + "EnumValues":{} + },{ + "DisplayName":"Advanced Editing Mode Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Advanced,Editing,Mode,Enable", + "FieldName":"AdvancedEditingMode.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedEditingMode.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enter Advanced Editing Mode Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Enter the advanced editing mode with this key. Default Keypad0", + "Keywords":"Advanced,Editing,Mode,Hotkey", + "FieldName":"AdvancedEditingMode.enterAdvancedEditingMode", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedEditingMode.enterAdvancedEditingMode", + "IncludeInCommandLine":false, + "DefaultValue":"Keypad0", + "EnumValues":{} + },{ + "DisplayName":"Reset Advanced Editing Mode Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Reset the advanced editing mode with this key. Default F7", + "Keywords":"Advanced,Editing,Mode,Hotkey", + "FieldName":"AdvancedEditingMode.resetAdvancedEditingMode", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedEditingMode.resetAdvancedEditingMode", + "IncludeInCommandLine":false, + "DefaultValue":"F7", + "EnumValues":{} + },{ + "DisplayName":"Exit Advanced Editing Mode Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Exit the advanced editing mode with this key. Default F8", + "Keywords":"Advanced,Editing,Mode,Hotkey", + "FieldName":"AdvancedEditingMode.abortAndExitAdvancedEditingMode", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedEditingMode.abortAndExitAdvancedEditingMode", + "IncludeInCommandLine":false, + "DefaultValue":"F8", + "EnumValues":{} + },{ + "DisplayName":"Confirm Object Placement Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Confirm the placement of the object and place it. Default KeypadEnter", + "Keywords":"Advanced,Editing,Mode,Hotkey", + "FieldName":"AdvancedEditingMode.confirmPlacementOfAdvancedEditingMode", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedEditingMode.confirmPlacementOfAdvancedEditingMode", + "IncludeInCommandLine":false, + "DefaultValue":"KeypadEnter", + "EnumValues":{} + },{ + "DisplayName":"Advanced Editing Mode Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Copy the object rotation of the currently selected object in Advanced Editing Mode. Default Keypad7", + "Keywords":"Advanced,Editing,Mode,Hotkey", + "FieldName":"AdvancedEditingMode.copyObjectRotation", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedEditingMode.copyObjectRotation", + "IncludeInCommandLine":false, + "DefaultValue":"Keypad7", + "EnumValues":{} + },{ + "DisplayName":"Apply Copied Object Rotation Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Apply the copied object rotation of the currently selected object in Advanced Editing Mode. Default Keypad8", + "Keywords":"Advanced,Editing,Mode,Hotkey", + "FieldName":"AdvancedEditingMode.pasteObjectRotation", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedEditingMode.pasteObjectRotation", + "IncludeInCommandLine":false, + "DefaultValue":"Keypad8", + "EnumValues":{} + },{ + "DisplayName":"Increases Scroll Speed Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Increases the amount an object rotates and moves. Holding Shift will increase in increments of 10 instead of 1. Default KeypadPlus", + "Keywords":"Advanced,Editing,Mode,Hotkey", + "FieldName":"AdvancedEditingMode.increaseScrollSpeed", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedEditingMode.increaseScrollSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"KeypadPlus", + "EnumValues":{} + },{ + "DisplayName":"Decreases Scroll Speed Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Decreases the amount an object rotates and moves. Holding Shift will increase in increments of 10 instead of 1. Default KeypadMinus", + "Keywords":"Advanced,Editing,Mode,Hotkey", + "FieldName":"AdvancedEditingMode.DecreaseScrollSpeed", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AdvancedEditingMode.DecreaseScrollSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"KeypadMinus", + "EnumValues":{} + },{ + "DisplayName":"Grid Alignment Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Grid,Alignment,Enable", + "FieldName":"GridAlignment.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"GridAlignment.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Grid Alignment Enable Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Key to enable grid alignment. Default LeftAlt", + "Keywords":"Grid,Alignment,Mode,Hotkey", + "FieldName":"GridAlignment.align", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"GridAlignment.align", + "IncludeInCommandLine":false, + "DefaultValue":"LeftAlt", + "EnumValues":{} + },{ + "DisplayName":"Grid Alignment Toggle Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Key to toggle grid alignment. Default F7", + "Keywords":"Grid,Alignment,Mode,Hotkey", + "FieldName":"GridAlignment.alignToggle", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"GridAlignment.alignToggle", + "IncludeInCommandLine":false, + "DefaultValue":"F7", + "EnumValues":{} + },{ + "DisplayName":"Change Default Alignment Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Key to change the default alignment. Default F6", + "Keywords":"Grid,Alignment,Mode,Hotkey", + "FieldName":"GridAlignment.changeDefaultAlignment", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"GridAlignment.changeDefaultAlignment", + "IncludeInCommandLine":false, + "DefaultValue":"F6", + "EnumValues":{} + },{ + "DisplayName":"Free Placement Rotation Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Free,Placement,Rotation,Enable", + "FieldName":"FreePlacementRotation.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FreePlacementRotation.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Y Axis Rotation Placement Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Rotates placement marker by 1 degree on the Y axis, Can still attach to nearly pieces. Default LeftAlt", + "Keywords":"Free,Placement,Rotation,Hotkey", + "FieldName":"FreePlacementRotation.rotateY", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"FreePlacementRotation.rotateY", + "IncludeInCommandLine":false, + "DefaultValue":"LeftAlt", + "EnumValues":{} + },{ + "DisplayName":"X Axis Rotation Placement Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Rotates placement marker by 1 degree on the X axis, Can still attach to nearly pieces. Default C", + "Keywords":"Free,Placement,Rotation,Hotkey", + "FieldName":"FreePlacementRotation.rotateX", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"FreePlacementRotation.rotateX", + "IncludeInCommandLine":false, + "DefaultValue":"C", + "EnumValues":{} + },{ + "DisplayName":"Z Axis Rotation Placement Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Rotates placement marker by 1 degree on the Z axis, Can still attach to nearly pieces. Default V", + "Keywords":"Free,Placement,Rotation,Hotkey", + "FieldName":"FreePlacementRotation.rotateZ", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"FreePlacementRotation.rotateZ", + "IncludeInCommandLine":false, + "DefaultValue":"V", + "EnumValues":{} + },{ + "DisplayName":"Copy Placement Rotation Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Copy rotation of placement marker from target piece in front of you. Default F", + "Keywords":"Free,Placement,Rotation,Hotkey", + "FieldName":"FreePlacementRotation.copyRotationParallel", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"FreePlacementRotation.copyRotationParallel", + "IncludeInCommandLine":false, + "DefaultValue":"F", + "EnumValues":{} + },{ + "DisplayName":"Set Placement Perpendicular Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Set rotation to be perpendicular to piece in front of you. Default G", + "Keywords":"Free,Placement,Rotation,Hotkey", + "FieldName":"FreePlacementRotation.copyRotationPerpendicular", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"FreePlacementRotation.copyRotationPerpendicular", + "IncludeInCommandLine":false, + "DefaultValue":"G", + "EnumValues":{} + },{ + "DisplayName":"Hotkeys Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Hotkeys,Enable", + "FieldName":"Hotkeys.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Hotkeys.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Roll Forwards Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Roll forwards on hot key pressed. Default F9", + "Keywords":"Hotkeys,Roll,Forwards", + "FieldName":"Hotkeys.rollForwards", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Hotkeys.rollForwards", + "IncludeInCommandLine":false, + "DefaultValue":"F9", + "EnumValues":{} + },{ + "DisplayName":"Roll Backwards Hotkey", + "Category":"Valheim Plus - Server Settings", + "Description":"Roll backwards on hot key pressed. Default F10", + "Keywords":"Hotkeys,Roll,Backwards", + "FieldName":"Hotkeys.rollBackwards", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Hotkeys.rollBackwards", + "IncludeInCommandLine":false, + "DefaultValue":"F10", + "EnumValues":{} + },{ + "DisplayName":"Hud Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Hud,Enable", + "FieldName":"Hud.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Hud.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Show Required Items Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Shows the required amount of items AND the amount of items in your inventory in build mode and while crafting. This is enabled when the CraftFromChest section is enabled.", + "Keywords":"Hud,Show,Required,Items", + "FieldName":"Hud.showRequiredItems", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Hud.showRequiredItems", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Show Experience Gained Notifications", + "Category":"Valheim Plus - Server Settings", + "Description":"Shows small notifications about all skill experience gained in the top left corner.", + "Keywords":"Hud,Show,Experience,Gained,Notifications", + "FieldName":"Hud.experienceGainedNotifications", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Hud.experienceGainedNotifications", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Remove Damage Red Flash", + "Category":"Valheim Plus - Server Settings", + "Description":"Removes the red screen flash overlay when the player takes damage.", + "Keywords":"Hud,Show,Damage,Flash", + "FieldName":"Hud.removeDamageFlash", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Hud.removeDamageFlash", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Display Bow Ammo Counts", + "Category":"Valheim Plus - Server Settings", + "Description":"If bow is in hotbar, display current ammo & total ammo under hotbar icon", + "Keywords":"Hud,Show,Bow,Ammo,Counts", + "FieldName":"Hud.displayBowAmmoCounts", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Hud.displayBowAmmoCounts", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Never", + "1":"When Equipped", + "2":"Always" + } + },{ + "DisplayName":"Map Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Map,Enable", + "FieldName":"Map.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Map.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Enable Shared Map Progression", + "Category":"Valheim Plus - Server Settings", + "Description":"With this enabled you will receive the same exploration progression as other players on the server. This will also enable the option for the server to sync everyone's exploration progression on connecting to the server.", + "Keywords":"Map,Share,Progression", + "FieldName":"Map.shareMapProgression", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Map.shareMapProgression", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Map Exploration Radius", + "Category":"Valheim Plus - Server Settings", + "Description":"The radius of the map that you explore when moving.", + "Keywords":"Map,Exploration,Radius", + "FieldName":"Hotkeys.exploreRadius", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Hotkeys.exploreRadius", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "EnumValues":{} + },{ + "DisplayName":"Allow Disabling Map Sharing", + "Category":"Valheim Plus - Server Settings", + "Description":"Prevents you and other people on the server to turn off their map sharing option.", + "Keywords":"Map,Share,Progression", + "FieldName":"Map.preventPlayerFromTurningOffPublicPosition", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Map.preventPlayerFromTurningOffPublicPosition", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Auto Share Map Pins", + "Category":"Valheim Plus - Server Settings", + "Description":"This option automatically shares created pins with everyone playing on the server.", + "Keywords":"Map,Share,Pins", + "FieldName":"Map.shareAllPins", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Map.shareAllPins", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Show Carts and Boats on Map", + "Category":"Valheim Plus - Server Settings", + "Description":"Display carts and boats on the map.", + "Keywords":"Map,Show,Carts,Boats", + "FieldName":"Map.displayCartsAndBoats", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Map.displayCartsAndBoats", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Monster Projectile Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Monster,Projectile,Enable", + "FieldName":"MonsterProjectile.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"MonsterProjectile.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Monster Projectile Velocity", + "Category":"Valheim Plus - Server Settings", + "Description":"Value of 10 would increase the projectile velocity from 50 to 55.", + "Keywords":"Monster,Projectile,Velocity", + "FieldName":"MonsterProjectile.monsterMaxChargeVelocityMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MonsterProjectile.monsterMaxChargeVelocityMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Monster Projectile Accuracy", + "Category":"Valheim Plus - Server Settings", + "Description":"Value of (+)10 increase in accuracy will change the variance of projectile 1 degree to 0.9 degree at the point of projectile release.", + "Keywords":"Monster,Projectile,Accuracy", + "FieldName":"MonsterProjectile.monsterMaxChargeAccuracyMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MonsterProjectile.monsterMaxChargeAccuracyMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Player Projectile Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Player,Projectile,Enable", + "FieldName":"PlayerProjectile.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PlayerProjectile.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Player Min Projectile Velocity", + "Category":"Valheim Plus - Server Settings", + "Description":"Value of 50 would increase the minimum charge velocity from 2 to 3.", + "Keywords":"Player,Projectile,Min,Velocity", + "FieldName":"PlayerProjectile.playerMinChargeVelocityMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MonsterProjectile.playerMinChargeVelocityMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Player Max Projectile Velocity", + "Category":"Valheim Plus - Server Settings", + "Description":"Value of 50 would increase the maximum charge velocity (of Finwood bow) from 50 to 75.", + "Keywords":"Player,Projectile,Max,Velocity", + "FieldName":"PlayerProjectile.playerMaxChargeVelocityMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MonsterProjectile.playerMaxChargeVelocityMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Player Min Projectile Accuracy", + "Category":"Valheim Plus - Server Settings", + "Description":"Value of (+)50 increase in accuracy will change the variance of arrows 20 degree to 10 degree at the point of minimum charge release.", + "Keywords":"Player,Projectile,Min,Accuracy", + "FieldName":"PlayerProjectile.playerMinChargeAccuracyMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MonsterProjectile.playerMinChargeAccuracyMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Player Max Projectile Accuracy", + "Category":"Valheim Plus - Server Settings", + "Description":"Value of (+)50 increase in accuracy will change the variance of arrows 1 degree to 0.5 degree at the point of maximum charge release.", + "Keywords":"Player,Projectile,Max,Accuracy", + "FieldName":"PlayerProjectile.playerMaxChargeAccuracyMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MonsterProjectile.playerMaxChargeAccuracyMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Enable Scale With Skill Level", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this option will linearly scale by skill level from the base values of the weapon to the modified values (according to multipliers).", + "Keywords":"Player,Projectile,Scale,Skill,Level", + "FieldName":"PlayerProjectile.enableScaleWithSkillLevel", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PlayerProjectile.enableScaleWithSkillLevel", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Structural Integrity Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Structural,Integrity,Enable", + "FieldName":"StructuralIntegrity.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"StructuralIntegrity.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Structural Integrity", + "Category":"Valheim Plus - Server Settings", + "Description":"Disables the entire structural integrity system and allows for placement in free air, does not prevent building damage.", + "Keywords":"Structural,Integrity,Enable", + "FieldName":"StructuralIntegrity.disableStructuralIntegrity", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"StructuralIntegrity.disableStructuralIntegrity", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Damage to Player Structures", + "Category":"Valheim Plus - Server Settings", + "Description":"Disables any damage from anything to all player built structures. Does not prevent damage from structural integrity.", + "Keywords":"Structural,Integrity,Structure,Damage,Player", + "FieldName":"StructuralIntegrity.disableDamageToPlayerStructures", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"StructuralIntegrity.disableDamageToPlayerStructures", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Damage to Player Boats", + "Category":"Valheim Plus - Server Settings", + "Description":"Disables any damage from anything to all player built boats.", + "Keywords":"Structural,Integrity,Boat,Damage", + "FieldName":"StructuralIntegrity.disableDamageToPlayerBoats", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"StructuralIntegrity.disableDamageToPlayerBoats", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Disable Water Force Damage to Player Boats", + "Category":"Valheim Plus - Server Settings", + "Description":"Disables water force damage to all player built boats.", + "Keywords":"Structural,Integrity,Boat,Damage,Water,Force", + "FieldName":"StructuralIntegrity.disableWaterDamageToPlayerBoats", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"StructuralIntegrity.disableWaterDamageToPlayerBoats", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Structural Integrity Loss of Wood", + "Category":"Valheim Plus - Server Settings", + "Description":"Reduces the loss of structural integrity by distance in % less. The value 100 would result in disabled structural integrity over distance, does not allow for placement in free air without Disable Structural Integrity.", + "Keywords":"Structural,Integrity,Loss,Wood", + "FieldName":"StructuralIntegrity.wood", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StructuralIntegrity.wood", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Structural Integrity Loss of Stone", + "Category":"Valheim Plus - Server Settings", + "Description":"Reduces the loss of structural integrity by distance in % less. The value 100 would result in disabled structural integrity over distance, does not allow for placement in free air without Disable Structural Integrity.", + "Keywords":"Structural,Integrity,Loss,Stone", + "FieldName":"StructuralIntegrity.stone", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StructuralIntegrity.stone", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Structural Integrity Loss of Iron", + "Category":"Valheim Plus - Server Settings", + "Description":"Reduces the loss of structural integrity by distance in % less. The value 100 would result in disabled structural integrity over distance, does not allow for placement in free air without Disable Structural Integrity.", + "Keywords":"Structural,Integrity,Loss,Iron", + "FieldName":"StructuralIntegrity.iron", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StructuralIntegrity.iron", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Structural Integrity Loss of Hardwood", + "Category":"Valheim Plus - Server Settings", + "Description":"Reduces the loss of structural integrity by distance in % less. The value 100 would result in disabled structural integrity over distance, does not allow for placement in free air without Disable Structural Integrity.", + "Keywords":"Structural,Integrity,Loss,Hardwood", + "FieldName":"StructuralIntegrity.hardWood", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StructuralIntegrity.hardWood", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + },{ + "DisplayName":"Ward Settings Enable", + "Category":"Valheim Plus - Server Settings", + "Description":"Enabling this section gives you access to the settings up to the next section.", + "Keywords":"Ward,Enable", + "FieldName":"Ward.enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Ward.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + },{ + "DisplayName":"Ward Range", + "Category":"Valheim Plus - Server Settings", + "Description":"The range of wards by meters. Default value 20", + "Keywords":"Ward,Range", + "FieldName":"Ward.wardRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Ward.wardRange", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "EnumValues":{} + },{ + "DisplayName":"Ward Enemy Spawn Range", + "Category":"Valheim Plus - Server Settings", + "Description":"Set the enemy spawn radius around wards in meters. This value equals Ward Range if its set to 0.", + "Keywords":"Ward,Range,Enemy,Spawn", + "FieldName":"Ward.wardEnemySpawnRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Ward.wardEnemySpawnRange", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} } -] \ No newline at end of file +] diff --git a/valheimmetaconfig.json b/valheimmetaconfig.json new file mode 100644 index 000000000..4e7401b6c --- /dev/null +++ b/valheimmetaconfig.json @@ -0,0 +1,9 @@ +[ + { + "ConfigFile":"./BepInEx/config/valheim_plus.cfg", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormat": "{0} = {1}", + "ConfigFormatRegex":"^(?.+?) = (?.*?)$" + } +] \ No newline at end of file diff --git a/valheimplus.kvp b/valheimplus.kvp deleted file mode 100644 index 31c41005e..000000000 --- a/valheimplus.kvp +++ /dev/null @@ -1,51 +0,0 @@ -Meta.DisplayName=ValheimPlus -Meta.Description=Valheim with the 3rd party Valheim Plus mod pre-installed. -Meta.OS=Windows, Linux -Meta.Author=CubeCoders Limited -Meta.URL=https://github.com/valheimPlus/ValheimPlus -Meta.DisplayImageSource=url:https://raw.githubusercontent.com/nxPublic/ValheimPlus/master/logo.png -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} -Meta.ConfigManifest=valheimconfig.json -Meta.ConfigRoot=valheimplus.kvp -Meta.MinAMPVersion=2.2.2.0 -App.DisplayName=Valheim -App.RootDir=./Valheim/ -App.BaseDirectory=./Valheim/896660/ -App.ExecutableWin=896660\valheim_server.exe -App.ExecutableLinux=896660/valheim_server.x86_64 -App.WorkingDir=896660 -App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Data" {{crossplay}} -App.CommandLineVars={"ServerName": "My Valheim Server - Powered by AMP", "WorldName": "PoweredByAMP", "ServerPassword": "12345"} -App.EnvironmentVariables={"DOORSTOP_ENABLE": "TRUE", "DOORSTOP_INVOKE_DLL_PATH": "./BepInEx/core/BepInEx.Preloader.dll", "DOORSTOP_CORLIB_OVERRIDE_PATH": "./unstripped_corlib" , "LD_LIBRARY_PATH":"./doorstop_libs:./linux64:%LD_LIBRARY_PATH%", "LD_PRELOAD": "libdoorstop_x64.so","SteamAppId":"892970"} -App.CommandLineParameterFormat=-{0} "{1}" -App.ExitMethod=OS_CLOSE -App.HasWriteableConsole=False -App.HasReadableConsole=True -App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=2456 -App.ApplicationPort2=2457 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 -App.MaxUsers=10 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "896660", "UpdateSourceVersion": "{{Stream}}"},{"UpdateStageName": "Fetch ValheimPlus from Github","UpdateSourcePlatform": "Windows", "UpdateSource": "GithubRelease", "UpdateSourceArgs": "valheimPlus/ValheimPlus", "UpdateSourceData": "WindowsServer.zip", "UnzipUpdateSource": true, "OverwriteExistingFiles": true},{"UpdateSourcePlatform": "Linux", "UpdateSource": "GithubRelease", "UpdateSourceArgs": "valheimPlus/ValheimPlus", "UpdateSourceData": "UnixServer.zip", "UnzipUpdateSource": true, "OverwriteExistingFiles": true}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceWindowsVersion=False -App.UpdateSourceData=896660 -App.UpdateSourceArgs= -App.UpdateSourceVersion= -App.UnzipUpdateSource=False -App.OverwriteExistingFiles=False -App.ApplicationReadyMode=RegexMatch -Console.FilterMatchRegex=^\d\d\/\d\d\/\d{4} \d\d:\d\d:\d\d: -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^\(Filename: .*? Line: \d+\)$ -Console.AppReadyRegex=^Game server connected$ -Console.UserJoinRegex=^Got character ZDOID from (?.+?) : (?-?\d+):\d+$ -Console.UserLeaveRegex=^Destroying abandoned non persistent zdo -?\d+:\d+ owner (?-?\d+)$ -Console.UserChatRegex= -Console.UserActions={} diff --git a/valheimupdates.json b/valheimupdates.json new file mode 100644 index 000000000..1251443e7 --- /dev/null +++ b/valheimupdates.json @@ -0,0 +1,77 @@ +[ + { + "UpdateStageName": "SteamCMD Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "SteamCMD", + "UpdateSourceData": "896660", + "UpdateSourceVersion": "{{Stream}}" + }, + { + "UpdateStageName": "Update Saves Directory - Windows", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "Executable", + "UpdateSourceData": "cmd.exe", + "UpdateSourceArgs": "/C move {{$FullBaseDir}}\\Data {{$FullBaseDir}}\\Saves" + }, + { + "UpdateStageName": "Update Saves Directory - Linux", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"mv {{$FullBaseDir}}/Data/ {{$FullBaseDir}}/Saves/\"" + }, + { + "UpdateStageName": "Fetch BepInEx from Github - Windows", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "GithubRelease", + "UpdateSourceArgs": "BepInEx/BepInEx", + "UpdateSourceData": "BepInEx_x64_5.4.21.0.zip", + "UpdateSourceConditionSetting": "bepinex_install", + "UpdateSourceConditionValue": "true", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true + }, + { + "UpdateStageName": "Fetch BepInEx from Github - Linux", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "GithubRelease", + "UpdateSourceArgs": "BepInEx/BepInEx", + "UpdateSourceData": "BepInEx_unix_5.4.21.0.zip", + "UpdateSourceConditionSetting": "bepinex_install", + "UpdateSourceConditionValue": "true", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true + }, + { + "UpdateStageName": "Fetch ValheimPlus from Github - Windows", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "GithubRelease", + "UpdateSourceArgs": "valheimPlus/ValheimPlus", + "UpdateSourceData": "WindowsServer.zip", + "UpdateSourceConditionSetting": "valheim_plus_install", + "UpdateSourceConditionValue": "true", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true + }, + { + "UpdateStageName": "Fetch ValheimPlus from Github - Linux", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "GithubRelease", + "UpdateSourceArgs": "valheimPlus/ValheimPlus", + "UpdateSourceData": "UnixServer.zip", + "UpdateSourceConditionSetting": "valheim_plus_install", + "UpdateSourceConditionValue": "true", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true + }, + { + "UpdateStageName": "Settings File Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://raw.githubusercontent.com/valheimPlus/ValheimPlus/development/valheim_plus.cfg", + "UpdateSourceTarget": "{{$FullBaseDir}}/BepInEx/config", + "OverwriteExistingFiles": false, + "UpdateSourceConditionSetting": "valheim_plus_install", + "UpdateSourceConditionValue": "true" + } +] From 1dc856f968fe92173bc0dbfaee0576d86e7bf937 Mon Sep 17 00:00:00 2001 From: Dragoon209 Date: Fri, 23 Dec 2022 13:30:48 -0500 Subject: [PATCH 097/318] Added quotes to the host server config option as it started requiring them at some point in the past. (#260) --- jc3mpserverconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jc3mpserverconfig.json b/jc3mpserverconfig.json index 876a6d8c8..0890a742d 100644 --- a/jc3mpserverconfig.json +++ b/jc3mpserverconfig.json @@ -1,7 +1,7 @@ { "announce": {{announce}}, "description": "{{description}}", - "host": {{hostip}}, + "host": "{{hostip}}", "httpPort": {{hport}}, "logLevel": 7, "logo": "", From 4fd14ce55f1bdfed47101bb5f699512bb1675538 Mon Sep 17 00:00:00 2001 From: Sylvain CAU Date: Wed, 28 Dec 2022 11:14:31 -0700 Subject: [PATCH 098/318] [Valheim] Fix some wording and default values (#263) --- valheimconfig.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/valheimconfig.json b/valheimconfig.json index e2d090798..fe86227fe 100644 --- a/valheimconfig.json +++ b/valheimconfig.json @@ -120,7 +120,7 @@ },{ "DisplayName":"Please Read!", "Category":"Valheim Plus - Basic Settings", - "Description":"The settings on this page are spit up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", + "Description":"The settings on this page are split up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", "Keywords":"Read,Please,Info", "FieldName":"PleaseReadBasicSettings", "InputType":"hidden" @@ -209,7 +209,7 @@ "IncludeInCommandLine":false, "DefaultValue":"4", "EnumValues":{}, - "Suffix": "seconds" + "Suffix": "items" },{ "DisplayName":"Beehive Auto Deposit", "Category":"Valheim Plus - Basic Settings", @@ -2267,7 +2267,7 @@ },{ "DisplayName":"Please Read!", "Category":"Valheim Plus - Player Settings", - "Description":"The settings on this page are spit up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", + "Description":"The settings on this page are split up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", "Keywords":"Read,Please,Info", "FieldName":"PleaseReadPlayerSettings", "InputType":"hidden" @@ -3396,7 +3396,7 @@ },{ "DisplayName":"Please Read!", "Category":"Valheim Plus - Server Settings", - "Description":"The settings on this page are spit up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", + "Description":"The settings on this page are split up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", "Keywords":"Read,Please,Info", "FieldName":"PleaseReadServerSettings", "InputType":"hidden" @@ -3816,7 +3816,7 @@ "IsFlagArgument":false, "ParamFieldName":"Camera.cameraFOV", "IncludeInCommandLine":false, - "DefaultValue":"6", + "DefaultValue":"65", "EnumValues":{}, "Suffix": "FOV" },{ From 1ec3102303171e85b1d9701638946d4071296190 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 29 Dec 2022 06:09:30 -0600 Subject: [PATCH 099/318] Update GatekeeperV2 (#264) * Update GatekeeperV2 This removes the requirement to use a special Docker image since the python3 tagged ampbase image includes pip now. This also adds the additional stuff into a script that runs with the update stages instead of being handled by the before mentioned image. These are very quick installs that take only a couple of seconds. * Update gatekeeperv2.kvp Co-authored-by: Greelan <53196309+Greelan@users.noreply.github.com> --- gatekeeperv2.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gatekeeperv2.kvp b/gatekeeperv2.kvp index d3a90a751..043c247d8 100644 --- a/gatekeeperv2.kvp +++ b/gatekeeperv2.kvp @@ -10,7 +10,7 @@ Meta.ConfigManifest=gatekeeperv2config.json Meta.MetaConfigManifest=gatekeeperv2metaconfig.json Meta.ConfigRoot=gatekeeperv2.kvp Meta.MinAMPVersion= -Meta.SpecificDockerImage=cool11989/iceofwraith:gatekeeperv2 +Meta.SpecificDockerImage=cubecoders/ampbase:python3 Meta.DockerRequired=False Meta.ContainerPolicy=Recommended Meta.Prerequsites=[] @@ -54,7 +54,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"Bot Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/k8thekat/GatekeeperV2/archive/refs/heads/main.zip","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] +App.UpdateSources=[{"UpdateStageName":"Bot Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/k8thekat/GatekeeperV2/archive/refs/heads/main.zip","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Pip & Discord.py Script","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c \"pip install --upgrade pip && pip install numpy requests && git clone https://github.com/Rapptz/discord.py && cd discord.py && python3 -m pip install discord.py\""}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False From fdea980d3031cc7f1118341135556c8337768e2a Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 30 Dec 2022 07:32:59 +1100 Subject: [PATCH 100/318] Stationeers: update container policy (#265) --- stationeers.kvp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stationeers.kvp b/stationeers.kvp index 73d466f23..1f388db5b 100644 --- a/stationeers.kvp +++ b/stationeers.kvp @@ -11,7 +11,8 @@ Meta.MetaConfigManifest=stationeersmetaconfig.json Meta.ConfigRoot=stationeers.kvp Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=NotSupported +Meta.ContainerPolicyReason=The server's networking system RocketNet requires version >= 2.35 for glibc, which is not present on the Debian version used by AMP's Docker. Ideally use Ubuntu 22.04 to host the server on Linux. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Stationeers From 737e2861c4a4150cbdbf7347cb755ebc2ec1b5c9 Mon Sep 17 00:00:00 2001 From: Geramie Kuba Date: Fri, 30 Dec 2022 09:21:52 -0700 Subject: [PATCH 101/318] Valheim - Changed update soruce for BepInEx (#261) * Changed update soruce for BepInEx * Fixed Update soruce for BepInEx * Added delete after extract * fixed typo * Really fixed the windows copy this time... --- valheimupdates.json | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/valheimupdates.json b/valheimupdates.json index 1251443e7..b712161f1 100644 --- a/valheimupdates.json +++ b/valheimupdates.json @@ -21,26 +21,34 @@ "UpdateSourceArgs": "-c \"mv {{$FullBaseDir}}/Data/ {{$FullBaseDir}}/Saves/\"" }, { - "UpdateStageName": "Fetch BepInEx from Github - Windows", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "GithubRelease", - "UpdateSourceArgs": "BepInEx/BepInEx", - "UpdateSourceData": "BepInEx_x64_5.4.21.0.zip", + "UpdateStageName": "Fetch BepInEx from Thunderstore", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/5.4.1901/", + "UpdateSourceArgs": "denikson-BepInExPack_Valheim-5.4.1901.zip", "UpdateSourceConditionSetting": "bepinex_install", "UpdateSourceConditionValue": "true", "UnzipUpdateSource": true, - "OverwriteExistingFiles": true + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true }, { - "UpdateStageName": "Fetch BepInEx from Github - Linux", + "UpdateStageName": "BepInEx Copy", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "Executable", + "UpdateSourceData": "cmd.exe", + "UpdateSourceArgs": "/C xcopy /E /Y /I Valheim\\896660\\BepInExPack_Valheim\\* Valheim\\896660\\ && rmdir /Q /S Valheim\\896660\\BepInExPack_Valheim", + "UpdateSourceConditionSetting": "bepinex_install", + "UpdateSourceConditionValue": "true" + }, + { + "UpdateStageName": "BepInEx Copy", "UpdateSourcePlatform": "Linux", - "UpdateSource": "GithubRelease", - "UpdateSourceArgs": "BepInEx/BepInEx", - "UpdateSourceData": "BepInEx_unix_5.4.21.0.zip", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"cp -rf ./Valheim/896660/BepInExPack_Valheim/* ./Valheim/896660/ && rm -rf ./Valheim/896660/BepInExPack_Valheim/\"", "UpdateSourceConditionSetting": "bepinex_install", - "UpdateSourceConditionValue": "true", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true + "UpdateSourceConditionValue": "true" }, { "UpdateStageName": "Fetch ValheimPlus from Github - Windows", From 0efa1ee8be675564492e9468b79037005ae2457c Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 1 Jan 2023 10:19:10 +1100 Subject: [PATCH 102/318] Stationeers (Legacy): update app ready regex (#267) --- stationeers-legacy.kvp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stationeers-legacy.kvp b/stationeers-legacy.kvp index a5ce66c5f..9981092b9 100644 --- a/stationeers-legacy.kvp +++ b/stationeers-legacy.kvp @@ -61,10 +61,10 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^StationeerServer connected to Steam successfully<\/color><\/b>$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= +Console.AppReadyRegex=^> Ready$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.SuppressLogAtStart=False Console.ActivateLogRegex= From d421d1b8f65121b2cd984999e78bd6c4d7ce5625 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 1 Jan 2023 10:49:26 +1100 Subject: [PATCH 103/318] The Isle (EVRIMA): add new human character setting (#268) --- theisle-evrimaconfig.json | 18 +++++++++++++++++- theisle-evrimagame.ini | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/theisle-evrimaconfig.json b/theisle-evrimaconfig.json index e2d4c2950..1b348296e 100644 --- a/theisle-evrimaconfig.json +++ b/theisle-evrimaconfig.json @@ -165,5 +165,21 @@ "False":"false", "True":"true" } + }, + { + "DisplayName":"Enable Humans", + "Category":"Server Settings", + "Description":"If set, human characters will be enabled on the server", + "Keywords":"human,characters", + "FieldName":"bEnableHumans", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/TheIsle.TIGameSession.bEnableHumans", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } } -] \ No newline at end of file +] diff --git a/theisle-evrimagame.ini b/theisle-evrimagame.ini index c2c5a7c97..460f959c7 100644 --- a/theisle-evrimagame.ini +++ b/theisle-evrimagame.ini @@ -10,6 +10,7 @@ bLocalIsSpeciesOnly=true LocalChatRange=20000.f bQueueEnabled=true QueuePort=10000 +bEnableHumans=false [/Script/Engine.GameSession] MaxPlayers=50 From f3d6d584b4c3dac9ab9940ad83fdc700e782cc45 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 2 Jan 2023 13:49:55 -0600 Subject: [PATCH 104/318] Update MinValue for all player counts (#269) This is to address https://github.com/CubeCoders/AMP/issues/803 --- assetto-corsa-compconfig.json | 3 ++- assetto-corsaconfig.json | 3 ++- astroneerconfig.json | 3 ++- avorionconfig.json | 3 ++- broke-protocolconfig.json | 3 ++- carrier-command2config.json | 3 ++- conan-exilesconfig.json | 3 ++- core-keeperconfig.json | 3 ++- craftopiaconfig.json | 6 ++++-- dont-starve-togetherconfig.json | 3 ++- ecoconfig.json | 3 ++- empyrion-galactic-survivalconfig.json | 3 ++- frozen-flameconfig.json | 3 ++- hurtworldconfig.json | 3 ++- insurgencysandstormconfig.json | 3 ++- jc3mpconfig.json | 3 ++- kaboomconfig.json | 3 ++- killing-floor-2config.json | 3 ++- last-oasisconfig.json | 3 ++- longvinterconfig.json | 3 ++- mordhau-config.json | 3 ++- necesseconfig.json | 4 +++- night-of-the-deadconfig.json | 3 ++- pavlov-vrconfig.json | 3 ++- project-zomboidconfig.json | 3 ++- risk-of-rain-2config.json | 3 ++- squad-dedicated-serverconfig.json | 3 ++- starboundconfig.json | 5 +++-- stationeers-legacyconfig.json | 3 ++- stationeersconfig.json | 3 ++- terrariaconfig.json | 3 ++- the-forestconfig.json | 3 ++- theisle-evrimaconfig.json | 3 ++- theisle-legacyconfig.json | 3 ++- tmodloader14config.json | 3 ++- tmodloaderconfig.json | 3 ++- unturnedconfig.json | 3 ++- ut2004config.json | 3 ++- ut99config.json | 3 ++- v-risingconfig.json | 3 ++- velorenconfig.json | 3 ++- vintage-storyconfig.json | 3 ++- wreckfestconfig.json | 3 ++- wurm-unlimitedconfig.json | 3 ++- xonoticconfig.json | 3 ++- 45 files changed, 94 insertions(+), 47 deletions(-) diff --git a/assetto-corsa-compconfig.json b/assetto-corsa-compconfig.json index a604696f2..f9c6b683b 100644 --- a/assetto-corsa-compconfig.json +++ b/assetto-corsa-compconfig.json @@ -89,7 +89,8 @@ "IncludeInCommandLine":false, "DefaultValue":"85", "Suffix":"connections", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Player Limit", diff --git a/assetto-corsaconfig.json b/assetto-corsaconfig.json index 0666ee26d..439d70e0b 100644 --- a/assetto-corsaconfig.json +++ b/assetto-corsaconfig.json @@ -105,7 +105,8 @@ "IncludeInCommandLine":false, "DefaultValue":"18", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Blacklist Mode", diff --git a/astroneerconfig.json b/astroneerconfig.json index bc0e57e7a..ed9f32a0e 100644 --- a/astroneerconfig.json +++ b/astroneerconfig.json @@ -102,7 +102,8 @@ "IncludeInCommandLine":false, "DefaultValue":"8", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Game Save Interval", diff --git a/avorionconfig.json b/avorionconfig.json index 5da25d110..3482878a4 100644 --- a/avorionconfig.json +++ b/avorionconfig.json @@ -165,7 +165,8 @@ "IncludeInCommandLine":true, "DefaultValue":"10", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Save Interval", diff --git a/broke-protocolconfig.json b/broke-protocolconfig.json index 61a74da81..46bbc938f 100644 --- a/broke-protocolconfig.json +++ b/broke-protocolconfig.json @@ -62,7 +62,8 @@ "ParamFieldName":"$.players", "IncludeInCommandLine":false, "DefaultValue":"32", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Enable Whitelist", diff --git a/carrier-command2config.json b/carrier-command2config.json index 1b889a648..09b5bc474 100644 --- a/carrier-command2config.json +++ b/carrier-command2config.json @@ -65,7 +65,8 @@ "DefaultValue":"4", "Suffix":"players", "Placeholder":"4", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Island Count", diff --git a/conan-exilesconfig.json b/conan-exilesconfig.json index f0fbf69cd..8ed10ba8a 100644 --- a/conan-exilesconfig.json +++ b/conan-exilesconfig.json @@ -106,7 +106,8 @@ "IncludeInCommandLine":false, "DefaultValue":"40", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Server Password", diff --git a/core-keeperconfig.json b/core-keeperconfig.json index 113904501..e07f4f0fc 100644 --- a/core-keeperconfig.json +++ b/core-keeperconfig.json @@ -81,7 +81,8 @@ "IncludeInCommandLine":true, "DefaultValue":"100", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Connection Mode", diff --git a/craftopiaconfig.json b/craftopiaconfig.json index b4c6351ed..9308274ab 100644 --- a/craftopiaconfig.json +++ b/craftopiaconfig.json @@ -63,7 +63,7 @@ }, { "DisplayName": "Max Players", - "Description": "Maximum number of player can join into the server.", + "Description": "Maximum number of player can join into the server. (1-127)", "Category": "Server Settings", "Keywords": "max players", "FieldName": "$MaxUsers", @@ -73,7 +73,9 @@ "IncludeInCommandLine": true, "DefaultValue": "7", "EnumValues": {}, - "suffix": "1-127" + "suffix": "players", + "MinValue":"1", + "MaxValue":"127" }, { "DisplayName": "Enable Password", diff --git a/dont-starve-togetherconfig.json b/dont-starve-togetherconfig.json index 50d01b01e..e7a23e169 100644 --- a/dont-starve-togetherconfig.json +++ b/dont-starve-togetherconfig.json @@ -10,7 +10,8 @@ "ParamFieldName": "max_players", "IncludeInCommandLine": false, "DefaultValue": "64", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Tick Rate", diff --git a/ecoconfig.json b/ecoconfig.json index 354a19255..50f3fa629 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -137,7 +137,8 @@ "IncludeInCommandLine":false, "DefaultValue":"-1", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"-1" }, { "DisplayName":"Server IP Binding", diff --git a/empyrion-galactic-survivalconfig.json b/empyrion-galactic-survivalconfig.json index b6dceafbd..07608f52e 100644 --- a/empyrion-galactic-survivalconfig.json +++ b/empyrion-galactic-survivalconfig.json @@ -78,7 +78,8 @@ "ParamFieldName": "ServerConfig.Srv_MaxPlayers", "IncludeInCommandLine": false, "DefaultValue": "8", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Server Description", diff --git a/frozen-flameconfig.json b/frozen-flameconfig.json index 7bd804709..c93ca305c 100644 --- a/frozen-flameconfig.json +++ b/frozen-flameconfig.json @@ -37,7 +37,8 @@ "IncludeInCommandLine":false, "DefaultValue":"10", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Disable EasyAntiCheat", diff --git a/hurtworldconfig.json b/hurtworldconfig.json index 664e3f6a1..8d61d15a5 100755 --- a/hurtworldconfig.json +++ b/hurtworldconfig.json @@ -51,7 +51,8 @@ "SkipIfEmpty":true, "DefaultValue":"20", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" },{ "DisplayName":"Map", "Category":"Server Settings", diff --git a/insurgencysandstormconfig.json b/insurgencysandstormconfig.json index 713694fd7..c5c91c931 100644 --- a/insurgencysandstormconfig.json +++ b/insurgencysandstormconfig.json @@ -263,7 +263,8 @@ "ParamFieldName": "MaxPlayers", "IncludeInCommandLine": false, "DefaultValue": "32", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Token", diff --git a/jc3mpconfig.json b/jc3mpconfig.json index 4fdda3ec1..ede1133cb 100644 --- a/jc3mpconfig.json +++ b/jc3mpconfig.json @@ -77,7 +77,8 @@ "IncludeInCommandLine": false, "DefaultValue": "20", "EnumValues": {}, - "Suffix":"players" + "Suffix":"players", + "MinValue":"1" }, { "DisplayName": "Password", diff --git a/kaboomconfig.json b/kaboomconfig.json index ee2913ce1..5f1caeeb6 100644 --- a/kaboomconfig.json +++ b/kaboomconfig.json @@ -120,7 +120,8 @@ "ParamFieldName": "lobbyminplayers", "IncludeInCommandLine": true, "InputType": "number", - "DefaultValue": "4" + "DefaultValue": "4", + "MinValue":"2" }, { "DisplayName": "Lobby hold time", diff --git a/killing-floor-2config.json b/killing-floor-2config.json index 095745005..14479001a 100644 --- a/killing-floor-2config.json +++ b/killing-floor-2config.json @@ -135,7 +135,8 @@ "ParamFieldName": "maxplayers", "IncludeInCommandLine": false, "DefaultValue": "6", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Max Spectators", diff --git a/last-oasisconfig.json b/last-oasisconfig.json index 03cce4eb5..2b32cd445 100644 --- a/last-oasisconfig.json +++ b/last-oasisconfig.json @@ -49,6 +49,7 @@ "ParamFieldName": "slots", "IncludeInCommandLine": false, "DefaultValue": "8", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" } ] diff --git a/longvinterconfig.json b/longvinterconfig.json index de87f7e3f..ed8410fac 100644 --- a/longvinterconfig.json +++ b/longvinterconfig.json @@ -62,7 +62,8 @@ "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.MaxPlayers", "IncludeInCommandLine":false, "DefaultValue":"32", - "Suffix":"players" + "Suffix":"players", + "MinValue":"1" }, { "DisplayName":"MOTD", diff --git a/mordhau-config.json b/mordhau-config.json index 394a1ca03..705c2edcb 100644 --- a/mordhau-config.json +++ b/mordhau-config.json @@ -62,7 +62,8 @@ "ParamFieldName": "/Script/Mordhau.MordhauGameSession.MaxSlots", "IncludeInCommandLine": false, "DefaultValue": "16", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Advertise on Steam", diff --git a/necesseconfig.json b/necesseconfig.json index 74bbe672c..b54b36c58 100644 --- a/necesseconfig.json +++ b/necesseconfig.json @@ -25,7 +25,9 @@ "IncludeInCommandLine": false, "DefaultValue": "20", "EnumValues": {}, - "Suffix":"players" + "Suffix":"players", + "MinValue":"1", + "MaxValue":"250" }, { "DisplayName": "Password", diff --git a/night-of-the-deadconfig.json b/night-of-the-deadconfig.json index 44e9a0bb6..1625fe9fa 100644 --- a/night-of-the-deadconfig.json +++ b/night-of-the-deadconfig.json @@ -63,7 +63,8 @@ "IncludeInCommandLine":false, "DefaultValue":"16", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Save Name", diff --git a/pavlov-vrconfig.json b/pavlov-vrconfig.json index f8a4c083a..23aefba6a 100755 --- a/pavlov-vrconfig.json +++ b/pavlov-vrconfig.json @@ -130,7 +130,8 @@ "IncludeInCommandLine": false, "DefaultValue": "10", "Suffix": "players", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Enable Whitelist", diff --git a/project-zomboidconfig.json b/project-zomboidconfig.json index dbf9f93b1..7f8510a60 100755 --- a/project-zomboidconfig.json +++ b/project-zomboidconfig.json @@ -148,7 +148,8 @@ "IncludeInCommandLine":false, "DefaultValue":"32", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Enable Open Server", diff --git a/risk-of-rain-2config.json b/risk-of-rain-2config.json index 0c29ff6bd..e430c9eea 100644 --- a/risk-of-rain-2config.json +++ b/risk-of-rain-2config.json @@ -36,7 +36,8 @@ "ParamFieldName": "sv_maxplayers", "IncludeInCommandLine": false, "DefaultValue": "4", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Steam Heartbeat", diff --git a/squad-dedicated-serverconfig.json b/squad-dedicated-serverconfig.json index b862dedba..b881b4e3c 100644 --- a/squad-dedicated-serverconfig.json +++ b/squad-dedicated-serverconfig.json @@ -34,7 +34,8 @@ "ParamFieldName": "MaxPlayers", "IncludeInCommandLine": false, "DefaultValue": "100", - "Suffix":"players" + "Suffix":"players", + "MinValue":"1" }, { "DisplayName": "LAN Mode", diff --git a/starboundconfig.json b/starboundconfig.json index 38cea7fca..48b2d358f 100644 --- a/starboundconfig.json +++ b/starboundconfig.json @@ -22,8 +22,9 @@ "IsFlagArgument": false, "ParamFieldName": "maxPlayers", "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "8" + "DefaultValue": "8", + "Placeholder": "8", + "MinValue":"1" }, { "DisplayName": "Server Port", diff --git a/stationeers-legacyconfig.json b/stationeers-legacyconfig.json index 512072f92..bcef3fb45 100644 --- a/stationeers-legacyconfig.json +++ b/stationeers-legacyconfig.json @@ -62,7 +62,8 @@ "ParamFieldName": "SERVER.MAXPLAYER", "IncludeInCommandLine": false, "DefaultValue": "20", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Creator", diff --git a/stationeersconfig.json b/stationeersconfig.json index 1e3495926..9f61c2c7c 100644 --- a/stationeersconfig.json +++ b/stationeersconfig.json @@ -92,7 +92,8 @@ "IncludeInCommandLine":true, "SkipIfEmpty":true, "DefaultValue":"10", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Load Mode", diff --git a/terrariaconfig.json b/terrariaconfig.json index ad69d7f22..8b8caff1f 100644 --- a/terrariaconfig.json +++ b/terrariaconfig.json @@ -108,7 +108,8 @@ "suffix": "Users", "InputType": "number", "IncludeInCommandLine": false, - "DefaultValue": 8 + "DefaultValue": "8", + "MinValue":"1" }, { "DisplayName": "Password", diff --git a/the-forestconfig.json b/the-forestconfig.json index 24507e64d..36fa9169f 100644 --- a/the-forestconfig.json +++ b/the-forestconfig.json @@ -82,7 +82,8 @@ "DefaultValue": "4", "Placeholder": "4", "Suffix": "Players", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Server Password", diff --git a/theisle-evrimaconfig.json b/theisle-evrimaconfig.json index 1b348296e..80a9a6211 100644 --- a/theisle-evrimaconfig.json +++ b/theisle-evrimaconfig.json @@ -90,7 +90,8 @@ "IncludeInCommandLine":false, "DefaultValue":"50", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Player Limit", diff --git a/theisle-legacyconfig.json b/theisle-legacyconfig.json index 916ef22c4..5ac4e0eae 100644 --- a/theisle-legacyconfig.json +++ b/theisle-legacyconfig.json @@ -170,7 +170,8 @@ "IncludeInCommandLine":false, "DefaultValue":"50", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Enable Player Name Tags", diff --git a/tmodloader14config.json b/tmodloader14config.json index fa17d9223..ccf836351 100644 --- a/tmodloader14config.json +++ b/tmodloader14config.json @@ -145,7 +145,8 @@ "suffix": "Users", "InputType": "number", "IncludeInCommandLine": false, - "DefaultValue": 8 + "DefaultValue": "8", + "MinValue":"1" }, { "DisplayName": "Password", diff --git a/tmodloaderconfig.json b/tmodloaderconfig.json index f2a0e9d5e..f90408706 100644 --- a/tmodloaderconfig.json +++ b/tmodloaderconfig.json @@ -143,7 +143,8 @@ "suffix": "Users", "InputType": "number", "IncludeInCommandLine": false, - "DefaultValue": 8 + "DefaultValue": "8", + "MinValue":"1" }, { "DisplayName": "Password", diff --git a/unturnedconfig.json b/unturnedconfig.json index 567bdb999..cd2dd5328 100644 --- a/unturnedconfig.json +++ b/unturnedconfig.json @@ -147,7 +147,8 @@ "IncludeInCommandLine": false, "DefaultValue": "10", "Suffix": "players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName": "Map", diff --git a/ut2004config.json b/ut2004config.json index 9848ecf28..bf68a1c94 100644 --- a/ut2004config.json +++ b/ut2004config.json @@ -164,7 +164,8 @@ "IncludeInCommandLine":false, "DefaultValue":"16", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Spectator Limit", diff --git a/ut99config.json b/ut99config.json index 8ba38bd40..167ba018b 100644 --- a/ut99config.json +++ b/ut99config.json @@ -134,7 +134,8 @@ "IncludeInCommandLine":false, "DefaultValue":"10", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Spectator Limit", diff --git a/v-risingconfig.json b/v-risingconfig.json index 5fa8a479d..51f71c1e5 100644 --- a/v-risingconfig.json +++ b/v-risingconfig.json @@ -123,7 +123,8 @@ "IsFlagArgument": false, "ParamFieldName": "MaxConnectedUsers", "IncludeInCommandLine": false, - "Suffix": "players" + "Suffix": "players", + "MinValue":"1" }, { "DisplayName": "Max Connected Admins", diff --git a/velorenconfig.json b/velorenconfig.json index d86bc9de8..2876355f0 100644 --- a/velorenconfig.json +++ b/velorenconfig.json @@ -50,6 +50,7 @@ "IncludeInCommandLine":false, "DefaultValue":"100", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" } ] diff --git a/vintage-storyconfig.json b/vintage-storyconfig.json index 6088f6437..ffa7313cc 100644 --- a/vintage-storyconfig.json +++ b/vintage-storyconfig.json @@ -80,7 +80,8 @@ "IncludeInCommandLine":false, "DefaultValue":"16", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Enable Whitelist", diff --git a/wreckfestconfig.json b/wreckfestconfig.json index 79469d110..7b5aef200 100644 --- a/wreckfestconfig.json +++ b/wreckfestconfig.json @@ -89,7 +89,8 @@ "IncludeInCommandLine":false, "DefaultValue":"24", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Exclude Quick Match Users", diff --git a/wurm-unlimitedconfig.json b/wurm-unlimitedconfig.json index 251f85897..60787566b 100644 --- a/wurm-unlimitedconfig.json +++ b/wurm-unlimitedconfig.json @@ -48,7 +48,8 @@ "ParamFieldName": "maxplayers", "IncludeInCommandLine": true, "DefaultValue": "100", - "EnumValues": {} + "EnumValues": {}, + "MinValue":"1" }, { "DisplayName": "Game Mode", diff --git a/xonoticconfig.json b/xonoticconfig.json index 4fd522062..584b28b12 100755 --- a/xonoticconfig.json +++ b/xonoticconfig.json @@ -137,7 +137,8 @@ "IncludeInCommandLine":false, "DefaultValue":"8", "Suffix":"players", - "EnumValues":{} + "EnumValues":{}, + "MinValue":"1" }, { "DisplayName":"Game Start Delay", From ddea417be15bf0f7261bf063d38ad4f6a5733e66 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 4 Jan 2023 13:10:56 -0600 Subject: [PATCH 105/318] Update 7D2D Player Count (#259) * Update 7D2D Player Count The Player Count was not linked to the $MaxUsers variable. * Update seven-days-to-dieconfig.json --- seven-days-to-dieconfig.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index 07260ab47..165104e67 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -158,14 +158,15 @@ "Category":"7d2d - Server Settings", "Description":"Maximum Concurrent Players.", "Keywords":"Server,Max,Player,Count", - "FieldName":"ServerMaxPlayerCount", + "FieldName":"$MaxUsers", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/ServerSettings/property[@name='ServerMaxPlayerCount']/@value", "IncludeInCommandLine":false, "DefaultValue":"8", "EnumValues":{}, - "Suffix": "players" + "Suffix":"players", + "MinValue":"1" },{ "DisplayName":"Server Reserved Slots", "Category":"7d2d - Server Settings", From 70c93e9a072030eca5059e2a0454b244918956d5 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 8 Jan 2023 07:57:45 +1100 Subject: [PATCH 106/318] SteamCMD client app ID updates (#272) --- assetto-corsa-comp.kvp | 2 +- assetto-corsa.kvp | 2 +- astroneer.kvp | 8 ++++---- avorion.kvp | 4 ++-- blackwake.kvp | 2 +- broke-protocol.kvp | 2 +- call-of-duty4mw.kvp | 2 +- call-of-dutymw3.kvp | 2 +- carrier-command2.kvp | 2 +- conan-exiles.kvp | 2 +- core-keeper.kvp | 6 +++--- craftopia.kvp | 2 +- day-of-dragons.kvp | 2 +- eco.kvp | 2 +- empyrion-galactic-survivalupdates.json | 1 + frozen-flameupdates.json | 3 ++- hurtworld.kvp | 2 +- icarus.kvp | 2 +- insurgencysandstorm.kvp | 4 ++-- jc3mp.kvp | 4 ++-- kaboom.kvp | 4 ++-- killing-floor-2.kvp | 2 +- last-oasis.kvp | 4 ++-- longvinter.kvp | 2 +- mordhau.kvp | 4 ++-- necesse.kvp | 2 +- night-of-the-dead.kvp | 2 +- pavlov-vr.kvp | 2 +- portal-knights.kvp | 4 ++-- project-zomboid.kvp | 2 +- risk-of-rain-2.kvp | 2 +- satisfactory.kvp | 2 +- seven-days-to-dieupdates.json | 3 ++- space-engineers-genericupdates.json | 3 ++- squad-dedicated-server.kvp | 4 ++-- starbound.kvp | 2 +- starmade.kvp | 4 ++-- stationeers-legacy.kvp | 2 +- stationeers.kvp | 2 +- sven-co-op.kvp | 4 ++-- the-forest.kvp | 4 ++-- theisle-evrima.kvp | 2 +- theisle-legacy.kvp | 2 +- tmodloader.kvp | 4 ++-- tmodloader14.kvp | 4 ++-- unturnedupdates.json | 5 +++-- v-risingupdates.json | 4 ++-- valheimupdates.json | 3 ++- wreckfest.kvp | 4 ++-- wurm-unlimited.kvp | 2 +- 50 files changed, 76 insertions(+), 70 deletions(-) diff --git a/assetto-corsa-comp.kvp b/assetto-corsa-comp.kvp index 0c9d1a512..82e4ac572 100644 --- a/assetto-corsa-comp.kvp +++ b/assetto-corsa-comp.kvp @@ -49,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","UpdateSourceArgs":"805550","ForceDownloadPlatform":"Windows"}] App.Compatibility=LinuxBufferedConsole, WindowsBufferedConsole App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/assetto-corsa.kvp b/assetto-corsa.kvp index 310af9a82..2f9fb9a2b 100644 --- a/assetto-corsa.kvp +++ b/assetto-corsa.kvp @@ -49,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"302550","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"302550","UpdateSourceArgs":"244210","ForceDownloadPlatform":"Windows"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/astroneer.kvp b/astroneer.kvp index 2ee7c4175..511bcf57e 100644 --- a/astroneer.kvp +++ b/astroneer.kvp @@ -19,13 +19,13 @@ App.DisplayName=Astroneer App.RootDir=./astroneer/ App.BaseDirectory=./astroneer/728470/ App.ExecutableWin=728470/Astro/Binaries/Win64/AstroServer-Win64-Shipping.exe -App.ExecutableLinux=1580130/proton +App.ExecutableLinux= App.WorkingDir=728470/Astro/Binaries/Win64 -App.LinuxCommandLineArgs=run ./Astro/Binaries/Win64/AstroServer-Win64-Shipping.exe +App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -Port={{$ApplicationPort1}} -ConsolePort={{$RemoteAdminPort}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"361420","STEAM_COMPAT_DATA_PATH":"{{$FullRootDir}}1580130","STEAM_COMPAT_CLIENT_INSTALL_PATH":"{{$FullRootDir}}1580130"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"361420"} App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"728470","ForceDownloadPlatform":"Windows"},{"UpdateStageName": "Proton Compatibility Layer","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1580130"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"728470","UpdateSourceArgs:"361420","ForceDownloadPlatform":"Windows"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/avorion.kvp b/avorion.kvp index 5e32c7a41..52429f6a4 100644 --- a/avorion.kvp +++ b/avorion.kvp @@ -54,7 +54,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand= App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource": "SteamCMD","UpdateSourceData":"565060"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource": "SteamCMD","UpdateSourceData":"565060","UpdateSourceArgs":"445220"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -83,4 +83,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 \ No newline at end of file +Limits.SleepStartThresholdSeconds=25 diff --git a/blackwake.kvp b/blackwake.kvp index 82deb5229..05209cb8a 100644 --- a/blackwake.kvp +++ b/blackwake.kvp @@ -56,7 +56,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"423410","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"423410","UpdateSourceArgs":"420290","ForceDownloadPlatform":"Windows"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/broke-protocol.kvp b/broke-protocol.kvp index 7ad6a349b..18f113991 100644 --- a/broke-protocol.kvp +++ b/broke-protocol.kvp @@ -53,7 +53,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"Windows","UpdateSource": "SteamCMD","UpdateSourceData":"696370","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource": "SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://brokeprotocol.com/wp-content/uploads/game.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"Windows","UpdateSource": "SteamCMD","UpdateSourceData":"696370","UpdateSourceArgs":"696370","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource": "SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://brokeprotocol.com/wp-content/uploads/game.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/call-of-duty4mw.kvp b/call-of-duty4mw.kvp index 8f9de05fc..abbab6a8b 100644 --- a/call-of-duty4mw.kvp +++ b/call-of-duty4mw.kvp @@ -55,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"7940","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/call-of-duty4mwserver.cfg","UpdateSourceArgs":"main/server.cfg","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false},{"UpdateStageName":"Create Custom Maps Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}usermaps","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"7940","UpdateSourceArgs":"7940","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/call-of-duty4mwserver.cfg","UpdateSourceArgs":"main/server.cfg","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false},{"UpdateStageName":"Create Custom Maps Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}usermaps","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/call-of-dutymw3.kvp b/call-of-dutymw3.kvp index 5f42bb3d3..c47fcb0d8 100644 --- a/call-of-dutymw3.kvp +++ b/call-of-dutymw3.kvp @@ -55,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"42750","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"42750","UpdateSourceArgs":"42690","ForceDownloadPlatform":"Windows"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/carrier-command2.kvp b/carrier-command2.kvp index 5279c7f63..0ecfae0f3 100644 --- a/carrier-command2.kvp +++ b/carrier-command2.kvp @@ -49,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/carrier-command2server_config.xml","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}server_config.xml","UpdateSourceArgs":"{{$FullInstanceDir}}carrier-command2server_config.xml","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1489630","UpdateSourceArgs":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/carrier-command2server_config.xml","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}server_config.xml","UpdateSourceArgs":"{{$FullInstanceDir}}carrier-command2server_config.xml","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/conan-exiles.kvp b/conan-exiles.kvp index cbfe9a905..4c63d1547 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -49,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/core-keeper.kvp b/core-keeper.kvp index f97217ef0..00ff33720 100644 --- a/core-keeper.kvp +++ b/core-keeper.kvp @@ -25,7 +25,7 @@ App.LinuxCommandLineArgs=-a ./CoreKeeperServer App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -port {{ConnectMode}} -datapath "{{$FullBaseDir}}DedicatedServer" {{$FormattedArgs}} -batchmode -logfile - App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1963720"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1621690"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -49,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1963720"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1963720","UpdateSourceArgs":"1621690"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -78,4 +78,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 \ No newline at end of file +Limits.SleepStartThresholdSeconds=25 diff --git a/craftopia.kvp b/craftopia.kvp index d3ed02f67..5491dd36d 100644 --- a/craftopia.kvp +++ b/craftopia.kvp @@ -45,7 +45,7 @@ App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1670340"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/craftopia/craftopiaserversetting.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./craftopia/1670340/ServerSetting.ini","UpdateSourceArgs":"./craftopiaserversetting.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1670340","UpdateSourceArgs":"1307550"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/craftopia/craftopiaserversetting.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./craftopia/1670340/ServerSetting.ini","UpdateSourceArgs":"./craftopiaserversetting.ini","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/day-of-dragons.kvp b/day-of-dragons.kvp index 32a3a6efc..a62daabe8 100644 --- a/day-of-dragons.kvp +++ b/day-of-dragons.kvp @@ -56,7 +56,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1088320"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Binaries/Win64/"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1088320","UpdateSourceArgs":"1088090"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Binaries/Win64/"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/eco.kvp b/eco.kvp index 0b368376f..cb357828f 100644 --- a/eco.kvp +++ b/eco.kvp @@ -47,7 +47,7 @@ App.AdminMethod=SourceRCON App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Network Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Network.eco","UpdateSourceArgs":"./eco/739590/Configs/Network.eco.template","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceArgs":"382310","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceArgs":"382310","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Network Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Network.eco","UpdateSourceArgs":"./eco/739590/Configs/Network.eco.template","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/empyrion-galactic-survivalupdates.json b/empyrion-galactic-survivalupdates.json index 2225900c1..dbcec1cec 100644 --- a/empyrion-galactic-survivalupdates.json +++ b/empyrion-galactic-survivalupdates.json @@ -4,6 +4,7 @@ "UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "530870", + "UpdateSourceArgs":"383120", "ForceDownloadPlatform": "Windows", "UpdateSourceVersion": "{{Stream}}" }, diff --git a/frozen-flameupdates.json b/frozen-flameupdates.json index f8fbc775f..b3ae36afc 100644 --- a/frozen-flameupdates.json +++ b/frozen-flameupdates.json @@ -3,7 +3,8 @@ "UpdateStageName":"SteamCMD Download", "UpdateSourcePlatform":"All", "UpdateSource":"SteamCMD", - "UpdateSourceData":"1348640" + "UpdateSourceData":"1348640", + "UpdateSourceArgs":"715400" }, { "UpdateStageName":"SteamCMD Component Download", diff --git a/hurtworld.kvp b/hurtworld.kvp index 2cce111e1..02a8eb5fa 100644 --- a/hurtworld.kvp +++ b/hurtworld.kvp @@ -39,7 +39,7 @@ App.MaxUsers=20 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"405100"},{"UpdateStageName":"uMod Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest","UpdateSourceArgs":"$.assets[1].browser_download_url","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"uMod","UpdateSourceConditionValue":"true","DeleteAfterExtract":true},{"UpdateStageName":"uMod Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest","UpdateSourceArgs":"$.assets[0].browser_download_url","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"uMod","UpdateSourceConditionValue":"true","DeleteAfterExtract":true}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"405100","UpdateSourceArgs":"393420"},{"UpdateStageName":"uMod Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest","UpdateSourceArgs":"$.assets[1].browser_download_url","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"uMod","UpdateSourceConditionValue":"true","DeleteAfterExtract":true},{"UpdateStageName":"uMod Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest","UpdateSourceArgs":"$.assets[0].browser_download_url","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"uMod","UpdateSourceConditionValue":"true","DeleteAfterExtract":true}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/icarus.kvp b/icarus.kvp index 4ed6922b0..0f61401e5 100644 --- a/icarus.kvp +++ b/icarus.kvp @@ -49,7 +49,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2089300","UpdateSourceVersion":"{{ServerBranch}}","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2089300","UpdateSourceArgs":"1149460","UpdateSourceVersion":"{{ServerBranch}}","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/insurgencysandstorm.kvp b/insurgencysandstorm.kvp index 3ca56719d..4f8bda918 100644 --- a/insurgencysandstorm.kvp +++ b/insurgencysandstorm.kvp @@ -20,7 +20,7 @@ App.RapidStartup=false App.RemoteAdminPort=27015 App.RootDir=./insurgencysandstorm/ App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":31,"UpdateSource":4,"UpdateSourceData":"581330","UpdateSourceArgs":null,"UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./insurgencysandstorm/581330/Insurgency/Saved/Config/WindowsServer"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./insurgencysandstorm/581330/Insurgency/Saved/Config/LinuxServer"},{"UpdateStageName":"Base Config Download","UpdateSourcePlatform":31,"UpdateSource":1,"UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/InsurgencySS_Game.ini","UpdateSourceArgs":null,"UpdateSourceVersion":null,"UpdateSourceTarget":"./","UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":31,"UpdateSource":2,"UpdateSourceData":"./insurgencysandstorm/581330/Insurgency/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"./insurgencysandstorm/InsurgencySS_Game.ini","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":31,"UpdateSource":2,"UpdateSourceData":"./insurgencysandstorm/581330/Insurgency/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"./insurgencysandstorm/InsurgencySS_Game.ini","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":31,"UpdateSource":4,"UpdateSourceData":"581330","UpdateSourceArgs":"581320","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./insurgencysandstorm/581330/Insurgency/Saved/Config/WindowsServer"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./insurgencysandstorm/581330/Insurgency/Saved/Config/LinuxServer"},{"UpdateStageName":"Base Config Download","UpdateSourcePlatform":31,"UpdateSource":1,"UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/InsurgencySS_Game.ini","UpdateSourceArgs":null,"UpdateSourceVersion":null,"UpdateSourceTarget":"./","UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":31,"UpdateSource":2,"UpdateSourceData":"./insurgencysandstorm/581330/Insurgency/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"./insurgencysandstorm/InsurgencySS_Game.ini","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":31,"UpdateSource":2,"UpdateSourceData":"./insurgencysandstorm/581330/Insurgency/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"./insurgencysandstorm/InsurgencySS_Game.ini","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null}] App.WorkingDir=581330 App.UseRandomAdminPassword=True App.MaxUsers=32 @@ -38,4 +38,4 @@ Meta.DisplayImageSource=steam:581320 Meta.DisplayName=Insurgency Sandstorm Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} Meta.OS=3 -Meta.URL=https://steamdb.info/app/581330/ \ No newline at end of file +Meta.URL=https://steamdb.info/app/581330/ diff --git a/jc3mp.kvp b/jc3mp.kvp index 23d43d8a0..e72af91d3 100644 --- a/jc3mp.kvp +++ b/jc3mp.kvp @@ -28,7 +28,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs= App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"619960"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"619910"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=String @@ -55,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"619960"},{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/jc3mpserverconfig.json","UpdateSourceTarget":"../","OverwriteExistingFiles":"true"},{"UpdateStageName":"Packages Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}packages"},{"UpdateStageName":"Download Default Packages","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://unlimitedjc.files.wordpress.com/2022/09/jc3mp-default-packages.zip","UpdateSourceArgs":"jc3mpdefaultpackages.zip","UpdateSourceTarget":"{{$FullBaseDir}}packages","UnzipUpdateSource":"true","OverwriteExistingFiles":"true","DeleteAfterExtract":"true"},{"UpdateStageName":"chat-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u chat-master.zip'"},{"UpdateStageName":"command-hints-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-hints-master.zip'"},{"UpdateStageName":"command-manager-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-manager-master.zip'"},{"UpdateStageName":"freeroam-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u freeroam-master.zip'"},{"UpdateStageName":"spawn-menu-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u spawn-menu-master.zip'"},{"UpdateStageName":"chat-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf chat-master.zip"},{"UpdateStageName":"command-hints-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-hints-master.zip"},{"UpdateStageName":"command-manager-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-manager-master.zip"},{"UpdateStageName":"freeroam-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf freeroam-master.zip"},{"UpdateStageName":"spawn-menu-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf spawn-menu-master.zip"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"619960","UpdateSourceArgs":"619910"},{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/jc3mpserverconfig.json","UpdateSourceTarget":"../","OverwriteExistingFiles":"true"},{"UpdateStageName":"Packages Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}packages"},{"UpdateStageName":"Download Default Packages","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://unlimitedjc.files.wordpress.com/2022/09/jc3mp-default-packages.zip","UpdateSourceArgs":"jc3mpdefaultpackages.zip","UpdateSourceTarget":"{{$FullBaseDir}}packages","UnzipUpdateSource":"true","OverwriteExistingFiles":"true","DeleteAfterExtract":"true"},{"UpdateStageName":"chat-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u chat-master.zip'"},{"UpdateStageName":"command-hints-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-hints-master.zip'"},{"UpdateStageName":"command-manager-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-manager-master.zip'"},{"UpdateStageName":"freeroam-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u freeroam-master.zip'"},{"UpdateStageName":"spawn-menu-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u spawn-menu-master.zip'"},{"UpdateStageName":"chat-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf chat-master.zip"},{"UpdateStageName":"command-hints-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-hints-master.zip"},{"UpdateStageName":"command-manager-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-manager-master.zip"},{"UpdateStageName":"freeroam-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf freeroam-master.zip"},{"UpdateStageName":"spawn-menu-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf spawn-menu-master.zip"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/kaboom.kvp b/kaboom.kvp index 9d980f8c5..f26f77907 100644 --- a/kaboom.kvp +++ b/kaboom.kvp @@ -15,7 +15,7 @@ App.ExecutableWin= App.ExecutableLinux=1574860/LinuxHeadless_Core.x86_64 App.WorkingDir=1574860 App.CommandLineArgs=+ip {{$ApplicationIPBinding}} +port {{$ApplicationPort1}} +queryport {{$ApplicationPort2}} {{$FormattedArgs}} +amptoken "{{$AMPToken}}" -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "1574860"} +App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "1574670"} App.CommandLineParameterFormat=+{0} "{1}" App.ExitMethod=String App.ExitString=stop @@ -30,7 +30,7 @@ App.MaxUsers=8 App.UseRandomAdminPassword=False App.RemoteAdminPassword= App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName": "Steam Common Components","UpdateSourcePlatform": "Linux", "UpdateSource": "SteamCMD", "UpdateSourceData": "1007", "UpdateSourceTarget": "1574860"},{"UpdateStageName": "Game Server Download","UpdateSourcePlatform": "Linux", "UpdateSource": "SteamCMD", "UpdateSourceData": "1574860"}] +App.UpdateSources=[{"UpdateStageName": "Steam Common Components","UpdateSourcePlatform": "Linux", "UpdateSource": "SteamCMD", "UpdateSourceData": "1007", "UpdateSourceTarget": "1574860"},{"UpdateStageName": "Game Server Download","UpdateSourcePlatform": "Linux", "UpdateSource": "SteamCMD", "UpdateSourceData": "1574860","UpdateSourceArgs":"1574670"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/killing-floor-2.kvp b/killing-floor-2.kvp index b78c70463..3a40054d9 100644 --- a/killing-floor-2.kvp +++ b/killing-floor-2.kvp @@ -47,7 +47,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "232130"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "232130","UpdateSourceArgs":"232090"},{"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=True App.SteamForceLoginPrompt=False diff --git a/last-oasis.kvp b/last-oasis.kvp index ed2903906..93798c134 100644 --- a/last-oasis.kvp +++ b/last-oasis.kvp @@ -18,7 +18,7 @@ App.WorkingDir=920720 App.LinuxCommandLineArgs=Mist App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -force_steamclient_link -messaging -NoLiveServer -EnableCheats -backendapiurloverride="backend.last-oasis.com" -slots={{$MaxUsers}} -port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -OverrideConnectionAddress {{$FormattedArgs}} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"903950"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= App.ExitMethod=Kill @@ -36,7 +36,7 @@ App.RemoteAdminPort=0 App.MaxUsers=20 App.UseRandomAdminPassword=False App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":31,"UpdateSource":4,"UpdateSourceData":"920720","UpdateSourceArgs":null,"UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":31,"UpdateSource":4,"UpdateSourceData":"920720","UpdateSourceArgs":"903950","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/longvinter.kvp b/longvinter.kvp index b07672372..ef5791772 100644 --- a/longvinter.kvp +++ b/longvinter.kvp @@ -54,7 +54,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1639880"},{"UpdateStageName":"Clone GitHub Repo","UpdateSourcePlatform":"Linux","UpdateSource":"GitRepo","UpdateSourceData":"https://github.com/Uuvana-Studios/longvinter-linux-server.git","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Set Binary Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/longvintergame.ini","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Windows","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1639880","UpdateSourceArgs":"1635450"},{"UpdateStageName":"Clone GitHub Repo","UpdateSourcePlatform":"Linux","UpdateSource":"GitRepo","UpdateSourceData":"https://github.com/Uuvana-Studios/longvinter-linux-server.git","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Set Binary Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/longvintergame.ini","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Windows","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/mordhau.kvp b/mordhau.kvp index 3ac0eb51d..b2d587a08 100644 --- a/mordhau.kvp +++ b/mordhau.kvp @@ -49,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=30 App.RCONConnectRetrySeconds=15 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"629800"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"629800","UpdateSourceArgs":"629760"},{"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=True App.SteamForceLoginPrompt=False @@ -75,4 +75,4 @@ Limits.SleepMode=True Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 -Limits.AutoRetryCount=5 \ No newline at end of file +Limits.AutoRetryCount=5 diff --git a/necesse.kvp b/necesse.kvp index 5a35d0e9a..bfa5905e4 100644 --- a/necesse.kvp +++ b/necesse.kvp @@ -55,7 +55,7 @@ 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.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1169370","UpdateSourceArgs":"1169040"},{"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 diff --git a/night-of-the-dead.kvp b/night-of-the-dead.kvp index 4e5b86a67..7cb69d532 100644 --- a/night-of-the-dead.kvp +++ b/night-of-the-dead.kvp @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"First DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/steamclient64.dll","UpdateSourceArgs":"{{$FullBaseDir}}steamclient64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Second DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/tier0_s64.dll","UpdateSourceArgs":"{{$FullBaseDir}}tier0_s64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Third DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/vstdlib_s64.dll","UpdateSourceArgs":"{{$FullBaseDir}}vstdlib_s64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","UpdateSourceArgs":"1377380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"First DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/steamclient64.dll","UpdateSourceArgs":"{{$FullBaseDir}}steamclient64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Second DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/tier0_s64.dll","UpdateSourceArgs":"{{$FullBaseDir}}tier0_s64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Third DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/vstdlib_s64.dll","UpdateSourceArgs":"{{$FullBaseDir}}vstdlib_s64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/pavlov-vr.kvp b/pavlov-vr.kvp index ff5dead00..5f0930e98 100755 --- a/pavlov-vr.kvp +++ b/pavlov-vr.kvp @@ -46,7 +46,7 @@ App.AdminLoginTransform=MD5_Lower App.RCONConnectDelaySeconds=0 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"622970","UpdateSourceVersion":"{{ServerVersion}}"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/pavlov-vrconfigfile.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Logs","OverwriteExistingFiles":false},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer","OverwriteExistingFiles":false},{"UpdateStageName":"Create Maps Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/maps","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Config File","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"./pavlov-vrconfigfile.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"622970","UpdateSourceArgs":"555160","UpdateSourceVersion":"{{ServerVersion}}"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/pavlov-vrconfigfile.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Logs","OverwriteExistingFiles":false},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer","OverwriteExistingFiles":false},{"UpdateStageName":"Create Maps Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/maps","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Config File","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"./pavlov-vrconfigfile.ini","OverwriteExistingFiles":false}] App.Compatibility=LinuxBufferedConsole App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/portal-knights.kvp b/portal-knights.kvp index 584500a24..8e5d4ee51 100644 --- a/portal-knights.kvp +++ b/portal-knights.kvp @@ -52,7 +52,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "374040", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Windows", "UpdateSource": "Executable", "UpdateSourceData": "cmd.exe", "UpdateSourceArgs": "/C cd portal-knights\\374040 && tar -xf dedicated_server.zip"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", "UpdateSourceArgs": "-c 'cd portal-knights/374040 && unzip -u dedicated_server.zip'"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/portal-knightsserver_config.json","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceArgs":"server_config.json","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "374040","UpdateSourceArgs":"374040", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Windows", "UpdateSource": "Executable", "UpdateSourceData": "cmd.exe", "UpdateSourceArgs": "/C cd portal-knights\\374040 && tar -xf dedicated_server.zip"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", "UpdateSourceArgs": "-c 'cd portal-knights/374040 && unzip -u dedicated_server.zip'"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/portal-knightsserver_config.json","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceArgs":"server_config.json","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False @@ -81,4 +81,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 \ No newline at end of file +Limits.SleepStartThresholdSeconds=25 diff --git a/project-zomboid.kvp b/project-zomboid.kvp index 32613a757..57f120492 100644 --- a/project-zomboid.kvp +++ b/project-zomboid.kvp @@ -56,7 +56,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"380870","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"380870","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Mods Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Zomboid/mods","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"380870","UpdateSourceArgs":"108600","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"380870","UpdateSourceArgs":"108600","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Mods Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Zomboid/mods","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/risk-of-rain-2.kvp b/risk-of-rain-2.kvp index 9854020a5..a5c910138 100644 --- a/risk-of-rain-2.kvp +++ b/risk-of-rain-2.kvp @@ -51,7 +51,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1180760","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1180760","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1180760","UpdateSourceArgs":"632360","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1180760","ForceDownloadPlatform":"Windows"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/satisfactory.kvp b/satisfactory.kvp index 7e2e7daa6..53f9ed9d6 100644 --- a/satisfactory.kvp +++ b/satisfactory.kvp @@ -21,7 +21,7 @@ App.HasWritableConsole=true App.RapidStartup=false App.RootDir=./satisfactory/ App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "1690800", "UpdateSourceVersion": "{{releasestream}}"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "1690800", "UpdateSourceArgs": "526870", "UpdateSourceVersion": "{{releasestream}}"}] App.WorkingDir=1690800 Console.FilterMatchRegex=^\[.+?\]\[.+?\] Console.FilterMatchReplacement= diff --git a/seven-days-to-dieupdates.json b/seven-days-to-dieupdates.json index cf429ecac..11798bfb5 100644 --- a/seven-days-to-dieupdates.json +++ b/seven-days-to-dieupdates.json @@ -4,6 +4,7 @@ "UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "294420", + "UpdateSourceArgs":"251570", "UpdateSourceVersion": "{{Stream}}" }, { @@ -202,4 +203,4 @@ "UpdateSourceConditionValue": "true", "OverwriteExistingFiles":false } -] \ No newline at end of file +] diff --git a/space-engineers-genericupdates.json b/space-engineers-genericupdates.json index db471a5ff..b88cc3f73 100644 --- a/space-engineers-genericupdates.json +++ b/space-engineers-genericupdates.json @@ -4,6 +4,7 @@ "UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "298740", + "UpdateSourceArgs": "244850", "UpdateSourceVersion": "{{Stream}}" }, { @@ -46,4 +47,4 @@ "UpdateSourceArgs": "{{$FullBaseDir}}vstdlib_s64.dll", "OverwriteExistingFiles": true } -] \ No newline at end of file +] diff --git a/squad-dedicated-server.kvp b/squad-dedicated-server.kvp index 3bdc4a21e..5a9726c5d 100644 --- a/squad-dedicated-server.kvp +++ b/squad-dedicated-server.kvp @@ -21,7 +21,7 @@ App.RapidStartup=false App.RemoteAdminPort=21114 App.RootDir=./squad-dedicated-server/ App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "403240"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "403240", "UpdateSourceArgs": "393380"}] App.WorkingDir=403240 App.UseRandomAdminPassword=True Console.AppReadyRegex=^(LogInit: Display: Starting Game\.)|(LogOnline: GotoState: NewState: Playing)$ @@ -38,4 +38,4 @@ Meta.DisplayImageSource=steam:393380 Meta.DisplayName=Squad Dedicated Server Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} Meta.OS=3 -Meta.URL=https://steamdb.info/app/403240/ \ No newline at end of file +Meta.URL=https://steamdb.info/app/403240/ diff --git a/starbound.kvp b/starbound.kvp index 3371b6fe8..45492387a 100644 --- a/starbound.kvp +++ b/starbound.kvp @@ -51,7 +51,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "211820"},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./starbound/211820/storage","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/starbound_server.config","UpdateSourceTarget":"{{$FullBaseDir}}storage/","OverwriteExistingFiles":false},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s '{{$FullBaseDir}}linux' '{{$FullBaseDir}}win64'"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "211820", "UpdateSourceArgs": "533830"},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./starbound/211820/storage","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/starbound_server.config","UpdateSourceTarget":"{{$FullBaseDir}}storage/","OverwriteExistingFiles":false},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s '{{$FullBaseDir}}linux' '{{$FullBaseDir}}win64'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=True diff --git a/starmade.kvp b/starmade.kvp index a53461e97..500f03694 100644 --- a/starmade.kvp +++ b/starmade.kvp @@ -16,7 +16,7 @@ App.HasWritableConsole=true App.RapidStartup=false App.RootDir=./starmade/ App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "244770"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "244770", "UpdateSourceArgs": "244770"}] App.WorkingDir=244770/StarMade App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=True @@ -33,4 +33,4 @@ Meta.DisplayImageSource=steam:244770 Meta.DisplayName=Starmade Meta.EndpointURIFormat= Meta.OS=3 -Meta.URL=https://steamdb.info/app/244770/ \ No newline at end of file +Meta.URL=https://steamdb.info/app/244770/ diff --git a/stationeers-legacy.kvp b/stationeers-legacy.kvp index 9981092b9..bdd180221 100644 --- a/stationeers-legacy.kvp +++ b/stationeers-legacy.kvp @@ -47,7 +47,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceVersion":"previous"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceArgs":"544550","UpdateSourceVersion":"previous"},{"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=True App.SteamForceLoginPrompt=False diff --git a/stationeers.kvp b/stationeers.kvp index 1f388db5b..371e485a2 100644 --- a/stationeers.kvp +++ b/stationeers.kvp @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceArgs":"544550"},{"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=True App.SteamForceLoginPrompt=False diff --git a/sven-co-op.kvp b/sven-co-op.kvp index 1dadeedd7..1db93bfa2 100644 --- a/sven-co-op.kvp +++ b/sven-co-op.kvp @@ -17,7 +17,7 @@ App.HasWritableConsole=true App.RapidStartup=true App.RootDir=./sven-co-op/ App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "276060"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "276060", "UpdateSourceArgs": "225840"}] App.WorkingDir=276060 Console.AppReadyRegex=^Connection to Steam servers successful$ Console.ThrowawayMessageRegex= @@ -33,4 +33,4 @@ Meta.DisplayImageSource=steam:225840 Meta.DisplayName=Sven Co-op Meta.EndpointURIFormat= Meta.OS=3 -Meta.URL=https://store.steampowered.com/app/225840/Sven_Coop/ \ No newline at end of file +Meta.URL=https://store.steampowered.com/app/225840/Sven_Coop/ diff --git a/the-forest.kvp b/the-forest.kvp index a781d01cc..4803c3e48 100644 --- a/the-forest.kvp +++ b/the-forest.kvp @@ -55,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "556450", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/the-forestserver.cfg","UpdateSourceTarget": "./556450/"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "556450", "UpdateSourceArgs": "242760", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/the-forestserver.cfg","UpdateSourceTarget": "./556450/"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -84,4 +84,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 \ No newline at end of file +Limits.SleepStartThresholdSeconds=25 diff --git a/theisle-evrima.kvp b/theisle-evrima.kvp index 644c69211..7183c7475 100644 --- a/theisle-evrima.kvp +++ b/theisle-evrima.kvp @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceVersion":"evrima"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-evrimagame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-evrimagame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceArgs":"376210","UpdateSourceVersion":"evrima"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-evrimagame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-evrimagame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/theisle-legacy.kvp b/theisle-legacy.kvp index 05beec873..7e2e2a642 100644 --- a/theisle-legacy.kvp +++ b/theisle-legacy.kvp @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-legacygame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceArgs":"376210","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-legacygame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/tmodloader.kvp b/tmodloader.kvp index 4e3597c6c..6893c185b 100644 --- a/tmodloader.kvp +++ b/tmodloader.kvp @@ -37,7 +37,7 @@ App.ApplicationPort2=0 App.ApplicationPort3=0 App.RemoteAdminPort=0 App.MaxUsers=8 -App.UpdateSources=[{"UpdateStageName": "Config Template Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/tmodloaderserverconfig.txt","UpdateSourceTarget": "serverfiles","OverwriteExistingFiles": false},{"UpdateStageName": "SteamCMD tModLoader","UpdateSourcePlatform": "All","UpdateSource": "SteamCMD","UpdateSourceData": "1281930","UpdateSourceTarget": "serverfiles","UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"Steam","UpdateSourceVersion": "1.3-legacy"},{"UpdateStageName": "GitHub tModLoader Windows","UpdateSourcePlatform": "Windows","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Windows.v0.11.8.9.zip","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"},{"UpdateStageName": "GitHub tModLoader Linux","UpdateSourcePlatform": "Linux","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Linux.v0.11.8.9.tar.gz","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"}] +App.UpdateSources=[{"UpdateStageName": "Config Template Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/tmodloaderserverconfig.txt","UpdateSourceTarget": "serverfiles","OverwriteExistingFiles": false},{"UpdateStageName": "SteamCMD tModLoader","UpdateSourcePlatform": "All","UpdateSource": "SteamCMD","UpdateSourceData": "1281930","UpdateSourceArgs":"1281930","UpdateSourceTarget": "serverfiles","UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"Steam","UpdateSourceVersion": "1.3-legacy"},{"UpdateStageName": "GitHub tModLoader Windows","UpdateSourcePlatform": "Windows","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Windows.v0.11.8.9.zip","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"},{"UpdateStageName": "GitHub tModLoader Linux","UpdateSourcePlatform": "Linux","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Linux.v0.11.8.9.tar.gz","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False @@ -58,4 +58,4 @@ Limits.SleepMode=True Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 -Limits.AutoRetryCount=5 \ No newline at end of file +Limits.AutoRetryCount=5 diff --git a/tmodloader14.kvp b/tmodloader14.kvp index 26cc5db3c..d9692f02a 100644 --- a/tmodloader14.kvp +++ b/tmodloader14.kvp @@ -37,7 +37,7 @@ App.ApplicationPort2=0 App.ApplicationPort3=0 App.RemoteAdminPort=0 App.MaxUsers=8 -App.UpdateSources=[{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/tmodloader14serverconfig.txt","UpdateSourceTarget":"serverfiles","UnzipUpdateSource":false,"OverwriteExistingFiles":false},{"UpdateStageName":"SteamCMD tModLoader","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1281930","UpdateSourceTarget":"serverfiles","UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"Steam"},{"UpdateStageName":"GitHub tModLoader","UpdateSourcePlatform":"All","UpdateSource":"GithubRelease","UpdateSourceData":"tModLoader.zip","UpdateSourceArgs":"tModLoader/tModLoader","UpdateSourceTarget":"serverfiles","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"GitHub","DeleteAfterExtract":false},{"UpdateStageName":"Create Dotnet Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}/dotnet/6.0.0"},{"UpdateStageName":"Dotnet download Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-win-x64.zip","UpdateSourceTarget":"{{$FullBaseDir}}/dotnet/6.0.0/","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Dotnet download Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-linux-x64.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}/dotnet/6.0.0/","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] +App.UpdateSources=[{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/tmodloader14serverconfig.txt","UpdateSourceTarget":"serverfiles","UnzipUpdateSource":false,"OverwriteExistingFiles":false},{"UpdateStageName":"SteamCMD tModLoader","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1281930","UpdateSourceArgs":"1281930","UpdateSourceTarget":"serverfiles","UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"Steam"},{"UpdateStageName":"GitHub tModLoader","UpdateSourcePlatform":"All","UpdateSource":"GithubRelease","UpdateSourceData":"tModLoader.zip","UpdateSourceArgs":"tModLoader/tModLoader","UpdateSourceTarget":"serverfiles","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"GitHub","DeleteAfterExtract":false},{"UpdateStageName":"Create Dotnet Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}/dotnet/6.0.0"},{"UpdateStageName":"Dotnet download Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-win-x64.zip","UpdateSourceTarget":"{{$FullBaseDir}}/dotnet/6.0.0/","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Dotnet download Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-linux-x64.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}/dotnet/6.0.0/","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False @@ -58,4 +58,4 @@ Limits.SleepMode=True Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 -Limits.AutoRetryCount=5 \ No newline at end of file +Limits.AutoRetryCount=5 diff --git a/unturnedupdates.json b/unturnedupdates.json index 28f5ae029..4184b38ae 100644 --- a/unturnedupdates.json +++ b/unturnedupdates.json @@ -3,7 +3,8 @@ "UpdateStageName":"SteamCMD Download", "UpdateSourcePlatform":"All", "UpdateSource":"SteamCMD", - "UpdateSourceData":"1110390" + "UpdateSourceData":"1110390", + "UpdateSourceArgs":"304930" }, { "UpdateStageName":"Config Directory Creation", @@ -57,4 +58,4 @@ "UpdateSourcePlatform":"All", "UpdateSource":"ShutdownApplication" } -] \ No newline at end of file +] diff --git a/v-risingupdates.json b/v-risingupdates.json index 76e36ed3e..45ee60c94 100644 --- a/v-risingupdates.json +++ b/v-risingupdates.json @@ -4,7 +4,7 @@ "UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "1829350", - "UpdateSourceArgs": null, + "UpdateSourceArgs": "1604030", "UpdateSourceVersion": null, "UpdateSourceTarget": null, "UnzipUpdateSource": false, @@ -59,4 +59,4 @@ "UpdateSourceConditionValue": null, "DeleteAfterExtract": false } -] \ No newline at end of file +] diff --git a/valheimupdates.json b/valheimupdates.json index b712161f1..cff450948 100644 --- a/valheimupdates.json +++ b/valheimupdates.json @@ -3,7 +3,8 @@ "UpdateStageName": "SteamCMD Download", "UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", - "UpdateSourceData": "896660", + "UpdateSourceData": "896660", + "UpdateSourceArgs":"892970", "UpdateSourceVersion": "{{Stream}}" }, { diff --git a/wreckfest.kvp b/wreckfest.kvp index 40b64e138..f22c5849b 100644 --- a/wreckfest.kvp +++ b/wreckfest.kvp @@ -48,7 +48,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","UpdateSourceArgs":"228380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -77,4 +77,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 \ No newline at end of file +Limits.SleepStartThresholdSeconds=25 diff --git a/wurm-unlimited.kvp b/wurm-unlimited.kvp index aa11c6041..379c32df7 100644 --- a/wurm-unlimited.kvp +++ b/wurm-unlimited.kvp @@ -48,7 +48,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"402370"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"402370","UpdateSourceArgs":"366220"},{"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=True App.SteamForceLoginPrompt=False From 31a7027045f3d75e301fc247f9459111c2e00efa Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 12 Jan 2023 20:25:32 -0600 Subject: [PATCH 107/318] Day of Dragons - Add Release Stream (#276) * Day of Dragons - Add Release Stream The devs are creating a new public version for UE5. This allows users to use the legacy stream and continue using the current version. * Update day-of-dragons.kvp * Update day-of-dragonsconfig.json * Update day-of-dragonsconfig.json Co-authored-by: Greelan <53196309+Greelan@users.noreply.github.com> --- day-of-dragons.kvp | 2 +- day-of-dragonsconfig.json | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/day-of-dragons.kvp b/day-of-dragons.kvp index a62daabe8..d5da3e62d 100644 --- a/day-of-dragons.kvp +++ b/day-of-dragons.kvp @@ -56,7 +56,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1088320","UpdateSourceArgs":"1088090"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Binaries/Win64/"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1088320","UpdateSourceArgs":"1088090","UpdateSourceVersion":"{{Stream}}"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Binaries/Win64/"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/day-of-dragonsconfig.json b/day-of-dragonsconfig.json index c472cf16d..0f36a155e 100644 --- a/day-of-dragonsconfig.json +++ b/day-of-dragonsconfig.json @@ -323,5 +323,21 @@ "DefaultValue":"", "Placeholder":"https://discord.gg/mW2p4kr", "EnumValues":{} - } + }, + { + "DisplayName":"Release Stream", + "Category":"SteamCMD and Updates", + "Description":"Sets the server release stream to install. NOTE: Update the server after changing this setting!", + "Keywords":"release,stream,legacy", + "FieldName":"Stream", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Stream", + "IncludeInCommandLine":false, + "DefaultValue":"public", + "EnumValues":{ + "public":"Public (Default/UE5)", + "legacy":"Legacy (UE4)" + } + } ] From f562f0c22efa952f22472948fa8ba6fd93ef9f06 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 13 Jan 2023 14:03:14 +1100 Subject: [PATCH 108/318] Icarus: add new prospect (#277) --- icarusconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/icarusconfig.json b/icarusconfig.json index 98117d8a5..ab33bf288 100644 --- a/icarusconfig.json +++ b/icarusconfig.json @@ -236,6 +236,7 @@ "Tier2_Glacier_Extraction_0":"Extraction: Deep Vein", "Tier3_RiverLands_Extraction":"Extraction: Meridian", "Tier4_Arctic_Extraction_0":"Extraction: Payday", + "STYX_E_Extraction":"Extraction: Remnant", "Tier1_Farming":"Hydroponics: Agriculture", "Outpost006_Olympus":"Open World: Olympus", "OpenWorld_Styx":"Open World: Styx", From 1c43087582967977375400a5330d4c1674a604ad Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 15 Jan 2023 09:23:35 +1100 Subject: [PATCH 109/318] Update night-of-the-dead.kvp (#275) --- night-of-the-dead.kvp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/night-of-the-dead.kvp b/night-of-the-dead.kvp index 7cb69d532..6a7e153ea 100644 --- a/night-of-the-dead.kvp +++ b/night-of-the-dead.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=Night of the Dead Meta.Description=Night of the Dead Dedicated Server -Meta.OS=Windows, Linux +Meta.OS=Windows Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://www.nightofthedead.org/ @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","UpdateSourceArgs":"1377380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"First DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/steamclient64.dll","UpdateSourceArgs":"{{$FullBaseDir}}steamclient64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Second DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/tier0_s64.dll","UpdateSourceArgs":"{{$FullBaseDir}}tier0_s64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Third DLL Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}LF/Binaries/Win64/vstdlib_s64.dll","UpdateSourceArgs":"{{$FullBaseDir}}vstdlib_s64.dll","OverwriteExistingFiles":true},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","UpdateSourceArgs":"1377380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -63,7 +63,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogBlueprintUserMessages: \[LevelStreamer_BP_2\] LOAD COMPLETE$ +Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogBlueprintUserMessages: \[BP_LFGameMode_C_\d+\] Session Update success$ Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: Adding user (?.+?):\d+ from RegisterConnection$ Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: (?.+?) has been removed\.$ Console.UserChatRegex=^$ From d0d7ca57b27a256d970517c468bea9084c6dff5c Mon Sep 17 00:00:00 2001 From: southnode <95715917+southnode@users.noreply.github.com> Date: Sun, 15 Jan 2023 13:03:40 +1100 Subject: [PATCH 110/318] Updated ecoconfig.json (#270) Changed MaxConnections to DefaultSlots - maxconnections was removed from the Network.eco setting, and replaced with MaxConnections --- ecoconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ecoconfig.json b/ecoconfig.json index 50f3fa629..5e075cee6 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -133,7 +133,7 @@ "FieldName":"$MaxUsers", "InputType":"number", "IsFlagArgument":false, - "ParamFieldName":"MaxConnections", + "ParamFieldName":"DefaultSlots", "IncludeInCommandLine":false, "DefaultValue":"-1", "Suffix":"players", @@ -226,4 +226,4 @@ "Placeholder":"", "EnumValues":{} } -] \ No newline at end of file +] From 3f469bd05509b87ef888e3a35ce92510237ea9aa Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 15 Jan 2023 17:29:21 +1100 Subject: [PATCH 111/318] Update astroneer.kvp (#278) --- astroneer.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/astroneer.kvp b/astroneer.kvp index 511bcf57e..461897e9c 100644 --- a/astroneer.kvp +++ b/astroneer.kvp @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"728470","UpdateSourceArgs:"361420","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"728470","UpdateSourceArgs":"361420","ForceDownloadPlatform":"Windows"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False From 49df023f0eb9ca2aa7d6358e8b2830c5227f6eab Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sat, 21 Jan 2023 14:16:48 -0600 Subject: [PATCH 112/318] Update Valheim+ (#281) * Update Valheim+ This updates Valheim+ to remove the spaces in the ini file to match the original file. This also clarifies the description for Valheim Plus Enable. * Update valheimconfig.json Co-authored-by: Greelan <53196309+Greelan@users.noreply.github.com> --- valheimconfig.json | 8 ++++---- valheimmetaconfig.json | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/valheimconfig.json b/valheimconfig.json index fe86227fe..cf2ad4338 100644 --- a/valheimconfig.json +++ b/valheimconfig.json @@ -77,7 +77,7 @@ },{ "DisplayName":"Release Stream", "Category":"SteamCMD and Updates", - "Description":"\"public\" is default. Choose a custom release on [SteamDB](https://steamdb.info/app/896660/depots/).", + "Description":"\"public\" is default. Choose a custom release on [SteamDB](https://steamdb.info/app/896660/depots/). NOTE: Update the server after changing release streams.", "Keywords":"use,experimental,release,stream", "FieldName":"Stream", "InputType":"text", @@ -90,7 +90,7 @@ },{ "DisplayName":"Install BepInEx", "Category":"SteamCMD and Updates", - "Description":"Installs BepInEx. Standalone - DO NOT use with the Install Valheim Plus option.", + "Description":"Installs BepInEx. Standalone - DO NOT use with the Install Valheim Plus option. NOTE: Update the server after enabling this option.", "Keywords":"Install,BepInEx", "FieldName":"bepinex_install", "InputType":"checkbox", @@ -105,7 +105,7 @@ },{ "DisplayName":"Install Valheim Plus", "Category":"SteamCMD and Updates", - "Description":"Installs Valheim Plus. Includes BepInEx", + "Description":"Installs Valheim Plus. Includes BepInEx. NOTE: Update the server after enabling this option.", "Keywords":"Install,Valheim,Plus", "FieldName":"valheim_plus_install", "InputType":"checkbox", @@ -3403,7 +3403,7 @@ },{ "DisplayName":"Valheim Plus Enable", "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", + "Description":"Enabling this section gives you access to the settings up to the next section. This does NOT install Valheim Plus. To install Valheim Plus, navigate to \"SteamCMD and Updates\" and enable Install Valheim Plus, then update the server.", "Keywords":"ValheimPlus,Enable", "FieldName":"ValheimPlus.enabled", "InputType":"checkbox", diff --git a/valheimmetaconfig.json b/valheimmetaconfig.json index 4e7401b6c..3977d428f 100644 --- a/valheimmetaconfig.json +++ b/valheimmetaconfig.json @@ -3,7 +3,7 @@ "ConfigFile":"./BepInEx/config/valheim_plus.cfg", "AutoMap":true, "ConfigType":"ini", - "ConfigFormat": "{0} = {1}", - "ConfigFormatRegex":"^(?.+?) = (?.*?)$" + "ConfigFormat": "{0}={1}", + "ConfigFormatRegex":"^(?.+?)=(?.*?)$" } ] \ No newline at end of file From 0580f64220a3544a5a0d44155bb94a0f0ae5d468 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 26 Jan 2023 20:16:26 -0600 Subject: [PATCH 113/318] Update Valheim+ Metaconfig (#283) The Valheim+ server changes the ini file to contain spaces in the config file even though the initial config does not. This allows AMP to parse either format and update the file as needed. This requires 2.4.1.4 Nightly to work. --- valheimmetaconfig.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/valheimmetaconfig.json b/valheimmetaconfig.json index 3977d428f..db5175149 100644 --- a/valheimmetaconfig.json +++ b/valheimmetaconfig.json @@ -3,7 +3,14 @@ "ConfigFile":"./BepInEx/config/valheim_plus.cfg", "AutoMap":true, "ConfigType":"ini", - "ConfigFormat": "{0}={1}", + "ConfigFormat":"{0}={1}", "ConfigFormatRegex":"^(?.+?)=(?.*?)$" + }, + { + "ConfigFile":"./BepInEx/config/valheim_plus.cfg", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormat":"{0} = {1}", + "ConfigFormatRegex":"^(?.+?) = (?.*?)$" } ] \ No newline at end of file From 14f4572d06a4307a97f902c5b765cb557ec14495 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 27 Jan 2023 21:47:49 +1100 Subject: [PATCH 114/318] Satisfactory: address steam API/client errors on Linux and Windows (#284) --- satisfactory.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/satisfactory.kvp b/satisfactory.kvp index 53f9ed9d6..36738c376 100644 --- a/satisfactory.kvp +++ b/satisfactory.kvp @@ -11,7 +11,7 @@ App.CommandLineArgs={{$PlatformArgs}} -MultiHome={{$ApplicationIPBinding}} ?list App.CommandLineParameterDelimiter= App.CommandLineParameterFormat=-{0}="{1}" App.DisplayName=Satisfactory -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "526870"} +App.EnvironmentVariables={"LD_LIBRARY_PATH": "{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%", "SteamAppId": "526870"} App.ExecutableLinux=1690800/Engine/Binaries/Linux/UE4Server-Linux-Shipping App.ExecutableWin=1690800\Engine\Binaries\Win64\UE4Server-Win64-Shipping.exe App.ExitMethod=OS_CLOSE @@ -21,7 +21,7 @@ App.HasWritableConsole=true App.RapidStartup=false App.RootDir=./satisfactory/ App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "1690800", "UpdateSourceArgs": "526870", "UpdateSourceVersion": "{{releasestream}}"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "1690800", "UpdateSourceArgs": "526870", "UpdateSourceVersion": "{{releasestream}}"},{"UpdateStageName": "SteamCMD Component Download","UpdateSourcePlatform": "Windows", "UpdateSource": "SteamCMD", "UpdateSourceData": "1007", "UpdateSourceTarget": "1690800/FactoryGame/Binaries/Win64"}] App.WorkingDir=1690800 Console.FilterMatchRegex=^\[.+?\]\[.+?\] Console.FilterMatchReplacement= From 6a298f479c53707c81d08b77e82fd2fcdfe3bc8b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 3 Feb 2023 13:06:16 +1100 Subject: [PATCH 115/318] Fix config download URL (#286) --- craftopia.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/craftopia.kvp b/craftopia.kvp index 5491dd36d..23eb4e3eb 100644 --- a/craftopia.kvp +++ b/craftopia.kvp @@ -45,7 +45,7 @@ App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1670340","UpdateSourceArgs":"1307550"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/craftopia/craftopiaserversetting.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./craftopia/1670340/ServerSetting.ini","UpdateSourceArgs":"./craftopiaserversetting.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1670340","UpdateSourceArgs":"1307550"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/craftopiaserversetting.ini","UpdateSourceArgs":"ServerSetting.ini","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False From 0aee576520c883dc0c22e59194502201365dd757 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 2 Feb 2023 20:34:19 -0600 Subject: [PATCH 116/318] Update space-engineers-genericupdates.json (#287) --- space-engineers-genericupdates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/space-engineers-genericupdates.json b/space-engineers-genericupdates.json index b88cc3f73..6e413e821 100644 --- a/space-engineers-genericupdates.json +++ b/space-engineers-genericupdates.json @@ -18,7 +18,7 @@ "UpdateStageName": "Base Config Download", "UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/IceOfWraith/AMPTemplates/raw/dev/space-engineers-dedicated.cfg", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/space-engineers-dedicated.cfg", "UpdateSourceTarget": "{{$FullBaseDir}}servers", "UpdateSourceArgs": "SpaceEngineers-Dedicated.cfg", "OverwriteExistingFiles": false From 4ef2a2b01c0900eb7e23e71e09650ff185165e5f Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 11 Feb 2023 01:52:20 +1100 Subject: [PATCH 117/318] Project Zomboid: setting tweaks (#288) --- project-zomboidconfig.json | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/project-zomboidconfig.json b/project-zomboidconfig.json index 7f8510a60..da284ecb1 100755 --- a/project-zomboidconfig.json +++ b/project-zomboidconfig.json @@ -129,7 +129,7 @@ "Description":"Welcome message when players join the server", "Keywords":"welcome,message,motd", "FieldName":"ServerWelcomeMessage", - "InputType":"text", + "InputType":"Textarea", "IsFlagArgument":false, "ParamFieldName":"ServerWelcomeMessage", "IncludeInCommandLine":false, @@ -251,40 +251,37 @@ "Description":"Semi-colon separated list of maps to load on the server. \"Muldraugh, KY\" should be last in the list", "Keywords":"map", "FieldName":"Map", - "InputType":"text", + "InputType":"Textarea", "IsFlagArgument":false, "ParamFieldName":"Map", "IncludeInCommandLine":false, "DefaultValue":"Muldraugh, KY", - "Placeholder":"RavenCreek;BedfordFalls;Muldraugh, KY", "EnumValues":{} }, { - "DisplayName":"Mods", + "DisplayName":"Load Mods", "Category":"PZ Server Settings", - "Description":"Semi-colon separated list of mod IDs to install on the server. The workshop IDs for the mods also need to be added to Workshop Items", + "Description":"Semi-colon separated list of mod IDs (eg 67commando;86oshkoshP19A) to load. To install them, the workshop IDs for the mods also need to be added to Install Workshop Items", "Keywords":"mods", "FieldName":"Mods", - "InputType":"text", + "InputType":"Textarea", "IsFlagArgument":false, "ParamFieldName":"Mods", "IncludeInCommandLine":false, "DefaultValue":"", - "Placeholder":"67commando;86oshkoshP19A;92amgeneralM998", "EnumValues":{} }, { - "DisplayName":"Workshop Items", + "DisplayName":"Install Workshop Items", "Category":"PZ Server Settings", - "Description":"Semi-colon separated list of IDs of workshop items to install on the server. Mod IDs also need to be added to Mods. NOTE: Don't use \"Steam workshop items\" under SteamCMD and Updates", + "Description":"Semi-colon separated list of IDs of workshop items (eg 2478247379;2566953935) to install. To load them, the mod IDs also need to be added to Load Mods. NOTE: Don't use \"Steam workshop items\" under SteamCMD and Updates", "Keywords":"workshop,items", "FieldName":"WorkshopItems", - "InputType":"text", + "InputType":"Textarea", "IsFlagArgument":false, "ParamFieldName":"WorkshopItems", "IncludeInCommandLine":false, "DefaultValue":"", - "Placeholder":"2478247379;2566953935", "EnumValues":{} }, { From 0656f7de2af4679d61bdc2ec31a88f90346802b4 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 13 Feb 2023 02:38:45 -0600 Subject: [PATCH 118/318] Update 7D2D Control Panel Port Type (#289) I made an oopsies. This is the control panel web page so has to be TCP. --- seven-days-to-die.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seven-days-to-die.kvp b/seven-days-to-die.kvp index ddbda6f49..e63411bfb 100644 --- a/seven-days-to-die.kvp +++ b/seven-days-to-die.kvp @@ -37,7 +37,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Port":26900,"Offset":0,"Range":1,"Ref":"ServerPort","Name":"Server and Steam Port","Description":"Main game traffic and Steam Query port","ChildPorts":null},{"Protocol":"UDP","Port":26901,"Offset":0,"Range":1,"Ref":"ControlPanelPort","Name":"Control Panel Port","Description":"Web panel access port","ChildPorts":null},{"Protocol":"UDP","Port":26902,"Offset":0,"Range":1,"Ref":"AdditionalPort","Name":"Server Additional Port","Description":"Unknown use at this time","ChildPorts":null},{"Protocol":"TCP","Port":27020,"Offset":0,"Range":1,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"RCON traffic port","ChildPorts":null}] +App.Ports=[{"Protocol":"Both","Port":26900,"Offset":0,"Range":1,"Ref":"ServerPort","Name":"Server and Steam Port","Description":"Main game traffic and Steam Query port","ChildPorts":null},{"Protocol":"TCP","Port":26901,"Offset":0,"Range":1,"Ref":"ControlPanelPort","Name":"Control Panel Port","Description":"Web panel access port","ChildPorts":null},{"Protocol":"UDP","Port":26902,"Offset":0,"Range":1,"Ref":"AdditionalPort","Name":"Server Additional Port","Description":"Unknown use at this time","ChildPorts":null},{"Protocol":"TCP","Port":27020,"Offset":0,"Range":1,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"RCON traffic port","ChildPorts":null}] App.MaxUsers=8 App.UseRandomAdminPassword=True App.RemoteAdminPassword= From 89bba4b2edd2c26e38d691c8d81e341fac39d85a Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Fri, 17 Feb 2023 16:06:03 +0000 Subject: [PATCH 119/318] Update valheim.kvp --- valheim.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/valheim.kvp b/valheim.kvp index 765d1f6bb..6d2558709 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -1,5 +1,5 @@ Meta.DisplayName=Valheim -Meta.Description= +Meta.Description=Includes optional support for ValheimPlus and BepinEx Meta.OS=Windows, Linux Meta.Author=CubeCoders Limited Meta.URL=https://www.valheimgame.com/ @@ -45,4 +45,4 @@ Console.AppReadyRegex=^Game server connected$ Console.UserJoinRegex=^Got character ZDOID from (?.+?) : (?-?\d+):\d+$ Console.UserLeaveRegex=^Destroying abandoned non persistent zdo -?\d+:\d+ owner (?-?\d+)$ Console.UserChatRegex= -Console.UserActions={} \ No newline at end of file +Console.UserActions={} From b9b2a9c76e5338994d56f914d23da4ef1a4808aa Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 21 Feb 2023 05:34:50 +1100 Subject: [PATCH 120/318] Add ARK: Survival Evolved (generic) (#266) * Add ARK: Survival Evolved * Final updates * Update ark-seconfig.json * Update ark-seconfig.json * Update ark-seupdates.json * Update chat regex * Metaconfig updates * Final final updates * Settings tweaks * Update settings descriptions * Gotta be final, right? * IceOfWraith made me do it * Update ark-seconfig.json --- ark-se.kvp | 88 + ark-seconfig.json | 2184 +++++++++++++++++++++++++ ark-segame.ini | 80 + ark-selinux-gameusersettings.ini | 169 ++ ark-semetaconfig.json | 26 + ark-seupdates.json | 108 ++ ark-sewin-gameusersettings.ini | 169 ++ exclusions/.backupExclusions7d2d1 | 2 +- exclusions/.backupExclusionsArk1 | 17 + exclusions/.backupExclusionsArk2 | 5 + exclusions/.backupExclusionsEmpyrion1 | 2 +- 11 files changed, 2848 insertions(+), 2 deletions(-) create mode 100644 ark-se.kvp create mode 100644 ark-seconfig.json create mode 100644 ark-segame.ini create mode 100644 ark-selinux-gameusersettings.ini create mode 100644 ark-semetaconfig.json create mode 100644 ark-seupdates.json create mode 100644 ark-sewin-gameusersettings.ini create mode 100644 exclusions/.backupExclusionsArk1 create mode 100644 exclusions/.backupExclusionsArk2 diff --git a/ark-se.kvp b/ark-se.kvp new file mode 100644 index 000000000..7b0bbba2c --- /dev/null +++ b/ark-se.kvp @@ -0,0 +1,88 @@ +Meta.DisplayName=ARK: Survival Evolved +Meta.Description=ARK: Survival Evolved Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan, Shinynecrid, IceOfWraith +Meta.URL=https://store.epicgames.com/en-US/p/ark +Meta.DisplayImageSource=steam:346110 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=ark-seconfig.json +Meta.MetaConfigManifest=ark-semetaconfig.json +Meta.ConfigRoot=ark-se.kvp +Meta.MinAMPVersion=2.4.1.4 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI=https://gist.github.com/Greelan/ec1acbd44f3e9d550737754ca97f715e +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState= +Meta.NoCommercialUsage=False +App.DisplayName=ARK: Survival Evolved +App.RootDir=./ark-se/ +App.BaseDirectory=./ark-se/376030/ +App.ExecutableWin=376030\ShooterGame\Binaries\Win64\ShooterGameServer.exe +App.ExecutableLinux=376030/ShooterGame/Binaries/Linux/ShooterGameServer +App.WorkingDir=376030/ShooterGame/Binaries/Win64 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?{{$FormattedArgs}}{{OverrideOfficialDifficulty}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}}{{NoTransferFromFiltering}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"346110"} +App.CommandLineParameterFormat={0}={1} +App.CommandLineParameterDelimiter=? +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=DoExit +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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"TCP","Port":27020,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RCONPort +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=70 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword= +App.AdminMethod=SourceRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0.09 +App.RCONHeartbeatCommand=GetGameLog +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[ark-seupdates.json] +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=RCONConnected +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(Keep Alive|\[S_API FAIL\] SteamAPI_Init\(\) failed; SteamAPI_IsSteamRunning\(\) failed\.|Server received, But no response!! \n |Setting breakpad minidump AppID = 346110)$ +Console.UserJoinRegex=^[\d\.]+_[\d\.]+: (?.+?) joined this ARK!\n \n $ +Console.UserLeaveRegex=^[\d\.]+_[\d\.]+: (?.+?) left this ARK!\n \n $ +Console.UserChatRegex=^[\d\.]+_[\d\.]+:( | )(?.+?)( | )\((?:.+?)\): (?.+)\n \n $ +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/ark-seconfig.json b/ark-seconfig.json new file mode 100644 index 000000000..0351cb1a9 --- /dev/null +++ b/ark-seconfig.json @@ -0,0 +1,2184 @@ +[ + { + "DisplayName":"Server Name", + "Category":"ARK Server Settings", + "Description":"Set the name of the server as it appears publicly. Don't include a question mark", + "Keywords":"server,name,sessionname", + "FieldName":"SessionName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SessionName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered ARK: Survival Evolved Server", + "EnumValues":{} + }, + { + "DisplayName":"MOTD", + "Category":"ARK Server Settings", + "Description":"Sets the player welcome message (MOTD)", + "Keywords":"motd,welcome,message", + "FieldName":"MOTDMessage", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"MessageOfTheDay.Message", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to ARK!", + "EnumValues":{} + }, + { + "DisplayName":"MOTD Duration", + "Category":"ARK Server Settings", + "Description":"Sets the time period for display of the MOTD", + "Keywords":"motd,message,period,duration", + "FieldName":"MOTDDuration", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MessageOfTheDay.Duration", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Map", + "Category":"ARK Server Settings", + "Description":"Sets the map for the server. If Custom is selected, Custom Map Name must also be set", + "Keywords":"map", + "FieldName":"Map", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Map", + "IncludeInCommandLine":false, + "DefaultValue":"TheIsland", + "EnumValues":{ + "Aberration_P":"Aberration", + "CrystalIsles":"Crystal Isles", + "Extinction":"Extinction", + "Fjordur":"Fjordur", + "Genesis":"Genesis: Part 1", + "Gen2":"Genesis: Part 2", + "LostIsland":"Lost Island", + "Ragnarok":"Ragnarok", + "ScorchedEarth_P":"Scorched Earth", + "TheCenter":"The Center", + "TheIsland":"The Island (default)", + "Valguero_P":"Valguero", + "{{CustomMap}}":"Custom" + } + }, + { + "DisplayName":"Custom Map Name", + "Category":"ARK Server Settings", + "Description":"Sets a custom map for the server. \"Custom\" type must be selected under Map, and the map files included in ShooterGame/Content/Mods. Automatically Manage Mods can be used for this purpose", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"Caballus_P", + "EnumValues":{} + }, + { + "DisplayName":"Automatically Manage Mods", + "Category":"ARK Server Settings", + "Description":"If set, enables automatic mod download and updating (on server start). Specify the relevant mods under Mods List. Alternatively, specify them in Game.ini under the heading [ModInstaller] and with one mod per line in the format: ModIDS=", + "Keywords":"auto,managed,mods,automanagedmods", + "FieldName":"automanagedmods", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"automanagedmods", + "IncludeInCommandLine":false, + "DefaultValue":"-automanagedmods ", + "EnumValues":{ + "False":"", + "True":"-automanagedmods " + } + }, + { + "DisplayName":"Mods List", + "Category":"ARK Server Settings", + "Description":"Comma-separated and ordered list of IDs of mods to load (map mods will not load unless named as a \"Custom\" map under Custom Map Name). Mod files must be in ShooterGame/Content/Mods. If \"Automatically Manage Mods\" is enabled, the mods listed will be installed by the server", + "Keywords":"load,mods,gamemodids,activemods", + "FieldName":"GameModIds", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"GameModIds", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "Placeholder":"1984936918,1785880078", + "EnumValues":{} + }, + { + "DisplayName":"Active Event", + "Category":"ARK Server Settings", + "Description":"Sets the server's active event, if any. Some events may only work partially or not at all. Most special event assets are removed after the event", + "Keywords":"active,event,activeevent", + "FieldName":"ActiveEvent", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ActiveEvent", + "IncludeInCommandLine":false, + "DefaultValue":"None", + "EnumValues":{ + "None":"None", + "birthday":"ARK: 5th Anniversary", + "ark7th":"ARK: 7th Anniversary", + "FearEvolved":"ARK: Fear Evolved 6", + "TurkeyTrial":"ARK: Turkey Trial 5", + "Arkaeology":"ARK: ARKaeology", + "Easter":"ARK: Eggcellent Adventure 7", + "ExtinctionChronicles":"Extinction Chronicles", + "vday":"ARK: Love Evolved 3", + "PAX":"ARK: PAX Party", + "Summer":"ARK: Summer Bash 2021", + "WinterWonderland":"ARK: Winter Wonderland 7" + } + }, + { + "DisplayName":"Whitelisted Server Admins", + "Category":"ARK Server Settings", + "Description":"List of [Steam64 IDs](https://steamidfinder.com/) for whitelisted server admins. These admins do not need to use the server admin password", + "Keywords":"admin,whitelist,allowedcheatersteamids", + "FieldName":"AdminWhitelist", + "InputType":"list", + "IsFlagArgument":false, + "ParamFieldName":"AdminWhitelist", + "DefaultValue":"", + "Special":"listfile:./ark-se/376030/ShooterGame/Saved/AllowedCheaterSteamIDs.txt", + "EnumValues":{} + }, + { + "DisplayName":"RCON/Server Admin Password", + "Category":"ARK Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON password. The RCON password is also used in the in-game console for players to access administrator commands (unless they are whitelisted)", + "Keywords":"rcon,password,serveradminpassword", + "FieldName":"RCONPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"RCONPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"ARK Server Settings", + "Description":"Sets the password for players to join the server. Don't include a question mark", + "Keywords":"server,password,serverpassword", + "FieldName":"ServerPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"ServerPassword", + "IncludeInCommandLine":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Enable Player Whitelist", + "Category":"ARK Server Settings", + "Description":"If set, only players with Steam64 IDs listed under Whitelisted Players can join the server", + "Keywords":"player,whitelist,exclusivejoin", + "FieldName":"exclusivejoin", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"exclusivejoin", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-exclusivejoin " + } + }, + { + "DisplayName":"Whitelisted Players", + "Category":"ARK Server Settings", + "Description":"List of [Steam64 IDs](https://steamidfinder.com/) for whitelisted players", + "Keywords":"player,whitelist,playersexclusivejoinlist", + "FieldName":"PlayerWhitelist", + "InputType":"list", + "IsFlagArgument":false, + "ParamFieldName":"PlayerWhitelist", + "DefaultValue":"", + "Special":"listfile:./ark-se/376030/ShooterGame/Binaries/Linux/PlayersExclusiveJoinList.txt", + "EnumValues":{} + }, + { + "DisplayName":"Whitelisted Players", + "Category":"ARK Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"PlayerWhitelist", + "InputType":"list", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"PlayerWhitelist", + "DefaultValue":"", + "Special":"listfile:./ark-se/376030/ShooterGame/Binaries/Win64/PlayersExclusiveJoinList.txt", + "EnumValues":{} + }, + { + "DisplayName":"Spectator Password", + "Category":"ARK Server Settings", + "Description":"Sets the password for non-admin spectators on the server. Don't include a question mark", + "Keywords":"spectator,password,spectatorpassword", + "FieldName":"SpectatorPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"SpectatorPassword", + "IncludeInCommandLine":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"ARK Server Settings", + "Description":"Sets the maximum number of players allowed on the server", + "Keywords":"max,players,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"MaxPlayers", + "IncludeInCommandLine":true, + "DefaultValue":"70", + "Placeholder":"70", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"MultiHome IP Binding", + "Category":"ARK Server Settings", + "Description":"Sets the binding of the server. Default is blank. Change to internal interface IP if required. NOTE: Also change App.ApplicationIPBinding in GenericModule.kvp for the instance, or the AMP console will not work", + "Keywords":"ip,binding,address,multihome", + "FieldName":"MultiHome", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"MultiHome", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Enable BattlEye", + "Category":"ARK Server Settings", + "Description":"If set, BattlEye will be enabled on the server", + "Keywords":"battleye,enable,usebattleye,nobattleye", + "FieldName":"BattlEye", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"BattlEye", + "IncludeInCommandLine":false, + "DefaultValue":"-UseBattlEye ", + "EnumValues":{ + "False":"-NoBattlEye ", + "True":"-UseBattlEye " + } + }, + { + "DisplayName":"Enable Crossplay", + "Category":"ARK Server Settings", + "Description":"If set, enables crossplay between Epic Game Store players and Steam players. Do not enable Epic Only at the same time", + "Keywords":"crossplay", + "FieldName":"crossplay", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"crossplay", + "IncludeInCommandLine":false, + "DefaultValue":"-crossplay ", + "EnumValues":{ + "False":"", + "True":"-crossplay " + } + }, + { + "DisplayName":"Enable Epic Only", + "Category":"ARK Server Settings", + "Description":"If set, only Epic Game Store players will be able to connect to the server. Do not enable Crossplay at the same time", + "Keywords":"epic,only,epiconly", + "FieldName":"epiconly", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"epiconly", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-epiconly " + } + }, + { + "DisplayName":"Public IP For Epic", + "Category":"ARK Server Settings", + "Description":"Sets the public IP for Epic Game Store players to connect to. If not set, and MultiHome IP Binding is specified but is not a public IP, then Epic Game Store players will not be able to connect", + "Keywords":"epic,public,ip,publicipforepic", + "FieldName":"PublicIPForEpic", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"PublicIPForEpic", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Enable Vivox", + "Category":"ARK Server Settings", + "Description":"If set, enables Vivox on Steam only servers (Vivox is the default for Epic Game Store enabled servers)", + "Keywords":"vivox,usevivox", + "FieldName":"UseVivox", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"UseVivox", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-UseVivox " + } + }, + { + "DisplayName":"Disable Valve Anti-Cheat", + "Category":"ARK Server Settings", + "Description":"If set, disables Valve Anti-Cheat (VAC). Only works on PC", + "Keywords":"valve,anti,cheat,anticheat,insecure", + "FieldName":"insecure", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"insecure", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-insecure " + } + }, + { + "DisplayName":"Banlist URL", + "Category":"ARK Server Settings", + "Description":"Sets a banlist to disallow access to the server to specified players (identified by Steam64 ID). Use either the global banlist of ARK, or a custom banlist URL", + "Keywords":"ban,banlist,blacklist,banlisturl", + "FieldName":"BanListURL", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerSettings.BanListURL", + "IncludeInCommandLine":false, + "DefaultValue":"http://arkdedicated.com/banlist.txt", + "Placeholder":"http://arkdedicated.com/banlist.txt", + "EnumValues":{} + }, + { + "DisplayName":"Enable Admin Logging In Chat", + "Category":"ARK Server Settings", + "Description":"If set, all admin commands used will be logged to in-game chat", + "Keywords":"admin,log,chat,adminlogging", + "FieldName":"AdminLogging", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AdminLogging", + "IncludeInCommandLine":true, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Kick Idle Players", + "Category":"ARK Server Settings", + "Description":"If set, characters that have not moved or interacted within the Kick Idle Players Period will be kicked from the server", + "Keywords":"kick,idle,players,enableidleplayerkick", + "FieldName":"EnableIdlePlayerKick", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"EnableIdlePlayerKick", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-EnableIdlePlayerKick " + } + }, + { + "DisplayName":"Kick Idle Players Period", + "Category":"ARK Server Settings", + "Description":"Sets the time period after which characters that have not moved or interacted will be kicked (if Kick Idle Players is enabled)", + "Keywords":"kick,idle,players,period,kickidleplayersperiod", + "FieldName":"KickIdlePlayersPeriod", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"KickIdlePlayersPeriod", + "IncludeInCommandLine":true, + "DefaultValue":"3600", + "Placeholder":"3600", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Auto Save Period", + "Category":"ARK Server Settings", + "Description":"Sets the interval for automatic saves. 0 = constant saving, 9000000 = effectively disabled", + "Keywords":"auto,save,period,minutes,autosaveperiodminutes", + "FieldName":"AutoSavePeriodMinutes", + "InputType":"number", + "MinValue":"0", + "MaxValue":"9000000", + "IsFlagArgument":false, + "ParamFieldName":"AutoSavePeriodMinutes", + "IncludeInCommandLine":true, + "DefaultValue":"15.0", + "Placeholder":"15.0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Language", + "Category":"ARK Server Settings", + "Description":"Sets the language of the server", + "Keywords":"language,culture", + "FieldName":"culture", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"culture", + "IncludeInCommandLine":false, + "DefaultValue":"en", + "EnumValues":{ + "ca":"Català", + "cs":"čeština", + "da":"dansk", + "de":"Deutsch", + "en":"English (default)", + "es":"Español", + "eu":"euskara", + "fi":"suomi", + "fr":"Français", + "hu":"magyar", + "it":"Italiano", + "ja":"日本語", + "ka":"ქართული", + "ko":"한국어", + "nl":"Nederlands", + "pl":"Polski", + "pt_BR":"Português brasileiro", + "ru":"Русский", + "sv":"Svenska", + "th":"ไทย", + "tr":"Türkçe", + "zh":"中文", + "zh-Hans-CN":"使用者", + "zh-TW":"国语" + } + }, + { + "DisplayName":"Custom Command Line Flags", + "Category":"ARK Server Settings", + "Description":"Sets custom [command line flags](https://ark.wiki.gg/wiki/Server_configuration#Command_Line) for the server (those that start with a - (dash)). Include the dash and separate with a space. Don't use flags already in AMP's settings!", + "Keywords":"custom,command,line,flags", + "FieldName":"CustomFlags", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomFlags", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"-allcores -d3d10", + "EnumValues":{} + }, + { + "DisplayName":"Custom Command Line Options", + "Category":"ARK Server Settings", + "Description":"Sets custom [command line options](https://ark.wiki.gg/wiki/Server_configuration#Command_Line) for the server (those that start with a ? (question mark)). Include the question mark but do not separate with a space. Don't use options already in AMP's settings!", + "Keywords":"custom,command,line,options", + "FieldName":"CustomOptions", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomOptions", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"?ClampItemStats=True?NewYear1UTC=1672592400", + "EnumValues":{} + }, + { + "DisplayName":"Enable PvE / Disable PvP", + "Category":"ARK Gameplay Settings", + "Description":"If set, PvE will be enabled, and PvP disabled", + "Keywords":"pve,pvp,serverpve", + "FieldName":"serverPVE", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"serverPVE", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Offline Raiding Prevention", + "Category":"ARK Gameplay Settings", + "Description":"If set, the Offline Raiding Prevention option will be enabled in PvP mode, preventing damage to a player's structures and creatures while the player is offline. For tribe creatures and structures, all tribe members must be offline", + "Keywords":"offline,pvp,raiding,prevention,preventofflinepvp", + "FieldName":"PreventOfflinePvP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventOfflinePvP", + "IncludeInCommandLine":true, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Offline Raiding Prevention Interval", + "Category":"ARK Gameplay Settings", + "Description":"Sets the time period after which an logged off player will be considered offline for the Offline Raiding Prevention option", + "Keywords":"offline,pvp,raiding,prevention,preventofflinepvpinterval", + "FieldName":"PreventOfflinePvPInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PreventOfflinePvPInterval", + "IncludeInCommandLine":true, + "DefaultValue":"60.0", + "Placeholder":"60.0", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Hardcore Mode", + "Category":"ARK Gameplay Settings", + "Description":"If set, enables hardcore mode, meaning player characters revert to level 1 upon death", + "Keywords":"hardcore,serverhardcore", + "FieldName":"serverHardcore", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"serverHardcore", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Difficulty Offset", + "Category":"ARK Gameplay Settings", + "Description":"Sets the difficulty offset, which is used to calculate the [difficulty level](https://ark.wiki.gg/wiki/Difficulty)", + "Keywords":"difficulty,offset,level,difficultyoffset", + "FieldName":"DifficultyOffset", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyOffset", + "IncludeInCommandLine":true, + "DefaultValue":"0.200000", + "Placeholder":"0.200000", + "EnumValues":{} + }, + { + "DisplayName":"Override Official Difficulty", + "Category":"ARK Gameplay Settings", + "Description":"If enabled, sets to 5 the default server difficulty level (instead of 4)", + "Keywords":"override,official,difficulty,overrideofficialdifficulty", + "FieldName":"OverrideOfficialDifficulty", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"OverrideOfficialDifficulty", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"?OverrideOfficialDifficulty=5.0" + } + }, + { + "DisplayName":"Enable Crosshair", + "Category":"ARK Gameplay Settings", + "Description":"If set, each player will be shown a crosshair", + "Keywords":"crosshair,servercrosshair", + "FieldName":"ServerCrosshair", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ServerCrosshair", + "IncludeInCommandLine":true, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable HUD", + "Category":"ARK Gameplay Settings", + "Description":"If set, the HUD (head-up display) will always be disabled", + "Keywords":"hud,head-up,heads-up,display,serverforcenohud", + "FieldName":"serverForceNoHud", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"serverForceNoHud", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "Truue":"True" + } + }, + { + "DisplayName":"Show Player On Map", + "Category":"ARK Gameplay Settings", + "Description":"If set, shows each player their own precise position when they view their map", + "Keywords":"player,position,location,map,showmapplayerlocation", + "FieldName":"ShowMapPlayerLocation", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ShowMapPlayerLocation", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Third Person View", + "Category":"ARK Gameplay Settings", + "Description":"If set, third person view is enabled", + "Keywords":"third,person,3rd,view,allowthirdpersonplayer", + "FieldName":"AllowThirdPersonPlayer", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"allowThirdPersonPlayer", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Show Floating Damage Text", + "Category":"ARK Gameplay Settings", + "Description":"If set, damage caused is shown in a RPG style pop-up text", + "Keywords":"show,floating,damage,text,showfloatingdamagetext", + "FieldName":"ShowFloatingDamageText", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ShowFloatingDamageText", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Spawn Animation", + "Category":"ARK Gameplay Settings", + "Description":"If set, player characters spawn and respawn without the wake-up animation", + "Keywords":"prevent,spawn,animations,preventspawnanimations", + "FieldName":"PreventSpawnAnimations", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventSpawnAnimations", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable Creature Mate Boost", + "Category":"ARK Gameplay Settings", + "Description":"If set, disables creature mate boosting", + "Keywords":"prevent,mate,boost,preventmateboost", + "FieldName":"PreventMateBoost", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventMateBoost", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Hit Markers", + "Category":"ARK Gameplay Settings", + "Description":"If set, enables optional hit markers for ranged attacks", + "Keywords":"allow,hit,markers,allowhitmarkers", + "FieldName":"AllowHitMarkers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowHitMarkers", + "IncludeInCommandLine":true, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Maximum Tamed Creatures", + "Category":"ARK Gameplay Settings", + "Description":"Sets the maximum number of tamed creatures on the server. This is a global cap", + "Keywords":"maximum,tamed,creatures,limit,maxtameddinos", + "FieldName":"MaxTamedDinos", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MaxTamedDinos", + "IncludeInCommandLine":true, + "DefaultValue":"4000", + "Placeholder":"4000", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Personal Tamed Creatures", + "Category":"ARK Gameplay Settings", + "Description":"Sets the maximum number of tamed creatures that a tribe is allowed to have", + "Keywords":"maximum,tamed,personal,creatures,limit,maxpersonaltameddinos", + "FieldName":"MaxPersonalTamedDinos", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MaxPersonalTamedDinos", + "IncludeInCommandLine":true, + "DefaultValue":"500", + "Placeholder":"500", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Tribute Creatures", + "Category":"ARK Gameplay Settings", + "Description":"Sets the maximum number of slots for uploaded creatures", + "Keywords":"maximum,tribute,creatures,limit,maxtributedinos", + "FieldName":"MaxTributeDinos", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MaxTributeDinos", + "IncludeInCommandLine":true, + "DefaultValue":"20", + "Placeholder":"20", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Structures", + "Category":"ARK Gameplay Settings", + "Description":"Sets the maximum number of structures that can be constructed within a certain range", + "Keywords":"maximum,structures,limit,themaxstructuresinrange", + "FieldName":"TheMaxStructuresInRange", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"TheMaxStructuresInRange", + "IncludeInCommandLine":true, + "DefaultValue":"10500", + "Placeholder":"10500", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Tribute Items", + "Category":"ARK Gameplay Settings", + "Description":"Sets the maximum number of slots for uploaded items and resources", + "Keywords":"maximum,tribute,items,limit,maxtributeitems", + "FieldName":"MaxTributeItems", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MaxTributeItems", + "IncludeInCommandLine":true, + "DefaultValue":"50", + "Placeholder":"50", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Players In Tribe", + "Category":"ARK Gameplay Settings", + "Description":"Sets the maximum number of players in each tribe. 0 = no limit, 1 = tribes effectively disabled", + "Keywords":"maximum,tribe,players,limit,maxnumberofplayersintribe", + "FieldName":"MaxNumberOfPlayersInTribe", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.MaxNumberOfPlayersInTribe", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Prevent Tribe Alliances", + "Category":"ARK Gameplay Settings", + "Description":"If set, tribes will be prevented from creating alliances", + "Keywords":"prevent,tribe,alliances,preventtribealliances", + "FieldName":"PreventTribeAlliances", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventTribeAlliances", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable PvP Friendly Fire", + "Category":"ARK Gameplay Settings", + "Description":"If set, prevents friendly fire among tribe-mates, tribe-creatures and tribe-structures on PvP servers", + "Keywords":"pvp,friendly,fire,bdisablefriendlyfire", + "FieldName":"bDisableFriendlyFire", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bDisableFriendlyFire", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable PvE Friendly Fire", + "Category":"ARK Gameplay Settings", + "Description":"If set, prevents friendly fire among tribe-mates, tribe-creatures and tribe-structures on PvE servers", + "Keywords":"pve,friendly,fire,bpvedisablefriendlyfire", + "FieldName":"bPvEDisableFriendlyFire", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bPvEDisableFriendlyFire", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable PvP Gamma", + "Category":"ARK Gameplay Settings", + "Description":"If set, allows gamma changes in PvP mode", + "Keywords":"pvp,gamma,enablepvpgamma", + "FieldName":"EnablePVPGamma", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"EnablePVPGamma", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable PvE Gamma", + "Category":"ARK Gameplay Settings", + "Description":"If set, prevents gamma changes in PvE mode", + "Keywords":"pve,gamma,disablepvegamma", + "FieldName":"DisablePVEGamma", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"DisablePVEGamma", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Notify Player Join", + "Category":"ARK Gameplay Settings", + "Description":"If set, players will always be notified if someone joins the server", + "Keywords":"notify,player,join,alwaysnotifyplayerjoined", + "FieldName":"AlwaysNotifyPlayerJoined", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ServerSettings.AlwaysNotifyPlayerJoined", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Notify Player Leave", + "Category":"ARK Gameplay Settings", + "Description":"If set, players will always be notified if someone leaves the server", + "Keywords":"notify,player,leave,alwaysnotifyplayerleft", + "FieldName":"alwaysNotifyPlayerLeft", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"alwaysNotifyPlayerLeft", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Global Voice Chat", + "Category":"ARK Gameplay Settings", + "Description":"If set, voice chat will be enabled globally", + "Keywords":"voice,chat,globalvoicechat", + "FieldName":"globalVoiceChat", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"globalVoiceChat", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Proximity Chat", + "Category":"ARK Gameplay Settings", + "Description":"If set, only players near each other can see each other's chat messages", + "Keywords":"proximity,chat,proximitychat", + "FieldName":"proximityChat", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"proximityChat", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow PvE Cave Building", + "Category":"ARK Gameplay Settings", + "Description":"If set, allows building in caves in PvE mode", + "Keywords":"pve,cave,building,allowcavebuildingpve", + "FieldName":"AllowCaveBuildingPVE", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ServerSettings.AllowCaveBuildingPVE", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow PvE Flyer Carry", + "Category":"ARK Gameplay Settings", + "Description":"If set, flyers will be permitted to pick up other creatures and players when mounted by a player in PvE mode", + "Keywords":"pve,flyer,carry,allowflyercarrypve", + "FieldName":"AllowFlyerCarryPvE", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowFlyerCarryPvE", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Cave Flyers", + "Category":"ARK Gameplay Settings", + "Description":"If set, flyers will always be allowed into caves", + "Keywords":"allow,cave,flyers,forceallowcaveflyers", + "FieldName":"ForceAllowCaveFlyers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ForceAllowCaveFlyers", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-ForceAllowCaveFlyers " + } + }, + { + "DisplayName":"Disable Wild Creature Spawn", + "Category":"ARK Gameplay Settings", + "Description":"If set, wild creatures will not be spawned in the server. For an existing server, existing creatures need to be wiped with the admin command \"destroywilddinos\"", + "Keywords":"no,creatures,spawn,nodinos", + "FieldName":"nodinos", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"nodinos", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-nodinos " + } + }, + { + "DisplayName":"Prevent Hibernation", + "Category":"ARK Gameplay Settings", + "Description":"If set, creatures in inactive zones will not hibernate, at the cost of performance and memory usage", + "Keywords":"prevent,hibernation,preventhibernation", + "FieldName":"PreventHibernation", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventHibernation", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-PreventHibernation " + } + }, + { + "DisplayName":"Force Wild Creature Respawn On Start", + "Category":"ARK Gameplay Settings", + "Description":"If set, all wild creatures that are not currently being tamed will be destroyed on server start", + "Keywords":"force,creature,respawn,forcerespawndinos", + "FieldName":"ForceRespawnDinos", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ForceRespawnDinos", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-ForceRespawnDinos " + } + }, + { + "DisplayName":"Force Wild Creature Respawn At Interval", + "Category":"ARK Gameplay Settings", + "Description":"Sets the period to force respawns of wild creatures to prevent certain types (like the Basilo and Spino) from becoming depopulated on long running servers, as well as removing any lingering event creatures. 0 = disabled", + "Keywords":"auto,force,respawn,wild,creatures,interval,serverautoforcerespawnwilddinosinterval", + "FieldName":"ServerAutoForceRespawnWildDinosInterval", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ServerAutoForceRespawnWildDinosInterval", + "IncludeInCommandLine":false, + "DefaultValue":"604800", + "Placeholder":"604800", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Disable Tek Railgun", + "Category":"ARK Gameplay Settings", + "Description":"If set, the Tek Railgun will be disabled in PvP mode", + "Keywords":"disable,tek,railgun,disablerailgunpvp", + "FieldName":"DisableRailgunPVP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"DisableRailgunPVP", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-DisableRailgunPVP " + } + }, + { + "DisplayName":"Disable Loot Crates", + "Category":"ARK Gameplay Settings", + "Description":"If set, loot crates will not spawn. Artifact crates will still spawn", + "Keywords":"disable,loot,crates,disablelootcrates", + "FieldName":"bDisableLootCrates", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bDisableLootCrates", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Player Radius For No Resource Replenish", + "Category":"ARK Gameplay Settings", + "Description":"Sets the distance around players where resources are not allowed to grow back. Values higher than 1 increase it, values between 0 and 1 reduce it", + "Keywords":"player,resource,radius,resourcenoreplenishradiusplayers", + "FieldName":"ResourceNoReplenishRadiusPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.ResourceNoReplenishRadiusPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Structure Radius For No Resource Replenish", + "Category":"ARK Gameplay Settings", + "Description":"Sets the distance around structures where resources are not allowed to grow back. Values higher than 1 increase it, values between 0 and 1 reduce it", + "Keywords":"structure,resource,radius,resourcenoreplenishradiusstructures", + "FieldName":"ResourceNoReplenishRadiusStructures", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.ResourceNoReplenishRadiusStructures", + "IncludeInCommandLine":false, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Disable PvE Creature Decay", + "Category":"ARK Gameplay Settings", + "Description":"If set, the gradual (7 days) decay (or unclaiming) of creature ownership will be disabled in PvE mode. Otherwise, every creature can be claimed by any player", + "Keywords":"pve,dino,decay,unclaim,disabledinodecaypve", + "FieldName":"DisableDinoDecayPvE", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"DisableDinoDecayPvE", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable PvP Creature Decay", + "Category":"ARK Gameplay Settings", + "Description":"If set, the gradual decay (or unclaiming) of creature ownership will be enabled in PvP mode", + "Keywords":"pvp,dino,decay,unclaim,pvpdinodecay", + "FieldName":"PvPDinoDecay", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PvPDinoDecay", + "IncludeInCommandLine":true, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Passive Defence Damage", + "Category":"ARK Gameplay Settings", + "Description":"If set, wild creatures and riderless creatures can take damage from passive defence structures like spikewalls", + "Keywords":"passive,defense,defence,damage,bpassivedefensesdamageriderlessdinos", + "FieldName":"bPassiveDefensesDamageRiderlessDinos", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bPassiveDefensesDamageRiderlessDinos", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Diseases", + "Category":"ARK Gameplay Settings", + "Description":"If set, diseases will be completely disabled on the server", + "Keywords":"prevent,diseases,preventdiseases", + "FieldName":"PreventDiseases", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventDiseases", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable Permanent Diseases", + "Category":"ARK Gameplay Settings", + "Description":"If set, diseases will not be permanent (they will be lost on respawn)", + "Keywords":"non,permanent,diseases,nonpermanentdiseases", + "FieldName":"NonPermanentDiseases", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NonPermanentDiseases", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Care By Anyone", + "Category":"ARK Gameplay Settings", + "Description":"If set, enables anyone to \"take care\" of baby creatures (cuddle etc), not just whomever imprinted on it", + "Keywords":"care,baby,creature,cuddle,imprint,allowanyonebabyimprintcuddle", + "FieldName":"AllowAnyoneBabyImprintCuddle", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowAnyoneBabyImprintCuddle", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable Imprint Creature Buff", + "Category":"ARK Gameplay Settings", + "Description":"If set, disables the creature imprinting player Stat Bonus (where whomever specifically imprinted on the creature, and raised it to have an imprinting quality, gets extra damage/resistance buff)", + "Keywords":"buff,creature,imprint,disableimprintdinobuff", + "FieldName":"DisableImprintDinoBuff", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"DisableImprintDinoBuff", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Destroy Unconnected Water Pipes", + "Category":"ARK Gameplay Settings", + "Description":"If set, water pipes will be destroyed automatically after two real-time days, if unconnected to any non-pipe (directly or indirectly) and no allied player is nearby", + "Keywords":"unconnected,water,pipes,destroy,destroyunconnectedwaterpipes", + "FieldName":"DestroyUnconnectedWaterPipes", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"DestroyUnconnectedWaterPipes", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Minimum Creature Re-upload Interval", + "Category":"ARK Gameplay Settings", + "Description":"Sets the cooldown period between allowed creature re-uploads", + "Keywords":"creature,upload,interval,minimumdinoreuploadinterval", + "FieldName":"MinimumDinoReuploadInterval", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"MinimumDinoReuploadInterval", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Auto Destroy Decayed Creatures", + "Category":"ARK Gameplay Settings", + "Description":"If set, claimable decayed creatures will be auto-destroyed on load, rather than remaining around as claimable", + "Keywords":"destroy,auto,decay,creature,autodestroydecayeddinos", + "FieldName":"AutoDestroyDecayedDinos", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AutoDestroyDecayedDinos", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Optimize Harvest Amount Multiplier", + "Category":"ARK Gameplay Settings", + "Description":"If set, optimizes the server performance when using a higher Harvest Amount Multiplier, by reducing the bias towards yielding rarer items", + "Keywords":"optimized,harvest,multiplier,useoptimizedharvestinghealth", + "FieldName":"UseOptimizedHarvestingHealth", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"UseOptimizedHarvestingHealth", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Force Flyer Explosives", + "Category":"ARK Gameplay Settings", + "Description":"If set, allows flyers to fly with C4 attached to them. Otherwise, except for Quetzal and Wyvern, they can't fly", + "Keywords":"flyer,explosives,forceflyerexplosives", + "FieldName":"ForceFlyerExplosives", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ForceFlyerExplosives", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Multiple Attached C4", + "Category":"ARK Gameplay Settings", + "Description":"If enabled, more than one C4 can be attached per creature", + "Keywords":"c4,multiple,attached,allowmultipleattachedc4", + "FieldName":"AllowMultipleAttachedC4", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowMultipleAttachedC4", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Flying Stamina Recovery", + "Category":"ARK Gameplay Settings", + "Description":"If set, flyers can recover stamina when a player is standing on them instead of riding", + "Keywords":"flying,stamina,recovery,allowflyingstaminarecovery", + "FieldName":"AllowFlyingStaminaRecovery", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowFlyingStaminaRecovery", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable Weather Fog", + "Category":"ARK Gameplay Settings", + "Description":"If set, fog is disabled", + "Keywords":"weather,fog,disableweatherfog", + "FieldName":"DisableWeatherFog", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"DisableWeatherFog", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Random Supply Crate Points", + "Category":"ARK Gameplay Settings", + "Description":"If enabled, supply drops will be in random locations. NOTE: This setting is known to cause artifacts to become inaccessible on the Ragnarok map", + "Keywords":"random,supply,crate,points,randomsupplycratepoints", + "FieldName":"RandomSupplyCratePoints", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"RandomSupplyCratePoints", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Foreign Creature Downloads on Aberration", + "Category":"ARK Gameplay Settings", + "Description":"If set, enables tribute download of non-native creatures on the Aberration map", + "Keywords":"foreign,creature,download,crossarkallowforeigndinodownloads", + "FieldName":"CrossARKAllowForeignDinoDownloads", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"CrossARKAllowForeignDinoDownloads", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Day/Night Cycle Speed Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the server day/night cycle. The default value 1 sets the same speed as a singleplayer game, ie 1 minute real time = approx 28 minutes server time. A scale of 0.035 would set a day/night cycle of approx 24 hours real time", + "Keywords":"day,night,cycle,speed,multiplier,daycyclespeedscale", + "FieldName":"DayCycleSpeedScale", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DayCycleSpeedScale", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Day Time Speed Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the length of each server day, relative to the length of each night. Lowering this value increases the day length", + "Keywords":"day,time,speed,multiplier,daytimespeedscale", + "FieldName":"DayTimeSpeedScale", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DayTimeSpeedScale", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Night Time Speed Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the length of each server night, relative to the length of each day. Lowering this value increases the night length", + "Keywords":"night,time,speed,multiplier,nighttimespeedscale", + "FieldName":"NightTimeSpeedScale", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"NightTimeSpeedScale", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"XP Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for experience (XP) received by players, tribes and creatures for various actions. The default value 1 provides the same experience as a singleplayer game. Higher values increase XP amounts awarded, lower values decrease it", + "Keywords":"xp,experience,multiplier,xpmultiplier", + "FieldName":"XPMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"XPMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Player Food Drain Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for player characters' food consumption. Higher values increase food consumption (player characters get hungry faster)", + "Keywords":"player,food,drain,hunger,multiplier,playercharacterfooddrainmultiplier", + "FieldName":"PlayerCharacterFoodDrainMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PlayerCharacterFoodDrainMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Player Water Drain Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for player characters' water consumption. Higher values increase water consumption (player characters get thirsty faster)", + "Keywords":"player,water,drain,thirst,multiplier,playercharacterwaterdrainmultiplier", + "FieldName":"PlayerCharacterWaterDrainMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PlayerCharacterWaterDrainMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Player Health Recovery Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for player characters' health recovery. Higher values increase the recovery rate (player characters heal faster)", + "Keywords":"player,health,recovery,multiplier,playercharacterhealthrecoverymultiplier", + "FieldName":"PlayerCharacterHealthRecoveryMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PlayerCharacterHealthRecoveryMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Player Stamina Drain Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for player characters' stamina consumption. Higher values increase stamina consumption (player characters get tired faster)", + "Keywords":"player,stamina,drain,multiplier,playercharacterstaminadrainmultiplier", + "FieldName":"PlayerCharacterStaminaDrainMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PlayerCharacterStaminaDrainMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Player Damage Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the damage that players cause with their attacks. The default value 1 causes normal damage. Higher values increase damage, lower values decrease it", + "Keywords":"player,damage,multiplier,playerdamagemultiplier", + "FieldName":"PlayerDamageMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PlayerDamageMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Player Resistance Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for players' damage resistance when attacked. The default value 1 causes normal damage. Higher values decrease resistance, increasing damage per attack. Lower values increase it, reducing damage per attack", + "Keywords":"player,resistance,multiplier,playerresistancemultiplier", + "FieldName":"PlayerResistanceMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PlayerResistanceMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Creature Food Drain Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for creatures' food consumption. Higher values increase food consumption (creatures get hungry faster)", + "Keywords":"creature,food,drain,hunger,multiplier,dinocharacterfooddrainmultiplier", + "FieldName":"DinoCharacterFoodDrainMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DinoCharacterFoodDrainMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Creature Health Recovery Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for creatures' health recovery. Higher values increase the recovery rate (creatures heal faster)", + "Keywords":"creature,health,recovery,multiplier,dinocharacterhealthrecoverymultiplier", + "FieldName":"DinoCharacterHealthRecoveryMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DinoCharacterHealthRecoveryMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Creature Stamina Drain Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for creatures' stamina consumption. Higher values increase stamina consumption (creatures get tired faster)", + "Keywords":"creature,stamina,drain,multiplier,dinocharacterstaminadrainmultiplier", + "FieldName":"DinoCharacterStaminaDrainMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DinoCharacterStaminaDrainMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Creature Damage Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the damage that wild creatures cause with their attacks. The default value 1 causes normal damage. Higher values increase damage, lower values decrease it", + "Keywords":"creature,damage,multiplier,dinodamagemultiplier", + "FieldName":"DinoDamageMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DinoDamageMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Creature Resistance Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for wild creatures' damage resistance when attacked. The default value 1 causes normal damage. Higher values decrease resistance, increasing damage per attack. Lower values increase it, reducing damage per attack", + "Keywords":"creature,resistance,multiplier,dinoresistancemultiplier", + "FieldName":"DinoResistanceMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DinoResistanceMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Creature Spawn Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for creature spawns. Higher values increase the number of creatures spawned throughout the server", + "Keywords":"creature,spawn,multiplier,dinocountmultiplier", + "FieldName":"DinoCountMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DinoCountMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"PvE Creature Decay Period Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Set the scaling factor for the unclaiming speed of creatures in PvE mode", + "Keywords":"pve,creature,decay,period,multiplier,pvedinodecayperiodmultiplier", + "FieldName":"PvEDinoDecayPeriodMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PvEDinoDecayPeriodMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Structure Damage Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the damage that structures (spikewalls) cause with their attacks. The default value 1 causes normal damage. Higher values increase damage, lower values decrease it", + "Keywords":"structure,damage,multiplier,structuredamagemultiplier", + "FieldName":"StructureDamageMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StructureDamageMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Structure Resistance Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for structures' damage resistance when attacked. The default value 1 causes normal damage. Higher values decrease resistance, increasing damage per attack. Lower values increase it, reducing damage per attack", + "Keywords":"structure,resistance,multiplier,structureresistancemultiplier", + "FieldName":"StructureResistanceMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"StructureResistanceMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"PvE Structure Decay Period Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the decay rate of player structures in PvE mode", + "Keywords":"pve,structure,decay,pvestructuredecayperiodmultiplier", + "FieldName":"PvEStructureDecayPeriodMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PvEStructureDecayPeriodMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Platform Structures Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the maximum number of structures placeable on platform saddles and rafts. NOTE: high values may lead to lag", + "Keywords":"saddle,platform,raft,structure,multiplier,perplatformmaxstructuresmultiplier", + "FieldName":"PerPlatformMaxStructuresMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PerPlatformMaxStructuresMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Auto Structure Destruction Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor, relative to the period for allowing claims, to automatically destroy structures if there has been no near tribe player during that time", + "Keywords":"time,tribe,structure,destroy,autodestroyoldstructuresmultiplier", + "FieldName":"AutoDestroyOldStructuresMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"AutoDestroyOldStructuresMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Harvest Amount Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for yields from all harvesting activities (chopping down trees, picking berries, carving carcasses, mining rocks, etc). Higher values increase the amount harvested with each strike", + "Keywords":"harvest,yield,multiplier,harvestamountmultiplier", + "FieldName":"HarvestAmountMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"HarvestAmountMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Harvest Health Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the \"health\" of harvestable items (trees, rocks, carcasses, etc). Higher values increase the number of strikes needed to destroy them, increasing harvest yields", + "Keywords":"harvest,health,multiplier,harvesthealthmultiplier", + "FieldName":"HarvestHealthMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"HarvestHealthMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Resources Respawn Period Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for the resource node respawn rate (trees, rocks, bushes, etc). Lower values cause nodes to respawn more frequently", + "Keywords":"resource,respawn,period,multiplier,resourcesrespawnperiodmultiplier", + "FieldName":"ResourcesRespawnPeriodMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ResourcesRespawnPeriodMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Creature Taming Speed Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for creature taming speed. Higher values make taming faster", + "Keywords":"taming,speed,multiplier,tamingspeedmultiplier", + "FieldName":"TamingSpeedMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"TamingSpeedMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Oxygen Swim Speed Multiplier", + "Category":"ARK Multiplier Settings", + "Description":"Sets the scaling factor for swim speed, relative to the level spent in oxygen", + "Keywords":"swim,speed,oxygen,oxygenswimspeedstatmultiplier", + "FieldName":"OxygenSwimSpeedStatMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"OxygenSwimSpeedStatMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Enable Structure Stasis Grid", + "Category":"ARK Structure Settings", + "Description":"If set, enables the structure stasis grid to improve server performance on large bases with lots of players. Structures are loaded based on grids with players. Not recommended for modded servers", + "Keywords":"structure,stasis,grid,usestructurestasisgrid", + "FieldName":"UseStructureStasisGrid", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"UseStructureStasisGrid", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-UseStructureStasisGrid " + } + }, + { + "DisplayName":"Auto Destroy Structures", + "Category":"ARK Structure Settings", + "Description":"If set, auto destruction of old structures will be enabled. The destruction timer can be adjusted with Auto Structure Destruction Multiplier", + "Keywords":"auto,destroy,structures,autodestroystructures", + "FieldName":"AutoDestroyStructures", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AutoDestroyStructures", + "IncludeInCommandLine":false, + "DefaultValue":"-AutoDestroyStructures ", + "EnumValues":{ + "False":"", + "True":"-AutoDestroyStructures " + } + }, + { + "DisplayName":"Auto Destroy Core Structures Only", + "Category":"ARK Structure Settings", + "Description":"If set, any non-core/non-foundation structures will not be auto destroyed (assuming Auto Destroy Structures is enabled), except if a floor they are on is auto destroyed", + "Keywords":"auto,destroy,core,structures,onlyautodestroycorestructures", + "FieldName":"OnlyAutoDestroyCoreStructures", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"OnlyAutoDestroyCoreStructures", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Only Auto Destroy Unsnapped Core Structures", + "Category":"ARK Structure Settings", + "Description":"If set, only unsnapped core structures will decay (be auto destroyed). Useful for eliminating lone pillar/foundation spam on servers in PvP mode", + "Keywords":"auto,destroy,unsnapped,core,structures,onlydecayunsnappedcorestructures", + "FieldName":"OnlyDecayUnsnappedCoreStructures", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"OnlyDecayUnsnappedCoreStructures", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable PvE Structure Decay", + "Category":"ARK Structure Settings", + "Description":"If set, the gradual (7 days) decay of player structures will be disabled in PvE mode", + "Keywords":"pve,structure,decay,disablestructuredecaypve", + "FieldName":"DisableStructureDecayPvE", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"DisableStructureDecayPvE", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable PvP Structure Decay", + "Category":"ARK Structure Settings", + "Description":"If set, the gradual decay of structures will be enabled in PvP mode", + "Keywords":"pvp,structure,decay,pvpstructuredecay", + "FieldName":"PvPStructureDecay", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PvPStructureDecay", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Fast Decay Unsnapped Core Structures", + "Category":"ARK Structure Settings", + "Description":"If set, unsnapped foundations/pillars will decay at 5x speed", + "Keywords":"fast,decay,unsnapped,core,structure,fastdecayunsnappedcorestructures", + "FieldName":"FastDecayUnsnappedCoreStructures", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FastDecayUnsnappedCoreStructures", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Structure Damage Repair Cooldown", + "Category":"ARK Structure Settings", + "Description":"Sets the cooldown period on structure repair from the last time damaged. 0 = disabled (structures can always be repaired)", + "Keywords":"structure,damage,repair,cooldown,structuredamagerepaircooldown", + "FieldName":"StructureDamageRepairCooldown", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.StructureDamageRepairCooldown", + "IncludeInCommandLine":false, + "DefaultValue":"180", + "Placeholder":"180", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Platform Saddle Limit", + "Category":"ARK Structure Settings", + "Description":"Sets the maximum number of platformed-creatures/rafts allowed on the server", + "Keywords":"maximum,platform,saddle,structure,limit,maxplatformsaddlestructurelimit", + "FieldName":"MaxPlatformSaddleStructureLimit", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ServerSettings.MaxPlatformSaddleStructureLimit", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Placeholder":"100", + "EnumValues":{} + }, + { + "DisplayName":"Platform Saddle Cost", + "Category":"ARK Structure Settings", + "Description":"Sets the number of \"tamed creature slots\" a platform saddle will use", + "Keywords":"tamed,creature,cost,saddle,platform,personaltameddinossaddlestructurecost", + "FieldName":"PersonalTamedDinosSaddleStructureCost", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"PersonalTamedDinosSaddleStructureCost", + "IncludeInCommandLine":true, + "DefaultValue":"19", + "Placeholder":"19", + "EnumValues":{} + }, + { + "DisplayName":"Override Structure Platform Prevention", + "Category":"ARK Structure Settings", + "Description":"If set, turret and spike structures will be buildable and functional on platform saddles", + "Keywords":"override,structure,platform,overridestructureplatformprevention", + "FieldName":"OverrideStructurePlatformPrevention", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"OverrideStructurePlatformPrevention", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable Building In Rich Resource Areas", + "Category":"ARK Structure Settings", + "Description":"If set, completely disables building in specific resource-rich areas, in particular setup on The Island around the major mountains", + "Keywords":"rich,resources,block,building,extra,structure,prevention,enableextrastructurepreventionvolumes", + "FieldName":"EnableExtraStructurePreventionVolumes", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"EnableExtraStructurePreventionVolumes", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Crate Spawns On Structures", + "Category":"ARK Structure Settings", + "Description":"If set, from-the-air supply crates can appear on top of structures, rather than being prevented by structures", + "Keywords":"crates,structures,allowcratespawnsontopofstructures", + "FieldName":"AllowCrateSpawnsOnTopOfStructures", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowCrateSpawnsOnTopOfStructures", + "IncludeInCommandLine":true, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow PvE Structures At Supply Drops", + "Category":"ARK Structure Settings", + "Description":"If set, building near supply drop points will be allowed in PvE mode", + "Keywords":"pve,supply,drops,structures,pveallowstructuresatsupplydrops", + "FieldName":"PvEAllowStructuresAtSupplyDrops", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PvEAllowStructuresAtSupplyDrops", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable Structure Placement Collision", + "Category":"ARK Structure Settings", + "Description":"If set, allows for structures to clip into the terrain", + "Keywords":"structure,placement,collision,bdisablestructureplacementcollision", + "FieldName":"bDisableStructurePlacementCollision", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bDisableStructurePlacementCollision", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Cluster Directory Override", + "Category":"ARK Cluster Settings", + "Description":"Sets the path to a shared cluster directory for a server cluster. The cluster directory must be accessible to all cluster servers. If the server is in Docker, the directory must be mounted in the container", + "Keywords":"cluster,directory,override,clusterdiroverride", + "FieldName":"ClusterDirOverride", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ClusterDirOverride", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Cluster ID", + "Category":"ARK Cluster Settings", + "Description":"Sets the cluster ID for a server cluster. The cluster ID must be the same on all servers in the cluster", + "Keywords":"cluster,id,clusterid", + "FieldName":"clusterid", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"clusterid", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Filter Transfers", + "Category":"ARK Cluster Settings", + "Description":"If set, prevents uploads from and downloads to servers that are not part of the cluster", + "Keywords":"filter,data,transfer,cluster,notransferfromfiltering", + "FieldName":"NoTransferFromFiltering", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"NoTransferFromFiltering", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-NoTransferFromFiltering " + } + }, + { + "DisplayName":"Prevent Character Download", + "Category":"ARK Cluster Settings", + "Description":"If set, prevents the download of characters from a cluster to the server", + "Keywords":"prevent,download,tribute,characters,data,transfer,cluster,notributedownloads", + "FieldName":"noTributeDownloads", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"noTributeDownloads", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Survivor Download", + "Category":"ARK Cluster Settings", + "Description":"If set, prevents the download of survivors from a cluster to the server", + "Keywords":"prevent,download,survivor,data,transfer,cluster,preventdownloadsurvivors", + "FieldName":"PreventDownloadSurvivors", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventDownloadSurvivors", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Item Download", + "Category":"ARK Cluster Settings", + "Description":"If set, prevents the download of items from a cluster to the server", + "Keywords":"prevent,download,items,data,transfer,cluster,preventdownloaditems", + "FieldName":"PreventDownloadItems", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventDownloadItems", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Creature Download", + "Category":"ARK Cluster Settings", + "Description":"If set, prevents the download of tamed creatures from a cluster to the server", + "Keywords":"prevent,download,creatures,data,transfer,cluster,preventdownloaddinos", + "FieldName":"PreventDownloadDinos", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventDownloadDinos", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Survivor Upload", + "Category":"ARK Cluster Settings", + "Description":"If set, prevents the upload of survivors from the server to a cluster", + "Keywords":"prevent,upload,survivor,data,transfer,cluster,preventuploadsurvivors", + "FieldName":"PreventUploadSurvivors", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventUploadSurvivors", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Item Upload", + "Category":"ARK Cluster Settings", + "Description":"If set, prevents the upload of items from the server to a cluster", + "Keywords":"prevent,upload,items,data,transfer,cluster,preventuploaditems", + "FieldName":"PreventUploadItems", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventUploadItems", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Creature Upload", + "Category":"ARK Cluster Settings", + "Description":"If set, prevents the upload of tamed creatures from the server to a cluster", + "Keywords":"prevent,upload,creatures,data,transfer,cluster,preventuploaddinos", + "FieldName":"PreventUploadDinos", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PreventUploadDinos", + "IncludeInCommandLine":true, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Download Backup Exclusion Files", + "Category":"SteamCMD and Updates", + "Description":"If enabled, default backup exclusion configuration files are downloaded when the server is updated, to save space on AMP backups. If disabled, manually delete any .backupExclude files in the server base directory and in the ShooterGame directory to prevent backup exclusions", + "Keywords":"backup,exclude,exclusion,file", + "FieldName":"backupExclude", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"backupExclude", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + } +] \ No newline at end of file diff --git a/ark-segame.ini b/ark-segame.ini new file mode 100644 index 000000000..68030e417 --- /dev/null +++ b/ark-segame.ini @@ -0,0 +1,80 @@ +[/Script/ShooterGame.ShooterGameMode] +bDisableGenesisMissions=False +bIgnoreStructuresPreventionVolumes=True +bGenesisUseStructuresPreventionVolumes=True +bShowCreativeMode=False +bAutoUnlockAllEngrams=False +MaxTribeLogs=100 +bDisableFriendlyFire=False +bUseCorpseLocator=False +bDisableStructurePlacementCollision=False +bAllowUnlimitedRespecs=False +bPvEDisableFriendlyFire=False +bFlyerPlatformAllowUnalignedDinoBasing=False +bDisableLootCrates=False +bIncreasePvPRespawnInterval=False +IncreasePvPRespawnIntervalCheckPeriod=300 +IncreasePvPRespawnIntervalMultiplier=2 +IncreasePvPRespawnIntervalBaseAmount=60 +bAutoPvETimer=False +bAutoPvEUseSystemTime=False +AutoPvEStartTimeSeconds=0 +AutoPvEStopTimeSeconds=0 +bPvEAllowTribeWar=True +bPvEAllowTribeWarCancel=False +MaxAlliancesPerTribe=10 +MaxNumberOfPlayersInTribe=0 +FastDecayInterval=43200 +bAllowCustomRecipes=False +CustomRecipeEffectivenessMultiplier=1.00000 +CustomRecipeSkillMultiplier=1.00000 +bAllowPlatformSaddleMultiFloors=False +UseCorpseLifeSpanMultiplier=1.00000 +GlobalPoweredBatteryDurabilityDecreasePerSecond=3 +OverrideMaxExperiencePointsPlayer=0 +OverrideMaxExperiencePointsDino=0 +PlayerHarvestingDamageMultiplier=1.00000 +CraftingSkillBonusMultiplier=1.00000 +DinoHarvestingDamageMultiplier=3.20000 +DinoTurretDamageMultiplier=1.00000 +WildDinoCharacterFoodDrainMultiplier=1.00000 +WildDinoTorporDrainMultiplier=1.00000 +TamedDinoCharacterFoodDrainMultiplier=1.00000 +TamedDinoTorporDrainMultiplier=1.00000 +PassiveTameIntervalMultiplier=1.00000 +ResourceNoReplenishRadiusPlayers=1.00000 +ResourceNoReplenishRadiusStructures=1.00000 +GlobalItemDecompositionTimeMultiplier=1.00000 +GlobalCorpseDecompositionTimeMultiplier=1.00000 +CraftXPMultiplier=1.00000 +HarvestXPMultiplier=1.00000 +KillXPMultiplier=1.00000 +SpecialXPMultiplier=1.00000 +StructureDamageRepairCooldown=180 +PvPZoneStructureDamageMultiplier=6.00000 +bPassiveDefensesDamageRiderlessDinos=False +bLimitTurretsInRange=True +LimitTurretsRange=10000 +LimitTurretsNum=100 +bHardLimitTurretsInRange=False +PreventOfflinePvPConnectionInvincibleInterval=5.00000 +bDisableDinoRiding=False +bDisableDinoTaming=False +bUseTameLimitForStructuresOnly=False +GlobalSpoilingTimeMultiplier=1.00000 +BabyImprintingStatScaleMultiplier=1.00000 +BabyImprintAmountMultiplier=1.00000 +MatingIntervalMultiplier=1.00000 +LayEggIntervalMultiplier=1.00000 +EggHatchSpeedMultiplier=1.00000 +BabyMatureSpeedMultiplier=1.00000 +BabyCuddleIntervalMultiplier=1.00000 +BabyCuddleGracePeriodMultiplier=1.00000 +BabyCuddleLoseImprintQualitySpeedMultiplier=1.00000 +BabyFoodConsumptionSpeedMultiplier=1.00000 +SupplyCrateLootQualityMultiplier=1.00000 +FishingLootQualityMultiplier=1.00000 +CropGrowthSpeedMultiplier=1.00000 +PoopIntervalMultiplier=1.00000 +CropDecaySpeedMultiplier=1.00000 +HairGrowthSpeedMultiplier=1.00000 diff --git a/ark-selinux-gameusersettings.ini b/ark-selinux-gameusersettings.ini new file mode 100644 index 000000000..523a0397d --- /dev/null +++ b/ark-selinux-gameusersettings.ini @@ -0,0 +1,169 @@ +[ServerSettings] +BanListURL="http://arkdedicated.com/banlist.txt" +AlwaysNotifyPlayerJoined=False +AllowCaveBuildingPVE=False +MaxPlatformSaddleStructureLimit=100 + +[/Script/ShooterGame.ShooterGameUserSettings] +MasterAudioVolume=1.000000 +MusicAudioVolume=1.000000 +SFXAudioVolume=1.000000 +VoiceAudioVolume=2.000000 +CharacterAudioVolume=1.000000 +UIScaling=1.000000 +UIQuickbarScaling=0.650000 +CameraShakeScale=0.650000 +bFirstPersonRiding=False +bThirdPersonPlayer=False +bInventoryHideUnlearnedEngrams=False +bShowStatusNotificationMessages=True +TrueSkyQuality=0.000000 +FOVMultiplier=1.000000 +GroundClutterDensity=0.000000 +bFilmGrain=False +bMotionBlur=False +bUseDistanceFieldAmbientOcclusion=False +bUseSSAO=False +bShowChatBox=True +bCameraViewBob=True +bInvertLookY=False +bFloatingNames=True +bChatBubbles=True +bHideServerInfo=False +bJoinNotifications=False +bCraftablesShowAllItems=False +bLocalInventoryItemsShowAllItems=False +bLocalInventoryCraftingShowAllItems=True +bRemoteInventoryItemsShowAllItems=False +bRemoteInventoryCraftingShowAllItems=False +bRemoteInventoryShowEngrams=True +bForceDisableSuperDetailMode=True +LookLeftRightSensitivity=1.000000 +LookUpDownSensitivity=1.000000 +GraphicsQuality=1 +ActiveLingeringWorldTiles=1 +ClientNetQuality=3 +LastServerSearchType=0 +LastServerSort=2 +LastPVESearchType=-1 +LastDLCTypeSearchType=-1 +LastServerSortAsc=True +LastAutoFavorite=True +LastServerSearchHideFull=False +LastServerSearchProtected=False +LastServerSearchIncludeServersWithActiveMods=True +HideItemTextOverlay=True +bQuickToggleItemNames=True +bDistanceFieldShadowing=False +LODScalar=0.780000 +bToggleToTalk=False +HighQualityMaterials=True +HighQualitySurfaces=True +bTemperatureF=False +bDisableTorporEffect=False +bChatShowSteamName=False +bChatShowTribeName=True +bReverseTribeLogOrder=False +EmoteKeyBind1=0 +EmoteKeyBind2=0 +bNoBloodEffects=False +bLowQualityVFX=False +bSpectatorManualFloatingNames=False +bSuppressAdminIcon=False +bUseSimpleDistanceMovement=False +bDisableMeleeCameraSwingAnims=False +bHighQualityAnisotropicFiltering=False +bUseLowQualityLevelStreaming=True +bPreventInventoryOpeningSounds=False +bPreventItemCraftingSounds=False +bPreventHitMarkers=False +bPreventCrosshair=False +bPreventColorizedItemNames=False +bHighQualityLODs=False +bExtraLevelStreamingDistance=False +bEnableColorGrading=True +DOFSettingInterpTime=0.000000 +bDisableBloom=False +bDisableLightShafts=False +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +bDisableMenuTransitions=False +bEnableInventoryItemTooltips=True +bRemoteInventoryShowCraftables=False +bNoTooltipDelay=False +LocalItemSortType=0 +LocalCraftingSortType=0 +RemoteItemSortType=0 +RemoteCraftingSortType=0 +VersionMetaTag=1 +ShowExplorerNoteSubtitles=False +DisableMenuMusic=False +DisableDefaultCharacterItems=False +bRequestDefaultCharacterItemsOnce=False +bHasSeenGen2Intro=False +bHideFloatingPlayerNames=False +bHideGamepadItemSelectionModifier=False +bToggleExtendedHUDInfo=False +PlayActionWheelClickSound=True +CompanionReactionVerbosity=3 +EnableEnvironmentalReactions=True +EnableRespawnReactions=True +EnableDeathReactions=True +EnableSayHelloReactions=True +EnableEmoteReactions=True +EnableMovementSounds=True +DisableSubtitles=False +CompanionSubtitleVerbosityLevel=3 +CompanionIsHiddenState=False +MaxAscensionLevel=0 +bHostSessionHasBeenOpened=False +bForceTPVCameraOffset=False +bDisableTPVCameraInterpolation=False +bFPVClimbingGear=False +bFPVGlidingGear=False +Gamma1=2.200000 +Gamma2=3.000000 +AmbientSoundVolume=1.000000 +bAllowAnimationStaggering=True +bUseOldThirdPersonCameraTrace=False +bUseOldThirdPersonCameraOffset=False +bLowQualityAnimations=True +bShowedGenesisDLCBackground=False +bShowedGenesis2DLCBackground=False +bViewedAnimatedSeriesTrailer=False +bViewedARK2Trailer=False +bShowRTSKeyBinds=True +bHasCompletedGen2=False +StopExplorerNoteAudioOnClose=False +bUseVSync=False +MacroCtrl0= +MacroCtrl1= +MacroCtrl2= +MacroCtrl3= +MacroCtrl4= +MacroCtrl5= +MacroCtrl6= +MacroCtrl7= +MacroCtrl8= +MacroCtrl9= +ResolutionSizeX=1280 +ResolutionSizeY=720 +LastUserConfirmedResolutionSizeX=1280 +LastUserConfirmedResolutionSizeY=720 +WindowPosX=-1 +WindowPosY=-1 +bUseDesktopResolutionForFullscreen=False +FullscreenMode=2 +LastConfirmedFullscreenMode=2 +Version=5 + +[MessageOfTheDay] +Message=Welcome to ARK! +Duration=20 \ No newline at end of file diff --git a/ark-semetaconfig.json b/ark-semetaconfig.json new file mode 100644 index 000000000..fe3800510 --- /dev/null +++ b/ark-semetaconfig.json @@ -0,0 +1,26 @@ +[ + { + "ConfigFile":"./ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormat":"{0}=\"{1}\"", + "ConfigFormatRegex":"^(?.+?)=\"?(?.+?)?\"?$" + }, + { + "ConfigFile":"./ShooterGame/Saved/Config/LinuxServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini" + }, + { + "ConfigFile":"./ShooterGame/Saved/Config/WindowsServer/GameUserSettings.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormat":"{0}=\"{1}\"", + "ConfigFormatRegex":"^(?.+?)=\"?(?.+?)?\"?$" + }, + { + "ConfigFile":"./ShooterGame/Saved/Config/WindowsServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini" + } +] \ No newline at end of file diff --git a/ark-seupdates.json b/ark-seupdates.json new file mode 100644 index 000000000..c56b7b290 --- /dev/null +++ b/ark-seupdates.json @@ -0,0 +1,108 @@ +[ + { + "UpdateStageName":"Symlink Removal", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'rm {{$FullBaseDir}}ShooterGame/Binaries/Win64'" + }, + { + "UpdateStageName":"SteamCMD Server Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"376030", + "UpdateSourceArgs":"346110" + }, + { + "UpdateStageName":"SteamCMD Directory Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}Engine/Binaries/ThirdParty/SteamCMD/Linux" + }, + { + "UpdateStageName":"SteamCMD Symlinks Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'ln -sf {{$FullRootDir}}steamcmd.sh {{$FullRootDir}}linux32 ~/Steam/steamapps {{$FullBaseDir}}Engine/Binaries/ThirdParty/SteamCMD/Linux/'" + }, + { + "UpdateStageName":"Working Directory Replacement", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}ShooterGame/Binaries/Win64; ln -sf {{$FullBaseDir}}ShooterGame/Binaries/Linux {{$FullBaseDir}}ShooterGame/Binaries/Win64'" + }, + { + "UpdateStageName":"Config Directory Creation", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}ShooterGame/Saved/Config/WindowsServer", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Config Directory Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}ShooterGame/Saved/Config/LinuxServer", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Game.ini Config Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ark-segame.ini", + "UpdateSourceArgs":"Game.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame/Saved/Config/WindowsServer/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Game.ini Config Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ark-segame.ini", + "UpdateSourceArgs":"Game.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame/Saved/Config/LinuxServer/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"GameUserSettings.ini Config Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ark-sewin-gameusersettings.ini", + "UpdateSourceArgs":"GameUserSettings.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame/Saved/Config/WindowsServer/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"GameUserSettings.ini Config Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ark-selinux-gameusersettings.ini", + "UpdateSourceArgs":"GameUserSettings.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame/Saved/Config/LinuxServer/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"First Backup Exclusions Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/exclusions/.backupExclusionsArk1", + "UpdateSourceArgs":".backupExclude", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceConditionSetting":"backupExclude", + "UpdateSourceConditionValue":"true", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Second Backup Exclusions Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/exclusions/.backupExclusionsArk2", + "UpdateSourceArgs":".backupExclude", + "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame", + "UpdateSourceConditionSetting":"backupExclude", + "UpdateSourceConditionValue":"true", + "OverwriteExistingFiles":false + } +] \ No newline at end of file diff --git a/ark-sewin-gameusersettings.ini b/ark-sewin-gameusersettings.ini new file mode 100644 index 000000000..e0153f212 --- /dev/null +++ b/ark-sewin-gameusersettings.ini @@ -0,0 +1,169 @@ +[ServerSettings] +BanListURL="http://arkdedicated.com/banlist.txt" +AlwaysNotifyPlayerJoined=False +AllowCaveBuildingPVE=False +MaxPlatformSaddleStructureLimit=100 + +[/Script/ShooterGame.ShooterGameUserSettings] +MasterAudioVolume=1.000000 +MusicAudioVolume=1.000000 +SFXAudioVolume=1.000000 +VoiceAudioVolume=2.000000 +CharacterAudioVolume=1.000000 +UIScaling=1.000000 +UIQuickbarScaling=0.650000 +CameraShakeScale=0.650000 +bFirstPersonRiding=False +bThirdPersonPlayer=False +bInventoryHideUnlearnedEngrams=False +bShowStatusNotificationMessages=True +TrueSkyQuality=0.700000 +FOVMultiplier=1.000000 +GroundClutterDensity=1.000000 +bFilmGrain=False +bMotionBlur=False +bUseDistanceFieldAmbientOcclusion=False +bUseSSAO=True +bShowChatBox=True +bCameraViewBob=True +bInvertLookY=False +bFloatingNames=True +bChatBubbles=True +bHideServerInfo=False +bJoinNotifications=False +bCraftablesShowAllItems=False +bLocalInventoryItemsShowAllItems=False +bLocalInventoryCraftingShowAllItems=True +bRemoteInventoryItemsShowAllItems=False +bRemoteInventoryCraftingShowAllItems=False +bRemoteInventoryShowEngrams=True +bForceDisableSuperDetailMode=True +LookLeftRightSensitivity=1.000000 +LookUpDownSensitivity=1.000000 +GraphicsQuality=1 +ActiveLingeringWorldTiles=7 +ClientNetQuality=3 +LastServerSearchType=0 +LastServerSort=2 +LastPVESearchType=-1 +LastDLCTypeSearchType=-1 +LastServerSortAsc=True +LastAutoFavorite=True +LastServerSearchHideFull=False +LastServerSearchProtected=False +LastServerSearchIncludeServersWithActiveMods=True +HideItemTextOverlay=True +bQuickToggleItemNames=True +bDistanceFieldShadowing=True +LODScalar=1.000000 +bToggleToTalk=False +HighQualityMaterials=True +HighQualitySurfaces=True +bTemperatureF=False +bDisableTorporEffect=False +bChatShowSteamName=False +bChatShowTribeName=True +bReverseTribeLogOrder=False +EmoteKeyBind1=0 +EmoteKeyBind2=0 +bNoBloodEffects=False +bLowQualityVFX=False +bSpectatorManualFloatingNames=False +bSuppressAdminIcon=False +bUseSimpleDistanceMovement=False +bDisableMeleeCameraSwingAnims=False +bHighQualityAnisotropicFiltering=False +bUseLowQualityLevelStreaming=True +bPreventInventoryOpeningSounds=False +bPreventItemCraftingSounds=False +bPreventHitMarkers=False +bPreventCrosshair=False +bPreventColorizedItemNames=False +bHighQualityLODs=False +bExtraLevelStreamingDistance=False +bEnableColorGrading=True +DOFSettingInterpTime=0.000000 +bDisableBloom=False +bDisableLightShafts=False +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +LastJoinedSessionPerCategory=" " +bDisableMenuTransitions=False +bEnableInventoryItemTooltips=True +bRemoteInventoryShowCraftables=False +bNoTooltipDelay=False +LocalItemSortType=0 +LocalCraftingSortType=0 +RemoteItemSortType=0 +RemoteCraftingSortType=0 +VersionMetaTag=1 +ShowExplorerNoteSubtitles=False +DisableMenuMusic=False +DisableDefaultCharacterItems=False +bRequestDefaultCharacterItemsOnce=False +bHasSeenGen2Intro=False +bHideFloatingPlayerNames=False +bHideGamepadItemSelectionModifier=False +bToggleExtendedHUDInfo=False +PlayActionWheelClickSound=True +CompanionReactionVerbosity=3 +EnableEnvironmentalReactions=True +EnableRespawnReactions=True +EnableDeathReactions=True +EnableSayHelloReactions=True +EnableEmoteReactions=True +EnableMovementSounds=True +DisableSubtitles=False +CompanionSubtitleVerbosityLevel=3 +CompanionIsHiddenState=False +MaxAscensionLevel=0 +bHostSessionHasBeenOpened=False +bForceTPVCameraOffset=False +bDisableTPVCameraInterpolation=False +bFPVClimbingGear=False +bFPVGlidingGear=False +Gamma1=2.200000 +Gamma2=3.000000 +AmbientSoundVolume=1.000000 +bAllowAnimationStaggering=True +bUseOldThirdPersonCameraTrace=False +bUseOldThirdPersonCameraOffset=False +bLowQualityAnimations=False +bShowedGenesisDLCBackground=False +bShowedGenesis2DLCBackground=False +bViewedAnimatedSeriesTrailer=False +bViewedARK2Trailer=False +bShowRTSKeyBinds=True +bHasCompletedGen2=False +StopExplorerNoteAudioOnClose=False +bUseVSync=False +MacroCtrl0= +MacroCtrl1= +MacroCtrl2= +MacroCtrl3= +MacroCtrl4= +MacroCtrl5= +MacroCtrl6= +MacroCtrl7= +MacroCtrl8= +MacroCtrl9= +ResolutionSizeX=1280 +ResolutionSizeY=720 +LastUserConfirmedResolutionSizeX=1280 +LastUserConfirmedResolutionSizeY=720 +WindowPosX=-1 +WindowPosY=-1 +bUseDesktopResolutionForFullscreen=False +FullscreenMode=2 +LastConfirmedFullscreenMode=2 +Version=5 + +[MessageOfTheDay] +Message=Welcome to ARK! +Duration=20 \ No newline at end of file diff --git a/exclusions/.backupExclusions7d2d1 b/exclusions/.backupExclusions7d2d1 index 90e45f01a..ad3415d6e 100644 --- a/exclusions/.backupExclusions7d2d1 +++ b/exclusions/.backupExclusions7d2d1 @@ -34,4 +34,4 @@ UnityPlayer_Win64_mono_x64.pdb vstdlib_s64.dll WindowsPlayer_Master_mono_x64.pdb WindowsPlayerHeadless.pdb -winhttp.dll \ No newline at end of file +winhttp.dll diff --git a/exclusions/.backupExclusionsArk1 b/exclusions/.backupExclusionsArk1 new file mode 100644 index 000000000..9ef876f55 --- /dev/null +++ b/exclusions/.backupExclusionsArk1 @@ -0,0 +1,17 @@ +Engine +linux64 +steamapps +Manifest_DebugFiles.txt +vstdlib_s64.dll +vstdlib_s.dll +version.txt +tier0_s64.dll +tier0_s.dll +SteamCMDInstall.sh +steamclient64.dll +steamclient.so +steamclient.dll +ShooterGame.zip +PackageInfo.bin +Manifest_UFSFiles.txt +Manifest_NonUFSFiles.txt diff --git a/exclusions/.backupExclusionsArk2 b/exclusions/.backupExclusionsArk2 new file mode 100644 index 000000000..e86b88bfd --- /dev/null +++ b/exclusions/.backupExclusionsArk2 @@ -0,0 +1,5 @@ +Binaries +Config +Content +AssetRegistry.bin +ShooterGame.uproject diff --git a/exclusions/.backupExclusionsEmpyrion1 b/exclusions/.backupExclusionsEmpyrion1 index 6c261f183..2650a3e1b 100644 --- a/exclusions/.backupExclusionsEmpyrion1 +++ b/exclusions/.backupExclusionsEmpyrion1 @@ -14,4 +14,4 @@ steamclient64.dll tier0_s.dll tier0_s64.dll vstdlib_s.dll -vstdlib_s64.dll \ No newline at end of file +vstdlib_s64.dll From dc5f2e89fcebd5fe73ba692d0311a18a1679d419 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 20 Feb 2023 16:20:40 -0600 Subject: [PATCH 121/318] ARK update version number and extra steps URI (#290) --- ark-se.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ark-se.kvp b/ark-se.kvp index 7b0bbba2c..902ab90b6 100644 --- a/ark-se.kvp +++ b/ark-se.kvp @@ -9,12 +9,12 @@ Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} Meta.ConfigManifest=ark-seconfig.json Meta.MetaConfigManifest=ark-semetaconfig.json Meta.ConfigRoot=ark-se.kvp -Meta.MinAMPVersion=2.4.1.4 +Meta.MinAMPVersion=2.4.2.0 Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=Supported Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://gist.github.com/Greelan/ec1acbd44f3e9d550737754ca97f715e +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/t/ark-survival-evolved-guide/3322 Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState= From 9f72edc5012e022e5264e429f5f6f2b185cb06f9 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 22 Feb 2023 07:55:27 +1100 Subject: [PATCH 122/318] ARK:SE: fix player whitelist setting (#291) --- ark-seconfig.json | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/ark-seconfig.json b/ark-seconfig.json index 0351cb1a9..18b8bc0a4 100644 --- a/ark-seconfig.json +++ b/ark-seconfig.json @@ -202,20 +202,6 @@ "IsFlagArgument":false, "ParamFieldName":"PlayerWhitelist", "DefaultValue":"", - "Special":"listfile:./ark-se/376030/ShooterGame/Binaries/Linux/PlayersExclusiveJoinList.txt", - "EnumValues":{} - }, - { - "DisplayName":"Whitelisted Players", - "Category":"ARK Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"PlayerWhitelist", - "InputType":"list", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"PlayerWhitelist", - "DefaultValue":"", "Special":"listfile:./ark-se/376030/ShooterGame/Binaries/Win64/PlayersExclusiveJoinList.txt", "EnumValues":{} }, From 59a63d4e0e5482f0cbaabdfc679a2c1d5df5fa2a Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Thu, 23 Feb 2023 14:26:01 +0000 Subject: [PATCH 123/318] Update valheim.kvp Add -nographics to args. --- valheim.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/valheim.kvp b/valheim.kvp index 6d2558709..0ea2b9bcf 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -15,7 +15,7 @@ App.BaseDirectory=./Valheim/896660/ App.ExecutableWin=896660\valheim_server.exe App.ExecutableLinux=896660/valheim_server.x86_64 App.WorkingDir=896660 -App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Saves" {{crossplay}} +App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -nographics -savedir "Saves" {{crossplay}} App.EnvironmentVariables={"DOORSTOP_ENABLE": "TRUE", "DOORSTOP_INVOKE_DLL_PATH": "./BepInEx/core/BepInEx.Preloader.dll", "DOORSTOP_CORLIB_OVERRIDE_PATH": "./unstripped_corlib" , "LD_LIBRARY_PATH":"./doorstop_libs:./linux64:%LD_LIBRARY_PATH%", "LD_PRELOAD": "libdoorstop_x64.so","SteamAppId":"892970"} App.CommandLineParameterFormat=-{0} "{1}" App.ExitMethod=OS_CLOSE From d5133d4fab8bb82f089996e0213a64a8e8e02f94 Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Thu, 23 Feb 2023 21:37:46 +0000 Subject: [PATCH 124/318] Update valheim.kvp I r dumb --- valheim.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/valheim.kvp b/valheim.kvp index 0ea2b9bcf..6d2558709 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -15,7 +15,7 @@ App.BaseDirectory=./Valheim/896660/ App.ExecutableWin=896660\valheim_server.exe App.ExecutableLinux=896660/valheim_server.x86_64 App.WorkingDir=896660 -App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -nographics -savedir "Saves" {{crossplay}} +App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Saves" {{crossplay}} App.EnvironmentVariables={"DOORSTOP_ENABLE": "TRUE", "DOORSTOP_INVOKE_DLL_PATH": "./BepInEx/core/BepInEx.Preloader.dll", "DOORSTOP_CORLIB_OVERRIDE_PATH": "./unstripped_corlib" , "LD_LIBRARY_PATH":"./doorstop_libs:./linux64:%LD_LIBRARY_PATH%", "LD_PRELOAD": "libdoorstop_x64.so","SteamAppId":"892970"} App.CommandLineParameterFormat=-{0} "{1}" App.ExitMethod=OS_CLOSE From fbd4da2aba4ffbfd4c150c9ec0d1fb32f60cc408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Gr=C3=BCttemeier?= <16450982+ApertureDevelopment@users.noreply.github.com> Date: Sun, 5 Mar 2023 06:22:19 +0100 Subject: [PATCH 125/318] Add DayZ (#27) --- dayz-experimental.kvp | 91 +++ dayz-experimentalconfig.json | 920 +++++++++++++++++++++++++++++++ dayz-experimentalmetaconfig.json | 24 + dayz-experimentalmodscript.sh | 6 + dayz-experimentalserver.cfg | 77 +++ dayz-experimentalupdates.json | 42 ++ dayz-original.kvp | 91 +++ dayz-originalconfig.json | 920 +++++++++++++++++++++++++++++++ dayz-originalmetaconfig.json | 24 + dayz-originalserver.cfg | 77 +++ dayz-originalupdates.json | 26 + 11 files changed, 2298 insertions(+) create mode 100644 dayz-experimental.kvp create mode 100644 dayz-experimentalconfig.json create mode 100644 dayz-experimentalmetaconfig.json create mode 100644 dayz-experimentalmodscript.sh create mode 100644 dayz-experimentalserver.cfg create mode 100644 dayz-experimentalupdates.json create mode 100644 dayz-original.kvp create mode 100644 dayz-originalconfig.json create mode 100644 dayz-originalmetaconfig.json create mode 100644 dayz-originalserver.cfg create mode 100644 dayz-originalupdates.json diff --git a/dayz-experimental.kvp b/dayz-experimental.kvp new file mode 100644 index 000000000..3039760dd --- /dev/null +++ b/dayz-experimental.kvp @@ -0,0 +1,91 @@ +Meta.DisplayName=DayZ (Experimental) +Meta.Description=DayZ (Experimental) Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan, Aperture Development, IceOfWraith +Meta.URL=https://dayz.com/ +Meta.DisplayImageSource=steam:1024020 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=dayz-experimentalconfig.json +Meta.MetaConfigManifest=dayz-experimentalmetaconfig.json +Meta.ConfigRoot=dayz-experimental.kvp +Meta.MinAMPVersion=2.4.2.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/t/dayz-server-guide/3454 +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=DayZ (Experimental) +App.RootDir=./dayz/ +App.BaseDirectory=./dayz/1042420/ +App.ExecutableWin=1042420\DayZServer_x64.exe +App.ExecutableLinux=1042420/DayZServer +App.WorkingDir=1042420 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} "-profiles={{$FullBaseDir}}DayZServerData" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=serverDZ.cfg -dologs -adminlog -freezeCheck -ip={{$ApplicationIPBinding}} {{$FormattedArgs}} "{{CustomServerArgs}}" +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1024020"} +App.CommandLineParameterFormat="-{0}={1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=#shutdown +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":2302,"Offset":0,"Range":1,"Ref":"GamePort","Name":"Game Port","Description":"Main game port used by the server","ChildPorts":null},{"Protocol":"UDP","Port":2303,"Offset":0,"Range":1,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port","ChildPorts":null},{"Protocol":"UDP","Port":2304,"Offset":0,"Range":1,"Ref":"BattlEyePort","Name":"BattlEye Port","Description":"Port for BattlEye traffic","ChildPorts":null},{"Protocol":"UDP","Port":27016,"Offset":0,"Range":1,"Ref":"QueryPort","Name":"Steam Query Port","Description":"Port used for Steam queries","ChildPorts":null},{"Protocol":"UDP","Port":2305,"Offset":0,"Range":1,"Ref":"RCONPort","Name":"RCON Port","Description":"Port used for RCON","ChildPorts":null}] +App.AdminPortRef=RCONPort +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=60 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=True +App.RemoteAdminPassword= +App.AdminMethod=BattlEyeRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=15 +App.RCONConnectRetrySeconds=15 +App.RCONHeartbeatMinutes=0.5 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[dayz-experimentalupdates.json] +App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -f {{$FullBaseDir}}battleye/beserver_x64_active_*.cfg'"},{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"}] +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=^((WARNING|ERROR): Shader.+|Unknown command)$ +Console.AppReadyRegex=^RCon admin #\d+ \([\d\.:]+\) logged in$ +Console.UserJoinRegex=^Player #(?\d+?) (?.+?) \((?.+?):(?:\d+)\) connected$ +Console.UserLeaveRegex=^Player #(?\d+?) (?.+?) disconnected$ +Console.UserChatRegex=^$ +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/dayz-experimentalconfig.json b/dayz-experimentalconfig.json new file mode 100644 index 000000000..3dcf0816c --- /dev/null +++ b/dayz-experimentalconfig.json @@ -0,0 +1,920 @@ +[ + { + "DisplayName":"Steam Query Port", + "Category":"DayZ Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$QueryPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"steamQueryPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"DayZ Server Settings", + "Description":"Sets the server name visible in the game browser", + "Keywords":"server,name,hostname", + "FieldName":"hostname", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"hostname", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered DayZ Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"DayZ Server Settings", + "Description":"Sets the password required to connect to the server. Default is no password", + "Keywords":"server,password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"DayZ Server Settings", + "Description":"Sets the password required for admin access to the server. Default is no password", + "Keywords":"server,admin,passwordadmin", + "FieldName":"passwordAdmin", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"passwordAdmin", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"DayZ Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password", + "FieldName":"RCONPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"RCONPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Message Of The Day", + "Category":"DayZ Server Settings", + "Description":"Sets the player welcome message (MOTD). Format is \"Line1\",\"Line2\"", + "Keywords":"motd,welcome,message", + "FieldName":"motd", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"motd", + "IncludeInCommandLine":false, + "DefaultValue":"\"Welcome to DayZ\",\"Hosted using AMP by CubeCoders\"", + "EnumValues":{} + }, + { + "DisplayName":"MOTD Interval", + "Category":"DayZ Server Settings", + "Description":"Sets the time interval between between display of each line of the MOTD", + "Keywords":"motd,message,delay,interval,motdinterval", + "FieldName":"motdInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"motdInterval", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Whitelist", + "Category":"DayZ Server Settings", + "Description":"If set, enables the server whitelist. Enter Player IDs under \"Whitelisted Players\"", + "Keywords":"whitelist,userlist,allowlist,enablewhitelist", + "FieldName":"enableWhitelist", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"enableWhitelist", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Whitelisted Players", + "Category":"DayZ Server Settings", + "Description":"Sets a list of whitelisted Player IDs (44 characters long ID), which can be found in the admin log file (.ADM). Comments can be added after two forward slashes. Example: 1111111111112222222222222333333333XXXXXXAAAA //Bilbo Baggins", + "FieldName":"AdminPlayers", + + "InputType":"list", + "Special":"listfile:./dayz/1042420/whitelist.txt" + }, + { + "DisplayName":"Banned Players", + "Category":"DayZ Server Settings", + "Description":"Sets a list of banned Player IDs, in the same format as Whitelisted Players. These bans are separate to BattlEye bans", + "FieldName":"BanPlayers", + + "InputType":"list", + "Special":"listfile:./dayz/1042420/ban.txt" + }, + { + "DisplayName":"Instance ID", + "Category":"DayZ Server Settings", + "Description":"Sets the DayZ server instance ID, to identify the number of instances per box and their storage folders with persistence files", + "Keywords":"instance,id,instanceid", + "FieldName":"instanceId", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"instanceId", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Server Mission", + "Category":"DayZ Server Settings", + "Description":"Sets the mission to load on server startup. If Custom is selected, the \"Custom Mission Name\" must also be specified", + "Keywords":"mission,terrain,template", + "FieldName":"template", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"template", + "IncludeInCommandLine":false, + "DefaultValue":"dayzOffline.chernarusplus", + "EnumValues":{ + "dayzOffline.chernarusplus":"Vanilla - Chernarus Plus (default)", + "dayzOffline.enoch":"DLC - Enoch", + "{{customTemplate}}":"Custom" + } + }, + { + "DisplayName":"Custom Mission Name", + "Category":"DayZ Server Settings", + "Description":"Sets a custom mission to load on startup. Format is .. The Custom mission type must be selected under \"Server Mission\"", + "Keywords":"mission,terrain,template,customtemplate", + "FieldName":"customTemplate", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"customTemplate", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"Expansion.ChenarusPlus", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"DayZ Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time", + "Keywords":"maximum,players,clients,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"maxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Login Queue Limit", + "Category":"DayZ Server Settings", + "Description":"Sets the maximum number of players that can wait in the server login queue", + "Keywords":"login,queue,loginqueuemaxplayers", + "FieldName":"loginQueueMaxPlayers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"loginQueueMaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"500", + "Placeholder":"500", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Login Queue Concurrent Players", + "Category":"DayZ Server Settings", + "Description":"Sets the number of players concurrently processed during the login process, to prevent a performance drop when many people are connecting at the same time", + "Keywords":"login,queue,loginqueueconcurrentplayers", + "FieldName":"loginQueueConcurrentPlayers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"loginQueueConcurrentPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Load Mods", + "Category":"DayZ Server Settings", + "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", + "Keywords":"mods,addons,modding,modification,workshop,plugins,mod", + "FieldName":"mod", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"mod", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Load Server Mods", + "Category":"DayZ Server Settings", + "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", + "Keywords":"mods,addons,modding,modification,workshop,plugins,server,servermod", + "FieldName":"serverMod", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"serverMod", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server/RCON IP Binding", + "Category":"DayZ Server Settings", + "Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", + "Keywords":"ip,binding", + "FieldName":"ip", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"ip", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable Server File Patching", + "Category":"DayZ Server Settings", + "Description":"If enabled, allows loading of unpacked data", + "Keywords":"file,patching,filepatching", + "FieldName":"filePatching", + "InputType":"checkbox", + "IsFlagArgument":true, + "ParamFieldName":"filePatching", + "IncludeInCommandLine":true, + "DefaultValue":"-filePatching" + }, + { + "DisplayName":"Allow Client File Patching", + "Category":"DayZ Server Settings", + "Description":"If enabled, clients with the \"-filePatching\" launch parameter enabled will be able to connect", + "Keywords":"file,patching,allowfilepatching", + "FieldName":"allowFilePatching", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"allowFilePatching", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Force Same Build", + "Category":"DayZ Server Settings", + "Description":"If enabled, the server will allow connections only by clients with same the build version as the server", + "Keywords":"version,build,forcesamebuild", + "FieldName":"forceSameBuild", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"forceSameBuild", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"FPS Limit", + "Category":"DayZ Server Settings", + "Description":"Sets the limit for the server FPS, to lower CPU usage of low population servers", + "Keywords":"frames,fps,limitfps", + "FieldName":"limitFPS", + "InputType":"number", + "MinValue":"1", + "MaxValue":"200", + "IsFlagArgument":false, + "ParamFieldName":"limitFPS", + "IncludeInCommandLine":true, + "DefaultValue":"200", + "Placeholder":"200", + "Suffix":"fps", + "EnumValues":{} + }, + { + "DisplayName":"FPS Warning Trigger Value", + "Category":"DayZ Server Settings", + "Description":"Sets the server FPS value under which the initial server FPS warning will be triggered", + "Keywords":"frames,fps,warning,trigger,serverfpswarning", + "FieldName":"serverFpsWarning", + "InputType":"number", + "MinValue":"11", + "MaxValue":"200", + "IsFlagArgument":false, + "ParamFieldName":"serverFpsWarning", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "Placeholder":"15", + "Suffix":"fps", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Ping", + "Category":"DayZ Server Settings", + "Description":"Sets the maximum ping value for clients, above which the clients will be kicked", + "Keywords":"ping,maximum,lagging,lag,kick,maxping", + "FieldName":"maxPing", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"maxPing", + "IncludeInCommandLine":false, + "DefaultValue":"500", + "Placeholder":"500", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Ping Initial Warning Trigger Value", + "Category":"DayZ Server Settings", + "Description":"Sets the ping value that will trigger the initial yellow ping warning for clients", + "Keywords":"ping,initial,yellow,warning,trigger,pingwarning", + "FieldName":"pingWarning", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"pingWarning", + "IncludeInCommandLine":false, + "DefaultValue":"200", + "Placeholder":"200", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Ping Critical Warning Trigger Value", + "Category":"DayZ Server Settings", + "Description":"Sets the ping value that will trigger the critical red ping warning for clients", + "Keywords":"ping,critical,red,warning,trigger,pingcritical", + "FieldName":"pingCritical", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"pingCritical", + "IncludeInCommandLine":false, + "DefaultValue":"250", + "Placeholder":"250", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Additional Server Startup Parameters", + "Category":"DayZ Server Settings", + "Description":"Specifies additional startup parameters that are not otherwise set by AMP. Use with care", + "Keywords":"custom,server,arguments,parameters", + "FieldName":"CustomServerArgs", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomServerArgs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"-cpuCount=2", + "EnumValues":{} + }, + { + "DisplayName":"Disable Voice Chat", + "Category":"DayZ Gameplay Settings", + "Description":"If set, players will not be able to use in-game voice chat", + "Keywords":"voice,chat,voicechat,disablevon", + "FieldName":"disableVoN", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableVoN", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Voice Chat Quality", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the voice chat codec quality, the higher the better", + "Keywords":"voice,chat,voicechat,codec,quality,voncodecquality", + "FieldName":"vonCodecQuality", + "InputType":"number", + "MinValue":"0", + "MaxValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"vonCodecQuality", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "EnumValues":{} + }, + { + "DisplayName":"Disable Third Person View", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the third person view for players", + "Keywords":"view,3rd,third,person,camera,disable3rdperson", + "FieldName":"disable3rdPerson", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disable3rdPerson", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Crosshair", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the crosshair for players", + "Keywords":"crosshair,disablecrosshair", + "FieldName":"disableCrosshair", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableCrosshair", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Personal Light", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables personal light for all clients connected to the server", + "Keywords":"light,lighting,flashlight,torch,disablepersonallight", + "FieldName":"disablePersonalLight", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disablePersonalLight", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Darker Nights", + "Category":"DayZ Gameplay Settings", + "Description":"If enabled, nights will be darker on the server", + "Keywords":"light,lighting,dark,night,lightingconfig", + "FieldName":"lightingConfig", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"lightingConfig", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Base Damage", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the damage or destruction of fences and watchtowers", + "Keywords":"disable,base,damage,fence,watchtower,disablebasedamage", + "FieldName":"disableBaseDamage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableBaseDamage", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Container Damage", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the damage or destruction of tents, barrels, wooden crates and seachests", + "Keywords":"disable,container,damage,tent,barrel,crate,seachest,disablecontainerdamage", + "FieldName":"disableContainerDamage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableContainerDamage", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Debug Monitor", + "Category":"DayZ Gameplay Settings", + "Description":"If enabled, the server shows information about the character using a debug window in the corner of the screen", + "Keywords":"debug,monitor,character,information,enabledebugmonitor", + "FieldName":"enableDebugMonitor", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"enableDebugMonitor", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Respawn Dialog", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the respawn dialog (new characters will randomly spawn)", + "Keywords":"disable,respawn,dialog,disablerespawndialog", + "FieldName":"disableRespawnDialog", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableRespawnDialog", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Respawn Time", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the respawn delay before a player is able to get a new character on the server, when the previous one is dead", + "Keywords":"spawn,respawn,time,death,respawntime", + "FieldName":"respawnTime", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"respawnTime", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Server Time", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the initial in-game time of the server. \"SystemTime\" means the local time of the machine. Or set the time to some value in \"YYYY/MM/DD/HH/MM\" format, e.g \"2015/4/8/17/23\"", + "Keywords":"time,server,systemtime,servertime", + "FieldName":"serverTime", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"serverTime", + "IncludeInCommandLine":false, + "DefaultValue":"SystemTime", + "Placeholder":"SystemTime", + "EnumValues":{} + }, + { + "DisplayName":"Server Time Acceleration", + "Category":"DayZ Gameplay Settings", + "Description":"Sets a multiplier (0.1-64) for server time acceleration or deceleration. For example, if set to 24, time would move 24 times faster than normal, and an entire day would pass in one hour", + "Keywords":"time,server,daytime,cycle,servertime,servertimeacceleration", + "FieldName":"serverTimeAcceleration", + "InputType":"number", + "MinValue":"0", + "MaxValue":"64", + "IsFlagArgument":false, + "ParamFieldName":"serverTimeAcceleration", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Server Night Time Acceleration", + "Category":"DayZ Gameplay Settings", + "Description":"Sets a multiplier (0.1-64) for server night time acceleration or deceleration, which is combined with the \"Server Time Acceleration\" multiplier. For example, if set to 4 and Server Time Acceleration is set to 2, night time would move 8 times faster than normal", + "Keywords":"time,server,nighttime,cycle,servertime,servernighttimeacceleration", + "FieldName":"serverNightTimeAcceleration", + "InputType":"number", + "MinValue":"0", + "MaxValue":"64", + "IsFlagArgument":false, + "ParamFieldName":"serverNightTimeAcceleration", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Persistent Server Time", + "Category":"DayZ Gameplay Settings", + "Description":"If enabled, the actual server time is saved to storage, so the next server start will use the saved time value", + "Keywords":"time,servertime,persistent,servertimepersistent", + "FieldName":"serverTimePersistent", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"serverTimePersistent", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Maximum Terrain Render Distance", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the maximum terrain render distance on the server (if higher than \"viewDistance=\" in a client profile, the client side parameter applies)", + "Keywords":"maximum,terrain,render,distance,visibility,defaultVisibility", + "FieldName":"defaultVisibility", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"defaultVisibility", + "IncludeInCommandLine":false, + "DefaultValue":"1375", + "Placeholder":"1375", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Object Render Distance", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the maximum object render distance on the server (if higher than \"preferredObjectViewDistance=\" in a client profile, the client side parameter applies)", + "Keywords":"maximum,object,render,distance,visibility,defaultObjectViewDistance", + "FieldName":"defaultObjectViewDistance", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"defaultObjectViewDistance", + "IncludeInCommandLine":false, + "DefaultValue":"1375", + "Placeholder":"1375", + "EnumValues":{} + }, + { + "DisplayName":"Storage Auto Fix", + "Category":"DayZ Misc Settings", + "Description":"If enabled, checks if the persistence files are corrupted and replaces corrupted ones with empty ones", + "Keywords":"storage,fix,persistence,storageautofix", + "FieldName":"storageAutoFix", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"storageAutoFix", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Player Simulation Limit", + "Category":"DayZ Misc Settings", + "Description":"Sets the limit on how much players can be simulated per frame (for server performance gains)", + "Keywords":"player,simulation,limit,simulatedPlayersBatch", + "FieldName":"simulatedPlayersBatch", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"simulatedPlayersBatch", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "EnumValues":{} + }, + { + "DisplayName":"Enable Multi-Threaded Replication", + "Category":"DayZ Misc Settings", + "Description":"If set, enables multi-threaded processing of the server's replication system. The number of worker threads is derived by the \"maxcores\" and \"reservedcores\" parameters for jobsystem in dayzsettings.xml", + "Keywords":"multi,threaded,replication,multithreadedreplication", + "FieldName":"multithreadedReplication", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"multithreadedReplication", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Speed Hack Detection Level", + "Category":"DayZ Misc Settings", + "Description":"Sets the speed back detection level. 1 = strict, 10 = benevolent", + "Keywords":"speed,hack,detection,level,speedhackdetection", + "FieldName":"speedhackDetection", + "InputType":"number", + "MinValue":"1", + "MaxValue":"10", + "IsFlagArgument":false, + "ParamFieldName":"speedhackDetection", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Close Object Spawn Distance", + "Category":"DayZ Misc Settings", + "Description":"Sets the network bubble distance for spawn of close objects with items in them (such as backpacks)", + "Keywords":"network,bubble,distance,spawn,close,objects,networkrangeclose", + "FieldName":"networkRangeClose", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"networkRangeClose", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"metres", + "EnumValues":{} + }, + { + "DisplayName":"Near Object Spawn Distance", + "Category":"DayZ Misc Settings", + "Description":"Sets the network bubble distance for spawn (despawn +10%) of near inventory item objects", + "Keywords":"network,bubble,distance,spawn,near,inventory,objects,networkrangenear", + "FieldName":"networkRangeNear", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"networkRangeNear", + "IncludeInCommandLine":false, + "DefaultValue":"150", + "Placeholder":"150", + "Suffix":"metres", + "EnumValues":{} + }, + { + "DisplayName":"Far Object Spawn Distance", + "Category":"DayZ Misc Settings", + "Description":"Sets the network bubble distance for spawn (despawn +10%) of far objects (other than inventory items)", + "Keywords":"network,bubble,distance,spawn,far,objects,networkrangefar", + "FieldName":"networkRangeFar", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"networkRangeFar", + "IncludeInCommandLine":false, + "DefaultValue":"1000", + "Placeholder":"1000", + "Suffix":"metres", + "EnumValues":{} + }, + { + "DisplayName":"Effects Spawn Distance", + "Category":"DayZ Misc Settings", + "Description":"Sets the network bubble distance for spawn of effects (curently only sound effects)", + "Keywords":"network,bubble,distance,spawn,effects,networkrangedistanteffect", + "FieldName":"networkRangeDistantEffect", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"networkRangeDistantEffect", + "IncludeInCommandLine":false, + "DefaultValue":"4000", + "Placeholder":"4000", + "Suffix":"metres", + "EnumValues":{} + }, + { + "DisplayName":"Log Time Stamp Format", + "Category":"DayZ Misc Settings", + "Description":"Sets the format of the time stamps used in the .RPT log file", + "Keywords":"log,time,stamp,format,timestampformat", + "FieldName":"timeStampFormat", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"timeStampFormat", + "IncludeInCommandLine":false, + "DefaultValue":"Short", + "EnumValues":{ + "Short":"Short (default)", + "Full":"Full" + } + }, + { + "DisplayName":"Log Server FPS", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs the average server FPS", + "Keywords":"log,average,fps,logaveragefps", + "FieldName":"logAverageFps", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"logAverageFps", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Server Memory", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs the server memory usage", + "Keywords":"log,memory,usage,logmemory", + "FieldName":"logMemory", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"logMemory", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Player Count", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs the count of currently connected players", + "Keywords":"log,connected,players,logplayers", + "FieldName":"logPlayers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"logPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Player Hits Only", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs player hits only, instead of all hits, in the admin log", + "Keywords":"log,player,hits,only,adminlogplayerhitsonly", + "FieldName":"adminLogPlayerHitsOnly", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"adminLogPlayerHitsOnly", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Placement Actions", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs placement actions such as traps and tents, in the admin log", + "Keywords":"log,placement,action,adminlogplacement", + "FieldName":"adminLogPlacement", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"adminLogPlacement", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Basebuilding Actions", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs basebuilding actions (build, dismantle, destroy), in the admin log", + "Keywords":"log,basebuilding,building,action,adminlogbuildactions", + "FieldName":"adminLogBuildActions", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"adminLogBuildActions", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Player Position List", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs the position of players every 5 minutes, in the admin log", + "Keywords":"log,adminlogplayerlist", + "FieldName":"adminLogPlayerList", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"adminLogPlayerList", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + } +] \ No newline at end of file diff --git a/dayz-experimentalmetaconfig.json b/dayz-experimentalmetaconfig.json new file mode 100644 index 000000000..5c94b0e3c --- /dev/null +++ b/dayz-experimentalmetaconfig.json @@ -0,0 +1,24 @@ +[ + { + "ConfigFile":"./serverDZ.cfg", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"./dayz/1042420/AMP_serverDZ.cfg" + }, + { + "ConfigFile":"./battleye/beserver_x64.cfg", + "ConfigType":"kvp", + "ConfigFormat":"{0} {1}", + "Subsections":[ + { + "Heading":"$root", + "SettingMappings":{ + "RConPassword":"$RemoteAdminPassword", + "RConPort":"$RCONPort", + "RConIP":"$ApplicationIPBinding", + "RestrictRCon":"0" + } + } + ] + } +] \ No newline at end of file diff --git a/dayz-experimentalmodscript.sh b/dayz-experimentalmodscript.sh new file mode 100644 index 000000000..3b6dc769e --- /dev/null +++ b/dayz-experimentalmodscript.sh @@ -0,0 +1,6 @@ +#!/bin/bash +find ./dayz/1042420/steamapps/workshop/content/221100/ -type f -name "*[A-Z]*" -print0 |\ + xargs -0 -I {} bash -c "mv \"{}\" \"\`echo {} | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" &&\ + cd ./dayz/1042420 &&\ + find ./steamapps/workshop/content/221100 -maxdepth 1 -mindepth 1 -type d -exec ln -sf -t ./ {} + +exit 0 \ No newline at end of file diff --git a/dayz-experimentalserver.cfg b/dayz-experimentalserver.cfg new file mode 100644 index 000000000..efcad8033 --- /dev/null +++ b/dayz-experimentalserver.cfg @@ -0,0 +1,77 @@ +// DO NOT edit serverDZ.cfg directly +// AMP_serverDZ.cfg controls serverDZ.cfg. Edit AMP_serverDZ.cfg if you want to add certain settings +// NOTE: +// - Do not change values in double curly braces, ie {{}}. They are set either via the AMP UI +// or are controlled by AMP itself (in particular, ports) +// - Other settings can be added as needed - see the second section below + +// Full information on settings is available at https://community.bistudio.com/wiki/DayZ:Server_Configuration + +// ******* +// SETTINGS CONTROLLED BY AMP - DO NOT TOUCH THESE!!! +// ******* +hostname = "{{hostname}}"; +password = "{{password}}"; +passwordAdmin = "{{passwordAdmin}}"; +enableWhitelist = {{enableWhitelist}}; +maxPlayers = {{maxPlayers}}; +verifySignatures = 2; // Verifies .pbos against .bisign files (only 2 is supported) +forceSameBuild = {{forceSameBuild}}; +disableVoN = {{disableVoN}}; +vonCodecQuality = {{vonCodecQuality}}; +disable3rdPerson = {{disable3rdPerson}}; +disableCrosshair = {{disableCrosshair}}; +serverTime = "{{serverTime}}"; +serverTimeAcceleration = {{serverTimeAcceleration}}; +serverNightTimeAcceleration = {{serverNightTimeAcceleration}}; +serverTimePersistent = {{serverTimePersistent}}; +guaranteedUpdates = 1; // Communication protocol used with game server (use only number 1) +loginQueueConcurrentPlayers = {{loginQueueConcurrentPlayers}}; +loginQueueMaxPlayers = {{loginQueueMaxPlayers}}; +instanceId = {{instanceId}}; +storageAutoFix = {{storageAutoFix}}; +class Missions +{ + class DayZ + { + template = "{{template}}"; + }; +}; +respawnTime = {{respawnTime}}; +motd[] = { {{motd}} }; +motdInterval = {{motdInterval}}; +timeStampFormat = "{{timeStampFormat}}"; +logAverageFps = {{logAverageFps}}; +logMemory = {{logMemory}}; +logPlayers = {{logPlayers}}; +logFile = "server_console.log"; +adminLogPlayerHitsOnly = {{adminLogPlayerHitsOnly}}; +adminLogPlacement = {{adminLogPlacement}}; +adminLogBuildActions = {{adminLogBuildActions}}; +adminLogPlayerList = {{adminLogPlayerList}}; +enableDebugMonitor = {{enableDebugMonitor}}; +steamQueryPort = {{steamQueryPort}}; +allowFilePatching = {{allowFilePatching}}; +simulatedPlayersBatch = {{simulatedPlayersBatch}}; +multithreadedReplication = {{multithreadedReplication}}; +speedhackDetection = {{speedhackDetection}}; +networkRangeClose = {{networkRangeClose}}; +networkRangeNear = {{networkRangeNear}}; +networkRangeFar = {{networkRangeFar}}; +networkRangeDistantEffect = {{networkRangeDistantEffect}}; +defaultVisibility = {{defaultVisibility}}; +defaultObjectViewDistance = {{defaultObjectViewDistance}}; +lightingConfig = {{lightingConfig}}; +disablePersonalLight = {{disablePersonalLight}}; +disableBaseDamage = {{disableBaseDamage}}; +disableContainerDamage = {{disableContainerDamage}}; +disableRespawnDialog = {{disableRespawnDialog}}; +pingWarning = {{pingWarning}}; +pingCritical = {{pingCritical}}; +maxPing = {{maxPing}}; +serverFpsWarning = {{serverFpsWarning}}; + +// ******* +// USER CONFIGURABLE SETTINGS - ADD ADDITIONAL SETTINGS HERE +// ******* + diff --git a/dayz-experimentalupdates.json b/dayz-experimentalupdates.json new file mode 100644 index 000000000..d658c57f1 --- /dev/null +++ b/dayz-experimentalupdates.json @@ -0,0 +1,42 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1042420", + "UpdateSourceArgs":"221100", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Config Template Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "OverwriteExistingFiles":false, + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-experimentalserver.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceArgs":"AMP_serverDZ.cfg" + }, + { + "UpdateStageName":"Modscript Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-experimentalmodscript.sh", + "UpdateSourceArgs":"modscript.sh", + "UpdateSourceTarget":"{{$FullInstanceDir}}", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Convert and Symlink Mods", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"./modscript.sh" + }, + { + "UpdateStageName":"Link Mods", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C cd .\\dayz\\1042420 && for /D %G in (.\\steamapps\\workshop\\content\\221100\\*) do mklink /J %~nxG %G" + } +] \ No newline at end of file diff --git a/dayz-original.kvp b/dayz-original.kvp new file mode 100644 index 000000000..b73696ea3 --- /dev/null +++ b/dayz-original.kvp @@ -0,0 +1,91 @@ +Meta.DisplayName=DayZ (Original) +Meta.Description=DayZ (Original) Dedicated Server +Meta.OS=Windows +Meta.Arch=x86_64 +Meta.Author=Greelan, Aperture Development, IceOfWraith +Meta.URL=https://dayz.com/ +Meta.DisplayImageSource=steam:221100 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=dayz-originalconfig.json +Meta.MetaConfigManifest=dayz-originalmetaconfig.json +Meta.ConfigRoot=dayz-original.kvp +Meta.MinAMPVersion=2.4.2.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/t/dayz-server-guide/3454 +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=DayZ (Original) +App.RootDir=./dayz/ +App.BaseDirectory=./dayz/223350/ +App.ExecutableWin=223350\DayZServer_x64.exe +App.ExecutableLinux= +App.WorkingDir=223350 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} "-profiles={{$FullBaseDir}}DayZServerData" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=serverDZ.cfg -dologs -adminlog -freezeCheck -ip={{$ApplicationIPBinding}} {{$FormattedArgs}} "{{CustomServerArgs}}" +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"221100"} +App.CommandLineParameterFormat="-{0}={1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=#shutdown +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":2302,"Offset":0,"Range":1,"Ref":"GamePort","Name":"Game Port","Description":"Main game port used by the server","ChildPorts":null},{"Protocol":"UDP","Port":2303,"Offset":0,"Range":1,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port","ChildPorts":null},{"Protocol":"UDP","Port":2304,"Offset":0,"Range":1,"Ref":"BattlEyePort","Name":"BattlEye Port","Description":"Port for BattlEye traffic","ChildPorts":null},{"Protocol":"UDP","Port":27016,"Offset":0,"Range":1,"Ref":"QueryPort","Name":"Steam Query Port","Description":"Port used for Steam queries","ChildPorts":null},{"Protocol":"UDP","Port":2305,"Offset":0,"Range":1,"Ref":"RCONPort","Name":"RCON Port","Description":"Port used for RCON","ChildPorts":null}] +App.AdminPortRef=RCONPort +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=60 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=True +App.RemoteAdminPassword= +App.AdminMethod=BattlEyeRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=15 +App.RCONConnectRetrySeconds=15 +App.RCONHeartbeatMinutes=0.5 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[dayz-originalupdates.json] +App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=True +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=^((WARNING|ERROR): Shader.+|Unknown command)$ +Console.AppReadyRegex=^RCon admin #\d+ \([\d\.:]+\) logged in$ +Console.UserJoinRegex=^Player #(?\d+?) (?.+?) \((?.+?):(?:\d+)\) connected$ +Console.UserLeaveRegex=^Player #(?\d+?) (?.+?) disconnected$ +Console.UserChatRegex=^$ +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/dayz-originalconfig.json b/dayz-originalconfig.json new file mode 100644 index 000000000..b21ad1994 --- /dev/null +++ b/dayz-originalconfig.json @@ -0,0 +1,920 @@ +[ + { + "DisplayName":"Steam Query Port", + "Category":"DayZ Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$QueryPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"steamQueryPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"DayZ Server Settings", + "Description":"Sets the server name visible in the game browser", + "Keywords":"server,name,hostname", + "FieldName":"hostname", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"hostname", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered DayZ Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"DayZ Server Settings", + "Description":"Sets the password required to connect to the server. Default is no password", + "Keywords":"server,password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"DayZ Server Settings", + "Description":"Sets the password required for admin access to the server. Default is no password", + "Keywords":"server,admin,passwordadmin", + "FieldName":"passwordAdmin", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"passwordAdmin", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"DayZ Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password", + "FieldName":"RCONPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"RCONPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Message Of The Day", + "Category":"DayZ Server Settings", + "Description":"Sets the player welcome message (MOTD). Format is \"Line1\",\"Line2\"", + "Keywords":"motd,welcome,message", + "FieldName":"motd", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"motd", + "IncludeInCommandLine":false, + "DefaultValue":"\"Welcome to DayZ\",\"Hosted using AMP by CubeCoders\"", + "EnumValues":{} + }, + { + "DisplayName":"MOTD Interval", + "Category":"DayZ Server Settings", + "Description":"Sets the time interval between between display of each line of the MOTD", + "Keywords":"motd,message,delay,interval,motdinterval", + "FieldName":"motdInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"motdInterval", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Whitelist", + "Category":"DayZ Server Settings", + "Description":"If set, enables the server whitelist. Enter Player IDs under \"Whitelisted Players\"", + "Keywords":"whitelist,userlist,allowlist,enablewhitelist", + "FieldName":"enableWhitelist", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"enableWhitelist", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Whitelisted Players", + "Category":"DayZ Server Settings", + "Description":"Sets a list of whitelisted Player IDs (44 characters long ID), which can be found in the admin log file (.ADM). Comments can be added after two forward slashes. Example: 1111111111112222222222222333333333XXXXXXAAAA //Bilbo Baggins", + "FieldName":"AdminPlayers", + + "InputType":"list", + "Special":"listfile:./dayz/223350/whitelist.txt" + }, + { + "DisplayName":"Banned Players", + "Category":"DayZ Server Settings", + "Description":"Sets a list of banned Player IDs, in the same format as Whitelisted Players. These bans are separate to BattlEye bans", + "FieldName":"BanPlayers", + + "InputType":"list", + "Special":"listfile:./dayz/223350/ban.txt" + }, + { + "DisplayName":"Instance ID", + "Category":"DayZ Server Settings", + "Description":"Sets the DayZ server instance ID, to identify the number of instances per box and their storage folders with persistence files", + "Keywords":"instance,id,instanceid", + "FieldName":"instanceId", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"instanceId", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Server Mission", + "Category":"DayZ Server Settings", + "Description":"Sets the mission to load on server startup. If Custom is selected, the \"Custom Mission Name\" must also be specified", + "Keywords":"mission,terrain,template", + "FieldName":"template", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"template", + "IncludeInCommandLine":false, + "DefaultValue":"dayzOffline.chernarusplus", + "EnumValues":{ + "dayzOffline.chernarusplus":"Vanilla - Chernarus Plus (default)", + "dayzOffline.enoch":"DLC - Enoch", + "{{customTemplate}}":"Custom" + } + }, + { + "DisplayName":"Custom Mission Name", + "Category":"DayZ Server Settings", + "Description":"Sets a custom mission to load on startup. Format is .. The Custom mission type must be selected under \"Server Mission\"", + "Keywords":"mission,terrain,template,customtemplate", + "FieldName":"customTemplate", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"customTemplate", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"Expansion.ChenarusPlus", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"DayZ Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time", + "Keywords":"maximum,players,clients,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"maxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Login Queue Limit", + "Category":"DayZ Server Settings", + "Description":"Sets the maximum number of players that can wait in the server login queue", + "Keywords":"login,queue,loginqueuemaxplayers", + "FieldName":"loginQueueMaxPlayers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"loginQueueMaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"500", + "Placeholder":"500", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Login Queue Concurrent Players", + "Category":"DayZ Server Settings", + "Description":"Sets the number of players concurrently processed during the login process, to prevent a performance drop when many people are connecting at the same time", + "Keywords":"login,queue,loginqueueconcurrentplayers", + "FieldName":"loginQueueConcurrentPlayers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"loginQueueConcurrentPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Load Mods", + "Category":"DayZ Server Settings", + "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", + "Keywords":"mods,addons,modding,modification,workshop,plugins,mod", + "FieldName":"mod", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"mod", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Load Server Mods", + "Category":"DayZ Server Settings", + "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", + "Keywords":"mods,addons,modding,modification,workshop,plugins,server,servermod", + "FieldName":"serverMod", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"serverMod", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server/RCON IP Binding", + "Category":"DayZ Server Settings", + "Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", + "Keywords":"ip,binding", + "FieldName":"ip", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"ip", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable Server File Patching", + "Category":"DayZ Server Settings", + "Description":"If enabled, allows loading of unpacked data", + "Keywords":"file,patching,filepatching", + "FieldName":"filePatching", + "InputType":"checkbox", + "IsFlagArgument":true, + "ParamFieldName":"filePatching", + "IncludeInCommandLine":true, + "DefaultValue":"-filePatching" + }, + { + "DisplayName":"Allow Client File Patching", + "Category":"DayZ Server Settings", + "Description":"If enabled, clients with the \"-filePatching\" launch parameter enabled will be able to connect", + "Keywords":"file,patching,allowfilepatching", + "FieldName":"allowFilePatching", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"allowFilePatching", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Force Same Build", + "Category":"DayZ Server Settings", + "Description":"If enabled, the server will allow connections only by clients with same the build version as the server", + "Keywords":"version,build,forcesamebuild", + "FieldName":"forceSameBuild", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"forceSameBuild", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"FPS Limit", + "Category":"DayZ Server Settings", + "Description":"Sets the limit for the server FPS, to lower CPU usage of low population servers", + "Keywords":"frames,fps,limitfps", + "FieldName":"limitFPS", + "InputType":"number", + "MinValue":"1", + "MaxValue":"200", + "IsFlagArgument":false, + "ParamFieldName":"limitFPS", + "IncludeInCommandLine":true, + "DefaultValue":"200", + "Placeholder":"200", + "Suffix":"fps", + "EnumValues":{} + }, + { + "DisplayName":"FPS Warning Trigger Value", + "Category":"DayZ Server Settings", + "Description":"Sets the server FPS value under which the initial server FPS warning will be triggered", + "Keywords":"frames,fps,warning,trigger,serverfpswarning", + "FieldName":"serverFpsWarning", + "InputType":"number", + "MinValue":"11", + "MaxValue":"200", + "IsFlagArgument":false, + "ParamFieldName":"serverFpsWarning", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "Placeholder":"15", + "Suffix":"fps", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Ping", + "Category":"DayZ Server Settings", + "Description":"Sets the maximum ping value for clients, above which the clients will be kicked", + "Keywords":"ping,maximum,lagging,lag,kick,maxping", + "FieldName":"maxPing", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"maxPing", + "IncludeInCommandLine":false, + "DefaultValue":"500", + "Placeholder":"500", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Ping Initial Warning Trigger Value", + "Category":"DayZ Server Settings", + "Description":"Sets the ping value that will trigger the initial yellow ping warning for clients", + "Keywords":"ping,initial,yellow,warning,trigger,pingwarning", + "FieldName":"pingWarning", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"pingWarning", + "IncludeInCommandLine":false, + "DefaultValue":"200", + "Placeholder":"200", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Ping Critical Warning Trigger Value", + "Category":"DayZ Server Settings", + "Description":"Sets the ping value that will trigger the critical red ping warning for clients", + "Keywords":"ping,critical,red,warning,trigger,pingcritical", + "FieldName":"pingCritical", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"pingCritical", + "IncludeInCommandLine":false, + "DefaultValue":"250", + "Placeholder":"250", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Additional Server Startup Parameters", + "Category":"DayZ Server Settings", + "Description":"Specifies additional startup parameters that are not otherwise set by AMP. Use with care", + "Keywords":"custom,server,arguments,parameters", + "FieldName":"CustomServerArgs", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomServerArgs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"-cpuCount=2", + "EnumValues":{} + }, + { + "DisplayName":"Disable Voice Chat", + "Category":"DayZ Gameplay Settings", + "Description":"If set, players will not be able to use in-game voice chat", + "Keywords":"voice,chat,voicechat,disablevon", + "FieldName":"disableVoN", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableVoN", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Voice Chat Quality", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the voice chat codec quality, the higher the better", + "Keywords":"voice,chat,voicechat,codec,quality,voncodecquality", + "FieldName":"vonCodecQuality", + "InputType":"number", + "MinValue":"0", + "MaxValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"vonCodecQuality", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "EnumValues":{} + }, + { + "DisplayName":"Disable Third Person View", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the third person view for players", + "Keywords":"view,3rd,third,person,camera,disable3rdperson", + "FieldName":"disable3rdPerson", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disable3rdPerson", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Crosshair", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the crosshair for players", + "Keywords":"crosshair,disablecrosshair", + "FieldName":"disableCrosshair", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableCrosshair", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Personal Light", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables personal light for all clients connected to the server", + "Keywords":"light,lighting,flashlight,torch,disablepersonallight", + "FieldName":"disablePersonalLight", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disablePersonalLight", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Darker Nights", + "Category":"DayZ Gameplay Settings", + "Description":"If enabled, nights will be darker on the server", + "Keywords":"light,lighting,dark,night,lightingconfig", + "FieldName":"lightingConfig", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"lightingConfig", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Base Damage", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the damage or destruction of fences and watchtowers", + "Keywords":"disable,base,damage,fence,watchtower,disablebasedamage", + "FieldName":"disableBaseDamage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableBaseDamage", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Container Damage", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the damage or destruction of tents, barrels, wooden crates and seachests", + "Keywords":"disable,container,damage,tent,barrel,crate,seachest,disablecontainerdamage", + "FieldName":"disableContainerDamage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableContainerDamage", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Debug Monitor", + "Category":"DayZ Gameplay Settings", + "Description":"If enabled, the server shows information about the character using a debug window in the corner of the screen", + "Keywords":"debug,monitor,character,information,enabledebugmonitor", + "FieldName":"enableDebugMonitor", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"enableDebugMonitor", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Disable Respawn Dialog", + "Category":"DayZ Gameplay Settings", + "Description":"If set, disables the respawn dialog (new characters will randomly spawn)", + "Keywords":"disable,respawn,dialog,disablerespawndialog", + "FieldName":"disableRespawnDialog", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableRespawnDialog", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Respawn Time", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the respawn delay before a player is able to get a new character on the server, when the previous one is dead", + "Keywords":"spawn,respawn,time,death,respawntime", + "FieldName":"respawnTime", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"respawnTime", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Server Time", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the initial in-game time of the server. \"SystemTime\" means the local time of the machine. Or set the time to some value in \"YYYY/MM/DD/HH/MM\" format, e.g \"2015/4/8/17/23\"", + "Keywords":"time,server,systemtime,servertime", + "FieldName":"serverTime", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"serverTime", + "IncludeInCommandLine":false, + "DefaultValue":"SystemTime", + "Placeholder":"SystemTime", + "EnumValues":{} + }, + { + "DisplayName":"Server Time Acceleration", + "Category":"DayZ Gameplay Settings", + "Description":"Sets a multiplier (0.1-64) for server time acceleration or deceleration. For example, if set to 24, time would move 24 times faster than normal, and an entire day would pass in one hour", + "Keywords":"time,server,daytime,cycle,servertime,servertimeacceleration", + "FieldName":"serverTimeAcceleration", + "InputType":"number", + "MinValue":"0", + "MaxValue":"64", + "IsFlagArgument":false, + "ParamFieldName":"serverTimeAcceleration", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Server Night Time Acceleration", + "Category":"DayZ Gameplay Settings", + "Description":"Sets a multiplier (0.1-64) for server night time acceleration or deceleration, which is combined with the \"Server Time Acceleration\" multiplier. For example, if set to 4 and Server Time Acceleration is set to 2, night time would move 8 times faster than normal", + "Keywords":"time,server,nighttime,cycle,servertime,servernighttimeacceleration", + "FieldName":"serverNightTimeAcceleration", + "InputType":"number", + "MinValue":"0", + "MaxValue":"64", + "IsFlagArgument":false, + "ParamFieldName":"serverNightTimeAcceleration", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Persistent Server Time", + "Category":"DayZ Gameplay Settings", + "Description":"If enabled, the actual server time is saved to storage, so the next server start will use the saved time value", + "Keywords":"time,servertime,persistent,servertimepersistent", + "FieldName":"serverTimePersistent", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"serverTimePersistent", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Maximum Terrain Render Distance", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the maximum terrain render distance on the server (if higher than \"viewDistance=\" in a client profile, the client side parameter applies)", + "Keywords":"maximum,terrain,render,distance,visibility,defaultVisibility", + "FieldName":"defaultVisibility", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"defaultVisibility", + "IncludeInCommandLine":false, + "DefaultValue":"1375", + "Placeholder":"1375", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Object Render Distance", + "Category":"DayZ Gameplay Settings", + "Description":"Sets the maximum object render distance on the server (if higher than \"preferredObjectViewDistance=\" in a client profile, the client side parameter applies)", + "Keywords":"maximum,object,render,distance,visibility,defaultObjectViewDistance", + "FieldName":"defaultObjectViewDistance", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"defaultObjectViewDistance", + "IncludeInCommandLine":false, + "DefaultValue":"1375", + "Placeholder":"1375", + "EnumValues":{} + }, + { + "DisplayName":"Storage Auto Fix", + "Category":"DayZ Misc Settings", + "Description":"If enabled, checks if the persistence files are corrupted and replaces corrupted ones with empty ones", + "Keywords":"storage,fix,persistence,storageautofix", + "FieldName":"storageAutoFix", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"storageAutoFix", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Player Simulation Limit", + "Category":"DayZ Misc Settings", + "Description":"Sets the limit on how much players can be simulated per frame (for server performance gains)", + "Keywords":"player,simulation,limit,simulatedPlayersBatch", + "FieldName":"simulatedPlayersBatch", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"simulatedPlayersBatch", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "EnumValues":{} + }, + { + "DisplayName":"Enable Multi-Threaded Replication", + "Category":"DayZ Misc Settings", + "Description":"If set, enables multi-threaded processing of the server's replication system. The number of worker threads is derived by the \"maxcores\" and \"reservedcores\" parameters for jobsystem in dayzsettings.xml", + "Keywords":"multi,threaded,replication,multithreadedreplication", + "FieldName":"multithreadedReplication", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"multithreadedReplication", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Speed Hack Detection Level", + "Category":"DayZ Misc Settings", + "Description":"Sets the speed back detection level. 1 = strict, 10 = benevolent", + "Keywords":"speed,hack,detection,level,speedhackdetection", + "FieldName":"speedhackDetection", + "InputType":"number", + "MinValue":"1", + "MaxValue":"10", + "IsFlagArgument":false, + "ParamFieldName":"speedhackDetection", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Close Object Spawn Distance", + "Category":"DayZ Misc Settings", + "Description":"Sets the network bubble distance for spawn of close objects with items in them (such as backpacks)", + "Keywords":"network,bubble,distance,spawn,close,objects,networkrangeclose", + "FieldName":"networkRangeClose", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"networkRangeClose", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"metres", + "EnumValues":{} + }, + { + "DisplayName":"Near Object Spawn Distance", + "Category":"DayZ Misc Settings", + "Description":"Sets the network bubble distance for spawn (despawn +10%) of near inventory item objects", + "Keywords":"network,bubble,distance,spawn,near,inventory,objects,networkrangenear", + "FieldName":"networkRangeNear", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"networkRangeNear", + "IncludeInCommandLine":false, + "DefaultValue":"150", + "Placeholder":"150", + "Suffix":"metres", + "EnumValues":{} + }, + { + "DisplayName":"Far Object Spawn Distance", + "Category":"DayZ Misc Settings", + "Description":"Sets the network bubble distance for spawn (despawn +10%) of far objects (other than inventory items)", + "Keywords":"network,bubble,distance,spawn,far,objects,networkrangefar", + "FieldName":"networkRangeFar", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"networkRangeFar", + "IncludeInCommandLine":false, + "DefaultValue":"1000", + "Placeholder":"1000", + "Suffix":"metres", + "EnumValues":{} + }, + { + "DisplayName":"Effects Spawn Distance", + "Category":"DayZ Misc Settings", + "Description":"Sets the network bubble distance for spawn of effects (curently only sound effects)", + "Keywords":"network,bubble,distance,spawn,effects,networkrangedistanteffect", + "FieldName":"networkRangeDistantEffect", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"networkRangeDistantEffect", + "IncludeInCommandLine":false, + "DefaultValue":"4000", + "Placeholder":"4000", + "Suffix":"metres", + "EnumValues":{} + }, + { + "DisplayName":"Log Time Stamp Format", + "Category":"DayZ Misc Settings", + "Description":"Sets the format of the time stamps used in the .RPT log file", + "Keywords":"log,time,stamp,format,timestampformat", + "FieldName":"timeStampFormat", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"timeStampFormat", + "IncludeInCommandLine":false, + "DefaultValue":"Short", + "EnumValues":{ + "Short":"Short (default)", + "Full":"Full" + } + }, + { + "DisplayName":"Log Server FPS", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs the average server FPS", + "Keywords":"log,average,fps,logaveragefps", + "FieldName":"logAverageFps", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"logAverageFps", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Server Memory", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs the server memory usage", + "Keywords":"log,memory,usage,logmemory", + "FieldName":"logMemory", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"logMemory", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Player Count", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs the count of currently connected players", + "Keywords":"log,connected,players,logplayers", + "FieldName":"logPlayers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"logPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Player Hits Only", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs player hits only, instead of all hits, in the admin log", + "Keywords":"log,player,hits,only,adminlogplayerhitsonly", + "FieldName":"adminLogPlayerHitsOnly", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"adminLogPlayerHitsOnly", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Placement Actions", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs placement actions such as traps and tents, in the admin log", + "Keywords":"log,placement,action,adminlogplacement", + "FieldName":"adminLogPlacement", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"adminLogPlacement", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Basebuilding Actions", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs basebuilding actions (build, dismantle, destroy), in the admin log", + "Keywords":"log,basebuilding,building,action,adminlogbuildactions", + "FieldName":"adminLogBuildActions", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"adminLogBuildActions", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Log Player Position List", + "Category":"DayZ Misc Settings", + "Description":"If enabled, the server logs the position of players every 5 minutes, in the admin log", + "Keywords":"log,adminlogplayerlist", + "FieldName":"adminLogPlayerList", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"adminLogPlayerList", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + } +] \ No newline at end of file diff --git a/dayz-originalmetaconfig.json b/dayz-originalmetaconfig.json new file mode 100644 index 000000000..965a676bc --- /dev/null +++ b/dayz-originalmetaconfig.json @@ -0,0 +1,24 @@ +[ + { + "ConfigFile":"./serverDZ.cfg", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"./dayz/223350/AMP_serverDZ.cfg" + }, + { + "ConfigFile":"./battleye/beserver_x64.cfg", + "ConfigType":"kvp", + "ConfigFormat":"{0} {1}", + "Subsections":[ + { + "Heading":"$root", + "SettingMappings":{ + "RConPassword":"$RemoteAdminPassword", + "RConPort":"$RCONPort", + "RConIP":"$ApplicationIPBinding", + "RestrictRCon":"0" + } + } + ] + } +] \ No newline at end of file diff --git a/dayz-originalserver.cfg b/dayz-originalserver.cfg new file mode 100644 index 000000000..efcad8033 --- /dev/null +++ b/dayz-originalserver.cfg @@ -0,0 +1,77 @@ +// DO NOT edit serverDZ.cfg directly +// AMP_serverDZ.cfg controls serverDZ.cfg. Edit AMP_serverDZ.cfg if you want to add certain settings +// NOTE: +// - Do not change values in double curly braces, ie {{}}. They are set either via the AMP UI +// or are controlled by AMP itself (in particular, ports) +// - Other settings can be added as needed - see the second section below + +// Full information on settings is available at https://community.bistudio.com/wiki/DayZ:Server_Configuration + +// ******* +// SETTINGS CONTROLLED BY AMP - DO NOT TOUCH THESE!!! +// ******* +hostname = "{{hostname}}"; +password = "{{password}}"; +passwordAdmin = "{{passwordAdmin}}"; +enableWhitelist = {{enableWhitelist}}; +maxPlayers = {{maxPlayers}}; +verifySignatures = 2; // Verifies .pbos against .bisign files (only 2 is supported) +forceSameBuild = {{forceSameBuild}}; +disableVoN = {{disableVoN}}; +vonCodecQuality = {{vonCodecQuality}}; +disable3rdPerson = {{disable3rdPerson}}; +disableCrosshair = {{disableCrosshair}}; +serverTime = "{{serverTime}}"; +serverTimeAcceleration = {{serverTimeAcceleration}}; +serverNightTimeAcceleration = {{serverNightTimeAcceleration}}; +serverTimePersistent = {{serverTimePersistent}}; +guaranteedUpdates = 1; // Communication protocol used with game server (use only number 1) +loginQueueConcurrentPlayers = {{loginQueueConcurrentPlayers}}; +loginQueueMaxPlayers = {{loginQueueMaxPlayers}}; +instanceId = {{instanceId}}; +storageAutoFix = {{storageAutoFix}}; +class Missions +{ + class DayZ + { + template = "{{template}}"; + }; +}; +respawnTime = {{respawnTime}}; +motd[] = { {{motd}} }; +motdInterval = {{motdInterval}}; +timeStampFormat = "{{timeStampFormat}}"; +logAverageFps = {{logAverageFps}}; +logMemory = {{logMemory}}; +logPlayers = {{logPlayers}}; +logFile = "server_console.log"; +adminLogPlayerHitsOnly = {{adminLogPlayerHitsOnly}}; +adminLogPlacement = {{adminLogPlacement}}; +adminLogBuildActions = {{adminLogBuildActions}}; +adminLogPlayerList = {{adminLogPlayerList}}; +enableDebugMonitor = {{enableDebugMonitor}}; +steamQueryPort = {{steamQueryPort}}; +allowFilePatching = {{allowFilePatching}}; +simulatedPlayersBatch = {{simulatedPlayersBatch}}; +multithreadedReplication = {{multithreadedReplication}}; +speedhackDetection = {{speedhackDetection}}; +networkRangeClose = {{networkRangeClose}}; +networkRangeNear = {{networkRangeNear}}; +networkRangeFar = {{networkRangeFar}}; +networkRangeDistantEffect = {{networkRangeDistantEffect}}; +defaultVisibility = {{defaultVisibility}}; +defaultObjectViewDistance = {{defaultObjectViewDistance}}; +lightingConfig = {{lightingConfig}}; +disablePersonalLight = {{disablePersonalLight}}; +disableBaseDamage = {{disableBaseDamage}}; +disableContainerDamage = {{disableContainerDamage}}; +disableRespawnDialog = {{disableRespawnDialog}}; +pingWarning = {{pingWarning}}; +pingCritical = {{pingCritical}}; +maxPing = {{maxPing}}; +serverFpsWarning = {{serverFpsWarning}}; + +// ******* +// USER CONFIGURABLE SETTINGS - ADD ADDITIONAL SETTINGS HERE +// ******* + diff --git a/dayz-originalupdates.json b/dayz-originalupdates.json new file mode 100644 index 000000000..8ac6e82b3 --- /dev/null +++ b/dayz-originalupdates.json @@ -0,0 +1,26 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"223350", + "UpdateSourceArgs":"221100", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Config Template Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "OverwriteExistingFiles":false, + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-originalserver.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceArgs":"AMP_serverDZ.cfg" + }, + { + "UpdateStageName":"Link Mods", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C cd .\\dayz\\223350 && for /D %G in (.\\steamapps\\workshop\\content\\221100\\*) do mklink /J %~nxG %G" + } +] \ No newline at end of file From c62be0ac902d9bef8efa55265b0caae8c3bb0ee6 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 7 Mar 2023 05:40:51 +1100 Subject: [PATCH 126/318] Unturned: Password tweaks (#294) --- unturned.kvp | 1 + unturnedconfig.json | 27 +++++++++++++-------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/unturned.kvp b/unturned.kvp index 1ba499f2d..c0facd8f0 100644 --- a/unturned.kvp +++ b/unturned.kvp @@ -48,6 +48,7 @@ App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 App.UniversalSleepSteamQueryPortRef=QueryPort App.MaxUsers=10 App.UseRandomAdminPassword=True +App.PersistRandomPassword=True App.RemoteAdminPassword= App.AdminMethod=TelnetRCON App.AdminLoginTransform=None diff --git a/unturnedconfig.json b/unturnedconfig.json index cd2dd5328..1a98ccbb2 100644 --- a/unturnedconfig.json +++ b/unturnedconfig.json @@ -41,19 +41,6 @@ "DefaultValue": "27115", "EnumValues":{} }, - { - "DisplayName": "RCON Password", - "Category": "Server Settings", - "Description": "", - "Keywords": "", - "FieldName": "$RemoteAdminPassword", - "InputType": "text", - "IsFlagArgument": false, - "Hidden":true, - "ParamFieldName": "/RocketSettings/RCON/@Password", - "IncludeInCommandLine": false, - "EnumValues":{} - }, { "DisplayName": "Server Name", "Category": "Server Settings", @@ -89,13 +76,25 @@ "Description": "Password to connect to the server. Default is no password", "Keywords": "password", "FieldName": "Password", - "InputType": "RandomPassword", + "InputType": "password", "IsFlagArgument": false, "ParamFieldName": "Password", "IncludeInCommandLine": false, "DefaultValue": "", "EnumValues":{} }, + { + "DisplayName": "RCON Password", + "Category": "Server Settings", + "Description": "See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords": "rcon,password", + "FieldName": "$RemoteAdminPassword", + "InputType": "hidden", + "IsFlagArgument": false, + "ParamFieldName": "/RocketSettings/RCON/@Password", + "IncludeInCommandLine": false, + "EnumValues":{} + }, { "DisplayName": "Owner", "Category": "Server Settings", From 89fb00771571f8c9dafc86f4971b0b31277e692c Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 7 Mar 2023 05:50:50 +1100 Subject: [PATCH 127/318] Add Arma 3 (generic) (#203) --- arma3.kvp | 91 ++++ arma3basic.cfg | 17 + arma3config.json | 1144 ++++++++++++++++++++++++++++++++++++++++++ arma3metaconfig.json | 23 + arma3modscript.sh | 6 + arma3server.cfg | 113 +++++ arma3updates.json | 57 +++ 7 files changed, 1451 insertions(+) create mode 100644 arma3.kvp create mode 100644 arma3basic.cfg create mode 100644 arma3config.json create mode 100644 arma3metaconfig.json create mode 100644 arma3modscript.sh create mode 100644 arma3server.cfg create mode 100644 arma3updates.json diff --git a/arma3.kvp b/arma3.kvp new file mode 100644 index 000000000..3e8287598 --- /dev/null +++ b/arma3.kvp @@ -0,0 +1,91 @@ +Meta.DisplayName=Arma 3 +Meta.Description=Arma 3 Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://arma3.com/ +Meta.DisplayImageSource=steam:107410 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=arma3config.json +Meta.MetaConfigManifest=arma3metaconfig.json +Meta.ConfigRoot=arma3.kvp +Meta.MinAMPVersion=2.4.2.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/t/arma-3-generic-guide/3475 +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Arma 3 +App.RootDir=./arma3/ +App.BaseDirectory=./arma3/233780/ +App.ExecutableWin=233780\ArmA3Server_x64.exe +App.ExecutableLinux=233780/arma3server_x64 +App.WorkingDir=233780 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -name=AMPServer "-profiles={{$FullBaseDir}}A3Master" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=server.cfg -cfg=basic.cfg -world=empty -ip={{$ApplicationIPBinding}} {{autoInit}}{{$FormattedArgs}} {{parfile}}{{CustomServerArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"107410"} +App.CommandLineParameterFormat="-{0}={1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=#shutdown +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":2302,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":2303,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"UDP","Port":2304,"Ref":"SteamPort","Name":"Steam Port","Description":"Port for Steam traffic"},{"Protocol":"UDP","Port":2305,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Port reserved for VON traffic"},{"Protocol":"UDP","Port":2306,"Ref":"BattlEyePort","Name":"BattlEye Port","Description":"Port for BattlEye traffic"},{"Protocol":"UDP","Port":2307,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RCONPort +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=64 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=True +App.RemoteAdminPassword= +App.AdminMethod=BattlEyeRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0.5 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[arma3updates.json] +App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -f {{$FullBaseDir}}battleye/beserver_x64_active_*.cfg'"},{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=True +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=^((WARNING|ERROR): Shader.+|Unknown command)$ +Console.AppReadyRegex=^RCon admin #\d+ \([\d\.:]+\) logged in$ +Console.UserJoinRegex=^[\d:]+ BattlEye Server: Player #(?.+?) (?.+( \(\d+\))?) \((?.+?):(?:\d+)\) connected$ +Console.UserLeaveRegex=^[\d:]+ BattlEye Server: Player #(?.+?) (?.+( \(\d+\))?) disconnected$ +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 \ No newline at end of file diff --git a/arma3basic.cfg b/arma3basic.cfg new file mode 100644 index 000000000..20deee8f4 --- /dev/null +++ b/arma3basic.cfg @@ -0,0 +1,17 @@ +// basic.cfg + +// This file is to fine-tune network performance. + +// Full information on relevant settings is available at https://community.bistudio.com/wiki/Arma_3:_Basic_Server_Config_File + +//MinBandwidth = 131072; // Bandwidth the server is guaranteed to have (in bps). This value helps server to estimate bandwidth available. Increasing it to too optimistic values can increase lag and CPU load, as too many messages will be sent but discarded. Default: 131072 +//MaxBandwidth = 10000000000; // Bandwidth the server is guaranteed to never have. This value helps the server to estimate bandwidth available. + +//MaxMsgSend = 128; // Maximum number of messages that can be sent in one simulation cycle. Increasing this value can decrease lag on high upload bandwidth servers. Default: 128 +//MaxSizeGuaranteed = 512; // Maximum size of guaranteed packet in bytes (without headers). Small messages are packed to larger frames. Guaranteed messages are used for non-repetitive events like shooting. Default: 512 +//MaxSizeNonguaranteed = 256; // Maximum size of non-guaranteed packet in bytes (without headers). Non-guaranteed messages are used for repetitive updates like soldier or vehicle position. Increasing this value may improve bandwidth requirement, but it may increase lag. Default: 256 + +//MinErrorToSend = 0.001; // Minimal error to send updates across network. Using a smaller value can make units observed by binoculars or sniper rifle to move smoother. Default: 0.001 +//MinErrorToSendNear = 0.01; // Minimal error to send updates across network for near units. Using larger value can reduce traffic sent for near units. Used to control client to server traffic as well. Default: 0.01 + +//MaxCustomFileSize = 0; // (bytes) Users with custom face or custom sound larger than this size are kicked when trying to connect. diff --git a/arma3config.json b/arma3config.json new file mode 100644 index 000000000..08709b48d --- /dev/null +++ b/arma3config.json @@ -0,0 +1,1144 @@ +[ + { + "DisplayName":"Server Name", + "Category":"Arma Server Settings", + "Description":"Sets the server name visible in the game browser", + "Keywords":"server,name,hostname", + "FieldName":"hostname", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"hostname", + "IncludeInCommandLine":false, + "DefaultValue":"Arma 3 Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Arma Server Settings", + "Description":"Sets the password required to connect to the server. Default is no password", + "Keywords":"server,password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"Arma Server Settings", + "Description":"Sets the password required for admin access to the server. Default is no password", + "Keywords":"admin,password,passwordadmin", + "FieldName":"passwordAdmin", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"passwordAdmin", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Command Password", + "Category":"Arma Server Settings", + "Description":"Sets the password required by alternate syntax of \"serverCommand\" server-side scripting. Default is no password", + "Keywords":"command,password,servercommandpassword", + "FieldName":"serverCommandPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"serverCommandPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"Arma Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password", + "FieldName":"RCONPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"RCONPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Admins", + "Category":"Arma Server Settings", + "Description":"Sets the list of [Steam64 IDs](https://steamidfinder.com/) for server admins. Format is \"SteamID\",\"SteamID\"", + "Keywords":"admins", + "FieldName":"admins", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"admins", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"\"12345678901234567\",\"76543210987654321\"", + "EnumValues":{} + }, + { + "DisplayName":"MOTD", + "Category":"Arma Server Settings", + "Description":"Sets the player welcome message (MOTD). Format is \"Line1\",\"Line 2\"", + "Keywords":"motd,welcome,message", + "FieldName":"motd", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"motd", + "IncludeInCommandLine":false, + "DefaultValue":"\"Welcome to Arma 3\",\"Hosted using AMP by CubeCoders\"", + "EnumValues":{} + }, + { + "DisplayName":"MOTD Interval", + "Category":"Arma Server Settings", + "Description":"Sets the time interval between display of each line of the MOTD", + "Keywords":"motd,message,delay,interval,motdinterval", + "FieldName":"motdInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"motdInterval", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Arma Server Settings", + "Description":"Sets the maximum number of clients (including headless clients) that may connect to the server at one time", + "Keywords":"maximum,players,clients,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"maxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"64", + "Placeholder":"64", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Load Mods", + "Category":"Arma Server Settings", + "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths. Alternatively use the Startup Parameters File option", + "Keywords":"mods,addons,mod", + "FieldName":"mod", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"mod", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Load Server Mods", + "Category":"Arma Server Settings", + "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths. Alternatively use the Startup Parameters File option", + "Keywords":"mods,addons,server,servermod", + "FieldName":"serverMod", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"serverMod", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server/RCON IP Binding", + "Category":"Arma Server Settings", + "Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", + "Keywords":"ip,binding", + "FieldName":"ip", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"ip", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Disallow Duplicate Game IDs", + "Category":"Arma Server Settings", + "Description":"If enabled, players with an ID that is identical to another player will be kicked", + "Keywords":"kick,duplicate,kickduplicate", + "FieldName":"kickDuplicate", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"kickDuplicate", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Addon Signature Verification", + "Category":"Arma Server Settings", + "Description":"If enabled, players with unknown or unsigned mods will not be allowed to join", + "Keywords":"mods,addons,verify,verifysignatures", + "FieldName":"verifySignatures", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"verifySignatures", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "False":"0", + "True":"2" + } + }, + { + "DisplayName":"Allow Client File Patching", + "Category":"Arma Server Settings", + "Description":"Specifies whether to prevent or allow file patching for clients", + "Keywords":"file,patching,allowedfilepatching", + "FieldName":"allowedFilePatching", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"allowedFilePatching", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Do not allow (default)", + "1":"Allow headless clients only", + "2":"Allow all clients" + } + }, + { + "DisplayName":"Client File Patching Exceptions", + "Category":"Arma Server Settings", + "Description":"Sets a whitelist of [Steam64 IDs](https://steamidfinder.com/) for clients allowed to use file patching. Format is \"SteamID\",\"SteamID\"", + "Keywords":"file,patching,exceptions,filepatchingexceptions", + "FieldName":"filePatchingExceptions", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"filePatchingExceptions", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"\"12345678901234567\",\"76543210987654321\"", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Client Version", + "Category":"Arma Server Settings", + "Description":"Sets the minimum client version, below which clients won't be allowed to join. Default of 99999999 equates to the server version", + "Keywords":"required,build,requiredbuild", + "FieldName":"requiredBuild", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"requiredBuild", + "IncludeInCommandLine":false, + "DefaultValue":"99999999", + "Placeholder":"99999999", + "EnumValues":{} + }, + { + "DisplayName":"Force LAN Mode", + "Category":"Arma Server Settings", + "Description":"If enabled, the server will be forced into LAN mode - only local clients can connect", + "Keywords":"lan,loopback", + "FieldName":"loopback", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"loopback", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Headless Client IPs", + "Category":"Arma Server Settings", + "Description":"Sets the IPs of [headless clients](https://community.bistudio.com/wiki/Arma_3:_Headless_Client) able to connect to the server. Multiples connections and IPs are allowed. Format is \"IP1\",\"IP2\"", + "Keywords":"headless,client,ip,headlessclients", + "FieldName":"headlessClients", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"headlessClients", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"\"123.456.789.12\",\"210.987.654.321\"", + "EnumValues":{} + }, + { + "DisplayName":"Local Headless Client IPs", + "Category":"Arma Server Settings", + "Description":"Sets the IPs of those headless clients listed under Headless Client IPs that have unlimited bandwidth and nearly no latency. Format is \"IP1\",\"IP2\"", + "Keywords":"headless,client,local,localclient", + "FieldName":"localClient", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"localClient", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"\"127.0.0.1\",\"192.168.1.2\"", + "EnumValues":{} + }, + { + "DisplayName":"Enable UPnP", + "Category":"Arma Server Settings", + "Description":"If enabled, the server will automatically create port mappings on UPnP/IGD enabled routers", + "Keywords":"upnp", + "FieldName":"upnp", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"upnp", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Additional Server Startup Parameters", + "Category":"Arma Server Settings", + "Description":"Specifies additional startup parameters that are not otherwise set by AMP. Alternatively, use the Startup Parameters File option. Use with care", + "Keywords":"custom,server,arguments,parameters", + "FieldName":"CustomServerArgs", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomServerArgs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"-debug", + "EnumValues":{} + }, + { + "DisplayName":"Use Startup Parameters File", + "Category":"Arma Server Settings", + "Description":"If enabled, allows the use of a [parameters file](https://community.bistudio.com/wiki/Startup_Parameters_Config_File) for additional startup parameters. File is \"parameters.txt\" in the server base directory. Useful for long startup parameters such as -mods or -servermods. Use with care", + "Keywords":"custom,server,arguments,parameters,file,parfile", + "FieldName":"parfile", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"parfile", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-par=./parameters.txt " + } + }, + { + "DisplayName":"Skip Lobby", + "Category":"Arma Gameplay Settings", + "Description":"If enabled, joining players will skip role selection", + "Keywords":"skip,lobby,skiplobby", + "FieldName":"skipLobby", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"skipLobby", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Minimum Players For Mission Selection", + "Category":"Arma Gameplay Settings", + "Description":"Sets the minimum number of players required before displaying the mission selection screen", + "Keywords":"voting,minimum,votemissionplayers", + "FieldName":"voteMissionPlayers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"voteMissionPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Voting Threshold", + "Category":"Arma Gameplay Settings", + "Description":"Sets the fraction (0.00 to 1.00) of players needed to vote something into effect", + "Keywords":"voting,threshold,votethreshold", + "FieldName":"voteThreshold", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"voteThreshold", + "IncludeInCommandLine":false, + "DefaultValue":"0.33", + "Placeholder":"0.33", + "EnumValues":{} + }, + { + "DisplayName":"Advanced Flight Model", + "Category":"Arma Gameplay Settings", + "Description":"Sets the Advanced Flight Model mode", + "Keywords":"force,advanced,flight,model,forcerotorlibsimulation", + "FieldName":"forceRotorLibSimulation", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"forceRotorLibSimulation", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Player decides (default)", + "1":"Force Advanced Flight Model", + "2":"Force Simple Flight Model" + } + }, + { + "DisplayName":"Disable Voice Chat", + "Category":"Arma Gameplay Settings", + "Description":"If set, players will not be able to use in-game voice chat", + "Keywords":"voice,chat,disablevon", + "FieldName":"disableVoN", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableVoN", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Voice Chat Codec", + "Category":"Arma Gameplay Settings", + "Description":"Sets the voice chat codec type", + "Keywords":"voice,chat,codec,voncodec", + "FieldName":"vonCodec", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"vonCodec", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Old SPEEX codec", + "1":"New OPUS codec (default)" + } + }, + { + "DisplayName":"Voice Chat Quality", + "Category":"Arma Gameplay Settings", + "Description":"Sets the voice sound range: 1-10 is 8kHz (narrowband), 11-20 is 16kHz (wideband), 21-30 is 32kHz (SPEEX) or 48kHz (OPUS) (ultrawideband)", + "Keywords":"voice,chat,codec,quality,voncodecquality", + "FieldName":"vonCodecQuality", + "InputType":"number", + "MinValue":"1", + "MaxValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"vonCodecQuality", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Start Mission Immediately", + "Category":"Arma Gameplay Settings", + "Description":"If enabled, begins the mission immediately instead of waiting for players to join (autoInit). Requires Persistent Mission to be enabled", + "Keywords":"mission,autoinit,immediate", + "FieldName":"autoInit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"autoInit", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-autoInit " + } + }, + { + "DisplayName":"Persistent Mission", + "Category":"Arma Gameplay Settings", + "Description":"If enabled, the mission keeps running when all players disconnect. Required for \"autoInit\" (Start Mission Immediately option)", + "Keywords":"mission,persistent", + "FieldName":"persistent", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"persistent", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Automatic Mission Selection", + "Category":"Arma Gameplay Settings", + "Description":"If enabled, the server auto-starts the next mission in the mission cycle and waits for players in the role selection. Requires a [mission cycle](https://community.bistudio.com/wiki/Arma_3:_Server_Config_File#Mission_rotation) to be specified in AMP_server.cfg", + "Keywords":"mission,selection,automatic,autoselectmission", + "FieldName":"autoSelectMission", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"autoSelectMission", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Random Mission Order", + "Category":"Arma Gameplay Settings", + "Description":"If enabled, the server randomly chooses a mission from the mission cycle for starting or auto-starting. Requires a [mission cycle](https://community.bistudio.com/wiki/Arma_3:_Server_Config_File#Mission_rotation) to be specified in AMP_server.cfg", + "Keywords":"mission,random,order,randommissionorder", + "FieldName":"randomMissionOrder", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"randomMissionOrder", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Map Lines/Markers", + "Category":"Arma Gameplay Settings", + "Description":"If enabled, gives the ability to place markers and draw lines in map", + "Keywords":"map,lines,markers,drawinginmap", + "FieldName":"drawingInMap", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"drawingInMap", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Profile Glasses", + "Category":"Arma Gameplay Settings", + "Description":"If disabled, glasses set in a player's profile will be ignored", + "Keywords":"profile,glasses,allowprofileglasses", + "FieldName":"allowProfileGlasses", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"allowProfileGlasses", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enforce Difficulty", + "Category":"Arma Gameplay Settings", + "Description":"Forces the selected difficulty on the server. To use custom difficulty settings, you must configure them in the profile within the A3Master directory", + "Keywords":"force,difficulty,forceddifficulty", + "FieldName":"forcedDifficulty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"forcedDifficulty", + "IncludeInCommandLine":false, + "DefaultValue":"Regular", + "EnumValues":{ + "Recruit":"Recruit", + "Regular":"Regular (default)", + "Veteran":"Veteran", + "Custom":"Custom" + } + }, + { + "DisplayName":"AI Level", + "Category":"Arma Gameplay Settings", + "Description":"Sets the AI skill level on the server. To use custom AI level settings, you must configure them in the profile within the A3Master directory", + "Keywords":"ai,level,preset,ailevelpreset", + "FieldName":"aiLevelPreset", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"aiLevelPreset", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Low", + "1":"Normal (default)", + "2":"High", + "3":"Custom" + } + }, + { + "DisplayName":"Enable Statistics", + "Category":"Arma Misc Settings", + "Description":"If enabled, the server will opt into [Arma 3 game analytics](https://community.bistudio.com/wiki/Arma_3:_Analytics)", + "Keywords":"arma,game,analytics,statistics,statisticsenabled", + "FieldName":"statisticsEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"statisticsEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allowed File Extensions", + "Category":"Arma Misc Settings", + "Description":"Only allows files with the listed extensions to be loaded via the loadFile command", + "Keywords":"file,extensions,allowedloadfileextensions", + "FieldName":"allowedLoadFileExtensions", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"allowedLoadFileExtensions", + "IncludeInCommandLine":false, + "DefaultValue":"\"hpp\",\"sqs\",\"sqf\",\"fsm\",\"cpp\",\"paa\",\"txt\",\"xml\",\"inc\",\"ext\",\"sqm\",\"ods\",\"fxy\",\"lip\",\"csv\",\"kb\",\"bik\",\"bikb\",\"html\",\"htm\",\"biedi\"", + "Placeholder":"\"hpp\",\"sqs\",\"sqf\",\"fsm\",\"cpp\",\"paa\",\"txt\",\"xml\",\"inc\",\"ext\",\"sqm\",\"ods\",\"fxy\",\"lip\",\"csv\",\"kb\",\"bik\",\"bikb\",\"html\",\"htm\",\"biedi\"", + "EnumValues":{} + }, + { + "DisplayName":"Allowed Preprocess File Extensions", + "Category":"Arma Misc Settings", + "Description":"Only allows files with the listed extensions to be loaded via the preprocessFile / preprocessFileLineNumbers commands", + "Keywords":"file,preprocess,extensions,allowedpreprocessfileextensions", + "FieldName":"allowedPreprocessFileExtensions", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"allowedPreprocessFileExtensions", + "IncludeInCommandLine":false, + "DefaultValue":"\"hpp\",\"sqs\",\"sqf\",\"fsm\",\"cpp\",\"paa\",\"txt\",\"xml\",\"inc\",\"ext\",\"sqm\",\"ods\",\"fxy\",\"lip\",\"csv\",\"kb\",\"bik\",\"bikb\",\"html\",\"htm\",\"biedi\"", + "Placeholder":"\"hpp\",\"sqs\",\"sqf\",\"fsm\",\"cpp\",\"paa\",\"txt\",\"xml\",\"inc\",\"ext\",\"sqm\",\"ods\",\"fxy\",\"lip\",\"csv\",\"kb\",\"bik\",\"bikb\",\"html\",\"htm\",\"biedi\"", + "EnumValues":{} + }, + { + "DisplayName":"Allowed HTML Extensions", + "Category":"Arma Misc Settings", + "Description":"Only allows files and URLs with the listed extensions to be loaded via the htmlLoad command", + "Keywords":"html,extensions,allowedhtmlloadextensions", + "FieldName":"allowedHTMLLoadExtensions", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"allowedHTMLLoadExtensions", + "IncludeInCommandLine":false, + "DefaultValue":"\"htm\",\"html\",\"xml\",\"txt\"", + "Placeholder":"\"htm\",\"html\",\"xml\",\"txt\"", + "EnumValues":{} + }, + { + "DisplayName":"Log Time Stamp Format", + "Category":"Arma Misc Settings", + "Description":"Sets the format of the time stamps used in the log file", + "Keywords":"time,stamp,format,timestampformat", + "FieldName":"timeStampFormat", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"timeStampFormat", + "IncludeInCommandLine":false, + "DefaultValue":"none", + "EnumValues":{ + "none":"None (default)", + "short":"Short", + "full":"Full" + } + }, + { + "DisplayName":"Log Player Info", + "Category":"Arma Misc Settings", + "Description":"If enabled, the server logs players' bandwidth and desync info every 60 seconds, as well as \"network message is pending\" owner identity", + "Keywords":"player,diag,info,enableplayerdiag", + "FieldName":"enablePlayerDiag", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"enablePlayerDiag", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Run Script On User Connected", + "Category":"Arma Misc Settings", + "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a user has connected", + "Keywords":"scripting,user,connected,onuserconnected", + "FieldName":"onUserConnected", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"onUserConnected", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Run Script On User Disconnected", + "Category":"Arma Misc Settings", + "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a user has disconnected", + "Keywords":"scripting,user,disconnected,onuserdisconnected", + "FieldName":"onUserDisconnected", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"onUserDisconnected", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Run Script On Double ID Detected", + "Category":"Arma Misc Settings", + "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a second user with the same ID is detected", + "Keywords":"scripting,double,id,detected,doubleiddetected", + "FieldName":"doubleIdDetected", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"doubleIdDetected", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Run Script On User Kicked", + "Category":"Arma Misc Settings", + "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a user is kicked", + "Keywords":"scripting,user,kicked,onuserkicked", + "FieldName":"onUserKicked", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"onUserKicked", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Run Script On Unsigned Data", + "Category":"Arma Misc Settings", + "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when unsigned data is detected", + "Keywords":"scripting,unsigned,data,onunsigneddata", + "FieldName":"onUnsignedData", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"onUnsignedData", + "IncludeInCommandLine":false, + "DefaultValue":"kick (_this select 0)", + "Placeholder":"kick (_this select 0)", + "EnumValues":{} + }, + { + "DisplayName":"Run Script On Hacked Data", + "Category":"Arma Misc Settings", + "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a modification of a signed pbo is detected", + "Keywords":"scripting,hacked,data,onhackeddata", + "FieldName":"onHackedData", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"onHackedData", + "IncludeInCommandLine":false, + "DefaultValue":"ban (_this select 0)", + "Placeholder":"ban (_this select 0)", + "EnumValues":{} + }, + { + "DisplayName":"Run Script On Different Data", + "Category":"Arma Misc Settings", + "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a signed pbo is detected with a valid signature, but is a different version than a server has. Use with caution", + "Keywords":"scripting,different,data,ondifferentdata", + "FieldName":"onDifferentData", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"onDifferentData", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Composition Script Level", + "Category":"Arma Misc Settings", + "Description":"Sets the composition script permission level", + "Keywords":"script,level,zeuscompositionscriptlevel", + "FieldName":"zeusCompositionScriptLevel", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"zeusCompositionScriptLevel", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"All scripts forbidden", + "1":"Only attributes allowed (default)", + "2":"All scripts allowed" + } + }, + { + "DisplayName":"Steam Query Packet Size", + "Category":"Arma Misc Settings", + "Description":"Sets the maximum Steam query packet size. Increasing this value can be dangerous", + "Keywords":"query,packet,size,steamprotocolmaxdatasize", + "FieldName":"steamProtocolMaxDataSize", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"steamProtocolMaxDataSize", + "IncludeInCommandLine":false, + "DefaultValue":"1024", + "Placeholder":"1024", + "EnumValues":{} + }, + { + "DisplayName":"Call Extension Report Limit", + "Category":"Arma Misc Settings", + "Description":"If a server-initiated callExtension takes longer than the specified limit, a warning will be logged as well as reflected in the extension return result", + "Keywords":"call,extension,report,limit,callextreportlimit", + "FieldName":"callExtReportLimit", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"callExtReportLimit", + "IncludeInCommandLine":false, + "DefaultValue":"1000", + "Placeholder":"1000", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Log Object Not Found", + "Category":"Arma Misc Settings", + "Description":"If enabled, \"object not found\" messages will be logged", + "Keywords":"log,object,not,found,logobjectnotfound", + "FieldName":"LogObjectNotFound", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"LogObjectNotFound", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Skip Description Parsing", + "Category":"Arma Misc Settings", + "Description":"If enabled, parsing of description.ext/mission.sqm will be skipped. Will show pbo filename instead of configured missionName", + "Keywords":"skip,description,parsing,skipdescriptionparsing", + "FieldName":"SkipDescriptionParsing", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SkipDescriptionParsing", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Ignore Mission Load Errors", + "Category":"Arma Misc Settings", + "Description":"If enabled, a mission will load regardless of the number of loading errors", + "Keywords":"ignore,mission,errors,ignoremissionloaderrors", + "FieldName":"ignoreMissionLoadErrors", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ignoreMissionLoadErrors", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Message Queue Size Threshold", + "Category":"Arma Misc Settings", + "Description":"If enabled, all of a player's message types and sizes are dumped to a logfile if #monitor is running and the player's Guaranteed Message Queue size goes above the set threshold", + "Keywords":"message,queue,size,threshold,queuesizelogg", + "FieldName":"queueSizeLogG", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"queueSizeLogG", + "IncludeInCommandLine":false, + "DefaultValue":"1000000", + "Placeholder":"1000000", + "EnumValues":{} + }, + { + "DisplayName":"Disconnect Timeout", + "Category":"Arma Limit Settings", + "Description":"Sets the server wait time before disconnecting a player after loss of an active traffic connection (if Kick On Disconnect Timeout is enabled)", + "Keywords":"disconnect,timeout,disconnecttimeout", + "FieldName":"disconnectTimeout", + "InputType":"number", + "MinValue":"5", + "MaxValue":"90", + "IsFlagArgument":false, + "ParamFieldName":"disconnectTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"90", + "Placeholder":"90", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Disconnect Timeout", + "Category":"Arma Limit Settings", + "Description":"If enabled, players hitting the disconnect timeout will be kicked, otherwise that will just be logged", + "Keywords":"disconnect,timeout,kick,kickclientsonslownetwork", + "FieldName":"kickTimeout", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"kickTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Maximum Desync", + "Category":"Arma Limit Settings", + "Description":"Sets the maximum desync value before the server kicks a player (if Kick On Maximum Desync is enabled)", + "Keywords":"maximum,desync,maxdesync", + "FieldName":"maxDesync", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"maxDesync", + "IncludeInCommandLine":false, + "DefaultValue":"150", + "Placeholder":"150", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Maximum Desync", + "Category":"Arma Limit Settings", + "Description":"If enabled, players hitting the maximum desync value will be kicked, otherwise that will just be logged", + "Keywords":"maximum,desync,kick,kickdesync,kickclientsonslownetwork", + "FieldName":"kickDesync", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"kickDesync", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Maximum Ping", + "Category":"Arma Limit Settings", + "Description":"Sets the maximum latency (ping) before the server kicks a player (if Kick On Maximum Ping is enabled)", + "Keywords":"maximum,ping,latency,maxping", + "FieldName":"maxPing", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"maxPing", + "IncludeInCommandLine":false, + "DefaultValue":"200", + "Placeholder":"200", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Maximum Ping", + "Category":"Arma Limit Settings", + "Description":"If enabled, players hitting the maximum latency (ping) value will be kicked, otherwise that will just be logged", + "Keywords":"maximum,ping,latency,kick,kickclientsonslownetwork", + "FieldName":"kickPing", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"kickPing", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Maximum Packet Loss", + "Category":"Arma Limit Settings", + "Description":"Sets the maximum packet loss before the server kicks a player (if Kick On Maximum Packet Loss is enabled)", + "Keywords":"maximum,packet,loss,maxpacketloss", + "FieldName":"maxPacketLoss", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"maxPacketLoss", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "Placeholder":"50", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Maximum Packet Loss", + "Category":"Arma Limit Settings", + "Description":"If enabled, players hitting the maximum packet loss value will be kicked, otherwise that will just be logged", + "Keywords":"maximum,packet,loss,kick,kickclientsonslownetwork", + "FieldName":"kickLoss", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"kickLoss", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Manual Kick Waittime", + "Category":"Arma Limit Settings", + "Description":"Sets the time interval before a player can return after a manual kick (such as vote kick, admin kick, bruteforce detection). -1 = until mission end, -2 = until server restart", + "Keywords":"wait,time,manual,kick,kicktimeout", + "FieldName":"kickManual", + "InputType":"number", + "MinValue":"-2", + "IsFlagArgument":false, + "ParamFieldName":"kickManual", + "IncludeInCommandLine":false, + "DefaultValue":"-1", + "Placeholder":"-1", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Connectivity Kick Waittime", + "Category":"Arma Limit Settings", + "Description":"Sets the time interval before a player can return after a connectivity kick (ping, timeout, packetloss, desync). -1 = until mission end, -2 = until server restart", + "Keywords":"wait,time,connectivity,kick,kicktimeout", + "FieldName":"kickConnectivity", + "InputType":"number", + "MinValue":"-2", + "IsFlagArgument":false, + "ParamFieldName":"kickConnectivity", + "IncludeInCommandLine":false, + "DefaultValue":"180", + "Placeholder":"180", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"BattlEye Kick Waittime", + "Category":"Arma Limit Settings", + "Description":"Sets the time interval before a player can return after a BattlEye kick. -1 = until mission end, -2 = until server restart", + "Keywords":"wait,time,battleye,kick,kicktimeout", + "FieldName":"kickBattlEye", + "InputType":"number", + "MinValue":"-2", + "IsFlagArgument":false, + "ParamFieldName":"kickBattlEye", + "IncludeInCommandLine":false, + "DefaultValue":"180", + "Placeholder":"180", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Harmless Kick Waittime", + "Category":"Arma Limit Settings", + "Description":"Sets the time interval before a player can return after a harmless kick (such as wrong addons, Steam timeout or checks, signatures, content, etc). -1 = until mission end, -2 = until server restart", + "Keywords":"wait,time,harmless,kick,kicktimeout", + "FieldName":"kickHarmless", + "InputType":"number", + "MinValue":"-2", + "IsFlagArgument":false, + "ParamFieldName":"kickHarmless", + "IncludeInCommandLine":false, + "DefaultValue":"180", + "Placeholder":"180", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Voting Timeout", + "Category":"Arma Limit Settings", + "Description":"Sets the time limit for voting. Format is ,", + "Keywords":"voting,timeout,votingtimeout", + "FieldName":"votingTimeOut", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"votingTimeOut", + "IncludeInCommandLine":false, + "DefaultValue":"60,90", + "Placeholder":"60,90", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Role Selection Timeout", + "Category":"Arma Limit Settings", + "Description":"Sets the time limit for role selection. Format is ,", + "Keywords":"role,timeout,roletimeout", + "FieldName":"roleTimeOut", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"roleTimeOut", + "IncludeInCommandLine":false, + "DefaultValue":"90,120", + "Placeholder":"90,120", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Briefing Timeout", + "Category":"Arma Limit Settings", + "Description":"Sets the time limit for briefing. Format is ,", + "Keywords":"briefing,timeout,briefingtimeout", + "FieldName":"briefingTimeOut", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"briefingTimeOut", + "IncludeInCommandLine":false, + "DefaultValue":"60,90", + "Placeholder":"60,90", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Debriefing Timeout", + "Category":"Arma Limit Settings", + "Description":"Sets the time limit for debriefing. Format is ,", + "Keywords":"debriefing,timeout,debriefingtimeout", + "FieldName":"debriefingTimeOut", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"debriefingTimeOut", + "IncludeInCommandLine":false, + "DefaultValue":"60,60", + "Placeholder":"60,60", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Lobby Idle Timeout", + "Category":"Arma Limit Settings", + "Description":"Sets the time limit for lobby idle", + "Keywords":"lobby,idle,timeout,lobbyidletimeout", + "FieldName":"lobbyIdleTimeout", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"lobbyIdleTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Placeholder":"300", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"ArmaUnits Data Timeout", + "Category":"Arma Limit Settings", + "Description":"Sets how long a player will wait for armaUnits data when connecting", + "Keywords":"arma,units,timeout,armaunitstimeout", + "FieldName":"armaUnitsTimeout", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"armaUnitsTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30", + "Suffix":"seconds", + "EnumValues":{} + } +] \ No newline at end of file diff --git a/arma3metaconfig.json b/arma3metaconfig.json new file mode 100644 index 000000000..2b046657a --- /dev/null +++ b/arma3metaconfig.json @@ -0,0 +1,23 @@ +[ + { + "ConfigFile":"server.cfg", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"./arma3/233780/AMP_server.cfg" + }, + { + "ConfigFile":"battleye/beserver_x64.cfg", + "ConfigType":"kvp", + "ConfigFormat":"{0} {1}", + "Subsections":[ + { + "Heading":"$root", + "SettingMappings":{ + "RConPassword":"$RemoteAdminPassword", + "RConPort":"$RCONPort", + "RConIP":"$ApplicationIPBinding" + } + } + ] + } +] diff --git a/arma3modscript.sh b/arma3modscript.sh new file mode 100644 index 000000000..a51b039ce --- /dev/null +++ b/arma3modscript.sh @@ -0,0 +1,6 @@ +#!/bin/bash +find ./arma3/233780/steamapps/workshop/content/107410/ -type f -name "*[A-Z]*" -print0 |\ + xargs -0 -I {} bash -c "mv \"{}\" \"\`echo {} | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" &&\ + cd ./arma3/233780 &&\ + find ./steamapps/workshop/content/107410 -maxdepth 1 -mindepth 1 -type d -exec ln -sf -t ./ {} + +exit 0 \ No newline at end of file diff --git a/arma3server.cfg b/arma3server.cfg new file mode 100644 index 000000000..8a6c13b4f --- /dev/null +++ b/arma3server.cfg @@ -0,0 +1,113 @@ +// DO NOT edit server.cfg directly +// AMP_server.cfg controls server.cfg. Edit AMP_server.cfg if you want to add or change certain settings +// NOTE: +// - DO NOT change values in double curly braces, ie {{}}. They are set either via the AMP UI +// or are controlled by AMP itself (in particular, ports) +// - Other settings can be changed or added as needed - see the second section below + +// Full information on settings is available at https://community.bistudio.com/wiki/Arma_3:_Server_Config_File + +// ******* +// SETTINGS CONTROLLED BY AMP - DO NOT TOUCH THESE!!! +// ******* +hostname = "{{hostname}}"; +password = "{{password}}"; +passwordAdmin = "{{passwordAdmin}}"; +serverCommandPassword = "{{serverCommandPassword}}"; +admins[] = { {{admins}} }; +headlessClients[] = { {{headlessClients}} }; +localClient[] = { {{localClient}} }; +logFile = "server_console.log"; +motd[] = { {{motd}} }; +motdInterval = {{motdInterval}}; +maxPlayers = {{maxPlayers}}; +kickDuplicate = {{kickDuplicate}}; +verifySignatures = {{verifySignatures}}; +allowedFilePatching = {{allowedFilePatching}}; +filePatchingExceptions[] = { {{filePatchingExceptions}} }; +requiredBuild = {{requiredBuild}}; +loopback = {{loopback}}; +upnp = {{upnp}}; +skipLobby = {{skipLobby}}; +voteMissionPlayers = {{voteMissionPlayers}}; +voteThreshold = {{voteThreshold}}; +forceRotorLibSimulation = {{forceRotorLibSimulation}}; +disableVoN = {{disableVoN}}; +vonCodec = {{vonCodec}}; +vonCodecQuality = {{vonCodecQuality}}; +persistent = {{persistent}}; +timeStampFormat = "{{timeStampFormat}}"; +BattlEye = 1; +allowedLoadFileExtensions[] = { {{allowedLoadFileExtensions}} }; +allowedPreprocessFileExtensions[] = { {{allowedPreprocessFileExtensions}} }; +allowedHTMLLoadExtensions[] = { {{allowedHTMLLoadExtensions}} }; +enablePlayerDiag = {{enablePlayerDiag}}; +drawingInMap = {{drawingInMap}}; +allowProfileGlasses = {{allowProfileGlasses}}; +forcedDifficulty = "{{forcedDifficulty}}"; +disconnectTimeout = {{disconnectTimeout}}; +maxDesync = {{maxDesync}}; +maxPing = {{maxPing}}; +maxPacketLoss = {{maxPacketLoss}}; +kickClientsOnSlowNetwork[] = { {{kickPing}},{{kickLoss}},{{kickDesync}},{{kickTimeout}} }; +kickTimeout[] = { { 0,{{kickManual}} }, { 1,{{kickConnectivity}} }, { 2,{{kickBattlEye}} }, { 3,{{kickHarmless}} } }; +votingTimeOut[] = { {{votingTimeOut}} }; +roleTimeOut[] = { {{roleTimeOut}} }; +briefingTimeOut[] = { {{briefingTimeOut}} }; +debriefingTimeOut[] = { {{debriefingTimeOut}} }; +lobbyIdleTimeout = {{lobbyIdleTimeout}}; +armaUnitsTimeout = {{armaUnitsTimeout}}; +onUserConnected = "{{onUserConnected}}"; +onUserDisconnected = "{{onUserDisconnected}}"; +doubleIdDetected = "{{doubleIdDetected}}"; +onUserKicked = "{{onUserKicked}}"; +onUnsignedData = "{{onUnsignedData}}"; +onHackedData = "{{onHackedData}}"; +onDifferentData = "{{onDifferentData}}"; +autoSelectMission = {{autoSelectMission}}; +randomMissionOrder = {{randomMissionOrder}}; +statisticsEnabled = {{statisticsEnabled}}; +callExtReportLimit = {{callExtReportLimit}}; +zeusCompositionScriptLevel = {{zeusCompositionScriptLevel}}; +steamProtocolMaxDataSize = {{steamProtocolMaxDataSize}}; +class AdvancedOptions +{ + LogObjectNotFound = {{LogObjectNotFound}}; + SkipDescriptionParsing = {{SkipDescriptionParsing}}; + ignoreMissionLoadErrors = {{ignoreMissionLoadErrors}}; + queueSizeLogG = {{queueSizeLogG}}; +}; + +// ******* +// USER CONFIGURABLE SETTINGS - CHANGE/ADD ADDITIONAL SETTINGS HERE +// ******* + +// VOTING +//allowedVoteCmds[] = { { "kick", false, false, 0.75 } }; +//allowedVotedAdminCmds[] = { { "mission", true, true } }; + +// INGAME SETTINGS +//allowedHTMLLoadURIs[] = {}; + +// MISSIONS CYCLE +//class Missions {}; // An empty Missions class means there will be no mission rotation +// OR +//class Missions // A full list of default missions is at https://community.bistudio.com/wiki/Arma_3:_MP_Mission_Names +//{ +// class Mission01 +// { +// template = MP_Marksmen_01.Altis; +// difficulty = "Veteran"; +// class Params {}; +// }; +// class Mission02 +// { +// template = MP_End_Game_01.Altis; +// difficulty = "Veteran"; +// class Params {}; +// }; +//}; +//missionWhitelist[] = {}; // An empty whitelist means there is no restriction on what missions are available + +// OTHER OPTIONS +//disableChannels[] = {}; diff --git a/arma3updates.json b/arma3updates.json new file mode 100644 index 000000000..e48314823 --- /dev/null +++ b/arma3updates.json @@ -0,0 +1,57 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"233780", + "UpdateSourceArgs":"107410" + }, + { + "UpdateStageName":"Server Config Template Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3server.cfg", + "UpdateSourceArgs":"AMP_server.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Basic Config File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3basic.cfg", + "UpdateSourceArgs":"basic.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Parameters File", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateFile", + "UpdateSourceArgs":"{{$FullBaseDir}}parameters.txt", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Modscript Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3modscript.sh", + "UpdateSourceArgs":"modscript.sh", + "UpdateSourceTarget":"{{$FullInstanceDir}}", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Convert and Symlink Mods", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"./modscript.sh" + }, + { + "UpdateStageName":"Link Mods", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C cd .\\arma3\\233780 && for /D %G in (.\\steamapps\\workshop\\content\\107410\\*) do mklink /J %~nxG %G" + } +] \ No newline at end of file From af786f90a111b1b55b60867c9f0326990749f37c Mon Sep 17 00:00:00 2001 From: JetF0x <42677581+JetF0x@users.noreply.github.com> Date: Wed, 8 Mar 2023 13:24:06 -0600 Subject: [PATCH 128/318] Add Arma Reforger (#121) --- arma-reforger.kvp | 91 +++++++++ arma-reforgerconfig.json | 377 +++++++++++++++++++++++++++++++++++ arma-reforgermetaconfig.json | 24 +++ arma-reforgerserver.json | 37 ++++ arma-reforgerupdates.json | 25 +++ 5 files changed, 554 insertions(+) create mode 100644 arma-reforger.kvp create mode 100644 arma-reforgerconfig.json create mode 100644 arma-reforgermetaconfig.json create mode 100644 arma-reforgerserver.json create mode 100644 arma-reforgerupdates.json diff --git a/arma-reforger.kvp b/arma-reforger.kvp new file mode 100644 index 000000000..b23c113f5 --- /dev/null +++ b/arma-reforger.kvp @@ -0,0 +1,91 @@ +Meta.DisplayName=Arma Reforger +Meta.Description=Arma Reforger Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=JetFox, Greelan +Meta.URL=https://reforger.armaplatform.com +Meta.DisplayImageSource=steam:1874880 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=arma-reforgerconfig.json +Meta.MetaConfigManifest=arma-reforgermetaconfig.json +Meta.ConfigRoot=arma-reforger.kvp +Meta.MinAMPVersion=2.4.2.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Arma Reforger +App.RootDir=./arma-reforger/ +App.BaseDirectory=./arma-reforger/1874900/ +App.ExecutableWin=1874900\ArmaReforgerServer.exe +App.ExecutableLinux=1874900/ArmaReforgerServer +App.WorkingDir=1874900 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -gproj "{{$FullBaseDir}}addons/data/ArmaReforger.gproj" -profile "{{$FullBaseDir}}AReforgerMaster" -bepath "{{$FullBaseDir}}battleye" -port={{$GamePort}} -config "{{$FullBaseDir}}Configs/server.json" -a2sIpAddress {{$ApplicationIPBinding}} -listScenarios -noThrow {{$FormattedArgs}} {{logStats}} {{CustomServerArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1874880"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=#shutdown +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":2001,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":17777,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"UDP","Port":2002,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RCONPort +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=127 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=True +App.RemoteAdminPassword= +App.AdminMethod=BattlEyeRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0.5 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[arma-reforgerupdates.json] +App.PreStartStages=[] +App.Compatibility=LinuxBufferedConsole, WindowsBufferedConsole +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=(\[0m|\[33m) +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Unknown command)$ +Console.AppReadyRegex=^[\d:\s]*ENGINE\s+: Game successfully created\.$ +Console.UserJoinRegex=^[\d:\s]*NETWORK\s+: ### Connecting player: connectionID=(?.+), Name=(?.*)$ +Console.UserLeaveRegex=^[\d:\s]*NETWORK\s+: Player disconnected: connectionID=(?.+)$ +Console.UserChatRegex=^$ +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 diff --git a/arma-reforgerconfig.json b/arma-reforgerconfig.json new file mode 100644 index 000000000..1bde1b45b --- /dev/null +++ b/arma-reforgerconfig.json @@ -0,0 +1,377 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.gameHostBindPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Register Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.gameHostRegisterPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Query Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$QueryPort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.steamQueryPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable Steam Query", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"a2sQueryEnabled", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.a2sQueryEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{} + }, + { + "DisplayName":"Register IP Binding", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ExternalIP", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.gameHostRegisterBindAddress", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable BattlEye", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"battlEye", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.game.gameProperties.battlEye", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the server name visible in the game browser (up to 100 characters)", + "Keywords":"server,name", + "FieldName":"name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.game.name", + "IncludeInCommandLine":false, + "DefaultValue":"Arma Reforger Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Server Region", + "Category":"Server Settings", + "Description":"Sets the server's region. Requires a valid [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) such as EU, US, AU, JP", + "Keywords":"region,location", + "FieldName":"region", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.region", + "IncludeInCommandLine":false, + "DefaultValue":"EU", + "EnumValues":{}, + }, + { + "DisplayName":"Server Map", + "Category":"Server Settings", + "Description":"Sets the server map. Specify the scenario conf file path as listed in the logs/console", + "Keywords":"map,scenario,scenarioid", + "FieldName":"scenarioId", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.game.scenarioId", + "IncludeInCommandLine":false, + "DefaultValue":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf", + "Placeholder":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf", + "EnumValues":{} + }, + { + "DisplayName":"Server/RCON IP Binding", + "Category":"Server Settings", + "Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", + "Keywords":"ip,binding,gamehostbindaddress,rconip", + "FieldName":"$ApplicationIPBinding", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"$.gameHostBindAddress", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Server Settings", + "Description":"If enabled, the server will be visible in the in-game browser", + "Keywords":"serverlist,public,visible", + "FieldName":"visible", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.game.visible", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Sets the password required to connect to the server. Default is no password", + "Keywords":"server,password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"$.game.password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"Server Settings", + "Description":"Sets the password required for admin access to the server. Default is no password", + "Keywords":"admin,password,adminpassword", + "FieldName":"adminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"$.adminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password", + "FieldName":"RCONPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"RCONPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Player Limit", + "Category":"Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time", + "Keywords":"players,limit,maximum,playercountlimit", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"$.game.playerCountLimit", + "IncludeInCommandLine":false, + "DefaultValue":"127", + "Placeholder":"127", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Mission Player Limit", + "Category":"Server Settings", + "Description":"Sets the maximum number of players that a mission will allow", + "Keywords":"players,limit,maximum,mission,m_iplayercount", + "FieldName":"m_iPlayerCount", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"$.game.gameProperties.missionHeader.m_iPlayerCount", + "IncludeInCommandLine":false, + "DefaultValue":"127", + "Placeholder":"127", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Server FPS Limit", + "Category":"Server Settings", + "Description":"Sets the server FPS. Recommended to be in the range of 60 to 120 so that the server does not use all available resources", + "Keywords":"fps,limit,maxfps", + "FieldName":"maxFPS", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"maxFPS", + "IncludeInCommandLine":true, + "DefaultValue":"60", + "Suffix":"fps", + "EnumValues":{} + }, + { + "DisplayName":"Maximum View Distance", + "Category":"Server Settings", + "Description":"Sets the server's maximum view distance (between 500 to 10000). Default is 1600", + "Keywords":"maximum,view,distance,servermaxviewdistance", + "FieldName":"serverMaxViewDistance", + "InputType":"number", + "MinValue":"500", + "MaxValue":"10000", + "IsFlagArgument":false, + "ParamFieldName":"$.game.gameProperties.serverMaxViewDistance", + "IncludeInCommandLine":false, + "DefaultValue":"1600", + "Placeholder":"500 - 10000", + "EnumValues":{} + }, + { + "DisplayName":"Network View Distance", + "Category":"Server Settings", + "Description":"Sets the server's maximum network streaming range of replicated entities (between 500 to 5000). Default is 500", + "Keywords":"network,stream,view,distance,networkviewdistance", + "FieldName":"networkViewDistance", + "InputType":"number", + "MinValue":"500", + "MaxValue":"5000", + "IsFlagArgument":false, + "ParamFieldName":"$.game.gameProperties.networkViewDistance", + "IncludeInCommandLine":false, + "DefaultValue":"500", + "Placeholder":"500 - 5000", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Grass Distance", + "Category":"Server Settings", + "Description":"Sets the server's minimum grass distance (between 50 to 150). 0 = no minimum distance is forced on clients (default)", + "Keywords":"minimum,grass,distance,servermingrassdistance", + "FieldName":"serverMinGrassDistance", + "InputType":"number", + "MinValue":"0", + "MaxValue":"150", + "IsFlagArgument":false, + "ParamFieldName":"$.game.gameProperties.serverMinGrassDistance", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0 or 50 - 150", + "Suffix":"metres", + "EnumValues":{} + }, + { + "DisplayName":"Quick Start Joinable", + "Category":"Server Settings", + "Description":"If enabled, the session can be selected through the auto join feature", + "Keywords":"join,auto,autojoinable", + "FieldName":"autoJoinable", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.game.autoJoinable", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Third Person", + "Category":"Server Settings", + "Description":"If enabled, clients will be forced to use the first-person view. NOTE: This must be disabled for auto join", + "Keywords":"third,person,disablethirdperson", + "FieldName":"disableThirdPerson", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.game.gameProperties.disableThirdPerson", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Fast Validation", + "Category":"Server Settings", + "Description":"If enabled, matching validation of map entities and components loaded on a client when it joins will be done with minimum information. Always enable for a public server!", + "Keywords":"validation,checksum,fastvalidation", + "FieldName":"fastValidation", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.game.gameProperties.fastValidation", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Log Statistics", + "Category":"Server Settings", + "Description":"If enabled, the server logs performance statistics every second or such other period set under \"Statistics Logging Interval\"", + "Keywords":"log,statistics,logstats", + "FieldName":"logStats", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"logStats", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-logStats {{logStatsInterval}}" + } + }, + { + "DisplayName":"Statistics Logging Inverval", + "Category":"Server Settings", + "Description":"Sets the interval for logging of performance statistics, if \"Log Statistics\" is enabled. Default is 1000 (1 second)", + "Keywords":"log,statistics,logstats", + "FieldName":"logStatsInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"logStatsInterval", + "IncludeInCommandLine":false, + "DefaultValue":"1000", + "Placeholder":"1000", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Additional Server Startup Parameters", + "Category":"Server Settings", + "Description":"Specifies additional startup parameters that are not otherwise set by AMP. Use with care", + "Keywords":"custom,server,arguments,parameters", + "FieldName":"CustomServerArgs", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomServerArgs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"-debug", + "EnumValues":{} + } +] \ No newline at end of file diff --git a/arma-reforgermetaconfig.json b/arma-reforgermetaconfig.json new file mode 100644 index 000000000..132439222 --- /dev/null +++ b/arma-reforgermetaconfig.json @@ -0,0 +1,24 @@ +[ + { + "ConfigFile":"Configs/server.json", + "AutoMap":true, + "ConfigType":"json" + }, + { + "ConfigFile":"battleye/BEServer_x64.cfg", + "ConfigType":"kvp", + "ConfigFormat":"{0} {1}", + "Subsections":[ + { + "Heading":"$root", + "SettingMappings":{ + "GameID":"armar", + "MasterPort":"2001", + "RConPassword":"$RemoteAdminPassword", + "RConPort":"$RCONPort", + "RConIP":"$ApplicationIPBinding" + } + } + ] + } +] \ No newline at end of file diff --git a/arma-reforgerserver.json b/arma-reforgerserver.json new file mode 100644 index 000000000..f7b2e69fa --- /dev/null +++ b/arma-reforgerserver.json @@ -0,0 +1,37 @@ +{ + "dedicatedServerId":"", + "region":"EU", + "gameHostBindAddress":"", + "gameHostBindPort":2001, + "gameHostRegisterBindAddress":"", + "gameHostRegisterPort":2001, + "adminPassword":"", + "a2sQueryEnabled":true, + "steamQueryPort":17777, + "game":{ + "name":"Arma Reforger Server - Powered by AMP", + "password":"", + "scenarioId":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf", + "playerCountLimit":127, + "autoJoinable":true, + "visible":true, + "supportedGameClientTypes":[ + "PLATFORM_PC", + "PLATFORM_XBL" + ], + "gameProperties":{ + "serverMaxViewDistance":1600, + "serverMinGrassDistance":0, + "networkViewDistance":500, + "disableThirdPerson":false, + "fastValidation":true, + "battlEye":true, + "missionHeader":{ + "m_iPlayerCount":127, + "m_eEditableGameFlags":6, + "m_eDefaultGameFlags":6 + } + }, + "mods":[] + } +} \ No newline at end of file diff --git a/arma-reforgerupdates.json b/arma-reforgerupdates.json new file mode 100644 index 000000000..2097bdd36 --- /dev/null +++ b/arma-reforgerupdates.json @@ -0,0 +1,25 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1874900", + "UpdateSourceArgs":"1874880" + }, + { + "UpdateStageName":"Create Configs Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Server Config File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/arma-reforgerserver.json", + "UpdateSourceArgs":"server.json", + "UpdateSourceTarget":"{{$FullBaseDir}}Configs/", + "OverwriteExistingFiles":false + } +] \ No newline at end of file From babe804c9b7b814b7e0068ee771f075b99197e6a Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 9 Mar 2023 21:25:39 +1100 Subject: [PATCH 129/318] ARK:SE: IP binding updates (#295) * Add ARK: Survival Evolved * Final updates * Update ark-seconfig.json * Update ark-seconfig.json * Update ark-seupdates.json * Update chat regex * Metaconfig updates * Final final updates * Settings tweaks * Update settings descriptions * Gotta be final, right? * IceOfWraith made me do it * Update ark-seconfig.json * Fix player whitelist * IP binding updates --- ark-se.kvp | 3 ++- ark-seconfig.json | 8 +++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/ark-se.kvp b/ark-se.kvp index 902ab90b6..4c8a40e5b 100644 --- a/ark-se.kvp +++ b/ark-se.kvp @@ -27,7 +27,7 @@ App.ExecutableLinux=376030/ShooterGame/Binaries/Linux/ShooterGameServer App.WorkingDir=376030/ShooterGame/Binaries/Win64 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?{{$FormattedArgs}}{{OverrideOfficialDifficulty}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}}{{NoTransferFromFiltering}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog +App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?MultiHome={{$ApplicationIPBinding}}?{{$FormattedArgs}}{{OverrideOfficialDifficulty}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}}{{NoTransferFromFiltering}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"346110"} @@ -72,6 +72,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(Keep Alive|\[S_API FAIL\] SteamAPI_Init\(\) failed; SteamAPI_IsSteamRunning\(\) failed\.|Server received, But no response!! \n |Setting breakpad minidump AppID = 346110)$ +Console.AppReadyRegex=^$ Console.UserJoinRegex=^[\d\.]+_[\d\.]+: (?.+?) joined this ARK!\n \n $ Console.UserLeaveRegex=^[\d\.]+_[\d\.]+: (?.+?) left this ARK!\n \n $ Console.UserChatRegex=^[\d\.]+_[\d\.]+:( | )(?.+?)( | )\((?:.+?)\): (?.+)\n \n $ diff --git a/ark-seconfig.json b/ark-seconfig.json index 18b8bc0a4..f527659bc 100644 --- a/ark-seconfig.json +++ b/ark-seconfig.json @@ -237,15 +237,13 @@ { "DisplayName":"MultiHome IP Binding", "Category":"ARK Server Settings", - "Description":"Sets the binding of the server. Default is blank. Change to internal interface IP if required. NOTE: Also change App.ApplicationIPBinding in GenericModule.kvp for the instance, or the AMP console will not work", + "Description":"If required, you can change the binding of the server and RCON to an internal interface IP by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first. Ensure AMP itself can reach that IP or the console will not work", "Keywords":"ip,binding,address,multihome", "FieldName":"MultiHome", - "InputType":"text", + "InputType":"hidden", "IsFlagArgument":false, "ParamFieldName":"MultiHome", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", + "IncludeInCommandLine":false, "EnumValues":{} }, { From c349bde35dba1c3cc884be2ed60bb533903ed6d5 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 10 Mar 2023 10:26:42 +1100 Subject: [PATCH 130/318] ARK:SE: change BattlEye setting (#296) * Add ARK: Survival Evolved * Final updates * Update ark-seconfig.json * Update ark-seconfig.json * Update ark-seupdates.json * Update chat regex * Metaconfig updates * Final final updates * Settings tweaks * Update settings descriptions * Gotta be final, right? * IceOfWraith made me do it * Update ark-seconfig.json * Fix player whitelist * IP binding updates * Update ark-seconfig.json --- ark-seconfig.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ark-seconfig.json b/ark-seconfig.json index f527659bc..51f5a27dc 100644 --- a/ark-seconfig.json +++ b/ark-seconfig.json @@ -247,19 +247,19 @@ "EnumValues":{} }, { - "DisplayName":"Enable BattlEye", + "DisplayName":"Disable BattlEye", "Category":"ARK Server Settings", - "Description":"If set, BattlEye will be enabled on the server", - "Keywords":"battleye,enable,usebattleye,nobattleye", + "Description":"If set, BattlEye will be disabled on the server", + "Keywords":"battleye,disable,nobattleye", "FieldName":"BattlEye", "InputType":"checkbox", "IsFlagArgument":false, "ParamFieldName":"BattlEye", "IncludeInCommandLine":false, - "DefaultValue":"-UseBattlEye ", + "DefaultValue":"", "EnumValues":{ - "False":"-NoBattlEye ", - "True":"-UseBattlEye " + "False":"", + "True":"-NoBattlEye " } }, { From 534c0f2eab7f056da146b02c8c1d0a89fab7d956 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 13 Mar 2023 13:54:59 +1100 Subject: [PATCH 131/318] Update mod scripts (#299) --- arma3modscript.sh | 2 +- dayz-experimentalmodscript.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arma3modscript.sh b/arma3modscript.sh index a51b039ce..93e7e44c9 100644 --- a/arma3modscript.sh +++ b/arma3modscript.sh @@ -1,6 +1,6 @@ #!/bin/bash find ./arma3/233780/steamapps/workshop/content/107410/ -type f -name "*[A-Z]*" -print0 |\ - xargs -0 -I {} bash -c "mv \"{}\" \"\`echo {} | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" &&\ + xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"";\ cd ./arma3/233780 &&\ find ./steamapps/workshop/content/107410 -maxdepth 1 -mindepth 1 -type d -exec ln -sf -t ./ {} + exit 0 \ No newline at end of file diff --git a/dayz-experimentalmodscript.sh b/dayz-experimentalmodscript.sh index 3b6dc769e..bd39141a0 100644 --- a/dayz-experimentalmodscript.sh +++ b/dayz-experimentalmodscript.sh @@ -1,6 +1,6 @@ #!/bin/bash find ./dayz/1042420/steamapps/workshop/content/221100/ -type f -name "*[A-Z]*" -print0 |\ - xargs -0 -I {} bash -c "mv \"{}\" \"\`echo {} | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" &&\ + xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"";\ cd ./dayz/1042420 &&\ find ./steamapps/workshop/content/221100 -maxdepth 1 -mindepth 1 -type d -exec ln -sf -t ./ {} + exit 0 \ No newline at end of file From 2f22ab52ddafa6b8a46b8f99e078e1a11eba20a5 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 16 Mar 2023 07:23:59 -0500 Subject: [PATCH 132/318] Conan Exiles - Add Workshop Mod Support (#300) This takes advantage of the new Steam Workshop functionality to allow users to easily download mods. --- conan-exiles.kvp | 3 ++- conan-exilesconfig.json | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/conan-exiles.kvp b/conan-exiles.kvp index 4c63d1547..97131b8a7 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -9,7 +9,7 @@ Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3} Meta.ConfigManifest=conan-exilesconfig.json Meta.MetaConfigManifest=conan-exilesmetaconfig.json Meta.ConfigRoot=conan-exiles.kvp -Meta.MinAMPVersion=2.4.0.0 +Meta.MinAMPVersion=2.4.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False Meta.ContainerPolicy=RecommendedOnLinux @@ -18,6 +18,7 @@ Meta.ConfigReleaseState=NotSpecified App.DisplayName=Conan Exiles App.RootDir=./conan-exiles/ App.BaseDirectory=./conan-exiles/443030/ +App.SteamWorkshopDownloadLocation={{$FullBaseDir}}ConanSandbox/Mods App.ExecutableWin=443030\ConanSandbox\Binaries\Win64\ConanSandboxServer-Win64-Test.exe App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=443030/ConanSandbox/Binaries/Win64 diff --git a/conan-exilesconfig.json b/conan-exilesconfig.json index 8ed10ba8a..d5bf1f5e9 100644 --- a/conan-exilesconfig.json +++ b/conan-exilesconfig.json @@ -201,5 +201,18 @@ "True":"True", "False":"False" } + }, + { + "DisplayName":"Mods List", + "Category":"Server Settings", + "Description":"Mods must be entered into \"Steam workshop items\" in the SteamCMD and Updates tab. Update the game server to download the mods to the ConanSandbox\\Mods\\ directory. Inside each folder there will be a .pak file. Enter the WorkshopID\\PakFileName.pak: 2377569193\\Savage_Wilds.pak", + "Keywords":"workshop,mod,list", + "FieldName":"ModList", + "InputType":"list", + "IsFlagArgument":false, + "ParamFieldName":"ModList", + "DefaultValue":"", + "Special":"listfile:./conan-exiles/443030/ConanSandbox/Mods/modlist.txt", + "EnumValues":{} } ] \ No newline at end of file From 577156b9d9d4366e46c0e0041eb0e4d08ab065e3 Mon Sep 17 00:00:00 2001 From: southnode <95715917+southnode@users.noreply.github.com> Date: Sun, 19 Mar 2023 21:17:16 +1100 Subject: [PATCH 133/318] Update ecoconfig.json (#303) Change input type from text to Textarea to allow multiline descriptions for the server description --- ecoconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ecoconfig.json b/ecoconfig.json index 5e075cee6..f9259645b 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -70,7 +70,7 @@ "Description":"Long form description of the server when clicked on in the client server browser", "Keywords":"description", "FieldName":"DetailedDescription", - "InputType":"text", + "InputType":"Textarea", "IsFlagArgument":false, "ParamFieldName":"DetailedDescription", "IncludeInCommandLine":false, From 65e4acfe472405b83354764cebe7b533f1503f54 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 22 Mar 2023 00:05:41 +1100 Subject: [PATCH 134/318] Arma 3: add server branch option (#308) * Add Arma 3 * Fix autoInit flag * Add parameter file ability * Update regex * Remote netlog flag * Add headless client settings * Update mod settings * Final changes * Update arma3config.json * Mod handling and other tweaks * Remove unnecessary stages * IP Binding setting changes * Update arma3.kvp * Update arma3.kvp * Update arma3.kvp * Final changes * Arma: add branch option --- arma3config.json | 16 ++++++++++++++++ arma3updates.json | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/arma3config.json b/arma3config.json index 08709b48d..e27d2f79b 100644 --- a/arma3config.json +++ b/arma3config.json @@ -1140,5 +1140,21 @@ "Placeholder":"30", "Suffix":"seconds", "EnumValues":{} + }, + { + "DisplayName":"Server Branch", + "Category":"SteamCMD and Updates", + "Description":"Sets the server branch to install. NOTE: Update the server after switching branches!", + "Keywords":"server,branch,depot", + "FieldName":"ServerBranch", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerBranch", + "IncludeInCommandLine":false, + "DefaultValue":"public", + "EnumValues":{ + "public":"Public (default)", + "creatordlc":"Creator DLC Build" + } } ] \ No newline at end of file diff --git a/arma3updates.json b/arma3updates.json index e48314823..84e35e8a5 100644 --- a/arma3updates.json +++ b/arma3updates.json @@ -4,7 +4,8 @@ "UpdateSourcePlatform":"All", "UpdateSource":"SteamCMD", "UpdateSourceData":"233780", - "UpdateSourceArgs":"107410" + "UpdateSourceArgs":"107410", + "UpdateSourceVersion":"{{ServerBranch}}" }, { "UpdateStageName":"Server Config Template Download", From 214293765561b75087339acb4f5bb7f3fbd2823e Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 22 Mar 2023 21:40:58 -0500 Subject: [PATCH 135/318] Update 7D2D (#311) There was a typo in one setting. --- seven-days-to-dieconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index 165104e67..8769aff05 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -589,7 +589,7 @@ },{ "DisplayName":"Drop On Quit", "Category":"7d2d - Gameplay Settings", - "Description":"What a player drops upon death", + "Description":"What a player drops when quitting", "Keywords":"Drop,On,Quit", "FieldName":"DropOnQuit", "InputType":"enum", From 88efb2d9193c16f472dd500b293d30422266081a Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 23 Mar 2023 14:06:19 +1100 Subject: [PATCH 136/318] Wine updates for 32 bit servers (#306) --- assetto-corsa.kvp | 13 +++++++------ call-of-duty4mw.kvp | 14 +++++++------- carrier-command2.kvp | 13 +++++++------ 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/assetto-corsa.kvp b/assetto-corsa.kvp index 2f9fb9a2b..f65a8dc97 100644 --- a/assetto-corsa.kvp +++ b/assetto-corsa.kvp @@ -12,20 +12,21 @@ Meta.ConfigRoot=assetto-corsa.kvp Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Assetto Corsa App.RootDir=./assetto-corsa/ App.BaseDirectory=./assetto-corsa/302550 App.ExecutableWin=302550\acServer.exe -App.ExecutableLinux=/usr/bin/xvfb-run +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=302550 -App.LinuxCommandLineArgs=-a wine "./acServer.exe" +App.LinuxCommandLineArgs="./acServer.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"244210"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"244210","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win32","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -56,14 +57,14 @@ App.SteamForceLoginPrompt=False App.RapidStartup=False App.MonitorChildProcess=True App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=wine +App.MonitorChildProcessName=acServer.exe App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^Server started$ Console.UserJoinRegex=^DRIVER ACCEPTED FOR CAR (?.+?)$ Console.UserLeaveRegex=^Clean exit, driver disconnected:\s+(?.+?) \[\]$ diff --git a/call-of-duty4mw.kvp b/call-of-duty4mw.kvp index abbab6a8b..bc6b69fa4 100644 --- a/call-of-duty4mw.kvp +++ b/call-of-duty4mw.kvp @@ -12,8 +12,8 @@ Meta.ConfigRoot=call-of-duty4mw.kvp Meta.MinAMPVersion=2.4.0.10 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified @@ -22,14 +22,14 @@ App.DisplayName=Call of Duty 4: Modern Warfare App.RootDir=./call-of-duty4mw/ App.BaseDirectory=./call-of-duty4mw/7940/ App.ExecutableWin=7940\iw3mp.exe -App.ExecutableLinux=/usr/bin/xvfb-run +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=7940 -App.LinuxCommandLineArgs=-a wine "./iw3mp.exe" +App.LinuxCommandLineArgs="./iw3mp.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} +set sv_punkbuster 0 +exec "server.cfg" +set net_port {{$GamePort}} +set authPort {{$AuthPort}} +set masterPort {{$MasterPort}} {{map_mode}}{{$FormattedArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"7940"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"7940","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win32","WINEDEBUG":"-all"} App.CommandLineParameterFormat=+set {0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -62,14 +62,14 @@ App.SteamForceLoginPrompt=False App.RapidStartup=False App.MonitorChildProcess=True App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=wine +App.MonitorChildProcessName=iw3mp.exe App.SupportsUniversalSleep=True App.WakeupMode=Any App.ApplicationReadyMode=Immediate App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ diff --git a/carrier-command2.kvp b/carrier-command2.kvp index 0ecfae0f3..68010c214 100644 --- a/carrier-command2.kvp +++ b/carrier-command2.kvp @@ -12,20 +12,21 @@ Meta.ConfigRoot=carrier-command2.kvp Meta.MinAMPVersion=2.3.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Carrier Command 2 App.RootDir=./carrier-command2/ App.BaseDirectory=./carrier-command2/1489630/ App.ExecutableWin=1489630\dedicated_server.exe -App.ExecutableLinux=/usr/bin/xvfb-run +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=1489630 -App.LinuxCommandLineArgs=-a wine "./dedicated_server.exe" +App.LinuxCommandLineArgs="./dedicated_server.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1489630"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1489630","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win32","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -56,14 +57,14 @@ App.SteamForceLoginPrompt=False App.RapidStartup=False App.MonitorChildProcess=True App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=wine +App.MonitorChildProcessName=dedicated_server.exe App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=\[\d+m Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^[\d:]+ : connected to Steam$ Console.UserJoinRegex=^[\d:]+ : (?.+?) \(steam id (?.+?)\) authenticated by Steam$ Console.UserLeaveRegex=^[\d:]+ : (?.+?) \(steam id (?.+?)\) disconnected$ From b838524af79b4c42b01eb8edb50f901a99b79e35 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 23 Mar 2023 14:07:04 +1100 Subject: [PATCH 137/318] CK: container policy update (#305) --- core-keeper.kvp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core-keeper.kvp b/core-keeper.kvp index 00ff33720..1e8b16a21 100644 --- a/core-keeper.kvp +++ b/core-keeper.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=core-keeper.kvp Meta.MinAMPVersion=2.3.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:xvfb Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=NotSupported +Meta.ContainerPolicyReason=The server requires a version of Xvfb on Linux which is not present in the Debian version used by AMP's Docker. Ideally use Ubuntu 22.04 or Debian 12 to host the server on Linux. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Core Keeper From 678314256c1a6347556348e5db112b861cc7ea3f Mon Sep 17 00:00:00 2001 From: southnode <95715917+southnode@users.noreply.github.com> Date: Thu, 23 Mar 2023 14:11:38 +1100 Subject: [PATCH 138/318] Update Mordhau (#309) * Update Mordhau Add in SteamWorkshopDownloadLocation (even though the mods are on mod.io), add in custom map in the enum for starting map & mode, and add additional box to specify custom map * Update mordhau-config.json * Update mordhau-config.json * Update mordhau.kvp Bump MinAMPVersion Remove SteamWorkshopDownloadLocation due to mordhau not utilising steam workshop mods --- mordhau-config.json | 44 +++++++++++++++++++++++++++++--------------- mordhau.kvp | 5 +++-- 2 files changed, 32 insertions(+), 17 deletions(-) diff --git a/mordhau-config.json b/mordhau-config.json index 705c2edcb..8924b3ce6 100644 --- a/mordhau-config.json +++ b/mordhau-config.json @@ -26,17 +26,16 @@ "EnumValues": {} }, { - "DisplayName": "RCON Password", - "Category": "Server Config", - "Description": "The password to access RCON clients. AMP has RCON built in the console.", - "Keywords": "RconPassword", - "FieldName": "$RemoteAdminPassword", - "InputType": "RandomPassword", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Mordhau.MordhauGameSession.RconPassword", - "IncludeInCommandLine": false, - "DefaultValue": "Password123", - "EnumValues": {} + "DisplayName":"RCON Password", + "Category":"Server Config", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"console,password,rcon", + "FieldName":"$RemoteAdminPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Mordhau.MordhauGameSession.RconPassword", + "IncludeInCommandLine":false, + "EnumValues":{} }, { "DisplayName": "Admin Password", @@ -44,11 +43,11 @@ "Description": "The password to become admin in the server.", "Keywords": "Admin,Password", "FieldName": "AdminPassword", - "InputType": "RandomPassword", + "InputType": "Password", "IsFlagArgument": false, "ParamFieldName": "/Script/Mordhau.MordhauGameSession.AdminPassword", "IncludeInCommandLine": false, - "DefaultValue": "Password123", + "DefaultValue": "{{newguid()}}", "EnumValues": {} }, { @@ -186,9 +185,24 @@ "/Game/Mordhau/Maps/Arena_Map/TF_Arena":"TF_Arena", "/Game/Mordhau/Maps/Cortile/TF_Cortile":"TF_Cortile", "/Game/Mordhau/Maps/Highlands/TF_Highlands":"TF_Highlands", - "/Game/Mordhau/Maps/Truce/TF_Truce":"TF_Truce" + "/Game/Mordhau/Maps/Truce/TF_Truce":"TF_Truce", + "{{CustomMapText}}": "Custom Map" } - }, + }, + { + "DisplayName": "Custom Map", + "Category": "Server Config", + "Description": "Enter a custom map. Must select \"Custom Map\" in the Starting Map & Mode drop-down. This is the same as the folder name the map is stored under.", + "Keywords": "Custom,Map", + "FieldName": "CustomMapText", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "CustomMapText", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "SkrimJaw", + "EnumValues": {} + }, { "DisplayName": "RconPort", "Category": "Server Config", diff --git a/mordhau.kvp b/mordhau.kvp index b2d587a08..ee97f1f81 100644 --- a/mordhau.kvp +++ b/mordhau.kvp @@ -2,14 +2,14 @@ Meta.DisplayName=Mordhau Meta.Description=Mordhau Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=Moses, IceOfWraith +Meta.Author=Moses, IceOfWraith, southnode-zac Meta.URL=https://store.steampowered.com/app/629760/MORDHAU/ Meta.DisplayImageSource=steam:629760 Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} Meta.ConfigManifest=mordhau-config.json Meta.MetaConfigManifest=mordhau-metaconfig.json Meta.ConfigRoot=mordhau.kvp -Meta.MinAMPVersion=2.3.0.8 +Meta.MinAMPVersion=2.4.3.0 Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=Supported @@ -20,6 +20,7 @@ App.RootDir=./mordhau/ App.BaseDirectory=./mordhau/629800/ App.ExecutableWin=629800\Mordhau\Binaries\Win64\MordhauServer-Win64-Shipping.exe App.ExecutableLinux=629800/Mordhau/Binaries/Linux/MordhauServer-Linux-Shipping +App.SteamWorkshopDownloadLocation= App.WorkingDir=629800 App.LinuxCommandLineArgs=Mordhau App.WindowsCommandLineArgs= From a574c8e14d792c19d23e1af5d90d5732ab8a18b0 Mon Sep 17 00:00:00 2001 From: southnode <95715917+southnode@users.noreply.github.com> Date: Thu, 23 Mar 2023 14:33:00 +1100 Subject: [PATCH 139/318] Squad Update (#304) * Squad Update Update to add fixedmaxtickrate to start arguments, remove haswritableconsole (Squad does not have a writable console), add SteamWorkshopDownloadLocation to applicable file area, set minampversion, remove RCON from serverconfig area and replace with info tile, clear up verbiage for descriptions of settings * Recommended updates Remove $ from non-AMP reserved variables Update record demos for both client and server side for better readability --- squad-dedicated-server.kvp | 8 ++-- squad-dedicated-serverconfig.json | 76 ++++++++++++++++++------------- 2 files changed, 50 insertions(+), 34 deletions(-) diff --git a/squad-dedicated-server.kvp b/squad-dedicated-server.kvp index 5a9726c5d..f581251f9 100644 --- a/squad-dedicated-server.kvp +++ b/squad-dedicated-server.kvp @@ -4,7 +4,7 @@ App.ApplicationPort2=27165 App.ApplicationPort3=0 App.ApplicationReadyMode=RegexMatch App.BaseDirectory=./squad-dedicated-server/403240/ -App.CommandLineArgs=MULTIHOME={{$ApplicationIPBinding}} Port={{$ApplicationPort1}} QueryPort={{$ApplicationPort2}} RCONPORT={{$RemoteAdminPort}} RCONPASSWORD={{$RemoteAdminPassword}} -log -fullcrashdump +App.CommandLineArgs=MULTIHOME={{$ApplicationIPBinding}} Port={{$ApplicationPort1}} QueryPort={{$ApplicationPort2}} RCONPORT={{$RemoteAdminPort}} RCONPASSWORD={{$RemoteAdminPassword}} FIXEDMAXTICKRATE={{MaxTPS}} -log -fullcrashdump App.CommandLineParameterDelimiter= App.CommandLineParameterFormat={0}="{1}" App.DisplayName=Squad Dedicated Server @@ -16,23 +16,25 @@ App.ExitString=stop App.RCONConnectDelaySeconds=15 App.RCONConnectRetrySeconds=45 App.HasReadableConsole=true -App.HasWritableConsole=true +App.HasWritableConsole=false App.RapidStartup=false App.RemoteAdminPort=21114 App.RootDir=./squad-dedicated-server/ App.UpdateSource=Multi App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "403240", "UpdateSourceArgs": "393380"}] App.WorkingDir=403240 +App.SteamWorkshopDownloadLocation={{$FullBaseDir}}SquadGame/Plugins/Mods App.UseRandomAdminPassword=True Console.AppReadyRegex=^(LogInit: Display: Starting Game\.)|(LogOnline: GotoState: NewState: Playing)$ Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ Console.UserChatRegex=^\[Chat.*\] \[SteamID\:(?-?\d+)\] (?.+?) \: (?.+)$ Console.UserJoinRegex= Console.UserLeaveRegex= -Meta.Author=Shinynecrid,IceOfWraith +Meta.Author=Shinynecrid,IceOfWraith,Southnode-Arc Meta.ConfigManifest=squad-dedicated-serverconfig.json Meta.MetaConfigManifest=squad-dedicated-servermetaconfig.json Meta.ConfigRoot=squad-dedicated-server.kvp +Meta.MinAMPVersion=2.4.3.0 Meta.Description=Squad Dedicated Server Meta.DisplayImageSource=steam:393380 Meta.DisplayName=Squad Dedicated Server diff --git a/squad-dedicated-serverconfig.json b/squad-dedicated-serverconfig.json index b881b4e3c..b35c469dd 100644 --- a/squad-dedicated-serverconfig.json +++ b/squad-dedicated-serverconfig.json @@ -1,20 +1,20 @@ [ { - "DisplayName": "RCON Password", - "Category": "Server Config", - "Description": "Password to connect to RCON. Change this after installing the server", - "Keywords": "RCON,password", - "FieldName": "$RemoteAdminPassword", - "InputType": "RandomPassword", - "IsFlagArgument": false, - "ParamFieldName": "$RemoteAdminPassword", - "IncludeInCommandLine": false, - "DefaultValue": "Password123" + "DisplayName":"RCON Password", + "Category":"Server Config", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password", + "FieldName":"RCONPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"RCONPassword", + "IncludeInCommandLine":false, + "EnumValues":{} }, { "DisplayName": "Server Name", "Category": "Server Config", - "Description": "Set the Name for the server to advertise", + "Description": "Set the Name for the server in the Server Browser", "Keywords": "server name, name", "FieldName": "ServerName", "InputType": "text", @@ -26,7 +26,7 @@ { "DisplayName": "Max Players", "Category": "Server Config", - "Description": "Set the max players allowed on the server", + "Description": "Set the max players allowed on the server (minus reserved slots)", "Keywords": "max players, players", "FieldName": "$MaxUsers", "InputType": "number", @@ -37,10 +37,24 @@ "Suffix":"players", "MinValue":"1" }, + { + "DisplayName": "Max TPS", + "Category": "Server Config", + "Description": "Set the maximum tickrate for the server (Set below 45 for best stability)", + "Keywords": "tps, tickrate", + "FieldName": "MaxTPS", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MaxTPS", + "IncludeInCommandLine": false, + "DefaultValue": "40", + "Suffix":"tps", + "MinValue":"10" + }, { "DisplayName": "LAN Mode", "Category": "Server Config", - "Description": "set the server to LAN mode?", + "Description": "Set the server to LAN mode", "Keywords": "Lan,Server", "FieldName": "IsLANMatch", "InputType": "checkbox", @@ -55,7 +69,7 @@ { "DisplayName": "Should Advertise", "Category": "Server Config", - "Description": "Control visibility in the server browser", + "Description": "Control visibility in the server browser - disabling removes the server from the Server Browser", "Keywords": "Visibility,Server", "FieldName": "ShouldAdvertise", "InputType": "checkbox", @@ -70,7 +84,7 @@ { "DisplayName": "Number of Reserved Slots", "Category": "Server Config", - "Description": "Number of reserved slots for admins / members", + "Description": "Number of reserved slots for admins within the Admins.cfg file with the 'reserved' group permission", "Keywords": "reserved players, players", "FieldName": "NumReservedSlots", "InputType": "number", @@ -82,7 +96,7 @@ { "DisplayName": "Public Queue Limit", "Category": "Server Config", - "Description": "Size of the server queuing, for regular user", + "Description": "Size of the server queuing, for regular user (Setting this to 0 disables the ability for players to join the server)", "Keywords": "queue,players", "FieldName": "PublicQueueLimit", "InputType": "number", @@ -128,7 +142,7 @@ { "DisplayName": "Use Vote Factions", "Category": "Server Config", - "Description": "Should Faction be voted for on generic layers? Randomized if false.", + "Description": "Should Faction be voted for on generic layers?", "Keywords": "Factions,Vote", "FieldName": "UseVoteFactions", "InputType": "checkbox", @@ -173,7 +187,7 @@ { "DisplayName": "Allow Team Change", "Category": "Server Config", - "Description": "Completly Allow or Disallow Team change to all players. Only user with Level_Balance access level can bypass this flag", + "Description": "Completly Allow or Disallow Team change to all players. Only users with 'balance' permission within Admins.cfg can bypass this flag", "Keywords": "Layer,Vote", "FieldName": "AllowTeamChanges", "InputType": "checkbox", @@ -215,7 +229,7 @@ { "DisplayName": "Rejoin Squad Delay After Kick", "Category": "Server Config", - "Description": "Delay a player is allowed to rejoin a squad after being kicked.", + "Description": "Sets the delay after which a player is allowed to rejoin a squad after being kicked.", "Keywords": "delay,players,kick", "FieldName": "RejoinSquadDelayAfterKick", "InputType": "number", @@ -226,24 +240,24 @@ "Suffix":"seconds" }, { - "DisplayName": "Record Demos", + "DisplayName": "Record Demos - Server", "Category": "Server Config", - "Description": "Enable Demo Recording", + "Description": "Enable Demo Recording Server-side - the server will save a demo of every match", "Keywords": "Record,Demo", "FieldName": "RecordDemos", "InputType": "checkbox", "IsFlagArgument": false, "ParamFieldName": "RecordDemos", - "DefaultValue": "true", + "DefaultValue": "false", "EnumValues": { "False": "false", "True": "true" } }, { - "DisplayName": "Allow Public Clients Record Demos", + "DisplayName": "Record Demos - Client", "Category": "Server Config", - "Description": "Enable Demo Recording", + "Description": "Enable Demo Recording Client-side, allowing players to record demos of matches", "Keywords": "Record,Demo", "FieldName": "AllowPublicClientsToRecord", "InputType": "checkbox", @@ -258,7 +272,7 @@ { "DisplayName": "Server Message Interval", "Category": "Server Config", - "Description": "Frequency in which the server displays the information inside the ServerMessages.cfg file.", + "Description": "Frequency in which the server displays the information inside the ServerMessages.cfg file as a broadcast to all players", "Keywords": "Interval, Message", "FieldName": "ServerMessageInterval", "InputType": "number", @@ -299,7 +313,7 @@ { "DisplayName": "Auto Team Kill Ban Number", "Category": "Server Config", - "Description": "Maximum allowed team kills before ban", + "Description": "Maximum allowed teamkills before an automatic ban", "Keywords": "Interval, Message", "FieldName": "AutoTKBanNumberTKs", "InputType": "number", @@ -311,7 +325,7 @@ { "DisplayName": "Auto Team Kill Ban Timer", "Category": "Server Config", - "Description": "Time a Team Kiling player is banned for before being allowed to rejoin match.", + "Description": "Time a teamkiling player is banned for before being allowed to rejoin match.", "Keywords": "Interval,Message,Time", "FieldName": "AutoTKBanTime", "InputType": "number", @@ -339,7 +353,7 @@ { "DisplayName": "Allow Community Admin Access", "Category": "Server Config", - "Description": "Enable Community Admin Access", + "Description": "Enable QA Admin Access (Required for Licensed Servers)", "Keywords": "Admin", "FieldName": "AllowCommunityAdminAccess", "InputType": "checkbox", @@ -354,7 +368,7 @@ { "DisplayName": "Offworld Developers only Admin", "Category": "Server Config", - "Description": "Only Offworld Industries developers are admins", + "Description": "Allow Offworld Industries QA Dev Profiling (Required for Licensed Servers)", "Keywords": "Admin", "FieldName": "AllowDevProfiling", "InputType": "checkbox", @@ -369,7 +383,7 @@ { "DisplayName": "Allow QA", "Category": "Server Config", - "Description": "Allow QA", + "Description": "Allow Offworld Industries QA (Required for Licensed Servers)", "Keywords": "QA", "FieldName": "AllowQA", "InputType": "checkbox", @@ -396,4 +410,4 @@ "True": "true" } } -] \ No newline at end of file +] From 67923fb65c5afed9120474d409345c6fff6d25f2 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 23 Mar 2023 23:45:59 +1100 Subject: [PATCH 140/318] Various: updates to RCON settings (#307) --- astroneerconfig.json | 25 ++++++++++++------------- conan-exilesconfig.json | 7 +++---- ecoconfig.json | 25 ++++++++++++------------- empyrion-galactic-survivalconfig.json | 26 ++++++++++++-------------- insurgencysandstormconfig.json | 12 ++++++------ mordhau-config.json | 20 ++++++++++---------- pavlov-vrconfig.json | 12 ++++++++++++ seven-days-to-dieconfig.json | 16 +++++++--------- starboundconfig.json | 26 ++++++++++++-------------- teamspeak3config.json | 26 ++++++++++++-------------- v-risingconfig.json | 26 ++++++++++++-------------- xonoticconfig.json | 27 +++++++++++++-------------- 12 files changed, 123 insertions(+), 125 deletions(-) diff --git a/astroneerconfig.json b/astroneerconfig.json index ed9f32a0e..485ffaef3 100644 --- a/astroneerconfig.json +++ b/astroneerconfig.json @@ -38,19 +38,6 @@ "IncludeInCommandLine":false, "EnumValues":{} }, - { - "DisplayName":"Console Password", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RemoteAdminPassword", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, { "DisplayName":"Server Name", "Category":"Server Settings", @@ -77,6 +64,18 @@ "DefaultValue":"", "EnumValues":{} }, + { + "DisplayName":"Console Password", + "Category":"Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"console,password,rcon", + "FieldName":"$RemoteAdminPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, { "DisplayName":"Owner Name", "Category":"Server Settings", diff --git a/conan-exilesconfig.json b/conan-exilesconfig.json index d5bf1f5e9..fc68b94c1 100644 --- a/conan-exilesconfig.json +++ b/conan-exilesconfig.json @@ -140,15 +140,14 @@ { "DisplayName":"RCON Password", "Category":"Server Settings", - "Description":"Password to connect to RCON.", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON.", "Keywords":"rcon,password", "FieldName":"$RemoteAdminPassword", - "InputType":"password", + "InputType":"hidden", "IsFlagArgument":false, "ParamFieldName":"RconPlugin.RconPassword", "IncludeInCommandLine":false, - "EnumValues":{}, - "Hidden": true + "EnumValues":{} }, { "DisplayName":"Server Region", diff --git a/ecoconfig.json b/ecoconfig.json index f9259645b..119debdbc 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -38,19 +38,6 @@ "IncludeInCommandLine":false, "EnumValues":{} }, - { - "DisplayName":"RCON Password", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RemoteAdminPassword", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"RconPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, { "DisplayName":"Server Name", "Category":"Server Settings", @@ -106,6 +93,18 @@ "DefaultValue":"", "EnumValues":{} }, + { + "DisplayName":"RCON Password", + "Category":"Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password", + "FieldName":"$RemoteAdminPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"RconPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, { "DisplayName":"Server Category", "Category":"Server Settings", diff --git a/empyrion-galactic-survivalconfig.json b/empyrion-galactic-survivalconfig.json index 07608f52e..049a2824c 100644 --- a/empyrion-galactic-survivalconfig.json +++ b/empyrion-galactic-survivalconfig.json @@ -27,20 +27,6 @@ "EnumValues": {}, "Hidden": true }, - { - "DisplayName": "Telnet Password", - "Category": "Emp - Server Settings", - "Description": "Must be set using AMP.", - "Keywords": "", - "FieldName": "$RemoteAdminPassword", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Tel_Pwd", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, { "DisplayName": "Server Name", "Category": "Emp - Server Settings", @@ -67,6 +53,18 @@ "DefaultValue": "", "EnumValues": {} }, + { + "DisplayName": "Telnet Password", + "Category": "Emp - Server Settings", + "Description": "See the Security and Privacy menu for configurable options for the server's RCON.", + "Keywords": "telnet,RCON,password", + "FieldName": "$RemoteAdminPassword", + "InputType": "hidden", + "IsFlagArgument": false, + "ParamFieldName": "ServerConfig.Tel_Pwd", + "IncludeInCommandLine": false, + "EnumValues": {} + }, { "DisplayName": "Max Players ", "Category": "Emp - Server Settings", diff --git a/insurgencysandstormconfig.json b/insurgencysandstormconfig.json index c5c91c931..0c31d6d4b 100644 --- a/insurgencysandstormconfig.json +++ b/insurgencysandstormconfig.json @@ -308,17 +308,17 @@ "EnumValues": {}, "SkipIfEmpty": true }, - { + { "DisplayName": "RCON Password", "Category": "Server Config", - "Description": "Password to connect to RCON. Change this after installing the server", + "Description": "See the Security and Privacy menu for configurable options for the server's RCON", "Keywords": "RCON,password", - "FieldName": "$RemoteAdminPassword", - "InputType": "RandomPassword", + "FieldName": "RCONPassword", + "InputType": "hidden", "IsFlagArgument": false, - "ParamFieldName": "$RemoteAdminPassword", + "ParamFieldName": "RCONPassword", "IncludeInCommandLine": false, - "DefaultValue": "Password123" + "EnumValues": {} }, { "DisplayName": "Mutator", diff --git a/mordhau-config.json b/mordhau-config.json index 8924b3ce6..5dc8199f5 100644 --- a/mordhau-config.json +++ b/mordhau-config.json @@ -26,16 +26,16 @@ "EnumValues": {} }, { - "DisplayName":"RCON Password", - "Category":"Server Config", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"console,password,rcon", - "FieldName":"$RemoteAdminPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Mordhau.MordhauGameSession.RconPassword", - "IncludeInCommandLine":false, - "EnumValues":{} + "DisplayName": "RCON Password", + "Category": "Server Config", + "Description": "See the Security and Privacy menu for configurable options for the server's RCON.", + "Keywords": "Rcon,Password", + "FieldName": "$RemoteAdminPassword", + "InputType": "hidden", + "IsFlagArgument": false, + "ParamFieldName": "/Script/Mordhau.MordhauGameSession.RconPassword", + "IncludeInCommandLine": false, + "EnumValues": {} }, { "DisplayName": "Admin Password", diff --git a/pavlov-vrconfig.json b/pavlov-vrconfig.json index 23aefba6a..c55a1a462 100755 --- a/pavlov-vrconfig.json +++ b/pavlov-vrconfig.json @@ -70,6 +70,18 @@ "DefaultValue": "0000", "EnumValues": {} }, + { + "DisplayName": "RCON Password", + "Category": "Server Settings", + "Description": "See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords": "rcon,password", + "FieldName": "RCONPassword", + "InputType": "hidden", + "IsFlagArgument": false, + "ParamFieldName": "RCONPassword", + "IncludeInCommandLine": false, + "EnumValues":{} + }, { "DisplayName": "Enable Valve Anti-Cheat (Steam VAC)", "Category": "Server Settings", diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index 8769aff05..6c9d0c913 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -98,7 +98,7 @@ "DisplayName":"Server Port", "Category":"7d2d - Server Settings", "Description":"Whatever you want the name of the server to be.", - "Keywords":"Server,Port", + "Keywords":"", "FieldName":"$ServerPort", "InputType":"text", "IsFlagArgument":false, @@ -227,7 +227,7 @@ "DisplayName":"Control Panel Port", "Category":"7d2d - Server Settings", "Description":"Port of the control panel webpage.", - "Keywords":"Control,Panel,Port", + "Keywords":"", "FieldName":"$ControlPanelPort", "InputType":"number", "IsFlagArgument":false, @@ -252,7 +252,7 @@ "DisplayName":"Telnet Enabled", "Category":"7d2d - Server Settings", "Description":"Enable/Disable the telnet.", - "Keywords":"Telnet,Enabled", + "Keywords":"", "FieldName":"TelnetEnabled", "InputType":"text", "IsFlagArgument":false, @@ -265,7 +265,7 @@ "DisplayName":"Telnet Port", "Category":"7d2d - Server Settings", "Description":"Port of the telnet server.", - "Keywords":"Telnet,Port", + "Keywords":"", "FieldName":"$RemoteAdminPort", "InputType":"number", "IsFlagArgument":false, @@ -277,16 +277,14 @@ },{ "DisplayName":"Telnet Password", "Category":"7d2d - Server Settings", - "Description":"Password to gain entry to telnet interface.", + "Description":"See the Security and Privacy menu for configurable options for the password to the server's telnet interface (RCON).", "Keywords":"Telnet,Password", "FieldName":"$RemoteAdminPassword", - "InputType":"text", + "InputType":"hidden", "IsFlagArgument":false, "ParamFieldName":"/ServerSettings/property[@name='TelnetPassword']/@value", "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{}, - "Hidden": true + "EnumValues":{} },{ "DisplayName":"Telnet Failed Login Limit", "Category":"7d2d - Server Settings", diff --git a/starboundconfig.json b/starboundconfig.json index 48b2d358f..782183a9b 100644 --- a/starboundconfig.json +++ b/starboundconfig.json @@ -26,6 +26,18 @@ "Placeholder": "8", "MinValue":"1" }, + { + "DisplayName": "RCON Password", + "Category": "Starbound - Settings", + "Description": "See the Security and Privacy menu for configurable options for the server's RCON.", + "Keywords": "rcon,password", + "FieldName": "$RemoteAdminPassword", + "InputType": "hidden", + "IsFlagArgument": false, + "ParamFieldName": "rconServerPassword", + "IncludeInCommandLine": false, + "EnumValues": {} + }, { "DisplayName": "Server Port", "Category": "Hidden Settings", @@ -68,20 +80,6 @@ "EnumValues": {}, "Hidden": true }, - { - "DisplayName": "RCON Password", - "Category": "Hidden Settings", - "Description": "RCON Password.", - "Keywords": "", - "FieldName": "$RemoteAdminPassword", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "rconServerPassword", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, { "DisplayName": "RCON Enabled", "Category": "Hidden Settings", diff --git a/teamspeak3config.json b/teamspeak3config.json index dfbcce738..6c57bf0a7 100644 --- a/teamspeak3config.json +++ b/teamspeak3config.json @@ -83,20 +83,6 @@ "EnumValues": {}, "Hidden": true }, - { - "DisplayName": "Remote Admin Password", - "Description": "", - "Category": "Hidden Settings", - "Keywords": "", - "FieldName": "$RemoteAdminPassword", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "serveradmin_password", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, { "DisplayName": "Default Voice Port", "Description": "", @@ -359,6 +345,18 @@ "Suffix": "connections", "EnumValues": {} }, + { + "DisplayName": "RCON (Admin) Password", + "Description": "See the Security and Privacy menu for configurable options for the server's RCON.", + "Category": "Server Settings", + "Keywords": "admin,RCON,password", + "FieldName": "$RemoteAdminPassword", + "InputType": "hidden", + "IsFlagArgument": false, + "ParamFieldName": "serveradmin_password", + "IncludeInCommandLine": false, + "EnumValues": {} + }, { "DisplayName": "Log Path", "Description": "The physical path where the server will create logfiles.", diff --git a/v-risingconfig.json b/v-risingconfig.json index 51f71c1e5..e579337c8 100644 --- a/v-risingconfig.json +++ b/v-risingconfig.json @@ -82,20 +82,6 @@ "EnumValues": {}, "Hidden": true }, - { - "DisplayName": "RCON Password", - "Category": "Host Settings", - "Description": "RCON Password to allow Console input", - "Keywords": "rcon,enabled", - "FieldName": "$RemoteAdminPassword", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "Rcon.Password", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, { "DisplayName": "LAN Mode", "Category": "Host Settings", @@ -205,6 +191,18 @@ "ParamFieldName": "Password", "IncludeInCommandLine": false }, + { + "DisplayName": "RCON Password", + "Category": "Host Settings", + "Description": "See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords": "rcon,password", + "FieldName": "$RemoteAdminPassword", + "InputType": "hidden", + "IsFlagArgument": false, + "ParamFieldName": "Rcon.Password", + "IncludeInCommandLine": false, + "EnumValues": {} + }, { "DisplayName": "VAC Secure", "Category": "Host Settings", diff --git a/xonoticconfig.json b/xonoticconfig.json index 584b28b12..deb241381 100755 --- a/xonoticconfig.json +++ b/xonoticconfig.json @@ -26,19 +26,6 @@ "DefaultValue":"server.log", "EnumValues":{} }, - { - "DisplayName":"RCON Password", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RemoteAdminPassword", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"rcon_password", - "IncludeInCommandLine":false, - "EnumValues":{} - }, { "DisplayName":"Server Release Stream", "Category":"Server Settings", @@ -111,7 +98,19 @@ "IncludeInCommandLine":false, "DefaultValue":"0.0.0.0", "EnumValues":{} - }, + }, + { + "DisplayName":"RCON Password", + "Category":"Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password", + "FieldName":"$RemoteAdminPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"rcon_password", + "IncludeInCommandLine":false, + "EnumValues":{} + }, { "DisplayName":"Welcome Message", "Category":"Server Settings", From 45aa5e25bcf3faba7e3b66d58bbac6673960a0c7 Mon Sep 17 00:00:00 2001 From: PhonicUK Date: Thu, 23 Mar 2023 13:49:59 +0000 Subject: [PATCH 141/318] Update ark-se.kvp --- ark-se.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ark-se.kvp b/ark-se.kvp index 4c8a40e5b..f4bc7699e 100644 --- a/ark-se.kvp +++ b/ark-se.kvp @@ -14,7 +14,7 @@ Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=Supported Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/t/ark-survival-evolved-guide/3322 +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3322?utm_source=ampcreate&utm_content=arkse Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState= From f91d2bd30f3dec422e4dfb80cf819018c688bdc6 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 25 Mar 2023 03:43:56 +1100 Subject: [PATCH 142/318] ARK:SE: remove deprecated -NoTransferFromFiltering setting and fix OverrideOfficialDifficulty setting (#310) --- ark-se.kvp | 2 +- ark-seconfig.json | 31 +++++++------------------------ 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/ark-se.kvp b/ark-se.kvp index f4bc7699e..49b3b9e48 100644 --- a/ark-se.kvp +++ b/ark-se.kvp @@ -27,7 +27,7 @@ App.ExecutableLinux=376030/ShooterGame/Binaries/Linux/ShooterGameServer App.WorkingDir=376030/ShooterGame/Binaries/Win64 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?MultiHome={{$ApplicationIPBinding}}?{{$FormattedArgs}}{{OverrideOfficialDifficulty}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}}{{NoTransferFromFiltering}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog +App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?MultiHome={{$ApplicationIPBinding}}?{{$FormattedArgs}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"346110"} diff --git a/ark-seconfig.json b/ark-seconfig.json index 51f5a27dc..20484933e 100644 --- a/ark-seconfig.json +++ b/ark-seconfig.json @@ -566,18 +566,17 @@ { "DisplayName":"Override Official Difficulty", "Category":"ARK Gameplay Settings", - "Description":"If enabled, sets to 5 the default server difficulty level (instead of 4)", + "Description":"Sets the default server difficulty level, allowing it to go above the default 4.0. Be careful not to go too high!", "Keywords":"override,official,difficulty,overrideofficialdifficulty", "FieldName":"OverrideOfficialDifficulty", - "InputType":"checkbox", + "InputType":"number", + "MinValue":"0", "IsFlagArgument":false, "ParamFieldName":"OverrideOfficialDifficulty", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"?OverrideOfficialDifficulty=5.0" - } + "IncludeInCommandLine":true, + "DefaultValue":"4.0", + "Placeholder":"4.0", + "EnumValues":{} }, { "DisplayName":"Enable Crosshair", @@ -2021,22 +2020,6 @@ "DefaultValue":"", "EnumValues":{} }, - { - "DisplayName":"Filter Transfers", - "Category":"ARK Cluster Settings", - "Description":"If set, prevents uploads from and downloads to servers that are not part of the cluster", - "Keywords":"filter,data,transfer,cluster,notransferfromfiltering", - "FieldName":"NoTransferFromFiltering", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoTransferFromFiltering", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-NoTransferFromFiltering " - } - }, { "DisplayName":"Prevent Character Download", "Category":"ARK Cluster Settings", From b8497bfb9b717ebbf15c56378133c4c189f79642 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 25 Mar 2023 17:41:00 +1100 Subject: [PATCH 143/318] ARK:SE: revisit difficulty settings (#313) --- ark-se.kvp | 2 +- ark-seconfig.json | 48 +++++++++++++++++++++++++++++++---------------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/ark-se.kvp b/ark-se.kvp index 49b3b9e48..6815e0335 100644 --- a/ark-se.kvp +++ b/ark-se.kvp @@ -27,7 +27,7 @@ App.ExecutableLinux=376030/ShooterGame/Binaries/Linux/ShooterGameServer App.WorkingDir=376030/ShooterGame/Binaries/Win64 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?MultiHome={{$ApplicationIPBinding}}?{{$FormattedArgs}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog +App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?MultiHome={{$ApplicationIPBinding}}?{{$FormattedArgs}}{{OverrideOfficialDifficulty}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"346110"} diff --git a/ark-seconfig.json b/ark-seconfig.json index 20484933e..f84fe9dcc 100644 --- a/ark-seconfig.json +++ b/ark-seconfig.json @@ -548,34 +548,50 @@ } }, { - "DisplayName":"Difficulty Offset", + "DisplayName":"Override Official Difficulty", "Category":"ARK Gameplay Settings", - "Description":"Sets the difficulty offset, which is used to calculate the [difficulty level](https://ark.wiki.gg/wiki/Difficulty)", - "Keywords":"difficulty,offset,level,difficultyoffset", - "FieldName":"DifficultyOffset", + "Description":"If enabled, sets the server difficulty level to the value set under \"Difficulty Override Level\". This is generally the recommended way to set the difficulty level", + "Keywords":"override,official,difficulty,overrideofficialdifficulty", + "FieldName":"OverrideOfficialDifficulty", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"OverrideOfficialDifficulty", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"?OverrideOfficialDifficulty={{DifficultyOverrideLevel}}" + } + }, + { + "DisplayName":"Difficulty Override Level", + "Category":"ARK Gameplay Settings", + "Description":"Sets the value of the difficulty level to be applied if \"Override Official Difficulty\" is enabled, allowing the level to go above the default 4.0. Be careful not to go too high!", + "Keywords":"override,official,difficulty,level,overrideofficialdifficulty", + "FieldName":"DifficultyOverrideLevel", "InputType":"number", "MinValue":"0", - "MaxValue":"1", "IsFlagArgument":false, - "ParamFieldName":"DifficultyOffset", - "IncludeInCommandLine":true, - "DefaultValue":"0.200000", - "Placeholder":"0.200000", + "ParamFieldName":"DifficultyOverrideLevel", + "IncludeInCommandLine":false, + "DefaultValue":"4.0", + "Placeholder":"4.0", "EnumValues":{} }, { - "DisplayName":"Override Official Difficulty", + "DisplayName":"Difficulty Offset", "Category":"ARK Gameplay Settings", - "Description":"Sets the default server difficulty level, allowing it to go above the default 4.0. Be careful not to go too high!", - "Keywords":"override,official,difficulty,overrideofficialdifficulty", - "FieldName":"OverrideOfficialDifficulty", + "Description":"As an alternative to using \"Override Official Difficulty\", this setting sets the difficulty offset, which is used to calculate the [difficulty level](https://ark.wiki.gg/wiki/Difficulty)", + "Keywords":"difficulty,offset,level,difficultyoffset", + "FieldName":"DifficultyOffset", "InputType":"number", "MinValue":"0", + "MaxValue":"1", "IsFlagArgument":false, - "ParamFieldName":"OverrideOfficialDifficulty", + "ParamFieldName":"DifficultyOffset", "IncludeInCommandLine":true, - "DefaultValue":"4.0", - "Placeholder":"4.0", + "DefaultValue":"0.200000", + "Placeholder":"0.200000", "EnumValues":{} }, { From 827dee2570a68f4510af14bb582db18b391c60c2 Mon Sep 17 00:00:00 2001 From: clay Date: Sat, 25 Mar 2023 11:42:19 -0400 Subject: [PATCH 144/318] Sven Co-Op: Add maxplayers (#293) * Sven Co-Op: Add maxplayers, borrow credit * Update sven-co-opconfig.json * Update sven-co-opmetaconfig.json * Update sven-co-opconfig.json --------- Co-authored-by: Greelan <53196309+Greelan@users.noreply.github.com> --- sven-co-op.kvp | 2 +- sven-co-opconfig.json | 18 +++++++++++++++++- sven-co-opmetaconfig.json | 1 + 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/sven-co-op.kvp b/sven-co-op.kvp index 1db93bfa2..6b4d77cae 100644 --- a/sven-co-op.kvp +++ b/sven-co-op.kvp @@ -24,7 +24,7 @@ Console.ThrowawayMessageRegex= Console.UserChatRegex=^"(?.+?)<.*" say "(?.+)"$ Console.UserJoinRegex=^"(?.+?)<.*(entered|connected)$ Console.UserLeaveRegex=^"(?.+?)<.*disconnected$ -Meta.Author=IceOfWraith +Meta.Author=IceOfWraith, UVClay Meta.ConfigManifest=sven-co-opconfig.json Meta.MetaConfigManifest=sven-co-opmetaconfig.json Meta.ConfigRoot=sven-co-op.kvp diff --git a/sven-co-opconfig.json b/sven-co-opconfig.json index 84e1b85ec..c88f43803 100644 --- a/sven-co-opconfig.json +++ b/sven-co-opconfig.json @@ -12,6 +12,22 @@ "DefaultValue": "AMP Powered Sven Server", "EnumValues": {} }, + { + "DisplayName": "Max Players", + "Category": "Server Settings", + "Description": "maxplayers", + "Keywords": "maxplayers,limit", + "FieldName": "$MaxUsers", + "InputType": "number", + "MinValue": "2", + "MaxValue": "32", + "IsFlagArgument": false, + "ParamFieldName": "maxplayers", + "IncludeInCommandLine": true, + "DefaultValue": "12", + "Suffix": "players", + "EnumValues": {} + }, { "DisplayName": "Map", "Category": "Server Settings", @@ -1882,4 +1898,4 @@ "DefaultValue": "20", "EnumValues": {} } -] \ No newline at end of file +] diff --git a/sven-co-opmetaconfig.json b/sven-co-opmetaconfig.json index 97d145874..47f6c6293 100644 --- a/sven-co-opmetaconfig.json +++ b/sven-co-opmetaconfig.json @@ -10,6 +10,7 @@ "hostname": "hostname", "log": "log", "rcon_password": "$RemoteAdminPassword", + "maxplayers": "$MaxUsers", "servercfgfile": "servercfgfile", "lservercfgfile": "lservercfgfile", "mapvotecfgfile": "mapvotecfgfile", From d8364858bd19cd10eeade7a4d5a1d64b9994b7a5 Mon Sep 17 00:00:00 2001 From: rezor92 Date: Sun, 26 Mar 2023 04:45:59 +0200 Subject: [PATCH 145/318] Conan Exiles Regex and Exit (#279) * Regex and Exit Changed commandline args as suggested by @Greelan which makes it possible to search for regex Added regex for join leave and chat. Modified regex for ready. Modified exit mode to string and set timeout to 60s so that the server can properply shutdown * keep rcon alive * tune rcon keepalive and ready regex * Update launch args, "-log" isn't needed * Update conan-exiles.kvp Filtering ping errors for RCON keepalive * Update conan-exiles.kvp Streamlined the regex thanks to Greelan! --------- Co-authored-by: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> --- conan-exiles.kvp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/conan-exiles.kvp b/conan-exiles.kvp index 97131b8a7..48b3d0ca5 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -2,7 +2,7 @@ Meta.DisplayName=Conan Exiles Meta.Description=Conan Exiles Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=IceOfWraith, Greelan, eNcrypt +Meta.Author=IceOfWraith, Greelan, eNcrypt, rezor92 Meta.URL=https://store.steampowered.com/app/440900/Conan_Exiles/ Meta.DisplayImageSource=steam:440900 Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3} @@ -24,13 +24,13 @@ App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=443030/ConanSandbox/Binaries/Win64 App.LinuxCommandLineArgs=-a wine "./ConanSandboxServer-Win64-Test.exe" App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{Map}}{{CustomMap}} -log -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} +App.CommandLineArgs={{$PlatformArgs}} {{Map}}{{CustomMap}} -stdout -FullStdOutLogOutput -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 +App.ExitMethod=String +App.ExitTimeout=60 App.ExitString=exit App.ExitFile=app_exit.lck App.HasWriteableConsole=True @@ -49,6 +49,8 @@ App.AdminMethod=SourceRCON App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=3 +App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false}] App.Compatibility=None @@ -66,11 +68,11 @@ App.MonitorChildProcessWaitMs=3000 App.MonitorChildProcessName=wine64 Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^LogGameMode:Display: Match State Changed from WaitingToStart to InProgress$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)|.*LogRcon:Warning: Received Rcon: ping, from PeerAddr: [\d\.:]+|.*Couldn't find the command: ping\. Try "help"$ +Console.AppReadyRegex=^.*LogGameState: Match State Changed from WaitingToStart to InProgress$ +Console.UserJoinRegex=^.*LogNet: Join succeeded: (?.+?#\d+)$ +Console.UserLeaveRegex=^.*LogNet: Player disconnected: (?.+?#\d+)$ +Console.UserChatRegex=^.*ChatWindow: Character (?.+?) said: (?.+?)$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.SuppressLogAtStart=False Console.ActivateLogRegex= From e30c8d25c623127508717467b550877743b0091b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 26 Mar 2023 20:39:53 +1100 Subject: [PATCH 146/318] Add OpenTTD (#256) --- openttd.kvp | 87 ++ openttdconfig.json | 1922 ++++++++++++++++++++++++++++++++++++++++ openttdmetaconfig.json | 24 + openttdopenttd.cfg | 462 ++++++++++ openttdprivate.cfg | 15 + openttdsecrets.cfg | 12 + openttdupdates.json | 44 + 7 files changed, 2566 insertions(+) create mode 100644 openttd.kvp create mode 100644 openttdconfig.json create mode 100644 openttdmetaconfig.json create mode 100644 openttdopenttd.cfg create mode 100644 openttdprivate.cfg create mode 100644 openttdsecrets.cfg create mode 100644 openttdupdates.json diff --git a/openttd.kvp b/openttd.kvp new file mode 100644 index 000000000..2414b3337 --- /dev/null +++ b/openttd.kvp @@ -0,0 +1,87 @@ +Meta.DisplayName=OpenTTD +Meta.Description=OpenTTD Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan, DARKACE +Meta.URL=https://www.openttd.org/ +Meta.DisplayImageSource=steam:1536610 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=openttdconfig.json +Meta.MetaConfigManifest=openttdmetaconfig.json +Meta.ConfigRoot=openttd.kvp +Meta.MinAMPVersion=2.4.1.4 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=RequiredOnWindows,SupportedOnLinux +Meta.ContainerPolicyReason=AMP's console is unable to provide console input or output on Windows for the OpenTTD server, which is needed for proper functioning. It is able to do so on Linux, therefore Docker is required on Windows. +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=OpenTTD +App.RootDir=./openttd/ +App.BaseDirectory=./openttd/1536610/ +App.ExecutableWin=1536610\openttd.exe +App.ExecutableLinux=1536610/openttd +App.WorkingDir=1536610 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=-D {{$ApplicationIPBinding}}:{{$ServerPort}} -c config/openttd.cfg {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1536610"} +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":"Both","Port":3979,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":3978,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server list query traffic"},{"Protocol":"Both","Port":3977,"Ref":"ServerAdminPort","Name":"Server Admin Port","Description":"Port for server admin interface"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=25 +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=@IncludeJson[openttdupdates.json] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +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=^dbg: \[net\] Listening on [\d.:]+ \(IPv4\)$ +Console.UserJoinRegex=^‎\*\*\* (?.+?) has joined the game \(Client #(?\d+?)\)$ +Console.UserLeaveRegex=^‎\*\*\* (?.+?) has left the game \((?:.+?)\)$ +Console.UserChatRegex=^$ +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/openttdconfig.json b/openttdconfig.json new file mode 100644 index 000000000..5df8f1402 --- /dev/null +++ b/openttdconfig.json @@ -0,0 +1,1922 @@ +[ + { + "DisplayName":"Server Port", + "Category":"OpenTTD Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ServerPort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"network.server_port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Admin Port", + "Category":"OpenTTD Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ServerAdminPort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"network.server_admin_port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"OpenTTD Server Settings", + "Description":"Sets the name of the server as shown on the server list", + "Keywords":"server,name,server_name", + "FieldName":"server_name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"network.server_name", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered OpenTTD Server", + "EnumValues":{} + }, + { + "DisplayName":"Client Name", + "Category":"OpenTTD Server Settings", + "Description":"Name that the server uses in-game (for example, for chat messages)", + "Keywords":"client,name,client_name", + "FieldName":"client_name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"network.client_name", + "IncludeInCommandLine":false, + "DefaultValue":"AMPServer", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"OpenTTD Server Settings", + "Description":"Sets the password for clients to connect to the server. Default is no password (blank)", + "Keywords":"server,password,server_password", + "FieldName":"server_password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"network.server_password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"OpenTTD Server Settings", + "Description":"Sets the password that clients of the [admin interface](https://github.com/OpenTTD/OpenTTD/blob/master/docs/admin_network.md) need to use it. Default is no password (blank), meaning the admin interface is disabled", + "Keywords":"admin,password,admin_password", + "FieldName":"admin_password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"network.admin_password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Autosave Interval", + "Category":"OpenTTD Server Settings", + "Description":"Sets the time interval between automatic game saves", + "Keywords":"autosave", + "FieldName":"autosave", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"gui.autosave", + "IncludeInCommandLine":false, + "DefaultValue":"monthly", + "EnumValues":{ + "never":"Never (autosave disabled)", + "monthly":"Monthly (1st day of month) (default)", + "quarterly":"Quarterly (1st day of quarter)", + "2x yearly":"Twice yearly (1 January and 1 July)", + "yearly":"Yearly (1 January)" + } + }, + { + "DisplayName":"Autosave On Exit", + "Category":"OpenTTD Server Settings", + "Description":"If set, the server will autosave on exit", + "Keywords":"autosave,exit,autosave_on_exit", + "FieldName":"autosave_on_exit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"gui.autosave_on_exit", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Save Name", + "Category":"OpenTTD Server Settings", + "Description":"Sets the savename of a game to load on server start. Both saved games and scenarios can be loaded. If no game savename is specified or the specified savename cannot be found, a new game is started", + "Keywords":"load,savegame", + "FieldName":"g", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"g", + "IncludeInCommandLine":true, + "DefaultValue":"config/save/autosave/exit.sav", + "Placeholder":"config/save/autosave/exit.sav", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"OpenTTD Server Settings", + "Description":"Maximum number of players that may connect to the server at one time", + "Keywords":"maximum,players,limit,max_clients", + "FieldName":"max_clients", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"network.max_clients", + "IncludeInCommandLine":false, + "DefaultValue":"25", + "Placeholder":"25", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Active Players", + "Category":"OpenTTD Server Settings", + "Description":"Sets the minimum number of active players, below which the server will be automatically paused", + "Keywords":"minimum,active,players,min_active_clients", + "FieldName":"min_active_clients", + "InputType":"number", + "MinValue":"0", + "MaxValue":"255", + "IsFlagArgument":false, + "ParamFieldName":"network.min_active_clients", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"active players", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Companies", + "Category":"OpenTTD Server Settings", + "Description":"Sets the maximum number of companies on the server", + "Keywords":"maximum,companies,max_companies", + "FieldName":"max_companies", + "InputType":"number", + "MinValue":"1", + "MaxValue":"15", + "IsFlagArgument":false, + "ParamFieldName":"network.max_companies", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "EnumValues":{} + }, + { + "DisplayName":"Enable Admin Chat", + "Category":"OpenTTD Server Settings", + "Description":"Enables admin chat on the server", + "Keywords":"admin,chat,server_admin_chat", + "FieldName":"server_admin_chat", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"network.server_admin_chat", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Server Currency", + "Category":"OpenTTD Server Settings", + "Description":"Sets the currency for the server. If Custom is selected, the Custom Server Currency must also be set", + "Keywords":"currency", + "FieldName":"currency", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"locale.currency", + "IncludeInCommandLine":false, + "DefaultValue":"EUR", + "EnumValues":{ + "USD":"American Dollar", + "ATS":"Austrian Shilling", + "BEF":"Belgian Franc", + "BRL":"Brazilian Real", + "GBP":"British Pound", + "CNY":"Chinese Renminbi", + "CZK":"Czech Koruna", + "DKK":"Danish Krone", + "DEM":"Deutschmark", + "NLG":"Dutch Guilder", + "EEK":"Estonian Krooni", + "EUR":"Euro (default)", + "FIM":"Finnish Markka", + "FRF":"French Franc", + "GRD":"Greek Drachma", + "HKD":"Hong Kong Dollar", + "HUF":"Hungarian Forint", + "ISK":"Icelandic Krona", + "INR":"Indian Rupee", + "IDR":"Indonesian Rupiah", + "IRR":"Iranian Rial", + "ITL":"Italian Lira", + "JPY":"Japanese Yen", + "LTL":"Lithuanian Litas", + "MYR":"Malaysian Ringgit", + "MXN":"Mexican Peso", + "RUB":"New Russian Ruble", + "NTD":"New Taiwan Dollar", + "NOK":"Norwegian Krone", + "PLN":"Polish Zloty", + "RON":"Romanian Leu", + "RUR":"Russian Rubles", + "SKK":"Slovak Koruna", + "SIT":"Slovenian Tolar", + "ZAR":"South African Rand", + "KRW":"South Korean Won", + "ESP":"Spanish Peseta", + "SEK":"Swedish Krona", + "CHF":"Swiss Franc", + "TRY":"Turkish Lira", + "{{CustomCurrency}}":"Custom" + } + }, + { + "DisplayName":"Custom Server Currency", + "Category":"OpenTTD Server Settings", + "Description":"Sets a custom currency for the server, if \"Custom\" is selected under Server Currency", + "Keywords":"currency", + "FieldName":"CustomCurrency", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomCurrency", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Display Refresh Rate", + "Category":"OpenTTD Server Settings", + "Description":"Sets the display refresh rate", + "Keywords":"refresh,rate,refresh_rate", + "FieldName":"refresh_rate", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"gui.refresh_rate", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "EnumValues":{ + "30":"30Hz", + "60":"60Hz (default)", + "75":"75Hz", + "90":"90Hz", + "100":"100Hz", + "120":"120Hz", + "144":"144Hz", + "240":"240Hz" + } + }, + { + "DisplayName":"Maximum Join Time", + "Category":"OpenTTD Server Settings", + "Description":"Sets the maximum amount of time allowed for a client to join the server. Increasing this can help clients with slower download speeds to join servers with larger maps", + "Keywords":"maximum,join,time", + "FieldName":"max_join_time", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"network.max_join_time", + "IncludeInCommandLine":false, + "DefaultValue":"500", + "Placeholder":"500", + "Suffix":"ticks", + "EnumValues":{} + }, + { + "DisplayName":"Allow Inflation", + "Category":"OpenTTD Accounting Settings", + "Description":"If set, inflation will be enabled in the economy, where costs rise slightly faster than payments", + "Keywords":"inflation", + "FieldName":"inflation", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.inflation", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Maximum Initial Loan", + "Category":"OpenTTD Accounting Settings", + "Description":"Sets the maximum initial amount a company can loan (in GBP), in multiples of £50,000. If the Server Currency is different, the amount will be converted at the relevant exchange rate. The maximum loan amount will increase over time if Inflation is enabled", + "Keywords":"maximum,initial,loan,max_loan", + "FieldName":"max_loan", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.max_loan", + "IncludeInCommandLine":false, + "DefaultValue":"300000", + "Placeholder":"300000", + "Suffix":"GBP", + "EnumValues":{} + }, + { + "DisplayName":"Initial Interest Rate", + "Category":"OpenTTD Accounting Settings", + "Description":"Sets the initial interest rate charged on loans for a new map", + "Keywords":"initial,interest,initial_interest", + "FieldName":"initial_interest", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.initial_interest", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "2":"2% (default)", + "3":"3%", + "4":"4%" + } + }, + { + "DisplayName":"Subsidy Multiplier", + "Category":"OpenTTD Accounting Settings", + "Description":"Sets the bonus multiplier for subsidies offered in-game (assuming they are not disabled)", + "Keywords":"subsidy,multiplier,subsidy_multiplier", + "FieldName":"subsidy_multiplier", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.subsidy_multiplier", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0":"1.5x normal rate", + "1":"2.0x normal rate", + "2":"3.0x normal rate (default)", + "3":"4.0x normal rate" + } + }, + { + "DisplayName":"Subsidy Duration", + "Category":"OpenTTD Accounting Settings", + "Description":"Sets the number of years for which subsidies are awarded. 0 = subsidies disabled", + "Keywords":"subsidy,duration,subsidy_duration", + "FieldName":"subsidy_duration", + "InputType":"number", + "MinValue":"0", + "MaxValue":"5000", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.subsidy_duration", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "Suffix":"years", + "EnumValues":{} + }, + { + "DisplayName":"Infrastructure Maintenance", + "Category":"OpenTTD Accounting Settings", + "Description":"If enabled, infrastructure causes maintenance costs. The cost grows in proportion to the network size, thus affecting larger companie more than smaller ones", + "Keywords":"infrastructure,maintenance,infrastructure_maintenance", + "FieldName":"infrastructure_maintenance", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.infrastructure_maintenance", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Running Costs", + "Category":"OpenTTD Accounting Settings", + "Description":"Sets the level of maintenance and running costs of vehicles and infrastructure", + "Keywords":"vehicle,infrastructure,costs,vehicle_costs", + "FieldName":"vehicle_costs", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.vehicle_costs", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Low (default)", + "1":"Medium", + "2":"High" + } + }, + { + "DisplayName":"Construction Costs", + "Category":"OpenTTD Accounting Settings", + "Description":"Sets the level of construction and purchase costs", + "Keywords":"construction,purchase,cost,construction_cost", + "FieldName":"construction_cost", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.construction_cost", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Low (default)", + "1":"Medium", + "2":"High" + } + }, + { + "DisplayName":"Allow Disasters", + "Category":"OpenTTD Incident Settings", + "Description":"If enabled, disasters can occur on a new map, which may occasionally block or destroy vehicles or infrastructure", + "Keywords":"disasters", + "FieldName":"disasters", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.disasters", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Economic Recessions", + "Category":"OpenTTD Incident Settings", + "Description":"If enabled, economic recessions can occur on new maps every few years. During recessions, all production is significantly lower", + "Keywords":"economy,recession", + "FieldName":"economy", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.economy", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Vehicle Breakdown Frequency", + "Category":"OpenTTD Incident Settings", + "Description":"Sets the frequency at which inadequately serviced vehicles break down", + "Keywords":"vehicle,breakdowns,frequency,vehicle_breakdowns", + "FieldName":"vehicle_breakdowns", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.vehicle_breakdowns", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"No breakdowns", + "1":"Reduced breakdowns (default)", + "2":"Normal breakdowns" + } + }, + { + "DisplayName":"Aircraft Crash Probability", + "Category":"OpenTTD Incident Settings", + "Description":"Sets the probability of aircraft crashes", + "Keywords":"plane,aircraft,crashes,plane_crashes", + "FieldName":"plane_crashes", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.plane_crashes", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0":"None", + "1":"Reduced", + "2":"Normal (default)" + } + }, + { + "DisplayName":"Local Authority Distance", + "Category":"OpenTTD Enviro Settings", + "Description":"Sets how far in tiles an object has to be from a town centre before it comes under the local authority jurisdiction", + "Keywords":"distance,local,authority,dist_local_authority", + "FieldName":"dist_local_authority", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"economy.dist_local_authority", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"tiles", + "EnumValues":{} + }, + { + "DisplayName":"Town Council Tolerance", + "Category":"OpenTTD Enviro Settings", + "Description":"Sets how much noise and environmental damage by companies affect their town rating and therefore further construction activity in the area", + "Keywords":"town,council,tolerance,town_council_tolerance", + "FieldName":"town_council_tolerance", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.town_council_tolerance", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Permissive (default)", + "1":"Tolerant", + "2":"Hostile" + } + }, + { + "DisplayName":"Town Population Noise Level Increase - Permissive", + "Category":"OpenTTD Enviro Settings", + "Description":"If Town Council Tolerance is permissive, then the town noise limit will increase from the default for every specified number of inhabitants", + "Keywords":"town,noise,population,permissive,town_noise_population[0]", + "FieldName":"town_noise_population0", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"economy.town_noise_population[0]", + "IncludeInCommandLine":false, + "DefaultValue":"800", + "Placeholder":"800", + "EnumValues":{} + }, + { + "DisplayName":"Town Population Noise Level Increase - Tolerant", + "Category":"OpenTTD Enviro Settings", + "Description":"If Town Council Tolerance is tolerant, then the town noise limit will increase from the default for every specified number of inhabitants", + "Keywords":"town,noise,population,tolerant,town_noise_population[1]", + "FieldName":"town_noise_population1", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"economy.town_noise_population[1]", + "IncludeInCommandLine":false, + "DefaultValue":"2000", + "Placeholder":"2000", + "EnumValues":{} + }, + { + "DisplayName":"Town Population Noise Level Increase - Hostile", + "Category":"OpenTTD Enviro Settings", + "Description":"If Town Council Tolerance is hostile, then the town noise limit will increase from the default for every specified number of inhabitants", + "Keywords":"town,noise,population,hostile,town_noise_population[2]", + "FieldName":"town_noise_population2", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"economy.town_noise_population[2]", + "IncludeInCommandLine":false, + "DefaultValue":"4000", + "Placeholder":"4000", + "EnumValues":{} + }, + { + "DisplayName":"Allow Bribes", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, companies can try to bribe local authorities to increase their rating. If noticed by an inspector, the company will not be able to act in the town for six months", + "Keywords":"bribe", + "FieldName":"bribe", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.bribe", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Exclusive Rights", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, allows buying of exclusive transport rights in the area of a local authority. Opponents' stations (passenger and cargo) will not receive any cargo for a whole year", + "Keywords":"exclusive,rights,exclusive_rights", + "FieldName":"exclusive_rights", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.exclusive_rights", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Funding Of Roads", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, allows companies to give money to towns to fund road reconstruction, in order to sabotage road-based services in the town", + "Keywords":"fund,roads,fund_roads", + "FieldName":"fund_roads", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.fund_roads", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Funding Of Buildings", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, allows companies to give money to towns to fund new houses", + "Keywords":"fund,buildings,fund_buildings", + "FieldName":"fund_buildings", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.fund_buildings", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Airport Noise Level", + "Category":"OpenTTD Enviro Settings", + "Description":"If disabled, there can only be two airports in each town. If enabled, the number of airports is limited instead by the noise acceptance of the town, which depends on population, airport size and distance", + "Keywords":"station,noise,level,station_noise_level", + "FieldName":"station_noise_level", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.station_noise_level", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Town Growth Rate", + "Category":"OpenTTD Enviro Settings", + "Description":"Sets the speed of town growth", + "Keywords":"town,growth,rate,speed,town_growth_rate", + "FieldName":"town_growth_rate", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"economy.town_growth_rate", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0":"None", + "1":"Slow", + "2":"Normal (default)", + "3":"Fast", + "4":"Very fast" + } + }, + { + "DisplayName":"Allow Town Roads", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, towns are allowed to build roads. Otherwise, players must build roads for a town to grow", + "Keywords":"town,roads,allow_town_roads", + "FieldName":"allow_town_roads", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.allow_town_roads", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Town Level Crossings", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, towns are allowed to build level crossings", + "Keywords":"town,level,crossings,allow_town_level_crossings", + "FieldName":"allow_town_level_crossings", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.allow_town_level_crossings", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Remove Useless Road Elements", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, towns will remove useless road elements during construction to clean up dead-ends", + "Keywords":"mod,road,rebuild,mod_road_rebuild", + "FieldName":"mod_road_rebuild", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.mod_road_rebuild", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Founding Of Towns", + "Category":"OpenTTD Enviro Settings", + "Description":"Sets whether towns can be founded by players during the game and, if so, whether they will use the road layout used by other towns in the game, or can have a custom layout", + "Keywords":"found,town,found_town", + "FieldName":"found_town", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"economy.found_town", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Forbidden (default)", + "1":"Allowed", + "2":"Allowed with custom town layout" + } + }, + { + "DisplayName":"Town Cargo Generation Mode", + "Category":"OpenTTD Enviro Settings", + "Description":"Sets how much cargo is produced by houses in towns, relative to the overall town population", + "Keywords":"town,cargo,generation,mode,town_cargogen_mode", + "FieldName":"town_cargogen_mode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"economy.town_cargogen_mode", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Quadratic growth (original)", + "1":"Linear growth (default)" + } + }, + { + "DisplayName":"Enable Demand-Only Cargo Generation", + "Category":"OpenTTD Enviro Settings", + "Description":"If set, cargo will only be generated at a station when a vehicle with the capacity to pick up that cargo has visited. Affects station ratings", + "Keywords":"cargo,demand,generation,selectgoods", + "FieldName":"selectgoods", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"order.selectgoods", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Multiple Industries Per Town", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, two or more industries of the same type can be built on land that comes under the jurisdiction of one town. Normally only one of each type is allowed", + "Keywords":"multiple,industry,town,multiple_industry_per_town", + "FieldName":"multiple_industry_per_town", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.multiple_industry_per_town", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Oil Refinery Limit", + "Category":"OpenTTD Enviro Settings", + "Description":"Oil refineries are only constructed near the map border (the coast for island maps). This sets the maximum allowed distance (in an even number of tiles) from the edge of the map for refineries", + "Keywords":"oil,refinery,limit,oil_refinery_limit", + "FieldName":"oil_refinery_limit", + "InputType":"number", + "MinValue":"12", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.oil_refinery_limit", + "IncludeInCommandLine":false, + "DefaultValue":"32", + "Placeholder":"32", + "Suffix":"tiles", + "EnumValues":{} + }, + { + "DisplayName":"Allow Serving Neutral Industries", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, industries with attached stations may also be served by company-owned stations built nearby. Otherwise, they can only be served by their own attached stations", + "Keywords":"serve,neutral,industries,serve_neutral_industries", + "FieldName":"serve_neutral_industries", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"station.serve_neutral_industries", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Modified Catchment Areas", + "Category":"OpenTTD Enviro Settings", + "Description":"If enabled, catchment areas will be differently sized for different types of stations and airports, and as a result be more realistic. For example, train stations have a larger catchment area than bus stations and airport catchment areas are bigger still", + "Keywords":"modified,catchment,modified_catchment", + "FieldName":"modified_catchment", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"station.modified_catchment", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Improved Loading", + "Category":"OpenTTD Enviro Settings", + "Description":"If set, only one vehicle is loaded at a time until full, before loading the next vehicle. When disabled, all vehicles in a station are loaded simultaneously, possibly needlessly blocking multiple platforms", + "Keywords":"improved,load,improved_load", + "FieldName":"improved_load", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"order.improved_load", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Gradual Loading", + "Category":"OpenTTD Enviro Settings", + "Description":"If set, vehicles will load cargo over a period of time, not full load instantly", + "Keywords":"gradual,loading,gradual_loading", + "FieldName":"gradual_loading", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"order.gradual_loading", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"AI Competitors", + "Category":"OpenTTD Competitor Settings", + "Description":"Sets the number of AI competitors to be created on the server", + "Keywords":"competitors,ai,max_no_competitors", + "FieldName":"max_no_competitors", + "InputType":"number", + "MinValue":"0", + "MaxValue":"14", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.max_no_competitors", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Competitor Speed", + "Category":"OpenTTD Competitor Settings", + "Description":"Sets the speed at which the AI competitors will build (assuming AI competitors are not disabled)", + "Keywords":"competitor,speed,ai,competitor_speed", + "FieldName":"competitor_speed", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.competitor_speed", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0":"Very slow", + "1":"Slow", + "2":"Medium (default)", + "3":"Fast", + "4":"Very fast" + } + }, + { + "DisplayName":"Allow Giving Of Money", + "Category":"OpenTTD Competitor Settings", + "Description":"If enabled, allows transfer of money between companies", + "Keywords":"give,money,give_money", + "FieldName":"give_money", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.give_money", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Buying Of Shares", + "Category":"OpenTTD Competitor Settings", + "Description":"If enabled, allows buying and selling of company shares. Shares will only be available for companies reaching a certain age", + "Keywords":"allow,shares,allow_shares", + "FieldName":"allow_shares", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"economy.allow_shares", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Minimum Age For Buying Shares", + "Category":"OpenTTD Competitor Settings", + "Description":"Sets the minimum age of a company for others to be able to buy and sell shares from them", + "Keywords":"minimum,years,age,shares,min_years_for_shares", + "FieldName":"min_years_for_shares", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"economy.min_years_for_shares", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "Placeholder":"6", + "Suffix":"years", + "EnumValues":{} + }, + { + "DisplayName":"Train Acceleration Model", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the physics model for train acceleration. \"Original\" penalises slopes equally for all vehicles. \"Realistic\" penalises slopes depending on various properties, like length and tractive effort", + "Keywords":"train,acceleration,model,train_acceleration_model", + "FieldName":"train_acceleration_model", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.train_acceleration_model", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Original", + "1":"Realistic (default)" + } + }, + { + "DisplayName":"Train Slope Steepness", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the steepness of slopes for trains. Higher values make it more difficult to climb a hill. It only applies if the Realistic acceleration model is selected", + "Keywords":"train,slope,steepness,train_slope_steepness", + "FieldName":"train_slope_steepness", + "InputType":"number", + "MinValue":"0", + "MaxValue":"10", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.train_slope_steepness", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "Suffix":"%", + "EnumValues":{} + }, + { + "DisplayName":"Enable Wagon Speed Limits", + "Category":"OpenTTD Vehicle Settings", + "Description":"If enabled, the speed limits of wagons (if any) are also used to determine the maximum speed of a train", + "Keywords":"wagon,speed,limits,wagon_speed_limits", + "FieldName":"wagon_speed_limits", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.wagon_speed_limits", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Freight Trains Multiplier", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the impact of carrying freight in trains. The weight of freight trains is multiplied by this multiplier to simulate very heavy trains for more realism", + "Keywords":"freight,trains,multiplier,freight_trains", + "FieldName":"freight_trains", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.freight_trains", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Road Vehicle Acceleration Model", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the physics model for road vehicle acceleration. \"Original\" penalises slopes equally for all vehicles. \"Realistic\" penalises slopes depending on various properties of the engine, like tractive effort", + "Keywords":"road,vehicle,acceleration,model,roadveh_acceleration_model", + "FieldName":"roadveh_acceleration_model", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.roadveh_acceleration_model", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Original", + "1":"Realistic (default)" + } + }, + { + "DisplayName":"Road Vehicle Slope Steepness", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the steepness of slopes for road vehicles. Higher values make it more difficult to climb a hill. It only applies if the Realistic acceleration model is selected", + "Keywords":"road,vehicle,slope,steepness,roadveh_slope_steepness", + "FieldName":"roadveh_slope_steepness", + "InputType":"number", + "MinValue":"0", + "MaxValue":"10", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.roadveh_slope_steepness", + "IncludeInCommandLine":false, + "DefaultValue":"7", + "Placeholder":"7", + "Suffix":"%", + "EnumValues":{} + }, + { + "DisplayName":"Aircraft Speed Factor", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the relative speed of aircraft compared to other vehicle types, to reduce the amount of income of transport by aircraft", + "Keywords":"plane,aircraft,speed,plane_speed", + "FieldName":"plane_speed", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.plane_speed", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "EnumValues":{ + "1":"1:1", + "2":"1:2", + "3":"1:3", + "4":"1:4 (default)" + } + }, + { + "DisplayName":"Disallow Train Reversing", + "Category":"OpenTTD Vehicle Settings", + "Description":"If enabled, trains can reverse at the end of line only, and not at non-terminus stations, even if there is a shorter path to their next destination when reversing", + "Keywords":"line,reverse,mode,train,line_reverse_mode", + "FieldName":"line_reverse_mode", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.line_reverse_mode", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Servicing If No Breakdowns", + "Category":"OpenTTD Vehicle Settings", + "Description":"If set, and vehicle breakdowns are disabled, vehicles will not go to depots or hangars for servicing", + "Keywords":"servicing,breakdowns,no_servicing_if_no_breakdowns", + "FieldName":"no_servicing_if_no_breakdowns", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"order.no_servicing_if_no_breakdowns", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Helicopter Servicing", + "Category":"OpenTTD Vehicle Settings", + "Description":"If enabled, a helicopter landing on a heliport or helipad will automatically be serviced", + "Keywords":"service,helicopter,heliport,helipad,serviceathelipad", + "FieldName":"serviceathelipad", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"order.serviceathelipad", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Dynamic Engines", + "Category":"OpenTTD Vehicle Settings", + "Description":"If enabled, multiple NewGRF vehicle sets will be able to exist side-by-side", + "Keywords":"dynamic,engines,dynamic_engines", + "FieldName":"dynamic_engines", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.dynamic_engines", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Extend Vehicle Life", + "Category":"OpenTTD Vehicle Settings", + "Description":"Extends every vehicle's life by the number of years specified", + "Keywords":"extend,vehicle,life,extend_vehicle_life", + "FieldName":"extend_vehicle_life", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.extend_vehicle_life", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Enable Service Interval Percentage", + "Category":"OpenTTD Vehicle Settings", + "Description":"If enabled, servicing of vehicles will be triggered by reliability dropping to a certain percentage of the maximum reliability, rather than by the time passed since the last service", + "Keywords":"service,interval,percent,servint_ispercent", + "FieldName":"servint_ispercent", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.servint_ispercent", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Train Service Interval", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the default service interval for new trains, if no explicit service interval is set for the vehicle. Increment by 15 from minimum 30", + "Keywords":"service,interval,trains,servint_trains", + "FieldName":"servint_trains", + "InputType":"number", + "MinValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.servint_trains", + "IncludeInCommandLine":false, + "DefaultValue":"150", + "Placeholder":"150", + "EnumValues":{} + }, + { + "DisplayName":"Road Vehicle Service Interval", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the default service interval for new road vehicles, if no explicit service interval is set for the vehicle. Increment by 15 from minimum 30", + "Keywords":"service,interval,road,vehicles,servint_roadveh", + "FieldName":"servint_roadveh", + "InputType":"number", + "MinValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.servint_roadveh", + "IncludeInCommandLine":false, + "DefaultValue":"150", + "Placeholder":"150", + "EnumValues":{} + }, + { + "DisplayName":"Ship Service Interval", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the default service interval for new ships, if no explicit service interval is set for the vehicle. Increment by 15 from minimum 30", + "Keywords":"service,interval,ships,servint_ships", + "FieldName":"servint_ships", + "InputType":"number", + "MinValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.servint_ships", + "IncludeInCommandLine":false, + "DefaultValue":"360", + "Placeholder":"360", + "EnumValues":{} + }, + { + "DisplayName":"Aircraft Service Interval", + "Category":"OpenTTD Vehicle Settings", + "Description":"Sets the default service interval for new aircraft, if no explicit service interval is set for the vehicle. Increment by 15 from minimum 40", + "Keywords":"service,interval,aircraft,servint_aircraft", + "FieldName":"servint_aircraft", + "InputType":"number", + "MinValue":"40", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.servint_aircraft", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Placeholder":"100", + "EnumValues":{} + }, + { + "DisplayName":"Disable Airport Expiry", + "Category":"OpenTTD Limit Settings", + "Description":"If set, each airport type will stay available forever after its introduction", + "Keywords":"never,expire,airports,never_expire_airports", + "FieldName":"never_expire_airports", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"station.never_expire_airports", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Vehicle Expiry", + "Category":"OpenTTD Limit Settings", + "Description":"If set, each vehicle model will stay available forever after its introduction", + "Keywords":"never,expire,vehicles,never_expire_vehicles", + "FieldName":"never_expire_vehicles", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.never_expire_vehicles", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Maximum Trains", + "Category":"OpenTTD Limit Settings", + "Description":"Sets the maximum number of trains that a company can have", + "Keywords":"maximum,trains,limit,max_trains", + "FieldName":"max_trains", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.max_trains", + "IncludeInCommandLine":false, + "DefaultValue":"500", + "Placeholder":"500", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Road Vehicles", + "Category":"OpenTTD Limit Settings", + "Description":"Sets the maximum number of road vehicles that a company can have", + "Keywords":"maximum,road,vehicles,limit,max_roadveh", + "FieldName":"max_roadveh", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.max_roadveh", + "IncludeInCommandLine":false, + "DefaultValue":"500", + "Placeholder":"500", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Aircraft", + "Category":"OpenTTD Limit Settings", + "Description":"Sets the maximum number of aircraft that a company can have", + "Keywords":"maximum,aircraft,limit,max_aircraft", + "FieldName":"max_aircraft", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.max_aircraft", + "IncludeInCommandLine":false, + "DefaultValue":"200", + "Placeholder":"200", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Ships", + "Category":"OpenTTD Limit Settings", + "Description":"Sets the maximum number of ships that a company can have", + "Keywords":"maximum,ships,limit,max_ships", + "FieldName":"max_ships", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.max_ships", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Placeholder":"300", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Train Length", + "Category":"OpenTTD Limit Settings", + "Description":"Sets the maximum length of a train", + "Keywords":"maximum,train,length,max_train_length", + "FieldName":"max_train_length", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.max_train_length", + "IncludeInCommandLine":false, + "DefaultValue":"7", + "Placeholder":"7", + "Suffix":"tiles", + "EnumValues":{} + }, + { + "DisplayName":"Station Spread", + "Category":"OpenTTD Limit Settings", + "Description":"Sets the maximum area that parts of a station may be spread out over. High values will slow the game", + "Keywords":"station,spread,station_spread", + "FieldName":"station_spread", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"station.station_spread", + "IncludeInCommandLine":false, + "DefaultValue":"12", + "Placeholder":"12", + "Suffix":"tiles", + "EnumValues":{} + }, + { + "DisplayName":"Allow Building Adjacent Stations", + "Category":"OpenTTD Limit Settings", + "Description":"If enabled, allows building a station directly adjacent to another one to create a new station instead of merging the new tile(s) with the existing station", + "Keywords":"adjacent,stations,adjacent_stations", + "FieldName":"adjacent_stations", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"station.adjacent_stations", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Joining Distant Stations", + "Category":"OpenTTD Limit Settings", + "Description":"If enabled, players building a new station have the option of merging it with an existing station within the catchment area or creating a new station", + "Keywords":"distant,join,stations,distant_join_stations", + "FieldName":"distant_join_stations", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"station.distant_join_stations", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Electric Tracks Requirement", + "Category":"OpenTTD Limit Settings", + "Description":"If set, tracks will not be required to be electrified to enable electric engines to run on them", + "Keywords":"disable,electric,rails,tracks,disable_elrails", + "FieldName":"disable_elrails", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.disable_elrails", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Map Seed", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the random seed for creating a new map", + "Keywords":"map,seed,generation_seed", + "FieldName":"G", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"G", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"970327061", + "Placeholder":"970327061", + "EnumValues":{} + }, + { + "DisplayName":"Map Seed", + "Category":"OpenTTD Creation Settings", + "Description":"", + "Keywords":"", + "FieldName":"G", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"game_creation.generation_seed", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Map Size - X Axis", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the size of the map's X axis (in tiles)", + "Keywords":"map,x,axis", + "FieldName":"map_x", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.map_x", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "EnumValues":{ + "6":"64", + "7":"128", + "8":"256 (default)", + "9":"512", + "10":"1024", + "11":"2048", + "12":"4096" + } + }, + { + "DisplayName":"Map Size - Y Axis", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the size of the map's Y axis (in tiles)", + "Keywords":"map,y,axis", + "FieldName":"map_y", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.map_y", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "EnumValues":{ + "6":"64", + "7":"128", + "8":"256 (default)", + "9":"512", + "10":"1024", + "11":"2048", + "12":"4096" + } + }, + { + "DisplayName":"Landscape", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the landscape for the server, which determines basic gameplay scenarios with different cargoes and town growth requirements", + "Keywords":"landscape", + "FieldName":"landscape", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.landscape", + "IncludeInCommandLine":false, + "DefaultValue":"temperate", + "EnumValues":{ + "arctic":"Arctic", + "temperate":"Temperate (default)", + "toyland":"Toyland", + "tropic":"Tropic" + } + }, + { + "DisplayName":"Land Generation System", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the land generation system for the server. The Original generator depends on the base graphics set, and composes fixed landscape shapes. TerraGeneris is a Perlin noise-based generator with finer control settings", + "Keywords":"land,generator,generation,system,land_generator", + "FieldName":"land_generator", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.land_generator", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Original", + "1":"TerraGenesis Perlin (TGP) (default)" + } + }, + { + "DisplayName":"Terrain Type (TGP Only)", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the terrain type (hilliness of the landscape) for generating a new map", + "Keywords":"terrain,type,tgp,terrain_type", + "FieldName":"terrain_type", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.terrain_type", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Very flat", + "1":"Flat (default)", + "2":"Hilly", + "3":"Mountainous", + "4":"Alpinist", + } + }, + { + "DisplayName":"Terrain Smoothness (TGP Only)", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the smoothness of the map, ie the frequency of hills", + "Keywords":"tgen,tgp,terrain,smoothness,tgen_smoothness", + "FieldName":"tgen_smoothness", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.tgen_smoothness", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Very smooth", + "1":"Smooth (default)", + "2":"Rough", + "3":"Very rough" + } + }, + { + "DisplayName":"Variety Distribution (TGP Only)", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the extent to which the map should contain mountainous areas in addition to flat areas", + "Keywords":"variety,tgp", + "FieldName":"variety", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.variety", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"None (default)", + "1":"Very low", + "2":"Low", + "3":"Medium", + "4":"High", + "5":"Very high" + } + }, + { + "DisplayName":"Snow Coverage", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the approximate amount of snow on the sub-arctic landscape. Snow affects industry generation and town growth requirements. Land just above sea level is always without snow", + "Keywords":"snow,coverage,snow_coverage", + "FieldName":"snow_coverage", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.snow_coverage", + "IncludeInCommandLine":false, + "DefaultValue":"40", + "EnumValues":{ + "0":"None", + "10":"10%", + "20":"20%", + "30":"30%", + "40":"40% (default)", + "50":"50%", + "60":"60%", + "70":"70%", + "80":"80%", + "90":"90%", + "100":"100%" + } + }, + { + "DisplayName":"Snow Line Height", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the altitude (in tiles) at which snow starts in sub-arctic landscapes. Snow affects industry generation and town growth requirements", + "Keywords":"snow,line,height,altitude,snow_line_height", + "FieldName":"snow_line_height", + "InputType":"number", + "MinValue":"2", + "MaxValue":"253", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.snow_line_height", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "EnumValues":{} + }, + { + "DisplayName":"Desert Coverage", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the approximate amount of desert on the tropical landscape. Desert affects industry generation", + "Keywords":"desert,coverage,desert_coverage", + "FieldName":"desert_coverage", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.desert_coverage", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "EnumValues":{ + "0":"None", + "10":"10%", + "20":"20%", + "30":"30%", + "40":"40%", + "50":"50% (default)", + "60":"60%", + "70":"70%", + "80":"80%", + "90":"90%", + "100":"100%" + } + }, + { + "DisplayName":"Sea Level (TGP Only)", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the sea level, and as a result the size of the area covered by seas and lakes on a new map. If \"Custom\" is selected, Custom Sea Level must also be set", + "Keywords":"quantity,sea,lakes,level,tgp,quantity_sea_lakes", + "FieldName":"quantity_sea_lakes", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.quantity_sea_lakes", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Very low (default)", + "1":"Low", + "2":"Medium", + "3":"High", + "4":"Custom" + } + }, + { + "DisplayName":"Custom Sea Level", + "Category":"OpenTTD Creation Settings", + "Description":"If \"Custom\" is selected for Sea Level, sets roughly the percentage area covered by seas and lakes on a new map", + "Keywords":"custom,sea,level,custom_sea_level", + "FieldName":"custom_sea_level", + "InputType":"number", + "MinValue":"1", + "MaxValue":"90", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.custom_sea_level", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Quantity Of Rivers", + "Category":"OpenTTD Creation Settings", + "Description":"Sets how many rivers are generated", + "Keywords":"amount,rivers,amount_of_rivers", + "FieldName":"amount_of_rivers", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.amount_of_rivers", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0":"None", + "1":"Few", + "2":"Medium (default)", + "3":"Many" + } + }, + { + "DisplayName":"Minimum River Length", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the minimum length (in tiles) of rivers", + "Keywords":"minimum,river,length,min_river_length", + "FieldName":"min_river_length", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.min_river_length", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "Placeholder":"16", + "Suffix":"tiles", + "EnumValues":{} + }, + { + "DisplayName":"Tree Placing", + "Category":"OpenTTD Creation Settings", + "Description":"Sets how trees are distributed on the map. Original = uniformly scattered. Improved = planted in groups", + "Keywords":"tree,placer,placing,tree_placer", + "FieldName":"tree_placer", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.tree_placer", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0":"No tree placing", + "1":"Original tree placing", + "2":"Improved tree placing (default)" + } + }, + { + "DisplayName":"Town Quantity", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the quantity of towns created on a new map. If \"Custom\" is selected, Custom Town Quantity must also be set", + "Keywords":"number,towns,number_towns", + "FieldName":"number_towns", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.number_towns", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0":"Very low", + "1":"Low", + "2":"Normal (default)", + "3":"High", + "4":"Custom" + } + }, + { + "DisplayName":"Custom Town Quantity", + "Category":"OpenTTD Creation Settings", + "Description":"If \"Custom\" is selected for Town Quantity, sets the exact number of towns to be created on a new map", + "Keywords":"custom,town,number,custom_town_number", + "FieldName":"custom_town_number", + "InputType":"number", + "MinValue":"1", + "MaxValue":"5000", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.custom_town_number", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Larger Towns Proportion", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the proportion of towns that will grow to become cities. For example, if 4 is specified, 1 in 4 (25%) will become cities. 0 = disabled", + "Keywords":"larger,towns,larger_towns", + "FieldName":"larger_towns", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"economy.larger_towns", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "Placeholder":"4", + "EnumValues":{} + }, + { + "DisplayName":"Initial City Size Multiplier", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the average initial size of cities relative to towns", + "Keywords":"initial,city,size,multiplier,initial_city_size", + "FieldName":"initial_city_size", + "InputType":"number", + "MinValue":"1", + "MaxValue":"10", + "IsFlagArgument":false, + "ParamFieldName":"economy.initial_city_size", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{} + }, + { + "DisplayName":"Industry Density", + "Category":"OpenTTD Creation Settings", + "Description":"Sets how many industries should be generated and what level should be maintained during the game", + "Keywords":"industry,density,industry_density", + "FieldName":"industry_density", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty.industry_density", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "EnumValues":{ + "0":"None (funding only)", + "1":"Minimal", + "2":"Very low", + "3":"Low", + "4":"Normal", + "5":"High (default)" + } + }, + { + "DisplayName":"Town Layout", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the layout for the road network of towns", + "Keywords":"town,layout,road,town_layout", + "FieldName":"town_layout", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"economy.town_layout", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Original (default)", + "1":"Better roads", + "2":"2x2 grid", + "3":"3x3 grid", + "4":"Random" + } + }, + { + "DisplayName":"Vehicle Driving Side", + "Category":"OpenTTD Creation Settings", + "Description":"Sets which side of the road vehicles drive on", + "Keywords":"road,side,drive,road_side", + "FieldName":"road_side", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"vehicle.road_side", + "IncludeInCommandLine":false, + "DefaultValue":"right", + "EnumValues":{ + "right":"Drive on right (default)", + "left":"Drive on left" + } + }, + { + "DisplayName":"Starting Year", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the starting year for the game. 1925 appears to be the earliest year", + "Keywords":"starting,year,starting_year", + "FieldName":"t", + "InputType":"number", + "MinValue":"1925", + "IsFlagArgument":false, + "ParamFieldName":"t", + "IncludeInCommandLine":true, + "DefaultValue":"1950", + "Placeholder":"1950", + "EnumValues":{} + }, + { + "DisplayName":"Starting Year", + "Category":"OpenTTD Creation Settings", + "Description":"", + "Keywords":"", + "FieldName":"t", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"game_creation.starting_year", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Restart Year", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the year when the server will restart automatically (on 1 January). 0 = no automatic restart", + "Keywords":"restart,year,restart_game_year", + "FieldName":"restart_game_year", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"network.restart_game_year", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Town Name Nationality", + "Category":"OpenTTD Creation Settings", + "Description":"Sets the nationality that town names are sourced from in randomly generated games. If Other is selected, Custom Town Name Nationality must also be set", + "Keywords":"town,name,nationality,country,language,town_name", + "FieldName":"town_name", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game_creation.town_name", + "IncludeInCommandLine":false, + "DefaultValue":"english", + "EnumValues":{ + "american":"American", + "austrian":"Austrian", + "english":"English (default)", + "catalan":"Catalan", + "czech":"Czech", + "danish":"Danish", + "dutch":"Dutch", + "finnish":"Finnish", + "french":"French", + "german":"German", + "hungarian":"Hungarian", + "italian":"Italian", + "latin":"Latin", + "norwegian":"Norwegian", + "polish":"Polish", + "romanian":"Romanian", + "silly":"Silly", + "slovakish":"Slovakish", + "swedish":"Swedish", + "swiss":"Swiss", + "turkish":"Turkish", + "{{CustomTownName}}":"Other" + } + }, + { + "DisplayName":"Custom Town Name Nationality", + "Category":"OpenTTD Creation Settings", + "Description":"Sets a custom NewGRF source for random town names, if \"Other\" is selected under Town Name Nationality. The NewGRF file must be installed in the newgrf directory", + "Keywords":"town,name,nationality,country,language", + "FieldName":"CustomTownName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomTownName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Branch", + "Category":"SteamCMD and Updates", + "Description":"Sets the server branch to install. NOTE: Update the server after switching branches!", + "Keywords":"server,branch,depot", + "FieldName":"ServerBranch", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerBranch", + "IncludeInCommandLine":false, + "DefaultValue":"public", + "EnumValues":{ + "public":"Public (default)", + "testing":"Testing (beta and RC)", + "nightly":"Nightly" + } + } +] \ No newline at end of file diff --git a/openttdmetaconfig.json b/openttdmetaconfig.json new file mode 100644 index 000000000..4ffe0b002 --- /dev/null +++ b/openttdmetaconfig.json @@ -0,0 +1,24 @@ +[ + { + "ConfigFile":"config/openttd.cfg", + "ConfigType":"ini", + "AutoMap":true, + "ConfigFormat":"{0} = {1}", + "ConfigFormatRegex":"^(?.+?) = (?.*?)$" + + }, + { + "ConfigFile":"config/private.cfg", + "ConfigType":"ini", + "AutoMap":true, + "ConfigFormat":"{0} = {1}", + "ConfigFormatRegex":"^(?.+?) = (?.*?)$" + }, + { + "ConfigFile":"config/secrets.cfg", + "ConfigType":"ini", + "AutoMap":true, + "ConfigFormat":"{0} = {1}", + "ConfigFormatRegex":"^(?.+?) = (?.*?)$" + } +] \ No newline at end of file diff --git a/openttdopenttd.cfg b/openttdopenttd.cfg new file mode 100644 index 000000000..4c2be685e --- /dev/null +++ b/openttdopenttd.cfg @@ -0,0 +1,462 @@ +[network] +commands_per_frame = 2 +max_commands_in_queue = 16 +bytes_per_frame = 8 +bytes_per_frame_burst = 256 +max_init_time = 100 +max_join_time = 500 +max_download_time = 1000 +max_password_time = 2000 +max_lag_time = 500 +pause_on_join = true +server_port = 3979 +server_admin_port = 3977 +server_admin_chat = true +server_game_type = local +autoclean_companies = false +autoclean_unprotected = 12 +autoclean_protected = 36 +autoclean_novehicles = 0 +max_companies = 15 +max_clients = 25 +restart_game_year = 0 +min_active_clients = 0 +reload_cfg = false +no_http_content_downloads = false +use_relay_service = ask + +[misc] +display_opt = SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION|FULL_DETAIL|WAYPOINTS|SHOW_COMPETITOR_SIGNS +fullscreen = false +video_hw_accel = true +video_vsync = false +support8bpp = no +graphicsset = +soundsset = +musicset = +videodriver = +musicdriver = +sounddriver = +blitter = +language = english.lng +resolution = 640,480 +screenshot_format = +savegame_format = +rightclick_emulate = false +small_font = +medium_font = +large_font = +mono_font = +small_size = 0 +medium_size = 0 +large_size = 0 +mono_size = 0 +small_aa = false +medium_aa = false +large_aa = false +mono_aa = false +sprite_cache_size_px = 128 +player_face = 0 +transparency_options = 0 +transparency_locks = 0 +invisibility_options = 0 +keyboard = +keyboard_caps = +last_newgrf_count = 0 +gui_zoom = -1 +font_zoom = -1 + +[difficulty] +max_no_competitors = 0 +number_towns = 2 +industry_density = 5 +max_loan = 300000 +initial_interest = 2 +vehicle_costs = 0 +competitor_speed = 2 +vehicle_breakdowns = 1 +subsidy_multiplier = 2 +subsidy_duration = 1 +construction_cost = 0 +terrain_type = 1 +quantity_sea_lakes = 0 +economy = false +line_reverse_mode = false +disasters = false +town_council_tolerance = 0 + +[economy] +town_layout = 0 +allow_town_roads = true +found_town = 0 +allow_town_level_crossings = true +town_cargogen_mode = 1 +station_noise_level = false +inflation = false +multiple_industry_per_town = false +bribe = true +exclusive_rights = true +fund_buildings = true +fund_roads = true +give_money = true +type = 1 +allow_shares = false +min_years_for_shares = 6 +feeder_payment_share = 75 +town_growth_rate = 2 +larger_towns = 4 +initial_city_size = 2 +mod_road_rebuild = true +dist_local_authority = 20 +town_noise_population[0] = 800 +town_noise_population[1] = 2000 +town_noise_population[2] = 4000 +infrastructure_maintenance = false + +[order] +no_servicing_if_no_breakdowns = true +improved_load = true +selectgoods = true +serviceathelipad = true +gradual_loading = true + +[station] +never_expire_airports = false +station_spread = 12 +modified_catchment = true +serve_neutral_industries = true +adjacent_stations = true +distant_join_stations = true + +[vehicle] +road_side = right +train_acceleration_model = 1 +roadveh_acceleration_model = 1 +train_slope_steepness = 3 +roadveh_slope_steepness = 7 +max_train_length = 7 +smoke_amount = 1 +never_expire_vehicles = false +max_trains = 500 +max_roadveh = 500 +max_aircraft = 200 +max_ships = 300 +wagon_speed_limits = true +disable_elrails = false +freight_trains = 1 +plane_speed = 4 +dynamic_engines = true +plane_crashes = 2 +extend_vehicle_life = 0 +servint_ispercent = false +servint_trains = 150 +servint_roadveh = 150 +servint_ships = 360 +servint_aircraft = 100 + +[gui] +autosave = monthly +threaded_saves = true +date_format_in_default_names = iso +show_finances = true +auto_scrolling = 0 +scroll_mode = 0 +smooth_scroll = false +right_mouse_wnd_close = false +measure_tooltip = true +errmsg_duration = 5 +hover_delay_ms = 250 +osk_activation = double +toolbar_pos = 1 +statusbar_pos = 1 +window_snap_radius = 10 +window_soft_limit = 20 +zoom_min = 0 +zoom_max = 5 +sprite_zoom_min = 0 +population_in_label = true +link_terraform_toolbar = false +smallmap_land_colour = 0 +liveries = 2 +starting_colour = 16 +auto_remove_signals = false +prefer_teamchat = false +scrollwheel_scrolling = 0 +scrollwheel_multiplier = 5 +pause_on_newgame = false +advanced_vehicle_list = 1 +timetable_in_ticks = false +timetable_arrival_departure = true +quick_goto = true +loading_indicators = 1 +default_rail_type = 0 +signal_gui_mode = 0 +default_signal_type = 5 +coloured_news_year = 2000 +cycle_signal_types = 0 +drag_signals_density = 4 +drag_signals_fixed_distance = false +semaphore_build_before = 1950 +vehicle_income_warn = true +order_review_system = 2 +lost_vehicle_warn = true +new_nonstop = true +stop_location = 2 +keep_all_autosave = false +autosave_on_exit = false +autosave_on_network_disconnect = true +max_num_autosaves = 16 +auto_euro = true +news_message_timeout = 2 +show_track_reservation = true +station_numtracks = 1 +station_platlength = 5 +station_dragdrop = true +station_show_coverage = false +persistent_buildingtools = true +expenses_layout = true +station_gui_group_order = 0 +station_gui_sort_by = 0 +station_gui_sort_order = 0 +missing_strings_threshold = 25 +graph_line_thickness = 3 +show_newgrf_name = false +show_date_in_logs = false +settings_restriction_mode = 0 +developer = 1 +newgrf_developer_tools = false +ai_developer_tools = false +scenario_developer = false +newgrf_show_old_versions = false +newgrf_default_palette = 1 +console_backlog_timeout = 100 +console_backlog_length = 100 +refresh_rate = 60 +fast_forward_speed_limit = 2500 +network_chat_box_width_pct = 40 +network_chat_box_height = 25 +network_chat_timeout = 20 + +[linkgraph] +recalc_interval = 4 +recalc_time = 16 +distribution_pax = 0 +distribution_mail = 0 +distribution_armoured = 0 +distribution_default = 0 +accuracy = 16 +demand_distance = 100 +demand_size = 100 +short_path_saturation = 80 + +[locale] +currency = GBP +units_velocity = metric +units_power = metric +units_weight = metric +units_volume = metric +units_force = si +units_height = metric +digit_group_separator = +digit_group_separator_currency = +digit_decimal_separator = + +[sound] +news_ticker = true +news_full = true +new_year = true +confirm = true +click_beep = true +disaster = true +vehicle = true +ambient = true + +[music] +playlist = 0 +music_vol = 50 +effect_vol = 100 +custom_1 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +custom_2 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +playing = true +shuffle = false + +[news_display] +arrival_player = full +arrival_other = summarized +accident = full +company_info = full +open = summarized +close = summarized +economy = full +production_player = summarized +production_other = off +production_nobody = off +advice = full +new_vehicles = full +acceptance = full +subsidies = summarized +general = full + +[pf] +forbid_90_deg = false +roadveh_queue = true +pathfinder_for_trains = 2 +pathfinder_for_roadvehs = 2 +pathfinder_for_ships = 2 +reverse_at_signals = false +wait_oneway_signal = 15 +wait_twoway_signal = 41 +wait_for_pbs_path = 30 +reserve_paths = false +path_backoff_interval = 20 +npf.npf_max_search_nodes = 10000 +npf.npf_rail_firstred_penalty = 1000 +npf.npf_rail_firstred_exit_penalty = 10000 +npf.npf_rail_lastred_penalty = 1000 +npf.npf_rail_station_penalty = 100 +npf.npf_rail_slope_penalty = 100 +npf.npf_rail_curve_penalty = 100 +npf.npf_rail_depot_reverse_penalty = 5000 +npf.npf_rail_pbs_cross_penalty = 300 +npf.npf_rail_pbs_signal_back_penalty = 1500 +npf.npf_buoy_penalty = 200 +npf.npf_water_curve_penalty = 100 +npf.npf_road_curve_penalty = 100 +npf.npf_crossing_penalty = 300 +npf.npf_road_drive_through_penalty = 800 +npf.npf_road_dt_occupied_penalty = 800 +npf.npf_road_bay_occupied_penalty = 1500 +npf.maximum_go_to_depot_penalty = 2000 +yapf.disable_node_optimization = false +yapf.max_search_nodes = 10000 +yapf.rail_firstred_twoway_eol = false +yapf.rail_firstred_penalty = 1000 +yapf.rail_firstred_exit_penalty = 10000 +yapf.rail_lastred_penalty = 1000 +yapf.rail_lastred_exit_penalty = 10000 +yapf.rail_station_penalty = 1000 +yapf.rail_slope_penalty = 200 +yapf.rail_curve45_penalty = 100 +yapf.rail_curve90_penalty = 600 +yapf.rail_depot_reverse_penalty = 5000 +yapf.rail_crossing_penalty = 300 +yapf.rail_look_ahead_max_signals = 10 +yapf.rail_look_ahead_signal_p0 = 500 +yapf.rail_look_ahead_signal_p1 = -100 +yapf.rail_look_ahead_signal_p2 = 5 +yapf.rail_pbs_cross_penalty = 300 +yapf.rail_pbs_station_penalty = 800 +yapf.rail_pbs_signal_back_penalty = 1500 +yapf.rail_doubleslip_penalty = 100 +yapf.rail_longer_platform_penalty = 800 +yapf.rail_longer_platform_per_tile_penalty = 0 +yapf.rail_shorter_platform_penalty = 4000 +yapf.rail_shorter_platform_per_tile_penalty = 0 +yapf.road_slope_penalty = 200 +yapf.road_curve_penalty = 100 +yapf.road_crossing_penalty = 300 +yapf.road_stop_penalty = 800 +yapf.road_stop_occupied_penalty = 800 +yapf.road_stop_bay_occupied_penalty = 1500 +yapf.maximum_go_to_depot_penalty = 2000 +yapf.ship_curve45_penalty = 100 +yapf.ship_curve90_penalty = 600 + +[script] +settings_profile = easy +script_max_opcode_till_suspend = 10000 +script_max_memory_megabytes = 1024 + +[ai] +ai_in_multiplayer = true +ai_disable_veh_train = false +ai_disable_veh_roadveh = false +ai_disable_veh_aircraft = false +ai_disable_veh_ship = false + +[game_creation] +town_name = english +landscape = temperate +heightmap_height = 30 +snow_line_height = 10 +snow_coverage = 40 +desert_coverage = 50 +starting_year = 1950 +ending_year = 2050 +land_generator = 1 +oil_refinery_limit = 32 +tgen_smoothness = 1 +variety = 0 +generation_seed = 2858340425 +tree_placer = 2 +heightmap_rotation = 0 +se_flat_world_height = 1 +map_x = 8 +map_y = 8 +water_borders = 15 +custom_town_number = 1 +custom_terrain_type = 30 +custom_sea_level = 1 +min_river_length = 16 +river_route_random = 5 +amount_of_rivers = 2 + +[construction] +map_height_limit = 0 +build_on_slopes = true +command_pause_level = 1 +terraform_per_64k_frames = 4194304 +terraform_frame_burst = 4096 +clear_per_64k_frames = 4194304 +clear_frame_burst = 4096 +tree_per_64k_frames = 4194304 +tree_frame_burst = 4096 +autoslope = true +extra_dynamite = true +max_bridge_length = 64 +max_bridge_height = 12 +max_tunnel_length = 64 +train_signal_side = 1 +road_stop_on_town_road = true +road_stop_on_competitor_road = true +raw_industry_construction = 0 +industry_platform = 1 +freeform_edges = true +extra_tree_placement = 2 + +[currency] +rate = 1 +separator = "." +to_euro = 0 +prefix = +suffix = " credits" + +[company] +engine_renew = true +engine_renew_months = 6 +engine_renew_money = 100000 +renew_keep_length = false + +[newgrf] + +[newgrf-static] + +[ai_players] +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 +none = start_date=730 + +[game_scripts] +none = diff --git a/openttdprivate.cfg b/openttdprivate.cfg new file mode 100644 index 000000000..6a1a95afe --- /dev/null +++ b/openttdprivate.cfg @@ -0,0 +1,15 @@ +; This file possibly contains private information which can identify you as person. +[private] + +[network] +client_name = AMPServer +server_name = AMP Powered OpenTTD Server +connect_to_ip = +last_joined = + +[server_bind_addresses] +0.0.0.0 = + +[servers] + +[bans] diff --git a/openttdsecrets.cfg b/openttdsecrets.cfg new file mode 100644 index 000000000..954c23bfd --- /dev/null +++ b/openttdsecrets.cfg @@ -0,0 +1,12 @@ +; Do not share this file with others, not even if they claim to be technical support. +; This file contains saved passwords and other secrets that should remain private to you! +[secrets] + +[network] +server_password = +rcon_password = +admin_password = +default_company_pass = +network_id = +server_invite_code = +server_invite_code_secret = diff --git a/openttdupdates.json b/openttdupdates.json new file mode 100644 index 000000000..4e9f3f1cb --- /dev/null +++ b/openttdupdates.json @@ -0,0 +1,44 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1536610", + "UpdateSourceArgs":"1536610", + "UpdateSourceVersion":"{{ServerBranch}}" + }, + { + "UpdateStageName":"Create Config Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}config", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Openttd.cfg Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/openttdopenttd.cfg", + "UpdateSourceArgs":"openttd.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}config", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Private.cfg Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/openttdprivate.cfg", + "UpdateSourceArgs":"private.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}config", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Secrets.cfg Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/openttdsecrets.cfg", + "UpdateSourceArgs":"secrets.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}config", + "OverwriteExistingFiles":false + } +] \ No newline at end of file From 7706e9d9217db07b8864b42f51598f169b361d47 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 27 Mar 2023 01:26:21 +1100 Subject: [PATCH 147/318] Revert Windows support (#315) --- openttd.kvp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openttd.kvp b/openttd.kvp index 2414b3337..163cb39f0 100644 --- a/openttd.kvp +++ b/openttd.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=OpenTTD Meta.Description=OpenTTD Dedicated Server -Meta.OS=Windows, Linux +Meta.OS=Linux Meta.Arch=x86_64 Meta.Author=Greelan, DARKACE Meta.URL=https://www.openttd.org/ @@ -12,8 +12,8 @@ Meta.ConfigRoot=openttd.kvp Meta.MinAMPVersion=2.4.1.4 Meta.SpecificDockerImage= Meta.DockerRequired=False -Meta.ContainerPolicy=RequiredOnWindows,SupportedOnLinux -Meta.ContainerPolicyReason=AMP's console is unable to provide console input or output on Windows for the OpenTTD server, which is needed for proper functioning. It is able to do so on Linux, therefore Docker is required on Windows. +Meta.ContainerPolicy=SupportedOnLinux +Meta.ContainerPolicyReason= Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=False From 3cac969af92754a3c72aa20fe96ddd60b90d5e50 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 27 Mar 2023 17:06:56 -0500 Subject: [PATCH 148/318] Update Valheim BepInEx Version (#316) --- valheimupdates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/valheimupdates.json b/valheimupdates.json index cff450948..1bb8f1c21 100644 --- a/valheimupdates.json +++ b/valheimupdates.json @@ -25,8 +25,8 @@ "UpdateStageName": "Fetch BepInEx from Thunderstore", "UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", - "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/5.4.1901/", - "UpdateSourceArgs": "denikson-BepInExPack_Valheim-5.4.1901.zip", + "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/5.4.2100/", + "UpdateSourceArgs": "denikson-BepInExPack_Valheim-5.4.2100.zip", "UpdateSourceConditionSetting": "bepinex_install", "UpdateSourceConditionValue": "true", "UnzipUpdateSource": true, From 505051099c8539428252dde08e8be7523ee9e151 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 27 Mar 2023 17:07:28 -0500 Subject: [PATCH 149/318] Update Killing Floor 2 (#317) AMP is no longer able to properly read the Killing Floor 2 console in Windows. --- killing-floor-2.kvp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/killing-floor-2.kvp b/killing-floor-2.kvp index 3a40054d9..8cba2c195 100644 --- a/killing-floor-2.kvp +++ b/killing-floor-2.kvp @@ -9,9 +9,10 @@ Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} Meta.ConfigManifest=killing-floor-2config.json Meta.MetaConfigManifest=killing-floor-2metaconfig.json Meta.ConfigRoot=killing-floor-2.kvp -Meta.MinAMPVersion= +Meta.MinAMPVersion=2.4.3.0 Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=RecommendedOnWindows,SupportedOnLinux +Meta.ContainerPolicyReason=AMP's console is unable to provide console output on Windows for the Killing Floor 2 server. It is able to do so on Linux, therefore Docker is recommended on Windows. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Killing Floor 2 @@ -56,7 +57,7 @@ App.SupportsUniversalSleep=False App.UniversalSleepApplicationUDPPort=1 App.UniversalSleepSteamQueryPort=2 App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch +App.ApplicationReadyMode=Immediate App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= From f42fc6b09f4a600f7b4834992edddd195c267518 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 29 Mar 2023 10:24:43 +1100 Subject: [PATCH 150/318] Arma 3: add additional information on comments to template config files (#319) --- arma3basic.cfg | 3 +++ arma3server.cfg | 3 +++ 2 files changed, 6 insertions(+) diff --git a/arma3basic.cfg b/arma3basic.cfg index 20deee8f4..a1839722e 100644 --- a/arma3basic.cfg +++ b/arma3basic.cfg @@ -4,6 +4,9 @@ // Full information on relevant settings is available at https://community.bistudio.com/wiki/Arma_3:_Basic_Server_Config_File +// Note that any lines below that begin with // are commented out and will not be applied by the server +// Remove the // from the beginning of any line that you want to apply + //MinBandwidth = 131072; // Bandwidth the server is guaranteed to have (in bps). This value helps server to estimate bandwidth available. Increasing it to too optimistic values can increase lag and CPU load, as too many messages will be sent but discarded. Default: 131072 //MaxBandwidth = 10000000000; // Bandwidth the server is guaranteed to never have. This value helps the server to estimate bandwidth available. diff --git a/arma3server.cfg b/arma3server.cfg index 8a6c13b4f..0757905c6 100644 --- a/arma3server.cfg +++ b/arma3server.cfg @@ -82,6 +82,9 @@ class AdvancedOptions // USER CONFIGURABLE SETTINGS - CHANGE/ADD ADDITIONAL SETTINGS HERE // ******* +// Note that any lines below that begin with // are commented out and will not be applied by the server +// Remove the // from the beginning of any line that you want to apply + // VOTING //allowedVoteCmds[] = { { "kick", false, false, 0.75 } }; //allowedVotedAdminCmds[] = { { "mission", true, true } }; From 25d0c38c23cca9a143854fa3a3323f790b680e21 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Tue, 28 Mar 2023 18:47:41 -0500 Subject: [PATCH 151/318] Update Valheim BepInEx Version (#320) --- valheimupdates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/valheimupdates.json b/valheimupdates.json index 1bb8f1c21..9b7e8c10d 100644 --- a/valheimupdates.json +++ b/valheimupdates.json @@ -25,8 +25,8 @@ "UpdateStageName": "Fetch BepInEx from Thunderstore", "UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", - "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/5.4.2100/", - "UpdateSourceArgs": "denikson-BepInExPack_Valheim-5.4.2100.zip", + "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/5.4.2101/", + "UpdateSourceArgs": "denikson-BepInExPack_Valheim-5.4.2101.zip", "UpdateSourceConditionSetting": "bepinex_install", "UpdateSourceConditionValue": "true", "UnzipUpdateSource": true, From 42f182e18cde071a97ca996091ba6f947af7225d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 29 Mar 2023 22:46:26 +1100 Subject: [PATCH 152/318] Add Path of Titans (#192) --- path-of-titans.kvp | 79 +++ path-of-titansconfig.json | 1163 +++++++++++++++++++++++++++++++++ path-of-titansmetaconfig.json | 15 + path-of-titansupdates.json | 84 +++ 4 files changed, 1341 insertions(+) create mode 100644 path-of-titans.kvp create mode 100644 path-of-titansconfig.json create mode 100644 path-of-titansmetaconfig.json create mode 100644 path-of-titansupdates.json diff --git a/path-of-titans.kvp b/path-of-titans.kvp new file mode 100644 index 000000000..76474a309 --- /dev/null +++ b/path-of-titans.kvp @@ -0,0 +1,79 @@ +Meta.DisplayName=Path of Titans +Meta.Description=Path of Titans Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://pathoftitans.com/ +Meta.DisplayImageSource=url:https://pathoftitans.com/images/logo-large.png +Meta.EndpointURIFormat= +Meta.ConfigManifest=path-of-titansconfig.json +Meta.MetaConfigManifest=path-of-titansmetaconfig.json +Meta.ConfigRoot=path-of-titans.kvp +Meta.MinAMPVersion=2.4.1.4 +Meta.SpecificDockerImage= +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Path of Titans +App.RootDir=./path-of-titans/ +App.BaseDirectory=./path-of-titans/ +App.ExecutableWin=PathOfTitans\Binaries\Win64\PathOfTitansServer-Win64-Shipping.exe +App.ExecutableLinux=PathOfTitans/Binaries/Linux/PathOfTitansServer-Linux-Shipping +App.WorkingDir= +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=PathOfTitans {{ServerMap}}?ServerName="{{ServerName}}" {{$PlatformArgs}} -log -Port={{$GamePort}} -QueryPort={{$QueryPort}} -RconPort={{$RCONPort}} -ServerPassword="{{ServerPassword}}" -RconPassword="{{$RemoteAdminPassword}}" -MultiHome={{$ApplicationIPBinding}} {{$FormattedArgs}} +App.AppSettings={} +App.EnvironmentVariables={} +App.CommandLineParameterFormat=-{0}={1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=200 +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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":7778,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port"},{"Protocol":"TCP","Port":7779,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"},{"Protocol":"Both","Port":7780,"Ref":"StatsPort","Name":"Stats Port","Description":"Port for stats traffic"},{"Protocol":"UDP","Port":7781,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"}] +App.AdminPortRef=RCONPort +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=100 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=True +App.RemoteAdminPassword= +App.AdminMethod=SourceRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.UpdateSources=@IncludeJson[path-of-titansupdates.json] +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=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?LogGameMode: Display: Match State Changed from WaitingToStart to InProgress$ +Console.UserJoinRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?TitansNetwork: AIGameMode::InitNewPlayer\(\?EncryptionToken=(?:.+?)==\?Name=(?.+?)\?\?PID=(?.+?)\?PT=\d+\?OS=\d+\?SplitscreenCount=\d+\)$ +Console.UserLeaveRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?AlderonLog: IAlderonCommon:UnregisterPlayer\(\) Request: {"player_id":(?.+?),"platform":"(?:.+?)"(?:.*?)}$ +Console.UserChatRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?TitansOnline: Chat: \[(?:.+?)\] (?.+?) \((?:.+?)\): (?.+)$ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=False +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 diff --git a/path-of-titansconfig.json b/path-of-titansconfig.json new file mode 100644 index 000000000..27264d348 --- /dev/null +++ b/path-of-titansconfig.json @@ -0,0 +1,1163 @@ +[ + { + "DisplayName":"Enable RCON", + "Category":"POT Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"SourceRCONbEnabled", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[SourceRCON]:bEnabled", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{} + }, + { + "DisplayName":"RCON Binding", + "Category":"POT Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationIPBinding", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[SourceRCON]:IP", + "IncludeInCommandLine":true, + "EnumValues":{} + }, + { + "DisplayName":"Automatic Restarts", + "Category":"POT Server Settings", + "Description":"Disables automatic server restarts to avoid conflicts with AMP", + "Keywords":"", + "FieldName":"bServerAutoRestart", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAutoRestart", + "IncludeInCommandLine":true, + "DefaultValue":"false" + }, + { + "DisplayName":"Auth Token", + "Category":"POT Server Settings", + "Description":"Sets the [auth token](https://alderongames.com/oauth/hosting-token) to install and run the server. The associated account must have access to the game", + "Keywords":"auth,token,authtoken", + "FieldName":"AuthToken", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"AuthToken", + "IncludeInCommandLine":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server GUID", + "Category":"POT Server Settings", + "Description":"Sets the required GUID for the server. Must be in UUIDv4 format. Default is a random GUID", + "Keywords":"guid,serverguid", + "FieldName":"ServerGUID", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerGUID", + "IncludeInCommandLine":true, + "DefaultValue":"{{newguid()}}", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"POT Server Settings", + "Description":"Sets the public name of the server", + "Keywords":"name,servername", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered POT Server", + "EnumValues":{} + }, + { + "DisplayName":"Welcome Message", + "Category":"POT Server Settings", + "Description":"Sets the welcome message displayed when players join the server. Refer to these [formatting instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Setting-up-Message-of-the-Day-(MOTD%29#formatting)", + "Keywords":"welcome,message,motd", + "FieldName":"MOTD", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"MOTD", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to Path of Titans Server - powered by AMP!</>\n<large>Have fun!</>", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"POT Server Settings", + "Description":"Sets the password to connect to the server", + "Keywords":"server,password,serverpassword", + "FieldName":"ServerPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"ServerPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"POT Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password", + "FieldName":"RCONPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"RCONPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable Easy Anti-Cheat", + "Category":"POT Server Settings", + "Description":"If set, enables Easy Anti-Cheat (EAC)", + "Keywords":"easy,anti,cheat,eac", + "FieldName":"EasyAntiCheatbEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[EasyAntiCheat]:bEnabled", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Server Map", + "Category":"POT Server Settings", + "Description":"Sets the map for the server. If using a modded map, select Custom and set the \"Custom Map Name\"", + "Keywords":"map", + "FieldName":"ServerMap", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerMap", + "IncludeInCommandLine":false, + "DefaultValue":"Panjura", + "EnumValues":{ + "Panjura":"Panjura (default)", + "Gondwa":"Gondwa", + "{{CustomMap}}":"Custom" + } + }, + { + "DisplayName":"Custom Map Name", + "Category":"POT Server Settings", + "Description":"Sets a custom map for the server. Custom type must be selected under \"Server Map\". GameUserSettings.ini also needs to be configured. Refer to these [instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Setting-up-Mods)", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"Jangwa", + "EnumValues":{} + }, + { + "DisplayName":"Enable Full Map", + "Category":"POT Server Settings", + "Description":"If set, enables the full map for the entire server", + "Keywords":"full,map,bserverallowmap", + "FieldName":"bServerAllowMap", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAllowMap", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Minimap", + "Category":"POT Server Settings", + "Description":"If set, enables the minimap for the entire server", + "Keywords":"mini,map,bserverallowminimap", + "FieldName":"bServerAllowMinimap", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAllowMinimap", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Server/RCON IP Binding", + "Category":"POT Server Settings", + "Description":"If required, you can change the binding of the server and Source RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first. AMP itself must be able to reach the set IP, otherwise it will not be able to connect to RCON", + "Keywords":"ip,binding,multihome,rcon,sourcercon", + "FieldName":"MultiHome", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"MultiHome", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Broadcast IP", + "Category":"POT Server Settings", + "Description":"If needed, sets the IPv4 address of the server shown on the public server list. Useful for players to connect via a different IP, such as through a relay or via DDoS protection", + "Keywords":"broadcast,ip,serverlistip", + "FieldName":"ServerListIP", + "InputType":"text", + "IsFlagArgument":false, + "SkipIfEmpty":true, + "ParamFieldName":"ServerListIP", + "IncludeInCommandLine":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"POT Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time. Actual number allowed may be higher as a result of reserved slots for admins (default 20)", + "Keywords":"maximum,players,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxPlayers", + "IncludeInCommandLine":true, + "DefaultValue":"100", + "Placeholder":"100", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Reserved Slots", + "Category":"POT Server Settings", + "Description":"Sets the number of reserved slots for admin players, above the player limit", + "Keywords":"reserved,slots,admin,reservedslots", + "FieldName":"ReservedSlots", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:ReservedSlots", + "IncludeInCommandLine":true, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"admin players", + "EnumValues":{} + }, + { + "DisplayName":"Server Admins", + "Category":"POT Server Settings", + "Description":"Server admins can be specified in Game.ini by their Alderon Games IDs. Format is \"ServerAdmins=123-456-789\" in the [/Script/PathOfTitans.IGameSession] section. One admin per line", + "Keywords":"server,admins,serveradmins", + "FieldName":"POTServerAdmins", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"POTServerAdmins", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Maximum Group Slots", + "Category":"POT Server Settings", + "Description":"Sets the maximum number of slots allowed for player groups", + "Keywords":"player,group,slots,maximum,maxgroupsize", + "FieldName":"MaxGroupSize", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxGroupSize", + "IncludeInCommandLine":true, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"group slots", + "EnumValues":{} + }, + { + "DisplayName":"Allow Paid Users Only", + "Category":"POT Server Settings", + "Description":"If enabled, free-to-play users will not be able to join the server", + "Keywords":"free,play,paid,users,bserverpaidusersonly", + "FieldName":"bServerPaidUsersOnly", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerPaidUsersOnly", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Idle Player Kick Time", + "Category":"POT Server Settings", + "Description":"Sets the amount of time before a player will be automatically disconnected from the server if they are idle/AFK. 0 = idle player kick disabled", + "Keywords":"player,kick,time,afk,disconnect,afkdisconnecttime", + "FieldName":"AFKDisconnectTime", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:AFKDisconnectTime", + "IncludeInCommandLine":true, + "DefaultValue":"600", + "Placeholder":"600", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Client Ping Time", + "Category":"POT Server Settings", + "Description":"Sets the maximum client ping time before auto-disconnecting a player from the server. 0 = disabled", + "Keywords":"maximum,client,ping,time,maxclientpingms", + "FieldName":"MaxClientPingMs", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxClientPingMs", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Client Ping Duration", + "Category":"POT Server Settings", + "Description":"Sets the period that a player's ping time must be above the Maximum Client Ping Time before being disconnected", + "Keywords":"maximum,client,ping,duration,maxclientpingduration", + "FieldName":"MaxClientPingDuration", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxClientPingDuration", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Server Logout Time", + "Category":"POT Server Settings", + "Description":"Sets the amount of time required to be on the logout menu before a player safe logs. 0 = instant logout", + "Keywords":"logout,time,safe,log,serverlogouttime", + "FieldName":"ServerLogoutTime", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:ServerLogoutTime", + "IncludeInCommandLine":true, + "DefaultValue":"120", + "Placeholder":"120", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Allow Chat", + "Category":"POT Server Settings", + "Description":"If set, enables text chat for the entire server", + "Keywords":"text,chat,bserverallowchat", + "FieldName":"bServerAllowChat", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAllowChat", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Global Chat", + "Category":"POT Server Settings", + "Description":"If set, enables the global chat channel on the server", + "Keywords":"global,chat,bserverglobalchat", + "FieldName":"bServerGlobalChat", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerGlobalChat", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Database Location", + "Category":"POT Server Settings", + "Description":"Sets whether to use a local or remote database. Local is recommended unless connecting shared character data between servers is required", + "Keywords":"database", + "FieldName":"Database", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Database", + "IncludeInCommandLine":true, + "DefaultValue":"Local", + "EnumValues":{ + "Local":"Local", + "Remote":"Remote" + } + }, + { + "DisplayName":"Selected Beta Branch", + "Category":"POT Server Settings", + "Description":"Sets which beta branch to install. \"Production\" is recommended. Use [\"Public Test\"](https://alderongames.com/public-test-branch-desktop) at your own risk. NOTE: Update the server after switching branches!", + "Keywords":"beta,branch,branchkey", + "FieldName":"BranchKey", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"BranchKey", + "IncludeInCommandLine":true, + "DefaultValue":"production", + "EnumValues":{ + "production":"Production", + "demo-public-test":"Public Test" + } + }, + { + "DisplayName":"Discord Server", + "Category":"POT Server Settings", + "Description":"Sets the connected community Discord server. Include only the letters/numbers after the discord.gg part of the server invite link", + "Keywords":"discord,server,serverdiscord", + "FieldName":"ServerDiscord", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:ServerDiscord", + "IncludeInCommandLine":true, + "DefaultValue":"", + "Placeholder":"aY5CzgZk", + "EnumValues":{} + }, + { + "DisplayName":"Enable RCON Logging", + "Category":"POT Server Settings", + "Description":"If set, enables RCON logging", + "Keywords":"rcon,logging", + "FieldName":"SourceRCONbLogging", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[SourceRCON]:bLogging", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Failed RCON Login Limit", + "Category":"POT Server Settings", + "Description":"Sets the limit on failed RCON login attempts", + "Keywords":"rcon,login,failed,limit", + "FieldName":"SourceRCONMaxFailedAttempts", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[SourceRCON]:MaxFailedAttempts", + "IncludeInCommandLine":true, + "DefaultValue":"5", + "Placeholder":"5", + "EnumValues":{} + }, + { + "DisplayName":"RCON Login Timeout", + "Category":"POT Server Settings", + "Description":"Sets the maximum time for an RCON login to succeed", + "Keywords":"rcon,login,time,maximum,limit", + "FieldName":"SourceRCONTimeout", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[SourceRCON]:Timeout", + "IncludeInCommandLine":true, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum RCON Logins Per IP", + "Category":"POT Server Settings", + "Description":"Sets the maximum connections to RCON per IP", + "Keywords":"rcon,login,maximum,connections", + "FieldName":"SourceRCONMaxConnectionsPerIP", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[SourceRCON]:MaxConnectionsPerIP", + "IncludeInCommandLine":true, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Server Starting Time", + "Category":"POT Gameplay Settings", + "Description":"Sets the in-game time of day the server begins at after a restart. Examples: 100 = 1:00 AM, 1200 = 12:00 PM, and 1800 = 6:00 PM", + "Keywords":"server,starting,time,restart,serverstartingtime", + "FieldName":"ServerStartingTime", + "InputType":"number", + "MinValue":"0", + "MaxValue":"2400", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameMode]:ServerStartingTime", + "IncludeInCommandLine":true, + "DefaultValue":"1350", + "Placeholder":"1350", + "EnumValues":{} + }, + { + "DisplayName":"Time Of Day Type", + "Category":"POT Gameplay Settings", + "Description":"Sets whether the server uses a fixed or dynamic time of day", + "Keywords":"time,day,fixed,dynamic,bserverdynamictimeofday", + "FieldName":"bServerDynamicTimeOfDay", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameMode]:bServerDynamicTimeOfDay", + "IncludeInCommandLine":true, + "DefaultValue":"1", + "EnumValues":{ + "0":"Fixed", + "1":"Dynamic (default)" + } + }, + { + "DisplayName":"Full Day Cycle Length", + "Category":"POT Gameplay Settings", + "Description":"Sets the length of a full day cycle", + "Keywords":"length,full,day,cycle,serverdaylength", + "FieldName":"ServerDayLength", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameMode]:ServerDayLength", + "IncludeInCommandLine":true, + "DefaultValue":"240", + "Placeholder":"240", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Allow Fish Spawning", + "Category":"POT Gameplay Settings", + "Description":"If set, enables fish spawning", + "Keywords":"fish,spawn,spawning,bserverfish", + "FieldName":"bServerFish", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerFish", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Dinosaur Disabling", + "Category":"POT Gameplay Settings", + "Description":"If desired, all dinosaurs except certain listed dinosaurs can be disabled on the server, by including relevant entries in Game.ini. As per [these instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Enabling-and-Disabling-Dinosaurs), format is \"+AllowedCharacters=DinosaurName\" in the [/Script/PathOfTitans.IGameSession] section", + "Keywords":"disable,dinosaurs,allowed,characters,allowedcharacters", + "FieldName":"AllowedCharacters", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"AllowedCharacters", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable Water Quality System", + "Category":"POT Gameplay Settings", + "Description":"If set, enables the water quality system", + "Keywords":"water,quality,system,bserverwaterqualitysystem", + "FieldName":"bServerWaterQualitySystem", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerWaterQualitySystem", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Overriding Water Regeneration", + "Category":"POT Gameplay Settings", + "Description":"If set, enables overriding water regeneration. If disabled, the server will use the default values", + "Keywords":"water,override,regeneration,boverridewaterregeneration", + "FieldName":"bOverrideWaterRegeneration", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bOverrideWaterRegeneration", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Water Regeneration", + "Category":"POT Gameplay Settings", + "Description":"If enabled, water will naturally regenerate over time. If disabled, you must ensure water restoration quests are on the servermap, otherwise water will eventually run out", + "Keywords":"water,generation,benablewaterregeneration", + "FieldName":"bEnableWaterRegeneration", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bEnableWaterRegeneration", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Water Regeneration Rate Multiplier Update", + "Category":"POT Gameplay Settings", + "Description":"Sets the water regeneration rate multiplier update", + "Keywords":"water,regeneration,rate,multiplier,update,waterregenerationratemultiplierupdate", + "FieldName":"WaterRegenerationRateMultiplierUpdate", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:WaterRegenerationRateMultiplierUpdate", + "IncludeInCommandLine":true, + "DefaultValue":"180", + "Placeholder":"180", + "EnumValues":{} + }, + { + "DisplayName":"Water Regeneration Rate", + "Category":"POT Gameplay Settings", + "Description":"Sets the amount of time before water applies a regeneration amount. Setting this value too low makes the server update water more frequently and can cause lag", + "Keywords":"water,regeneration,rate,waterregenerationrate", + "FieldName":"WaterRegenerationRate", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:WaterRegenerationRate", + "IncludeInCommandLine":true, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Water Regeneration Amount", + "Category":"POT Gameplay Settings", + "Description":"Sets the amount of water regenerated every cycle. This scales depending on how large the body of water is", + "Keywords":"water,regeneration,amount,value,waterregenerationvalue", + "FieldName":"WaterRegenerationValue", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:WaterRegenerationValue", + "IncludeInCommandLine":true, + "DefaultValue":"10", + "Placeholder":"10", + "EnumValues":{} + }, + { + "DisplayName":"Water Regeneration Rain Multiplier", + "Category":"POT Gameplay Settings", + "Description":"Sets a multiplier that increases the amount of water restored when it rains", + "Keywords":"water,regeneration,rain,restoration,multiplier,waterrainregenerationincrement", + "FieldName":"WaterRainRegenerationIncrement", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:WaterRainRegenerationIncrement", + "IncludeInCommandLine":true, + "DefaultValue":"20.0", + "Placeholder":"20.0", + "EnumValues":{} + }, + { + "DisplayName":"Enable Waystone Cooldown", + "Category":"POT Gameplay Settings", + "Description":"If set, enables players to spend marks to insta-cooldown Waystones", + "Keywords":"waystone,cooldown,removal,bserverwaystonecooldownremoval", + "FieldName":"bServerWaystoneCooldownRemoval", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerWaystoneCooldownRemoval", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Waystone Cooldown Timer Override", + "Category":"POT Gameplay Settings", + "Description":"Sets the duration of the cooldown timer for Waystones. -1 will use the default cooldown timer", + "Keywords":"waystone,cooldown,timer,overridewaystonecooldown", + "FieldName":"OverrideWaystoneCooldown", + "InputType":"number", + "MinValue":"-1", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:OverrideWaystoneCooldown", + "IncludeInCommandLine":true, + "DefaultValue":"-1", + "Placeholder":"-1", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Quests Required For Completion", + "Category":"POT Gameplay Settings", + "Description":"Sets how many quests must be completed within a POI before it is \"completed\"", + "Keywords":"quests,complete,location,poi,maxcompletequestsinlocation", + "FieldName":"MaxCompleteQuestsInLocation", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxCompleteQuestsInLocation", + "IncludeInCommandLine":true, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Enable Fall Damage", + "Category":"POT Gameplay Settings", + "Description":"If set, enables fall damage for all users on the server", + "Keywords":"fall,damage,bserverfalldamage", + "FieldName":"bServerFallDamage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerFallDamage", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Dead Body Period", + "Category":"POT Gameplay Settings", + "Description":"Sets how long a dead body will persist in the server. 0 = persists forever", + "Keywords":"dead,body,persist,period,serverdeadbodytime", + "FieldName":"ServerDeadBodyTime", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:ServerDeadBodyTime", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Home Caves", + "Category":"POT Gameplay Settings", + "Description":"If set, enables home caves on the server", + "Keywords":"home,caves,bserverhomecaves", + "FieldName":"bServerHomeCaves", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerHomeCaves", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Ability Editing In Home Caves Only", + "Category":"POT Gameplay Settings", + "Description":"If set, players can only edit abilities in their home caves. If disabled, players can edit their abilities anywhere so long as they are sleeping. Recommended to be enabled if Home Caves are enabled", + "Keywords":"home,caves,editing,edit,ability,bservereditabilitiesinhomecaves", + "FieldName":"bServerEditAbilitiesInHomeCaves", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerEditAbilitiesInHomeCaves", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Hatchling Caves Tutorial", + "Category":"POT Gameplay Settings", + "Description":"If set, enables the tutorial Hatchling Caves. Players will spawn in a tutorial area at 0 growth, and completing quests will bring them to 0.3 growth by the time they exit. If disabled, players will spawn in the world at 0.3 growth and completely skip the tutorial", + "Keywords":"hatchling,caves,tutorial,bserverhatchlingcaves", + "FieldName":"bServerHatchlingCaves", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerHatchlingCaves", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Cave Hunger And Thirst", + "Category":"POT Gameplay Settings", + "Description":"If set, enables hunger and thirst in caves. If disabled, dinosaurs will not lose hunger or thirst in caves and will take no damage if they have no food or water", + "Keywords":"hunger,thirst,caves,bserverhungerthirstincaves", + "FieldName":"bServerHungerThirstInCaves", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerHungerThirstInCaves", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Growth", + "Category":"POT Gameplay Settings", + "Description":"If set, enables growth on the server. If disabled, all dinosaurs will spawn as adults, and all existing characters will be bumped up to adult", + "Keywords":"growth,bservergrowth", + "FieldName":"bServerGrowth", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerGrowth", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Additional Passive Growth", + "Category":"POT Gameplay Settings", + "Description":"Adds additional passive growth to all dinosaurs equally. Full growth = 1 so a good value for this might be 0.005, which means a player would take 200 minutes (3.3 hours) to reach adulthood. 0 = passive growth disabled", + "Keywords":"additional,passive,growth,globalpassivegrowthperminute", + "FieldName":"GlobalPassiveGrowthPerMinute", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:GlobalPassiveGrowthPerMinute", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"growth per minute", + "EnumValues":{} + }, + { + "DisplayName":"Quest Completion Growth Multiplier", + "Category":"POT Gameplay Settings", + "Description":"Allows the rate of growth earned by players when they complete quests to be adjusted. 0 = growth from quests disabled", + "Keywords":"growth,quest,completion,multiplier,questgrowthmultiplier", + "FieldName":"QuestGrowthMultiplier", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:QuestGrowthMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Quest Completion Marks Multiplier", + "Category":"POT Gameplay Settings", + "Description":"Sets the multiplier used when rewarding marks for quest completion", + "Keywords":"marks,quest,completion,multiplier,questmarksmultiplier", + "FieldName":"QuestMarksMultiplier", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:QuestMarksMultiplier", + "IncludeInCommandLine":true, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} + }, + { + "DisplayName":"Enable Quest Cooldown Timer Override", + "Category":"POT Gameplay Settings", + "Description":"If set, allows the time it takes for a local quest to cooldown after completion to be overridden", + "Keywords":"quest,cooldown,override,boverridelocalquestcooldown", + "FieldName":"bOverrideLocalQuestCooldown", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bOverrideLocalQuestCooldown", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Quest Cooldown Timer", + "Category":"POT Gameplay Settings", + "Description":"Sets the time it takes for a quest to cooldown before it can be completed again", + "Keywords":"quest,cooldown,timer,localquestcooldown", + "FieldName":"LocalQuestCooldown", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:LocalQuestCooldown", + "IncludeInCommandLine":true, + "DefaultValue":"3600", + "Placeholder":"3600", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable POI Completion Reward Timer Override", + "Category":"POT Gameplay Settings", + "Description":"If set, allows the time it takes for the POI completion reward to reset after reaching 100% to be overriden", + "Keywords":"poi,completion,reward,timer,reset,override,boverridelocationquestcooldown", + "FieldName":"bOverrideLocationQuestCooldown", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bOverrideLocationQuestCooldown", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"POI Completion Reward Timer", + "Category":"POT Gameplay Settings", + "Description":"Sets the time it takes for the POI completion reward to reset before it can be completed again", + "Keywords":"poi,completion,reward,timer,locationquestcooldown", + "FieldName":"LocationQuestCooldown", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:LocationQuestCooldown", + "IncludeInCommandLine":true, + "DefaultValue":"3600", + "Placeholder":"3600", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Allow Growth Loss", + "Category":"POT Gameplay Settings", + "Description":"If set, allows players to lose growth past juvenile/adolescent/sub-adult/adult growth states when they die", + "Keywords":"growth,loss,lose,past,stages,blosegrowthpastgrowthstages", + "FieldName":"bLoseGrowthPastGrowthStages", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bLoseGrowthPastGrowthStages", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Marks Loss On Combat Death", + "Category":"POT Gameplay Settings", + "Description":"Sets the percentage of total marks a player will lose when they die from combat", + "Keywords":"combat,marks,loss,death,penalty,percent,combatdeathmarkspenaltypercent", + "FieldName":"CombatDeathMarksPenaltyPercent", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:CombatDeathMarksPenaltyPercent", + "IncludeInCommandLine":true, + "DefaultValue":"25", + "Placeholder":"25", + "Suffix":"%", + "EnumValues":{} + }, + { + "DisplayName":"Growth Loss On Combat Death", + "Category":"POT Gameplay Settings", + "Description":"Sets the percentage of growth a player will lose when they die from combat", + "Keywords":"combat,growth,loss,death,penalty,percent,combatdeathgrowthpenaltypercent", + "FieldName":"CombatDeathGrowthPenaltyPercent", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:CombatDeathGrowthPenaltyPercent", + "IncludeInCommandLine":true, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"%", + "EnumValues":{} + }, + { + "DisplayName":"Marks Loss On Fall Death", + "Category":"POT Gameplay Settings", + "Description":"Sets the percentage of total marks a player will lose when they die from fall damage", + "Keywords":"fall,damage,marks,loss,death,penalty,percent,falldeathmarkspenaltypercent", + "FieldName":"FallDeathMarksPenaltyPercent", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:FallDeathMarksPenaltyPercent", + "IncludeInCommandLine":true, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"%", + "EnumValues":{} + }, + { + "DisplayName":"Growth Loss On Fall Death", + "Category":"POT Gameplay Settings", + "Description":"Sets the percentage of growth a player will lose when they die from fall damage", + "Keywords":"fall,damage,growth,loss,death,penalty,percent,falldeathgrowthpenaltypercent", + "FieldName":"FallDeathGrowthPenaltyPercent", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:FallDeathGrowthPenaltyPercent", + "IncludeInCommandLine":true, + "DefaultValue":"2", + "Placeholder":"2", + "Suffix":"%", + "EnumValues":{} + }, + { + "DisplayName":"Marks Loss On Survival Death", + "Category":"POT Gameplay Settings", + "Description":"Sets the percentage of total marks a player will lose when they die from starvation, thirst or drowning", + "Keywords":"starvation,thirst,drowning,marks,loss,death,penalty,percent,survivaldeathmarkspenaltypercent", + "FieldName":"SurvivalDeathMarksPenaltyPercent", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:SurvivalDeathMarksPenaltyPercent", + "IncludeInCommandLine":true, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"%", + "EnumValues":{} + }, + { + "DisplayName":"Growth Loss On Survival Death", + "Category":"POT Gameplay Settings", + "Description":"Sets the percentage of growth a player will lose when they die from starvation, thirst or drowning", + "Keywords":"starvation,thirst,drowning,growth,loss,death,penalty,percent,survivaldeathgrowthpenaltypercent", + "FieldName":"SurvivalDeathGrowthPenaltyPercent", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:SurvivalDeathGrowthPenaltyPercent", + "IncludeInCommandLine":true, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"%", + "EnumValues":{} + }, + { + "DisplayName":"Enable Anti-Revenge Kill Lockout", + "Category":"POT Gameplay Settings", + "Description":"If enabled, when a player is killed, any of their other characters within a certain radius are flagged with a 10 minute timer, which prevents those specific characters from logging back in right away. Currently only works with remote databases, for hived servers", + "Keywords":"anti,revenge,kill,lockout,bserverantirevengekill", + "FieldName":"bServerAntiRevengeKill", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAntiRevengeKill", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Anti-Revenge Kill Lockout Radius", + "Category":"POT Gameplay Settings", + "Description":"Sets the radius of the Anti-Revenge Kill Lockout distance", + "Keywords":"anti,revenge,kill,lockout,radius,distance,revengekilldistance", + "FieldName":"RevengeKillDistance", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:RevengeKillDistance", + "IncludeInCommandLine":true, + "DefaultValue":"100000", + "Placeholder":"100000", + "Suffix":"centimetres", + "EnumValues":{} + }, + { + "DisplayName":"Speed Hack Detection Action", + "Category":"POT Gameplay Settings", + "Description":"Sets the action taken when speed hacks are detected. A PlayerHack webhook will also be sent for the log, kick and ban actions", + "Keywords":"speed,hack,detection,action,speedhackdetection", + "FieldName":"SpeedhackDetection", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:SpeedhackDetection", + "IncludeInCommandLine":true, + "DefaultValue":"1", + "EnumValues":{ + "0":"No action", + "1":"Log (default)", + "2":"Kick", + "3":"Ban" + } + }, + { + "DisplayName":"Speed Hack Detection Threshold", + "Category":"POT Gameplay Settings", + "Description":"Sets the amount of speedhack detections that will be allowed per minute before the Speed Hack Detection Action is taken. Helps to minimise false positives due to packet loss or lag. 0 = disabled", + "Keywords":"speed,hack,detection,threshold,speedhackthreshold", + "FieldName":"SpeedhackThreshold", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:SpeedhackThreshold", + "IncludeInCommandLine":true, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"per minute", + "EnumValues":{} + }, + { + "DisplayName":"Restrict Carnivore Grouping", + "Category":"POT Gameplay Settings", + "Description":"If enabled, the server will restrict carnivore grouping to the same species", + "Keywords":"carnivore,grouping,species,bserverrestrictcarnivoregrouping", + "FieldName":"bServerRestrictCarnivoreGrouping", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerRestrictCarnivoreGrouping", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Group Communication Distance", + "Category":"POT Gameplay Settings", + "Description":"Sets the distance for players to be able to see their other group members", + "Keywords":"player,group,distance,communication,maxgroupleadercommunicationdistance", + "FieldName":"MaxGroupLeaderCommunicationDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxGroupLeaderCommunicationDistance", + "IncludeInCommandLine":true, + "DefaultValue":"50000", + "Placeholder":"50000", + "Suffix":"metres", + "EnumValues":{} + } +] diff --git a/path-of-titansmetaconfig.json b/path-of-titansmetaconfig.json new file mode 100644 index 000000000..3e9bc0e9c --- /dev/null +++ b/path-of-titansmetaconfig.json @@ -0,0 +1,15 @@ +[ + { + "ConfigFile":"PathOfTitans/Saved/MOTD.txt", + "ConfigType":"kvp", + "ConfigFormat":"{0}{1}", + "Subsections":[ + { + "Heading":"$root", + "SettingMappings":{ + "":"MOTD" + } + } + ] + } +] diff --git a/path-of-titansupdates.json b/path-of-titansupdates.json new file mode 100644 index 000000000..dcacaeaba --- /dev/null +++ b/path-of-titansupdates.json @@ -0,0 +1,84 @@ +[ + { + "UpdateStageName":"AlderonGamesCmd Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://launcher-cdn.alderongames.com/AlderonGamesCmd-Win64.exe", + "UpdateSourceTarget":"{{$FullInstanceDir}}", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"AlderonGamesCmd Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://launcher-cdn.alderongames.com/AlderonGamesCmd-Linux-x64", + "UpdateSourceTarget":"{{$FullInstanceDir}}", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Make AlderonGamesCmd Executable", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"SetExecutableFlag", + "UpdateSourceArgs":"{{$FullInstanceDir}}AlderonGamesCmd-Linux-x64" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"{{$FullInstanceDir}}AlderonGamesCmd-Win64.exe", + "UpdateSourceArgs":"--game path-of-titans --server true --beta-branch {{BranchKey}} --auth-token {{AuthToken}} --install-dir {{$FullRootDir}}" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c '{{$FullInstanceDir}}AlderonGamesCmd-Linux-x64 --game path-of-titans --server true --beta-branch {{BranchKey}} --auth-token {{AuthToken}} --install-dir {{$FullRootDir}} && chmod u+x {{$FullBaseDir}}PathOfTitans/Binaries/Linux/PathOfTitansServer-Linux-Shipping'" + }, + { + "UpdateStageName":"Create Saved Directory", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/WindowsServer", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Saved Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/LinuxServer", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Game.ini", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"CreateFile", + "UpdateSourceData":"", + "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/WindowsServer/Game.ini", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Game.ini", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateFile", + "UpdateSourceData":"", + "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/LinuxServer/Game.ini", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Commands.ini", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"CreateFile", + "UpdateSourceData":"", + "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/WindowsServer/Commands.ini", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Commands.ini", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateFile", + "UpdateSourceData":"", + "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/LinuxServer/Commands.ini", + "OverwriteExistingFiles":false + } +] From 5cb7fb7d4dd6cc7658d1bf69729fd0aef9cbf9ba Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 3 Apr 2023 16:08:07 +1000 Subject: [PATCH 153/318] Various: Wine related updates (#322) --- assetto-corsa-comp.kvp | 9 +- assetto-corsa.kvp | 2 +- blackwake.kvp | 8 +- call-of-duty4mw.kvp | 2 +- call-of-dutymw3.kvp | 6 +- carrier-command2.kvp | 2 +- conan-exiles.kvp | 7 +- empyrion-galactic-survival.kvp | 7 +- empyrion-galactic-survivalmetaconfig.json | 2 +- empyrion-galactic-survivalupdates.json | 7 ++ icarus.kvp | 42 +++++---- icarusconfig.json | 32 +++++-- night-of-the-dead.kvp | 12 +-- portal-knights.kvp | 6 +- risk-of-rain-2.kvp | 10 +- space-engineers-generic.kvp | 2 +- space-engineers-genericupdates.json | 7 ++ the-forest.kvp | 7 +- theisle-legacy.kvp | 24 +++-- v-rising.kvp | 17 ++-- v-risingupdates.json | 110 +++++++++++----------- wreckfest.kvp | 9 +- 22 files changed, 193 insertions(+), 137 deletions(-) diff --git a/assetto-corsa-comp.kvp b/assetto-corsa-comp.kvp index 82e4ac572..0718706de 100644 --- a/assetto-corsa-comp.kvp +++ b/assetto-corsa-comp.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=assetto-corsa-comp.kvp Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Assetto Corsa Competizione @@ -25,7 +26,7 @@ App.LinuxCommandLineArgs=-a wine "./accServer.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"805550"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"805550","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -49,7 +50,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","UpdateSourceArgs":"805550","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","UpdateSourceArgs":"805550","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=LinuxBufferedConsole, WindowsBufferedConsole App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False @@ -61,7 +62,7 @@ App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= +Console.FilterMatchRegex=\[\?25l|\[\?25 Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^Listening to TCP \d+ \| UDP \d+$ diff --git a/assetto-corsa.kvp b/assetto-corsa.kvp index f65a8dc97..b8dcf1be1 100644 --- a/assetto-corsa.kvp +++ b/assetto-corsa.kvp @@ -50,7 +50,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"302550","UpdateSourceArgs":"244210","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"302550","UpdateSourceArgs":"244210","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/blackwake.kvp b/blackwake.kvp index 05209cb8a..ad8b99e30 100644 --- a/blackwake.kvp +++ b/blackwake.kvp @@ -12,8 +12,8 @@ Meta.ConfigRoot=blackwake.kvp Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux -Meta.ContainerPolicyReason= +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified @@ -29,7 +29,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics {{$FormattedArgs}} -logfile - App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"420290"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"420290","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -56,7 +56,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"423410","UpdateSourceArgs":"420290","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"423410","UpdateSourceArgs":"420290","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/call-of-duty4mw.kvp b/call-of-duty4mw.kvp index bc6b69fa4..3352bf6b2 100644 --- a/call-of-duty4mw.kvp +++ b/call-of-duty4mw.kvp @@ -55,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"7940","UpdateSourceArgs":"7940","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/call-of-duty4mwserver.cfg","UpdateSourceArgs":"main/server.cfg","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false},{"UpdateStageName":"Create Custom Maps Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}usermaps","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"7940","UpdateSourceArgs":"7940","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/call-of-duty4mwserver.cfg","UpdateSourceArgs":"main/server.cfg","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false},{"UpdateStageName":"Create Custom Maps Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}usermaps","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/call-of-dutymw3.kvp b/call-of-dutymw3.kvp index c47fcb0d8..7049ffd99 100644 --- a/call-of-dutymw3.kvp +++ b/call-of-dutymw3.kvp @@ -12,7 +12,7 @@ Meta.ConfigRoot=call-of-dutymw3.kvp Meta.MinAMPVersion=2.4.0.8 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] @@ -29,7 +29,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} +set sv_config "server.cfg" +set net_queryPort {{$OpenGamePort}} +set net_port {{$SecureGamePort}} +set net_authPort {{$AuthPort}} +set net_masterServerPort {{$MasterServerPort}} +start_map_rotate {{$FormattedArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"42690"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"42690","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win32","WINEDEBUG":"-all"} App.CommandLineParameterFormat=+set {0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -55,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"42750","UpdateSourceArgs":"42690","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"42750","UpdateSourceArgs":"42690","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/carrier-command2.kvp b/carrier-command2.kvp index 68010c214..4e50b963a 100644 --- a/carrier-command2.kvp +++ b/carrier-command2.kvp @@ -50,7 +50,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1489630","UpdateSourceArgs":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/carrier-command2server_config.xml","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}server_config.xml","UpdateSourceArgs":"{{$FullInstanceDir}}carrier-command2server_config.xml","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1489630","UpdateSourceArgs":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/carrier-command2server_config.xml","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}server_config.xml","UpdateSourceArgs":"{{$FullInstanceDir}}carrier-command2server_config.xml","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/conan-exiles.kvp b/conan-exiles.kvp index 48b3d0ca5..088b9246d 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=conan-exiles.kvp Meta.MinAMPVersion=2.4.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Conan Exiles @@ -26,7 +27,7 @@ App.LinuxCommandLineArgs=-a wine "./ConanSandboxServer-Win64-Test.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{Map}}{{CustomMap}} -stdout -FullStdOutLogOutput -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= App.ExitMethod=String @@ -52,7 +53,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=3 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/empyrion-galactic-survival.kvp b/empyrion-galactic-survival.kvp index 0a8667c94..739a49808 100644 --- a/empyrion-galactic-survival.kvp +++ b/empyrion-galactic-survival.kvp @@ -10,9 +10,10 @@ Meta.ConfigManifest=empyrion-galactic-survivalconfig.json Meta.MetaConfigManifest=empyrion-galactic-survivalmetaconfig.json Meta.ConfigRoot=empyrion-galactic-survival.kvp Meta.MinAMPVersion=2.3.3 -Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 7 (or later) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Empyrion Galactic Survival @@ -26,7 +27,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics -dedicated empyriondedicated.yaml -logFile - App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"383120"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"383120","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE diff --git a/empyrion-galactic-survivalmetaconfig.json b/empyrion-galactic-survivalmetaconfig.json index f79f91175..b1a04faca 100644 --- a/empyrion-galactic-survivalmetaconfig.json +++ b/empyrion-galactic-survivalmetaconfig.json @@ -1,6 +1,6 @@ [ { - "ConfigFile": "EmpyrionDedicated.yaml", + "ConfigFile": "empyriondedicated.yaml", "AutoMap": true, "ConfigType": "json" } diff --git a/empyrion-galactic-survivalupdates.json b/empyrion-galactic-survivalupdates.json index dbcec1cec..ae90a51ca 100644 --- a/empyrion-galactic-survivalupdates.json +++ b/empyrion-galactic-survivalupdates.json @@ -25,5 +25,12 @@ "UpdateSourceConditionSetting": "backupExclude", "UpdateSourceConditionValue": "true", "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" } ] diff --git a/icarus.kvp b/icarus.kvp index 0f61401e5..571af7690 100644 --- a/icarus.kvp +++ b/icarus.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=Icarus Meta.Description=Icarus Dedicated Server -Meta.OS=Windows +Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://surviveicarus.com/ @@ -9,23 +9,25 @@ Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} Meta.ConfigManifest=icarusconfig.json Meta.MetaConfigManifest=icarusmetaconfig.json Meta.ConfigRoot=icarus.kvp -Meta.MinAMPVersion=2.4.0.10 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=NotSupported -Meta.ContainerPolicyReason=Icarus requires Winetricks when using Docker, which is currently not supported in AMP. +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 7 (or later) to run on Linux. Using a container avoids the need to install this dependency on the host. +Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Icarus App.RootDir=./icarus/ App.BaseDirectory=./icarus/2089300/ App.ExecutableWin=2089300/Icarus/Binaries/Win64/IcarusServer-Win64-Shipping.exe -App.ExecutableLinux= +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=2089300 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} Icarus -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{StartupMode}}{{$FormattedArgs}} -stdout -FullStdOutLogOutput +App.LinuxCommandLineArgs="./Icarus/Binaries/Win64/IcarusServer-Win64-Shipping.exe" Icarus -ini:Engine:[OnlineSubsystemSteam]:AsyncTaskTimeout={{AsyncTaskTimeout}} +App.WindowsCommandLineArgs=Icarus +App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{StartupMode}}{{$FormattedArgs}} -stdout -FullStdOutLogOutput +App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1149460"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1149460","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -40,35 +42,40 @@ App.ApplicationIPBinding=0.0.0.0 App.Ports=[{"Protocol":"UDP","Port":17777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] App.AdminPortRef=0 App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPort=GamePort -App.UniversalSleepSteamQueryPort=QueryPort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort App.MaxUsers=8 App.UseRandomAdminPassword=False +App.PersistRandomPassword=False App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2089300","UpdateSourceArgs":"1149460","UpdateSourceVersion":"{{ServerBranch}}","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2089300","UpdateSourceVersion":"{{ServerBranch}}","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False -App.MonitorChildProcess=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=IcarusServer-Win64-Shipping.exe App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogInit: Display: Game Engine Initialized\.$ Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogConnectedPlayers: Display: AddConnectedPlayer - UserId: (?<userid>.+?) \| PlayerName: (?<username>.+)$ Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: (?<userid>.+?) has been removed\.$ Console.UserChatRegex=^$ 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={} @@ -77,3 +84,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/icarusconfig.json b/icarusconfig.json index ab33bf288..d14693ce9 100644 --- a/icarusconfig.json +++ b/icarusconfig.json @@ -124,7 +124,7 @@ "DisplayName":"Player Limit", "Category":"Icarus Server Settings", "Description":"Maximum number of players that may connect to the server at one time", - "Keywords":"players,limit", + "Keywords":"players,limit,maxplayers", "FieldName":"$MaxUsers", "InputType":"number", "MinValue":"1", @@ -153,7 +153,7 @@ "DisplayName":"Startup Mode", "Category":"Icarus Server Settings", "Description":"Sets the server startup mode. For \"Load existing prospect\", the Prospect Save Name must be set and the file must exist. For \"Create and launch new prospect\", the Prospect Type must be set; if no Prospect Save Name is set, a random save name will be created for regular prospects", - "Keywords":"startup,mode,load,create,resume", + "Keywords":"startup,mode,load,create,resume,startupmode", "FieldName":"StartupMode", "InputType":"enum", "IsFlagArgument":false, @@ -171,7 +171,7 @@ "DisplayName":"Prospect Save Name", "Category":"Icarus Server Settings", "Description":"Sets the save name of the specific prospect to be loaded or created", - "Keywords":"prospect,save,name", + "Keywords":"prospect,save,name,prospectsavename", "FieldName":"ProspectSaveName", "InputType":"text", "IsFlagArgument":false, @@ -184,7 +184,7 @@ "DisplayName":"Prospect Type", "Category":"Icarus Server Settings", "Description":"Sets the prospect type to create a prospect with", - "Keywords":"prospect,type", + "Keywords":"prospect,type,prospecttype", "FieldName":"ProspectType", "InputType":"enum", "IsFlagArgument":false, @@ -325,7 +325,7 @@ "DisplayName":"No Join Shutdown Interval", "Category":"Icarus Server Settings", "Description":"Sets the period after which the server will exit a prospect and return to the lobby, if no player has joined. -1 = run indefinitely, 0 = return to lobby immediately, >0 = interval for shutdown. Note that data loss/corruption may occur if the server is shut down in AMP before returning to the lobby", - "Keywords":"shutdown,not,joined,interval", + "Keywords":"shutdown,not,joined,interval,shutdownifnotjoinedfor", "FieldName":"ShutdownIfNotJoinedFor", "InputType":"number", "MinValue":"-1", @@ -341,7 +341,7 @@ "DisplayName":"Empty Shutdown Interval", "Category":"Icarus Server Settings", "Description":"Sets the period after which the server will exit a prospect and return to the lobby, if the server becomes empty. -1 = run indefinitely, 0 = return to lobby immediately, >0 = interval for shutdown. Note that data loss/corruption may occur if the server is shut down in AMP before returning to the lobby", - "Keywords":"shutdown,not,joined,interval", + "Keywords":"shutdown,not,joined,interval,shutdownifemptyfor", "FieldName":"ShutdownIfEmptyFor", "InputType":"number", "MinValue":"-1", @@ -357,7 +357,7 @@ "DisplayName":"Allow Non-Admins To Load Prospects", "Category":"Icarus Server Settings", "Description":"If set, anyone who joins the lobby can create a new prospect or load an existing one. Otherwise, only admins can", - "Keywords":"non,admins,create,prospects", + "Keywords":"non,admins,create,prospects,allownonadminstolaunchprospects", "FieldName":"AllowNonAdminsToLaunchProspects", "InputType":"checkbox", "IsFlagArgument":false, @@ -373,7 +373,7 @@ "DisplayName":"Allow Non-Admins To Delete Prospects", "Category":"Icarus Server Settings", "Description":"If set, anyone who joins the lobby can delete existing prospects from the server. Otherwise, only admins can", - "Keywords":"non,admins,delete,prospects", + "Keywords":"non,admins,delete,prospects,allownonadminstodeleteprospects", "FieldName":"AllowNonAdminsToDeleteProspects", "InputType":"checkbox", "IsFlagArgument":false, @@ -385,6 +385,22 @@ "True":"True" } }, + { + "DisplayName":"Async Task Timeout", + "Category":"Icarus Server Settings", + "Description":"Sets the \"AsyncTaskTimeout\" parameter for Engine.ini. This can be helpful for resolving connection issues (Linux only)", + "Keywords":"async,task,timeout,connection,asynctasktimeout", + "FieldName":"AsyncTaskTimeout", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"AsyncTaskTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"seconds", + "EnumValues":{} + }, { "DisplayName":"Server Branch", "Category":"SteamCMD and Updates", diff --git a/night-of-the-dead.kvp b/night-of-the-dead.kvp index 6a7e153ea..4f635e8d2 100644 --- a/night-of-the-dead.kvp +++ b/night-of-the-dead.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=Night of the Dead Meta.Description=Night of the Dead Dedicated Server -Meta.OS=Windows +Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://www.nightofthedead.org/ @@ -10,9 +10,9 @@ Meta.ConfigManifest=night-of-the-deadconfig.json Meta.MetaConfigManifest=night-of-the-deadmetaconfig.json Meta.ConfigRoot=night-of-the-dead.kvp Meta.MinAMPVersion= -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.ContainerPolicy=RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 7 (or later) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Night of the Dead @@ -25,7 +25,7 @@ App.LinuxCommandLineArgs=-a wine "./LF/Binaries/Win64/LFServer.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} ?listen -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout -FullStdOutLogOutput -CRASHREPORTS App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1377380"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1377380","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","UpdateSourceArgs":"1377380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","UpdateSourceArgs":"1377380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1420710/LF/Binaries/Win64","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/portal-knights.kvp b/portal-knights.kvp index 8e5d4ee51..394dc3268 100644 --- a/portal-knights.kvp +++ b/portal-knights.kvp @@ -12,7 +12,7 @@ Meta.ConfigRoot=portal-knights.kvp Meta.MinAMPVersion= Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified @@ -27,7 +27,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -config "{{$FullBaseDir}}server_config.json" -log Server.log App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"374040"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"374040","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} {1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -52,7 +52,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "374040","UpdateSourceArgs":"374040", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Windows", "UpdateSource": "Executable", "UpdateSourceData": "cmd.exe", "UpdateSourceArgs": "/C cd portal-knights\\374040 && tar -xf dedicated_server.zip"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", "UpdateSourceArgs": "-c 'cd portal-knights/374040 && unzip -u dedicated_server.zip'"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/portal-knightsserver_config.json","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceArgs":"server_config.json","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "374040","UpdateSourceArgs":"374040", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Windows", "UpdateSource": "Executable", "UpdateSourceData": "cmd.exe", "UpdateSourceArgs": "/C cd portal-knights\\374040 && tar -xf dedicated_server.zip"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", "UpdateSourceArgs": "-c 'cd portal-knights/374040 && unzip -u dedicated_server.zip'"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/portal-knightsserver_config.json","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceArgs":"server_config.json","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/risk-of-rain-2.kvp b/risk-of-rain-2.kvp index a5c910138..977616acd 100644 --- a/risk-of-rain-2.kvp +++ b/risk-of-rain-2.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=risk-of-rain-2.kvp Meta.MinAMPVersion=2.3.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Risk of Rain 2 @@ -26,7 +27,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"{{$SteamAppID}}"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"{{$SteamAppID}}","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=+{0} {1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -51,11 +52,14 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1180760","UpdateSourceArgs":"632360","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1180760","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1180760","UpdateSourceArgs":"632360","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1180760","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=wine64 App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch diff --git a/space-engineers-generic.kvp b/space-engineers-generic.kvp index e6297f804..5fbf42e42 100644 --- a/space-engineers-generic.kvp +++ b/space-engineers-generic.kvp @@ -28,7 +28,7 @@ App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -console -path "{{$FullBaseDir}}servers" {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"244850"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"244850","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE diff --git a/space-engineers-genericupdates.json b/space-engineers-genericupdates.json index 6e413e821..a201d42d5 100644 --- a/space-engineers-genericupdates.json +++ b/space-engineers-genericupdates.json @@ -46,5 +46,12 @@ "UpdateSourceData": "{{$FullBaseDir}}DedicatedServer64/vstdlib_s64.dll", "UpdateSourceArgs": "{{$FullBaseDir}}vstdlib_s64.dll", "OverwriteExistingFiles": true + }, + { + "UpdateStageName":" Initialise Wine", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" } ] diff --git a/the-forest.kvp b/the-forest.kvp index 4803c3e48..5227edc92 100644 --- a/the-forest.kvp +++ b/the-forest.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=the-forest.kvp Meta.MinAMPVersion=2.3.4.3 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.ContainerPolicyReason= Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified @@ -28,7 +29,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -showlogs -batchmode -configfilepath the-forestserver.cfg -savefolderpath saves {{$FormattedArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"242760"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"242760","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -55,7 +56,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "556450", "UpdateSourceArgs": "242760", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/the-forestserver.cfg","UpdateSourceTarget": "./556450/"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "556450", "UpdateSourceArgs": "242760", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/the-forestserver.cfg","UpdateSourceTarget": "./556450/"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/theisle-legacy.kvp b/theisle-legacy.kvp index 7e2e2a642..659045393 100644 --- a/theisle-legacy.kvp +++ b/theisle-legacy.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=The Isle (Legacy) Meta.Description=The Isle (Legacy) Dedicated Server -Meta.OS=Windows +Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://survivetheisle.com/ @@ -10,21 +10,22 @@ Meta.ConfigManifest=theisle-legacyconfig.json Meta.MetaConfigManifest=theisle-legacymetaconfig.json Meta.ConfigRoot=theisle-legacy.kvp Meta.MinAMPVersion=2.3.2.8 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 7 (or later) to run on Linux. Using a container avoids the need to install this dependency on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=The Isle (Legacy) App.RootDir=./theisle/ App.BaseDirectory=./theisle/412680/ App.ExecutableWin=412680/TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe -App.ExecutableLinux= +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=412680 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs=-FullStdOutLogOutput -App.CommandLineArgs=TheIsle {{Map}}?game={{GameMode}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} {{$FormattedArgs}} -stdout {{$PlatformArgs}} +App.LinuxCommandLineArgs="./TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} TheIsle {{Map}}?game={{GameMode}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} {{$FormattedArgs}} -stdout -FullStdOutLogOutput App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -48,7 +49,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceArgs":"376210","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-legacygame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceArgs":"376210","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-legacygame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -57,9 +58,12 @@ App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=2000 +App.MonitorChildProcessName=TheIsleServer-Win64-Shipping.exe Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\]LogGameState: Match State Changed from WaitingToStart to InProgress$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ diff --git a/v-rising.kvp b/v-rising.kvp index 35a09c724..ca2ccb7ad 100644 --- a/v-rising.kvp +++ b/v-rising.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=v-rising.kvp Meta.MinAMPVersion= Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=V Rising @@ -21,15 +22,15 @@ App.BaseDirectory=./v-rising/1829350/ App.ExecutableWin=1829350\VRisingServer.exe App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=1829350 -App.LinuxCommandLineArgs=-a wine64 ./VRisingServer.exe +App.LinuxCommandLineArgs=-a wine "./VRisingServer.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -persistentDataPath ./save-data {{LanMode}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"1604030","STEAM_COMPAT_DATA_PATH":"{{$FullRootDir}}1493710","STEAM_COMPAT_CLIENT_INSTALL_PATH":"{{$FullRootDir}}1493710"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1604030","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= -App.ExitMethod=CtrlC +App.ExitMethod=OS_CLOSE App.ExitTimeout=30 App.ExitString=stop App.ExitFile=app_exit.lck @@ -67,9 +68,9 @@ App.RCONHeartbeatMinutes=4 App.RCONHeartbeatCommand="announce" Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Server is ready.$ -Console.UserJoinRegex=^User '{Steam (?<userid>\d+)}' '\d+', approvedUserIndex: \d+, Character: '(?<username>.+?)' connected as ID '\d+,\d+', Entity '[\d,]+'.$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^Server is ready\.$ +Console.UserJoinRegex=^User '{Steam (?<userid>\d+)}' '\d+', approvedUserIndex: \d+, Character: '(?<username>.+?)' connected as ID '\d+,\d+', Entity '[\d,]+'\.$ Console.UserLeaveRegex=^User '{Steam (?<userid>\d+)}' disconnected. approvedUserIndex: \d+ Reason: (.+?) (.+?)$ Console.UserChatRegex= Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ @@ -82,4 +83,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 +Limits.SleepStartThresholdSeconds=25 \ No newline at end of file diff --git a/v-risingupdates.json b/v-risingupdates.json index 45ee60c94..73d49a725 100644 --- a/v-risingupdates.json +++ b/v-risingupdates.json @@ -1,62 +1,66 @@ [ { - "UpdateStageName": "SteamCMD Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "1829350", - "UpdateSourceArgs": "1604030", - "UpdateSourceVersion": null, - "UpdateSourceTarget": null, - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false, - "ForceDownloadPlatform": "Windows", - "UpdateSourceConditionSetting": null, - "UpdateSourceConditionValue": null, - "DeleteAfterExtract": false + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1829350", + "UpdateSourceArgs":"1604030", + "UpdateSourceVersion":null, + "UpdateSourceTarget":null, + "UnzipUpdateSource":false, + "OverwriteExistingFiles":false, + "ForceDownloadPlatform":"Windows", + "UpdateSourceConditionSetting":null, + "UpdateSourceConditionValue":null, + "DeleteAfterExtract":false }, { - "UpdateStageName": "Data Directory Creation", - "UpdateSourcePlatform": "All", - "UpdateSource": "CreateDirectory", - "UpdateSourceData": null, - "UpdateSourceArgs": "./v-rising/1829350/save-data/Settings", - "UpdateSourceVersion": null, - "UpdateSourceTarget": null, - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false, - "ForceDownloadPlatform": 0, - "UpdateSourceConditionSetting": null, - "UpdateSourceConditionValue": null, - "DeleteAfterExtract": false + "UpdateStageName":"Data Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceData":null, + "UpdateSourceArgs":"./v-rising/1829350/save-data/Settings", + "UpdateSourceVersion":null, + "UpdateSourceTarget":null, + "UnzipUpdateSource":false, + "OverwriteExistingFiles":false, + "UpdateSourceConditionSetting":null, + "UpdateSourceConditionValue":null, + "DeleteAfterExtract":false }, { - "UpdateStageName": "Game Config File Copy", - "UpdateSourcePlatform": "All", - "UpdateSource": "CopyFilePath", - "UpdateSourceData": "./v-rising/1829350/save-data/Settings/ServerHostSettings.json", - "UpdateSourceArgs": "./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json", - "UpdateSourceVersion": null, - "UpdateSourceTarget": null, - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false, - "ForceDownloadPlatform": 0, - "UpdateSourceConditionSetting": null, - "UpdateSourceConditionValue": null, - "DeleteAfterExtract": false + "UpdateStageName":"Game Config File Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"./v-rising/1829350/save-data/Settings/ServerHostSettings.json", + "UpdateSourceArgs":"./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json", + "UpdateSourceVersion":null, + "UpdateSourceTarget":null, + "UnzipUpdateSource":false, + "OverwriteExistingFiles":false, + "UpdateSourceConditionSetting":null, + "UpdateSourceConditionValue":null, + "DeleteAfterExtract":false }, { - "UpdateStageName": "Game Config File Copy", - "UpdateSourcePlatform": "All", - "UpdateSource": "CopyFilePath", - "UpdateSourceData": "./v-rising/1829350/save-data/Settings/ServerGameSettings.json", - "UpdateSourceArgs": "./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json", - "UpdateSourceVersion": null, - "UpdateSourceTarget": null, - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false, - "ForceDownloadPlatform": 0, - "UpdateSourceConditionSetting": null, - "UpdateSourceConditionValue": null, - "DeleteAfterExtract": false + "UpdateStageName":"Game Config File Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"./v-rising/1829350/save-data/Settings/ServerGameSettings.json", + "UpdateSourceArgs":"./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json", + "UpdateSourceVersion":null, + "UpdateSourceTarget":null, + "UnzipUpdateSource":false, + "OverwriteExistingFiles":false, + "UpdateSourceConditionSetting":null, + "UpdateSourceConditionValue":null, + "DeleteAfterExtract":false + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" } -] +] \ No newline at end of file diff --git a/wreckfest.kvp b/wreckfest.kvp index f22c5849b..af972f6eb 100644 --- a/wreckfest.kvp +++ b/wreckfest.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=wreckfest.kvp Meta.MinAMPVersion=2.3.3.4 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] App.DisplayName=Wreckfest App.RootDir=./wreckfest/ @@ -24,7 +25,7 @@ App.LinuxCommandLineArgs=-a wine "./Wreckfest_x64.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -s server_config=server_config.cfg --save-dir={{$FullBaseDir}}saved -server_set game_port={{$GamePort}} steam_port={{$SteamPort}} query_port={{$QueryPort}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"228380"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"228380","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat={0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -48,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","UpdateSourceArgs":"228380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","UpdateSourceArgs":"228380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -62,7 +63,7 @@ App.ApplicationReadyMode=Immediate App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^[\d:]+ Server connected to Steam\.$ Console.UserJoinRegex=^[\d:]+ Player (?<username>.+?) \((?<userid>.+?)\) connected\.$ Console.UserLeaveRegex=^[\d:]+ Player (?<username>.+?) \((?<userid>.+?)\) disconnected\.$ From 6db3b3a99cfd56747caf0af2bec17feafe7f4039 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 3 Apr 2023 16:08:56 +1000 Subject: [PATCH 154/318] Update valheim.kvp (#325) --- valheim.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/valheim.kvp b/valheim.kvp index 6d2558709..01bc846f4 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -40,7 +40,7 @@ App.UniversalSleepSteamQueryPort=2 App.WakeupMode=Any Console.FilterMatchRegex=^\d\d\/\d\d\/\d{4} \d\d:\d\d:\d\d: Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^\(Filename: .*? Line: \d+\)$|^Thread -> id: .+$ +Console.ThrowawayMessageRegex=^\(Filename: .*? Line: \d+\)$|^Thread -> id: .+|Fallback handler could not load library.*$ Console.AppReadyRegex=^Game server connected$ Console.UserJoinRegex=^Got character ZDOID from (?<username>.+?) : (?<userid>-?\d+):\d+$ Console.UserLeaveRegex=^Destroying abandoned non persistent zdo -?\d+:\d+ owner (?<userid>-?\d+)$ From 2638cee0ad6e1d26b76d135a3e021e2927162f79 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 6 Apr 2023 06:15:34 +1000 Subject: [PATCH 155/318] ARK:SE: update ActiveEvent setting (#328) --- ark-seconfig.json | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/ark-seconfig.json b/ark-seconfig.json index f84fe9dcc..2141dc32d 100644 --- a/ark-seconfig.json +++ b/ark-seconfig.json @@ -115,7 +115,7 @@ { "DisplayName":"Active Event", "Category":"ARK Server Settings", - "Description":"Sets the server's active event, if any. Some events may only work partially or not at all. Most special event assets are removed after the event", + "Description":"Sets the server's active event, if any. Some events may only work partially or not at all. Most special event assets are removed after the event. Use Custom and set Custom Event Name for an event not listed", "Keywords":"active,event,activeevent", "FieldName":"ActiveEvent", "InputType":"enum", @@ -127,17 +127,31 @@ "None":"None", "birthday":"ARK: 5th Anniversary", "ark7th":"ARK: 7th Anniversary", - "FearEvolved":"ARK: Fear Evolved 6", - "TurkeyTrial":"ARK: Turkey Trial 5", + "FearEvolved":"ARK: Fear Evolved", + "TurkeyTrial":"ARK: Turkey Trial", "Arkaeology":"ARK: ARKaeology", - "Easter":"ARK: Eggcellent Adventure 7", + "Easter":"ARK: Eggcellent Adventure (Easter)", "ExtinctionChronicles":"Extinction Chronicles", - "vday":"ARK: Love Evolved 3", + "vday":"ARK: Love Evolved (vday)", "PAX":"ARK: PAX Party", - "Summer":"ARK: Summer Bash 2021", - "WinterWonderland":"ARK: Winter Wonderland 7" + "Summer":"ARK: Summer Bash (Summer)", + "WinterWonderland":"ARK: Winter Wonderland", + "{{CustomEvent}}":"Custom" } }, + { + "DisplayName":"Custom Event Name", + "Category":"ARK Server Settings", + "Description":"Sets a custom active event name for the server. \"Custom\" type must be selected under Active Event", + "Keywords":"custom,active,event,activeevent", + "FieldName":"CustomEvent", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomEvent", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, { "DisplayName":"Whitelisted Server Admins", "Category":"ARK Server Settings", From 456274ec12d38d8a33370ee9d49f83aed1b9409f Mon Sep 17 00:00:00 2001 From: Tyler Adler <tyler.adler@gmail.com> Date: Thu, 6 Apr 2023 15:21:33 -0700 Subject: [PATCH 156/318] Update valheimupdates.json (#327) --- valheimupdates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/valheimupdates.json b/valheimupdates.json index 9b7e8c10d..8a3a4a42b 100644 --- a/valheimupdates.json +++ b/valheimupdates.json @@ -25,8 +25,8 @@ "UpdateStageName": "Fetch BepInEx from Thunderstore", "UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", - "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/5.4.2101/", - "UpdateSourceArgs": "denikson-BepInExPack_Valheim-5.4.2101.zip", + "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/5.4.2102/", + "UpdateSourceArgs": "denikson-BepInExPack_Valheim-5.4.2102.zip", "UpdateSourceConditionSetting": "bepinex_install", "UpdateSourceConditionValue": "true", "UnzipUpdateSource": true, From 154cdaeb5da970354aa0459b2760962c63eb2c3d Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 7 Apr 2023 21:21:37 -0500 Subject: [PATCH 157/318] Update TeamSpeak 3 (#333) There is a bug with AMP's Telnet implementation that causes a large spike in CPU usage in the AMP process. This is a temporary fix that solves the spike, but will prevent managing the server using the Console tab in AMP. --- teamspeak3.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/teamspeak3.kvp b/teamspeak3.kvp index 86f4ee538..2954c658d 100644 --- a/teamspeak3.kvp +++ b/teamspeak3.kvp @@ -29,7 +29,7 @@ App.ExitMethod=OS_CLOSE App.ExitTimeout=30 App.ExitString=stop App.ExitFile=app_exit.lck -App.HasWriteableConsole=True +App.HasWriteableConsole=False App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" @@ -42,7 +42,7 @@ App.UniversalSleepSteamQueryPortRef= App.MaxUsers=32 App.UseRandomAdminPassword=True App.RemoteAdminPassword= -App.AdminMethod=TelnetRCON +App.AdminMethod=STDIO App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.UpdateSources=[{"UpdateStageName":"TeamSpeak 3 Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['windows']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"TeamSpeak 3 Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['linux']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s {{$FullBaseDir}}teamspeak3-server_linux_amd64 {{$FullBaseDir}}teamspeak3-server_win64"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/teamspeak3server.ini","UpdateSourceTarget":"{{$FullBaseDir}}teamspeak3-server_win64/","OverwriteExistingFiles":false}] From 6d3de36c1642b8ddd29e250f3b28b4c542874dbe Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 16 Apr 2023 11:40:41 +1000 Subject: [PATCH 158/318] Update modscripts (#337) --- arma3modscript.sh | 2 +- dayz-experimentalmodscript.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arma3modscript.sh b/arma3modscript.sh index 93e7e44c9..a5d69e9ba 100644 --- a/arma3modscript.sh +++ b/arma3modscript.sh @@ -1,5 +1,5 @@ #!/bin/bash -find ./arma3/233780/steamapps/workshop/content/107410/ -type f -name "*[A-Z]*" -print0 |\ +find ./arma3/233780/steamapps/workshop/content/107410/ -depth -name "*[A-Z]*" -print0 |\ xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"";\ cd ./arma3/233780 &&\ find ./steamapps/workshop/content/107410 -maxdepth 1 -mindepth 1 -type d -exec ln -sf -t ./ {} + diff --git a/dayz-experimentalmodscript.sh b/dayz-experimentalmodscript.sh index bd39141a0..07b951067 100644 --- a/dayz-experimentalmodscript.sh +++ b/dayz-experimentalmodscript.sh @@ -1,5 +1,5 @@ #!/bin/bash -find ./dayz/1042420/steamapps/workshop/content/221100/ -type f -name "*[A-Z]*" -print0 |\ +find ./dayz/1042420/steamapps/workshop/content/221100/ -depth -name "*[A-Z]*" -print0 |\ xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"";\ cd ./dayz/1042420 &&\ find ./steamapps/workshop/content/221100 -maxdepth 1 -mindepth 1 -type d -exec ln -sf -t ./ {} + From 89f8caf33480e52c3a5a8cd5c71544ed46637ca4 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 16 Apr 2023 14:51:47 +1000 Subject: [PATCH 159/318] Assetto Corsa Competizione: Linux tweaks (#336) --- assetto-corsa-comp.kvp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/assetto-corsa-comp.kvp b/assetto-corsa-comp.kvp index 0718706de..a7c8732d9 100644 --- a/assetto-corsa-comp.kvp +++ b/assetto-corsa-comp.kvp @@ -13,16 +13,16 @@ Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.ContainerPolicyReason=The server requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Assetto Corsa Competizione App.RootDir=./assetto-corsa-comp/ App.BaseDirectory=./assetto-corsa-comp/1430110 App.ExecutableWin=1430110\server\accServer.exe -App.ExecutableLinux=/usr/bin/xvfb-run +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=1430110/server -App.LinuxCommandLineArgs=-a wine "./accServer.exe" +App.LinuxCommandLineArgs="./accServer.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} App.AppSettings={} @@ -42,7 +42,7 @@ App.Ports=[{"Protocol":"UDP","Port":9231,"Ref":"UDPPort","Name":"UDP Port","Desc App.PrimaryApplicationPortRef=UDPPort App.UniversalSleepApplicationUDPPortRef=UDPPort App.UniversalSleepSteamQueryPortRef=TCPPort -App.MaxUsers=85 +App.MaxUsers=30 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO @@ -51,20 +51,20 @@ App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","UpdateSourceArgs":"805550","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.Compatibility=LinuxBufferedConsole, WindowsBufferedConsole +App.Compatibility=WindowsBufferedConsole App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False App.RapidStartup=False App.MonitorChildProcess=True App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=wine64 +App.MonitorChildProcessName=accServer.exe App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex=\[\?25l|\[\?25 +Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*|Server was running late for \d+ step\(s\), not enough CPU power)$ Console.AppReadyRegex=^Listening to TCP \d+ \| UDP \d+$ Console.UserJoinRegex=^New connection request: id (?<sessionid>.+?) (?<username>.+?) (?<userid>.+?) on car model \d+$ Console.UserLeaveRegex=^Client (?<sessionid>.+?) closed the connection \(\d+\)$ From 02a5dac2090ae167c962eea35942a5c410441718 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 18 Apr 2023 23:09:31 +1000 Subject: [PATCH 160/318] Remove keywords from hidden settings (#339) --- v-risingconfig.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/v-risingconfig.json b/v-risingconfig.json index e579337c8..a52fa0594 100644 --- a/v-risingconfig.json +++ b/v-risingconfig.json @@ -30,7 +30,7 @@ "DisplayName": "Port", "Category": "Host Settings", "Description": "UDP port for game traffic", - "Keywords": "game,port", + "Keywords": "", "FieldName": "$ApplicationPort1", "InputType": "number", "IsFlagArgument": false, @@ -44,7 +44,7 @@ "DisplayName": "Query Port", "Category": "Host Settings", "Description": "UDP port for Steam server list features", - "Keywords": "query,port", + "Keywords": "", "FieldName": "$ApplicationPort2", "InputType": "number", "IsFlagArgument": false, @@ -58,7 +58,7 @@ "DisplayName": "RCON Port", "Category": "Host Settings", "Description": "TCP port for RCON", - "Keywords": "rcon,port", + "Keywords": "", "FieldName": "$RemoteAdminPort", "InputType": "number", "IsFlagArgument": false, @@ -72,7 +72,7 @@ "DisplayName": "RCON Enabled", "Category": "Host Settings", "Description": "RCON Enabled to allow Console input", - "Keywords": "rcon,enabled", + "Keywords": "", "FieldName": "RconEnabled", "InputType": "text", "IsFlagArgument": false, From bd0df233cbf27bc068f5df82edbcafbf5e387dc9 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 22 Apr 2023 13:11:06 +1000 Subject: [PATCH 161/318] Update frozen-flame.kvp (#342) --- frozen-flame.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frozen-flame.kvp b/frozen-flame.kvp index 79bccc8f9..228dd0881 100644 --- a/frozen-flame.kvp +++ b/frozen-flame.kvp @@ -18,7 +18,7 @@ App.DisplayName=Frozen Flame App.RootDir=./frozen-flame/ App.BaseDirectory=./frozen-flame/1348640/ App.ExecutableWin=1348640\FrozenFlame\Binaries\Win64\FrozenFlameServer.exe -App.ExecutableLinux=1348640/FrozenFlame/Binaries/Linux/FrozenFlameServer +App.ExecutableLinux=1348640/FrozenFlame/Binaries/Linux/FrozenFlameServer-Linux-Shipping App.WorkingDir=1348640 App.LinuxCommandLineArgs=FrozenFlame -stdout App.WindowsCommandLineArgs=FrozenFlame -stdout -FullStdOutLogOutput From 85276259d66e70244f318eaf9024f85efc8bfe4d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 28 Apr 2023 11:20:26 +1000 Subject: [PATCH 162/318] Add Foundry Virtual Tabletop (#312) --- foundry-vtt.kvp | 88 ++++++++++++++++++++++++++++++++++++++ foundry-vttconfig.json | 59 +++++++++++++++++++++++++ foundry-vttmetaconfig.json | 7 +++ foundry-vttupdates.json | 56 ++++++++++++++++++++++++ 4 files changed, 210 insertions(+) create mode 100644 foundry-vtt.kvp create mode 100644 foundry-vttconfig.json create mode 100644 foundry-vttmetaconfig.json create mode 100644 foundry-vttupdates.json diff --git a/foundry-vtt.kvp b/foundry-vtt.kvp new file mode 100644 index 000000000..b11772206 --- /dev/null +++ b/foundry-vtt.kvp @@ -0,0 +1,88 @@ +Meta.DisplayName=Foundry Virtual Tabletop +Meta.Description=Foundry Virtual Tabletop Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://foundryvtt.com +Meta.DisplayImageSource=url:https://foundryvtt.com/static/assets/icons/fvtt.png +Meta.EndpointURIFormat= +Meta.ConfigManifest=foundry-vttconfig.json +Meta.MetaConfigManifest=foundry-vttmetaconfig.json +Meta.ConfigRoot=foundry-vtt.kvp +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3951?utm_source=ampcreate&utm_content=foundryvtt +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Foundry Virtual Tabletop +App.RootDir=./foundry-vtt/ +App.BaseDirectory=./foundry-vtt/ +App.ExecutableWin=node\node.exe +App.ExecutableLinux=node/bin/node +App.WorkingDir=server +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} resources/app/main.js --port={{$ServerPort}} --dataPath="{{$FullBaseDir}}data" {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={} +App.CommandLineParameterFormat=--{0}={1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=stop +App.ExitFile=lock +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":"TCP","Name":"Server Port","Description":"Port for game traffic","Port":30000,"Ref":"ServerPort"}] +App.AdminPortRef=ServerPort +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=ServerPort +App.MaxUsers=16 +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=@IncludeJson[foundry-vttupdates.json] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName=main.js +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=^FoundryVTT \| [\d-]+ [\d:]+ \| \[info\] Server started and listening on port \d+$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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/foundry-vttconfig.json b/foundry-vttconfig.json new file mode 100644 index 000000000..3c75ce69a --- /dev/null +++ b/foundry-vttconfig.json @@ -0,0 +1,59 @@ +[ + { + "DisplayName":"Server Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ServerPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"$.port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Download URL", + "Category":"Server Settings", + "Description":"Sets the full URL to download the server from. [Login](https://foundryvtt.com/) to obtain a current timed URL, then update the server before the timeout. NOTE: Make sure to select the \"Linux/NodeJS\" version", + "Keywords":"download,url", + "FieldName":"DownloadURL", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"DownloadURL", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"https://foundryvtt.s3.amazonaws.com", + "EnumValues":{} + }, + { + "DisplayName":"Node.js Version", + "Category":"Server Settings", + "Description":"Sets the [Node.js release version](https://nodejs.org/download/release/) to install to run the server. Minimum v14.x required. NOTE: Specify a numbered version like v.14.21.3, rather than any \"latest\" version", + "Keywords":"node,nodejs,version", + "FieldName":"NodeVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"NodeVersion", + "IncludeInCommandLine":false, + "DefaultValue":"v14.21.3", + "Placeholder":"v14.21.3", + "EnumValues":{} + }, + { + "DisplayName":"Enable UPnP", + "Category":"Server Settings", + "Description":"If set, UPnP will be enabled on the server. This functionality requires a UPnP-enabled router to work", + "Keywords":"upnp", + "FieldName":"upnp", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"upnp", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + } +] \ No newline at end of file diff --git a/foundry-vttmetaconfig.json b/foundry-vttmetaconfig.json new file mode 100644 index 000000000..65a4567b5 --- /dev/null +++ b/foundry-vttmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"data/Config/options.json", + "AutoMap":true, + "ConfigType":"json" + } +] \ No newline at end of file diff --git a/foundry-vttupdates.json b/foundry-vttupdates.json new file mode 100644 index 000000000..e74fe61d6 --- /dev/null +++ b/foundry-vttupdates.json @@ -0,0 +1,56 @@ +[ + { + "UpdateStageName":"Server Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}server" + }, + { + "UpdateStageName":"Data Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}data" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"{{DownloadURL}}", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UpdateSourceArgs":"FoundryVTT.zip", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Node.js Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-x64.tar.gz", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Node.js Extract", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'cd foundry-vtt && rm -Rf node && tar xf node-{{NodeVersion}}-linux-x64.tar.gz && mv node-{{NodeVersion}}-linux-x64 node && rm node-{{NodeVersion}}-linux-x64.tar.gz'" + }, + { + "UpdateStageName":"Node.js Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-win-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Node.js Extract", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C cd foundry-vtt & rmdir /S /Q node & rename node-{{NodeVersion}}-win-x64 node" + } +] From a5b707cadb2a1264fefdada48ab5045a73c47f0e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 28 Apr 2023 12:15:51 +1000 Subject: [PATCH 163/318] Add Barotrauma (#324) --- barotrauma.kvp | 91 +++ barotraumaconfig.json | 1145 ++++++++++++++++++++++++++++++++++ barotraumametaconfig.json | 7 + barotraumaserversettings.xml | 85 +++ barotraumaupdates.json | 31 + 5 files changed, 1359 insertions(+) create mode 100644 barotrauma.kvp create mode 100644 barotraumaconfig.json create mode 100644 barotraumametaconfig.json create mode 100644 barotraumaserversettings.xml create mode 100644 barotraumaupdates.json diff --git a/barotrauma.kvp b/barotrauma.kvp new file mode 100644 index 000000000..9a495e26c --- /dev/null +++ b/barotrauma.kvp @@ -0,0 +1,91 @@ +Meta.DisplayName=Barotrauma +Meta.Description=Barotrauma Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.AarchSupport=NotSupported +Meta.Author=Greelan, ThisIslandEarth +Meta.URL=https://barotraumagame.com/ +Meta.DisplayImageSource=steam:602960 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=barotraumaconfig.json +Meta.MetaConfigManifest=barotraumametaconfig.json +Meta.ConfigRoot=barotrauma.kvp +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage= +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3952?utm_source=ampcreate&utm_content=barotrauma +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Barotrauma +App.RootDir=./barotrauma/ +App.BaseDirectory=./barotrauma/1026340/ +App.SteamWorkshopDownloadLocation={{$FullBaseDir}}LocalMods +App.ExecutableWin=1026340\DedicatedServer.exe +App.ExecutableLinux=1026340/DedicatedServer +App.WorkingDir=1026340 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"602960","XDG_DATA_HOME":"{{$FullBaseDir}}"} +App.CommandLineParameterFormat=-{0}={1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +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":27015,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server query traffic"}] +App.PrimaryApplicationPortRef=GamePort +App.AdminPortRef= +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=10 +App.UseRandomAdminPassword=False +App.PersistRandomPassword=False +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[barotraumaupdates.json] +App.PreStartStages=[] +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 started$ +Console.UserJoinRegex=^$ (?<username>.+?) has joined the server\.$ +Console.UserLeaveRegex=^$ (?<username>.+?) has left the server\. Reason: .+$ +Console.UserChatRegex=^$ +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.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/barotraumaconfig.json b/barotraumaconfig.json new file mode 100644 index 000000000..38ba00f3c --- /dev/null +++ b/barotraumaconfig.json @@ -0,0 +1,1145 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Barotrauma General", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Query Port", + "Category":"Barotrauma General", + "Description":"", + "Keywords":"", + "FieldName":"$QueryPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@queryport", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Auto Restart", + "Category":"Barotrauma General", + "Description":"", + "Keywords":"", + "FieldName":"autorestart", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@autorestart", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Barotrauma General", + "Description":"Sets the name of the server as it appears in the server browser", + "Keywords":"server,name,servername", + "FieldName":"name", + "InputType":"text", + "IsFlagArgument":false, + "Required":true, + "ParamFieldName":"/serversettings/@name", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Barotrauma Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Message", + "Category":"Barotrauma General", + "Description":"Sets the text displayed in the server's info box", + "Keywords":"server,message,servermessage", + "FieldName":"ServerMessage", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@ServerMessage", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to Barotrauma!", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Barotrauma General", + "Description":"If enabled, the server will show on the server browser", + "Keywords":"public", + "FieldName":"IsPublic", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@IsPublic", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Server Language", + "Category":"Barotrauma General", + "Description":"Sets the server language", + "Keywords":"server,language", + "FieldName":"Language", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@Language", + "IncludeInCommandLine":false, + "DefaultValue":"English", + "EnumValues":{ + "Czech":"čeština", + "Danish":"dansk", + "German":"Deutsch", + "English":"English", + "Spanish":"Español", + "Finnish":"suomi", + "French":"Français", + "Italian":"Italiano", + "Japanese":"日本語", + "Korean":"한국어", + "Dutch":"Nederlands", + "Norwegian":"norsk", + "Polish":"Polski", + "European Portuguese":"português", + "Brazilian Portuguese":"português brasileiro", + "Russian":"Русский", + "Swedish":"Svenska", + "Turkish":"Türkçe", + "Ukrainian":"украї́нська мо́ва", + "Chinese":"中文" + } + }, + { + "DisplayName":"Server Password", + "Category":"Barotrauma General", + "Description":"Sets the password to join the server", + "Keywords":"password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Barotrauma General", + "Description":"Sets the number of players allowed to join the server at one time", + "Keywords":"player,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "MaxValue":"16", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Level Difficulty", + "Category":"Barotrauma General", + "Description":"Sets the level difficulty. 0 = easiest, 100 = hellish", + "Keywords":"level,difficulty", + "FieldName":"LevelDifficulty", + "InputType":"number", + "MinValue":"0", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@LevelDifficulty", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "EnumValues":{} + }, + { + "DisplayName":"Allowed Mission Types", + "Category":"Barotrauma General", + "Description":"Sets a comma-separated list of mission types for the server. If multiple are selected the server randomly chooses one (PvP Game Mode can only run Combat). Select from Salvage, Monster, Cargo, Beacon, Nest, Mineral, Combat, AbandonedOutpost, Escort, Pirate, ScanAlienRuins, ClearAlienRuins, All", + "Keywords":"mission,types,missiontype", + "FieldName":"MissionType", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@MissionType", + "IncludeInCommandLine":false, + "DefaultValue":"All", + "Placeholder":"All", + "EnumValues":{} + }, + { + "DisplayName":"Selected Submarine", + "Category":"Barotrauma General", + "Description":"Sets the submarine that will be used in a round. If blank, the server alphabetically picks the first submarine", + "Keywords":"selected,submarine,selectedsubmarine", + "FieldName":"SelectedSubmarine", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@SelectedSubmarine", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"Azimuth", + "EnumValues":{} + }, + { + "DisplayName":"Submarine Selection Mode", + "Category":"Barotrauma General", + "Description":"Sets how the next submarine should be chosen. Manual = only a client with the SelectSub permission can select. Random = submarine is randomly picked. Vote = all players can vote", + "Keywords":"submarine,selection,mode,subselectionmode", + "FieldName":"SubSelectionMode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@SubSelectionMode", + "IncludeInCommandLine":false, + "DefaultValue":"Manual", + "EnumValues":{ + "Manual":"Manual (default)", + "Random":"Random", + "Vote":"Vote" + } + }, + { + "DisplayName":"Hidden Submarines", + "Category":"Barotrauma General", + "Description":"Sets a comma-separated list of submarines to be hidden from selection/purchase", + "Keywords":"hidden,submarine,hiddensubs", + "FieldName":"HiddenSubs", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@HiddenSubs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"Orca,Typhon", + "EnumValues":{} + }, + { + "DisplayName":"Selected Shuttle", + "Category":"Barotrauma General", + "Description":"Sets the respawn shuttle that will be used in a round. If blank, the server alphabetically picks the first shuttle", + "Keywords":"selected,shuttle,selectedshuttle", + "FieldName":"SelectedShuttle", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@SelectedShuttle", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"Hemulen", + "EnumValues":{} + }, + { + "DisplayName":"Default Game Mode", + "Category":"Barotrauma General", + "Description":"Sets the default game mode, which will apply unless changed via the method set under \"Game Mode Selection Method\"", + "Keywords":"game,mode,gamemodeidentifier", + "FieldName":"GameModeIdentifier", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@GameModeIdentifier", + "IncludeInCommandLine":false, + "DefaultValue":"sandbox", + "EnumValues":{ + "sandbox":"Sandbox (default)", + "mission":"Mission", + "pvp":"PvP", + "multiplayercampaign":"Campaign" + } + }, + { + "DisplayName":"Game Mode Selection Method", + "Category":"Barotrauma General", + "Description":"Sets how the game mode can be changed. Manual = only a client with the SelectMode permission can select. Random = game mode is randomised. Vote = all players can vote", + "Keywords":"game,mode,selection,method,modeselectionmode", + "FieldName":"ModeSelectionMode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@ModeSelectionMode", + "IncludeInCommandLine":false, + "DefaultValue":"Manual", + "EnumValues":{ + "Manual":"Manual (default)", + "Random":"Random", + "Vote":"Vote" + } + }, + { + "DisplayName":"Enable Voice Chat", + "Category":"Barotrauma General", + "Description":"If enabled, players will be able to use voice chat", + "Keywords":"voice,chat,voicechatenabled", + "FieldName":"VoiceChatEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@VoiceChatEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Start When Players Ready", + "Category":"Barotrauma General", + "Description":"If enabled, the server will automatically start a round if enough players are ready, based on the \"Minimum Player Ready Ratio\". Otherwise, the round must be manually started", + "Keywords":"start,ready,startwhenclientsready", + "FieldName":"StartWhenClientsReady", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@StartWhenClientsReady", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Minimum Player Ready Ratio", + "Category":"Barotrauma General", + "Description":"Sets the minimum ratio of players required to be ready for a round to be automatically started, if \"Start When Ready\" is set", + "Keywords":"start,ready,ratio,startwhenclientsreadyratio", + "FieldName":"StartWhenClientsReadyRatio", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@StartWhenClientsReadyRatio", + "IncludeInCommandLine":false, + "DefaultValue":"0.8", + "Placeholder":"0.8", + "EnumValues":{} + }, + { + "DisplayName":"Allow Spectating", + "Category":"Barotrauma General", + "Description":"If enabled, dead players can spectate. Otherwise, they are sent into the lobby", + "Keywords":"spectate,allowspectating", + "FieldName":"AllowSpectating", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowSpectating", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"AFK Kick Time", + "Category":"Barotrauma General", + "Description":"Sets the amount of time a player must be AFK to be auto-kicked", + "Keywords":"kick,afk,away,time,period,kickafktime", + "FieldName":"KickAFKTime", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@KickAFKTime", + "IncludeInCommandLine":false, + "DefaultValue":"600", + "Placeholder":"600", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Kill Disconnection Time", + "Category":"Barotrauma General", + "Description":"Sets the amount of time a player must be disconnected from their body for the character to be killed", + "Keywords":"disconnection,body,time,period,killdisconnectedtime", + "FieldName":"KillDisconnectedTime", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@KillDisconnectedTime", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Placeholder":"300", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Randomize Seed Between Rounds", + "Category":"Barotrauma General", + "Description":"If enabled, the server will generate a new seed each round", + "Keywords":"randomize,seed,randomizeseed", + "FieldName":"RandomizeSeed", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@RandomizeSeed", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Mod Loading", + "Category":"Barotrauma General", + "Description":"Download mods by workshop item ID under SteamCMD and Updates. Load them by editing config_player.xml in accordance with [these instructions](https://gist.github.com/Greelan/87d640a370304fcdc25e3663f6b86666#2-mods)", + "Keywords":"load,mod", + "FieldName":"Mods", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"Mods", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Share Files With Players", + "Category":"Barotrauma General", + "Description":"If enabled, the server will send missing files to clients (currently only .sub files). Otherwise, if a client is missing required files they cannot spawn and will be sent back into the lobby", + "Keywords":"allow,file,transfers,allowfiletransfers", + "FieldName":"AllowFileTransfers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowFileTransfers", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Mod Downloads", + "Category":"Barotrauma General", + "Description":"If enabled, clients will be able to download required mods from the server. Otherwise they will need to obtain the mods themselves", + "Keywords":"allow,client,mod,download,allowmoddownloads", + "FieldName":"AllowModDownloads", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowModDownloads", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Voting Timeout", + "Category":"Barotrauma General", + "Description":"Sets the timeout that applies to voting", + "Keywords":"vote,voting,timeout,votetimeout", + "FieldName":"VoteTimeout", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@VoteTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Allowed Client Name Characters", + "Category":"Barotrauma General", + "Description":"Sets the characters approved for use in a client name. Enter as UTF-16 character code ranges. More information can be found [here](https://barotraumagame.com/wiki/Serversettings.xml)", + "Keywords":"allowed,client,name,chars,allowedclientnamechars", + "FieldName":"AllowedClientNameChars", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowedClientNameChars", + "IncludeInCommandLine":false, + "DefaultValue":"32-33,38-46,48-57,65-90,91-91,93-93,95-122,192-255,384-591,1024-1279,19968-21327,21329-40959,13312-19903,131072-173791,173824-178207,178208-183983,63744-64255,194560-195103", + "Placeholder":"32-33,38-46,48-57,65-90,91-91,93-93,95-122,192-255,384-591,1024-1279,19968-21327,21329-40959,13312-19903,131072-173791,173824-178207,178208-183983,63744-64255,194560-195103", + "EnumValues":{} + }, + { + "DisplayName":"Save Server Logs", + "Category":"Barotrauma General", + "Description":"If enabled, server logs will be saved in the ServerLogs folder upon server shutdown", + "Keywords":"save,server,logs,saveserverlogs", + "FieldName":"SaveServerLogs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@SaveServerLogs", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Log File Length", + "Category":"Barotrauma General", + "Description":"Sets the number of lines generated in a log file before it is rotated", + "Keywords":"log,file,lines,rotate,linesperlogfile", + "FieldName":"LinesPerLogFile", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@LinesPerLogFile", + "IncludeInCommandLine":false, + "DefaultValue":"800", + "Placeholder":"800", + "EnumValues":{} + }, + { + "DisplayName":"Server Tickrate", + "Category":"Barotrauma General", + "Description":"Sets the tickrate of the server", + "Keywords":"tickrate", + "FieldName":"TickRate", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@TickRate", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "EnumValues":{} + }, + { + "DisplayName":"Enable UPnP", + "Category":"Barotrauma General", + "Description":"If set, UPnP will be enabled on the server. Requires a UPnP-enabled router to function", + "Keywords":"upnp,enableupnp", + "FieldName":"enableupnp", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@enableupnp", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Play Style", + "Category":"Barotrauma Gameplay", + "Description":"Sets the server play style displayed in the server browser and lobby", + "Keywords":"play,style,playstyle", + "FieldName":"PlayStyle", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@PlayStyle", + "IncludeInCommandLine":false, + "DefaultValue":"Casual", + "EnumValues":{ + "Serious":"Serious", + "Casual":"Casual (default)", + "Roleplay":"Roleplay", + "Rampage":"Rampage", + "SomethingDifferent":"Something Different" + } + }, + { + "DisplayName":"Allow Round End Vote", + "Category":"Barotrauma Gameplay", + "Description":"If enabled, players can vote to end the round", + "Keywords":"vote,voting,round,end,allowendvoting", + "FieldName":"AllowEndVoting", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowEndVoting", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Minimum Round End Vote Ratio", + "Category":"Barotrauma Gameplay", + "Description":"Sets the minimum proportion of round end votes required to end a round (if Round End Vote is enabled)", + "Keywords":"round,end,vote,voting,ratio,endvoterequiredratio", + "FieldName":"EndVoteRequiredRatio", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@EndVoteRequiredRatio", + "IncludeInCommandLine":false, + "DefaultValue":"0.6", + "Placeholder":"0.6", + "EnumValues":{} + }, + { + "DisplayName":"Allow Respawning", + "Category":"Barotrauma Gameplay", + "Description":"If enabled, respawning of dead players will be allowed. Otherwise, dead players will have to spectate until the round ends", + "Keywords":"respawn,allowrespawn", + "FieldName":"AllowRespawn", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowRespawn", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Respawn Interval", + "Category":"Barotrauma Gameplay", + "Description":"Sets the time between each respawn wave", + "Keywords":"respawn,interval,respawninterval", + "FieldName":"RespawnInterval", + "InputType":"number", + "MinValue":"1", + "MaxValue":"10000", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@RespawnInterval", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Placeholder":"300", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Respawn Ratio", + "Category":"Barotrauma Gameplay", + "Description":"Sets the minimum proportion of dead/spectating players required for the respawn timer to start", + "Keywords":"respawn,ratio,minrespawnratio", + "FieldName":"MinRespawnRatio", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@MinRespawnRatio", + "IncludeInCommandLine":false, + "DefaultValue":"0.2", + "Placeholder":"0.2", + "EnumValues":{} + }, + { + "DisplayName":"Enable Respawn Shuttle", + "Category":"Barotrauma Gameplay", + "Description":"If enabled, respawning players may spawn in a shuttle away from the main submarine and must dock or otherwise merge with the crew. Otherwise, players are spawned in the submarine on certain job spawnpoints, depending on their job", + "Keywords":"respawn,shuttle,userespawnshuttle", + "FieldName":"UseRespawnShuttle", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@UseRespawnShuttle", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Maximum Respawn Transport Duration", + "Category":"Barotrauma Gameplay", + "Description":"Sets the maximum time the respawn shuttle has to dock to the submarine. If time runs out before the shuttle docks it will automatically return to the first outpost", + "Keywords":"respawn,transport,time,maxtransporttime", + "FieldName":"MaxTransportTime", + "InputType":"number", + "MinValue":"1", + "MaxValue":"10000", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@MaxTransportTime", + "IncludeInCommandLine":false, + "DefaultValue":"180", + "Placeholder":"180", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Line Of Sight Effect Mode", + "Category":"Barotrauma Gameplay", + "Description":"Sets the line of sight (LOS) effect mode", + "Keywords":"los,line,sight,losmode", + "FieldName":"LosMode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@LosMode", + "IncludeInCommandLine":false, + "DefaultValue":"Transparent", + "EnumValues":{ + "None":"None", + "Transparent":"Transparent (default)", + "Opaque":"Opaque" + } + }, + { + "DisplayName":"Show Enemy Health Bars", + "Category":"Barotrauma Gameplay", + "Description":"Sets whether enemies' health status is shown, via health bars above their heads", + "Keywords":"enemy,health,status,showenemyhealthbars", + "FieldName":"ShowEnemyHealthBars", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@ShowEnemyHealthBars", + "IncludeInCommandLine":false, + "DefaultValue":"Showall", + "EnumValues":{ + "Showall":"Show all (default)", + "BossHealthBarsOnly":"Show only boss health", + "HideAll":"Hide all" + } + }, + { + "DisplayName":"Enable Traitors", + "Category":"Barotrauma Gameplay", + "Description":"Sets the chance of traitors appearing in a round. Yes = will definitely appear. No = will not appear. Maybe = have a 50/50 chance of appearing", + "Keywords":"enable,traitors,traitorsenabled", + "FieldName":"TraitorsEnabled", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@TraitorsEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"No", + "EnumValues":{ + "No":"No (default)", + "Yes":"Yes", + "Maybe":"Maybe" + } + }, + { + "DisplayName":"Traitor Minimum Player Count", + "Category":"Barotrauma Gameplay", + "Description":"Sets the minimum number of players required for a traitor to be picked", + "Keywords":"traitor,minimum,player,count,traitorsminplayercount", + "FieldName":"TraitorsMinPlayerCount", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@TraitorsMinPlayerCount", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Traitor Minimum Start Delay", + "Category":"Barotrauma Gameplay", + "Description":"Sets the minimum amount of time that must pass before a traitor is selected", + "Keywords":"traitor,minimum,time,delay,traitorsminstartdelay", + "FieldName":"TraitorsMinStartDelay", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@TraitorsMinStartDelay", + "IncludeInCommandLine":false, + "DefaultValue":"90", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Traitor Maximum Start Delay", + "Category":"Barotrauma Gameplay", + "Description":"Sets the maximum amount of time that must pass before a traitor is selected", + "Keywords":"traitor,maximum,time,delay,traitorsmaxstartdelay", + "FieldName":"TraitorsMaxStartDelay", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@TraitorsMaxStartDelay", + "IncludeInCommandLine":false, + "DefaultValue":"180", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Traitor Minimum Restart Delay", + "Category":"Barotrauma Gameplay", + "Description":"Sets the minimum amount of time that must pass before another traitor is selected", + "Keywords":"traitor,minimum,time,delay,restart,traitorsminrestartdelay", + "FieldName":"TraitorsMinRestartDelay", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@TraitorsMinRestartDelay", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Traitor Maximum Restart Delay", + "Category":"Barotrauma Gameplay", + "Description":"Sets the maximum amount of time that must pass before another traitor is selected", + "Keywords":"traitor,maximum,time,delay,traitorsmaxrestartdelay", + "FieldName":"TraitorsMaxRestartDelay", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@TraitorsMaxRestartDelay", + "IncludeInCommandLine":false, + "DefaultValue":"90", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Money Transfer Request", + "Category":"Barotrauma Gameplay", + "Description":"Sets how much money players are allowed to request from the bank. 0 = money requests disabled", + "Keywords":"maximum,money,transfer,request,bank,maximummoneytransferrequest", + "FieldName":"MaximumMoneyTransferRequest", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@MaximumMoneyTransferRequest", + "IncludeInCommandLine":false, + "DefaultValue":"999999", + "Placeholder":"999999", + "EnumValues":{} + }, + { + "DisplayName":"Looted Money Destination", + "Category":"Barotrauma Gameplay", + "Description":"Sets where looted money should be sent", + "Keywords":"loot,money,bank,wallet,destination,lootedmoneydestination", + "FieldName":"LootedMoneyDestination", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@LootedMoneyDestination", + "IncludeInCommandLine":false, + "DefaultValue":"Bank", + "EnumValues":{ + "Bank":"Bank (default)", + "Wallet":"Looter's personal wallet" + } + }, + { + "DisplayName":"Allow Ragdoll Button", + "Category":"Barotrauma Gameplay", + "Description":"If enabled, players can ragdoll on their own if they hold the button down. Otherwise, players must be stunned (or be dead) to ragdoll", + "Keywords":"allow,ragdoll,allowragdollbutton", + "FieldName":"AllowRagdollButton", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowRagdollButton", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Bot Count", + "Category":"Barotrauma Gameplay", + "Description":"Sets the number of bots that should be spawned in a round. This is limited by the \"Maximum Bot Count\"", + "Keywords":"bot,count,botcount", + "FieldName":"BotCount", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@BotCount", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Suffix":"bots", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Bot Count", + "Category":"Barotrauma Gameplay", + "Description":"Sets the maximum number of allowed bots in a round", + "Keywords":"maximum,bot,count,maxbotcount", + "FieldName":"MaxBotCount", + "InputType":"number", + "MinValue":"0", + "MaxValue":"16", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@MaxBotCount", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Suffix":"bots", + "EnumValues":{} + }, + { + "DisplayName":"Bot Spawn Mode", + "Category":"Barotrauma Gameplay", + "Description":"Sets how bots should be spawned. Normal = bots fill the amount of slots set in \"Bot Count\". Fill = bots skip that value and fully fill empty player slots", + "Keywords":"bot,spawn,mode,botspawnmode", + "FieldName":"BotSpawnMode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@BotSpawnMode", + "IncludeInCommandLine":false, + "DefaultValue":"Normal", + "EnumValues":{ + "Normal":"Normal (default)", + "Fill":"Fill" + } + }, + { + "DisplayName":"Disable Bot Conversations", + "Category":"Barotrauma Gameplay", + "Description":"If set, bot conversations will not be allowed", + "Keywords":"disable,bot,conversations,disablebotconversations", + "FieldName":"DisableBotConversations", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@DisableBotConversations", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Friendly Fire", + "Category":"Barotrauma Anti-Griefing", + "Description":"If enabled, friendly fire between players will be allowed (they can deal damage to each other)", + "Keywords":"friendly,fire,allowfriendlyfire", + "FieldName":"AllowFriendlyFire", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowFriendlyFire", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Killable Outpost NPCs", + "Category":"Barotrauma Anti-Griefing", + "Description":"If enabled, outpost NPCs will be able to be killed", + "Keywords":"kill,npc,killable,killablenpcs", + "FieldName":"KillableNPCs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@KillableNPCs", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Destructible Outposts", + "Category":"Barotrauma Anti-Griefing", + "Description":"If enabled, outposts will be destructible (able to take damage)", + "Keywords":"destructible,outposts,damage,destructibleoutposts", + "FieldName":"DestructibleOutposts", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@DestructibleOutposts", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Lock All Default Wires", + "Category":"Barotrauma Anti-Griefing", + "Description":"If set, the ability to disconnect or change any default wires in a submarine will be disabled", + "Keywords":"lock,wires,lockalldefaultwires", + "FieldName":"LockAllDefaultWires", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@LockAllDefaultWires", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Rewiring", + "Category":"Barotrauma Anti-Griefing", + "Description":"If enabled, players can rewire anything except if it has been set otherwise in the submarine", + "Keywords":"allow,rewiring,allowrewiring", + "FieldName":"AllowRewiring", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowRewiring", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow WiFi Linking To Chat", + "Category":"Barotrauma Anti-Griefing", + "Description":"If enabled, WiFi components on the submarine can be linked to chat", + "Keywords":"chat,wifi,link,allowlinkingwifitochat", + "FieldName":"AllowLinkingWifiToChat", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowLinkingWifiToChat", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Disguises", + "Category":"Barotrauma Anti-Griefing", + "Description":"If enabled, players can disguise themselves by using another player's ID card. Otherwise, players will always have their names above them even when covering their face", + "Keywords":"allow,disguises,allowdisguises", + "FieldName":"AllowDisguises", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowDisguises", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Vote Kicking", + "Category":"Barotrauma Anti-Griefing", + "Description":"If enabled, players can vote to kick others players", + "Keywords":"vote,voting,kick,allowvotekick", + "FieldName":"AllowVoteKick", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AllowVoteKick", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Minimum Ratio For Vote Kicking", + "Category":"Barotrauma Anti-Griefing", + "Description":"Sets the minimum proportion of votes required to vote-kick a player (if Vote Kicking is enabled)", + "Keywords":"kick,vote,voting,ratio,kickvoterequiredratio", + "FieldName":"KickVoteRequiredRatio", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@KickVoteRequiredRatio", + "IncludeInCommandLine":false, + "DefaultValue":"0.6", + "Placeholder":"0.6", + "EnumValues":{} + }, + { + "DisplayName":"Vote Kicking Disabled Period", + "Category":"Barotrauma Anti-Griefing", + "Description":"Sets the minimum time period that must pass before a player can be vote-kicked after joining", + "Keywords":"kick,vote,voting,disallow,DisallowKickVoteTime", + "FieldName":"DisallowKickVoteTime", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@DisallowKickVoteTime", + "IncludeInCommandLine":false, + "DefaultValue":"120", + "Placeholder":"120", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Vote Kicking Ban Duration", + "Category":"Barotrauma Anti-Griefing", + "Description":"Sets the ban duration for players who are vote-kicked", + "Keywords":"kick,ban,time,period,autobantime", + "FieldName":"AutoBanTime", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@AutoBanTime", + "IncludeInCommandLine":false, + "DefaultValue":"3600", + "Placeholder":"3600", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Ban Time", + "Category":"Barotrauma Anti-Griefing", + "Description":"Sets the maximum ban time that can be set in the lobby host UI", + "Keywords":"kick,ban,time,period,maximum,maxautobantime", + "FieldName":"MaxAutoBanTime", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@MaxAutoBanTime", + "IncludeInCommandLine":false, + "DefaultValue":"86400", + "Placeholder":"86400", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Ban After Incorrect Password", + "Category":"Barotrauma Anti-Griefing", + "Description":"If enabled, players will be auto-banned after exceeding the maximum password retries set under \"Maximum Password Retries\"", + "Keywords":"password,ban,retry,banafterwrongpassword", + "FieldName":"BanAfterWrongPassword", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@BanAfterWrongPassword", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Maximum Password Retries Before Ban", + "Category":"Barotrauma Anti-Griefing", + "Description":"Sets the maximum number of failed password attempts before a player is auto-banned. Requires \"Enable Failed Password Ban\" to be set", + "Keywords":"password,ban,retry,maxpasswordretriesbeforeban", + "FieldName":"MaxPasswordRetriesBeforeBan", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@MaxPasswordRetriesBeforeBan", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "Suffix":"retries", + "EnumValues":{} + }, + { + "DisplayName":"Use Karma", + "Category":"Barotrauma Anti-Griefing", + "Description":"If set, the [Karma system](https://barotraumagame.com/wiki/Karma) will be enabled", + "Keywords":"karma,karmaenabled", + "FieldName":"KarmaEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@KarmaEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Karma Preset", + "Category":"Barotrauma Anti-Griefing", + "Description":"Sets the karma rules preset that should be used. Requires Karma to be enabled", + "Keywords":"karma,preset,karmapreset", + "FieldName":"KarmaPreset", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/serversettings/@KarmaPreset", + "IncludeInCommandLine":false, + "DefaultValue":"default", + "EnumValues":{ + "default":"Default", + "strict":"Strict", + "custom":"Custom" + } + } +] diff --git a/barotraumametaconfig.json b/barotraumametaconfig.json new file mode 100644 index 000000000..1155e80ec --- /dev/null +++ b/barotraumametaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"serversettings.xml", + "AutoMap":true, + "ConfigType":"xml" + } +] \ No newline at end of file diff --git a/barotraumaserversettings.xml b/barotraumaserversettings.xml new file mode 100644 index 000000000..e2b352f81 --- /dev/null +++ b/barotraumaserversettings.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="utf-8"?> +<serversettings + name="AMP Powered Barotrauma Server" + port="27015" + queryport="27016" + password="" + enableupnp="false" + autorestart="false" + LevelDifficulty="20" + ServerMessage="Welcome to Barotrauma!" + HiddenSubs="" + AllowedRandomMissionTypes="Salvage,Monster,Cargo,Beacon,Nest,Mineral,Combat,AbandonedOutpost,Escort,Pirate,ScanAlienRuins,ClearAlienRuins,All" + AllowedClientNameChars="32-33,38-46,48-57,65-90,91-91,93-93,95-122,192-255,384-591,1024-1279,19968-21327,21329-40959,13312-19903,131072-173791,173824-178207,178208-183983,63744-64255,194560-195103" + IsPublic="False" + TickRate="20" + RandomizeSeed="True" + UseRespawnShuttle="True" + RespawnInterval="300" + MaxTransportTime="180" + MinRespawnRatio="0.2" + AutoRestartInterval="60" + StartWhenClientsReady="True" + StartWhenClientsReadyRatio="0.8" + AllowSpectating="True" + SaveServerLogs="True" + AllowModDownloads="True" + AllowRagdollButton="True" + AllowFileTransfers="True" + VoiceChatEnabled="True" + PlayStyle="Casual" + LosMode="Transparent" + ShowEnemyHealthBars="ShowAll" + LinesPerLogFile="800" + AllowVoteKick="True" + AllowEndVoting="True" + AllowRespawn="True" + BotCount="0" + MaxBotCount="16" + BotSpawnMode="Normal" + DisableBotConversations="False" + AllowDisguises="True" + AllowRewiring="True" + LockAllDefaultWires="False" + AllowLinkingWifiToChat="False" + AllowFriendlyFire="True" + DestructibleOutposts="False" + KillableNPCs="True" + BanAfterWrongPassword="True" + MaxPasswordRetriesBeforeBan="3" + SelectedSubmarine="" + SelectedShuttle="" + TraitorsEnabled="No" + TraitorsMinPlayerCount="1" + TraitorsMinStartDelay="90" + TraitorsMaxStartDelay="180" + TraitorsMinRestartDelay="30" + TraitorsMaxRestartDelay="90" + Language="English" + SubSelectionMode="Manual" + ModeSelectionMode="Manual" + EndVoteRequiredRatio="0.6" + VoteRequiredRatio="0.6" + VoteTimeout="30" + KickVoteRequiredRatio="0.6" + DisallowKickVoteTime="120" + KillDisconnectedTime="300" + KickAFKTime="600" + KarmaEnabled="False" + KarmaPreset="default" + GameModeIdentifier="sandbox" + MissionType="All" + MaxPlayers="10" + AutoBanTime="3600" + MaxAutoBanTime="86400" + LootedMoneyDestination="Bank" + MaximumMoneyTransferRequest="999999"> + <campaignsettings + PresetName="Normal" + TutorialEnabled="True" + RadiationEnabled="False" + MaxMissionCount="2" + StartingBalanceAmount="Medium" + Difficulty="Medium" + StartItemSet="normal" /> +</serversettings> \ No newline at end of file diff --git a/barotraumaupdates.json b/barotraumaupdates.json new file mode 100644 index 000000000..4f6964ac8 --- /dev/null +++ b/barotraumaupdates.json @@ -0,0 +1,31 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1026340", + "UpdateSourceArgs":"602960" + }, + { + "UpdateStageName":"Directory Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}Daedalic Entertainment GmbH/Barotrauma" + }, + { + "UpdateStageName":"Directory Creation", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C mkdir \"%LocalAppData%\\Daedalic Entertainment GmbH\\Barotrauma\" & mkdir \"{{$FullBaseDir}}Daedalic Entertainment GmbH\" & mklink /J \"{{$FullBaseDir}}Daedalic Entertainment GmbH\\Barotrauma\" \"%LocalAppData%\\Daedalic Entertainment GmbH\\Barotrauma\"" + }, + { + "UpdateStageName":"Config Template Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "OverwriteExistingFiles":false, + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/barotraumaserversettings.xml", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceArgs":"serversettings.xml" + } +] From 1b631c7e5100e057e24a17b0737d7dcdafcc2f9f Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 28 Apr 2023 13:02:12 -0500 Subject: [PATCH 164/318] Terraria Updates (#326) * Terraria Updates This updates the ports to the new method, changes the child process for Linux, displays a suggestion for Docker on Windows, and includes a default .backupExclude file. * Whoopsies --- exclusions/.backupExclusionsTerraria | 35 ++++++++++++++++++++++++++++ terraria.kvp | 16 +++++++------ terrariaconfig.json | 16 +++++++++++++ 3 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 exclusions/.backupExclusionsTerraria diff --git a/exclusions/.backupExclusionsTerraria b/exclusions/.backupExclusionsTerraria new file mode 100644 index 000000000..2ced99cb6 --- /dev/null +++ b/exclusions/.backupExclusionsTerraria @@ -0,0 +1,35 @@ +Content +lib64 +steamapps +changelog.txt +FNA.dll +FNA.dll.config +installscript.vdf +Mono.Posix.dll +Mono.Security.dll +monoconfig +monomachineconfig +mscorlib.dll +open-folder +steam_appid.txt +SteelSeriesEngineWrapper.dll +System.Configuration.dll +System.Core.dll +System.Data.dll +System.dll +System.Drawing.dll +System.Numerics.dll +System.Runtime.Serialization.dll +System.Security.dll +System.Windows.Forms.dll +System.Windows.Forms.dll.config +System.Xml.dll +System.Xml.Linq.dll +Terraria +Terraria.bin.x86_64 +Terraria.exe +Terraria.png +TerrariaServer +TerrariaServer.bin.x86_64 +TerrariaServer.exe +WindowsBase.dll diff --git a/terraria.kvp b/terraria.kvp index 41ac12df4..404beed78 100644 --- a/terraria.kvp +++ b/terraria.kvp @@ -6,9 +6,11 @@ Meta.ConfigRoot=terraria.kvp Meta.ConfigManifest=terrariaconfig.json Meta.DisplayImageSource=steam:105600 Meta.EndpointURIFormat=steam://connect/{0} -Meta.OS=3 +Meta.OS=Windows, Linux Meta.URL=https://store.steampowered.com/app/105600/Terraria/ -Meta.MinAMPVersion= +Meta.MinAMPVersion=2.4.3.2 +Meta.ContainerPolicy=SupportedOnLinux, RecommendedOnWindows +Meta.ContainerPolicyReason=AMP's console is unable to provide console input on Windows for the Terraria server. It is able to do so on Linux, therefore Docker is recommended on Windows. App.DisplayName=Terraria App.RootDir=./Terraria/ App.BaseDirectory=./Terraria/serverfiles @@ -32,16 +34,16 @@ App.AdminMethod=STDIO App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=7777 -App.ApplicationPort2=0 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 +App.Ports=[{"Protocol":"TCP","Port":7777,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Main Game Port","Description":"","ChildPorts":null}] App.MaxUsers=8 -App.UpdateSources=[{"UpdateStageName": "Config Template Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/terrariaserverconfig.txt","UpdateSourceTarget": "serverfiles","OverwriteExistingFiles": false},{"UpdateStageName": "SteamCMD Terraria","UpdateSourcePlatform": "All","UpdateSource": "SteamCMD","UpdateSourceData": "105600","UpdateSourceTarget": "serverfiles"}] +App.UpdateSources=[{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/terrariaserverconfig.txt","UpdateSourceTarget":"serverfiles","OverwriteExistingFiles":false},{"UpdateStageName":"SteamCMD Terraria","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"105600","UpdateSourceTarget":"serverfiles"},{"UpdateStageName":"Backup Exclusions Download 1","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/exclusions/.backupExclusionsTerraria","UpdateSourceArgs":".backupExclude","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceConditionSetting":"backupExclude","UpdateSourceConditionValue":"true","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=TerrariaServer.bin.x86_64 App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch diff --git a/terrariaconfig.json b/terrariaconfig.json index 8b8caff1f..50c3f6e5b 100644 --- a/terrariaconfig.json +++ b/terrariaconfig.json @@ -485,5 +485,21 @@ }, "IncludeInCommandLine": false, "DefaultValue": "2" + }, + { + "DisplayName":"Download Backup Exclude File", + "Category":"SteamCMD and Updates", + "Description":"This downloads a default backup exclude file to save space on backups by only saving specific directories. If this is disabled, you will need to manually delete the .backupExclude file it downloads.", + "Keywords":"download,backup,exclude,file", + "FieldName":"backupExclude", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"backupExclude", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } } ] From aabfb433d3469f389de8ede53256f6b21c981f56 Mon Sep 17 00:00:00 2001 From: Jasper Borsboom <8398131+jasperfirecai2@users.noreply.github.com> Date: Fri, 28 Apr 2023 20:03:03 +0200 Subject: [PATCH 165/318] Terraria - Allow changing steamcmd beta branch (#335) * Allow changing steamcmd beta branch Use more readable update sources * Update tmodloaderconfig.json * Update tmodloader14config.json * Update tmodloaderconfig.json * Update tmodloader14config.json --------- Co-authored-by: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> --- tmodloader.kvp | 2 +- tmodloader14.kvp | 2 +- tmodloader14config.json | 17 +++++++++-- tmodloader14updates.json | 61 ++++++++++++++++++++++++++++++++++++++++ tmodloaderconfig.json | 17 +++++++++-- tmodloaderupdates.json | 43 ++++++++++++++++++++++++++++ 6 files changed, 136 insertions(+), 6 deletions(-) create mode 100644 tmodloader14updates.json create mode 100644 tmodloaderupdates.json diff --git a/tmodloader.kvp b/tmodloader.kvp index 6893c185b..270ff2e6a 100644 --- a/tmodloader.kvp +++ b/tmodloader.kvp @@ -37,7 +37,7 @@ App.ApplicationPort2=0 App.ApplicationPort3=0 App.RemoteAdminPort=0 App.MaxUsers=8 -App.UpdateSources=[{"UpdateStageName": "Config Template Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/tmodloaderserverconfig.txt","UpdateSourceTarget": "serverfiles","OverwriteExistingFiles": false},{"UpdateStageName": "SteamCMD tModLoader","UpdateSourcePlatform": "All","UpdateSource": "SteamCMD","UpdateSourceData": "1281930","UpdateSourceArgs":"1281930","UpdateSourceTarget": "serverfiles","UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"Steam","UpdateSourceVersion": "1.3-legacy"},{"UpdateStageName": "GitHub tModLoader Windows","UpdateSourcePlatform": "Windows","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Windows.v0.11.8.9.zip","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"},{"UpdateStageName": "GitHub tModLoader Linux","UpdateSourcePlatform": "Linux","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Linux.v0.11.8.9.tar.gz","UnzipUpdateSource": true,"OverwriteExistingFiles": true,"UpdateSourceConditionSetting": "Source","UpdateSourceConditionValue": "GitHub","UpdateSourceTarget": "serverfiles"}] +App.UpdateSources=@IncludeJson[tmodloaderupdates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/tmodloader14.kvp b/tmodloader14.kvp index d9692f02a..0ae5ba9ac 100644 --- a/tmodloader14.kvp +++ b/tmodloader14.kvp @@ -37,7 +37,7 @@ App.ApplicationPort2=0 App.ApplicationPort3=0 App.RemoteAdminPort=0 App.MaxUsers=8 -App.UpdateSources=[{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/tmodloader14serverconfig.txt","UpdateSourceTarget":"serverfiles","UnzipUpdateSource":false,"OverwriteExistingFiles":false},{"UpdateStageName":"SteamCMD tModLoader","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1281930","UpdateSourceArgs":"1281930","UpdateSourceTarget":"serverfiles","UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"Steam"},{"UpdateStageName":"GitHub tModLoader","UpdateSourcePlatform":"All","UpdateSource":"GithubRelease","UpdateSourceData":"tModLoader.zip","UpdateSourceArgs":"tModLoader/tModLoader","UpdateSourceTarget":"serverfiles","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"Source","UpdateSourceConditionValue":"GitHub","DeleteAfterExtract":false},{"UpdateStageName":"Create Dotnet Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}/dotnet/6.0.0"},{"UpdateStageName":"Dotnet download Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-win-x64.zip","UpdateSourceTarget":"{{$FullBaseDir}}/dotnet/6.0.0/","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Dotnet download Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-linux-x64.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}/dotnet/6.0.0/","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] +App.UpdateSources=@IncludeJson[tmodloader14updates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/tmodloader14config.json b/tmodloader14config.json index ccf836351..242c1cc24 100644 --- a/tmodloader14config.json +++ b/tmodloader14config.json @@ -96,7 +96,7 @@ }, { "DisplayName": "Update Source", - "Category": "Terraria ModLoader Settings", + "Category": "SteamCMD and Updates", "Keywords": "download,source,steam,github,tmodloader", "Description": "Select where to obtain tModLoader. Steam requires you to own [Terraria](https://store.steampowered.com/app/105600/Terraria/) & [tModLoader](https://store.steampowered.com/app/1281930/tModLoader/) on your account and accept tModLoader's ToS by installing it as a game to a device you can login from.", "FieldName": "Source", @@ -108,6 +108,19 @@ }, "DefaultValue": "GitHub" }, + { + "DisplayName":"Server Branch", + "Category":"SteamCMD and Updates", + "Description":"Sets the beta branch to install. NOTE: Update Source MUST be Steam. Press update AFTER changing this setting.", + "Keywords":"branch,depot,beta,steam,version", + "FieldName":"BetaBranch", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"BetaBranch", + "IncludeInCommandLine":false, + "DefaultValue":"public", + "placeholder": "1.4.4-preview" + }, { "DisplayName": "World Path", "Category": "Terraria Server Settings", @@ -522,4 +535,4 @@ "IncludeInCommandLine": false, "DefaultValue": "2" } -] \ No newline at end of file +] diff --git a/tmodloader14updates.json b/tmodloader14updates.json new file mode 100644 index 000000000..10ac2c147 --- /dev/null +++ b/tmodloader14updates.json @@ -0,0 +1,61 @@ +[ + { + "UpdateStageName": "Config Template Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/tmodloader14serverconfig.txt", + "UpdateSourceTarget": "serverfiles", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": false + }, + { + "UpdateStageName": "SteamCMD tModLoader", + "UpdateSourcePlatform": "All", + "UpdateSource": "SteamCMD", + "UpdateSourceData": "1281930", + "UpdateSourceArgs": "1281930", + "UpdateSourceTarget": "serverfiles", + "UpdateSourceConditionSetting": "Source", + "UpdateSourceConditionValue": "Steam", + "UpdateSourceVersion": "{{BetaBranch}}" + }, + { + "UpdateStageName": "GitHub tModLoader", + "UpdateSourcePlatform": "All", + "UpdateSource": "GithubRelease", + "UpdateSourceData": "tModLoader.zip", + "UpdateSourceArgs": "tModLoader/tModLoader", + "UpdateSourceTarget": "serverfiles", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "Source", + "UpdateSourceConditionValue": "GitHub", + "DeleteAfterExtract": false + }, + { + "UpdateStageName": "Create Dotnet Directory", + "UpdateSourcePlatform": "All", + "UpdateSource": "CreateDirectory", + "UpdateSourceArgs": "{{$FullBaseDir}}/dotnet/6.0.0" + }, + { + "UpdateStageName": "Dotnet download Windows", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-win-x64.zip", + "UpdateSourceTarget": "{{$FullBaseDir}}/dotnet/6.0.0/", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true + }, + { + "UpdateStageName": "Dotnet download Linux", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-linux-x64.tar.gz", + "UpdateSourceTarget": "{{$FullBaseDir}}/dotnet/6.0.0/", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true + } +] \ No newline at end of file diff --git a/tmodloaderconfig.json b/tmodloaderconfig.json index f90408706..ed1b15a50 100644 --- a/tmodloaderconfig.json +++ b/tmodloaderconfig.json @@ -94,7 +94,7 @@ }, { "DisplayName": "Update Source", - "Category": "Terraria ModLoader Settings", + "Category": "SteamCMD and Updates", "Keywords": "download,source,steam,github,tmodloader", "Description": "Select where to obtain tModLoader. Steam requires you to own [Terraria](https://store.steampowered.com/app/105600/Terraria/) & [tModLoader](https://store.steampowered.com/app/1281930/tModLoader/) on your account and accept tModLoader's ToS by installing it as a game to a device you can login from.", "FieldName": "Source", @@ -106,6 +106,19 @@ }, "DefaultValue": "GitHub" }, + { + "DisplayName":"Server Branch", + "Category":"SteamCMD and Updates", + "Description":"Sets the beta branch to install. NOTE: Update Source MUST be Steam. Press update AFTER changing this setting.", + "Keywords":"branch,depot,beta,steam,version", + "FieldName":"BetaBranch", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"BetaBranch", + "IncludeInCommandLine":false, + "DefaultValue":"1.3-legacy", + "placeholder": "1.3-legacy" + }, { "DisplayName": "World Path", "Category": "Terraria Server Settings", @@ -294,4 +307,4 @@ "ParamFieldName": "announcementboxrange", "DefaultValue": "-1" } -] \ No newline at end of file +] diff --git a/tmodloaderupdates.json b/tmodloaderupdates.json new file mode 100644 index 000000000..72b98c3fd --- /dev/null +++ b/tmodloaderupdates.json @@ -0,0 +1,43 @@ +[ + { + "UpdateStageName": "Config Template Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/tmodloaderserverconfig.txt", + "UpdateSourceTarget": "serverfiles", + "OverwriteExistingFiles": false + }, + { + "UpdateStageName": "SteamCMD tModLoader", + "UpdateSourcePlatform": "All", + "UpdateSource": "SteamCMD", + "UpdateSourceData": "1281930", + "UpdateSourceArgs": "1281930", + "UpdateSourceTarget": "serverfiles", + "UpdateSourceConditionSetting": "Source", + "UpdateSourceConditionValue": "Steam", + "UpdateSourceVersion": "{{BetaBranch}}" + }, + { + "UpdateStageName": "GitHub tModLoader Windows", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Windows.v0.11.8.9.zip", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "Source", + "UpdateSourceConditionValue": "GitHub", + "UpdateSourceTarget": "serverfiles" + }, + { + "UpdateStageName": "GitHub tModLoader Linux", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Linux.v0.11.8.9.tar.gz", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "Source", + "UpdateSourceConditionValue": "GitHub", + "UpdateSourceTarget": "serverfiles" + } +] \ No newline at end of file From 6e7749ce2cff11fa259d1ffb2ebaec503cb37cda Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 28 Apr 2023 16:31:39 -0500 Subject: [PATCH 166/318] Valheim - BepInEx Version and Valheim+ Source Changes (#321) --- valheim.kvp | 2 +- valheimconfig.json | 32 ++++++++++++++++++++++++++++++-- valheimupdates.json | 13 +++++++------ 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/valheim.kvp b/valheim.kvp index 01bc846f4..601956e86 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -40,7 +40,7 @@ App.UniversalSleepSteamQueryPort=2 App.WakeupMode=Any Console.FilterMatchRegex=^\d\d\/\d\d\/\d{4} \d\d:\d\d:\d\d: Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^\(Filename: .*? Line: \d+\)$|^Thread -> id: .+|Fallback handler could not load library.*$ +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|\(Filename: .*? Line: \d+\)$|^Thread -> id: .+|Fallback handler could not load library.*$ Console.AppReadyRegex=^Game server connected$ Console.UserJoinRegex=^Got character ZDOID from (?<username>.+?) : (?<userid>-?\d+):\d+$ Console.UserLeaveRegex=^Destroying abandoned non persistent zdo -?\d+:\d+ owner (?<userid>-?\d+)$ diff --git a/valheimconfig.json b/valheimconfig.json index cf2ad4338..5a4203f5c 100644 --- a/valheimconfig.json +++ b/valheimconfig.json @@ -90,7 +90,7 @@ },{ "DisplayName":"Install BepInEx", "Category":"SteamCMD and Updates", - "Description":"Installs BepInEx. Standalone - DO NOT use with the Install Valheim Plus option. NOTE: Update the server after enabling this option.", + "Description":"Installs BepInEx. Standalone - DO NOT use with the Install Valheim Plus option. You must also select the \"BepInEx Version\" in the next field. NOTE: Update the server after enabling this option.", "Keywords":"Install,BepInEx", "FieldName":"bepinex_install", "InputType":"checkbox", @@ -102,10 +102,23 @@ "False": "false", "True": "true" } + },{ + "DisplayName":"BepInEx Version", + "Category":"SteamCMD and Updates", + "Description":"The version of BepInEx to download. You can find the latest version on [Thunderstore.io](https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/). NOTE: Update the server after editing this option.", + "Keywords":"Install,BepInEx,version", + "FieldName":"bepinex_version", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"bepinex_version", + "IncludeInCommandLine":false, + "DefaultValue":"5.4.2105", + "Placeholder":"5.4.2105", + "EnumValues":{} },{ "DisplayName":"Install Valheim Plus", "Category":"SteamCMD and Updates", - "Description":"Installs Valheim Plus. Includes BepInEx. NOTE: Update the server after enabling this option.", + "Description":"Installs Valheim Plus. Includes BepInEx. You can specify the desired \"Valheim Plus Source\" in the next field. NOTE: Update the server after enabling this option.", "Keywords":"Install,Valheim,Plus", "FieldName":"valheim_plus_install", "InputType":"checkbox", @@ -117,6 +130,21 @@ "False": "false", "True": "true" } + },{ + "DisplayName":"Valheim Plus Source", + "Category":"SteamCMD and Updates", + "Description":"The desired GitHub repository from which to download Valheim Plus. NOTE: Update the server after editing this option.", + "Keywords":"Install,Valheim,Plus,Source,Repo", + "FieldName":"valheim_plus_source", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"valheim_plus_source", + "IncludeInCommandLine":false, + "DefaultValue":"valheimPlus", + "EnumValues":{ + "valheimPlus":"Original valheimPlus repo (default)", + "Grantapher":"Forked Grantapher repo" + } },{ "DisplayName":"Please Read!", "Category":"Valheim Plus - Basic Settings", diff --git a/valheimupdates.json b/valheimupdates.json index 8a3a4a42b..5ffcd4028 100644 --- a/valheimupdates.json +++ b/valheimupdates.json @@ -25,8 +25,8 @@ "UpdateStageName": "Fetch BepInEx from Thunderstore", "UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", - "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/5.4.2102/", - "UpdateSourceArgs": "denikson-BepInExPack_Valheim-5.4.2102.zip", + "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/{{bepinex_version}}/", + "UpdateSourceArgs": "denikson-BepInExPack_Valheim-{{bepinex_version}}.zip", "UpdateSourceConditionSetting": "bepinex_install", "UpdateSourceConditionValue": "true", "UnzipUpdateSource": true, @@ -55,7 +55,7 @@ "UpdateStageName": "Fetch ValheimPlus from Github - Windows", "UpdateSourcePlatform": "Windows", "UpdateSource": "GithubRelease", - "UpdateSourceArgs": "valheimPlus/ValheimPlus", + "UpdateSourceArgs": "{{valheim_plus_source}}/ValheimPlus", "UpdateSourceData": "WindowsServer.zip", "UpdateSourceConditionSetting": "valheim_plus_install", "UpdateSourceConditionValue": "true", @@ -66,7 +66,7 @@ "UpdateStageName": "Fetch ValheimPlus from Github - Linux", "UpdateSourcePlatform": "Linux", "UpdateSource": "GithubRelease", - "UpdateSourceArgs": "valheimPlus/ValheimPlus", + "UpdateSourceArgs": "{{valheim_plus_source}}/ValheimPlus", "UpdateSourceData": "UnixServer.zip", "UpdateSourceConditionSetting": "valheim_plus_install", "UpdateSourceConditionValue": "true", @@ -76,8 +76,9 @@ { "UpdateStageName": "Settings File Download", "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://raw.githubusercontent.com/valheimPlus/ValheimPlus/development/valheim_plus.cfg", + "UpdateSource": "GithubRelease", + "UpdateSourceArgs": "{{valheim_plus_source}}/ValheimPlus", + "UpdateSourceData": "valheim_plus.cfg", "UpdateSourceTarget": "{{$FullBaseDir}}/BepInEx/config", "OverwriteExistingFiles": false, "UpdateSourceConditionSetting": "valheim_plus_install", From 10fa4ea55c97f9bc0f707b5319689abe1b9983d4 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 29 Apr 2023 09:36:17 +1000 Subject: [PATCH 167/318] Longvinter: settings updates (#246) --- longvinter.kvp | 11 +++++---- longvinterconfig.json | 56 +++++++++++++++++++++++++++++++++++++++++- longvintergame.ini | 4 ++- longvinterupdates.json | 45 +++++++++++++++++++++++++++++++++ 4 files changed, 109 insertions(+), 7 deletions(-) create mode 100644 longvinterupdates.json diff --git a/longvinter.kvp b/longvinter.kvp index ef5791772..6bc1cca66 100644 --- a/longvinter.kvp +++ b/longvinter.kvp @@ -14,6 +14,7 @@ Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=RecommendedOnLinux Meta.ContainerPolicyReason=The dependency git-lfs is required for the server to be successfully downloaded on Linux. Using a container avoids the need to install this dependency on the host. +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=2200?utm_source=ampcreate&utm_content=longvinter Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Longvinter @@ -22,13 +23,13 @@ App.BaseDirectory=./longvinter/1639880/ App.ExecutableWin=1639880\Longvinter\Binaries\Win64\LongvinterServer-Win64-Shipping.exe App.ExecutableLinux=1639880/Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping App.WorkingDir=1639880 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs=-FullStdOutLogOutput -App.CommandLineArgs=Longvinter -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout {{$PlatformArgs}} +App.LinuxCommandLineArgs=Longvinter -stdout +App.WindowsCommandLineArgs=Longvinter -stdout -FullStdOutLogOutput +App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} -MultiHome={{$ApplicationIPBinding}} {{$FormattedArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1635450"} -App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE App.ExitTimeout=30 @@ -54,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1639880","UpdateSourceArgs":"1635450"},{"UpdateStageName":"Clone GitHub Repo","UpdateSourcePlatform":"Linux","UpdateSource":"GitRepo","UpdateSourceData":"https://github.com/Uuvana-Studios/longvinter-linux-server.git","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Set Binary Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/longvintergame.ini","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Windows","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false}] +App.UpdateSources=@IncludeJson[longvinterupdates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/longvinterconfig.json b/longvinterconfig.json index ed8410fac..b65de5725 100644 --- a/longvinterconfig.json +++ b/longvinterconfig.json @@ -20,9 +20,23 @@ "FieldName":"serverTag", "InputType":"text", "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.Tag", + "IncludeInCommandLine":false, + "DefaultValue":"none", + "EnumValues":{} + }, + { + "DisplayName":"Server Tag", + "Category":"Server Settings", + "Description":"Setting for legacy configs", + "Keywords":"", + "FieldName":"serverTag", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.serverTag", "IncludeInCommandLine":false, - "DefaultValue":"Default", + "DefaultValue":"none", "EnumValues":{} }, { @@ -108,6 +122,34 @@ "True":"true" } }, + { + "DisplayName":"Enable Co-op", + "Category":"Server Settings", + "Description":"If enabled, players will spawn at the same location (as set under Co-op Spawn Location)", + "Keywords":"co-op,coop,coopplay,spawn", + "FieldName":"CoopPlay", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.CoopPlay", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Co-op Spawn Location", + "Category":"Server Settings", + "Description":"Sets the spawn point location for players if Co-op is enabled", + "Keywords":"co-op,coop,coopspawn,spawn,location", + "FieldName":"CoopSpawn", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.CoopSpawn", + "IncludeInCommandLine":false, + "DefaultValue":"0" + }, { "DisplayName":"Enable Tent Decay", "Category":"Server Settings", @@ -136,5 +178,17 @@ "IncludeInCommandLine":false, "DefaultValue":"2", "Suffix":"tents" + }, + { + "DisplayName":"Server IP Binding", + "Category":"Server Settings", + "Description":"If required, you can change the binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", + "Keywords":"ip,binding,localip,address,multihome", + "FieldName":"MultiHome", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"MultiHome", + "IncludeInCommandLine":false, + "EnumValues":{} } ] \ No newline at end of file diff --git a/longvintergame.ini b/longvintergame.ini index 82a71d38b..6a96cc6d7 100644 --- a/longvintergame.ini +++ b/longvintergame.ini @@ -1,10 +1,12 @@ [/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c] ServerName=AMP Powered Longvinter Server -serverTag=Default MaxPlayers=32 ServerMOTD=Welcome to Longvinter Island! Password= CommunityWebsite= +CoopPlay=false +CoopSpawn=0 +Tag=none [/game/blueprints/server/gm_longvinter.gm_longvinter_c] AdminSteamID= diff --git a/longvinterupdates.json b/longvinterupdates.json new file mode 100644 index 000000000..85394f986 --- /dev/null +++ b/longvinterupdates.json @@ -0,0 +1,45 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1639880", + "UpdateSourceArgs":"1635450" + }, + { + "UpdateStageName":"Clone GitHub Repo", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"GitRepo", + "UpdateSourceData":"https://github.com/Uuvana-Studios/longvinter-linux-server.git", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Set Binary Executable Flag", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"SetExecutableFlag", + "UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping" + }, + { + "UpdateStageName":"SteamCMD Component Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1007", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Server Config File Copy", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini", + "UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini.default", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Server Config File Copy", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini", + "UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini.default", + "OverwriteExistingFiles":true + } +] \ No newline at end of file From 5bd6939090da4343344b7b6bdca463813aa9080b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 29 Apr 2023 09:37:23 +1000 Subject: [PATCH 168/318] DayZ: FPS and filepatching settings changes (#301) --- dayz-experimental.kvp | 4 ++-- dayz-experimentalconfig.json | 32 +++++++++++++++++++++++++------- dayz-original.kvp | 4 ++-- dayz-originalconfig.json | 32 +++++++++++++++++++++++++------- 4 files changed, 54 insertions(+), 18 deletions(-) diff --git a/dayz-experimental.kvp b/dayz-experimental.kvp index 3039760dd..6cb93d969 100644 --- a/dayz-experimental.kvp +++ b/dayz-experimental.kvp @@ -14,7 +14,7 @@ Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=Supported Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/t/dayz-server-guide/3454 +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3454?utm_source=ampcreate&utm_content=dayz Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified @@ -27,7 +27,7 @@ App.ExecutableLinux=1042420/DayZServer App.WorkingDir=1042420 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} "-profiles={{$FullBaseDir}}DayZServerData" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=serverDZ.cfg -dologs -adminlog -freezeCheck -ip={{$ApplicationIPBinding}} {{$FormattedArgs}} "{{CustomServerArgs}}" +App.CommandLineArgs={{$PlatformArgs}} "-profiles={{$FullBaseDir}}DayZServerData" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=serverDZ.cfg -dologs -adminlog -freezeCheck -ip={{$ApplicationIPBinding}} {{$FormattedArgs}} {{filePatching}}{{EnableLimitFPS}}"{{CustomServerArgs}}" App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1024020"} diff --git a/dayz-experimentalconfig.json b/dayz-experimentalconfig.json index 3dcf0816c..d21ddfe67 100644 --- a/dayz-experimentalconfig.json +++ b/dayz-experimentalconfig.json @@ -265,10 +265,12 @@ "Keywords":"file,patching,filepatching", "FieldName":"filePatching", "InputType":"checkbox", - "IsFlagArgument":true, + "IsFlagArgument":false, "ParamFieldName":"filePatching", - "IncludeInCommandLine":true, - "DefaultValue":"-filePatching" + "IncludeInCommandLine":false, + "DefaultValue":"-filePatching ", + "False":"", + "True":"-filePatching " }, { "DisplayName":"Allow Client File Patching", @@ -303,17 +305,33 @@ } }, { - "DisplayName":"FPS Limit", + "DisplayName":"Enable FPS Limit", "Category":"DayZ Server Settings", - "Description":"Sets the limit for the server FPS, to lower CPU usage of low population servers", - "Keywords":"frames,fps,limitfps", + "Description":"If enabled, the server FPS will be limited to the value set under \"FPS Limit Value\". Disabling this setting can have a severe effect on server performance", + "Keywords":"enable,frames,fps,limitfps", + "FieldName":"EnableLimitFPS", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"EnableLimitFPS", + "IncludeInCommandLine":false, + "DefaultValue":"-limitFPS={{limitFPS}} ", + "EnumValues":{ + "False":"", + "True":"-limitFPS={{limitFPS}} " + } + }, + { + "DisplayName":"FPS Limit Value", + "Category":"DayZ Server Settings", + "Description":"Sets the limit for the server FPS, to lower CPU usage of low population servers. Requires \"Enable FPS Limit\" to be set", + "Keywords":"frames,fps,value,limitfps", "FieldName":"limitFPS", "InputType":"number", "MinValue":"1", "MaxValue":"200", "IsFlagArgument":false, "ParamFieldName":"limitFPS", - "IncludeInCommandLine":true, + "IncludeInCommandLine":false, "DefaultValue":"200", "Placeholder":"200", "Suffix":"fps", diff --git a/dayz-original.kvp b/dayz-original.kvp index b73696ea3..63c42b27d 100644 --- a/dayz-original.kvp +++ b/dayz-original.kvp @@ -14,7 +14,7 @@ Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=Supported Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/t/dayz-server-guide/3454 +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3454?utm_source=ampcreate&utm_content=dayz Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified @@ -27,7 +27,7 @@ App.ExecutableLinux= App.WorkingDir=223350 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} "-profiles={{$FullBaseDir}}DayZServerData" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=serverDZ.cfg -dologs -adminlog -freezeCheck -ip={{$ApplicationIPBinding}} {{$FormattedArgs}} "{{CustomServerArgs}}" +App.CommandLineArgs={{$PlatformArgs}} "-profiles={{$FullBaseDir}}DayZServerData" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=serverDZ.cfg -dologs -adminlog -freezeCheck -ip={{$ApplicationIPBinding}} {{$FormattedArgs}} {{filePatching}}{{EnableLimitFPS}}"{{CustomServerArgs}}" App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"221100"} diff --git a/dayz-originalconfig.json b/dayz-originalconfig.json index b21ad1994..a9df02e0b 100644 --- a/dayz-originalconfig.json +++ b/dayz-originalconfig.json @@ -265,10 +265,12 @@ "Keywords":"file,patching,filepatching", "FieldName":"filePatching", "InputType":"checkbox", - "IsFlagArgument":true, + "IsFlagArgument":false, "ParamFieldName":"filePatching", - "IncludeInCommandLine":true, - "DefaultValue":"-filePatching" + "IncludeInCommandLine":false, + "DefaultValue":"-filePatching ", + "False":"", + "True":"-filePatching " }, { "DisplayName":"Allow Client File Patching", @@ -303,17 +305,33 @@ } }, { - "DisplayName":"FPS Limit", + "DisplayName":"Enable FPS Limit", "Category":"DayZ Server Settings", - "Description":"Sets the limit for the server FPS, to lower CPU usage of low population servers", - "Keywords":"frames,fps,limitfps", + "Description":"If enabled, the server FPS will be limited to the value set under \"FPS Limit Value\". Disabling this setting can have a severe effect on server performance", + "Keywords":"enable,frames,fps,limitfps", + "FieldName":"EnableLimitFPS", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"EnableLimitFPS", + "IncludeInCommandLine":false, + "DefaultValue":"-limitFPS={{limitFPS}} ", + "EnumValues":{ + "False":"", + "True":"-limitFPS={{limitFPS}} " + } + }, + { + "DisplayName":"FPS Limit Value", + "Category":"DayZ Server Settings", + "Description":"Sets the limit for the server FPS, to lower CPU usage of low population servers. Requires \"Enable FPS Limit\" to be set", + "Keywords":"frames,fps,value,limitfps", "FieldName":"limitFPS", "InputType":"number", "MinValue":"1", "MaxValue":"200", "IsFlagArgument":false, "ParamFieldName":"limitFPS", - "IncludeInCommandLine":true, + "IncludeInCommandLine":false, "DefaultValue":"200", "Placeholder":"200", "Suffix":"fps", From c888050b660b4e8befe469d21fce2595c0bc5b92 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 29 Apr 2023 09:38:35 +1000 Subject: [PATCH 169/318] Stationeers: add branch setting (#323) --- stationeers.kvp | 2 +- stationeersconfig.json | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/stationeers.kvp b/stationeers.kvp index 371e485a2..a3fc030b6 100644 --- a/stationeers.kvp +++ b/stationeers.kvp @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceArgs":"544550"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceArgs":"544550","UpdateSourceVersion":"{{ServerBranch}}"},{"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=True App.SteamForceLoginPrompt=False diff --git a/stationeersconfig.json b/stationeersconfig.json index 9f61c2c7c..9d5524387 100644 --- a/stationeersconfig.json +++ b/stationeersconfig.json @@ -254,5 +254,21 @@ "True":"true", "False":"false" } + }, + { + "DisplayName":"Server Branch", + "Category":"SteamCMD and Updates", + "Description":"Sets the server branch to install. The client must be on the same version. NOTE: Update the server after switching branches!", + "Keywords":"server,branch,depot", + "FieldName":"ServerBranch", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerBranch", + "IncludeInCommandLine":false, + "DefaultValue":"public", + "EnumValues":{ + "public":"Public (default)", + "beta":"Beta" + } } ] \ No newline at end of file From 6c1d9df968a6c23eb1a81d1a762e8ee4ee9d7917 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Fri, 28 Apr 2023 23:47:19 -0500 Subject: [PATCH 170/318] Add American Truck Simulator (#332) * Add American Truck Simulator The game requires additional setup which are linked in the ExtraSetupStepsURI. Linux only or Docker on Windows as there are issues running as NETWORK SERVICE in Windows. After this is fully reviewed, I'll convert it to work for Euro Truck Simulator 2 as well. * Update american-truck-simulator.kvp * Requested changes + moderators * Update american-truck-simulatorupdates.json --- american-truck-simulator.kvp | 98 +++++++ american-truck-simulator.sii | 33 +++ american-truck-simulatorconfig.json | 340 ++++++++++++++++++++++++ american-truck-simulatormetaconfig.json | 8 + american-truck-simulatorports.json | 16 ++ american-truck-simulatorupdates.json | 24 ++ 6 files changed, 519 insertions(+) create mode 100644 american-truck-simulator.kvp create mode 100644 american-truck-simulator.sii create mode 100644 american-truck-simulatorconfig.json create mode 100644 american-truck-simulatormetaconfig.json create mode 100644 american-truck-simulatorports.json create mode 100644 american-truck-simulatorupdates.json diff --git a/american-truck-simulator.kvp b/american-truck-simulator.kvp new file mode 100644 index 000000000..b81fd24c8 --- /dev/null +++ b/american-truck-simulator.kvp @@ -0,0 +1,98 @@ +Meta.DisplayName=American Truck Simulator +Meta.Description=American Truck Simulator Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=NotSupported +Meta.Arch=x86_64 +Meta.Author=IceOfWraith +Meta.URL=https://store.steampowered.com/app/270880/American_Truck_Simulator/ +Meta.DisplayImageSource=steam:270880 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort} +Meta.ConfigManifest=american-truck-simulatorconfig.json +Meta.MetaConfigManifest=american-truck-simulatormetaconfig.json +Meta.ConfigRoot=american-truck-simulator.kvp +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=SupportedOnLinux, RequiredOnWindows +Meta.ContainerPolicyReason=The game server does not run properly as NETWORK SERVICE, so it must be run within Docker on Windows. +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3790?utm_source=ampcreate&utm_content=ats-ets2 +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=American Truck Simulator +App.RootDir=./american-truck-simulator/ +App.BaseDirectory=./american-truck-simulator/2239530/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin= +App.ExecutableLinux=2239530/bin/linux_x64/amtrucks_server +App.WorkingDir=2239530 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -nosingle {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"270880","XDG_DATA_HOME":"{{$FullBaseDir}}"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=stop +App.ExitFile=app_exit.lck +App.HasWriteableConsole=False +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=@IncludeJson[american-truck-simulatorports.json] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=MainServerPort +App.UniversalSleepApplicationUDPPortRef=MainServerPort +App.UniversalSleepSteamQueryPortRef=QueryDedicatedPort +App.MaxUsers=8 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=False +App.RemoteAdminPassword= +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.LoginTransformPrefix= +App.RCONConnectDelaySeconds=30 +App.RCONConnectRetrySeconds=15 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[american-truck-simulatorupdates.json] +App.PreStartStages=[] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.AttemptedExtIPFetch=True +App.IPFetchLimiter=System.Threading.SemaphoreSlim +App.LastFailedIPFetch=null +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+ +Console.AppReadyRegex=^$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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/american-truck-simulator.sii b/american-truck-simulator.sii new file mode 100644 index 000000000..b1e64cb3d --- /dev/null +++ b/american-truck-simulator.sii @@ -0,0 +1,33 @@ +SiiNunit +{ +server_config : _nameless.3a6.40c0 { + lobby_name: "{{lobby_name}}" + description: "{{description}}" + welcome_message: "{{welcome_message}}" + password: "{{password}}" + max_players: {{max_players}} + max_vehicles_total: {{max_vehicles_total}} + max_ai_vehicles_player: {{max_ai_vehicles_player}} + max_ai_vehicles_player_spawn: {{max_ai_vehicles_player_spawn}} + connection_virtual_port: 100 + query_virtual_port: 101 + connection_dedicated_port: {{connection_dedicated_port}} + query_dedicated_port: {{query_dedicated_port}} + server_logon_token: "{{server_logon_token}}" + player_damage: {{player_damage}} + traffic: {{traffic}} + hide_in_company: {{hide_in_company}} + hide_colliding: {{hide_colliding}} + force_speed_limiter: {{force_speed_limiter}} + mods_optioning: {{mods_optioning}} + timezones: {{timezones}} + service_no_collision: {{service_no_collision}} + in_menu_ghosting: {{in_menu_ghosting}} + name_tags: {{name_tags}} + friends_only: false + show_server: true + moderator_list: {{moderator_list1}} + {{moderator_list2}} +} + +} diff --git a/american-truck-simulatorconfig.json b/american-truck-simulatorconfig.json new file mode 100644 index 000000000..0d8c513dc --- /dev/null +++ b/american-truck-simulatorconfig.json @@ -0,0 +1,340 @@ +[ + { + "DisplayName":"Lobby Name", + "Category":"ATS - Server Settings", + "Description":"Session name, limited to 63", + "Keywords":"lobby,name", + "FieldName":"lobby_name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"lobby_name", + "IncludeInCommandLine":false, + "DefaultValue":"American Truck Simulator Server - Powered by AMP", + "Placeholder":"American Truck Simulator Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Description", + "Category":"ATS - Server Settings", + "Description":"Session description, limited to 63 characters.", + "Keywords":"lobby,description", + "FieldName":"description", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"description", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Welcome Message", + "Category":"ATS - Server Settings", + "Description":"Session welcome message, limited to 127 characters.", + "Keywords":"welcome,message", + "FieldName":"welcome_message", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"welcome_message", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Password", + "Category":"ATS - Server Settings", + "Description":"Session password, limited to 63 characters.", + "Keywords":"password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Max Players", + "Category":"ATS - Server Settings", + "Description":"Maximum players in session, limit is 8 players.", + "Keywords":"max,players", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_players", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "MinValue":"1", + "MaxValue":"8", + "EnumValues":{} + }, + { + "DisplayName":"Max Vehicles Total", + "Category":"ATS - Server Settings", + "Description":"", + "Keywords":"max,vehicles,total", + "FieldName":"max_vehicles_total", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_vehicles_total", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "MinValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Max AI Vehicles Player", + "Category":"ATS - Server Settings", + "Description":"", + "Keywords":"max,ai,vehicles,player", + "FieldName":"max_ai_vehicles_player", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_ai_vehicles_player", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "MinValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Max AI Vehicles Player Spawn", + "Category":"ATS - Server Settings", + "Description":"", + "Keywords":"max,ai,vehicles,player,spawn", + "FieldName":"max_ai_vehicles_player_spawn", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_ai_vehicles_player_spawn", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "MinValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"connection_dedicated_port", + "Category":"ATS - Server Settings", + "Description":"Port used for main game traffic", + "Keywords":"", + "FieldName":"$MainServerPort", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"connection_dedicated_port", + "IncludeInCommandLine":false, + "EnumValues":{}, + "Hidden":true + }, + { + "DisplayName":"query_dedicated_port", + "Category":"ATS - Server Settings", + "Description":"Port used for Steam Query", + "Keywords":"", + "FieldName":"$QueryDedicatedPort", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"query_dedicated_port", + "IncludeInCommandLine":false, + "EnumValues":{}, + "Hidden":true + }, + { + "DisplayName":"Server Logon Token", + "Category":"ATS - Server Settings", + "Description":"Use appid 270880 to create a [Steam Server Login Token](https://steamcommunity.com/dev/managegameservers).", + "Keywords":"server,logon,token", + "FieldName":"server_logon_token", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"server_logon_token", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"6544F7E034119F113526E96474F", + "EnumValues":{} + }, + { + "DisplayName":"Player Damage", + "Category":"ATS - Server Settings", + "Description":"Flag to allow players to receive damage from other players.", + "Keywords":"player,damage", + "FieldName":"player_damage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"player_damage", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Traffic", + "Category":"ATS - Server Settings", + "Description":"Flag to enable traffic.", + "Keywords":"traffic", + "FieldName":"traffic", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"traffic", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Hide In Company", + "Category":"ATS - Server Settings", + "Description":"Flag to enable if remote players are hidden in company area.", + "Keywords":"hide,company", + "FieldName":"hide_in_company", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"hide_in_company", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Hide Colliding", + "Category":"ATS - Server Settings", + "Description":"Flag to hide colliding vehicle after teleport. ", + "Keywords":"hide,colliding", + "FieldName":"hide_colliding", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"hide_colliding", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Force Speed Limiter", + "Category":"ATS - Server Settings", + "Description":"Flag to force speed limiter.", + "Keywords":"force,speed,limiter", + "FieldName":"force_speed_limiter", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"force_speed_limiter", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Mods Optioning", + "Category":"ATS - Server Settings", + "Description":"Flag to enable mods marked as optional, to be really optional.", + "Keywords":"mods,optioning", + "FieldName":"mods_optioning", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"mods_optioning", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Timezones", + "Category":"ATS - Server Settings", + "Description":"Sets whether the timezone updates as players change zones. It displays either the time or the time and timezone information.", + "Keywords":"timezones", + "FieldName":"timezones", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"timezones", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0": "Disabled", + "1": "Time Only", + "2": "Full Info" + } + }, + { + "DisplayName":"Service No Collision", + "Category":"ATS - Server Settings", + "Description":"Disable collisions on service area.", + "Keywords":"service,no,collision", + "FieldName":"service_no_collision", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"service_no_collision", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"In Menu Ghosting", + "Category":"ATS - Server Settings", + "Description":"Disable collisions when game paused.", + "Keywords":"in,menu,ghosting", + "FieldName":"in_menu_ghosting", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"in_menu_ghosting", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Name Tags", + "Category":"ATS - Server Settings", + "Description":"Show player name tags above vehicles.", + "Keywords":"name,tags", + "FieldName":"name_tags", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"name_tags", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Moderator Count", + "Category":"ATS - Server Settings", + "Description":"The number of moderators in the Moderator List setting.", + "Keywords":"moderator,count", + "FieldName":"moderator_list1", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"moderator_list1", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Moderator List", + "Category":"ATS - Server Settings", + "Description":"Enter moderators, one per line. Increment the value in [#] starting at 0. 123456789 should be replaced with the moderator's Steam64 IDs. e.g. moderator_list[0]: 123456789.", + "Keywords":"moderator,list", + "FieldName":"moderator_list2", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"moderator_list2", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + } +] \ No newline at end of file diff --git a/american-truck-simulatormetaconfig.json b/american-truck-simulatormetaconfig.json new file mode 100644 index 000000000..7e3f87380 --- /dev/null +++ b/american-truck-simulatormetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile":"American Truck Simulator/server_config.sii", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"american-truck-simulator/AMP_server_config.sii" + } +] \ No newline at end of file diff --git a/american-truck-simulatorports.json b/american-truck-simulatorports.json new file mode 100644 index 000000000..4067acc8d --- /dev/null +++ b/american-truck-simulatorports.json @@ -0,0 +1,16 @@ +[ + { + "Protocol": "UDP", + "Port": "27015", + "Name": "Main Server Port", + "Description": "Port used for main game traffic", + "Ref": "MainServerPort" + }, + { + "Protocol": "UDP", + "Port": "27016", + "Name": "Query Dedicated Port", + "Description": "Port used for main game traffic", + "Ref": "QueryDedicatedPort" + } +] \ No newline at end of file diff --git a/american-truck-simulatorupdates.json b/american-truck-simulatorupdates.json new file mode 100644 index 000000000..3bea6d26a --- /dev/null +++ b/american-truck-simulatorupdates.json @@ -0,0 +1,24 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourceData":"2239530", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceArgs":"270880" + }, + { + "UpdateStageName":"Settings Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}American Truck Simulator" + }, + { + "UpdateStageName":"Settings Template Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/american-truck-simulator.sii", + "UpdateSourceArgs":"AMP_server_config.sii", + "UpdateSourceTarget":"{{$FullRootDir}}", + "OverwriteExistingFiles":true + } +] \ No newline at end of file From cfc6da2dea906f83d7efde15d388cca554b58de8 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 29 Apr 2023 15:06:55 +1000 Subject: [PATCH 171/318] Frozen Flame: updates for server changes (#343) --- frozen-flame.kvp | 2 +- frozen-flameconfig.json | 240 +++++++++++++++++++++++++------- frozen-flamegame.ini | 20 ++- frozen-flamegamemodesurvive.ini | 16 +++ frozen-flameheavennormal.ini | 16 +++ frozen-flamemetaconfig.json | 24 ++++ frozen-flameupdates.json | 40 +++++- 7 files changed, 301 insertions(+), 57 deletions(-) create mode 100644 frozen-flamegamemodesurvive.ini create mode 100644 frozen-flameheavennormal.ini diff --git a/frozen-flame.kvp b/frozen-flame.kvp index 228dd0881..c9125248e 100644 --- a/frozen-flame.kvp +++ b/frozen-flame.kvp @@ -22,7 +22,7 @@ App.ExecutableLinux=1348640/FrozenFlame/Binaries/Linux/FrozenFlameServer-Linux-S App.WorkingDir=1348640 App.LinuxCommandLineArgs=FrozenFlame -stdout App.WindowsCommandLineArgs=FrozenFlame -stdout -FullStdOutLogOutput -App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} -RconPort={{$RCONPort}} -RconPassword={{$RemoteAdminPassword}} -ip={{$ExternalIP}} {{noeac}}{{$FormattedArgs}} -LOCALLOGTIMES +App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} -RconPort={{$RCONPort}} -RconPassword={{$RemoteAdminPassword}} -ip={{$ExternalIP}} {{noeac}}{{PublicServer}}{{$FormattedArgs}} -LOCALLOGTIMES App.AppSettings={} App.EnvironmentVariables={} App.CommandLineParameterFormat=-{0}="{1}" diff --git a/frozen-flameconfig.json b/frozen-flameconfig.json index c93ca305c..74b2f7344 100644 --- a/frozen-flameconfig.json +++ b/frozen-flameconfig.json @@ -3,7 +3,7 @@ "DisplayName":"Server Name", "Category":"Frozen Flame Server Settings", "Description":"The name of the server as it appears publicly", - "Keywords":"name", + "Keywords":"name,servername", "FieldName":"ServerName", "InputType":"text", "IsFlagArgument":false, @@ -16,7 +16,7 @@ "DisplayName":"Server Password", "Category":"Frozen Flame Server Settings", "Description":"Password to connect to the server", - "Keywords":"server,password", + "Keywords":"server,password,serverpassword", "FieldName":"ServerPassword", "InputType":"password", "IsFlagArgument":false, @@ -25,11 +25,43 @@ "DefaultValue":"", "EnumValues":{} }, + { + "DisplayName":"Game Mode", + "Category":"Frozen Flame Server Settings", + "Description":"Sets the game mode (default map)", + "Keywords":"game,mode,gamemodesurvive,heavennormal,survival,cataclysm,campaign,heaven,serverdefaultmap", + "FieldName":"ServerDefaultMap", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[/Script/EngineSettings.GameMapsSettings]:ServerDefaultMap", + "IncludeInCommandLine":true, + "DefaultValue":"/Game/GameModeSurvive/Maps/Survive/Survive.Survive", + "EnumValues":{ + "/Game/GameModeSurvive/Maps/Survive/Survive.Survive":"Cataclysm/Survival mode (default)", + "/Game/FrozenFlame/Maps/Heaven/Heaven.Heaven":"Heaven/Campaign mode" + } + }, + { + "DisplayName":"Make Server Public", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, the server will be made publicly visible by setting the required meta server URL and meta server secret", + "Keywords":"meta,server,url,public,metaserverurl,metaserversecret", + "FieldName":"PublicServer", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"PublicServer", + "IncludeInCommandLine":false, + "DefaultValue":"-ini:Engine:[URL]:MetaServerUrl=meta.frozen-flame.xyz -ini:Engine:[URL]:MetaServerSecret=TEuj7URa2horRuENjjpm3d1rqBPtHOz4 ", + "EnumValues":{ + "False":"", + "True":"-ini:Engine:[URL]:MetaServerUrl=meta.frozen-flame.xyz -ini:Engine:[URL]:MetaServerSecret=TEuj7URa2horRuENjjpm3d1rqBPtHOz4 " + } + }, { "DisplayName":"Player Limit", "Category":"Frozen Flame Server Settings", "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit", + "Keywords":"players,limit,maxplayers", "FieldName":"$MaxUsers", "InputType":"number", "IsFlagArgument":false, @@ -44,7 +76,7 @@ "DisplayName":"Disable EasyAntiCheat", "Category":"Frozen Flame Server Settings", "Description":"If set, the server will be started without EasyAntiCheat (EAC). Clients should also be started without it", - "Keywords":"easy,anti,cheat,eac", + "Keywords":"easy,anti,cheat,eac,noeac", "FieldName":"noeac", "InputType":"checkbox", "IsFlagArgument":false, @@ -56,11 +88,27 @@ "True":"-noeac " } }, + { + "DisplayName":"Skip Tutorial", + "Category":"Frozen Flame Server Settings", + "Description":"If set, the tutorial will be skipped", + "Keywords":"skip,tutorial,bskiptutorial", + "FieldName":"bSkipTutorial", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bSkipTutorial", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, { "DisplayName":"Enable PvP", "Category":"Frozen Flame Server Settings", "Description":"If set, PvP for non-friends will be enabled", - "Keywords":"pvp", + "Keywords":"pvp,bfreepvp", "FieldName":"bFreePVP", "InputType":"checkbox", "IsFlagArgument":false, @@ -76,7 +124,7 @@ "DisplayName":"Day Length", "Category":"Frozen Flame Server Settings", "Description":"Sets how long a day lasts on the server", - "Keywords":"day,duration,length", + "Keywords":"day,duration,length,durationofday", "FieldName":"DurationOfDay", "InputType":"number", "IsFlagArgument":false, @@ -91,7 +139,7 @@ "DisplayName":"Health Rate After Respawn", "Category":"Frozen Flame Server Settings", "Description":"Sets the health rate after death/upon respawn", - "Keywords":"health,rate,respawn", + "Keywords":"health,rate,respawn,healthrateafterrespawn", "FieldName":"HealthRateAfterRespawn", "InputType":"number", "IsFlagArgument":false, @@ -105,7 +153,7 @@ "DisplayName":"Restore Health On Level Up", "Category":"Frozen Flame Server Settings", "Description":"If enabled, health will be restored on level up", - "Keywords":"health,restore,level", + "Keywords":"health,restore,level,brestorehealthonlevelup", "FieldName":"bRestoreHealthOnLevelUp", "InputType":"checkbox", "IsFlagArgument":false, @@ -121,7 +169,7 @@ "DisplayName":"Jump Stamina Cost", "Category":"Frozen Flame Server Settings", "Description":"Sets the stamina cost of jumping", - "Keywords":"stamina,cost,jumping", + "Keywords":"stamina,cost,jumping,jumpstaminacost", "FieldName":"JumpStaminaCost", "InputType":"number", "IsFlagArgument":false, @@ -135,7 +183,7 @@ "DisplayName":"Sprint Stamina Cost", "Category":"Frozen Flame Server Settings", "Description":"Sets the stamina cost of sprinting", - "Keywords":"stamina,cost,sprinting", + "Keywords":"stamina,cost,sprinting,sprintstaminacost", "FieldName":"SprintStaminaCost", "InputType":"number", "IsFlagArgument":false, @@ -149,7 +197,7 @@ "DisplayName":"Armour Durability Reduction On Death", "Category":"Frozen Flame Server Settings", "Description":"Sets the amount of armour durability lost after death", - "Keywords":"armour,durability,loss,reduction", + "Keywords":"armour,durability,loss,reduction,armordurabilityreducementafterdeath", "FieldName":"ArmorDurabilityReducementAfterDeath", "InputType":"number", "IsFlagArgument":false, @@ -163,7 +211,7 @@ "DisplayName":"Default Weapon Durability Cost", "Category":"Frozen Flame Server Settings", "Description":"Sets the default weapon durability loss speed", - "Keywords":"weapon,durability,cost,speed", + "Keywords":"weapon,durability,cost,speed,defaultweapondurabilitycost", "FieldName":"DefaultWeaponDurabilityCost", "InputType":"number", "IsFlagArgument":false, @@ -177,7 +225,7 @@ "DisplayName":"Disable Overweight System", "Category":"Frozen Flame Server Settings", "Description":"If set, disables the server's overweight system", - "Keywords":"disable,overweight,system", + "Keywords":"disable,overweight,system,bdisableoverweight", "FieldName":"bDisableOverweight", "InputType":"checkbox", "IsFlagArgument":false, @@ -193,7 +241,7 @@ "DisplayName":"Half Slowdown Overweight Ratio", "Category":"Frozen Flame Server Settings", "Description":"If the overweight system is enabled, disables sprint for a player after the relevant ratio is reached. 1 = 100% (default)", - "Keywords":"half,slowdown,overweight,ratio", + "Keywords":"half,slowdown,overweight,ratio,halfslowdownoverweightratio", "FieldName":"HalfSlowdownOverweightRatio", "InputType":"number", "IsFlagArgument":false, @@ -207,7 +255,7 @@ "DisplayName":"Full Slowdown Overweight Ratio", "Category":"Frozen Flame Server Settings", "Description":"If the overweight system is enabled, disables run and getting new items after the relevant ratio is reached. 1.5 = 150% (default)", - "Keywords":"full,slowdown,overweight,ratio", + "Keywords":"full,slowdown,overweight,ratio,fullslowdownoverweightratio", "FieldName":"FullSlowdownOverweightRatio", "InputType":"number", "IsFlagArgument":false, @@ -221,7 +269,7 @@ "DisplayName":"Allow Teleport With Overweight", "Category":"Frozen Flame Server Settings", "Description":"If set, teleport is allowed when the overweight system is enabled", - "Keywords":"teleport,overweight", + "Keywords":"teleport,overweight,bisallowedtoteleportwithoverweight", "FieldName":"bIsAllowedToTeleportWithOverweight", "InputType":"checkbox", "IsFlagArgument":false, @@ -237,7 +285,7 @@ "DisplayName":"Allow Flying With Overweight", "Category":"Frozen Flame Server Settings", "Description":"If set, flying is allowed when the overweight system is enabled", - "Keywords":"flying,glide,overweight", + "Keywords":"flying,glide,overweight,bisallowedtoglidewithoverweight", "FieldName":"bIsAllowedToGlideWithOverweight", "InputType":"checkbox", "IsFlagArgument":false, @@ -253,21 +301,21 @@ "DisplayName":"Minimal Level To Drop Item After Death", "Category":"Frozen Flame Server Settings", "Description":"Sets the minimum player level for dropping items after death (assuming the relevant drop settings are enabled)", - "Keywords":"minimum,level,drop,items,death", + "Keywords":"minimum,level,drop,items,death,minimalleveltodropitemafterdeath", "FieldName":"MinimalLevelToDropItemAfterDeath", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/Script/FrozenFlame.GameBalance.MinimalLevelToDropItemAfterDeath", "IncludeInCommandLine":false, - "DefaultValue":"2147483647", - "Placeholder":"2147483647", + "DefaultValue":"0", + "Placeholder":"0", "EnumValues":{} }, { "DisplayName":"Drop Equipped Items", "Category":"Frozen Flame Server Settings", "Description":"If enabled, equipped items will be dropped after death (assuming the minimum player level is reached)", - "Keywords":"drop,equipped,items", + "Keywords":"drop,equipped,items,bdropequippeditems", "FieldName":"bDropEquippedItems", "InputType":"checkbox", "IsFlagArgument":false, @@ -283,7 +331,7 @@ "DisplayName":"Drop Equipable Items", "Category":"Frozen Flame Server Settings", "Description":"If enabled, equipable items will be dropped after death (assuming the minimum player level is reached)", - "Keywords":"drop,equipable,items", + "Keywords":"drop,equipable,items,bdropequipableitems", "FieldName":"bDropEquipableItems", "InputType":"checkbox", "IsFlagArgument":false, @@ -299,7 +347,7 @@ "DisplayName":"Drop Food Items", "Category":"Frozen Flame Server Settings", "Description":"If enabled, food items will be dropped after death (assuming the minimum player level is reached)", - "Keywords":"drop,food,items", + "Keywords":"drop,food,items,bdropfooditems", "FieldName":"bDropFoodItems", "InputType":"checkbox", "IsFlagArgument":false, @@ -312,14 +360,14 @@ } }, { - "DisplayName":"Flame Rate", + "DisplayName":"Level Up Flame Rate", "Category":"Frozen Flame Server Settings", - "Description":"Sets the flame rate from everything", - "Keywords":"flame,rate", - "FieldName":"FlameRate", + "Description":"Sets the flame rate required for the level up multiplier", + "Keywords":"level,up,flame,rate,levelupflamerate", + "FieldName":"LevelUpFlameRate", "InputType":"number", "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.FlameRate", + "ParamFieldName":"/Script/FrozenFlame.GameBalance.LevelUpFlameRate", "IncludeInCommandLine":false, "DefaultValue":"1", "Placeholder":"1", @@ -329,7 +377,7 @@ "DisplayName":"Monsters Health Multiplier", "Category":"Frozen Flame Server Settings", "Description":"Sets the monsters health multiplier", - "Keywords":"monsters,health,multiplier", + "Keywords":"monsters,health,multiplier,monstershealthmultiplier", "FieldName":"MonstersHealthMultiplier", "InputType":"number", "IsFlagArgument":false, @@ -343,7 +391,7 @@ "DisplayName":"Monsters Damage Multiplier", "Category":"Frozen Flame Server Settings", "Description":"Sets the monsters damage multiplier", - "Keywords":"monsters,damage,multiplier", + "Keywords":"monsters,damage,multiplier,monstersdamagemultiplier", "FieldName":"MonstersDamageMultiplier", "InputType":"number", "IsFlagArgument":false, @@ -356,8 +404,8 @@ { "DisplayName":"Disable Module Cost", "Category":"Frozen Flame Server Settings", - "Description":"If set, building will be allowed without material costs", - "Keywords":"disable,module,building,cost", + "Description":"If enabled, building will be allowed without material costs", + "Keywords":"disable,module,building,cost,bnomodulecost", "FieldName":"bNoModuleCost", "InputType":"checkbox", "IsFlagArgument":false, @@ -372,8 +420,8 @@ { "DisplayName":"Enable Limitless Support", "Category":"Frozen Flame Server Settings", - "Description":"If set, building will be allowed without restrictions", - "Keywords":"building,module,limitless,restrictions", + "Description":"If enabled, building will be allowed without restrictions", + "Keywords":"building,module,limitless,restrictions,blimitlesssupport", "FieldName":"bLimitlessSupport", "InputType":"checkbox", "IsFlagArgument":false, @@ -388,8 +436,8 @@ { "DisplayName":"Enable Invulnerable Modules", "Category":"Frozen Flame Server Settings", - "Description":"If set, buildings will not decay", - "Keywords":"building,module,decay,invulnerable", + "Description":"If enabled, buildings will not decay", + "Keywords":"building,module,decay,invulnerable,binvulnerablemodules", "FieldName":"bInvulnerableModules", "InputType":"checkbox", "IsFlagArgument":false, @@ -405,7 +453,7 @@ "DisplayName":"Demolish Resource Drop Multiplier", "Category":"Frozen Flame Server Settings", "Description":"Sets how many resources to return after modules/buildings are destroyed", - "Keywords":"building,module,drop,resource", + "Keywords":"building,module,drop,resource,bdemolishresourcedropmultiplier", "FieldName":"bDemolishResourceDropMultiplier", "InputType":"number", "IsFlagArgument":false, @@ -416,33 +464,129 @@ "EnumValues":{} }, { - "DisplayName":"Minimum Durability", + "DisplayName":"Ignore Difficulty", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, difficulty settings will be ignored (for local coop only)", + "Keywords":"ignore,difficulty,local,coop,bignoredifficulty", + "FieldName":"bIgnoreDifficulty", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bIgnoreDifficulty", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Decay Threshold", "Category":"Frozen Flame Server Settings", - "Description":"Sets the minimum durability that is retained after weather decay system damage", - "Keywords":"minimum,durability,decay,damage", - "FieldName":"MinDurability", + "Description":"Sets a minimum durability that keeps after weather decay system damage", + "Keywords":"decay,threshold,minimum,durability,decaythreshold", + "FieldName":"DecayThreshold", "InputType":"number", "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.DecaySubsystemSettings.MinDurability", + "ParamFieldName":"/Script/FrozenFlame.GameBalance.DecayThreshold", "IncludeInCommandLine":false, - "DefaultValue":"0.3", - "Placeholder":"0.3", + "DefaultValue":"0", + "Placeholder":"0", "EnumValues":{} }, + { + "DisplayName":"Allow Only One Sentinel", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, only a single sentinel can be built", + "Keywords":"single,one,sentinel,allowed,bonlyonesentinelallowed", + "FieldName":"bOnlyOneSentinelAllowed", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bOnlyOneSentinelAllowed", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Building Only In Active Sentinel Radius", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, only building inside an active sentinel radius will be allowed", + "Keywords":"build,active,sentinel,radius,brequireactivesentinelforbuildingmode", + "FieldName":"bRequireActiveSentinelForBuildingMode", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bRequireActiveSentinelForBuildingMode", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Disable Destruction Hammer Tool", + "Category":"Frozen Flame Server Settings", + "Description":"If set, the destruction hammer tool will be disabled", + "Keywords":"disable,destruction,hammer,tool,bdisallowtodestroymoduleswithoutownership", + "FieldName":"bDisallowToDestroyModulesWithoutOwnership", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDisallowToDestroyModulesWithoutOwnership", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Creatures To Damage Buildings", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, creatures will be able to damage buildings", + "Keywords":"allow,creatures,damage,buildings,ballowcreaturestodamagebuildings", + "FieldName":"bAllowCreaturesToDamageBuildings", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bAllowCreaturesToDamageBuildings", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Allow Players To Damage Buildings", + "Category":"Frozen Flame Server Settings", + "Description":"If enabled, players will be able to damage buildings", + "Keywords":"allow,players,damage,buildings,ballowplayerstodamagebuildings", + "FieldName":"bAllowPlayersToDamageBuildings", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/FrozenFlame.GameBalance.bAllowPlayersToDamageBuildings", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, { "DisplayName":"Apply Restrictions Inside Energy Barriers", "Category":"Frozen Flame Server Settings", "Description":"If enabled, sets flying and some buildings restrictions inside energy barriers", - "Keywords":"restrictions,energy,barriers", + "Keywords":"restrictions,energy,barriers,bapplyrestrictionsinsideenergybarriers", "FieldName":"bApplyRestrictionsInsideEnergyBarriers", "InputType":"checkbox", "IsFlagArgument":false, "ParamFieldName":"/Game/FrozenFlame/DataTables/Variables/BP_GameBalance_Base.BP_GameBalance_Base_C.bApplyRestrictionsInsideEnergyBarriers", "IncludeInCommandLine":false, - "DefaultValue":"1", + "DefaultValue":"True", "EnumValues":{ - "False":"0", - "True":"1" + "False":"False", + "True":"True" } } ] diff --git a/frozen-flamegame.ini b/frozen-flamegame.ini index 53b71a657..0ed5892fc 100644 --- a/frozen-flamegame.ini +++ b/frozen-flamegame.ini @@ -21,12 +21,12 @@ FullSlowdownOverweightRatio=1.5 bIsAllowedToTeleportWithOverweight=False bIsAllowedToGlideWithOverweight=False -MinimalLevelToDropItemAfterDeath=2147483647 +MinimalLevelToDropItemAfterDeath=0 bDropEquippedItems=False bDropEquipableItems=False bDropFoodItems=False -FlameRate=1 +LevelUpFlameRate=1 MonstersHealthMultiplier=1 MonstersDamageMultiplier=1 @@ -35,11 +35,19 @@ bLimitlessSupport=False bInvulnerableModules=False bDemolishResourceDropMultiplier=0.5 -[/Script/FrozenFlame.DecaySubsystemSettings] -MinDurability=0.3 +bIgnoreDifficulty=False + +DecayThreshold=0 + +bOnlyOneSentinelAllowed=True +bRequireActiveSentinelForBuildingMode=False +bDisallowToDestroyModulesWithoutOwnership=True + +bAllowCreaturesToDamageBuildings=False +bAllowPlayersToDamageBuildings=True [/Script/FrozenFlame.DefaultsOverTimeEffect] -bDisableOverweight=false +bDisableOverweight=False [/Game/FrozenFlame/DataTables/Variables/BP_GameBalance_Base.BP_GameBalance_Base_C] -bApplyRestrictionsInsideEnergyBarriers=1 +bApplyRestrictionsInsideEnergyBarriers=True diff --git a/frozen-flamegamemodesurvive.ini b/frozen-flamegamemodesurvive.ini new file mode 100644 index 000000000..41ac133a4 --- /dev/null +++ b/frozen-flamegamemodesurvive.ini @@ -0,0 +1,16 @@ +[/Script/FrozenFlame.GameBalance] +bSkipTutorial=False + +HealthRateAfterRespawn=0.5 +bRestoreHealthOnLevelUp=True + +ArmorDurabilityReducementAfterDeath=25 +DefaultWeaponDurabilityCost=0.5 + +bDropEquippedItems=False +bDropEquipableItems=True +bDropFoodItems=True + +bDemolishResourceDropMultiplier=0.5 + +DecayThreshold=0 \ No newline at end of file diff --git a/frozen-flameheavennormal.ini b/frozen-flameheavennormal.ini new file mode 100644 index 000000000..41ac133a4 --- /dev/null +++ b/frozen-flameheavennormal.ini @@ -0,0 +1,16 @@ +[/Script/FrozenFlame.GameBalance] +bSkipTutorial=False + +HealthRateAfterRespawn=0.5 +bRestoreHealthOnLevelUp=True + +ArmorDurabilityReducementAfterDeath=25 +DefaultWeaponDurabilityCost=0.5 + +bDropEquippedItems=False +bDropEquipableItems=True +bDropFoodItems=True + +bDemolishResourceDropMultiplier=0.5 + +DecayThreshold=0 \ No newline at end of file diff --git a/frozen-flamemetaconfig.json b/frozen-flamemetaconfig.json index e764146d6..eec22d4c9 100644 --- a/frozen-flamemetaconfig.json +++ b/frozen-flamemetaconfig.json @@ -10,5 +10,29 @@ "AutoMap":true, "ConfigType":"ini", "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile":"FrozenFlame/Saved/Config/WindowsServer/GameModeSurvive.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile":"FrozenFlame/Saved/Config/LinuxServer/GameModeSurvive.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile":"FrozenFlame/Saved/Config/WindowsServer/HeavenNormal.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile":"FrozenFlame/Saved/Config/LinuxServer/HeavenNormal.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" } ] diff --git a/frozen-flameupdates.json b/frozen-flameupdates.json index b3ae36afc..0a2069cc1 100644 --- a/frozen-flameupdates.json +++ b/frozen-flameupdates.json @@ -26,7 +26,7 @@ "UpdateSourceArgs":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer" }, { - "UpdateStageName":"Game Config File Download", + "UpdateStageName":"Game.ini File Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURL", "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegame.ini", @@ -35,12 +35,48 @@ "OverwriteExistingFiles":false }, { - "UpdateStageName":"Game Config File Download", + "UpdateStageName":"Game.ini File Download", "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegame.ini", "UpdateSourceArgs":"Game.ini", "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer/", "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"GameModeSurvive.ini File Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegamemodesurvive.ini", + "UpdateSourceArgs":"GameModeSurvive.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/WindowsServer/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"GameModeSurvive.ini File Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegamemodesurvive.ini", + "UpdateSourceArgs":"GameModeSurvive.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"HeavenNormal.ini File Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flameheavennormal.ini", + "UpdateSourceArgs":"HeavenNormal.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/WindowsServer/", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"HeavenNormal.ini File Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flameheavennormal.ini", + "UpdateSourceArgs":"HeavenNormal.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer/", + "OverwriteExistingFiles":false } ] From ce49591cb491664169108200a8b909172d8ff1e8 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 29 Apr 2023 22:34:39 +1000 Subject: [PATCH 172/318] Fix env vars (#347) --- valheim.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/valheim.kvp b/valheim.kvp index 601956e86..9673dc314 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -16,7 +16,7 @@ App.ExecutableWin=896660\valheim_server.exe App.ExecutableLinux=896660/valheim_server.x86_64 App.WorkingDir=896660 App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Saves" {{crossplay}} -App.EnvironmentVariables={"DOORSTOP_ENABLE": "TRUE", "DOORSTOP_INVOKE_DLL_PATH": "./BepInEx/core/BepInEx.Preloader.dll", "DOORSTOP_CORLIB_OVERRIDE_PATH": "./unstripped_corlib" , "LD_LIBRARY_PATH":"./doorstop_libs:./linux64:%LD_LIBRARY_PATH%", "LD_PRELOAD": "libdoorstop_x64.so","SteamAppId":"892970"} +App.EnvironmentVariables={"DOORSTOP_ENABLE":"TRUE","DOORSTOP_INVOKE_DLL_PATH":"{{$FullBaseDir}}BepInEx/core/BepInEx.Preloader.dll","DOORSTOP_CORLIB_OVERRIDE_PATH":"{{$FullBaseDir}}unstripped_corlib","LD_LIBRARY_PATH":"{{$FullBaseDir}}doorstop_libs:{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","LD_PRELOAD":"libdoorstop_x64.so","SteamAppId":"892970"} App.CommandLineParameterFormat=-{0} "{1}" App.ExitMethod=OS_CLOSE App.HasWriteableConsole=False From 72d11f07f214a4d20492442decd0fcfeb2977b2b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 29 Apr 2023 22:35:26 +1000 Subject: [PATCH 173/318] Add NEBULOUS: Fleet Command (#340) --- nebulous-fleet-command.kvp | 94 ++++++ nebulous-fleet-commandconfig.json | 272 ++++++++++++++++++ ...ous-fleet-commanddedicatedserverconfig.xml | 107 +++++++ nebulous-fleet-commandmetaconfig.json | 7 + nebulous-fleet-commandupdates.json | 18 ++ 5 files changed, 498 insertions(+) create mode 100644 nebulous-fleet-command.kvp create mode 100644 nebulous-fleet-commandconfig.json create mode 100755 nebulous-fleet-commanddedicatedserverconfig.xml create mode 100644 nebulous-fleet-commandmetaconfig.json create mode 100644 nebulous-fleet-commandupdates.json diff --git a/nebulous-fleet-command.kvp b/nebulous-fleet-command.kvp new file mode 100644 index 000000000..ddee7b7c8 --- /dev/null +++ b/nebulous-fleet-command.kvp @@ -0,0 +1,94 @@ +Meta.DisplayName=NEBULOUS: Fleet Command +Meta.Description=NEBULOUS: Fleet Command Dedicated Server +Meta.OS=Linux +Meta.AarchSupport=NotSupported +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://store.steampowered.com/app/887570/NEBULOUS_Fleet_Command/ +Meta.DisplayImageSource=steam:887570 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=nebulous-fleet-commandconfig.json +Meta.MetaConfigManifest=nebulous-fleet-commandmetaconfig.json +Meta.ConfigRoot=nebulous-fleet-command.kvp +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=NEBULOUS: Fleet Command +App.RootDir=./nebulous-fleet-command/ +App.BaseDirectory=./nebulous-fleet-command/2353090/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin= +App.ExecutableLinux=2353090/NebulousDedicatedServer +App.WorkingDir=2353090 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -nographics -batchmode -serverConfig ./AMPServerConfig.xml {{$FormattedArgs}} -logFile - +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"887570"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=exit +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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=10 +App.UseRandomAdminPassword=True +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[nebulous-fleet-commandupdates.json] +App.PreStartStages=[] +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=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^Dedicated server startup completed$ +Console.UserJoinRegex=^GameManager::OnServerAddPlayer: Adding player: (?<sessionid>\d+?)$ +Console.UserLeaveRegex=^GameManager::OnServerDisconnect: Removing player (?<sessionid>\d+?)$ +Console.UserChatRegex=^$ +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 diff --git a/nebulous-fleet-commandconfig.json b/nebulous-fleet-commandconfig.json new file mode 100644 index 000000000..fb79da9e6 --- /dev/null +++ b/nebulous-fleet-commandconfig.json @@ -0,0 +1,272 @@ +[ + { + "DisplayName":"Game Port", + "Category":"NFC Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/GamePort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Steam Query Port", + "Category":"NFC Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$QueryPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/QueryPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"NFC Server Settings", + "Description":"Sets the server name visible in the server browser", + "Keywords":"server,name,servername", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered NEBULOUS: Fleet Command Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"NFC Server Settings", + "Description":"Sets the password required to connect to the server. Default is no password", + "Keywords":"server,password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/Password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Admins", + "Category":"NFC Server Settings", + "Description":"Server admins can be configured in the Admins section in AMPServerConfig.xml. Admins can execute ! commands on the server without requiring a vote", + "Keywords":"admins", + "FieldName":"Admins", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Message Of The Day", + "Category":"NFC Server Settings", + "Description":"Sets the player welcome message (MOTD)", + "Keywords":"motd,welcome,message", + "FieldName":"MOTD", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/MOTD", + "IncludeInCommandLine":false, + "DefaultValue":"-- Welcome to N:FC! --\nPlay by the rules!", + "EnumValues":{} + }, + { + "DisplayName":"Server Scenario", + "Category":"NFC Server Settings", + "Description":"Sets the scenario for the server. If Custom is selected, Custom Scenario Name must also be set", + "Keywords":"scenario", + "FieldName":"Scenario", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/Scenario", + "IncludeInCommandLine":false, + "DefaultValue":"Control", + "EnumValues":{ + "Deathmatch":"Deathmatch", + "Two Flags":"Two Flags", + "Center Flag":"Center Flag", + "Control":"Control (default)", + "Station Capture":"Station Capture", + "Tug Of War":"Tug Of War", + "{{CustomScenario}}":"Custom" + } + }, + { + "DisplayName":"Custom Scenario Name", + "Category":"NFC Server Settings", + "Description":"Sets the name of a custom (modded) scenario for the server. \"Custom\" must be selected under Server Scenario", + "Keywords":"custom,scenario", + "FieldName":"CustomScenario", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomScenario", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Scenario Settings", + "Category":"NFC Server Settings", + "Description":"Scenario settings can be configured in AMPServerConfig.xml. Otherwise defaults apply", + "Keywords":"scenario,settings,scenariosettings", + "FieldName":"ScenarioSettings", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Maps", + "Category":"NFC Server Settings", + "Description":"Maps for the map rotation can be configured in the Maps section in AMPServerConfig.xml. Default map is Pillars. Modded maps must be included in the Mods section in AMPServerConfig.xml as well", + "Keywords":"map,rotation,maps", + "FieldName":"Maps", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Map Rotation Order", + "Category":"NFC Server Settings", + "Description":"Sets the order in which the server maps will be selected", + "Keywords":"map,rotation,maprotation", + "FieldName":"MapRotation", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/MapRotation", + "IncludeInCommandLine":false, + "DefaultValue":"Sequential", + "EnumValues":{ + "Sequential":"Sequential (default)", + "Random":"Random" + } + }, + { + "DisplayName":"Server Mods", + "Category":"NFC Server Settings", + "Description":"Mods can be enabled in the Mods section in AMPServerConfig.xml. The mods specified will be automatically downloaded by the server", + "Keywords":"mods", + "FieldName":"Mods", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Allow Modded Fleets", + "Category":"NFC Server Settings", + "Description":"If set, mods enabled on the server will be permitted for use on player fleets. The server will show the \"Mod Friendly\" icon", + "Keywords":"mods,modded,fleets,allowmoddedfleets", + "FieldName":"AllowModdedFleets", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/AllowModdedFleets", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Player Limit", + "Category":"NFC Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time. The number of players per team is still decided by the map", + "Keywords":"maximum,players,clients,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Team Size To Start", + "Category":"NFC Server Settings", + "Description":"Sets the number of players that must be present on each team before the game can start", + "Keywords":"team,size,minimum,teamsizetostart", + "FieldName":"TeamSizeToStart", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/TeamSizeToStart", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Placeholder":"2", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Enforce Uniform Team Factions", + "Category":"NFC Server Settings", + "Description":"If enabled, the server will enforce uniform factions on teams", + "Keywords":"uniform,team,factions,requireuniformteams", + "FieldName":"RequireUniformTeams", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/RequireUniformTeams", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Game Time Limit", + "Category":"NFC Server Settings", + "Description":"Sets the time limit for games. 0 = unlimited time. The value set indexes into a list of possible time settings. It is NOT a minutes value", + "Keywords":"time,limit,timelimit", + "FieldName":"TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Allow Player Voting", + "Category":"NFC Server Settings", + "Description":"If enabled, players can vote on maps, scenarios and rules", + "Keywords":"map,scenarios,rules,voting,allowmapvoting", + "FieldName":"AllowMapVoting", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SkirmishDedicatedServerConfig/AllowMapVoting", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Bot Settings", + "Category":"NFC Server Settings", + "Description":"Bots listed in the Bots section in AMPServerConfig.xml will be created each time the server returns to the lobby", + "Keywords":"bots", + "FieldName":"Bots", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"", + "IncludeInCommandLine":false, + "EnumValues":{} + } +] \ No newline at end of file diff --git a/nebulous-fleet-commanddedicatedserverconfig.xml b/nebulous-fleet-commanddedicatedserverconfig.xml new file mode 100755 index 000000000..ed20beb96 --- /dev/null +++ b/nebulous-fleet-commanddedicatedserverconfig.xml @@ -0,0 +1,107 @@ +<?xml version="1.0"?> +<SkirmishDedicatedServerConfig xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + + <!-- + *************************** + Settings in this section are controlled by AMP. + *************************** + --> + + <ServerName>AMP Powered NEBULOUS: Fleet Command Server</ServerName> + <Password></Password> + <MaxPlayers>10</MaxPlayers> + <GamePort>7777</GamePort> + <QueryPort>27016</QueryPort> + <TeamSizeToStart>2</TeamSizeToStart> + <MOTD>-- Welcome to N:FC! -- + Play by the rules! + </MOTD> + <AllowMapVoting>true</AllowMapVoting> + <TimeLimit>0</TimeLimit> + <RequireUniformTeams>true</RequireUniformTeams> + <Scenario>Control</Scenario> + <MapRotation>Sequential</MapRotation> + <AllowModdedFleets>false</AllowModdedFleets> + + <!-- + *************************** + Set relevant settings in this section manually. + Don't forget to remove the comment markers before and after settings that you wish to enable! + *************************** + --> + + <!-- + Listed 64-bit Steam IDs will be registered as admins and can execute ! commands + on the server without requiring a vote. They will also have the Host badge next to + their name in the lobby. + --> + <Admins> + <!-- <unsignedLong>0</unsignedLong> --> + </Admins> + + <!-- + Change settings for the scenario here, otherwise defaults will be used. + Each setting is selected using a Key, which is the name of the setting as it appears + in the lobby settings list. + The Value field is an integer index into the list of options, starting at 0. + The example below sets the Control victory points to 1500, because it is the third option in the list. + --> + <!-- + <ScenarioSettings> + <Setting> + <Key>Victory Points</Key> + <Value>2</Value> + </Setting> + </ScenarioSettings> + --> + + <!-- List all maps in the map rotation here. Add by name or key. --> + <Maps> + <string>Pillars</string> + </Maps> + + <!-- + Enable mods for your server here. + Provide the Steam ID of the mod, which can be found in its workshop URL. + Any mod found in this list will be permitted for use in a player fleet, but only if AllowModdedFleets + is set to true. + If you intend to use modded maps in your rotation, they must be included here as well. + --> + <!-- + <Mods> + <unsignedLong>0</unsignedLong> + <unsignedLong>0</unsignedLong> + </Mods> + --> + + <!-- + Bots listed here will be created each time the server returns to the lobby. + Only the Team field is required. Everything else can be left blank and colors, fleet, and badge will + be chosen randomly for each bot. + --> + <!-- + <Bots> + <Bot> + <Team>TeamB</Team> + <Colors> + <BaseColor> + <r>1</r> + <g>1</g> + <b>1</b> + <a>1</a> + </BaseColor> + <StripeColor> + <r>1</r> + <g>1</g> + <b>1</b> + <a>1</a> + </StripeColor> + <Prefix>OSPN</Prefix> + </Colors> + <Badge>OSP_Roundel</Badge> + <Fleet>Starter Fleets - Alliance/TF Oak.fleet</Fleet> + </Bot> + </Bots> + --> + +</SkirmishDedicatedServerConfig> \ No newline at end of file diff --git a/nebulous-fleet-commandmetaconfig.json b/nebulous-fleet-commandmetaconfig.json new file mode 100644 index 000000000..957723a1a --- /dev/null +++ b/nebulous-fleet-commandmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"./AMPServerConfig.xml", + "AutoMap":true, + "ConfigType":"xml" + } +] diff --git a/nebulous-fleet-commandupdates.json b/nebulous-fleet-commandupdates.json new file mode 100644 index 000000000..33b6f846a --- /dev/null +++ b/nebulous-fleet-commandupdates.json @@ -0,0 +1,18 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"2353090", + "UpdateSourceArgs":"887570" + }, + { + "UpdateStageName":"Config File Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/nebulous-fleet-commanddedicatedserverconfig.xml", + "UpdateSourceArgs":"AMPServerConfig.xml", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "OverwriteExistingFiles":false + } +] \ No newline at end of file From 3735158ac807be33c2a9c51414927c60ab311e12 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 30 Apr 2023 05:53:02 +1000 Subject: [PATCH 174/318] Switch default game mode (#348) To avoid unintended corruption of existing saves --- frozen-flameconfig.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frozen-flameconfig.json b/frozen-flameconfig.json index 74b2f7344..ce1ed30e2 100644 --- a/frozen-flameconfig.json +++ b/frozen-flameconfig.json @@ -35,10 +35,10 @@ "IsFlagArgument":false, "ParamFieldName":"ini:Engine:[/Script/EngineSettings.GameMapsSettings]:ServerDefaultMap", "IncludeInCommandLine":true, - "DefaultValue":"/Game/GameModeSurvive/Maps/Survive/Survive.Survive", + "DefaultValue":"/Game/FrozenFlame/Maps/Heaven/Heaven.Heaven", "EnumValues":{ - "/Game/GameModeSurvive/Maps/Survive/Survive.Survive":"Cataclysm/Survival mode (default)", - "/Game/FrozenFlame/Maps/Heaven/Heaven.Heaven":"Heaven/Campaign mode" + "/Game/FrozenFlame/Maps/Heaven/Heaven.Heaven":"Heaven/Campaign mode (default)", + "/Game/GameModeSurvive/Maps/Survive/Survive.Survive":"Cataclysm/Survival mode" } }, { From c85c4dc9949c6d2cf58a667b98aa34cc6e178f97 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 30 Apr 2023 11:06:35 +1000 Subject: [PATCH 175/318] Conan Exiles: various updates (#318) --- conan-exiles.kvp | 27 ++++++++++++++++++--------- conan-exilesconfig.json | 21 +++++++++------------ 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/conan-exiles.kvp b/conan-exiles.kvp index 088b9246d..e18255803 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -1,21 +1,26 @@ Meta.DisplayName=Conan Exiles Meta.Description=Conan Exiles Dedicated Server Meta.OS=Windows, Linux +Meta.AarchSupport=NotSupported Meta.Arch=x86_64 Meta.Author=IceOfWraith, Greelan, eNcrypt, rezor92 Meta.URL=https://store.steampowered.com/app/440900/Conan_Exiles/ Meta.DisplayImageSource=steam:440900 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort3} Meta.ConfigManifest=conan-exilesconfig.json Meta.MetaConfigManifest=conan-exilesmetaconfig.json Meta.ConfigRoot=conan-exiles.kvp Meta.MinAMPVersion=2.4.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.ExtraSetupStepsURI= Meta.DockerRequired=False Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False App.DisplayName=Conan Exiles App.RootDir=./conan-exiles/ App.BaseDirectory=./conan-exiles/443030/ @@ -25,7 +30,8 @@ App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=443030/ConanSandbox/Binaries/Win64 App.LinuxCommandLineArgs=-a wine "./ConanSandboxServer-Win64-Test.exe" App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{Map}}{{CustomMap}} -stdout -FullStdOutLogOutput -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} +App.CommandLineArgs={{$PlatformArgs}} {{Map}} -stdout -FullStdOutLogOutput -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}="{1}" @@ -39,28 +45,30 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=7777 -App.ApplicationPort2=7778 -App.ApplicationPort3=27015 -App.RemoteAdminPort=25575 +App.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"ApplicationPort2","Name":"Pinger Port","Description":"Port for pinger traffic from server browser to determine availability"},{"Protocol":"UDP","Port":27015,"Ref":"ApplicationPort3","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":25575,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort3 App.MaxUsers=40 App.UseRandomAdminPassword=True +App.PersistRandomPassword=True App.RemoteAdminPassword= App.AdminMethod=SourceRCON App.AdminLoginTransform=None +App.LoginTransformPrefix= App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=3 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] +App.PreStartStages=[] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False App.SupportsUniversalSleep=True -App.UniversalSleepApplicationUDPPort=1 -App.UniversalSleepSteamQueryPort=3 App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} @@ -75,6 +83,7 @@ Console.UserJoinRegex=^.*LogNet: Join succeeded: (?<username>.+?#\d+)$ Console.UserLeaveRegex=^.*LogNet: Player disconnected: (?<username>.+?#\d+)$ Console.UserChatRegex=^.*ChatWindow: Character (?<username>.+?) said: (?<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={} diff --git a/conan-exilesconfig.json b/conan-exilesconfig.json index fc68b94c1..4f1f2d7fc 100644 --- a/conan-exilesconfig.json +++ b/conan-exilesconfig.json @@ -10,7 +10,6 @@ "Hidden":true, "ParamFieldName":"URL.Port", "IncludeInCommandLine":false, - "DefaultValue":"7777" }, { "DisplayName":"Download Port Offset", @@ -36,7 +35,6 @@ "Hidden":true, "ParamFieldName":"OnlineSubsystemNull.GameServerQueryPort", "IncludeInCommandLine":false, - "DefaultValue":"27015" }, { "DisplayName":"RCON Port", @@ -49,8 +47,8 @@ "Hidden":true, "ParamFieldName":"RconPlugin.RconPort", "IncludeInCommandLine":false, - "DefaultValue":"25575" - },{ + }, + { "DisplayName":"Server Name", "Category":"Server Settings", "Description":"Name of the server shown in the server browser.", @@ -75,8 +73,8 @@ "IncludeInCommandLine":false, "DefaultValue":"/Game/Maps/ConanSandbox/ConanSandbox", "EnumValues":{ - "":"Custom", - "/Game/Maps/ConanSandbox/ConanSandbox":"Exiled Lands", + "{{CustomMap}}":"Custom", + "/Game/Maps/ConanSandbox/ConanSandbox":"Exiled Lands (default)", "/Game/DLC_EXT/DLC_Siptah/Maps/DLC_Isle_of_Siptah":"Isle of Siptah" } }, @@ -126,15 +124,14 @@ { "DisplayName":"Admin Password", "Category":"Server Settings", - "Description":"In-game \"admin\" user password (not the server password). NOTE: You must set this to allow use of the in-game admin panel. Change this after installing the server!", + "Description":"In-game \"admin\" user password (not the server password). NOTE: You must set this to allow use of the in-game admin panel.", "Keywords":"admin,password", "FieldName":"AdminPassword", - "InputType":"RandomPassword", + "InputType":"password", "IsFlagArgument":false, - "ParamFieldName":"ServerSettings.AdminPassword", - "IncludeInCommandLine":false, - "DefaultValue":"Password123", - "Required": true, + "ParamFieldName":"ini:ServerSettings:[ServerSettings]:AdminPassword", + "IncludeInCommandLine":true, + "DefaultValue":"{{newguid()}}", "EnumValues":{} }, { From 9ebd0de65193757046d3241fb053a8514210465d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 30 Apr 2023 11:10:15 +1000 Subject: [PATCH 176/318] Add No One Survived (#331) --- no-one-survived.kvp | 92 ++++++++ no-one-survivedconfig.json | 394 +++++++++++++++++++++++++++++++++ no-one-survivedmetaconfig.json | 12 + 3 files changed, 498 insertions(+) create mode 100644 no-one-survived.kvp create mode 100644 no-one-survivedconfig.json create mode 100644 no-one-survivedmetaconfig.json diff --git a/no-one-survived.kvp b/no-one-survived.kvp new file mode 100644 index 000000000..b5c805205 --- /dev/null +++ b/no-one-survived.kvp @@ -0,0 +1,92 @@ +Meta.DisplayName=No One Survived +Meta.Description=No One Survived Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=NotSupported +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://store.steampowered.com/app/1963370/No_One_Survived/ +Meta.DisplayImageSource=steam:1963370 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=no-one-survivedconfig.json +Meta.MetaConfigManifest=no-one-survivedmetaconfig.json +Meta.ConfigRoot=no-one-survived.kvp +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 +Meta.DockerRequired=False +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 7 (or later) to run on Linux. Using a container avoids the need to install this dependency on the host. +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=No One Survived +App.RootDir=./no-one-survived/ +App.BaseDirectory=./no-one-survived/2329680/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin=2329680\WRSH\Binaries\Win64\WRSHServer.exe +App.ExecutableLinux=/usr/bin/wine +App.WorkingDir=2329680 +App.LinuxCommandLineArgs="./WRSH/Binaries/Win64/WRSHServer.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} WRSH -server -stdout -FullStdOutLogOutput -Port={{$GamePort}} -QueryPort={{$QueryPort}} -MultiHome={{$ApplicationIPBinding}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1963370","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} +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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=50 +App.UseRandomAdminPassword=False +App.PersistRandomPassword=False +App.RemoteAdminPassword=Password123 +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=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2329680","UpdateSourceArgs":"1963370","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] +App.PreStartStages=[] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=WRSHServer.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\.:]+\]\[[\d ]+\]LogBlueprintUserMessages: \[HDCKGameInstance_C_\d+\] ServerCreate$ +Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogNet: Login request: \?Name=(?<username>.+?) userId: STEAM:UNKNOWN \[(?<userid>.+?)\] platform: STEAM$ +Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogNet: UChannel::Close: Sending CloseBunch\.(?:.+?) UniqueId: STEAM:UNKNOWN \[(?<userid>.+?)\]$ +Console.UserChatRegex=^$ +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/no-one-survivedconfig.json b/no-one-survivedconfig.json new file mode 100644 index 000000000..8845f0628 --- /dev/null +++ b/no-one-survivedconfig.json @@ -0,0 +1,394 @@ +[ + { + "DisplayName":"Game Port", + "Category":"NOS Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"URL.Port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Steam Query Port", + "Category":"NOS Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$QueryPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"OnlineSubsystemSteam.GameServerQueryPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"NOS Server Settings", + "Description":"Sets the name shown in the server browser", + "Keywords":"server,name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerSetting.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered No One Survived Server", + "EnumValues":{} + }, + { + "DisplayName":"Save Name", + "Category":"NOS Server Settings", + "Description":"Sets the name of the server save file, which will also be the save loaded by default", + "Keywords":"save,name", + "FieldName":"SaveName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerSetting.SaveName", + "IncludeInCommandLine":false, + "DefaultValue":"MySave", + "Placeholder":"MySave", + "EnumValues":{} + }, + { + "DisplayName":"Require Server Password", + "Category":"NOS Server Settings", + "Description":"If enabled, the password set under \"Server Password\" will be required to connect to the server", + "Keywords":"need,server,password,needpassword", + "FieldName":"NeedPassword", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ServerSetting.NeedPassword", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Server Password", + "Category":"NOS Server Settings", + "Description":"Sets the password for the server. Default is no password. Only applies if \"Require Server Password\" is enabled", + "Keywords":"server,password", + "FieldName":"Password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"ServerSetting.Password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"NOS Server Settings", + "Description":"Sets the server administrator password. Default is a strong random password", + "Keywords":"admin,password,adminpassword", + "FieldName":"AdminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"ServerSetting.AdminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"{{newguid()}}", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"NOS Server Settings", + "Description":"Sets the maximum number of players that can connect to the server at any given time", + "Keywords":"maximum,players,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"2", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"ServerSetting.MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "Placeholder":"50", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Server Region", + "Category":"NOS Server Settings", + "Description":"Sets the server region", + "Keywords":"region", + "FieldName":"Region", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerSetting.Region", + "IncludeInCommandLine":false, + "DefaultValue":"All", + "EnumValues":{ + "All":"All / Non-registered region", + "AF":"Africa", + "AS":"Asia", + "EU":"Europe", + "NA":"North America", + "OC":"Oceania", + "SA":"South America" + } + }, + { + "DisplayName":"Server IP Binding", + "Category":"NOS Server Settings", + "Description":"If required, you can change the binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", + "Keywords":"ip,binding,multihome", + "FieldName":"MultiHome", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"MultiHome", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable PvP / Disable PvE", + "Category":"NOS Gameplay Settings", + "Description":"If set, PvP mode will be enabled, and PvE mode disabled", + "Keywords":"pve,pvp", + "FieldName":"PVP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.PVP", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Zombie Attack Wave", + "Category":"NOS Gameplay Settings", + "Description":"If set, the zombie attack wave will be enabled", + "Keywords":"zombie,corpse,attack,tide,wave,zombieattack", + "FieldName":"ZombieAttack", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.ZombieAttack", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Zombie Spawn Amount", + "Category":"NOS Gameplay Settings", + "Description":"Sets the number of zombies spawned per player in the attack wave", + "Keywords":"zombie,corpse,spawn,number,amount,numofzombiespawn", + "FieldName":"NumOfZombieSpawn", + "InputType":"number", + "MinValue":"25", + "MaxValue":"100", + "IsFlagArgument":false, + "ParamFieldName":"ServerSetting.NumOfZombieSpawn", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "Placeholder":"50", + "Suffix":"zombies", + "EnumValues":{} + }, + { + "DisplayName":"Zombie Attack Cycle", + "Category":"NOS Gameplay Settings", + "Description":"Sets the number of days between zombie attack waves", + "Keywords":"zombie,corpse,attack,cycle,zombieattackday", + "FieldName":"ZombieAttackDay", + "InputType":"number", + "MinValue":"1", + "MaxValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.ZombieAttackDay", + "IncludeInCommandLine":false, + "DefaultValue":"7", + "Placeholder":"7", + "Suffix":"days", + "EnumValues":{} + }, + { + "DisplayName":"Zombie Attack Multiplier", + "Category":"NOS Gameplay Settings", + "Description":"Sets the multiplier for the zombie attack wave", + "Keywords":"zombie,corpse,attack,scale,multiplier,attackzombienum", + "FieldName":"AttackZombieNum", + "InputType":"number", + "MinValue":"1", + "MaxValue":"5", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.AttackZombieNum", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Placeholder":"2", + "EnumValues":{} + }, + { + "DisplayName":"Zombie Respawn Multiplier", + "Category":"NOS Gameplay Settings", + "Description":"Sets the multiplier for the respawn of zombies (higher = more difficult)", + "Keywords":"zombie,corpse,respawn,multiplier,zombienum", + "FieldName":"ZombieNum", + "InputType":"number", + "MinValue":"1", + "MaxValue":"3", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.ZombieNum", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Placeholder":"2", + "EnumValues":{} + }, + { + "DisplayName":"Sprinter Zombies Proportion", + "Category":"NOS Gameplay Settings", + "Description":"Sets the proportion of sprinter zombies", + "Keywords":"zombie,corpse,running,sprinter,percentage,runzombiepercent", + "FieldName":"RunZombiePercent", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.RunZombiePercent", + "IncludeInCommandLine":false, + "DefaultValue":"0.5", + "Placeholder":"0.5", + "EnumValues":{} + }, + { + "DisplayName":"Zombie Strength", + "Category":"NOS Gameplay Settings", + "Description":"Sets the strength of zombies", + "Keywords":"zombie,strength,zombiestreng", + "FieldName":"ZombieStreng", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.ZombieStreng", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "0":"Weak", + "1":"Average (default)", + "2":"Strong", + "3":"Very strong" + } + }, + { + "DisplayName":"Year Duration", + "Category":"NOS Gameplay Settings", + "Description":"Sets the number of days in one in-game year", + "Keywords":"year,duration,day,yearday", + "FieldName":"YearDay", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.YearDay", + "IncludeInCommandLine":false, + "DefaultValue":"40", + "Placeholder":"40", + "Suffix":"days", + "EnumValues":{} + }, + { + "DisplayName":"Enable Permanent Death", + "Category":"NOS Gameplay Settings", + "Description":"If set, permanent death will be enabled", + "Keywords":"death,permanent,permanentdead", + "FieldName":"PermanentDead", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.PermanentDead", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Loot Distribution", + "Category":"NOS Gameplay Settings", + "Description":"Sets how abundant loot is", + "Keywords":"loot,material,item,quantity,distribution,materialnum", + "FieldName":"MaterialNum", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.MaterialNum", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{ + "0":"Rare", + "1":"Normal (default)", + "2":"Abundant", + "3":"Very abundant" + } + }, + { + "DisplayName":"Loot Respawn Time", + "Category":"NOS Gameplay Settings", + "Description":"Sets the number of days before loot is respawned", + "Keywords":"loot,spawn,refresh,date,itemspawn", + "FieldName":"ItemSpawn", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.ItemSpawn", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "Placeholder":"15", + "Suffix":"days", + "EnumValues":{} + }, + { + "DisplayName":"Merchant Restock Time", + "Category":"NOS Gameplay Settings", + "Description":"Sets the number of days before merchant items are restocked", + "Keywords":"merchant,item,spawn,refresh,restock,date,npcitemspawn", + "FieldName":"NPCItemSpawn", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.NPCItemSpawn", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"days", + "EnumValues":{} + }, + { + "DisplayName":"Virus Fatality Rate", + "Category":"NOS Gameplay Settings", + "Description":"Sets the virus fatality rate", + "Keywords":"virus,fatality,rate,virusfatalityrate", + "FieldName":"VirusFatalityRate", + "InputType":"number", + "MinValue":"0", + "MaxValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.VirusFatalityRate", + "IncludeInCommandLine":false, + "DefaultValue":"0.5", + "Placeholder":"0.5", + "EnumValues":{} + }, + { + "DisplayName":"Starter Kits", + "Category":"NOS Gameplay Settings", + "Description":"If set, starter kits will be enabled for novices", + "Keywords":"starter,kit,gift,bag,novice,giftbagfornovices", + "FieldName":"GiftBagForNovices", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"GameSettings.GiftBagForNovices", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + } +] \ No newline at end of file diff --git a/no-one-survivedmetaconfig.json b/no-one-survivedmetaconfig.json new file mode 100644 index 000000000..78fa2b089 --- /dev/null +++ b/no-one-survivedmetaconfig.json @@ -0,0 +1,12 @@ +[ + { + "ConfigFile":"WRSH/Saved/Config/WindowsServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini" + }, + { + "ConfigFile":"WRSH/Saved/Config/WindowsServer/Engine.ini", + "AutoMap":true, + "ConfigType":"ini" + } +] \ No newline at end of file From 910ccb272762b79919e3a1833741a02327368ebc Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 30 Apr 2023 11:32:19 +1000 Subject: [PATCH 177/318] Add aarch64 support (#346) --- foundry-vtt.kvp | 5 +++-- foundry-vttupdates.json | 20 +++++++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/foundry-vtt.kvp b/foundry-vtt.kvp index b11772206..c900af336 100644 --- a/foundry-vtt.kvp +++ b/foundry-vtt.kvp @@ -1,7 +1,8 @@ Meta.DisplayName=Foundry Virtual Tabletop Meta.Description=Foundry Virtual Tabletop Dedicated Server Meta.OS=Windows, Linux -Meta.Arch=x86_64 +Meta.AarchSupport=Native +Meta.Arch=All Meta.Author=Greelan Meta.URL=https://foundryvtt.com Meta.DisplayImageSource=url:https://foundryvtt.com/static/assets/icons/fvtt.png @@ -9,7 +10,7 @@ Meta.EndpointURIFormat= Meta.ConfigManifest=foundry-vttconfig.json Meta.MetaConfigManifest=foundry-vttmetaconfig.json Meta.ConfigRoot=foundry-vtt.kvp -Meta.MinAMPVersion=2.4.3.0 +Meta.MinAMPVersion=2.4.3.2 Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=Supported diff --git a/foundry-vttupdates.json b/foundry-vttupdates.json index e74fe61d6..f131c3fc5 100644 --- a/foundry-vttupdates.json +++ b/foundry-vttupdates.json @@ -27,6 +27,7 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-x64.tar.gz", + "UpdateSourceArch":"x86_64", "UpdateSourceTarget":"{{$FullBaseDir}}" }, { @@ -34,7 +35,24 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd foundry-vtt && rm -Rf node && tar xf node-{{NodeVersion}}-linux-x64.tar.gz && mv node-{{NodeVersion}}-linux-x64 node && rm node-{{NodeVersion}}-linux-x64.tar.gz'" + "UpdateSourceArgs":"-c 'cd foundry-vtt && rm -Rf node && tar xf node-{{NodeVersion}}-linux-x64.tar.gz && mv node-{{NodeVersion}}-linux-x64 node && rm node-{{NodeVersion}}-linux-x64.tar.gz'", + "UpdateSourceArch":"x86_64" + }, + { + "UpdateStageName":"Node.js Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-arm64.tar.gz", + "UpdateSourceArch":"aarch64", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Node.js Extract", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'cd foundry-vtt && rm -Rf node && tar xf node-{{NodeVersion}}-linux-arm64.tar.gz && mv node-{{NodeVersion}}-linux-arm64 node && rm node-{{NodeVersion}}-linux-arm64.tar.gz'", + "UpdateSourceArch":"aarch64" }, { "UpdateStageName":"Node.js Download", From 647fa0805e6cca2dbc70d0af51d3803fd6052824 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 30 Apr 2023 12:58:13 +1000 Subject: [PATCH 178/318] Add Creativerse (#338) --- creativerse.kvp | 88 ++++++++++++++ creativerseconfig.json | 159 ++++++++++++++++++++++++++ creativerseconfig_world.json | 214 +++++++++++++++++++++++++++++++++++ creativersemetaconfig.json | 7 ++ creativerseupdates.json | 32 ++++++ 5 files changed, 500 insertions(+) create mode 100644 creativerse.kvp create mode 100644 creativerseconfig.json create mode 100644 creativerseconfig_world.json create mode 100644 creativersemetaconfig.json create mode 100644 creativerseupdates.json diff --git a/creativerse.kvp b/creativerse.kvp new file mode 100644 index 000000000..703bfafd5 --- /dev/null +++ b/creativerse.kvp @@ -0,0 +1,88 @@ +Meta.DisplayName=Creativerse +Meta.Description=Creativerse Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://creativersegame.com/ +Meta.DisplayImageSource=steam:280790 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=creativerseconfig.json +Meta.MetaConfigManifest=creativersemetaconfig.json +Meta.ConfigRoot=creativerse.kvp +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3971?utm_source=ampcreate&utm_content=creativerse +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Creativerse +App.RootDir=./creativerse/ +App.BaseDirectory=./creativerse/1098260/ +App.ExecutableWin=1098260\CreativerseServer.exe +App.ExecutableLinux=1098260/CreativerseServer +App.WorkingDir=1098260 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -forceIp={{$ApplicationIPBinding}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"280790","XDG_DATA_HOME":"{{$FullBaseDir}}"} +App.CommandLineParameterFormat=-{0}="{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +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":26900,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":26901,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"TCP","Port":26902,"Ref":"WebAdminPort","Name":"Web Admin Port","Description":"Port for web admin traffic"}] +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=100 +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=login {0} +App.UpdateSources=@IncludeJson[creativerseupdates.json] +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=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^\d+-\d+-\d+ \d+:\d+:\d+,\d+ (?:.*?) server INFO SimThread\(\d+\) BuildVerseServer\.Reporting - Server \[READYFORLOGIN\]$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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=0 +Limits.SleepStartThresholdSeconds=25 diff --git a/creativerseconfig.json b/creativerseconfig.json new file mode 100644 index 000000000..7d9f01fe6 --- /dev/null +++ b/creativerseconfig.json @@ -0,0 +1,159 @@ +[ + { + "DisplayName":"Game Port", + "Category":"Creativerse Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.GamePort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"World Key", + "Category":"Creativerse Server Settings", + "Description":"Sets the world key for the server. Don't use spaces. NOTE: Update the server after changing this setting", + "Keywords":"world,key,id", + "FieldName":"worldId", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"worldId", + "IncludeInCommandLine":true, + "DefaultValue":"AMP_Server", + "EnumValues":{} + }, + { + "DisplayName":"World Key", + "Category":"Creativerse Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"worldId", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"$.WorldKey", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"World Template", + "Category":"Creativerse Server Settings", + "Description":"Sets the template for the world. If Custom Template is selected, then the Custom Template Key must also be set", + "Keywords":"template,key", + "FieldName":"TemplateKey", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"$.TemplateKey", + "IncludeInCommandLine":false, + "DefaultValue":"69bac762182c4dd69c59a48c3e1e9304", + "EnumValues":{ + "cb201411260047e5ab4f4b8166eb3976":"Archipelago 10K", + "cb20141210ed4b1590c6a1420c384f2b":"Continent 1K", + "cb20150118204805ab4f4b8166eb3980":"Continent 2K-1", + "cb20150119204805ab4f4b8166eb3980":"Continent 2K-2", + "cb20150120204805ab4f4b8166eb3980":"Continent 2K-3", + "cb20141228040965ab4f4b8166eb3977":"Continent 4K-1", + "cb20141231040965ab4f4b8166eb3981":"Continent 4K-2", + "892bbca2d6444e26a8857a07a90292f1":"Flat Grass 2K", + "b0c2e10917fe4b709255b1b6f162e558":"Flat Sand 2K", + "bb0326fd64b74791b493ad03abe7af6b":"Flat Snow 4K", + "hg_testmap_1":"HG TestMap", + "island_ruins":"Island Ruins", + "6af068019ad648ceb3d8eadf3e1ab854":"Lowlands 1K-1", + "18285efb343e4e619df1facc2b7d27c3":"Lowlands 1K-2", + "425a9f8d3f6a4d42ad4d7a0ef98dc4ce":"Lowlands 2K", + "1ec67c5a8598480cabac567762bf59b9":"Lowlands 3K", + "25b95767960e4810a0d896f2b4d1d3df":"Lowlands 10K-1", + "cb20140912ac428bae68abb4822dbfda":"Lowlands 10K-2", + "cb20140915ac428bae68abb4822dbfda":"Lowlands 10K-3", + "6b87b59bdfc344c89920dc7eb44c5839":"Lowlands 10K-4", + "6d1ef9b9e2bd46889068f3df6aa73954":"Mixed 1K-1", + "35da7596161942ffad4bad6b7b932950":"Mixed 1K-2", + "69bac762182c4dd69c59a48c3e1e9304":"RW1 10K (default)", + "e153099c609f4bb2b5f89e218fcb471e":"RW2 10K", + "4a4d04caf0d449e3a5a04c0ecfe03957":"RW3 10K", + "5dcc93229f004bfe86e2bca3cc60e2d3":"RW4 10K", + "f8d02b7209a54aa19d2fcca0f58778e4":"RW5 10K", + "e05d2ad3952a4061931cbe003bc71ec9":"RW6 10K", + "6b7f11478cb54a1896ef30352af168ef":"RW7 10K", + "5c659bff855243f2bc26c9d82b8ca073":"RW8 10K", + "c773ad62e9b74fedb989092e8d6cb3af":"RW9? 10K", + "0c9de19ab8b8485dabae8144e6b39317":"RW10? 10K", + "024dbf3fcb92412295cd8d07ba93288f":"RW10? 10K-1", + "cb20150125819205ab4f4b8166eb0520":"RW? 8K", + "6af665950087483b9fac9c21f3e9f0ff":"RW? 10K-2", + "fb45525a5f9b48eaa4820bed2759bb59":"RW? 10K-3", + "0ce5b025a31546ec84b28330a78a431e":"RW? 10K-4", + "{{CustomTemplate}}":"Custom Template" + } + }, + { + "DisplayName":"Custom Template Key", + "Category":"Creativerse Server Settings", + "Description":"Sets the key for a custom template for the world", + "Keywords":"custom,template,key", + "FieldName":"CustomTemplate", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomTemplate", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"World Owner SteamID", + "Category":"Creativerse Server Settings", + "Description":"To start the server, you must include a valid Steam64 ID for \"WorldOwnerSteamId\" in the world's config_world.json", + "Keywords":"steam,id", + "FieldName":"SteamID", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"SteamID", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"World Name", + "Category":"Creativerse Server Settings", + "Description":"Sets the name of the world", + "Keywords":"world,name", + "FieldName":"WorldName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.WorldName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Creativerse Server", + "EnumValues":{} + }, + { + "DisplayName":"World Description", + "Category":"Creativerse Server Settings", + "Description":"Sets the world description", + "Keywords":"world,description", + "FieldName":"WorldDescription", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.WorldDescription", + "IncludeInCommandLine":false, + "DefaultValue":"A Creativerse World", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Creativerse Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at the same time", + "Keywords":"max,players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Placeholder":"100", + "Suffix":"players", + "EnumValues":{} + } +] \ No newline at end of file diff --git a/creativerseconfig_world.json b/creativerseconfig_world.json new file mode 100644 index 000000000..05bb57cf4 --- /dev/null +++ b/creativerseconfig_world.json @@ -0,0 +1,214 @@ +{ + "GamePort": 26900, + "PrivateServer": false, + "UsePlayerAccessFile": false, + "WorldOwnerSteamId": null, + "DamageVsPlayerScalar": 1.0, + "DamageVsAIScalar": 1.0, + "MaxPlayers": 100, + "MaxItemStack": 999, + "MobSpawnFactor": 1.0, + "TreasureSpawnFactor": 1.0, + "RegrowthFactor": 1.0, + "TraderSpawnFactor": 1.0, + "GravityDefault": 18.0, + "GravityLow": 6.0, + "JumpHeightModifierDefault": 1.0, + "JumpHeightModifierLowGravity": 1.5, + "FallDamageModifierDefault": 1.0, + "FallDamageModifierLowGravity": 0.25, + "AbilityChargesMax": 2, + "AbilityChargesCooldown": 2.5, + "RollCooldown": 0.8, + "GroundPoundStaminaPcRequired": 0.75, + "StaminaDrainSprint": 1.0, + "StaminaDrainGlideBoost": 5.0, + "NPCInteractionMinutes": 15, + "WorldEdgeFullFogDensity": 1.0, + "WorldEdgeFullFogDistance": 8.0, + "WorldEdgeFogBeginDistance": 24.0, + "AFKWarningInMinutes": 10, + "AFKTimeoutInMinutes": 10, + "WorldKey": "AMP_Server", + "TemplateKey": "69bac762182c4dd69c59a48c3e1e9304", + "CombatDefaultTool": "default_stick", + "CreativePermissionLevel": null, + "WorldName": "AMP Powered Creativerse Server", + "WorldDescription": "A Creativerse World", + "Skybox": "SkyboxGradient", + "CraftTime": { + "instant": 1, + "trivial": 10, + "basic": 30, + "forge1": 20, + "forge2": 120, + "forge3": 60, + "complicated": 180, + "difficult": 360, + "epic": 900 + }, + "ExtractTime": { + "trivial": 60, + "basic": 300, + "complicated": 600, + "difficult": 1200, + "epic": 3600 + }, + "MiningTimeForTier": { + "1": 0.85, + "2": 0.7, + "3": 0.65, + "4": 0.6, + "5": 0.5, + "6": 0.4, + "7": 0.25 + }, + "ClaimCountByModLevel": { + "Owner": 500, + "Admin": 500, + "Mod": 500, + "Builder": 1, + "Visitor": 0 + }, + "StartingClaimCountByModLevel": { + "Owner": 200, + "Admin": 100, + "Mod": 50, + "Builder": 0, + "Visitor": 0 + }, + "CostumePurchaseResource": "drone_token", + "CostumePurchaseCost": { + "default": 10, + "$slot_hat": 100, + "$slot_head": 150, + "$slot_body": 50, + "$slot_arms": 50, + "$slot_legs": 50, + "$slot_gauntlet": 200, + "$slot_sword": 100, + "$slot_flashlight": 50, + "$slot_glider": 200 + }, + "BlueprintKitPurchaseResource": "coin", + "BlueprintKitTierCost": { + "tier_1": { + "PerBlockCost": 0.08, + "MinimumCount": 10 + }, + "tier_2": { + "PerBlockCost": 0.09, + "MinimumCount": 10 + }, + "tier_3": { + "PerBlockCost": 0.1, + "MinimumCount": 10 + }, + "tier_4": { + "PerBlockCost": 0.12, + "MinimumCount": 50 + }, + "tier_5": { + "PerBlockCost": 0.13, + "MinimumCount": 50 + }, + "tier_6": { + "PerBlockCost": 0.14, + "MinimumCount": 50 + }, + "tier_7": { + "PerBlockCost": 0.15, + "MinimumCount": 100 + }, + "tier_8": { + "PerBlockCost": 0.16, + "MinimumCount": 100 + }, + "tier_9": { + "PerBlockCost": 0.17, + "MinimumCount": 100 + }, + "tier_10": { + "PerBlockCost": 0.2, + "MinimumCount": 200 + }, + "tier_11": { + "PerBlockCost": 0.3, + "MinimumCount": 200 + }, + "machines_12": { + "PerBlockCost": 0.5, + "MinimumCount": 200 + } + }, + "BlueprintKitBulkFactors": { + "4999": 1.0, + "9999": 0.85, + "14999": 0.71, + "19999": 0.587, + "24999": 0.5, + "29999": 0.475, + "34999": 0.45, + "39999": 0.435, + "44999": 0.42, + "49999": 0.4 + }, + "AutobuildPurchaseResource": "drone_token", + "BlueprintKitCostFactor": 1.0, + "BlueprintAutobuildCostPerBlock": 0.0001, + "ClaimResourceCostByLevel": { + "1": { + "coal": 20 + }, + "2": { + "obsidian": 40 + }, + "3": { + "iron_bar": 80 + }, + "4": { + "diamond": 160 + }, + "5": { + "lumite": 320 + }, + "6": { + "arcstone": 320 + } + }, + "VisitorDefault": false, + "DisablePvp": false, + "DisableExplosions": false, + "DisableFireSpread": false, + "DisableCorruptionSpread": false, + "DisableVaults": false, + "DisableClaims": false, + "DisableMobSpawns": false, + "DisableAmbientSpawns": false, + "DisableNpcSpawns": false, + "DisableTreasureSpawns": false, + "DisableDayVariations": false, + "DisableFlashlight": false, + "DisableGlider": false, + "DisableBlockDig": false, + "DisableBlockPlace": false, + "DisableFogOfWar": false, + "DisableBlueprintKitPurchase": false, + "DisableMap": false, + "DisableDeathMarkerOnHud": false, + "DisableBlockPainting": false, + "DisableAutoBuild": false, + "DisableErrorBlockCheck": false, + "DropInventoryOnDeath": true, + "DropQuickbarOnDeath": false, + "DropEquipmentOnDeath": false, + "RecipesLocked": true, + "AllCraftsFree": false, + "TradersEnabled": false, + "EventHalloweenEnabled": false, + "EventHolidayEnabled": false, + "LowGravity": false, + "PassiveMobs": false, + "Tags": [], + "AFKDisconnectionDisabled": false +} \ No newline at end of file diff --git a/creativersemetaconfig.json b/creativersemetaconfig.json new file mode 100644 index 000000000..c4993cfea --- /dev/null +++ b/creativersemetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"PlayfulCorp/CreativerseServer/worlddata/worlds/{{worldId}}/config_world.json", + "AutoMap":true, + "ConfigType":"json" + } +] \ No newline at end of file diff --git a/creativerseupdates.json b/creativerseupdates.json new file mode 100644 index 000000000..f88989a53 --- /dev/null +++ b/creativerseupdates.json @@ -0,0 +1,32 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1098260", + "UpdateSourceArgs":"280790" + }, + { + "UpdateStageName":"World Directory Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}PlayfulCorp/CreativerseServer/worlddata/worlds/{{worldId}}", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"World Directory Creation", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C mkdir \"%LocalAppData%\\PlayfulCorp\\CreativerseServer\\worlddata\\worlds\\{{worldId}}\" & mkdir \"{{$FullBaseDir}}PlayfulCorp\" & mklink /J \"{{$FullBaseDir}}PlayfulCorp\\CreativerseServer\" \"%LocalAppData%\\PlayfulCorp\\CreativerseServer\"" + }, + { + "UpdateStageName":"World Config Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/creativerseconfig_world.json", + "UpdateSourceArgs":"config_world.json", + "UpdateSourceTarget":"{{$FullBaseDir}}PlayfulCorp/CreativerseServer/worlddata/worlds/{{worldId}}/", + "OverwriteExistingFiles":false + } +] \ No newline at end of file From 5a19f61147a39aa467d24513ebbd0495fcd312bf Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 30 Apr 2023 13:01:37 +1000 Subject: [PATCH 179/318] Add Mindustry (#341) --- mindustry.kvp | 94 ++++++++ mindustryconfig.json | 506 ++++++++++++++++++++++++++++++++++++++++++ mindustryupdates.json | 89 ++++++++ 3 files changed, 689 insertions(+) create mode 100644 mindustry.kvp create mode 100644 mindustryconfig.json create mode 100644 mindustryupdates.json diff --git a/mindustry.kvp b/mindustry.kvp new file mode 100644 index 000000000..3e1366587 --- /dev/null +++ b/mindustry.kvp @@ -0,0 +1,94 @@ +Meta.DisplayName=Mindustry +Meta.Description=Mindustry Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=Native +Meta.Arch=All +Meta.Author=Greelan +Meta.URL=https://mindustrygame.github.io/ +Meta.DisplayImageSource=steam:1127400 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=mindustryconfig.json +Meta.MetaConfigManifest= +Meta.ConfigRoot=mindustry.kvp +Meta.MinAMPVersion=2.4.3.2 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Mindustry +App.RootDir=./mindustry/ +App.BaseDirectory=./mindustry/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin=java\bin\java.exe +App.ExecutableLinux=java/bin/java +App.WorkingDir= +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{CustomJavaArgs}} -jar server-release.jar config port {{$ServerPort}},config socketInputPort {{$SocketInputPort}},{{host}}{{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"SteamAppId":"1127400"} +App.CommandLineParameterFormat={0} "{1}" +App.CommandLineParameterDelimiter=, +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=exit +App.ExitFile=app_exit.lck +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat={0} {1} +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":"Both","Port":6567,"Ref":"ServerPort","Name":"Server Port","Description":"Port for server traffic"},{"Protocol":"TCP","Port":6569,"Ref":"SocketInputPort","Name":"Socket Input Port","Description":"Port for socket input traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=100 +App.UseRandomAdminPassword=True +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=App.UpdateSources=@IncludeJson[mindustryupdates.json] +App.PreStartStages=[] +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= +Console.AppReadyRegex=^\[[\d-]+ [\d:]+\] \[I\] Server loaded\. Type 'help' for help\.$ +Console.UserJoinRegex=^\[[\d-]+ [\d:]+\] \[I\] (?<username>.+?) has connected\. \[(?<sessionid>.+?)\]$ +Console.UserLeaveRegex=^\[[\d-]+ [\d:]+\] \[I\] (?<username>.+?) has disconnected\. \[(?<sessionid>.+?)\] \(.*\)$ +Console.UserChatRegex=^$ +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/mindustryconfig.json b/mindustryconfig.json new file mode 100644 index 000000000..e20b58725 --- /dev/null +++ b/mindustryconfig.json @@ -0,0 +1,506 @@ +[ + { + "DisplayName":"Enable Logging", + "Category":"Mindustry Server Settings", + "Description":"Enables logging to files by default", + "Keywords":"", + "FieldName":"logging", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"config logging", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{} + }, + { + "DisplayName":"Server Version", + "Category":"Mindustry Server Settings", + "Description":"Sets the [server version](https://github.com/Anuken/Mindustry/tags) to install. Blank (default) = latest release. NOTE: Update the server after changing this setting", + "Keywords":"server,version,release", + "FieldName":"ServerVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerVersion", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Mindustry Server Settings", + "Description":"Sets the server name as displayed on clients. Don't include commas", + "Keywords":"server,name", + "FieldName":"name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"config name", + "IncludeInCommandLine":true, + "DefaultValue":"AMP Powered Mindustry Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Description", + "Category":"Mindustry Server Settings", + "Description":"Sets the server description, displayed under the name. Maximum 100 characters. Don't include commas", + "Keywords":"server,description,desc", + "FieldName":"desc", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"config desc", + "IncludeInCommandLine":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Message Of The Day", + "Category":"Mindustry Server Settings", + "Description":"Sets the message displayed to players on connection (MOTD). Don't include commas", + "Keywords":"motd,welcome,message", + "FieldName":"motd", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"config motd", + "IncludeInCommandLine":true, + "DefaultValue":"Welcome to Mindustry!", + "EnumValues":{} + }, + { + "DisplayName":"Initial Map", + "Category":"Mindustry Server Settings", + "Description":"Sets the map to initially load, if any. None = server won't be \"opened\", and no game started (unless Load Saved Slot is set). Random = random map started in Survival mode. If Custom is selected, you must also set the Custom Map Name", + "Keywords":"host,map", + "FieldName":"host", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"host", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "":"None (default)", + "host,":"Random", + "host Ancient_Caldera {{Mode}},":"Ancient Caldera", + "host Archipelago {{Mode}},":"Archipelago", + "host Debris_Field {{Mode}},":"Debris Field", + "host Domain {{Mode}},":"Domain", + "host Fork {{Mode}},":"Fork", + "host Fortress {{Mode}},":"Fortress", + "host Glacier {{Mode}},":"Glacier", + "host Islands {{Mode}},":"Islands", + "host Labyrinth {{Mode}},":"Labyrinth", + "host Maze {{Mode}},":"Maze", + "host Molten_Lake {{Mode}},":"Molten Lake", + "host Mud_Flats {{Mode}},":"Mud Flats", + "host Passage {{Mode}},":"Passage", + "host Shattered {{Mode}},":"Shattered", + "host Tendrils {{Mode}},":"Tendrils", + "host Triad {{Mode}},":"Triad", + "host Veins {{Mode}},":"Veins", + "host Wasteland {{Mode}},":"Wasteland", + "host {{CustomMapName}} {{Mode}},":"Custom" + } + }, + { + "DisplayName":"Custom Map Name", + "Category":"Mindustry Server Settings", + "Description":"Sets the name of a custom map to initially load. The map must be included in config/maps. \"Custom\" must be selected under Initial Map", + "Keywords":"custom,map", + "FieldName":"CustomMapName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMapName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Map Shuffle Mode", + "Category":"Mindustry Server Settings", + "Description":"Sets the map shuffling mode", + "Keywords":"map,shuffle", + "FieldName":"shuffle", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"shuffle", + "IncludeInCommandLine":true, + "DefaultValue":"all", + "EnumValues":{ + "none":"No shuffling", + "all":"Shuffle all maps (default)", + "custom":"Shuffle only custom maps", + "builtin":"Shuffle only default maps" + } + }, + { + "DisplayName":"Game Mode", + "Category":"Mindustry Server Settings", + "Description":"Sets the initial game mode", + "Keywords":"game,mode", + "FieldName":"Mode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Mode", + "IncludeInCommandLine":false, + "DefaultValue":"survival", + "EnumValues":{ + "survival":"Survival (default)", + "sandbox":"Sandbox", + "attack":"Attack", + "pvp":"PvP" + } + }, + { + "DisplayName":"Load Saved Slot", + "Category":"Mindustry Server Settings", + "Description":"Sets the saved slot (as included in config/saves, without the .msav extension) to initially load. The Initial Map must be set to None for the saved slot to load, and a game cannot be running", + "Keywords":"load,save", + "FieldName":"load", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"load", + "IncludeInCommandLine":true, + "DefaultValue":"", + "SkipIfEmpty":true, + "EnumValues":{} + }, + { + "DisplayName":"Server Mods", + "Category":"Mindustry Server Settings", + "Description":"Mods can be enabled by including them in config/mods", + "Keywords":"mods", + "FieldName":"Mods", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"Mods", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Mindustry Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time", + "Keywords":"maximum,players,clients,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"playerlimit", + "IncludeInCommandLine":true, + "DefaultValue":"100", + "Placeholder":"100", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Enable Whitelist", + "Category":"Mindustry Server Settings", + "Description":"If set, the server whitelist will be enabled. Manage the whitelisted players from the console using \"whitelist [add/remove] [ID]\"", + "Keywords":"whitelist", + "FieldName":"whitelist", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"config whitelist", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Auto Pause When Empty", + "Category":"Mindustry Server Settings", + "Description":"If set, any running game will be paused when no player is online", + "Keywords":"auto,pause,empty,autopause", + "FieldName":"autoPause", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"config autoPause", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Autosave", + "Category":"Mindustry Server Settings", + "Description":"If enabled, the server will periodically save the map during play", + "Keywords":"save,enable,autosave", + "FieldName":"autosave", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"config autosave", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Autosave Interval", + "Category":"Mindustry Server Settings", + "Description":"Sets the time interval between autosaves, if autosave is enabled", + "Keywords":"save,autosave,interval,autosavespacing", + "FieldName":"autosaveSpacing", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"config autosaveSpacing", + "IncludeInCommandLine":true, + "DefaultValue":"300", + "Placeholder":"300", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Autosave Quantity", + "Category":"Mindustry Server Settings", + "Description":"Sets the maximum quantity of autosaves to be retained. Older saves will be replaced when the limit is reached", + "Keywords":"maximum,autosaves,autosaveamount", + "FieldName":"autosaveAmount", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"config autosaveAmount", + "IncludeInCommandLine":true, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"autosaves", + "EnumValues":{} + }, + { + "DisplayName":"Enable Debug Logging", + "Category":"Mindustry Server Settings", + "Description":"If set, debug logging will be enabled on the server", + "Keywords":"log,logging,debug", + "FieldName":"debug", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"config debug", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Strict Mode", + "Category":"Mindustry Gameplay Settings", + "Description":"If set, strict mode will be enabled - the server will correct positions and prevent duplicate UUIDs", + "Keywords":"strict,mode", + "FieldName":"strict", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"config strict", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Custom Clients", + "Category":"Mindustry Gameplay Settings", + "Description":"If enabled, custom clients will be allowed to connect to the server", + "Keywords":"custom,clients,allowcustomclients", + "FieldName":"allowCustomClients", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"config allowCustomClients", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Show Connect/Disconnect Messages", + "Category":"Mindustry Gameplay Settings", + "Description":"If set, player connect and disconnect messages will be displayed", + "Keywords":"connect,disconnect,message,showconnectmessages", + "FieldName":"showConnectMessages", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"config showConnectMessages", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Vote Kick", + "Category":"Mindustry Gameplay Settings", + "Description":"If set, votekick will be enabled", + "Keywords":"vote,kick,enablevotekick", + "FieldName":"enableVotekick", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"config enableVotekick", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Anti-spam", + "Category":"Mindustry Gameplay Settings", + "Description":"If enabled, spammers will be automatically kicked and rate-limited", + "Keywords":"spam,spammers,antispam", + "FieldName":"antiSpam", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"config antiSpam", + "IncludeInCommandLine":true, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Message Rate Limit", + "Category":"Mindustry Server Settings", + "Description":"Sets the message rate limit. 0 = disabled", + "Keywords":"message,rate,limit,messageratelimit", + "FieldName":"messageRateLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"config messageRateLimit", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Message Spam Kick", + "Category":"Mindustry Server Settings", + "Description":"Sets how many times a player must send a message before the cooldown to get kicked. 0 = disabled", + "Keywords":"message,spam,kick,messagespamkick", + "FieldName":"messageSpamKick", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"config messageSpamKick", + "IncludeInCommandLine":true, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Chat Spam Limit", + "Category":"Mindustry Server Settings", + "Description":"Sets the limit for the chat packet count sent within 2 seconds that will lead to a blacklist and kick. Not the same as a rate limit", + "Keywords":"chat,spam,blacklist,kick,chatspamlimit", + "FieldName":"chatSpamLimit", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"config chatSpamLimit", + "IncludeInCommandLine":true, + "DefaultValue":"20", + "Placeholder":"20", + "EnumValues":{} + }, + { + "DisplayName":"Packet Spam Limit", + "Category":"Mindustry Server Settings", + "Description":"Sets the limit for the packet count sent within 3 seconds that will lead to a blacklist and kick", + "Keywords":"packet,spam,blacklist,kick,packetspamlimit", + "FieldName":"packetSpamLimit", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"config packetSpamLimit", + "IncludeInCommandLine":true, + "DefaultValue":"300", + "Placeholder":"300", + "EnumValues":{} + }, + { + "DisplayName":"Block Interaction Rate Limit Window", + "Category":"Mindustry Server Settings", + "Description":"Sets the block interaction rate limit window", + "Keywords":"block,interaction,rate,limit,window,interactratewindow", + "FieldName":"interactRateWindow", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"config interactRateWindow", + "IncludeInCommandLine":true, + "DefaultValue":"6", + "Placeholder":"6", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Block Interaction Rate Limit", + "Category":"Mindustry Server Settings", + "Description":"Sets the block interaction rate limit", + "Keywords":"block,interaction,rate,limit,interactratelimit", + "FieldName":"interactRateLimit", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"config interactRateLimit", + "IncludeInCommandLine":true, + "DefaultValue":"25", + "Placeholder":"25", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Interactions For Kick", + "Category":"Mindustry Server Settings", + "Description":"Sets how many times a player must interact inside the window to get kicked", + "Keywords":"block,interaction,window,kick,interactratekick", + "FieldName":"interactRateKick", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"config interactRateKick", + "IncludeInCommandLine":true, + "DefaultValue":"60", + "Placeholder":"60", + "EnumValues":{} + }, + { + "DisplayName":"Client Entity Snapshot Interval", + "Category":"Mindustry Gameplay Settings", + "Description":"Sets the client entity snapshot interval", + "Keywords":"client,snapshot,interval,snapshotinterval", + "FieldName":"snapshotInterval", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"config snapshotInterval", + "IncludeInCommandLine":true, + "DefaultValue":"200", + "Placeholder":"200", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Additional Java Startup Parameters", + "Category":"Mindustry Java Settings", + "Description":"Additional Java arguments (not server arguments) as startup parameters that are not otherwise set by AMP. Use with care", + "Keywords":"custom,java,arguments,parameters", + "FieldName":"CustomJavaArgs", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomJavaArgs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + } +] diff --git a/mindustryupdates.json b/mindustryupdates.json new file mode 100644 index 000000000..bafc8759f --- /dev/null +++ b/mindustryupdates.json @@ -0,0 +1,89 @@ +[ + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"GithubRelease", + "UpdateSourceArgs":"Anuken/Mindustry", + "UpdateSourceData":"server-release.jar", + "UpdateSourceVersion":"{{ServerVersion}}", + "UpdateSourceTarget":"{{$FullRootDir}}", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Java Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.zip", + "UpdateSourceTarget":"{{$FullRootDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Remove Old Java Directory", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C rd /S /Q .\\mindustry\\java" + }, + { + "UpdateStageName":"Java Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz", + "UpdateSourceArch":"x86_64", + "UpdateSourceTarget":"{{$FullRootDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Java Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://download.oracle.com/java/17/latest/jdk-17_linux-aarch64_bin.tar.gz", + "UpdateSourceArch":"aarch64", + "UpdateSourceTarget":"{{$FullRootDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Pause Update Stages", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Pause", + "UpdateSourceArgs":"1" + }, + { + "UpdateStageName":"Rename New Java Directory", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C move .\\mindustry\\jdk* .\\mindustry\\java" + }, + { + "UpdateStageName":"Replace Java Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'rm -rf ./mindustry/java ; mv ./mindustry/jdk* ./mindustry/java ; chmod +x ./mindustry/java/bin/java'" + }, + { + "UpdateStageName":"Create Maps Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}config/maps" + }, + { + "UpdateStageName":"Create Mods Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}config/mods" + }, + { + "UpdateStageName":"Create Saves Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}config/saves" + } +] \ No newline at end of file From db01a83cebcf1d70bac7a601cfd036c4ff77ddc9 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sun, 30 Apr 2023 03:17:14 -0500 Subject: [PATCH 180/318] Add Euro Truck Simulator 2 (#349) * Add Euro Truck Simulator 2 * Fixes * Update stages finalizing * Pesky backup files --- american-truck-simulator.kvp | 3 - american-truck-simulatorconfig.json | 2 +- euro-truck-simulator-2.kvp | 95 +++++++ euro-truck-simulator-2.sii | 33 +++ euro-truck-simulator-2config.json | 340 ++++++++++++++++++++++++++ euro-truck-simulator-2metaconfig.json | 8 + euro-truck-simulator-2ports.json | 16 ++ euro-truck-simulator-2updates.json | 24 ++ 8 files changed, 517 insertions(+), 4 deletions(-) create mode 100644 euro-truck-simulator-2.kvp create mode 100644 euro-truck-simulator-2.sii create mode 100644 euro-truck-simulator-2config.json create mode 100644 euro-truck-simulator-2metaconfig.json create mode 100644 euro-truck-simulator-2ports.json create mode 100644 euro-truck-simulator-2updates.json diff --git a/american-truck-simulator.kvp b/american-truck-simulator.kvp index b81fd24c8..621d83faf 100644 --- a/american-truck-simulator.kvp +++ b/american-truck-simulator.kvp @@ -74,9 +74,6 @@ App.MonitorChildProcessName= App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=Immediate -App.AttemptedExtIPFetch=True -App.IPFetchLimiter=System.Threading.SemaphoreSlim -App.LastFailedIPFetch=null App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= diff --git a/american-truck-simulatorconfig.json b/american-truck-simulatorconfig.json index 0d8c513dc..a2b52547f 100644 --- a/american-truck-simulatorconfig.json +++ b/american-truck-simulatorconfig.json @@ -2,7 +2,7 @@ { "DisplayName":"Lobby Name", "Category":"ATS - Server Settings", - "Description":"Session name, limited to 63", + "Description":"Session name, limited to 63 characters.", "Keywords":"lobby,name", "FieldName":"lobby_name", "InputType":"text", diff --git a/euro-truck-simulator-2.kvp b/euro-truck-simulator-2.kvp new file mode 100644 index 000000000..80e82fb1d --- /dev/null +++ b/euro-truck-simulator-2.kvp @@ -0,0 +1,95 @@ +Meta.DisplayName=Euro Truck Simulator 2 +Meta.Description=Euro Truck Simulator 2 Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=NotSupported +Meta.Arch=x86_64 +Meta.Author=IceOfWraith +Meta.URL=https://store.steampowered.com/app/227300/Euro_Truck_Simulator_2/ +Meta.DisplayImageSource=steam:227300 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort} +Meta.ConfigManifest=euro-truck-simulator-2config.json +Meta.MetaConfigManifest=euro-truck-simulator-2metaconfig.json +Meta.ConfigRoot=euro-truck-simulator-2.kvp +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=SupportedOnLinux, RequiredOnWindows +Meta.ContainerPolicyReason=The game server does not run properly as NETWORK SERVICE, so it must be run within Docker on Windows. +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3790?utm_source=ampcreate&utm_content=ats-ets2 +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Euro Truck Simulator 2 +App.RootDir=./euro-truck-simulator-2/ +App.BaseDirectory=./euro-truck-simulator-2/1948160/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin= +App.ExecutableLinux=1948160/bin/linux_x64/eurotrucks2_server +App.WorkingDir=1948160 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -nosingle {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"227300","XDG_DATA_HOME":"{{$FullBaseDir}}"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=stop +App.ExitFile=app_exit.lck +App.HasWriteableConsole=False +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=@IncludeJson[euro-truck-simulator-2ports.json] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=MainServerPort +App.UniversalSleepApplicationUDPPortRef=MainServerPort +App.UniversalSleepSteamQueryPortRef=QueryDedicatedPort +App.MaxUsers=8 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=False +App.RemoteAdminPassword= +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.LoginTransformPrefix= +App.RCONConnectDelaySeconds=30 +App.RCONConnectRetrySeconds=15 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[euro-truck-simulator-2updates.json] +App.PreStartStages=[] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+ +Console.AppReadyRegex=^$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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/euro-truck-simulator-2.sii b/euro-truck-simulator-2.sii new file mode 100644 index 000000000..b1e64cb3d --- /dev/null +++ b/euro-truck-simulator-2.sii @@ -0,0 +1,33 @@ +SiiNunit +{ +server_config : _nameless.3a6.40c0 { + lobby_name: "{{lobby_name}}" + description: "{{description}}" + welcome_message: "{{welcome_message}}" + password: "{{password}}" + max_players: {{max_players}} + max_vehicles_total: {{max_vehicles_total}} + max_ai_vehicles_player: {{max_ai_vehicles_player}} + max_ai_vehicles_player_spawn: {{max_ai_vehicles_player_spawn}} + connection_virtual_port: 100 + query_virtual_port: 101 + connection_dedicated_port: {{connection_dedicated_port}} + query_dedicated_port: {{query_dedicated_port}} + server_logon_token: "{{server_logon_token}}" + player_damage: {{player_damage}} + traffic: {{traffic}} + hide_in_company: {{hide_in_company}} + hide_colliding: {{hide_colliding}} + force_speed_limiter: {{force_speed_limiter}} + mods_optioning: {{mods_optioning}} + timezones: {{timezones}} + service_no_collision: {{service_no_collision}} + in_menu_ghosting: {{in_menu_ghosting}} + name_tags: {{name_tags}} + friends_only: false + show_server: true + moderator_list: {{moderator_list1}} + {{moderator_list2}} +} + +} diff --git a/euro-truck-simulator-2config.json b/euro-truck-simulator-2config.json new file mode 100644 index 000000000..f130219cc --- /dev/null +++ b/euro-truck-simulator-2config.json @@ -0,0 +1,340 @@ +[ + { + "DisplayName":"Lobby Name", + "Category":"ETS - Server Settings", + "Description":"Session name, limited to 63 characters.", + "Keywords":"lobby,name", + "FieldName":"lobby_name", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"lobby_name", + "IncludeInCommandLine":false, + "DefaultValue":"Euro Truck Simulator Server - Powered by AMP", + "Placeholder":"Euro Truck Simulator Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Description", + "Category":"ETS - Server Settings", + "Description":"Session description, limited to 63 characters.", + "Keywords":"lobby,description", + "FieldName":"description", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"description", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Welcome Message", + "Category":"ETS - Server Settings", + "Description":"Session welcome message, limited to 127 characters.", + "Keywords":"welcome,message", + "FieldName":"welcome_message", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"welcome_message", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Password", + "Category":"ETS - Server Settings", + "Description":"Session password, limited to 63 characters.", + "Keywords":"password", + "FieldName":"password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Max Players", + "Category":"ETS - Server Settings", + "Description":"Maximum players in session, limit is 8 players.", + "Keywords":"max,players", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_players", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "MinValue":"1", + "MaxValue":"8", + "EnumValues":{} + }, + { + "DisplayName":"Max Vehicles Total", + "Category":"ETS - Server Settings", + "Description":"", + "Keywords":"max,vehicles,total", + "FieldName":"max_vehicles_total", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_vehicles_total", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "MinValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Max AI Vehicles Player", + "Category":"ETS - Server Settings", + "Description":"", + "Keywords":"max,ai,vehicles,player", + "FieldName":"max_ai_vehicles_player", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_ai_vehicles_player", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "MinValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Max AI Vehicles Player Spawn", + "Category":"ETS - Server Settings", + "Description":"", + "Keywords":"max,ai,vehicles,player,spawn", + "FieldName":"max_ai_vehicles_player_spawn", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"max_ai_vehicles_player_spawn", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "MinValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"connection_dedicated_port", + "Category":"ETS - Server Settings", + "Description":"Port used for main game traffic", + "Keywords":"", + "FieldName":"$MainServerPort", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"connection_dedicated_port", + "IncludeInCommandLine":false, + "EnumValues":{}, + "Hidden":true + }, + { + "DisplayName":"query_dedicated_port", + "Category":"ETS - Server Settings", + "Description":"Port used for Steam Query", + "Keywords":"", + "FieldName":"$QueryDedicatedPort", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"query_dedicated_port", + "IncludeInCommandLine":false, + "EnumValues":{}, + "Hidden":true + }, + { + "DisplayName":"Server Logon Token", + "Category":"ETS - Server Settings", + "Description":"Use appid 227300 to create a [Steam Server Login Token](https://steamcommunity.com/dev/managegameservers).", + "Keywords":"server,logon,token", + "FieldName":"server_logon_token", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"server_logon_token", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"6544F7E034119F113526E96474F", + "EnumValues":{} + }, + { + "DisplayName":"Player Damage", + "Category":"ETS - Server Settings", + "Description":"Flag to allow players to receive damage from other players.", + "Keywords":"player,damage", + "FieldName":"player_damage", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"player_damage", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Traffic", + "Category":"ETS - Server Settings", + "Description":"Flag to enable traffic.", + "Keywords":"traffic", + "FieldName":"traffic", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"traffic", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Hide In Company", + "Category":"ETS - Server Settings", + "Description":"Flag to enable if remote players are hidden in company area.", + "Keywords":"hide,company", + "FieldName":"hide_in_company", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"hide_in_company", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Hide Colliding", + "Category":"ETS - Server Settings", + "Description":"Flag to hide colliding vehicle after teleport. ", + "Keywords":"hide,colliding", + "FieldName":"hide_colliding", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"hide_colliding", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Force Speed Limiter", + "Category":"ETS - Server Settings", + "Description":"Flag to force speed limiter.", + "Keywords":"force,speed,limiter", + "FieldName":"force_speed_limiter", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"force_speed_limiter", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Mods Optioning", + "Category":"ETS - Server Settings", + "Description":"Flag to enable mods marked as optional, to be really optional.", + "Keywords":"mods,optioning", + "FieldName":"mods_optioning", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"mods_optioning", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Timezones", + "Category":"ETS - Server Settings", + "Description":"Sets whether the timezone updates as players change zones. It displays either the time or the time and timezone information.", + "Keywords":"timezones", + "FieldName":"timezones", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"timezones", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "EnumValues":{ + "0": "Disabled", + "1": "Time Only", + "2": "Full Info" + } + }, + { + "DisplayName":"Service No Collision", + "Category":"ETS - Server Settings", + "Description":"Disable collisions on service area.", + "Keywords":"service,no,collision", + "FieldName":"service_no_collision", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"service_no_collision", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"In Menu Ghosting", + "Category":"ETS - Server Settings", + "Description":"Disable collisions when game paused.", + "Keywords":"in,menu,ghosting", + "FieldName":"in_menu_ghosting", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"in_menu_ghosting", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Name Tags", + "Category":"ETS - Server Settings", + "Description":"Show player name tags above vehicles.", + "Keywords":"name,tags", + "FieldName":"name_tags", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"name_tags", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False": "false", + "True": "true" + } + }, + { + "DisplayName":"Moderator Count", + "Category":"ETS - Server Settings", + "Description":"The number of moderators in the Moderator List setting.", + "Keywords":"moderator,count", + "FieldName":"moderator_list1", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"moderator_list1", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Moderator List", + "Category":"ETS - Server Settings", + "Description":"Enter moderators, one per line. Increment the value in [#] starting at 0. 123456789 should be replaced with the moderator's Steam64 IDs. e.g. moderator_list[0]: 123456789.", + "Keywords":"moderator,list", + "FieldName":"moderator_list2", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"moderator_list2", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + } +] \ No newline at end of file diff --git a/euro-truck-simulator-2metaconfig.json b/euro-truck-simulator-2metaconfig.json new file mode 100644 index 000000000..0955e670c --- /dev/null +++ b/euro-truck-simulator-2metaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile":"Euro Truck Simulator 2/server_config.sii", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"euro-truck-simulator-2/AMP_server_config.sii" + } +] \ No newline at end of file diff --git a/euro-truck-simulator-2ports.json b/euro-truck-simulator-2ports.json new file mode 100644 index 000000000..4067acc8d --- /dev/null +++ b/euro-truck-simulator-2ports.json @@ -0,0 +1,16 @@ +[ + { + "Protocol": "UDP", + "Port": "27015", + "Name": "Main Server Port", + "Description": "Port used for main game traffic", + "Ref": "MainServerPort" + }, + { + "Protocol": "UDP", + "Port": "27016", + "Name": "Query Dedicated Port", + "Description": "Port used for main game traffic", + "Ref": "QueryDedicatedPort" + } +] \ No newline at end of file diff --git a/euro-truck-simulator-2updates.json b/euro-truck-simulator-2updates.json new file mode 100644 index 000000000..4bbe58270 --- /dev/null +++ b/euro-truck-simulator-2updates.json @@ -0,0 +1,24 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourceData":"1948160", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceArgs":"227300" + }, + { + "UpdateStageName":"Settings Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}Euro Truck Simulator 2" + }, + { + "UpdateStageName":"Settings Template Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/euro-truck-simulator-2.sii", + "UpdateSourceArgs":"AMP_server_config.sii", + "UpdateSourceTarget":"{{$FullRootDir}}", + "OverwriteExistingFiles":true + } +] \ No newline at end of file From 20bf6f54323c9c589def6faa2a92bf818351bc7e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 1 May 2023 07:00:31 +1000 Subject: [PATCH 181/318] Fix steamclient error (#350) --- valheim.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/valheim.kvp b/valheim.kvp index 9673dc314..441b63423 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -16,7 +16,7 @@ App.ExecutableWin=896660\valheim_server.exe App.ExecutableLinux=896660/valheim_server.x86_64 App.WorkingDir=896660 App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Saves" {{crossplay}} -App.EnvironmentVariables={"DOORSTOP_ENABLE":"TRUE","DOORSTOP_INVOKE_DLL_PATH":"{{$FullBaseDir}}BepInEx/core/BepInEx.Preloader.dll","DOORSTOP_CORLIB_OVERRIDE_PATH":"{{$FullBaseDir}}unstripped_corlib","LD_LIBRARY_PATH":"{{$FullBaseDir}}doorstop_libs:{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","LD_PRELOAD":"libdoorstop_x64.so","SteamAppId":"892970"} +App.EnvironmentVariables={"DOORSTOP_ENABLE":"TRUE","DOORSTOP_INVOKE_DLL_PATH":"{{$FullBaseDir}}BepInEx/core/BepInEx.Preloader.dll","DOORSTOP_CORLIB_OVERRIDE_PATH":"{{$FullBaseDir}}unstripped_corlib","LD_LIBRARY_PATH":"{{$FullBaseDir}}doorstop_libs:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","LD_PRELOAD":"libdoorstop_x64.so","SteamAppId":"892970"} App.CommandLineParameterFormat=-{0} "{1}" App.ExitMethod=OS_CLOSE App.HasWriteableConsole=False From 93c4c728c6dd563667fcff8884f24611bf9d17a2 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 3 May 2023 23:00:27 +1000 Subject: [PATCH 182/318] Fix parfile setting (#352) --- arma3config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arma3config.json b/arma3config.json index e27d2f79b..b25b4d37b 100644 --- a/arma3config.json +++ b/arma3config.json @@ -325,7 +325,7 @@ "DefaultValue":"", "EnumValues":{ "False":"", - "True":"-par=./parameters.txt " + "True":"-par=parameters.txt " } }, { From 2684d710fdd161b70d1c2ed1de7bb1e0eccf4181 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 6 May 2023 08:51:47 +1000 Subject: [PATCH 183/318] Update frozen-flame.kvp (#354) --- frozen-flame.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frozen-flame.kvp b/frozen-flame.kvp index c9125248e..6bcec04ae 100644 --- a/frozen-flame.kvp +++ b/frozen-flame.kvp @@ -17,7 +17,7 @@ Meta.ConfigReleaseState=NotSpecified App.DisplayName=Frozen Flame App.RootDir=./frozen-flame/ App.BaseDirectory=./frozen-flame/1348640/ -App.ExecutableWin=1348640\FrozenFlame\Binaries\Win64\FrozenFlameServer.exe +App.ExecutableWin=1348640\FrozenFlame\Binaries\Win64\FrozenFlameServer-Win64-Shipping.exe App.ExecutableLinux=1348640/FrozenFlame/Binaries/Linux/FrozenFlameServer-Linux-Shipping App.WorkingDir=1348640 App.LinuxCommandLineArgs=FrozenFlame -stdout From cb7b997df4e11ec2e57522f97ca73f66861a9e4e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 6 May 2023 18:19:35 +1000 Subject: [PATCH 184/318] DayZ: add cfggameplay setting (#353) --- dayz-experimentalconfig.json | 16 ++++++++++++++++ dayz-experimentalserver.cfg | 1 + dayz-originalconfig.json | 16 ++++++++++++++++ dayz-originalserver.cfg | 1 + 4 files changed, 34 insertions(+) diff --git a/dayz-experimentalconfig.json b/dayz-experimentalconfig.json index d21ddfe67..006405aa2 100644 --- a/dayz-experimentalconfig.json +++ b/dayz-experimentalconfig.json @@ -680,6 +680,22 @@ "Placeholder":"1375", "EnumValues":{} }, + { + "DisplayName":"Enable Gameplay Settings File", + "Category":"DayZ Gameplay Settings", + "Description":"If enabled, allows the use of cfggameplay.json to modify [gameplay settings](https://community.bistudio.com/wiki/DayZ:Gameplay_Settings)", + "Keywords":"gameplay,settings,file,cfggameplay,enablecfggameplayfile", + "FieldName":"enableCfgGameplayFile", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"enableCfgGameplayFile", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, { "DisplayName":"Storage Auto Fix", "Category":"DayZ Misc Settings", diff --git a/dayz-experimentalserver.cfg b/dayz-experimentalserver.cfg index efcad8033..07b3fb918 100644 --- a/dayz-experimentalserver.cfg +++ b/dayz-experimentalserver.cfg @@ -70,6 +70,7 @@ pingWarning = {{pingWarning}}; pingCritical = {{pingCritical}}; maxPing = {{maxPing}}; serverFpsWarning = {{serverFpsWarning}}; +enableCfgGameplayFile = {{enableCfgGameplayFile}}; // ******* // USER CONFIGURABLE SETTINGS - ADD ADDITIONAL SETTINGS HERE diff --git a/dayz-originalconfig.json b/dayz-originalconfig.json index a9df02e0b..df3d1e841 100644 --- a/dayz-originalconfig.json +++ b/dayz-originalconfig.json @@ -680,6 +680,22 @@ "Placeholder":"1375", "EnumValues":{} }, + { + "DisplayName":"Enable Gameplay Settings File", + "Category":"DayZ Gameplay Settings", + "Description":"If enabled, allows the use of cfggameplay.json to modify [gameplay settings](https://community.bistudio.com/wiki/DayZ:Gameplay_Settings)", + "Keywords":"gameplay,settings,file,cfggameplay,enablecfggameplayfile", + "FieldName":"enableCfgGameplayFile", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"enableCfgGameplayFile", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, { "DisplayName":"Storage Auto Fix", "Category":"DayZ Misc Settings", diff --git a/dayz-originalserver.cfg b/dayz-originalserver.cfg index efcad8033..07b3fb918 100644 --- a/dayz-originalserver.cfg +++ b/dayz-originalserver.cfg @@ -70,6 +70,7 @@ pingWarning = {{pingWarning}}; pingCritical = {{pingCritical}}; maxPing = {{maxPing}}; serverFpsWarning = {{serverFpsWarning}}; +enableCfgGameplayFile = {{enableCfgGameplayFile}}; // ******* // USER CONFIGURABLE SETTINGS - ADD ADDITIONAL SETTINGS HERE From c699f6d1966e5865b941bb7273822aac2a5d342e Mon Sep 17 00:00:00 2001 From: southnode <95715917+southnode@users.noreply.github.com> Date: Mon, 8 May 2023 12:31:01 +1000 Subject: [PATCH 185/318] Add Post Scriptum (#344) * Add Post Scriptum Based on the standard Squad Dedicated Server template recently complete - PS is effectively a carbon copy game by the same publisher, so shares a lot of the same things. * Update psconfigmanifest.json Update - accidentally pushed older config * Update post-scriptum.kvp Add UpdateSourceArgs for mod support * Naming Convention tidy Tidy up naming conventions for files - adjust file names within kvp to match new names - no configuration changes other than that. * Update post-scriptum.kvp Change to utilise new ports system * Update post-scriptum.kvp Change to correct binding variable * Update post-scriptum.kvp Remove app.updatesource is redundant * Update post-scriptum.kvp Remove redundant admin port after new ports system implemented * Update KVP - Full refactor Refactor using a newly deployed instance. Bump MinAMPVersion * Various tweaks * Update post-scriptum.kvp Update RCON delay * Add EnforceTeamBalance to config Add EnforceTeamBalance to config file as an option * Filename amendment Amend files to remove hyphens after the name of the service to be in-line with current conventions --------- Co-authored-by: Greelan <53196309+Greelan@users.noreply.github.com> --- post-scriptum.kvp | 88 ++++++++++ post-scriptumconfig.json | 316 +++++++++++++++++++++++++++++++++++ post-scriptummetaconfig.json | 8 + 3 files changed, 412 insertions(+) create mode 100644 post-scriptum.kvp create mode 100644 post-scriptumconfig.json create mode 100644 post-scriptummetaconfig.json diff --git a/post-scriptum.kvp b/post-scriptum.kvp new file mode 100644 index 000000000..8dd4e76fd --- /dev/null +++ b/post-scriptum.kvp @@ -0,0 +1,88 @@ +Meta.DisplayName=Post Scriptum +Meta.Description=Post Scriptum Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown +Meta.Arch=x86_64 +Meta.Author=Southnode +Meta.URL=http://postscriptumgame.com/ +Meta.DisplayImageSource=steam:736220 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=post-scriptumconfig.json +Meta.MetaConfigManifest=post-scriptummetaconfig.json +Meta.ConfigRoot=post-scriptum.kvp +Meta.MinAMPVersion=2.4.3.2 +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Post Scriptum +App.RootDir=./post-scriptum-server/ +App.BaseDirectory=./post-scriptum-server/746200/ +App.SteamWorkshopDownloadLocation={{$FullBaseDir}}PostScriptum/Plugins/Mods +App.ExecutableWin=746200\PostScriptum\Binaries\Win64\PostScriptumServer.exe +App.ExecutableLinux=746200/PostScriptum/Binaries/Linux/PostScriptumServer +App.WorkingDir=746200 +App.CommandLineArgs=MULTIHOME={{$ApplicationIPBinding}} Port={{$GamePort}} QueryPort={{$QueryPort}} RCONPORT={{$RCONPort}} RCONPASSWORD={{$RemoteAdminPassword}} FIXEDMAXTICKRATE={{MaxTPS}} RANDOM={{MapRandom}} -log -fullcrashdump +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"736220"} +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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27025,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":25575,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RCONPort +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPort=GamePort +App.UniversalSleepSteamQueryPort=QueryPort +App.MaxUsers=80 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=True +App.RemoteAdminPassword= +App.AdminMethod=SourceRCON +App.AdminLoginTransform=None +App.LoginTransformPrefix= +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=60 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"746200","UpdateSourceArgs":"736220"}] +App.PreStartStages=[] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^(LogInit: Display: Starting Game\.)|(LogOnline: GotoState: NewState: Playing)$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^\[Chat.*\] \[SteamID\:(?<userid>-?\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=False +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 \ No newline at end of file diff --git a/post-scriptumconfig.json b/post-scriptumconfig.json new file mode 100644 index 000000000..1484d9a16 --- /dev/null +++ b/post-scriptumconfig.json @@ -0,0 +1,316 @@ +[ + { + "DisplayName":"RCON Password", + "Category":"Server Config", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password", + "FieldName":"RCONPassword", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"RCONPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName": "Server Name", + "Category": "Server Config", + "Description": "Set the Name for the server in the Server Browser", + "Keywords": "server name, name", + "FieldName": "ServerName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "ServerName", + "IncludeInCommandLine": false, + "DefaultValue": "A new Post Scriptum Server!" + }, + { + "DisplayName": "Max Players", + "Category": "Server Config", + "Description": "Set the max players allowed on the server (minus reserved slots)", + "Keywords": "max players, players", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MaxPlayers", + "IncludeInCommandLine": false, + "DefaultValue": "80", + "Suffix":"players", + "MinValue":"1" + }, + { + "DisplayName": "Max TPS", + "Category": "Server Config", + "Description": "Set the maximum tickrate for the server (Set below 45 for best stability)", + "Keywords": "tps, tickrate", + "FieldName": "MaxTPS", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MaxTPS", + "IncludeInCommandLine": false, + "DefaultValue": "40", + "Suffix":"tps", + "MinValue":"10" + }, + { + "DisplayName": "LAN Mode", + "Category": "Server Config", + "Description": "Set the server to LAN mode", + "Keywords": "Lan,Server", + "FieldName": "IsLANMatch", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "IsLANMatch", + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Should Advertise", + "Category": "Server Config", + "Description": "Control visibility in the server browser - disabling removes the server from the Server Browser", + "Keywords": "Visibility,Server", + "FieldName": "ShouldAdvertise", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "ShouldAdvertise", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Number of Reserved Slots", + "Category": "Server Config", + "Description": "Number of reserved slots for admins within the Admins.cfg file with the 'reserved' group permission", + "Keywords": "reserved players, players", + "FieldName": "NumReservedSlots", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "NumReservedSlots", + "IncludeInCommandLine": false, + "DefaultValue": "0" + }, + { + "DisplayName": "Server Map Randomisation", + "Category": "Server Config", + "Description": "Set whether the server map rotation is randomised when the server starts. ALWAYS randomises all the maps in MapRotation.cfg, FIRST will select a first map at random from the list and proceed through the list in order.", + "Keywords": "Map Rotation,Rotation,Random", + "FieldName": "MapRandom", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "MapRandom", + "IncludeInCommandLine": false, + "DefaultValue": "None", + "EnumValues": { + "ALWAYS": "Always", + "FIRST": "First", + "NONE": "None" + } + }, + { + "DisplayName": "Randomize At Start", + "Category": "Server Config", + "Description": "Should the Map/Layer rotations list be randomized at start?", + "Keywords": "Map Rotation,Rotation", + "FieldName": "RandomizeAtStart", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "RandomizeAtStart", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Enforce Team Balance", + "Category": "Server Config", + "Description": "Enable to force joining players to the side with less players, or randomly if teams are balanced", + "Keywords": "Balance, Enforce, Enable Balance", + "FieldName": "EnforceTeamBalance", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "EnforceTeamBalance", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Allow Team Change", + "Category": "Server Config", + "Description": "Completly Allow or Disallow Team change to all players. Only users with 'balance' permission within Admins.cfg can bypass this flag", + "Keywords": "Layer,Vote", + "FieldName": "AllowTeamChanges", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "AllowTeamChanges", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Prevent Team Change If Unbalanced", + "Category": "Server Config", + "Description": "If set to false, players can change teams regardless of team balance. Otherwise, the NumPlayersDiffForTeamChanges Value is used", + "Keywords": "Layer,Vote", + "FieldName": "PreventTeamChangeIfUnbalanced", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "PreventTeamChangeIfUnbalanced", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Max Allowed Difference in player count", + "Category": "Server Config", + "Description": "Maximum Allowed difference in player count between teams. This takes into account the team the player leaves and the team the player joins", + "Keywords": "queue,players", + "FieldName": "NumPlayersDiffForTeamChanges", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "NumPlayersDiffForTeamChanges", + "IncludeInCommandLine": false, + "DefaultValue": "3" + }, + { + "DisplayName": "Rejoin Squad Delay After Kick", + "Category": "Server Config", + "Description": "Sets the delay after which a player is allowed to rejoin a squad after being kicked.", + "Keywords": "delay,players,kick", + "FieldName": "RejoinSquadDelayAfterKick", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "RejoinSquadDelayAfterKick", + "IncludeInCommandLine": false, + "DefaultValue": "180", + "Suffix":"seconds" + }, + { + "DisplayName": "Map Voting", + "Category": "Server Config", + "Description": "Enable Map Voting at the end of a round", + "Keywords": "map, voting", + "FieldName": "MapVoting", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "MapVoting", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Server Message Interval", + "Category": "Server Config", + "Description": "Frequency in which the server displays the information inside the ServerMessages.cfg file as a broadcast to all players", + "Keywords": "Interval, Message", + "FieldName": "ServerMessageInterval", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ServerMessageInterval", + "IncludeInCommandLine": false, + "DefaultValue": "300", + "Suffix":"seconds" + }, + { + "DisplayName": "Team Kill Auto Kick Enabled", + "Category": "Server Config", + "Description": "Enable Auto Kick for teamkilling", + "Keywords": "Kick,Auto,Team,Kill", + "FieldName": "TKAutoKickEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "TKAutoKickEnabled", + "DefaultValue": "True", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Vehicle Kit Requirement Disabled", + "Category": "Server Config", + "Description": "Toggle to disable vehicle kit requirement", + "Keywords": "Vehicle,Kit", + "FieldName": "VehicleKitRequirementDisabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "VehicleKitRequirementDisabled", + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Allow Community Admin Access", + "Category": "Server Config", + "Description": "Enable QA Admin Access", + "Keywords": "Admin", + "FieldName": "AllowCommunityAdminAccess", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "AllowCommunityAdminAccess", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Offworld Developers only Admin", + "Category": "Server Config", + "Description": "Allow Offworld Industries QA Dev Profiling", + "Keywords": "Admin", + "FieldName": "AllowDevProfiling", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "AllowDevProfiling", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Allow QA", + "Category": "Server Config", + "Description": "Allow Offworld Industries QA", + "Keywords": "QA", + "FieldName": "AllowQA", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "AllowQA", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Vehicle Claiming Disabled", + "Category": "Server Config", + "Description": "Disable Vehicle Claiming", + "Keywords": "Vehicle", + "FieldName": "VehicleClaimingDisabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "VehicleClaimingDisabled", + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + } +] \ No newline at end of file diff --git a/post-scriptummetaconfig.json b/post-scriptummetaconfig.json new file mode 100644 index 000000000..a84180386 --- /dev/null +++ b/post-scriptummetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile": "./PostScriptum/ServerConfig/Server.cfg", + "AutoMap": true, + "ConfigType": "kvp", + "ConfigFormat": "{0}=\"{1}\"" + } +] \ No newline at end of file From bfbaeaf70d04883787150a07e05635a98d393ce6 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 8 May 2023 14:30:13 +1000 Subject: [PATCH 186/318] Geyser: add ARM compatibility --- geyser.kvp | 5 +++-- geyserconfig.json | 4 ++-- geyserupdates.json | 20 +++++++++++++------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/geyser.kvp b/geyser.kvp index 339a6e1c1..54a2c6cef 100644 --- a/geyser.kvp +++ b/geyser.kvp @@ -1,7 +1,8 @@ Meta.DisplayName=Geyser Meta.Description=Geyser Minecraft Proxy Meta.OS=Windows, Linux -Meta.Arch=x86_64 +Meta.AarchSupport=Native +Meta.Arch=All Meta.Author=Greelan Meta.URL=https://geysermc.org/ Meta.DisplayImageSource=url:https://camo.githubusercontent.com/2c38e59629bbb0f2e632c231416baf222119b55a24803cf548e04c26e2785760/68747470733a2f2f6765797365726d632e6f72672f696d672f6765797365722d313736302d3836302e706e67 @@ -9,7 +10,7 @@ Meta.EndpointURIFormat=steam://connect/{0} Meta.ConfigManifest=geyserconfig.json Meta.MetaConfigManifest= Meta.ConfigRoot=geyser.kvp -Meta.MinAMPVersion=2.4.0.2 +Meta.MinAMPVersion=2.4.3.2 Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=Supported diff --git a/geyserconfig.json b/geyserconfig.json index 2fa5f16cf..f8ac8da4e 100644 --- a/geyserconfig.json +++ b/geyserconfig.json @@ -2,7 +2,7 @@ { "DisplayName":"Java Version", "Category":"Java Settings", - "Description":"Sets the Java version to install. Must be a major version number only such as 17 or 19, not a subversion. Check the [Geyser wiki](https://wiki.geysermc.org/geyser/setup/) for versions compatible with Geyser, and the [Oracle website](https://www.oracle.com/java/technologies/downloads/) for available downloads. Server must be updated after changing this setting", + "Description":"Sets the Java version to install. Must be a major version number only such as 17 or 20, not a subversion. Check the [Geyser wiki](https://wiki.geysermc.org/geyser/setup/) for versions compatible with Geyser, and the [Oracle website](https://www.oracle.com/java/technologies/downloads/) for available downloads. Server must be updated after changing this setting", "Keywords":"java,version", "FieldName":"JavaVersion", "InputType":"number", @@ -10,7 +10,7 @@ "IsFlagArgument":false, "ParamFieldName":"JavaVersion", "IncludeInCommandLine":false, - "DefaultValue":"19", + "DefaultValue":"17", "EnumValues":{} }, { diff --git a/geyserupdates.json b/geyserupdates.json index 20cd93605..2b59df464 100644 --- a/geyserupdates.json +++ b/geyserupdates.json @@ -30,6 +30,18 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_linux-x64_bin.tar.gz", + "UpdateSourceArch":"x86_64", + "UpdateSourceTarget":"{{$FullRootDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Java Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_linux-aarch64_bin.tar.gz", + "UpdateSourceArch":"aarch64", "UpdateSourceTarget":"{{$FullRootDir}}", "UnzipUpdateSource":true, "OverwriteExistingFiles":true, @@ -53,7 +65,7 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm -rf ./geyser/java ; mv ./geyser/jdk* ./geyser/java'" + "UpdateSourceArgs":"-c 'rm -rf ./geyser/java ; mv ./geyser/jdk* ./geyser/java ; chmod +x ./geyser/java/bin/java'" }, { "UpdateStageName":"Pause Update Stages", @@ -61,12 +73,6 @@ "UpdateSource":"Pause", "UpdateSourceArgs":"2" }, - { - "UpdateStageName":"Set Executable Flag", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"SetExecutableFlag", - "UpdateSourceArgs":"{{$FullBaseDir}}java/bin/java" - }, { "UpdateStageName":"Start Server", "UpdateSourcePlatform":"All", From 02dca1597b72c575a89cb40102565ecf088f8803 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 8 May 2023 14:31:54 +1000 Subject: [PATCH 187/318] Arma 3: Add headless client functionality (#356) --- arma3.kvp | 8 ++++---- arma3config.json | 20 +++++++++++++++++-- arma3runhc.ps1 | 43 ++++++++++++++++++++++++++++++++++++++++ arma3runhc.sh | 50 +++++++++++++++++++++++++++++++++++++++++++++++ arma3updates.json | 2 +- 5 files changed, 116 insertions(+), 7 deletions(-) create mode 100644 arma3runhc.ps1 create mode 100644 arma3runhc.sh diff --git a/arma3.kvp b/arma3.kvp index 3e8287598..96980e611 100644 --- a/arma3.kvp +++ b/arma3.kvp @@ -59,7 +59,7 @@ App.RCONHeartbeatMinutes=0.5 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} App.UpdateSources=@IncludeJson[arma3updates.json] -App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -f {{$FullBaseDir}}battleye/beserver_x64_active_*.cfg'"},{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"}] +App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -f {{$FullBaseDir}}battleye/beserver_x64_active_*.cfg'"},{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"},{"UpdateStageName":"Headless Client Script Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3runhc.sh","UpdateSourceArgs":"runhc.sh","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Headless Client Script Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3runhc.ps1","UpdateSourceArgs":"runhc.ps1","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Start Headless Clients","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'chmod +x ./runhc.sh; ./runhc.sh {{HeadlessClientsNum}} {{$ApplicationIPBinding}} {{$GamePort}} \"{{password}}\" \"{{mod}}\" &'"},{"UpdateStageName":"Start Headless Clients","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C start powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File \"runhc.ps1\" {{HeadlessClientsNum}} {{$ApplicationIPBinding}} {{$GamePort}} \"{{password}}\" \"{{mod}}\""}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=True @@ -75,8 +75,8 @@ Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Unknown command)$ Console.AppReadyRegex=^RCon admin #\d+ \([\d\.:]+\) logged in$ -Console.UserJoinRegex=^[\d:]+ BattlEye Server: Player #(?<sessionid>.+?) (?<username>.+( \(\d+\))?) \((?<endpoint>.+?):(?:\d+)\) connected$ -Console.UserLeaveRegex=^[\d:]+ BattlEye Server: Player #(?<sessionid>.+?) (?<username>.+( \(\d+\))?) disconnected$ +Console.UserJoinRegex=^([\d:]+ BattlEye Server: )?Player #(?<sessionid>.+?) (?<username>.+( \(\d+\))?) \((?<endpoint>.+?):(?:\d+)\) connected$ +Console.UserLeaveRegex=^([\d:]+ BattlEye Server: )?Player #(?<sessionid>.+?) (?<username>.+( \(\d+\))?) disconnected$ Console.UserChatRegex=^$ Console.UpdateAvailableRegex= Console.MetricsRegex= @@ -88,4 +88,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 \ No newline at end of file +Limits.SleepStartThresholdSeconds=25 diff --git a/arma3config.json b/arma3config.json index b25b4d37b..12a7cb73d 100644 --- a/arma3config.json +++ b/arma3config.json @@ -254,10 +254,26 @@ "True":"true" } }, + { + "DisplayName":"Headless Clients To Launch", + "Category":"Arma Server Settings", + "Description":"Sets the number of headless clients to launch when the server starts. Further information on configuration is [here](https://discourse.cubecoders.com/t/arma-3-generic-guide/3475#h-6-headless-clients-9)", + "Keywords":"headless,client", + "FieldName":"HeadlessClientsNum", + "InputType":"number", + "MinValue":"0", + "MaxValue":"5", + "IsFlagArgument":false, + "ParamFieldName":"HeadlessClientsNum", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, { "DisplayName":"Headless Client IPs", "Category":"Arma Server Settings", - "Description":"Sets the IPs of [headless clients](https://community.bistudio.com/wiki/Arma_3:_Headless_Client) able to connect to the server. Multiples connections and IPs are allowed. Format is \"IP1\",\"IP2\"", + "Description":"Sets the IPs of headless clients able to connect to the server. Multiples connections and IPs are allowed. Format is \"IP1\",\"IP2\"", "Keywords":"headless,client,ip,headlessclients", "FieldName":"headlessClients", "InputType":"text", @@ -265,7 +281,7 @@ "ParamFieldName":"headlessClients", "IncludeInCommandLine":false, "DefaultValue":"", - "Placeholder":"\"123.456.789.12\",\"210.987.654.321\"", + "Placeholder":"\"127.0.0.1\",\"210.187.254.121\"", "EnumValues":{} }, { diff --git a/arma3runhc.ps1 b/arma3runhc.ps1 new file mode 100644 index 000000000..6fd8dffdf --- /dev/null +++ b/arma3runhc.ps1 @@ -0,0 +1,43 @@ +# Arguments: [number_clients] [server_binding] [server_port] "<server_password>" "<mod_list>" + +# Check if any headless clients are to be run +# If none, immediately exit +if ($args[0] -eq "0") { exit } + +# Check if server starts successfully within 3 minutes +# If not, exit +$serverStarted = $false +for ($i = 1; $i -le 180; $i++) { + if (Get-NetUDPEndpoint -LocalPort $args[2] -ErrorAction SilentlyContinue) { + $serverStarted = $true + break + } + Start-Sleep -Seconds 1 +} +if (-not $serverStarted) { exit 1 } + +# Start the headless clients +$clients = @() +$basePort = [int]$args[2] + 498 +cd "$PSScriptRoot\arma3\233780" +for ($i = 1; $i -le [int]$args[0]; $i++) { + if ($args[1] -eq "0.0.0.0") { + $connect = "127.0.0.1" + } else { + $connect = $args[1] + } + $hcProcess = Start-Process -FilePath "ArmA3Server_x64.exe" -ArgumentList "-client", "-nosound", "-connect=${connect}:$($args[2])", "-port=$basePort", "-password=`"$($args[3])`"", "`"-mod=$($args[4])`"" -WindowStyle Hidden -PassThru + $clients += $hcProcess.Id +} + +# Monitor server process and terminate headless clients +# when server terminates +while ($true) { + if (-not (Get-NetUDPEndpoint -LocalPort $args[2] -ErrorAction SilentlyContinue)) { + foreach ($processId in $clients) { + Stop-Process -Id $processId -Force + } + exit 0 + } + Start-Sleep -Seconds 1 +} diff --git a/arma3runhc.sh b/arma3runhc.sh new file mode 100644 index 000000000..33d0ad4c9 --- /dev/null +++ b/arma3runhc.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Arguments: [number_clients] [server_binding] [server_port] "<server_password>" "<mod_list>" + +netcommand="$(command -v "ss" >/dev/null 2>&1 && echo "ss" || echo "netstat")" + +# Check if any headless clients are to be run +# If none, immediately exit +[[ $1 -eq 0 ]] && exit 0 + +# Check if server starts successfully within 3 minutes +# If not, exit +server_started=false +for i in $(seq 1 180); do + if $netcommand -uln | grep -q ":$3 "; then + server_started=true + break + fi + sleep 1 +done +if ! $server_started; then + exit 1 +fi + +# Start the headless clients +baseport=$(($3 + 498)) +export LD_LIBRARY_PATH=$(dirname "$0")/linux64:$LD_LIBRARY_PATH +cd ./arma3/233780 +for i in $(seq 1 "$1"); do + if [[ "$2" == "0.0.0.0" ]]; then + connect="127.0.0.1" + else + connect="$2" + fi + ./arma3server_x64 -client -nosound -connect=$connect:$3 -port=$baseport -password="$4" "-mod=$5" >/dev/null 2>&1 & + clients+=($!) +done + +# Monitor server process and terminate headless clients +# when server terminates +trap 'kill "${clients[@]}" >/dev/null 2>&1' SIGTERM +while true; do + if ! $netcommand -uln | grep -q ":$3 "; then + for client in "${clients[@]}"; do + kill "$client" >/dev/null 2>&1 + done + exit 0 + fi + sleep 1 +done diff --git a/arma3updates.json b/arma3updates.json index 84e35e8a5..62f0687aa 100644 --- a/arma3updates.json +++ b/arma3updates.json @@ -55,4 +55,4 @@ "UpdateSourceData":"cmd.exe", "UpdateSourceArgs":"/C cd .\\arma3\\233780 && for /D %G in (.\\steamapps\\workshop\\content\\107410\\*) do mklink /J %~nxG %G" } -] \ No newline at end of file +] From 2c761243255ba39c36fe2a83fa90f9e2c2ace567 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 8 May 2023 18:45:31 +1000 Subject: [PATCH 188/318] Frozen Flame: config file and defaults updates (#355) --- frozen-flameconfig.json | 18 +++++++++--------- frozen-flameheavennormal.ini | 18 ++++++++++-------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/frozen-flameconfig.json b/frozen-flameconfig.json index ce1ed30e2..e44cc8034 100644 --- a/frozen-flameconfig.json +++ b/frozen-flameconfig.json @@ -196,29 +196,29 @@ { "DisplayName":"Armour Durability Reduction On Death", "Category":"Frozen Flame Server Settings", - "Description":"Sets the amount of armour durability lost after death", + "Description":"Sets the amount of armour durability lost after death. Defaults: 5 (Campaign), 25 (Survival)", "Keywords":"armour,durability,loss,reduction,armordurabilityreducementafterdeath", "FieldName":"ArmorDurabilityReducementAfterDeath", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/Script/FrozenFlame.GameBalance.ArmorDurabilityReducementAfterDeath", "IncludeInCommandLine":false, - "DefaultValue":"25", - "Placeholder":"25", + "DefaultValue":"5", + "Placeholder":"5", "EnumValues":{} }, { "DisplayName":"Default Weapon Durability Cost", "Category":"Frozen Flame Server Settings", - "Description":"Sets the default weapon durability loss speed", + "Description":"Sets the default weapon durability loss speed. Defaults: 0.3 (Campaign), 0.5 (Survival)", "Keywords":"weapon,durability,cost,speed,defaultweapondurabilitycost", "FieldName":"DefaultWeaponDurabilityCost", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/Script/FrozenFlame.GameBalance.DefaultWeaponDurabilityCost", "IncludeInCommandLine":false, - "DefaultValue":"0.5", - "Placeholder":"0.5", + "DefaultValue":"0.3", + "Placeholder":"0.3", "EnumValues":{} }, { @@ -482,15 +482,15 @@ { "DisplayName":"Decay Threshold", "Category":"Frozen Flame Server Settings", - "Description":"Sets a minimum durability that keeps after weather decay system damage", + "Description":"Sets a minimum durability that keeps after weather decay system damage. Defaults: 0.5 (Campaign), 0 (Survival)", "Keywords":"decay,threshold,minimum,durability,decaythreshold", "FieldName":"DecayThreshold", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/Script/FrozenFlame.GameBalance.DecayThreshold", "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", + "DefaultValue":"0.5", + "Placeholder":"0.5", "EnumValues":{} }, { diff --git a/frozen-flameheavennormal.ini b/frozen-flameheavennormal.ini index 41ac133a4..e5da9419c 100644 --- a/frozen-flameheavennormal.ini +++ b/frozen-flameheavennormal.ini @@ -1,16 +1,18 @@ [/Script/FrozenFlame.GameBalance] -bSkipTutorial=False - HealthRateAfterRespawn=0.5 bRestoreHealthOnLevelUp=True -ArmorDurabilityReducementAfterDeath=25 -DefaultWeaponDurabilityCost=0.5 +JumpStaminaCost=6 +SprintStaminaCost=1.0 + +ArmorDurabilityReducementAfterDeath=5 +DefaultWeaponDurabilityCost=0.3 + +HalfSlowdownOverweightRatio=1 +FullSlowdownOverweightRatio=1.5 -bDropEquippedItems=False -bDropEquipableItems=True -bDropFoodItems=True +LevelUpFlameRate=1.0 bDemolishResourceDropMultiplier=0.5 -DecayThreshold=0 \ No newline at end of file +DecayThreshold=0.5 \ No newline at end of file From 903e74ea9748b1c6e7938bc2ba593042643d9406 Mon Sep 17 00:00:00 2001 From: Julian Thelen AKA DARKACE <32885015+darkace1998@users.noreply.github.com> Date: Mon, 8 May 2023 11:52:26 +0200 Subject: [PATCH 189/318] Add Project 5: Sightseer (#351) --- manifest.json | 2 +- project5-sightseer.kvp | 87 +++++++++++++++++++++++++++++++ project5-sightseerconfig.json | 61 ++++++++++++++++++++++ project5-sightseermetaconfig.json | 1 + 4 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 project5-sightseer.kvp create mode 100644 project5-sightseerconfig.json create mode 100644 project5-sightseermetaconfig.json diff --git a/manifest.json b/manifest.json index 092da193a..5d4ee445b 100644 --- a/manifest.json +++ b/manifest.json @@ -6,4 +6,4 @@ "imagefile": "", "prefix": "", "repotype": "AppTemplates" -} +} \ No newline at end of file diff --git a/project5-sightseer.kvp b/project5-sightseer.kvp new file mode 100644 index 000000000..a6fae08a5 --- /dev/null +++ b/project5-sightseer.kvp @@ -0,0 +1,87 @@ +Meta.DisplayName=Project 5: Sightseer +Meta.Description=Project 5: Sightseer Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan, DARKACE +Meta.URL=https://project-5-sightseer.fandom.com/wiki/Project_5:_Sightseer_Wiki +Meta.DisplayImageSource=steam:655780 +Meta.EndpointURIFormat= +Meta.ConfigManifest=project5-sightseerconfig.json +Meta.MetaConfigManifest=project5-sightseermetaconfig.json +Meta.ConfigRoot=project5-sightseer.kvp +Meta.MinAMPVersion=2.4.0.10 +Meta.SpecificDockerImage=cubecoders/ampbase:mono +Meta.DockerRequired=False +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=Project 5: Sightseer 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=Project 5: Sightseer +App.RootDir=./project5-sightseer/ +App.BaseDirectory=./project5-sightseer/655780/ +App.ExecutableWin=655780\P5SServer.exe +App.ExecutableLinux=/usr/bin/mono +App.WorkingDir=655780 +App.LinuxCommandLineArgs=./P5SServer.exe +App.CommandLineArgs={{$PlatformArgs}} -port {{$GamePort}} -http -localPath {{$FormattedArgs}} {{public}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"655780"} +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":5190,"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":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"655780","UpdateSourceArgs":"655780"},{"UpdateStageName":"Create ServerConfig Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}ServerConfig","OverwriteExistingFiles":false},{"UpdateStageName":"Create Ban File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceArgs":"{{$FullBaseDir}}ServerConfig/ban.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Pause Update Stages","UpdateSourcePlatform":"All","UpdateSource":"Pause","UpdateSourceArgs":"10"},{"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=True +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName=P5SServer.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:]+\] (?<username>.+?) \((?:[\d\.:]+?), (?:.+?), (?<userid>.+?)\): Passed a ban check: (?:.+)$ +Console.UserLeaveRegex=^\[[\d\/]+ [\d:]+\] (?<username>.+?) \((?:[\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/project5-sightseerconfig.json b/project5-sightseerconfig.json new file mode 100644 index 000000000..cd40f7a76 --- /dev/null +++ b/project5-sightseerconfig.json @@ -0,0 +1,61 @@ +[ + { + "DisplayName":"Server Name", + "Category":"P5S 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 Project 5: Sightseer Server", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"P5S 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 Save Name", + "Category":"P5S Server Settings", + "Description":"Sets the name of the world save to load (if it already exists) or to create. If the world save does not already exist, an admin must create it in-game after connecting to the server", + "Keywords":"world,name,save", + "FieldName":"fn", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"fn", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"World.dat", + "Placeholder":"World.dat", + "EnumValues":{} + }, + { + "DisplayName":"Server Admins", + "Category":"P5S 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:./project5-sightseer/655780/ServerConfig/admin.txt", + "EnumValues": {} + } +] diff --git a/project5-sightseermetaconfig.json b/project5-sightseermetaconfig.json new file mode 100644 index 000000000..fe51488c7 --- /dev/null +++ b/project5-sightseermetaconfig.json @@ -0,0 +1 @@ +[] From 19ef86773f105dd446c58f5a8eaa4989ab56e06c Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 9 May 2023 22:29:12 +1000 Subject: [PATCH 190/318] Setting tweaks, add mod functionality (#358) --- wreckfest.kvp | 3 +- wreckfestconfig.json | 183 ++++++++++++++++++++++++++----------------- 2 files changed, 113 insertions(+), 73 deletions(-) diff --git a/wreckfest.kvp b/wreckfest.kvp index af972f6eb..2c1150ada 100644 --- a/wreckfest.kvp +++ b/wreckfest.kvp @@ -18,6 +18,7 @@ Meta.Prerequsites=[] App.DisplayName=Wreckfest App.RootDir=./wreckfest/ App.BaseDirectory=./wreckfest/361580/ +App.SteamWorkshopDownloadLocation={{$FullBaseDir}}mods App.ExecutableWin=361580\Wreckfest_x64.exe App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=361580 @@ -49,7 +50,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","UpdateSourceArgs":"228380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","UpdateSourceArgs":"228380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create Mods Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/mods","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/wreckfestconfig.json b/wreckfestconfig.json index 7b5aef200..ce6c85c7f 100644 --- a/wreckfestconfig.json +++ b/wreckfestconfig.json @@ -39,9 +39,23 @@ "EnumValues":{} }, { - "DisplayName":"Server Name", + "DisplayName":"Log File", "Category":"Server Settings", "Description":"", + "Keywords":"", + "FieldName":"log", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"log", + "IncludeInCommandLine":false, + "DefaultValue":"log.txt", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the name of the server shown publicly (63 character limit)", "Keywords":"server,name", "FieldName":"server_name", "InputType":"text", @@ -54,21 +68,21 @@ { "DisplayName":"Server Password", "Category":"Server Settings", - "Description":"Password required to connect to the server. You should change this after first installing the server", + "Description":"Sets the password required to connect to the server (31 character limit). You should change this after first installing the server", "Keywords":"server,password", "FieldName":"password", "InputType":"password", "IsFlagArgument":false, "ParamFieldName":"password", "IncludeInCommandLine":false, - "DefaultValue":"wreckfest", + "DefaultValue":"{{newguid()}}", "EnumValues":{} }, { "DisplayName":"Welcome Message", "Category":"Server Settings", - "Description":"Player welcome message", - "Keywords":"welcome,message", + "Description":"Sets the player welcome message or MOTD (254 character limit)", + "Keywords":"welcome,message,motd,welcome_message", "FieldName":"welcome_message", "InputType":"text", "IsFlagArgument":false, @@ -80,23 +94,23 @@ { "DisplayName":"Player Limit", "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server at one time", - "Keywords":"players,limit", + "Description":"Sets the maximum number of players that may connect to the server at one time", + "Keywords":"players,limit,max_players", "FieldName":"$MaxUsers", "InputType":"number", + "MinValue":"1", "IsFlagArgument":false, "ParamFieldName":"max_players", "IncludeInCommandLine":false, "DefaultValue":"24", "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" + "EnumValues":{} }, { "DisplayName":"Exclude Quick Match Users", "Category":"Server Settings", "Description":"When enabled, users entering Quick Match cannot join the server", - "Keywords":"quick,match,exclude", + "Keywords":"quick,match,exclude,exclude_from_quickplay", "FieldName":"exclude_from_quickplay", "InputType":"checkbox", "IsFlagArgument":false, @@ -112,7 +126,7 @@ "DisplayName":"Clear User Privileges On Launch", "Category":"Server Settings", "Description":"When enabled, clears previous user privileges when launching the server", - "Keywords":"user,privileges", + "Keywords":"user,privileges,clear_users", "FieldName":"clear_users", "InputType":"checkbox", "IsFlagArgument":false, @@ -127,8 +141,8 @@ { "DisplayName":"No Owner Privileges For First User", "Category":"Server Settings", - "Description":"When enabled, owner privileges are not given to the first user who joins", - "Keywords":"first,owner,privileges", + "Description":"When set, owner privileges are not given to the first user who joins", + "Keywords":"first,owner,privileges,owner_disabled", "FieldName":"owner_disabled", "InputType":"checkbox", "IsFlagArgument":false, @@ -144,7 +158,7 @@ "DisplayName":"Admin Controls Countdown", "Category":"Server Settings", "Description":"When enabled, admin starts the countdown by setting themselves ready. Otherwise the countdown is automatic", - "Keywords":"admin,control,countdown", + "Keywords":"admin,control,countdown,admin_control", "FieldName":"admin_control", "InputType":"checkbox", "IsFlagArgument":false, @@ -159,36 +173,41 @@ { "DisplayName":"Countdown Duration", "Category":"Server Settings", - "Description":"Duration of the countdown", - "Keywords":"countdown,duration", + "Description":"Sets the duration of the countdown", + "Keywords":"countdown,duration,lobby_countdown", "FieldName":"lobby_countdown", "InputType":"number", + "MinValue":"30", + "MaxValue":"127", "IsFlagArgument":false, "ParamFieldName":"lobby_countdown", "IncludeInCommandLine":false, "DefaultValue":"30", - "Placeholder":"30 - 127", + "Placeholder":"30", "Suffix":"seconds", "EnumValues":{} }, { "DisplayName":"Required Players for Automatic Countdown", "Category":"Server Settings", - "Description":"Percentage of players required to be ready to initiate automatic countdown, if enabled", - "Keywords":"players,countdown", + "Description":"Sets the percentage of players required to be ready to initiate automatic countdown, if enabled", + "Keywords":"players,countdown,ready_players_required", "FieldName":"ready_players_required", "InputType":"number", + "MinValue":"0", + "MaxValue":"100", "IsFlagArgument":false, "ParamFieldName":"ready_players_required", "IncludeInCommandLine":false, "DefaultValue":"50", + "Suffix":"%", "EnumValues":{} }, { "DisplayName":"Admins", "Category":"Server Settings", "Description":"Comma separated list of [Steam64 IDs](https://steamidfinder.com/) of players automatically granted admin privileges", - "Keywords":"admin,privileges,automatic", + "Keywords":"admin,privileges,automatic,admin_steam_ids", "FieldName":"admin_steam_ids", "InputType":"text", "IsFlagArgument":false, @@ -202,7 +221,7 @@ "DisplayName":"Moderators", "Category":"Server Settings", "Description":"Comma separated list of [Steam64 IDs](https://steamidfinder.com/) of players automatically granted moderator privileges", - "Keywords":"moderator,privileges,automatic", + "Keywords":"moderator,privileges,automatic,op_steam_ids", "FieldName":"op_steam_ids", "InputType":"text", "IsFlagArgument":false, @@ -216,7 +235,7 @@ "DisplayName":"Session Mode", "Category":"Server Settings", "Description":"Sets the session mode for server side point counting across multiple events", - "Keywords":"session,mode", + "Keywords":"session,mode,session_mode", "FieldName":"session_mode", "InputType":"enum", "IsFlagArgument":false, @@ -224,7 +243,7 @@ "IncludeInCommandLine":false, "DefaultValue":"normal", "EnumValues":{ - "normal":"Normal (single event, no cup mode)", + "normal":"Normal (single event, no cup mode) (default)", "qualify-sprint":"Qualifying sprint (finishing positions determine - needs \"Qualifying session\" grid order)", "qualify-lap":"Qualifying lap (lap times determine - needs \"Qualifying session\" grid order)", "30p-aggr":"Winner 30 (then 27, 25, 23, 20, followed by 1 point less per position)", @@ -245,7 +264,7 @@ "DisplayName":"Grid Order", "Category":"Server Settings", "Description":"Sets the method for sorting the grid order", - "Keywords":"grid,order", + "Keywords":"grid,order,grid_order", "FieldName":"grid_order", "InputType":"enum", "IsFlagArgument":false, @@ -254,18 +273,30 @@ "DefaultValue":"perf_normal", "EnumValues":{ "random":"Random", - "perf_normal":"Performance points (fastest at front)", + "perf_normal":"Performance points (fastest at front) (default)", "perf_reverse":"Performance points (fastest at back)", "qualifying":"Qualifying session", "cup_normal":"Cup points (highest at front)", "cup_reverse":"Cup points (highest at back)" } }, + { + "DisplayName":"Event Rotation", + "Category":"Server Settings", + "Description":"Event rotation (or event loop) settings must be configured in server_config.cfg. Use the command \"/eventloop\" to enable/disable event rotation while in the server lobby", + "Keywords":"event,rotation,eventloop", + "FieldName":"eventloop", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"eventloop", + "IncludeInCommandLine":false, + "EnumValues":{} + }, { "DisplayName":"Enable Player Voting", "Category":"Server Settings", - "Description":"When enabled, players will vote for the next event after previous event has ended (requires event rotation. Can be triggered by command \"startvote\" when players in unlocked lobby", - "Keywords":"event,voting", + "Description":"When enabled, players will vote for the next event after previous event has ended (event rotation needs to be configured and enabled). Can be triggered by command \"startvote\" when players in unlocked lobby", + "Keywords":"event,voting,enable_track_vote", "FieldName":"enable_track_vote", "InputType":"checkbox", "IsFlagArgument":false, @@ -280,8 +311,8 @@ { "DisplayName":"Don't Kick Idling Players", "Category":"Server Settings", - "Description":"When enabled, idling players will not be kicked while event is in progress", - "Keywords":"kick,idle,idling", + "Description":"When enabled, idling players will not be kicked while an event is in progress", + "Keywords":"kick,idle,idling,disable_idle_kick", "FieldName":"disable_idle_kick", "InputType":"checkbox", "IsFlagArgument":false, @@ -296,7 +327,7 @@ { "DisplayName":"Track", "Category":"Server Settings", - "Description":"Set track. List available track names with command \"tracks\"", + "Description":"Sets the track. List available track names with the command \"tracks\"", "Keywords":"track", "FieldName":"track", "InputType":"text", @@ -310,8 +341,8 @@ { "DisplayName":"Game Mode", "Category":"Server Settings", - "Description":"", - "Keywords":"game,mode", + "Description":"Sets the game mode", + "Keywords":"game,mode,gamemode", "FieldName":"gamemode", "InputType":"enum", "IsFlagArgument":false, @@ -321,32 +352,34 @@ "EnumValues":{ "racing":"Racing", "derby":"Derby", - "derby deathmatch":"Derby Deathmatch", - "team derby":"Team Derby", - "team race":"Team Race", - "elimination race":"Elimination Race" + "derby deathmatch":"Derby deathmatch (default)", + "team derby":"Team derby", + "team race":"Team race", + "elimination race":"Elimination race" } }, { "DisplayName":"Bot Quantity", "Category":"Server Settings", - "Description":"Pre-populate server with the set number of AI bots", - "Keywords":"bots", + "Description":"Pre-populates the server with the set number of AI bots", + "Keywords":"ai,bots", "FieldName":"bots", "InputType":"number", + "MinValue":"0", + "MaxValue":"24", "IsFlagArgument":false, "ParamFieldName":"bots", "IncludeInCommandLine":false, "DefaultValue":"0", - "Placeholder":"0 - 24", + "Placeholder":"0", "Suffix":"bots", "EnumValues":{} }, { "DisplayName":"AI Difficulty", "Category":"Server Settings", - "Description":"Sets difficulty setting of AI bots", - "Keywords":"AI,difficulty", + "Description":"Sets the difficulty setting of AI bots", + "Keywords":"ai,difficulty,ai_difficulty", "FieldName":"ai_difficulty", "InputType":"enum", "IsFlagArgument":false, @@ -355,14 +388,14 @@ "DefaultValue":"amateur", "EnumValues":{ "novice":"Novice", - "amateur":"Amateur", + "amateur":"Amateur (default)", "expert":"Expert" } }, { "DisplayName":"Team Number", "Category":"Server Settings", - "Description":"Number of teams in team racing and team deathmatch game modes", + "Description":"Sets the number of teams in team racing and team deathmatch game modes", "Keywords":"team,number", "FieldName":"num_teams", "InputType":"enum", @@ -371,7 +404,7 @@ "IncludeInCommandLine":false, "DefaultValue":"2", "EnumValues":{ - "2":"2", + "2":"2 (default)", "3":"3", "4":"4" } @@ -379,37 +412,41 @@ { "DisplayName":"Lap Number", "Category":"Server Settings", - "Description":"Number of laps in race game modes", + "Description":"Sets the number of laps in race game modes", "Keywords":"laps", "FieldName":"laps", "InputType":"number", + "MinValue":"1", + "MaxValue":"60", "IsFlagArgument":false, "ParamFieldName":"laps", "IncludeInCommandLine":false, "DefaultValue":"3", - "Placeholder":"1 - 60", + "Placeholder":"1", "Suffix":"laps", "EnumValues":{} }, { "DisplayName":"Deathmatch Time Limit", "Category":"Server Settings", - "Description":"", - "Keywords":"deathmatch,time,limit", + "Description":"Sets the deathmatch game mode time limit", + "Keywords":"deathmatch,time,limit,time_limit", "FieldName":"time_limit", "InputType":"number", + "MinValue":"0", "IsFlagArgument":false, "ParamFieldName":"time_limit", "IncludeInCommandLine":false, "DefaultValue":"5", + "Placeholder":"5", "Suffix":"minutes", "EnumValues":{} }, { "DisplayName":"Elimination Interval Time", "Category":"Server Settings", - "Description":"Elimination interval time for elimination race", - "Keywords":"elimination,interval,time", + "Description":"Sets the elimination interval time for elimination races", + "Keywords":"elimination,interval,time,elimination_interval", "FieldName":"elimination_interval", "InputType":"enum", "IsFlagArgument":false, @@ -417,7 +454,7 @@ "IncludeInCommandLine":false, "DefaultValue":"0", "EnumValues":{ - "0":"Each Lap", + "0":"Each lap (default)", "20":"20", "30":"30", "45":"45", @@ -429,8 +466,8 @@ { "DisplayName":"Vehicle Damage Level", "Category":"Server Settings", - "Description":"", - "Keywords":"vehicle,damage", + "Description":"Sets the vehicle damage level", + "Keywords":"vehicle,damage,vehicle_damage", "FieldName":"vehicle_damage", "InputType":"enum", "IsFlagArgument":false, @@ -438,7 +475,7 @@ "IncludeInCommandLine":false, "DefaultValue":"normal", "EnumValues":{ - "normal":"Normal", + "normal":"Normal (default)", "intense":"Intense", "realistic":"Realistic", "extreme":"Extreme" @@ -447,8 +484,8 @@ { "DisplayName":"Maximum Vehicle Class", "Category":"Server Settings", - "Description":"Allow only vehicles up to the class set", - "Keywords":"vehicle,class", + "Description":"Allows only vehicles up to the class set", + "Keywords":"vehicle,class,car_class_restriction", "FieldName":"car_class_restriction", "InputType":"enum", "IsFlagArgument":false, @@ -456,7 +493,7 @@ "IncludeInCommandLine":false, "DefaultValue":"", "EnumValues":{ - "":"No Restriction", + "":"No restriction (default)", "a":"Class A", "b":"Class B", "c":"Class C" @@ -465,8 +502,8 @@ { "DisplayName":"Specific Car Allowed", "Category":"Server Settings", - "Description":"If set, allow only the specific car listed. Leave blank for no restriction. List available cars with command \"cars\"", - "Keywords":"car,allowed", + "Description":"If enabled, allows only the specific car listed. Leave blank for no restriction. List available cars with the command \"cars\"", + "Keywords":"car,allowed,car_restriction", "FieldName":"car_restriction", "InputType":"text", "IsFlagArgument":false, @@ -478,8 +515,8 @@ { "DisplayName":"Disallow Special Vehicles", "Category":"Server Settings", - "Description":"", - "Keywords":"disallow,special,vehicles", + "Description":"If set, disallows use of special vehicles", + "Keywords":"disallow,special,vehicles,special_vehicles_disabled", "FieldName":"special_vehicles_disabled", "InputType":"checkbox", "IsFlagArgument":false, @@ -494,8 +531,8 @@ { "DisplayName":"Disallow Car Reset", "Category":"Server Settings", - "Description":"", - "Keywords":"disallow,car,reset", + "Description":"If set, disallows car reset", + "Keywords":"disallow,car,reset,car_reset_disabled", "FieldName":"car_reset_disabled", "InputType":"checkbox", "IsFlagArgument":false, @@ -510,23 +547,25 @@ { "DisplayName":"Car Reset Delay", "Category":"Server Settings", - "Description":"Set the car reset delay (0 - 20)", - "Keywords":"car,reset,delay", + "Description":"Sets the car reset delay", + "Keywords":"car,reset,delay,car_reset_delay", "FieldName":"car_reset_delay", "InputType":"number", + "MinValue":"0", + "MaxValue":"20", "IsFlagArgument":false, "ParamFieldName":"car_reset_delay", "IncludeInCommandLine":false, "DefaultValue":"0", - "Placeholder":"0 - 20", + "Placeholder":"0", "Suffix":"seconds", "EnumValues":{} }, { "DisplayName":"Disable Speed Limiter", "Category":"Server Settings", - "Description":"If set, disable speed limiter for players that drive the wrong way", - "Keywords":"disallow,speed,limiter", + "Description":"If set, disables the speed limiter for players that drive the wrong way", + "Keywords":"disallow,speed,limiter,wrong_way_limiter_disabled", "FieldName":"wrong_way_limiter_disabled", "InputType":"checkbox", "IsFlagArgument":false, @@ -541,7 +580,7 @@ { "DisplayName":"Weather", "Category":"Server Settings", - "Description":"Set event weather. Leave blank for random weather. List available weather names with command \"weathers\"", + "Description":"Sets the event weather. Leave blank for random weather. List available weather names with the command \"weathers\"", "Keywords":"weather", "FieldName":"weather", "InputType":"text", @@ -554,7 +593,7 @@ { "DisplayName":"Server Update Frequency", "Category":"Server Settings", - "Description":"", + "Description":"Sets the frequency for the server updating clients. Low = reduced bandwidth used, but clients use more CPU for prediction. High = higher bandwidth, lower client CPU", "Keywords":"update,frequency", "FieldName":"frequency", "InputType":"enum", @@ -570,7 +609,7 @@ { "DisplayName":"Enabled Mods", "Category":"Server Settings", - "Description":"Comma separated list of folder names of enabled mods on the server. Mod folders need to be copied to server mods folder", + "Description":"Comma separated list of mod directories to enable on the server. Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. All mod directories need to be in the server's \"mods\" folder", "Keywords":"mods", "FieldName":"mods", "InputType":"text", @@ -578,7 +617,7 @@ "ParamFieldName":"mods", "IncludeInCommandLine":false, "DefaultValue":"", - "Placeholder":"example,my_mod", + "Placeholder":"764432700,1462061824", "EnumValues":{} } ] \ No newline at end of file From d322507033271880ee7070959b344b04f5563b04 Mon Sep 17 00:00:00 2001 From: ElementJuice <96650272+ElementJuice@users.noreply.github.com> Date: Sun, 14 May 2023 08:41:47 +0200 Subject: [PATCH 191/318] ACC: add Valencia track --- assetto-corsa-compconfig.json | 1 + 1 file changed, 1 insertion(+) diff --git a/assetto-corsa-compconfig.json b/assetto-corsa-compconfig.json index f9c6b683b..989999cbd 100644 --- a/assetto-corsa-compconfig.json +++ b/assetto-corsa-compconfig.json @@ -230,6 +230,7 @@ "snetterton":"Snetterton", "spa":"Spa", "suzuka":"Suzuka", + "valencia":"Valencia", "zandvoort":"Zandvoort", "zolder":"Zolder" } From 70d9ea04bc0498c309eaa630b1db6be69bafe530 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 15 May 2023 06:50:58 +1000 Subject: [PATCH 192/318] Pavlov VR: Fix docker support (#364) --- pavlov-vr.kvp | 56 +++++++++++++++++++++------ pavlov-vrconfig.json | 92 +++++++++++++++++++++++--------------------- 2 files changed, 92 insertions(+), 56 deletions(-) diff --git a/pavlov-vr.kvp b/pavlov-vr.kvp index 5f0930e98..5268535e9 100755 --- a/pavlov-vr.kvp +++ b/pavlov-vr.kvp @@ -1,26 +1,39 @@ Meta.DisplayName=Pavlov VR Meta.Description=Pavlov VR Dedicated Server Meta.OS=Linux +Meta.AarchSupport=Unknown +Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://pavlov-vr.com Meta.DisplayImageSource=steam:555160 -Meta.EndpointURIFormat= +Meta.EndpointURIFormat=steam://connect/{0} Meta.ConfigManifest=pavlov-vrconfig.json Meta.MetaConfigManifest=pavlov-vrmetaconfig.json Meta.ConfigRoot=pavlov-vr.kvp -Meta.MinAMPVersion=2.3.2.0 +Meta.MinAMPVersion=2.4.3.6 Meta.SpecificDockerImage= -Meta.ContainerPolicy=NotSupported +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= App.DisplayName=Pavlov VR App.RootDir=./pavlovserver/ App.BaseDirectory=./pavlovserver/622970/ -App.ExecutableWin= +App.SteamWorkshopDownloadLocation= +App.ExecutableWin= App.ExecutableLinux=622970/Pavlov/Binaries/Linux/PavlovServer App.WorkingDir=622970 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -PORT={{$ApplicationPort1}} {{$FormattedArgs}} +App.CommandLineArgs={{$PlatformArgs}} -PORT={{$ApplicationPort1}} {{$FormattedArgs}} -stdout -forcelogflush +App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"555160"} App.CommandLineParameterFormat=-{0}={1} @@ -34,23 +47,35 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=7777 -App.ApplicationPort2=8177 -App.ApplicationPort3=0 -App.RemoteAdminPort=9100 +App.Ports=[{"Protocol":"Both","Port":7777,"Ref":"ApplicationPort1","Name":"Main Game Port","Description":"Main port for game traffic"},{"Protocol":"Both","Port":8177,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Secondary Game Port","Description":"Secondary port for game traffic"},{"Protocol":"TCP","Port":9100,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort2 App.MaxUsers=10 App.UseRandomAdminPassword=True +App.PersistRandomPassword=True App.RemoteAdminPassword= App.AdminMethod=TelnetRCON App.AdminLoginTransform=MD5_Lower +App.LoginTransformPrefix= App.RCONConnectDelaySeconds=0 App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"622970","UpdateSourceArgs":"555160","UpdateSourceVersion":"{{ServerVersion}}"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/pavlov-vrconfigfile.ini","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Logs","OverwriteExistingFiles":false},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer","OverwriteExistingFiles":false},{"UpdateStageName":"Create Maps Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./pavlovserver/622970/Pavlov/Saved/maps","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Config File","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"./pavlovserver/622970/Pavlov/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"./pavlov-vrconfigfile.ini","OverwriteExistingFiles":false}] -App.Compatibility=LinuxBufferedConsole +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"622970","UpdateSourceArgs":"555160","UpdateSourceVersion":"{{ServerVersion}}"},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/Logs","OverwriteExistingFiles":false},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/Config/LinuxServer","OverwriteExistingFiles":false},{"UpdateStageName":"Create Maps Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/maps","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/pavlov-vrconfigfile.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Pavlov/Saved/Config/LinuxServer","OverwriteExistingFiles":false}] +App.PreStartStages=[] +App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=(\[0m|\[33m) @@ -60,7 +85,14 @@ Console.AppReadyRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogGameState: Match State Console.UserJoinRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]PavlovLog: Player (?<userid>.+?) Joined, current bot Num = \d+$ Console.UserLeaveRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogNet: UChannel::Close: Sending CloseBunch\. (?:.*?) UniqueId: NULL:(?<userid>.+?)$ Console.UserChatRegex=^$ -Console.UpdateAvailableRegex= +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 diff --git a/pavlov-vrconfig.json b/pavlov-vrconfig.json index c55a1a462..c20c43452 100755 --- a/pavlov-vrconfig.json +++ b/pavlov-vrconfig.json @@ -1,27 +1,9 @@ [ - { - "DisplayName": "Server Version", - "Category": "Server Settings", - "Description": "Server version to install. NOTE: Update the server after changing this setting!", - "Keywords": "server,version,pc,shack,beta,rc", - "FieldName": "ServerVersion", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "", - "IncludeInCommandLine": false, - "DefaultValue": "public", - "EnumValues": { - "public": "PC Server (Non-Beta)", - "beta_server": "PC Beta", - "shack": "Shack Live (Quest)", - "shack_beta": "Shack RC (Quest)" - } - }, { "DisplayName": "Server Name", "Category": "Server Settings", - "Description": "Server name visible in the server list. Maximum 35 characters (approx)", - "Keywords": "server,name", + "Description": "Sets the server name visible in the server list. Maximum 35 characters (approx)", + "Keywords": "server,name,servername", "FieldName": "ServerName", "InputType": "text", "IsFlagArgument": false, @@ -31,7 +13,7 @@ "EnumValues": {} }, { - "DisplayName": "Include in Server List", + "DisplayName": "Include In Server List", "Category": "Server Settings", "Description": "", "Keywords": "", @@ -47,8 +29,8 @@ { "DisplayName": "API Key", "Category": "Server Settings", - "Description": "Unique API key to allow the server to appear in the server list. [Get your API key](https://pavlov-ms.vankrupt.com/servers/v1/key)", - "Keywords": "api,key", + "Description": "Sets a unique API key to allow the server to appear in the server list. [Get your API key](https://pavlov-ms.vankrupt.com/servers/v1/key)", + "Keywords": "api,key,apikey", "FieldName": "ApiKey", "InputType": "password", "IsFlagArgument": false, @@ -60,14 +42,14 @@ { "DisplayName": "Server Password", "Category": "Server Settings", - "Description": "Four digit PIN to connect to the server. NOTE: Change this after installing the server", - "Keywords": "password,PIN", + "Description": "Sets a four digit PIN to connect to the server. NOTE: Change this after installing the server", + "Keywords": "password,pin", "FieldName": "Password", "InputType": "password", "IsFlagArgument": false, "ParamFieldName": "/Script/Pavlov.DedicatedServer.Password", "IncludeInCommandLine": false, - "DefaultValue": "0000", + "DefaultValue": "{{randomdigits(4)}}", "EnumValues": {} }, { @@ -86,7 +68,7 @@ "DisplayName": "Enable Valve Anti-Cheat (Steam VAC)", "Category": "Server Settings", "Description": "", - "Keywords": "anti-cheat,VAC,cheat", + "Keywords": "anti-cheat,vac,cheat,bsecured", "FieldName": "bSecured", "InputType": "checkbox", "IsFlagArgument": false, @@ -102,7 +84,7 @@ "DisplayName": "Enable Custom Server", "Category": "Server Settings", "Description": "If enabled, activates new modding tools. Required for blacklist functionality", - "Keywords": "custom", + "Keywords": "custom,bcustomserver", "FieldName": "bCustomServer", "InputType": "checkbox", "IsFlagArgument": false, @@ -118,7 +100,7 @@ "DisplayName": "Enable Competitive Mode", "Category": "Server Settings", "Description": "If enabled, sets the server to competitive mode for SND", - "Keywords": "competitive", + "Keywords": "competitive,bcompetitive", "FieldName": "bCompetitive", "InputType": "checkbox", "IsFlagArgument": false, @@ -133,23 +115,24 @@ { "DisplayName": "Player Limit", "Category": "Server Settings", - "Description": "Maximum number of players that may connect to the server. No more than 20 to 24 recommended for large maps", - "Keywords": "players,limit", + "Description": "Sets the maximum number of players that may connect to the server. No more than 20 to 24 recommended for large maps", + "Keywords": "players,limit,maxplayers", "FieldName": "$MaxUsers", "InputType": "number", + "MinValue":"1", "IsFlagArgument": false, "ParamFieldName": "/Script/Pavlov.DedicatedServer.MaxPlayers", "IncludeInCommandLine": false, "DefaultValue": "10", + "Placeholder": "10", "Suffix": "players", - "EnumValues": {}, - "MinValue":"1" + "EnumValues": {} }, { "DisplayName": "Enable Whitelist", "Category": "Server Settings", "Description": "If enabled, only whitelisted players can join", - "Keywords": "whitelist", + "Keywords": "whitelist,bwhitelist", "FieldName": "bWhitelist", "InputType": "checkbox", "IsFlagArgument": false, @@ -164,7 +147,7 @@ { "DisplayName": "Whitelisted Players", "Category": "Server Settings", - "Description": "List of Steam64 IDs for whitelisted players. [Find Steam64 IDs](https://steamidfinder.com/)", + "Description": "List of [Steam64 IDs](https://steamidfinder.com/) for whitelisted players", "Keywords": "whitelist", "FieldName": "whitelist", "InputType": "list", @@ -178,7 +161,7 @@ { "DisplayName": "Blacklisted Players", "Category": "Server Settings", - "Description": "List of Steam64 IDs for blacklisted players. [Find Steam64 IDs](https://steamidfinder.com/)", + "Description": "List of [Steam64 IDs](https://steamidfinder.com/) for blacklisted players", "Keywords": "blacklist,banned", "FieldName": "blacklist", "InputType": "list", @@ -192,8 +175,8 @@ { "DisplayName": "Server Moderators", "Category": "Server Settings", - "Description": "List of Steam64 IDs for server moderators/admins (functionality may currently be limited). [Find Steam64 IDs](https://steamidfinder.com/)", - "Keywords": "moderators,admins", + "Description": "List of [Steam64 IDs](https://steamidfinder.com/) for server moderators/admins (functionality may currently be limited)", + "Keywords": "moderators,admins,mods", "FieldName": "mods", "InputType": "list", "IsFlagArgument": false, @@ -207,7 +190,7 @@ "DisplayName": "Refresh Interval", "Category": "Server Settings", "Description": "Sets how often the server checks for updates in whitelist/blacklist/modlist", - "Keywords": "refresh,list", + "Keywords": "refresh,list,refreshlisttime", "FieldName": "RefreshListTime", "InputType": "number", "IsFlagArgument": false, @@ -221,33 +204,36 @@ "DisplayName": "Server Tick Rate", "Category": "Server Settings", "Description": "Sets the server tickrate. Between 50 and 120 is most stable", - "Keywords": "tick,rate", + "Keywords": "tick,rate,tickrate", "FieldName": "TickRate", "InputType": "number", + "MinValue":"1", "IsFlagArgument": false, "ParamFieldName": "/Script/Pavlov.DedicatedServer.TickRate", "IncludeInCommandLine": false, "DefaultValue": "90", + "Placeholder": "90", "EnumValues": {} }, { "DisplayName": "Map Time Limit", "Category": "Server Settings", "Description": "Sets the time limit for each map", - "Keywords": "map,time,limit", + "Keywords": "map,time,limit,timelimit", "FieldName": "TimeLimit", "InputType": "number", "IsFlagArgument": false, "ParamFieldName": "/Script/Pavlov.DedicatedServer.TimeLimit", "IncludeInCommandLine": false, "DefaultValue": "60", + "Placeholder": "60", "EnumValues": {} }, { "DisplayName": "Balance Table URL", "Category": "Server Settings", "Description": "Reference for custom balance table on GitHub. [Follow the instructions](https://github.com/vankruptgames/BalancingTable) to create your own", - "Keywords": "balance,table,URL", + "Keywords": "balance,table,URL,balancetableurl", "FieldName": "BalanceTableURL", "InputType": "text", "IsFlagArgument": false, @@ -261,7 +247,7 @@ "DisplayName": "Limited Ammo Mode", "Category": "Server Settings", "Description": "", - "Keywords": "limited,ammo", + "Keywords": "limited,ammo,limitedammotype", "FieldName": "LimitedAmmoType", "InputType": "enum", "IsFlagArgument": false, @@ -281,7 +267,7 @@ "DisplayName": "Enable Verbose Logging", "Category": "Server Settings", "Description": "If enabled, logging will be significantly increased, mostly with detailed statistics", - "Keywords": "verbose,logging,statistics", + "Keywords": "verbose,logging,statistics,bverboselogging", "FieldName": "bVerboseLogging", "InputType": "checkbox", "IsFlagArgument": false, @@ -292,5 +278,23 @@ "False": "false", "True": "true" } + }, + { + "DisplayName": "Server Release Version", + "Category": "SteamCMD and Updates", + "Description": "Sets the server release version to install. NOTE: Update the server after changing this setting!", + "Keywords": "server,version,pc,shack,beta,rc", + "FieldName": "ServerVersion", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "", + "IncludeInCommandLine": false, + "DefaultValue": "public", + "EnumValues": { + "public": "PC Server (Non-Beta)", + "beta_server": "PC Beta", + "shack": "Shack Live (Quest)", + "shack_beta": "Shack RC (Quest)" + } } ] From 7c53a504cc67b45527c4674979005c092b653d33 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 15 May 2023 14:05:08 -0500 Subject: [PATCH 193/318] Update README.md (#366) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d580d42ca..5bb2a0a98 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ See the wiki article for the module: https://github.com/CubeCoders/AMP/wiki/Conf You can also use the online configurator at https://config.getamp.sh/ to help with building templates. +*There is a much more robust version of the [online configuration tool](https://iceofwraith.github.io/GenericConfigGen/) that is still in beta. This should provide much better results than the above even so. If you have any feedback, please contact IceOfWraith in the CubeCoders Discord. + # Sharing Templates Right now the following restrictions apply to templates that may be publicly shared via this repository (some of these will be relaxed over time): From f960e3a823113a371cdcf8299f156a749d45e9ca Mon Sep 17 00:00:00 2001 From: Alex Nunes <alex@netmadeira.com> Date: Tue, 16 May 2023 12:34:26 +0100 Subject: [PATCH 194/318] Tweak user join and leave regex --- assetto-corsa-comp.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assetto-corsa-comp.kvp b/assetto-corsa-comp.kvp index a7c8732d9..cb51a20b0 100644 --- a/assetto-corsa-comp.kvp +++ b/assetto-corsa-comp.kvp @@ -66,8 +66,8 @@ Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*|Server was running late for \d+ step\(s\), not enough CPU power)$ Console.AppReadyRegex=^Listening to TCP \d+ \| UDP \d+$ -Console.UserJoinRegex=^New connection request: id (?<sessionid>.+?) (?<username>.+?) (?<userid>.+?) on car model \d+$ -Console.UserLeaveRegex=^Client (?<sessionid>.+?) closed the connection \(\d+\)$ +Console.UserJoinRegex=^New connection request: id (?<sessionid>\d+?) (?<username>.+?) (?<userid>S\d+?) on car model \d+$ +Console.UserLeaveRegex=^(Client (?<sessionid>\d+?) closed the connection \(\d+\)|Disconnecting connId (?<sessionid>\d+?) after \d+s due to setting ignorePrematureDisconnects=false)$ Console.UserChatRegex=^CHAT (?<username>.+?): (?<message>.+)$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.MetricsRegex= From ac41157f3ce246ffc71f2793e378791b5a6c54c2 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 16 May 2023 21:36:27 +1000 Subject: [PATCH 195/318] Simplify mod handling (#365) --- arma3.kvp | 1 + arma3convertmods.sh | 4 ++++ arma3updates.json | 15 ++++----------- dayz-experimental.kvp | 1 + dayz-experimentalconvertmods.sh | 4 ++++ dayz-experimentalupdates.json | 15 ++++----------- 6 files changed, 18 insertions(+), 22 deletions(-) create mode 100644 arma3convertmods.sh create mode 100644 dayz-experimentalconvertmods.sh diff --git a/arma3.kvp b/arma3.kvp index 96980e611..3bd91c877 100644 --- a/arma3.kvp +++ b/arma3.kvp @@ -22,6 +22,7 @@ Meta.NoCommercialUsage=False App.DisplayName=Arma 3 App.RootDir=./arma3/ App.BaseDirectory=./arma3/233780/ +App.SteamWorkshopDownloadLocation={{$FullBaseDir}} App.ExecutableWin=233780\ArmA3Server_x64.exe App.ExecutableLinux=233780/arma3server_x64 App.WorkingDir=233780 diff --git a/arma3convertmods.sh b/arma3convertmods.sh new file mode 100644 index 000000000..d96fdb7eb --- /dev/null +++ b/arma3convertmods.sh @@ -0,0 +1,4 @@ +#!/bin/bash +find ./arma3/233780/steamapps/workshop/content/107410/ -depth -name "*[A-Z]*" -print0 |\ + xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" +exit 0 \ No newline at end of file diff --git a/arma3updates.json b/arma3updates.json index 62f0687aa..aa718aa20 100644 --- a/arma3updates.json +++ b/arma3updates.json @@ -36,23 +36,16 @@ "UpdateStageName":"Modscript Download", "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3modscript.sh", - "UpdateSourceArgs":"modscript.sh", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3convertmods.sh", + "UpdateSourceArgs":"convertmods.sh", "UpdateSourceTarget":"{{$FullInstanceDir}}", "OverwriteExistingFiles":true }, { - "UpdateStageName":"Convert and Symlink Mods", + "UpdateStageName":"Convert Mods", "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"./modscript.sh" - }, - { - "UpdateStageName":"Link Mods", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C cd .\\arma3\\233780 && for /D %G in (.\\steamapps\\workshop\\content\\107410\\*) do mklink /J %~nxG %G" + "UpdateSourceArgs":"./convertmods.sh" } ] diff --git a/dayz-experimental.kvp b/dayz-experimental.kvp index 6cb93d969..d12ad4130 100644 --- a/dayz-experimental.kvp +++ b/dayz-experimental.kvp @@ -22,6 +22,7 @@ Meta.NoCommercialUsage=False App.DisplayName=DayZ (Experimental) App.RootDir=./dayz/ App.BaseDirectory=./dayz/1042420/ +App.SteamWorkshopDownloadLocation={{$FullBaseDir}} App.ExecutableWin=1042420\DayZServer_x64.exe App.ExecutableLinux=1042420/DayZServer App.WorkingDir=1042420 diff --git a/dayz-experimentalconvertmods.sh b/dayz-experimentalconvertmods.sh new file mode 100644 index 000000000..fca9e584a --- /dev/null +++ b/dayz-experimentalconvertmods.sh @@ -0,0 +1,4 @@ +#!/bin/bash +find ./dayz/1042420/steamapps/workshop/content/221100/ -depth -name "*[A-Z]*" -print0 |\ + xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" +exit 0 \ No newline at end of file diff --git a/dayz-experimentalupdates.json b/dayz-experimentalupdates.json index d658c57f1..5ca4a0ce3 100644 --- a/dayz-experimentalupdates.json +++ b/dayz-experimentalupdates.json @@ -20,23 +20,16 @@ "UpdateStageName":"Modscript Download", "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-experimentalmodscript.sh", - "UpdateSourceArgs":"modscript.sh", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-experimentalconvertmods.sh", + "UpdateSourceArgs":"convertmods.sh", "UpdateSourceTarget":"{{$FullInstanceDir}}", "OverwriteExistingFiles":true }, { - "UpdateStageName":"Convert and Symlink Mods", + "UpdateStageName":"Convert Mods", "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"./modscript.sh" - }, - { - "UpdateStageName":"Link Mods", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C cd .\\dayz\\1042420 && for /D %G in (.\\steamapps\\workshop\\content\\221100\\*) do mklink /J %~nxG %G" + "UpdateSourceArgs":"./convertmods.sh" } ] \ No newline at end of file From f5f9908bec93d2093a70952fd73ba5e167e01759 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 16 May 2023 21:40:04 +1000 Subject: [PATCH 196/318] Risk Of Rain 2: Add mod functionality, tweak settings and metaconfig (#359) --- risk-of-rain-2.kvp | 12 +- risk-of-rain-2config.json | 217 ++++++++++++++++++++++++---------- risk-of-rain-2metaconfig.json | 23 +--- risk-of-rain-2server.cfg | 13 ++ risk-of-rain-2updates.json | 65 ++++++++++ 5 files changed, 244 insertions(+), 86 deletions(-) create mode 100644 risk-of-rain-2server.cfg create mode 100644 risk-of-rain-2updates.json diff --git a/risk-of-rain-2.kvp b/risk-of-rain-2.kvp index 977616acd..d65cd31ee 100644 --- a/risk-of-rain-2.kvp +++ b/risk-of-rain-2.kvp @@ -2,7 +2,7 @@ Meta.DisplayName=Risk of Rain 2 Meta.Description=Risk of Rain 2 Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=IceOfWraith +Meta.Author=IceOfWraith, Greelan Meta.URL=https://store.steampowered.com/app/632360/Risk_of_Rain_2/ Meta.DisplayImageSource=steam:632360 Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2} @@ -13,7 +13,7 @@ Meta.MinAMPVersion=2.3.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.ContainerPolicyReason=The server requires Wine (ideally Wine 8) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Risk of Rain 2 @@ -27,7 +27,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"{{$SteamAppID}}","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"{{$SteamAppID}}","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDLLOVERRIDES":"winhttp=n,b","WINEDEBUG":"-all"} App.CommandLineParameterFormat=+{0} {1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -39,7 +39,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":2,"Port":27015,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Application Port 1","Description":"","ChildPorts":null},{"Protocol":2,"Port":27016,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Application Port 2","Description":"","ChildPorts":null},{"Protocol":2,"Port":27017,"Offset":0,"Range":1,"Ref":"ApplicationPort3","Name":"Application Port 3","Description":"","ChildPorts":null}] +App.Ports=[{"Protocol":2,"Port":27015,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic","ChildPorts":null},{"Protocol":2,"Port":27016,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Steam Query Port","Description":"Port for Steam query traffic","ChildPorts":null},{"Protocol":2,"Port":27017,"Offset":0,"Range":1,"Ref":"ApplicationPort3","Name":"Steam Port","Description":"Port for Steam traffic","ChildPorts":null}] App.AdminPortRef=RemoteAdminPort App.PrimaryApplicationPortRef=ApplicationPort1 App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 @@ -52,7 +52,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1180760","UpdateSourceArgs":"632360","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1180760","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] +App.UpdateSources=@IncludeJson[risk-of-rain-2updates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -66,7 +66,7 @@ App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^.*Couldn't create a Convex Mesh from source mesh.*$|^.*Shader .* fallback shader .* not found.*$|^.*\[RoR2\.Audio\.NetworkSoundEventCatalog\] Error during network sound registration.*does not exist.*$|^.*\(Filename:.*Line: \d+\).*$ +Console.ThrowawayMessageRegex=^.*Couldn't create a Convex Mesh from source mesh.*$|^.*Shader .* fallback shader .* not found.*$|^.*\[RoR2\.Audio\.NetworkSoundEventCatalog\] Error during network sound registration.*does not exist.*$|^.*\(Filename:.*Line: \d+\).*|Fallback handler could not load library .*$ Console.AppReadyRegex=^.*Press Enter to chat.*$ Console.UserJoinRegex=^.*NetworkManagerSystem\.AddPlayerInternal\(conn=hostId: \d+ connectionId: (?<sessionid>\d+) .*$ Console.UserLeaveRegex=^.*Log: connection \{(?<sessionid>\d+)\} has been disconnected by timeout.*$ diff --git a/risk-of-rain-2config.json b/risk-of-rain-2config.json index e430c9eea..39e2d67a6 100644 --- a/risk-of-rain-2config.json +++ b/risk-of-rain-2config.json @@ -1,75 +1,170 @@ [ { - "DisplayName": "Host name", - "Category": "Server Settings", - "Description": "Display name of the host", - "Keywords": "host name server", - "FieldName": "sv_hostname", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "sv_hostname", - "IncludeInCommandLine": false, - "DefaultValue": "Powered by AMP", - "EnumValues": {} + "DisplayName":"Game Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationPort1", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"sv_port", + "IncludeInCommandLine":false, + "EnumValues":{} }, { - "DisplayName": "Password", - "Category": "Server Settings", - "Description": "Server password for users to join", - "Keywords": "server password users", - "FieldName": "sv_password", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "sv_password", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} + "DisplayName":"Steam Query Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationPort2", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"steam_server_query_port", + "IncludeInCommandLine":false, + "EnumValues":{} }, { - "DisplayName": "Max Players", - "Category": "Server Settings", - "Description": "The maximum number of players", - "Keywords": "max players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_maxplayers", - "IncludeInCommandLine": false, - "DefaultValue": "4", - "EnumValues": {}, - "MinValue":"1" + "DisplayName":"Steam Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationPort3", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"steam_server_steam_port", + "IncludeInCommandLine":false, + "EnumValues":{} }, { - "DisplayName": "Steam Heartbeat", - "Category": "Server Settings", - "Description": "Advertise on the server list", - "Keywords": "advertise server list steam heartbeat", - "FieldName": "steam_server_heartbeat_enabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "steam_server_heartbeat_enabled", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" + "DisplayName":"Host Name", + "Category":"Server Settings", + "Description":"Sets the name of the server displayed publicly", + "Keywords":"host,name,server,sv_hostname", + "FieldName":"sv_hostname", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"sv_hostname", + "IncludeInCommandLine":false, + "DefaultValue":"ROR2 - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Custom Tags", + "Category":"Server Settings", + "Description":"Comma separated list of tags to display in the server browser", + "Keywords":"custom,tags,sv_custom_tags", + "FieldName":"sv_custom_tags", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"sv_custom_tags", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Sets the password for players to join the server. Default is no password", + "Keywords":"server,password,users,sv_password", + "FieldName":"sv_password", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"sv_password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Sets the maximum number of players that may join the server at one time", + "Keywords":"max,players,sv_maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"sv_maxplayers", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "EnumValues":{} + }, + { + "DisplayName":"Advertise Server", + "Category":"Server Settings", + "Description":"If enabled, the server will be advertised on the server list", + "Keywords":"advertise,server,list,steam,heartbeat,steam_server_heartbeat_enabled", + "FieldName":"steam_server_heartbeat_enabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"steam_server_heartbeat_enabled", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "True":"1", + "False":"0" } }, { - "DisplayName": "Game Mode", - "Category": "Server Settings", - "Description": "Select a game mode for the server", - "Keywords": "game mode", - "FieldName": "gamemode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "gamemode", - "IncludeInCommandLine": false, - "DefaultValue": "ClassicRun", - "EnumValues": { - "EclipseRun": "Eclipse", - "ClassicRun": "Normal", - "InfiniteTowerRun": "Simulacrum" + "DisplayName":"Game Mode", + "Category":"Server Settings", + "Description":"Sets the game mode for the server", + "Keywords":"game,mode,gamemode", + "FieldName":"gamemode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"gamemode", + "IncludeInCommandLine":false, + "DefaultValue":"ClassicRun", + "EnumValues":{ + "EclipseRun":"Eclipse", + "ClassicRun":"Normal (default)", + "InfiniteTowerRun":"Simulacrum" } + }, + { + "DisplayName":"Additional Server Settings", + "Category":"Server Settings", + "Description":"Specifies additional [settings](https://riskofrain2.fandom.com/wiki/Developer_Console) to include in \"server.cfg\". Each setting must be on a separate line and end with a semi-colon (;)", + "Keywords":"additional,settings,custom", + "FieldName":"UserSettings", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"UserSettings", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Install BepInEx", + "Category":"SteamCMD and Updates", + "Description":"Installs BepInEx. You must also select the \"BepInEx Version\" in the next field. NOTE: Update the server after enabling this option", + "Keywords":"install,bepinex", + "FieldName":"BepInExInstall", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"BepInExInstall", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"BepInEx Version", + "Category":"SteamCMD and Updates", + "Description":"The version of BepInEx to download. You can find the latest version on [Thunderstore.io](https://thunderstore.io/package/bbepis/BepInExPack/). NOTE: Update the server after editing this option", + "Keywords":"install,bepinex,version", + "FieldName":"BepInExVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"BepInExVersion", + "IncludeInCommandLine":false, + "DefaultValue":"5.4.2109", + "Placeholder":"5.4.2109", + "EnumValues":{} } ] \ No newline at end of file diff --git a/risk-of-rain-2metaconfig.json b/risk-of-rain-2metaconfig.json index c3de4f85f..0bda8ee8e 100644 --- a/risk-of-rain-2metaconfig.json +++ b/risk-of-rain-2metaconfig.json @@ -1,23 +1,8 @@ [ { - "ConfigFile": "Risk of Rain 2_Data/Config/server.cfg", - "ConfigType": "kvp", - "ConfigFormat": "{0} \"{1}\";", - "Subsections": [ - { - "Heading": "$root", - "SettingMappings": { - "sv_maxplayers": "$MaxUsers", - "steam_server_heartbeat_enabled": "steam_server_heartbeat_enabled", - "sv_hostname": "sv_hostname", - "sv_port": "$ApplicationPort1", - "steam_server_query_port": "$ApplicationPort2", - "steam_server_steam_port": "$ApplicationPort3", - "sv_password": "sv_password", - "gamemode": "gamemode" - } - } - - ] + "ConfigFile":"Risk of Rain 2_Data/Config/server.cfg", + "ConfigType":"template", + "AutoMap":true, + "ConfigFileTemplate":"risk-of-rain-2/AMP_server.cfg" } ] \ No newline at end of file diff --git a/risk-of-rain-2server.cfg b/risk-of-rain-2server.cfg new file mode 100644 index 000000000..d900af9aa --- /dev/null +++ b/risk-of-rain-2server.cfg @@ -0,0 +1,13 @@ +// This file is controlled by AMP and +// must be configured via AMP + +sv_maxplayers {{sv_maxplayers}}; +steam_server_heartbeat_enabled {{steam_server_heartbeat_enabled}}; +sv_hostname "{{sv_hostname}}"; +sv_port {{sv_port}}; +steam_server_query_port {{steam_server_query_port}}; +steam_server_steam_port {{steam_server_steam_port}}; +sv_password "{{sv_password}}"; +sv_custom_tags "{{sv_custom_tags}}"; +gamemode "{{gamemode}}"; +{{UserSettings}} \ No newline at end of file diff --git a/risk-of-rain-2updates.json b/risk-of-rain-2updates.json new file mode 100644 index 000000000..b6ab8d2e7 --- /dev/null +++ b/risk-of-rain-2updates.json @@ -0,0 +1,65 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1180760", + "UpdateSourceArgs":"632360", + "ForceDownloadPlatform":"Windows" + }, + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1007", + "UpdateSourceTarget":"1180760", + "ForceDownloadPlatform":"Windows" + }, + { + "UpdateStageName":"Server Config Template File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/dev/risk-of-rain-2server.cfg", + "UpdateSourceArgs":"AMP_server.cfg", + "UpdateSourceTarget":"{{$FullRootDir}}", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Download BepInEx From Thunderstore", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://gcdn.thunderstore.io/live/repository/packages/bbepis-BepInExPack-{{BepInExVersion}}.zip", + "UpdateSourceArgs":"bbepis-BepInExPack-{{BepInExVersion}}.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceConditionSetting":"BepInExInstall", + "UpdateSourceConditionValue":"true", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"BepInEx Copy", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C xcopy /E /Y /I risk-of-rain-2\\1180760\\BepInExPack\\* risk-of-rain-2\\1180760\\ && rmdir /Q /S risk-of-rain-2\\1180760\\BepInExPack", + "UpdateSourceConditionSetting":"BepInExInstall", + "UpdateSourceConditionValue":"true" + }, + { + "UpdateStageName":"BepInEx Copy", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c '\\cp -rf ./risk-of-rain-2/1180760/BepInExPack/* ./risk-of-rain-2/1180760/ && rm -rf ./risk-of-rain-2/1180760/BepInExPack/'", + "UpdateSourceConditionSetting":"BepInExInstall", + "UpdateSourceConditionValue":"true" + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" + } +] \ No newline at end of file From 5807ae04b3317fc5efd0a08c6dcd975e2b489a4a Mon Sep 17 00:00:00 2001 From: Julian Thelen AKA DARKACE <32885015+darkace1998@users.noreply.github.com> Date: Tue, 16 May 2023 23:06:40 +0200 Subject: [PATCH 197/318] Update risk-of-rain-2updates.json (#369) fixing the Server Config file Updatesourcedata --- risk-of-rain-2updates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/risk-of-rain-2updates.json b/risk-of-rain-2updates.json index b6ab8d2e7..35f7f077e 100644 --- a/risk-of-rain-2updates.json +++ b/risk-of-rain-2updates.json @@ -19,7 +19,7 @@ "UpdateStageName":"Server Config Template File Download", "UpdateSourcePlatform":"All", "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/dev/risk-of-rain-2server.cfg", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/risk-of-rain-2server.cfg", "UpdateSourceArgs":"AMP_server.cfg", "UpdateSourceTarget":"{{$FullRootDir}}", "OverwriteExistingFiles":true @@ -62,4 +62,4 @@ "UpdateSourceData":"/bin/bash", "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" } -] \ No newline at end of file +] From 3709a3d374c26a0a255577a7fbc3509f48ebe0b2 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 17 May 2023 17:51:55 -0500 Subject: [PATCH 198/318] Update V-Rising Settings (#370) * Update V-Rising Settings V-Rising had an update today that requires two setting changes. * Update v-risingconfig.json --- v-risingconfig.json | 90 ++++++++++++++++++++++++++++++--------------- 1 file changed, 61 insertions(+), 29 deletions(-) diff --git a/v-risingconfig.json b/v-risingconfig.json index a52fa0594..d5ddc21f6 100644 --- a/v-risingconfig.json +++ b/v-risingconfig.json @@ -1,7 +1,7 @@ [ { "DisplayName": "Server Name", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Whatever you want to name your server as", "Keywords": "Server, name", "FieldName": "Name", @@ -14,7 +14,7 @@ }, { "DisplayName": "Description", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Short description of server purpose, rules, message of the day", "Keywords": "Server, description", "FieldName": "Description", @@ -28,7 +28,7 @@ }, { "DisplayName": "Port", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "UDP port for game traffic", "Keywords": "", "FieldName": "$ApplicationPort1", @@ -42,7 +42,7 @@ }, { "DisplayName": "Query Port", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "UDP port for Steam server list features", "Keywords": "", "FieldName": "$ApplicationPort2", @@ -56,7 +56,7 @@ }, { "DisplayName": "RCON Port", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "TCP port for RCON", "Keywords": "", "FieldName": "$RemoteAdminPort", @@ -70,7 +70,7 @@ }, { "DisplayName": "RCON Enabled", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "RCON Enabled to allow Console input", "Keywords": "", "FieldName": "RconEnabled", @@ -84,7 +84,7 @@ }, { "DisplayName": "LAN Mode", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Use this setting for a server without internet connectivity. The LAN Mode check box must also be checked in-game when connecting.", "Keywords": "lan,mode", "FieldName": "LanMode", @@ -100,7 +100,7 @@ }, { "DisplayName": "Max Connected Users", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Max number of concurrent players on server", "Keywords": "max, users", "FieldName": "$MaxUsers", @@ -114,7 +114,7 @@ }, { "DisplayName": "Max Connected Admins", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Max number of admins to allow connect even when server is full", "Keywords": "max, admins", "FieldName": "MaxConnectedAdmins", @@ -127,7 +127,7 @@ }, { "DisplayName": "Clan Size", - "Category": "Game Settings", + "Category": "V Rising - Game Settings", "Description": "Maximum amount of players per Clan", "Keywords": "clan, Size", "FieldName": "ClanSize", @@ -142,7 +142,7 @@ "DisplayName": "Admin List", "Description": "A list of Steam64 IDs for players that are in-game admins. [Find your Steam64 ID](https://steamid.io/lookup/)", "FieldName": "AdminList", - "Category": "Game Settings", + "Category": "V Rising - Game Settings", "InputType": "list", "Special": "listfile:./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/adminlist.txt" }, @@ -150,13 +150,13 @@ "DisplayName": "Ban List", "Description": "A list of Steam64 IDs for players that are banned [Find a Steam64 ID](https://steamid.io/lookup/)", "FieldName": "BanList", - "Category": "Game Settings", + "Category": "V Rising - Game Settings", "InputType": "list", "Special": "listfile:./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/banlist.txt" }, { "DisplayName": "Server FPS", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Maximum Server FPS when idle", "Keywords": "server, fps", "FieldName": "ServerFps", @@ -169,7 +169,7 @@ }, { "DisplayName": "Save Name", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Name of save file/directory", "Keywords": "save, name", "FieldName": "SaveName", @@ -181,7 +181,7 @@ }, { "DisplayName": "Password", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Set a password or leave empty", "Keywords": "server, password", "FieldName": "Password", @@ -193,7 +193,7 @@ }, { "DisplayName": "RCON Password", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "See the Security and Privacy menu for configurable options for the server's RCON", "Keywords": "rcon,password", "FieldName": "$RemoteAdminPassword", @@ -205,7 +205,7 @@ }, { "DisplayName": "VAC Secure", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Choose if you want your server to use VAC or not.", "Keywords": "server, secure", "FieldName": "Secure", @@ -220,14 +220,30 @@ } }, { - "DisplayName": "List on Master Server", - "Category": "Host Settings", - "Description": "Set to true to list on server list, else set to false", - "Keywords": "master,server", - "FieldName": "ListOnMasterServer", + "DisplayName": "List on Steam", + "Category": "V Rising - Host Settings", + "Description": "Set to true to list on Steam's server list", + "Keywords": "list,steam,server,list", + "FieldName": "ListOnSteam", "InputType": "checkbox", "IsFlagArgument": false, - "ParamFieldName": "ListOnMasterServer", + "ParamFieldName": "ListOnSteam", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "List on EOS", + "Category": "V Rising - Host Settings", + "Description": "Set to true to list on the in-game server list", + "Keywords": "list,EOS,game,server,list", + "FieldName": "ListOnEOS", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "ListOnEOS", "IncludeInCommandLine": false, "DefaultValue": "true", "EnumValues": { @@ -237,7 +253,7 @@ }, { "DisplayName": "Auto Save Count", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Number of autosaves to keep", "Keywords": "autosave, interval", "FieldName": "AutoSaveCount", @@ -251,7 +267,7 @@ }, { "DisplayName": "Auto Save Interval", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Interval in seconds between each auto save", "Keywords": "AutoSave, interval", "FieldName": "AutoSaveInterval", @@ -265,7 +281,7 @@ }, { "DisplayName": "Game Mode Type", - "Category": "Game Settings", + "Category": "V Rising - Game Settings", "Description": "Set Game Mode Type as PVE or PVP.", "Keywords": "Game, Mode, Type", "FieldName": "GameModeType", @@ -281,7 +297,7 @@ }, { "DisplayName": "Game Settings Ruleset", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Change Game Mode Ruleset. Must Match Game Mode Type", "Keywords": "Game, Ruleset", "FieldName": "GameSettingsPreset", @@ -311,7 +327,7 @@ }, { "DisplayName": "Admin Only Debug Events", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Show debug events only to admins", "Keywords": "admin, debug, events", "FieldName": "AdminOnlyDebugEvents", @@ -327,7 +343,7 @@ }, { "DisplayName": "Disable Debug Events", - "Category": "Host Settings", + "Category": "V Rising - Host Settings", "Description": "Disable Debug Events from appearing at all", "Keywords": "disable, debug, events", "FieldName": "DisableDebugEvents", @@ -340,5 +356,21 @@ "True": "true", "False": "false" } + }, + { + "DisplayName": "Enable API", + "Category": "V Rising - Host Settings", + "Description": "Enables API access (Undocumented feature)", + "Keywords": "API,enabled", + "FieldName": "API.Enabled", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "API.Enabled", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } } ] From 1647f17df76287d8f89688bdef2b83d126a1c6d6 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 17 May 2023 17:58:47 -0500 Subject: [PATCH 199/318] Ice is a blind man (#372) --- v-risingconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v-risingconfig.json b/v-risingconfig.json index d5ddc21f6..530926d07 100644 --- a/v-risingconfig.json +++ b/v-risingconfig.json @@ -363,7 +363,7 @@ "Description": "Enables API access (Undocumented feature)", "Keywords": "API,enabled", "FieldName": "API.Enabled", - "InputType": "number", + "InputType": "checkbox", "IsFlagArgument": false, "ParamFieldName": "API.Enabled", "IncludeInCommandLine": false, From 0c9005a2094c921f31ac3df03b8800c413542ebe Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 20 May 2023 17:59:28 +1000 Subject: [PATCH 200/318] Add mod list warnings (#373) --- ark-seconfig.json | 2 +- arma3config.json | 4 ++-- dayz-experimentalconfig.json | 4 ++-- dayz-originalconfig.json | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ark-seconfig.json b/ark-seconfig.json index 2141dc32d..4f36b9762 100644 --- a/ark-seconfig.json +++ b/ark-seconfig.json @@ -100,7 +100,7 @@ { "DisplayName":"Mods List", "Category":"ARK Server Settings", - "Description":"Comma-separated and ordered list of IDs of mods to load (map mods will not load unless named as a \"Custom\" map under Custom Map Name). Mod files must be in ShooterGame/Content/Mods. If \"Automatically Manage Mods\" is enabled, the mods listed will be installed by the server", + "Description":"Comma-separated and ordered list of IDs of mods to load (map mods will not load unless named as a \"Custom\" map under Custom Map Name). ONE LINE ONLY! Mod files must be in ShooterGame/Content/Mods. If \"Automatically Manage Mods\" is enabled, the mods listed will be installed by the server", "Keywords":"load,mods,gamemodids,activemods", "FieldName":"GameModIds", "InputType":"Textarea", diff --git a/arma3config.json b/arma3config.json index 12a7cb73d..1ef84b510 100644 --- a/arma3config.json +++ b/arma3config.json @@ -124,7 +124,7 @@ { "DisplayName":"Load Mods", "Category":"Arma Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths. Alternatively use the Startup Parameters File option", + "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths. Alternatively use the Startup Parameters File option", "Keywords":"mods,addons,mod", "FieldName":"mod", "InputType":"Textarea", @@ -138,7 +138,7 @@ { "DisplayName":"Load Server Mods", "Category":"Arma Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths. Alternatively use the Startup Parameters File option", + "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths. Alternatively use the Startup Parameters File option", "Keywords":"mods,addons,server,servermod", "FieldName":"serverMod", "InputType":"Textarea", diff --git a/dayz-experimentalconfig.json b/dayz-experimentalconfig.json index 006405aa2..8de3f34c8 100644 --- a/dayz-experimentalconfig.json +++ b/dayz-experimentalconfig.json @@ -221,7 +221,7 @@ { "DisplayName":"Load Mods", "Category":"DayZ Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", + "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", "Keywords":"mods,addons,modding,modification,workshop,plugins,mod", "FieldName":"mod", "InputType":"Textarea", @@ -235,7 +235,7 @@ { "DisplayName":"Load Server Mods", "Category":"DayZ Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", + "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", "Keywords":"mods,addons,modding,modification,workshop,plugins,server,servermod", "FieldName":"serverMod", "InputType":"Textarea", diff --git a/dayz-originalconfig.json b/dayz-originalconfig.json index df3d1e841..6e21f94b6 100644 --- a/dayz-originalconfig.json +++ b/dayz-originalconfig.json @@ -221,7 +221,7 @@ { "DisplayName":"Load Mods", "Category":"DayZ Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", + "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", "Keywords":"mods,addons,modding,modification,workshop,plugins,mod", "FieldName":"mod", "InputType":"Textarea", @@ -235,7 +235,7 @@ { "DisplayName":"Load Server Mods", "Category":"DayZ Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", + "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", "Keywords":"mods,addons,modding,modification,workshop,plugins,server,servermod", "FieldName":"serverMod", "InputType":"Textarea", From 78967f269ea48a3a453c48e998a1c0ad9082fdad Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 20 May 2023 18:57:51 +1000 Subject: [PATCH 201/318] Path of Titans: fix serverpassword and servername settings (#376) --- path-of-titans.kvp | 2 +- path-of-titansconfig.json | 19 +++++++++++++++++-- path-of-titansmetaconfig.json | 12 ++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/path-of-titans.kvp b/path-of-titans.kvp index 76474a309..347d19db5 100644 --- a/path-of-titans.kvp +++ b/path-of-titans.kvp @@ -22,7 +22,7 @@ App.ExecutableLinux=PathOfTitans/Binaries/Linux/PathOfTitansServer-Linux-Shippin App.WorkingDir= App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs=PathOfTitans {{ServerMap}}?ServerName="{{ServerName}}" {{$PlatformArgs}} -log -Port={{$GamePort}} -QueryPort={{$QueryPort}} -RconPort={{$RCONPort}} -ServerPassword="{{ServerPassword}}" -RconPassword="{{$RemoteAdminPassword}}" -MultiHome={{$ApplicationIPBinding}} {{$FormattedArgs}} +App.CommandLineArgs=PathOfTitans {{ServerMap}}?ServerName="{{ServerName}}" {{$PlatformArgs}} -log -Port={{$GamePort}} -QueryPort={{$QueryPort}} -RconPort={{$RCONPort}} -RconPassword="{{$RemoteAdminPassword}}" -MultiHome={{$ApplicationIPBinding}} {{$FormattedArgs}} App.AppSettings={} App.EnvironmentVariables={} App.CommandLineParameterFormat=-{0}={1} diff --git a/path-of-titansconfig.json b/path-of-titansconfig.json index 27264d348..4f0a2bd1f 100644 --- a/path-of-titansconfig.json +++ b/path-of-titansconfig.json @@ -68,14 +68,14 @@ { "DisplayName":"Server Name", "Category":"POT Server Settings", - "Description":"Sets the public name of the server", + "Description":"Sets the public name of the server. To include spaces in the name displayed in the server list, you MUST use underscores to represent those spaces", "Keywords":"name,servername", "FieldName":"ServerName", "InputType":"text", "IsFlagArgument":false, "ParamFieldName":"ServerName", "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered POT Server", + "DefaultValue":"AMP_Powered_POT_Server", "EnumValues":{} }, { @@ -100,6 +100,21 @@ "InputType":"password", "IsFlagArgument":false, "ParamFieldName":"ServerPassword", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"POT Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"ServerPassword", + "InputType":"password", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/PathOfTitans.IGameSession.ServerPassword", "IncludeInCommandLine":false, "DefaultValue":"", "EnumValues":{} diff --git a/path-of-titansmetaconfig.json b/path-of-titansmetaconfig.json index 3e9bc0e9c..c77e96755 100644 --- a/path-of-titansmetaconfig.json +++ b/path-of-titansmetaconfig.json @@ -1,4 +1,16 @@ [ + { + "ConfigFile":"PathOfTitans/Saved/Config/WindowsServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile":"PathOfTitans/Saved/Config/LinuxServer/Game.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + }, { "ConfigFile":"PathOfTitans/Saved/MOTD.txt", "ConfigType":"kvp", From aa2eda565a7f83d4edad6c94362bc25b7886a7f0 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sat, 20 May 2023 11:27:34 -0500 Subject: [PATCH 202/318] Add Node JS Generic (#374) * Add Node JS Generic This creates a generic template that can be used for Node JS applications. There are no known limitations at this time. Feature requests are welcome. * PATH step for scripts that need it. * Greelan's review * One day, glasses will be used. --- node.kvp | 89 ++++++++++++++++++++++++++++ nodeconfig.json | 150 +++++++++++++++++++++++++++++++++++++++++++++++ nodeupdates.json | 146 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 385 insertions(+) create mode 100644 node.kvp create mode 100644 nodeconfig.json create mode 100644 nodeupdates.json diff --git a/node.kvp b/node.kvp new file mode 100644 index 000000000..2bf2492d2 --- /dev/null +++ b/node.kvp @@ -0,0 +1,89 @@ +Meta.DisplayName=Node +Meta.Description=Node Service Instance +Meta.OS=Windows, Linux +Meta.AarchSupport=Native +Meta.Arch=All +Meta.Author=IceOfWraith +Meta.URL=https://nodejs.org +Meta.DisplayImageSource=url:https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/1200px-Node.js_logo.svg.png +Meta.EndpointURIFormat= +Meta.ConfigManifest=nodeconfig.json +Meta.MetaConfigManifest= +Meta.ConfigRoot=node.kvp +Meta.MinAMPVersion=2.4.4.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Node +App.RootDir=./node-server/ +App.BaseDirectory=./node-server/ +App.ExecutableWin=node\node.exe +App.ExecutableLinux=./node/bin/node +App.WorkingDir=app +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs="{{$FullBaseDir}}app/{{ApplicationLocation}}/{{ApplicationName}}" {{CommandLineArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={} +App.CommandLineParameterFormat=-{0}={1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=stop +App.ExitFile=lock +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":"Both","Name":"Main Port","Description":"Main port used for incoming traffic","Port":7777,"Ref":"ServerPort"}] +App.AdminPortRef=ServerPort +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=0 +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=0 +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=@IncludeJson[nodeupdates.json] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=True +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=Immediate +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex= +Console.AppReadyRegex=^$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +Console.UpdateAvailableRegex=^$ +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 diff --git a/nodeconfig.json b/nodeconfig.json new file mode 100644 index 000000000..4f97b22bc --- /dev/null +++ b/nodeconfig.json @@ -0,0 +1,150 @@ +[ + { + "DisplayName":"Application Download Type", + "Category":"Node - Settings", + "Description":"Sets where to download the application from. Be sure to enter the \"Application Download Source\", \"GitHub Release Filename\", and \"GitHub Release Version\" where applicable. Update the application after setting this value.", + "Keywords":"download,type", + "FieldName":"DownloadType", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"DownloadType", + "IncludeInCommandLine":false, + "DefaultValue":"GitRepo", + "EnumValues":{ + "DownloadURL":"Download URL", + "GithubRelease":"GitHub Release", + "GitRepo":"GitHub Repo", + "None":"None" + } + }, + { + "DisplayName":"Application Download Source", + "Category":"Node - Settings", + "Description":"Sets the source for the \"Application Download Type\". Enter the values based on the type you chose in the previous input. GitHub Repo = URL that ends in .git. GitHub Release = User/Repo. Download URL = URL to a zip file to download. Update the application after setting this value.", + "Keywords":"download,source", + "FieldName":"DownloadSource", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"DownloadSource", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"https://github.com/IceOfWraith/IceBot.git", + "EnumValues":{} + }, + { + "DisplayName":"GitHub Release Filename", + "Category":"Node - Settings", + "Description":"If you chose \"GitHub Release\" for the \"Application Download Type\", you need to enter the file from the release to download.", + "Keywords":"github,release,filename", + "FieldName":"DownloadFilename", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"DownloadFilename", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"discordbot.zip", + "EnumValues":{} + }, + { + "DisplayName":"GitHub Release Version", + "Category":"Node - Settings", + "Description":"If you chose \"GitHub Release\" for the \"Application Download Type\", you may enter the release version to download. Leave this blank to download the latest.", + "Keywords":"github,release,version", + "FieldName":"DownloadVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"DownloadVersion", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"1.0.0", + "EnumValues":{} + }, + { + "DisplayName":"Node.js Version", + "Category":"Node - Settings", + "Description":"Sets the [Node.js release version](https://nodejs.org/download/release/) to install to run the application. NOTE: Specify a numbered version like v.18.16.0, rather than any \"latest\" version.", + "Keywords":"node,nodejs,version", + "FieldName":"NodeVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"NodeVersion", + "IncludeInCommandLine":false, + "DefaultValue":"v18.16.0", + "Placeholder":"v18.16.0", + "EnumValues":{} + }, + { + "DisplayName":"Application Name", + "Category":"Node - Settings", + "Description":"Specify name of the Node application to execute Do not specify \"node\" in front.", + "Keywords":"app,application,name", + "FieldName":"ApplicationName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ApplicationName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"index.js", + "EnumValues":{} + }, + { + "DisplayName":"Application Installation Location", + "Category":"Node - Settings", + "Description":"If the app downloads in a subfolder of \"app\" you must specify the folders here.", + "Keywords":"app,application,location", + "FieldName":"ApplicationLocation", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ApplicationLocation", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"IceBot-main", + "EnumValues":{} + }, + { + "DisplayName":"Command Line Arguments", + "Category":"Node - Settings", + "Description":"Specify any command line arguments to include.", + "Keywords":"command,line,arguments,args", + "FieldName":"CommandLineArgs", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CommandLineArgs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"value1=foo value2=bar", + "EnumValues":{} + }, + { + "DisplayName":"npm Install Type", + "Category":"Node - Settings", + "Description":"Specify \"npm i\" to use a packages.json or specify \"npm ci\" to use a packages-lock.json. If \"Specific Packages\" is chosen you must enter the packages in the \"Specific npm Packages\" input.", + "Keywords":"npm,install,type", + "FieldName":"NpmInstallType", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"NpmInstallType", + "IncludeInCommandLine":false, + "DefaultValue":"npmi", + "EnumValues":{ + "none":"None", + "npmci":"npm ci", + "npmi":"npm i", + "specify":"Specific Packages" + } + }, + { + "DisplayName":"Specific npm Packages", + "Category":"Node - Settings", + "Description":"Specify any additional npm packages to install separated by a space. Select \"Specific Packages\" for the \"npm Install Type\".", + "Keywords":"additional,npm,packages", + "FieldName":"NpmPackages", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"NpmPackages", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"express fastify socket.io", + "EnumValues":{} + } +] \ No newline at end of file diff --git a/nodeupdates.json b/nodeupdates.json new file mode 100644 index 000000000..8cc2abcfc --- /dev/null +++ b/nodeupdates.json @@ -0,0 +1,146 @@ +[ + { + "UpdateStageName":"App Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}app" + }, + { + "UpdateStageName":"Application Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"GitRepo", + "UpdateSourceData":"{{DownloadSource}}", + "UpdateSourceTarget":"{{$FullBaseDir}}app", + "UpdateSourceConditionSetting":"DownloadType", + "UpdateSourceConditionValue":"GitRepo" + }, + { + "UpdateStageName":"Application Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"GithubRelease", + "UpdateSourceArgs":"{{DownloadSource}}", + "UpdateSourceData":"{{DownloadFilename}}", + "UpdateSourceVersion":"{{DownloadVersion}}", + "UpdateSourceTarget":"{{$FullBaseDir}}app", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"DownloadType", + "UpdateSourceConditionValue":"GithubRelease" + }, + { + "UpdateStageName":"Application Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"{{DownloadSource}}", + "UpdateSourceTarget":"{{$FullBaseDir}}app", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"DownloadType", + "UpdateSourceConditionValue":"DownloadURL" + }, + { + "UpdateStageName":"Node.js Download", + "UpdateSourcePlatform":"Linux", + "UpdateSourceArch":"x86_64", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-x64.tar.gz", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Node.js Extract", + "UpdateSourcePlatform":"Linux", + "UpdateSourceArch":"x86_64", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'cd \"{{$FullBaseDir}}\" && rm -Rf \"{{$FullBaseDir}}node/\" && tar xfv node-{{NodeVersion}}-linux-x64.tar.gz > {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && mv -v node-{{NodeVersion}}-linux-x64 node >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && rm node-{{NodeVersion}}-linux-x64.tar.gz'" + }, + { + "UpdateStageName":"Node.js Download", + "UpdateSourcePlatform":"Linux", + "UpdateSourceArch":"aarch64", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-arm64.tar.gz", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Node.js Extract", + "UpdateSourcePlatform":"Linux", + "UpdateSourceArch":"aarch64", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'cd \"{{$FullBaseDir}}\" && rm -Rf \"{{$FullBaseDir}}node/\" && tar xfv node-{{NodeVersion}}-linux-arm64.tar.gz > {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && mv -v node-{{NodeVersion}}-linux-arm64 node >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && rm node-{{NodeVersion}}-linux-arm64.tar.gz'" + }, + { + "UpdateStageName":"Node.js Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-win-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Node.js Extract", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C cd \"{{$FullBaseDir}}\" & rmdir /S /Q \"{{$FullBaseDir}}node/\" & rename node-{{NodeVersion}}-win-x64 node > {{$FullBaseDir}}AMPSetupLog.txt 2>&1" + }, + { + "UpdateStageName":"npm Packages", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'export PATH=$PATH:{{$FullBaseDir}}node/bin && cd \"{{$FullBaseDir}}app/{{ApplicationLocation}}/\" && \"{{$FullBaseDir}}node/bin/node\" \"{{$FullBaseDir}}node/bin/npm\" i {{NpmPackages}} >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1'", + "UpdateSourceConditionSetting":"NpmInstallType", + "UpdateSourceConditionValue":"specify" + }, + { + "UpdateStageName":"npm Packages", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C set PATH={{$FullBaseDir}}node;%PATH% && cd \"{{$FullBaseDir}}app\\{{ApplicationLocation}}\\\" && \"{{$FullBaseDir}}node\\node\" \"{{$FullBaseDir}}node\\node_modules\\npm\\bin\\npm-cli.js\" i {{NpmPackages}} >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1", + "UpdateSourceConditionSetting":"NpmInstallType", + "UpdateSourceConditionValue":"specify" + }, + { + "UpdateStageName":"npm Packages", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'export PATH=$PATH:{{$FullBaseDir}}node/bin && cd \"{{$FullBaseDir}}app/{{ApplicationLocation}}/\" && \"{{$FullBaseDir}}node/bin/node\" \"{{$FullBaseDir}}node/bin/npm\" i >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1'", + "UpdateSourceConditionSetting":"NpmInstallType", + "UpdateSourceConditionValue":"npmi" + }, + { + "UpdateStageName":"npm Packages", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C set PATH={{$FullBaseDir}}node;%PATH% && cd \"{{$FullBaseDir}}app\\{{ApplicationLocation}}\\\" && \"{{$FullBaseDir}}node\\node\" \"{{$FullBaseDir}}node\\node_modules\\npm\\bin\\npm-cli.js\" i >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1", + "UpdateSourceConditionSetting":"NpmInstallType", + "UpdateSourceConditionValue":"npmi" + }, + { + "UpdateStageName":"npm Packages", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'export PATH=$PATH:{{$FullBaseDir}}node/bin && cd \"{{$FullBaseDir}}app/{{ApplicationLocation}}/\" && \"{{$FullBaseDir}}node/bin/node\" \"{{$FullBaseDir}}node/bin/npm\" ci >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1'", + "UpdateSourceConditionSetting":"NpmInstallType", + "UpdateSourceConditionValue":"npmci" + }, + { + "UpdateStageName":"npm Packages", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C set PATH={{$FullBaseDir}}node;%PATH% && cd \"{{$FullBaseDir}}app\\{{ApplicationLocation}}\\\" && \"{{$FullBaseDir}}node\\node\" \"{{$FullBaseDir}}node\\node_modules\\npm\\bin\\npm-cli.js\" ci >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1", + "UpdateSourceConditionSetting":"NpmInstallType", + "UpdateSourceConditionValue":"npmci" + } +] \ No newline at end of file From b0137c746ed6bedbf74b39ff8c13805a4c276970 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 21 May 2023 18:54:32 +1000 Subject: [PATCH 203/318] Add official map names (#377) --- unturnedconfig.json | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/unturnedconfig.json b/unturnedconfig.json index 1a98ccbb2..432bde6ca 100644 --- a/unturnedconfig.json +++ b/unturnedconfig.json @@ -152,14 +152,40 @@ { "DisplayName": "Map", "Category": "Server Settings", - "Description": "Sets the map", + "Description": "Sets the map for the server. If Custom is selected, Custom Map Name must also be set", "Keywords": "map", "FieldName": "Map", - "InputType": "text", + "InputType": "enum", "IsFlagArgument": false, "ParamFieldName": "Map", "IncludeInCommandLine": false, "DefaultValue": "PEI", + "EnumValues":{ + "Alpha Valley":"Alpha Valley (Arena)", + "Germany":"Germany", + "Monolith":"Monolith (Arena)", + "Paintball Arena":"Paintball Arena", + "PEI":"PEI (default)", + "PEI Arena":"PEI Arena", + "Russia":"Russia", + "Washington":"Washington", + "Washington Arena":"Washington Arena", + "Yukon":"Yukon", + "{{CustomMap}}":"Custom" + } + }, + { + "DisplayName":"Custom Map Name", + "Category":"Server Settings", + "Description":"Sets a custom map name for the server. \"Custom\" type must be selected under Map, and the map files must be installed via Workshop Items", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"Hawaii", "EnumValues":{} }, { From 6c92c2ca77360c34bae331a16f9ad6e6be8bb14f Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sun, 21 May 2023 23:51:27 -0500 Subject: [PATCH 204/318] Update OpenTTD (#378) * Update OpenTTD Due to the latest update, the save file must be removed, the game started and an autosave created, then the save game location put back in before starting the server again. * Update openttdconfig.json * Tweak save name setting description --------- Co-authored-by: Greelan <53196309+Greelan@users.noreply.github.com> --- openttdconfig.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openttdconfig.json b/openttdconfig.json index 5df8f1402..a6e16cff6 100644 --- a/openttdconfig.json +++ b/openttdconfig.json @@ -115,14 +115,15 @@ { "DisplayName":"Save Name", "Category":"OpenTTD Server Settings", - "Description":"Sets the savename of a game to load on server start. Both saved games and scenarios can be loaded. If no game savename is specified or the specified savename cannot be found, a new game is started", + "Description":"Sets the savename of a game to load on server start. Both saved games and scenarios can be loaded. If no game savename is specified, a new game is started. If desired, set this value to \"config/save/autosave/exit.sav\" to load the default autosave after the server has started and autosaved once", "Keywords":"load,savegame", "FieldName":"g", "InputType":"text", "IsFlagArgument":false, "ParamFieldName":"g", "IncludeInCommandLine":true, - "DefaultValue":"config/save/autosave/exit.sav", + "SkipIfEmpty":true, + "DefaultValue":"", "Placeholder":"config/save/autosave/exit.sav", "EnumValues":{} }, @@ -1919,4 +1920,4 @@ "nightly":"Nightly" } } -] \ No newline at end of file +] From 4477124c0e96ba898aea47a84b3226a072590546 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 29 May 2023 13:25:00 +1000 Subject: [PATCH 205/318] Impostor: update version references (#380) --- impostorconfig.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/impostorconfig.json b/impostorconfig.json index b76dac176..2f80627aa 100644 --- a/impostorconfig.json +++ b/impostorconfig.json @@ -77,22 +77,22 @@ "IsFlagArgument":false, "ParamFieldName":"ServerVersion", "IncludeInCommandLine":false, - "DefaultValue":"1.7.2", - "Placeholder":"1.7.2 | 1.7.3-ci.513", + "DefaultValue":"1.8.2", + "Placeholder":"1.8.2 | 1.8.2-ci.621", "EnumValues":{} }, { "DisplayName":"Dotnet Version", "Category":"Server Settings", - "Description":"Sets the [ASP.NET Core 6.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) to install. Back up configuration and update the server!", + "Description":"Sets the [ASP.NET Core 7.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) to install. Back up configuration and update the server!", "Keywords":"dotnet,version", "FieldName":"DotnetVersion", "InputType":"text", "IsFlagArgument":false, "ParamFieldName":"DotnetVersion", "IncludeInCommandLine":false, - "DefaultValue":"6.0.10", - "Placeholder":"6.0.10", + "DefaultValue":"7.0.5", + "Placeholder":"7.0.5", "EnumValues":{} }, { @@ -139,4 +139,4 @@ "True":"true" } } -] \ No newline at end of file +] From 83239c502cb7701e5816441c107219a983473a24 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 29 May 2023 13:29:22 +1000 Subject: [PATCH 206/318] Assetto Corsa: switch to native Linux and add modded server option (#379) --- assetto-corsa.kvp | 40 +++++++++++----- assetto-corsaconfig.json | 32 ++++++++++++- assetto-corsaupdates.json | 96 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+), 13 deletions(-) create mode 100644 assetto-corsaupdates.json diff --git a/assetto-corsa.kvp b/assetto-corsa.kvp index b8dcf1be1..39feeaee3 100644 --- a/assetto-corsa.kvp +++ b/assetto-corsa.kvp @@ -1,6 +1,7 @@ Meta.DisplayName=Assetto Corsa Meta.Description=Assetto Corsa Dedicated Server Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://steamdb.info/app/244210 @@ -9,24 +10,32 @@ Meta.EndpointURIFormat= Meta.ConfigManifest=assetto-corsaconfig.json Meta.MetaConfigManifest=assetto-corsametaconfig.json Meta.ConfigRoot=assetto-corsa.kvp -Meta.MinAMPVersion=2.4.0.2 -Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.MinAMPVersion=2.4.3.6 +Meta.SpecificDockerImage= Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= App.DisplayName=Assetto Corsa App.RootDir=./assetto-corsa/ -App.BaseDirectory=./assetto-corsa/302550 +App.BaseDirectory=./assetto-corsa/302550/ +App.SteamWorkshopDownloadLocation= App.ExecutableWin=302550\acServer.exe -App.ExecutableLinux=/usr/bin/wine +App.ExecutableLinux=302550/acServer App.WorkingDir=302550 -App.LinuxCommandLineArgs="./acServer.exe" +App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"244210","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win32","WINEDEBUG":"-all"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"244210","DOTNET_ROOT":"{{$FullBaseDir}}dotnet"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -39,23 +48,30 @@ App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 App.Ports=[{"Protocol":"Both","Port":9600,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":9601,"Ref":"HTTPPort","Name":"HTTP Port","Description":"Port for lobby info"}] +App.AdminPortRef=0 App.PrimaryApplicationPortRef=GamePort App.UniversalSleepApplicationUDPPortRef=GamePort App.UniversalSleepSteamQueryPortRef=GamePort App.MaxUsers=18 App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 +App.PersistRandomPassword=False +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=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"302550","UpdateSourceArgs":"244210","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] +App.UpdateSources=@IncludeJson[assetto-corsaupdates.json] +App.PreStartStages=[] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False App.RapidStartup=False App.MonitorChildProcess=True +App.DumpFullChildProcessTree=False App.MonitorChildProcessWaitMs=2000 App.MonitorChildProcessName=acServer.exe App.SupportsUniversalSleep=False @@ -64,8 +80,8 @@ App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^Server started$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+)$ +Console.AppReadyRegex=^(Server started|\[[\d:]+ INF\] Starting update loop with an update rate of \d+hz)$ Console.UserJoinRegex=^DRIVER ACCEPTED FOR CAR (?<username>.+?)$ Console.UserLeaveRegex=^Clean exit, driver disconnected:\s+(?<username>.+?) \[\]$ Console.UserChatRegex=^$ diff --git a/assetto-corsaconfig.json b/assetto-corsaconfig.json index 439d70e0b..8cf53faaa 100644 --- a/assetto-corsaconfig.json +++ b/assetto-corsaconfig.json @@ -638,5 +638,35 @@ "Suffix":"%", "Placeholder":"90", "EnumValues":{} - } + }, + { + "DisplayName":"Server Version", + "Category":"SteamCMD and Updates", + "Description":"Sets the server version to install. The Modded version is installed from the [AssettoServer](https://assettoserver.org/) repo. Select the required Dotnet Version as well. NOTE: Update the server after switching versions!", + "Keywords":"server,version,modded", + "FieldName":"ServerVersion", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerVersion", + "IncludeInCommandLine":false, + "DefaultValue":"vanilla", + "EnumValues":{ + "vanilla":"Vanilla (default)", + "modded":"Modded (AssettoServer)" + } + }, + { + "DisplayName":"Dotnet Version", + "Category":"SteamCMD and Updates", + "Description":"Sets the [ASP.NET Core 7.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) to install for the Modded server. NOTE: Update the server after switching versions!", + "Keywords":"dotnet,version", + "FieldName":"DotnetVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"DotnetVersion", + "IncludeInCommandLine":false, + "DefaultValue":"7.0.5", + "Placeholder":"7.0.5", + "EnumValues":{} + } ] \ No newline at end of file diff --git a/assetto-corsaupdates.json b/assetto-corsaupdates.json new file mode 100644 index 000000000..a7ee31d64 --- /dev/null +++ b/assetto-corsaupdates.json @@ -0,0 +1,96 @@ +[ + { + "UpdateStageName":"SteamCMD Server Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"302550", + "UpdateSourceArgs":"244210", + "ForceDownloadPlatform":"Windows" + }, + { + "UpdateStageName":"Modded Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"GithubRelease", + "UpdateSourceArgs":"compujuckel/AssettoServer", + "UpdateSourceData":"assetto-server-win-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerVersion", + "UpdateSourceConditionValue":"modded" + }, + { + "UpdateStageName":"Modded Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"GithubRelease", + "UpdateSourceArgs":"compujuckel/AssettoServer", + "UpdateSourceData":"assetto-server-linux-x64.tar.gz", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerVersion", + "UpdateSourceConditionValue":"modded" + }, + { + "UpdateStageName":"Modded Server Overwrite", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C move /Y assetto-corsa\\302550\\AssettoServer.exe assetto-corsa\\302550\\acServer.exe", + "UpdateSourceConditionSetting":"ServerVersion", + "UpdateSourceConditionValue":"modded" + }, + { + "UpdateStageName":"Modded Server Overwrite", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'mv -f ./assetto-corsa/302550/AssettoServer ./assetto-corsa/302550/acServer && chmod +x ./assetto-corsa/302550/acServer'", + "UpdateSourceConditionSetting":"ServerVersion", + "UpdateSourceConditionValue":"modded" + }, + { + "UpdateStageName":"SteamCMD Component Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1007", + "UpdateSourceTarget":"302550", + "UpdateSourceConditionSetting":"ServerVersion", + "UpdateSourceConditionValue":"modded" + }, + { + "UpdateStageName":"Create Dotnet Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}dotnet", + "UpdateSourceConditionSetting":"ServerVersion", + "UpdateSourceConditionValue":"modded" + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerVersion", + "UpdateSourceConditionValue":"modded" + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerVersion", + "UpdateSourceConditionValue":"modded" + } +] \ No newline at end of file From 5e78d0c028987aa66ad1fc5c78c48710c2d200cc Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 31 May 2023 10:35:23 +1000 Subject: [PATCH 207/318] Foundry VTT: fix minor setting description typo (#382) --- foundry-vttconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry-vttconfig.json b/foundry-vttconfig.json index 3c75ce69a..2ddd57a39 100644 --- a/foundry-vttconfig.json +++ b/foundry-vttconfig.json @@ -29,7 +29,7 @@ { "DisplayName":"Node.js Version", "Category":"Server Settings", - "Description":"Sets the [Node.js release version](https://nodejs.org/download/release/) to install to run the server. Minimum v14.x required. NOTE: Specify a numbered version like v.14.21.3, rather than any \"latest\" version", + "Description":"Sets the [Node.js release version](https://nodejs.org/download/release/) to install to run the server. Minimum v14.x required. NOTE: Specify a numbered version like v14.21.3, rather than any \"latest\" version", "Keywords":"node,nodejs,version", "FieldName":"NodeVersion", "InputType":"text", @@ -56,4 +56,4 @@ "True":"true" } } -] \ No newline at end of file +] From 721bb1e0318867d279f28adf5818017b309db836 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 31 May 2023 22:37:48 -0500 Subject: [PATCH 208/318] Update Vintage Story Regex (#383) The latest version includes the date at the beginning of the line. Updated the regex to handle new and old versions. `31.5.2023 18:52:33 [Server Event] Dedicated Server now running on Port 40027 and all ips!` --- vintage-story.kvp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/vintage-story.kvp b/vintage-story.kvp index 754086e80..f0330f7a0 100644 --- a/vintage-story.kvp +++ b/vintage-story.kvp @@ -69,10 +69,10 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^[\d:]+ \[Server Event\] Dedicated Server now running on Port \d+ and (all ips|ip .*)!$ -Console.UserJoinRegex=^[\d:]+ \[Server Event\] (?<username>.+?) [\[\]a-f\d:.]+ joins\.$ -Console.UserLeaveRegex=^[\d:]+ \[Server Event\] Player (?<username>.+?) (left|got removed\. Reason: Server shutting down - Shutdown via server command).*$ -Console.UserChatRegex=^[\d:]+ \[Server Chat\] (?<username>.+?): <strong>(?<username>.+?):</strong> (?<message>.+)$ +Console.AppReadyRegex=^[\d.]*\s*[\d:]+ \[Server Event\] Dedicated Server now running on Port \d+ and (all ips|ip .*)!$ +Console.UserJoinRegex=^[\d.]*\s*[\d:]+ \[Server Event\] (?<username>.+?) [\[\]a-f\d:.]+ joins\.$ +Console.UserLeaveRegex=^[\d.]*\s*[\d:]+ \[Server Event\] Player (?<username>.+?) (left|got removed\. Reason: Server shutting down - Shutdown via server command).*$ +Console.UserChatRegex=^[\d.]*\s*[\d:]+ \[Server Chat\] (?<username>.+?): <strong>(?<username>.+?):</strong> (?<message>.+)$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.MetricsRegex= Console.SuppressLogAtStart=False @@ -83,4 +83,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 \ No newline at end of file +Limits.SleepStartThresholdSeconds=25 From ad7da585c456b42885f253fc2441e95236423007 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 1 Jun 2023 13:45:32 +1000 Subject: [PATCH 209/318] FVTT: update default Node.js version (#384) --- foundry-vttconfig.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/foundry-vttconfig.json b/foundry-vttconfig.json index 2ddd57a39..618bd6666 100644 --- a/foundry-vttconfig.json +++ b/foundry-vttconfig.json @@ -29,15 +29,15 @@ { "DisplayName":"Node.js Version", "Category":"Server Settings", - "Description":"Sets the [Node.js release version](https://nodejs.org/download/release/) to install to run the server. Minimum v14.x required. NOTE: Specify a numbered version like v14.21.3, rather than any \"latest\" version", + "Description":"Sets the [Node.js release version](https://nodejs.org/download/release/) to install to run the server. Minimum v16.x required. NOTE: Specify a numbered version like v18.16.0, rather than any \"latest\" version", "Keywords":"node,nodejs,version", "FieldName":"NodeVersion", "InputType":"text", "IsFlagArgument":false, "ParamFieldName":"NodeVersion", "IncludeInCommandLine":false, - "DefaultValue":"v14.21.3", - "Placeholder":"v14.21.3", + "DefaultValue":"v18.16.0", + "Placeholder":"v18.16.0", "EnumValues":{} }, { From 17bbe2f368d260ee0a65728b8bb2016905830dd7 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 1 Jun 2023 13:47:25 +1000 Subject: [PATCH 210/318] Impostor updates (#381) --- impostor.kvp | 9 ++-- impostorconfig.json | 95 +++++++++++++++++++++++++++++++++++------ impostormetaconfig.json | 5 +++ impostorupdates.json | 57 ++++++++++++++++++++++++- 4 files changed, 149 insertions(+), 17 deletions(-) diff --git a/impostor.kvp b/impostor.kvp index b1c2b3552..172ecd348 100644 --- a/impostor.kvp +++ b/impostor.kvp @@ -1,7 +1,8 @@ Meta.DisplayName=Impostor - Among Us Server Meta.Description=Impostor Dedicated Server - an open source private server implementation for Among Us Meta.OS=Windows, Linux -Meta.Arch=x86_64 +Meta.AarchSupport=Native +Meta.Arch=All Meta.Author=Greelan Meta.URL=https://github.com/Impostor/Impostor Meta.DisplayImageSource=steam:945360 @@ -41,10 +42,10 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"UDP","Port":22023,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"}] +App.Ports=[{"Protocol":"Both","Port":22023,"Ref":"ServerPort","Name":"Game and HTTP Port","Description":"Port for game and HTTP matchmaking traffic"}] App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort App.UniversalSleepSteamQueryPortRef=0 App.MaxUsers=100 App.UseRandomAdminPassword=False diff --git a/impostorconfig.json b/impostorconfig.json index 2f80627aa..1edf86757 100644 --- a/impostorconfig.json +++ b/impostorconfig.json @@ -17,7 +17,7 @@ "Category":"Server Settings", "Description":"", "Keywords":"", - "FieldName":"$GamePort", + "FieldName":"$ServerPort", "InputType":"number", "IsFlagArgument":false, "Hidden":true, @@ -26,35 +26,49 @@ "EnumValues":{} }, { - "DisplayName":"IP Binding", + + "DisplayName":"Listen Port", "Category":"Server Settings", "Description":"", "Keywords":"", - "FieldName":"$ApplicationIPBinding", - "InputType":"text", + "FieldName":"$ServerPort", + "InputType":"number", "IsFlagArgument":false, "Hidden":true, - "ParamFieldName":"$.Server.ListenIp", + "ParamFieldName":"$.Server.ListenPort", "IncludeInCommandLine":false, "EnumValues":{} }, { - "DisplayName":"Listen Port", + "DisplayName":"HTTP Matchmaking Port", "Category":"Server Settings", "Description":"", "Keywords":"", - "FieldName":"$GamePort", + "FieldName":"$ServerPort", "InputType":"number", "IsFlagArgument":false, "Hidden":true, - "ParamFieldName":"$.Server.ListenPort", + "ParamFieldName":"$.HttpServer.ListenPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"IP Binding", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationIPBinding", + "InputType":"text", + "IsFlagArgument":false, + "Hidden":true, + "ParamFieldName":"$.Server.ListenIp", "IncludeInCommandLine":false, "EnumValues":{} }, { "DisplayName":"Build Stream", "Category":"Server Settings", - "Description":"Sets the build stream for the server - either the mainline release stream, or the nightly (CI) stream. Back up configuration and update the server!", + "Description":"Sets the build stream for the server - either the mainline release stream, or the nightly (CI) stream. The Server Version also needs to be set. Back up configuration and update the server!", "Keywords":"build,stream", "FieldName":"BuildStream", "InputType":"enum", @@ -96,10 +110,10 @@ "EnumValues":{} }, { - "DisplayName":"Client Configuration", + "DisplayName":"Client and HTTP Matchmaking Configuration", "Category":"Server Settings", - "Description":"For a player to connect to the server, they must [configure their Among Us client](https://impostor.github.io/Impostor/)", - "Keywords":"client,configuration", + "Description":"For a player to connect to the server, they must [configure their Among Us client](https://impostor.github.io/Impostor/). In addition, from late 2022, Among Us requires [HTTP matchmaking](https://github.com/Impostor/Impostor.Http#impostorhttp) for clients to connect. Set the desired HTTP Plugin Version to download, and configure the other Impostor.Http plugin settings as needed", + "Keywords":"client,configuration,http,matchmaking,plugin", "FieldName":"", "InputType":"hidden", "IsFlagArgument":false, @@ -107,6 +121,63 @@ "IncludeInCommandLine":false, "EnumValues":{} }, + { + "DisplayName":"HTTP Plugin Version", + "Category":"Server Settings", + "Description":"Sets the [Impostor.HTTP plugin version](https://github.com/Impostor/Impostor.Http/releases) to install. Update the server!", + "Keywords":"http,matchmaking,plugin,version", + "FieldName":"HttpPluginVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"HttpPluginVersion", + "IncludeInCommandLine":false, + "DefaultValue":"0.4.0", + "Placeholder":"0.4.0", + "EnumValues":{} + }, + { + "DisplayName":"HTTP Matchmaking Plugin Binding", + "Category":"Server Settings", + "Description":"Sets the binding of the Impostor.Http plugin server. Use 0.0.0.0 if clients will connect to the plugin server directly. Otherwise you can use 127.0.0.1 or a local IP on the host, as appropriate, if using a reverse proxy for the plugin server traffic (preferred)", + "Keywords":"http,matchmaking,plugin,binding,listenip", + "FieldName":"HttpServerListenIp", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.HttpServer.ListenIp", + "IncludeInCommandLine":false, + "DefaultValue":"0.0.0.0", + "Placeholder":"0.0.0.0", + "EnumValues":{} + }, + { + "DisplayName":"Enable HTTPS For HTTP Matchmaking Plugin", + "Category":"Server Settings", + "Description":"If set, the Impostor.Http plugin server will use its own HTTPS (encrypted HTTP) rather than plain HTTP. Requires the HTTP Matchmaking Plugin Certificate Path to be set. Using a reverse proxy to provide HTTPS is preferred instead of using this setting. Note: HTTPS is required for iOS/Android devices to connect", + "Keywords":"http,matchmaking,plugin,https,secure,usehttps", + "FieldName":"HttpServerUseHttps", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.HttpServer.UseHttps", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"HTTP Matchmaking Plugin Certificate Path", + "Category":"Server Settings", + "Description":"Sets the path to an SSL certificate (in PFX format) to enable the Impostor.Http plugin server to use its own HTTPS", + "Keywords":"http,matchmaking,plugin,https,secure,certificate,path,certificatepath", + "FieldName":"HttpServerCertificatePath", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.HttpServer.CertificatePath", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, { "DisplayName":"Enable Anticheat", "Category":"Server Settings", diff --git a/impostormetaconfig.json b/impostormetaconfig.json index dd38b8f7f..8681949fd 100644 --- a/impostormetaconfig.json +++ b/impostormetaconfig.json @@ -3,5 +3,10 @@ "ConfigFile":"config.json", "AutoMap":true, "ConfigType":"json" + }, + { + "ConfigFile":"config_http.json", + "AutoMap":true, + "ConfigType":"json" } ] \ No newline at end of file diff --git a/impostorupdates.json b/impostorupdates.json index 11fc2e67a..b62b16759 100644 --- a/impostorupdates.json +++ b/impostorupdates.json @@ -32,7 +32,18 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz", - "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceArch":"x86_64", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-arm64.tar.gz", + "UpdateSourceArch":"aarch64", "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", "UnzipUpdateSource":true, "OverwriteExistingFiles":true, @@ -55,6 +66,20 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", "UpdateSourceData":"https://github.com/Impostor/Impostor/releases/download/v{{ServerVersion}}/Impostor-Server_{{ServerVersion}}_linux-x64.tar.gz", + "UpdateSourceArch":"x86_64", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"BuildStream", + "UpdateSourceConditionValue":"Release" + }, + { + "UpdateStageName":"Impostor Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/Impostor/Impostor/releases/download/v{{ServerVersion}}/Impostor-Server_{{ServerVersion}}_linux-arm64.tar.gz", + "UpdateSourceArch":"aarch64", "UpdateSourceTarget":"{{$FullBaseDir}}", "UnzipUpdateSource":true, "OverwriteExistingFiles":true, @@ -79,6 +104,20 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", "UpdateSourceData":"https://nightly.link/Impostor/Impostor/workflows/ci/master/Impostor-Server_{{ServerVersion}}_linux-x64.zip", + "UpdateSourceArch":"x86_64", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"BuildStream", + "UpdateSourceConditionValue":"Nightly" + }, + { + "UpdateStageName":"Impostor Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://nightly.link/Impostor/Impostor/workflows/ci/master/Impostor-Server_{{ServerVersion}}_linux-arm64.zip", + "UpdateSourceArch":"aarch64", "UpdateSourceTarget":"{{$FullBaseDir}}", "UnzipUpdateSource":true, "OverwriteExistingFiles":true, @@ -97,5 +136,21 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"SetExecutableFlag", "UpdateSourceArgs":"{{$FullBaseDir}}Impostor.Server" + }, + { + "UpdateStageName":"Impostor.Http Plugin Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/Impostor/Impostor.Http/releases/download/v{{HttpPluginVersion}}/Impostor.Http.dll", + "UpdateSourceTarget":"{{$FullBaseDir}}plugins", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Impostor.Http Plugin Config File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/Impostor/Impostor.Http/main/config_http.json", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "OverwriteExistingFiles":false } ] \ No newline at end of file From 74426082f62c4e65fabf37220b374c7ca74c11fb Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 12 Jun 2023 12:08:25 +1000 Subject: [PATCH 211/318] The Isle (EVRIMA): update app ready regex (#386) --- theisle-evrima.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theisle-evrima.kvp b/theisle-evrima.kvp index 7183c7475..718a44d7e 100644 --- a/theisle-evrima.kvp +++ b/theisle-evrima.kvp @@ -60,7 +60,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=\[\d+m Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\]LogLoad: Took \d+\.\d+ seconds to LoadMap\(\/Game\/TheIsle\/Maps\/Game\/(?:.+)\)$ +Console.AppReadyRegex=^\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\]LogLoad: Took \d+\.\d+ seconds to LoadMap\((?:.+)\)$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ From 4de523de0e91f30866de9dc82bf14546fb6293d8 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Mon, 12 Jun 2023 16:58:24 -0500 Subject: [PATCH 212/318] 7D2D a21 Update (#385) * 7D2D a21 Update Tentative changes for the upcoming a21 release. * Final updates pre-review * Review fixes * Update seven-days-to-dieconfig.json --- seven-days-settings210.xml | 202 +++++++++++++++++++++++++++++++ seven-days-to-die.kvp | 2 +- seven-days-to-dieconfig.json | 120 +++++++++++++++--- seven-days-to-diemetaconfig.json | 27 +---- seven-days-to-dieupdates.json | 54 +-------- 5 files changed, 309 insertions(+), 96 deletions(-) create mode 100644 seven-days-settings210.xml diff --git a/seven-days-settings210.xml b/seven-days-settings210.xml new file mode 100644 index 000000000..1586fa103 --- /dev/null +++ b/seven-days-settings210.xml @@ -0,0 +1,202 @@ +<?xml version="1.0"?> +<ServerSettings> + <!-- GENERAL SERVER SETTINGS --> + <!-- Server representation --> + <property name="ServerName" value="My Amp Host" /> + <!-- Whatever you want the name of the server to be. --> + <property name="ServerDescription" value="An AMP Powered 7 Days to Die server" /> + <!-- Whatever you want the server description to be, will be shown in the server browser. --> + <property name="ServerWebsiteURL" value="https://cubecoders.com/AMP" /> + <!-- Website URL for the server, will be shown in the serverbrowser as a clickable link --> + <property name="ServerPassword" value="" /> + <!-- Password to gain entry to the server --> + <property name="ServerLoginConfirmationText" value="" /> + <!-- If set the user will see the message during joining the server and has to confirm it before continuing. For more complex changes to this window you can change the "serverjoinrulesdialog" window in XUi --> + <property name="Region" value="NorthAmericaEast" /> + <!-- The region this server is in. Values: NorthAmericaEast, NorthAmericaWest, CentralAmerica, SouthAmerica, Europe, Russia, Asia, MiddleEast, Africa, Oceania --> + <property name="Language" value="English" /> + <!-- Primary language for players on this server. Values: Use any language name that you would users expect to search for. Should be the English name of the language, e.g. not "Deutsch" but "German" --> + <!-- Networking --> + <property name="ServerPort" value="26900" /> + <!-- Port you want the server to listen on. Keep it in the ranges 26900 to 26905 or 27015 to 27020 if you want PCs on the same LAN to find it as a LAN server. --> + <property name="ServerVisibility" value="2" /> + <!-- Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP. --> + <property name="ServerDisabledNetworkProtocols" value="SteamNetworking" /> + <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly --> + <property name="ServerMaxWorldTransferSpeedKiBs" value="512" /> + <!-- Maximum (!) speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value. --> + <!-- Slots --> + <property name="ServerMaxPlayerCount" value="8" /> + <!-- Maximum Concurrent Players --> + <property name="ServerReservedSlots" value="0" /> + <!-- Out of the MaxPlayerCount this many slots can only be used by players with a specific permission level --> + <property name="ServerReservedSlotsPermission" value="100" /> + <!-- Required permission level to use reserved slots above --> + <property name="ServerAdminSlots" value="0" /> + <!-- This many admins can still join even if the server has reached MaxPlayerCount --> + <property name="ServerAdminSlotsPermission" value="0" /> + <!-- Required permission level to use the admin slots above --> + <!-- Admin interfaces --> + <property name="WebDashboardEnabled" value="false"/> + <!-- Enable/disable the web dashboard --> + <property name="WebDashboardPort" value="8080"/> + <!-- Port of the web dashboard --> + <property name="WebDashboardUrl" value=""/> + <!-- External URL to the web dashboard if not just using the public IP of the server, e.g. if the web dashboard is behind a reverse proxy. Needs to be the full URL, like "https://domainOfReverseProxy.tld:1234/". Can be left empty if directly using the public IP and dashboard port --> + <property name="EnableMapRendering" value="false"/> + <!-- Enable/disable rendering of the map to tile images while exploring it. This is used e.g. by the web dashboard to display a view of the map. --> + <property name="TelnetEnabled" value="true" /> + <!-- Enable/Disable the telnet --> + <property name="TelnetPort" value="8081" /> + <!-- Port of the telnet server --> + <property name="TelnetPassword" value="Password123" /> + <!-- Password to gain entry to telnet interface. If no password is set the server will only listen on the local loopback interface --> + <property name="TelnetFailedLoginLimit" value="10" /> + <!-- After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface --> + <property name="TelnetFailedLoginsBlocktime" value="10" /> + <!-- How long will the block persist (in seconds) --> + <property name="TerminalWindowEnabled" value="true" /> + <!-- Show a terminal window for log output / command input (Windows only) --> + <!-- Folder and file locations --> + <property name="AdminFileName" value="serveradmin.xml" /> + <!-- Server admin file name. Path relative to the SaveGameFolder --> + <property name="UserDataFolder" value="User" /> + <!-- Use this to override where the server stores all generated data, including RWG generated worlds. Do not forget to uncomment the entry! --> + <!-- <property name="SaveGameFolder" value="Saves" /> --> + <!-- Use this to only override the save game path. Do not forget to uncomment the entry! --> + <!-- Other technical settings --> + <property name="EACEnabled" value="true" /> + <!-- Enables/Disables EasyAntiCheat --> + <property name="HideCommandExecutionLog" value="0" /> + <!-- Hide logging of command execution. 0 = show everything, 1 = hide only from Telnet/ControlPanel, 2 = also hide from remote game clients, 3 = hide everything --> + <property name="MaxUncoveredMapChunksPerPlayer" value="131072" /> + <!-- Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time --> + <property name="PersistentPlayerProfiles" value="false" /> + <!-- If disabled a player can join with any selected profile. If true they will join with the last profile they joined with --> + <!-- GAMEPLAY --> + <!-- World --> + <property name="GameWorld" value="Navezgane" /> + <!-- "RWG" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with e.g. "Navezgane", "PREGEN01", ...) --> + <property name="WorldGenSeed" value="AMP" /> + <!-- If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it --> + <property name="WorldGenSize" value="6144" /> + <!-- If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load --> + <property name="GameName" value="My AMP Game" /> + <!-- Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world --> + <property name="GameMode" value="GameModeSurvival" /> + <!-- GameModeSurvival --> + <!-- Difficulty --> + <property name="GameDifficulty" value="2" /> + <!-- 0 - 5, 0=easiest, 5=hardest --> + <property name="BlockDamagePlayer" value="100" /> + <!-- How much damage do players to blocks (percentage in whole numbers) --> + <property name="BlockDamageAI" value="100" /> + <!-- How much damage do AIs to blocks (percentage in whole numbers) --> + <property name="BlockDamageAIBM" value="100" /> + <!-- How much damage do AIs during blood moons to blocks (percentage in whole numbers) --> + <property name="XPMultiplier" value="100" /> + <!-- XP gain multiplier (percentage in whole numbers) --> + <property name="PlayerSafeZoneLevel" value="5" /> + <!-- If a player is less or equal this level he will create a safe zone (no enemies) when spawned --> + <property name="PlayerSafeZoneHours" value="5" /> + <!-- Hours in world time this safe zone exists --> + <!-- --> + <property name="BuildCreate" value="false" /> + <!-- cheat mode on/off --> + <property name="DayNightLength" value="60" /> + <!-- real time minutes per in game day: 60 minutes --> + <property name="DayLightLength" value="18" /> + <!-- in game hours the sun shines per day: 18 hours day light per in game day --> + <property name="DropOnDeath" value="1" /> + <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all --> + <property name="DropOnQuit" value="0" /> + <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only --> + <property name="BedrollDeadZoneSize" value="15" /> + <!-- Size (box "radius", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared. --> + <property name="BedrollExpiryTime" value="45" /> + <!-- Number of real world days a bedroll stays active after owner was last online --> + <property name="AllowSpawnNearBackpack" value="false"/> + <!-- Allow players to respawn near their last dropped backpack when they die --> + <!-- Performance related --> + <property name="MaxSpawnedZombies" value="64" /> + <!-- This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance. --> + <property name="MaxSpawnedAnimals" value="50" /> + <!-- If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it. --> + <property name="ServerMaxAllowedViewDistance" value="12" /> + <!-- Max viewdistance a client may request (6 - 12). High impact on memory usage and performance. --> + <property name="MaxQueuedMeshLayers" value="1000" /> + <!-- Maximum amount of Chunk mesh layers that can be enqueued during mesh generation. Reducing this will improve memory usage but may increase Chunk generation time --> + <!-- Zombie settings --> + <property name="EnemySpawnMode" value="true" /> + <!-- Enable/Disable enemy spawning --> + <property name="EnemyDifficulty" value="0" /> + <!-- 0 = Normal, 1 = Feral --> + <property name="ZombieFeralSense" value="0" /> + <!-- 0-3 (Off, Day, Night, All) --> + <property name="ZombieMove" value="0" /> + <!-- 0-4 (walk, jog, run, sprint, nightmare) --> + <property name="ZombieMoveNight" value="3" /> + <!-- 0-4 (walk, jog, run, sprint, nightmare) --> + <property name="ZombieFeralMove" value="3" /> + <!-- 0-4 (walk, jog, run, sprint, nightmare) --> + <property name="ZombieBMMove" value="3" /> + <!-- 0-4 (walk, jog, run, sprint, nightmare) --> + <property name="BloodMoonFrequency" value="7" /> + <!-- What frequency (in days) should a blood moon take place. Set to "0" for no blood moons --> + <property name="BloodMoonRange" value="0" /> + <!-- How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in BloodMoonFrequency --> + <property name="BloodMoonWarning" value="8" /> + <!-- The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show. --> + <property name="BloodMoonEnemyCount" value="8" /> + <!-- This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance. --> + <!-- Loot --> + <property name="LootAbundance" value="100" /> + <!-- percentage in whole numbers --> + <property name="LootRespawnDays" value="7" /> + <!-- days in whole numbers --> + <property name="AirDropFrequency" value="72" /> + <!-- How often airdrop occur in game-hours, 0 == never --> + <property name="AirDropMarker" value="true" /> + <!-- Sets if a marker is added to map/compass for air drops. --> + <!-- Multiplayer --> + <property name="PartySharedKillRange" value="100" /> + <!-- The distance you must be within to receive party shared kill xp and quest party kill objective credit. --> + <property name="PlayerKillingMode" value="3" /> + <!-- Player Killing Settings (0 = No Killing, 1 = Kill Allies Only, 2 = Kill Strangers Only, 3 = Kill Everyone) --> + <!-- Land claim options --> + <property name="LandClaimCount" value="3" /> + <!-- Maximum allowed land claims per player. --> + <property name="LandClaimSize" value="41" /> + <!-- Size in blocks that is protected by a keystone --> + <property name="LandClaimDeadZone" value="30" /> + <!-- Keystones must be this many blocks apart (unless you are friends with the other player) --> + <property name="LandClaimExpiryTime" value="7" /> + <!-- The number of real world days a player can be offline before their claims expire and are no longer protected --> + <property name="LandClaimDecayMode" value="0" /> + <!-- Controls how offline players land claims decay. 0=Slow (Linear) , 1=Fast (Exponential), 2=None (Full protection until claim is expired). --> + <property name="LandClaimOnlineDurabilityModifier" value="4" /> + <!-- How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x --> + <property name="LandClaimOfflineDurabilityModifier" value="4" /> + <!-- How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x --> + <property name="LandClaimOfflineDelay" value="0" /> + <!-- The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0 --> + <property name="DynamicMeshEnabled" value="true" /> + <!-- Is Dynamic Mesh system enabled --> + <property name="DynamicMeshLandClaimOnly" value="true" /> + <!-- Is Dynamic Mesh system only active in player LCB areas --> + <property name="DynamicMeshLandClaimBuffer" value="3" /> + <!-- Dynamic Mesh LCB chunk radius --> + <property name="DynamicMeshMaxItemCache" value="3" /> + <!-- How many items can be processed concurrently, higher values use more RAM --> + <property name="TwitchServerPermission" value="90" /> + <!-- Required permission level to use twitch integration on the server --> + <property name="TwitchBloodMoonAllowed" value="false" /> + <!-- If the server allows twitch actions during a blood moon. This could cause server lag with extra zombies being spawned during blood moon. --> + <property name="MaxChunkAge" value="-1"/> + <!-- The number of in-game days which must pass since visiting a chunk before it will reset to its original state if not revisited or protected (e.g. by a land claim or bedroll being in close proximity). --> + <property name="SaveDataLimit" value="-1"/> + <!-- The maximum disk space allowance for each saved game in megabytes (MB). Saved chunks may be forceably reset to their original states to free up space when this limit is reached. Negative values disable the limit. --> + <!-- There are several game settings that you cannot change when starting a new game. + You can use console commands to change at least some of them ingame. + setgamepref BedrollDeadZoneSize 30 --> +</ServerSettings> \ No newline at end of file diff --git a/seven-days-to-die.kvp b/seven-days-to-die.kvp index e63411bfb..d0f712679 100644 --- a/seven-days-to-die.kvp +++ b/seven-days-to-die.kvp @@ -37,7 +37,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Port":26900,"Offset":0,"Range":1,"Ref":"ServerPort","Name":"Server and Steam Port","Description":"Main game traffic and Steam Query port","ChildPorts":null},{"Protocol":"TCP","Port":26901,"Offset":0,"Range":1,"Ref":"ControlPanelPort","Name":"Control Panel Port","Description":"Web panel access port","ChildPorts":null},{"Protocol":"UDP","Port":26902,"Offset":0,"Range":1,"Ref":"AdditionalPort","Name":"Server Additional Port","Description":"Unknown use at this time","ChildPorts":null},{"Protocol":"TCP","Port":27020,"Offset":0,"Range":1,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"RCON traffic port","ChildPorts":null}] +App.Ports=[{"Protocol":"Both","Port":26900,"Offset":0,"Range":1,"Ref":"ServerPort","Name":"Server and Steam Port","Description":"Main game traffic and Steam Query port","ChildPorts":null},{"Protocol":"TCP","Port":26901,"Offset":0,"Range":1,"Ref":"ControlPanelPort","Name":"Control Panel Port","Description":"Web panel access port","ChildPorts":null},{"Protocol":"TCP","Port":26902,"Offset":0,"Range":1,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"RCON traffic port","ChildPorts":null}] App.MaxUsers=8 App.UseRandomAdminPassword=True App.RemoteAdminPassword= diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index 6c9d0c913..c71af7271 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -209,14 +209,14 @@ "True": "true" } },{ - "DisplayName":"Control Panel Enabled", + "DisplayName":"Control Panel / Web Dashboard Enabled", "Category":"7d2d - Server Settings", - "Description":"Enable/Disable the web control panel.", - "Keywords":"Control,Panel,Enabled", + "Description":"Enable/Disable the web control panel / web dashboard.", + "Keywords":"Control,Panel,Web,Dashboard,Enabled", "FieldName":"ControlPanelEnabled", "InputType":"checkbox", "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ControlPanelEnabled']/@value", + "ParamFieldName":"/ServerSettings/property[@name='ControlPanelEnabled']/@value | /ServerSettings/property[@name='WebDashboardEnabled']/@value", "IncludeInCommandLine":false, "DefaultValue":"false", "EnumValues":{ @@ -224,14 +224,14 @@ "True": "true" } },{ - "DisplayName":"Control Panel Port", + "DisplayName":"Control Panel / Web Dashboard Port", "Category":"7d2d - Server Settings", - "Description":"Port of the control panel webpage.", + "Description":"Port of the control panel / web dashboard webpage.", "Keywords":"", "FieldName":"$ControlPanelPort", "InputType":"number", "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ControlPanelPort']/@value", + "ParamFieldName":"/ServerSettings/property[@name='ControlPanelPort']/@value | /ServerSettings/property[@name='WebDashboardPort']/@value", "IncludeInCommandLine":false, "DefaultValue":"8080", "EnumValues":{}, @@ -239,15 +239,43 @@ },{ "DisplayName":"Control Panel Password", "Category":"7d2d - Server Settings", - "Description":"Password to gain entry to the control panel.", + "Description":"Password to gain entry to the control panel. This only applies to game version 20.7 and below.", "Keywords":"Control,Panel,Password", "FieldName":"ControlPanelPassword", - "InputType":"RandomPassword", + "InputType":"password", "IsFlagArgument":false, "ParamFieldName":"/ServerSettings/property[@name='ControlPanelPassword']/@value", "IncludeInCommandLine":false, - "DefaultValue":"CHANGEME", + "DefaultValue":"{{newguid()}}", "EnumValues":{} + },{ + "DisplayName":"Web Dashboard URL", + "Category":"7d2d - Server Settings", + "Description":"External URL to the web dashboard if not just using the public IP of the server, e.g. if the web dashboard is behind a reverse proxy. Needs to be the full URL, like \"https://domainOfReverseProxy.tld:1234/\". Can be left empty if directly using the public IP and dashboard port. Only applies to game version 21.0 and above.", + "Keywords":"Web,Dashboard,URL", + "FieldName":"WebDashboardUrl", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='WebDashboardUrl']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"https://domainOfReverseProxy.tld:1234/", + "EnumValues":{} + },{ + "DisplayName":"Web Dashboard Map Rendering Enabled", + "Category":"7d2d - Server Settings", + "Description":"Enable/disable rendering of the map to tile images while exploring it. This is used e.g. by the web dashboard to display a view of the map.", + "Keywords":"Web,Dashboard,Map,Rendering", + "FieldName":"EnableMapRendering", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='EnableMapRendering']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } },{ "DisplayName":"Telnet Enabled", "Category":"7d2d - Server Settings", @@ -395,7 +423,7 @@ },{ "DisplayName":"World Gen Size", "Category":"7d2d - Gameplay Settings", - "Description":"If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load.", + "Description":"If RWG, this controls the width and height of the created world. Officially supported sizes are between 6144 and 10240 and must be a multiple of 2048, e.g. 6144, 8192, 10240.", "Keywords":"World,Gen,Size", "FieldName":"WorldGenSize", "InputType":"number", @@ -627,6 +655,21 @@ "DefaultValue":"45", "EnumValues":{}, "Suffix": "minutes" + },{ + "DisplayName":"Allow Spawn Near Backpack", + "Category":"7d2d - Gameplay Settings", + "Description":"Allow players to respawn near their last dropped backpack when they die.", + "Keywords":"Allow,Spawn,Near,Backpack", + "FieldName":"AllowSpawnNearBackpack", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='AllowSpawnNearBackpack']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False": "false", + "True": "true" + } },{ "DisplayName":"Max Spawned Zombies", "Category":"7d2d - Gameplay Settings", @@ -673,6 +716,20 @@ "11": "11", "12": "12" } + },{ + "DisplayName":"Max Queued Mesh Layers", + "Category":"7d2d - Gameplay Settings", + "Description":"Maximum amount of Chunk mesh layers that can be enqueued during mesh generation. Reducing this will improve memory usage but may increase Chunk generation time.", + "Keywords":"Max,Queued,Mesh,Layers", + "FieldName":"MaxQueuedMeshLayers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='MaxQueuedMeshLayers']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"1000", + "Placeholder":"1000", + "EnumValues":{}, + "Suffix": "chunks" },{ "DisplayName":"Enemy Spawn Mode", "Category":"7d2d - Gameplay Settings", @@ -893,7 +950,7 @@ "IsFlagArgument":false, "ParamFieldName":"/ServerSettings/property[@name='AirDropMarker']/@value", "IncludeInCommandLine":false, - "DefaultValue":"false", + "DefaultValue":"true", "EnumValues":{ "False": "false", "True": "true" @@ -938,7 +995,7 @@ "IsFlagArgument":false, "ParamFieldName":"/ServerSettings/property[@name='LandClaimCount']/@value", "IncludeInCommandLine":false, - "DefaultValue":"1", + "DefaultValue":"3", "EnumValues":{}, "Suffix": "claims" },{ @@ -1092,10 +1149,10 @@ "EnumValues":{}, "Suffix": "items" },{ - "DisplayName":"TwitchServerPermission", + "DisplayName":"Twitch Server Permission Level", "Category":"7d2d - Gameplay Settings", "Description":"Required permission level to use twitch integration on the server.", - "Keywords":"Twitch,Server,Permission", + "Keywords":"Twitch,Server,Permission,Level", "FieldName":"TwitchServerPermission", "InputType":"number", "IsFlagArgument":false, @@ -1119,6 +1176,36 @@ "False": "false", "True": "true" } + },{ + "DisplayName":"Max Chunk Age", + "Category":"7d2d - Server Settings", + "Description":"The number of in-game days which must pass since visiting a chunk before it will reset to its original state if not revisited or protected (e.g. by a land claim or bedroll being in close proximity).", + "Keywords":"Max,Chunk,Age", + "FieldName":"MaxChunkAge", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='MaxChunkAge']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"-1", + "Placeholder":"-1", + "MinValue":"-1", + "EnumValues":{}, + "Suffix": "days" + },{ + "DisplayName":"Save Data Limit", + "Category":"7d2d - Server Settings", + "Description":"The maximum disk space allowance for each saved game in megabytes (MB). Saved chunks may be forceably reset to their original states to free up space when this limit is reached. Negative values disable the limit.", + "Keywords":"Save,Data,Limit", + "FieldName":"SaveDataLimit", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/ServerSettings/property[@name='SaveDataLimit']/@value", + "IncludeInCommandLine":false, + "DefaultValue":"-1", + "Placeholder":"-1", + "MinValue":"-1", + "EnumValues":{}, + "Suffix": "mb" },{ "DisplayName":"Release Stream", "Category":"SteamCMD and Updates", @@ -1147,7 +1234,8 @@ "seven-days-settings184": "18.4", "seven-days-settings196": "19.6", "seven-days-settings200-203": "20.0 to 20.3", - "seven-days-settings204": "20.4 and Higher", + "seven-days-settings204": "20.4 to 20.7", + "seven-days-settings210": "21.0 and Higher", "seven-days-settings-undead-legacy-stable": "Undead Legacy Stable", "seven-days-settings-undead-legacy-experimental": "Undead Legacy Experimental" } diff --git a/seven-days-to-diemetaconfig.json b/seven-days-to-diemetaconfig.json index b5eed713e..b1b5f784b 100644 --- a/seven-days-to-diemetaconfig.json +++ b/seven-days-to-diemetaconfig.json @@ -1,31 +1,6 @@ [ { - "ConfigFile": "seven-days-settings184.xml", - "AutoMap": true, - "ConfigType": "xml" - }, - { - "ConfigFile": "seven-days-settings196.xml", - "AutoMap": true, - "ConfigType": "xml" - }, - { - "ConfigFile": "seven-days-settings200-203.xml", - "AutoMap": true, - "ConfigType": "xml" - }, - { - "ConfigFile": "seven-days-settings204.xml", - "AutoMap": true, - "ConfigType": "xml" - }, - { - "ConfigFile": "seven-days-settings-undead-legacy-stable.xml", - "AutoMap": true, - "ConfigType": "xml" - }, - { - "ConfigFile": "seven-days-settings-undead-legacy-experimental.xml", + "ConfigFile": "{{ConfigFile}}.xml", "AutoMap": true, "ConfigType": "xml" } diff --git a/seven-days-to-dieupdates.json b/seven-days-to-dieupdates.json index 11798bfb5..7d4bdcda1 100644 --- a/seven-days-to-dieupdates.json +++ b/seven-days-to-dieupdates.json @@ -17,41 +17,9 @@ "UpdateStageName": "Settings File Download", "UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings184.xml", + "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/{{ConfigFile}}.xml", "UpdateSourceTarget": "./294420", "OverwriteExistingFiles": false, - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings184" - }, - { - "UpdateStageName": "Settings File Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings196.xml", - "UpdateSourceTarget": "./294420", - "OverwriteExistingFiles": false, - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings196" - }, - { - "UpdateStageName": "Settings File Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings200-203.xml", - "UpdateSourceTarget": "./294420", - "OverwriteExistingFiles": false, - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings200-203" - }, - { - "UpdateStageName": "Settings File Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings204.xml", - "UpdateSourceTarget": "./294420", - "OverwriteExistingFiles": false, - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings204" }, { "UpdateStageName": "UMOD Windows", @@ -79,26 +47,6 @@ "UpdateSourceConditionValue": "true", "DeleteAfterExtract": true }, - { - "UpdateStageName": "Settings File Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings-undead-legacy-stable.xml", - "UpdateSourceTarget": "./294420", - "OverwriteExistingFiles": false, - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-stable" - }, - { - "UpdateStageName": "Settings File Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/seven-days-settings-undead-legacy-experimental.xml", - "UpdateSourceTarget": "./294420", - "OverwriteExistingFiles": false, - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-experimental" - }, { "UpdateStageName": "Download Undead Legacy Stable", "UpdateSourcePlatform": "All", From 7a3e61626aefc0114abd5a0eb6d9c993c8e60ca1 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 14 Jun 2023 15:12:01 +1000 Subject: [PATCH 213/318] Pavlov VR: update stage updates (#387) --- pavlov-vr.kvp | 6 ++--- pavlov-vrupdates.json | 61 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 3 deletions(-) create mode 100755 pavlov-vrupdates.json diff --git a/pavlov-vr.kvp b/pavlov-vr.kvp index 5268535e9..2c2e0bac6 100755 --- a/pavlov-vr.kvp +++ b/pavlov-vr.kvp @@ -64,7 +64,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"622970","UpdateSourceArgs":"555160","UpdateSourceVersion":"{{ServerVersion}}"},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/Logs","OverwriteExistingFiles":false},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/Config/LinuxServer","OverwriteExistingFiles":false},{"UpdateStageName":"Create Maps Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/maps","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/pavlov-vrconfigfile.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Pavlov/Saved/Config/LinuxServer","OverwriteExistingFiles":false}] +App.UpdateSources=@IncludeJson[pavlov-vrupdates.json] App.PreStartStages=[] App.Compatibility=None App.SteamUpdateAnonymousLogin=True @@ -80,8 +80,8 @@ App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=(\[0m|\[33m) Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogGameState: Match State Changed from WaitingToStart to InProgress$ +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|.*PavlovOnlineLog: Warning: \[EOS\] Failed to copy IdToken$ +Console.AppReadyRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\](LogGameState|LogGameMode: Display): Match State Changed from WaitingToStart to InProgress$ Console.UserJoinRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]PavlovLog: Player (?<userid>.+?) Joined, current bot Num = \d+$ Console.UserLeaveRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogNet: UChannel::Close: Sending CloseBunch\. (?:.*?) UniqueId: NULL:(?<userid>.+?)$ Console.UserChatRegex=^$ diff --git a/pavlov-vrupdates.json b/pavlov-vrupdates.json new file mode 100755 index 000000000..0d7dd2f2f --- /dev/null +++ b/pavlov-vrupdates.json @@ -0,0 +1,61 @@ +[ + { + "UpdateStageName":"PC Server Binary Symlink Removal", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'rm {{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer'" + }, + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"622970", + "UpdateSourceArgs":"555160", + "UpdateSourceVersion":"{{ServerVersion}}" + }, + { + "UpdateStageName":"Create Logs Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/Logs", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Config Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/Config/LinuxServer", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Maps Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/maps", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Config File Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/pavlov-vrconfigfile.ini", + "UpdateSourceArgs":"Game.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}Pavlov/Saved/Config/LinuxServer", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"PC Server Binary Symlink Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/ln", + "UpdateSourceArgs":"-s {{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer-Linux-Shipping {{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer" + }, + { + "UpdateStageName":"Shared Library Symlink Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/ln", + "UpdateSourceArgs":"-sf /usr/lib/x86_64-linux-gnu/libc++.so.1 {{$FullBaseDir}}linux64/libc++.so" + } +] \ No newline at end of file From 05d1e563b61c79cb68dd4adb673755367333477a Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 14 Jun 2023 15:56:13 +1000 Subject: [PATCH 214/318] Slight command line tweak (#388) --- pavlov-vr.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pavlov-vr.kvp b/pavlov-vr.kvp index 2c2e0bac6..77a148741 100755 --- a/pavlov-vr.kvp +++ b/pavlov-vr.kvp @@ -32,7 +32,7 @@ App.ExecutableLinux=622970/Pavlov/Binaries/Linux/PavlovServer App.WorkingDir=622970 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -PORT={{$ApplicationPort1}} {{$FormattedArgs}} -stdout -forcelogflush +App.CommandLineArgs=Pavlov -PORT={{$ApplicationPort1}} {{$FormattedArgs}} -stdout -forcelogflush App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"555160"} From 6fc1ec484c4cab66889a9e9ba1cc14105b59805c Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 15 Jun 2023 06:27:54 +1000 Subject: [PATCH 215/318] Satisfactory update stages (#389) --- satisfactory.kvp | 2 +- satisfactoryupdates.json | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 satisfactoryupdates.json diff --git a/satisfactory.kvp b/satisfactory.kvp index 36738c376..baa0d067f 100644 --- a/satisfactory.kvp +++ b/satisfactory.kvp @@ -21,7 +21,7 @@ App.HasWritableConsole=true App.RapidStartup=false App.RootDir=./satisfactory/ App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "1690800", "UpdateSourceArgs": "526870", "UpdateSourceVersion": "{{releasestream}}"},{"UpdateStageName": "SteamCMD Component Download","UpdateSourcePlatform": "Windows", "UpdateSource": "SteamCMD", "UpdateSourceData": "1007", "UpdateSourceTarget": "1690800/FactoryGame/Binaries/Win64"}] +App.UpdateSources=@IncludeJson[satisfactoryupdates.json] App.WorkingDir=1690800 Console.FilterMatchRegex=^\[.+?\]\[.+?\] Console.FilterMatchReplacement= diff --git a/satisfactoryupdates.json b/satisfactoryupdates.json new file mode 100644 index 000000000..8530444e6 --- /dev/null +++ b/satisfactoryupdates.json @@ -0,0 +1,37 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1690800", + "UpdateSourceArgs":"526870", + "UpdateSourceVersion":"{{releasestream}}" + }, + { + "UpdateStageName":"SteamCMD Component Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1007", + "UpdateSourceTarget":"1690800/FactoryGame/Binaries/Win64" + }, + { + "UpdateStageName":"Create Experimental Binary Copy", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Engine/Binaries/Linux/UE4Server-Linux-Shipping", + "UpdateSourceArgs":"{{$FullBaseDir}}Engine/Binaries/Linux/UnrealServer-Linux-Shipping", + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"releasestream", + "UpdateSourceConditionValue":"experimental" + }, + { + "UpdateStageName":"Create Experimental Binary Copy", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Engine/Binaries/Win64/UE4Server-Win64-Shipping.exe", + "UpdateSourceArgs":"{{$FullBaseDir}}Engine/Binaries/Win64/UnrealServer-Win64-Shipping.exe", + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"releasestream", + "UpdateSourceConditionValue":"experimental" + } +] \ No newline at end of file From 8df70ee84a5a538bd4c8250e55ccd8680f49625b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 15 Jun 2023 22:30:10 +1000 Subject: [PATCH 216/318] Failsafe paths (#390) --- pavlov-vrupdates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pavlov-vrupdates.json b/pavlov-vrupdates.json index 0d7dd2f2f..2965c3c78 100755 --- a/pavlov-vrupdates.json +++ b/pavlov-vrupdates.json @@ -49,13 +49,13 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/ln", - "UpdateSourceArgs":"-s {{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer-Linux-Shipping {{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer" + "UpdateSourceArgs":"-s \"{{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer-Linux-Shipping\" \"{{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer\"" }, { "UpdateStageName":"Shared Library Symlink Creation", "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/ln", - "UpdateSourceArgs":"-sf /usr/lib/x86_64-linux-gnu/libc++.so.1 {{$FullBaseDir}}linux64/libc++.so" + "UpdateSourceArgs":"-sf /usr/lib/x86_64-linux-gnu/libc++.so.1 \"{{$FullBaseDir}}linux64/libc++.so\"" } ] \ No newline at end of file From 2aa92d8d19791650eb4ad8ee149b4a3e406ca689 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 15 Jun 2023 22:30:50 +1000 Subject: [PATCH 217/318] Add new prospect names (#391) --- icarusconfig.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/icarusconfig.json b/icarusconfig.json index d14693ce9..77f6ab42d 100644 --- a/icarusconfig.json +++ b/icarusconfig.json @@ -227,6 +227,7 @@ "STYX_C_Extermination":"Extermination: Ballistic", "Tier4_Arctic_Extermination_0":"Extermination: Clean Up", "Tier4_Desert_Extermination_0":"Extermination: Dust Up", + "STYX_B_Extermination2":"Extermination: Encroachment", "STYX_B_Extermination":"Extermination: Halcyon", "STYX_A_Extermination":"Extermination: Husk", "Tier1_Forest_Extermination_0":"Extermination: Kill List", @@ -256,6 +257,7 @@ "Tier5_Omni_Research_2":"Research: Cryogenic", "STYX_E_Research":"Research: Flatline", "STYX_D_Research":"Research: Gossamer", + "STYX_B_Research":"Research: Ironclad", "Tier4_Desert_Research_0":"Research: Nightwatch", "Tier2_Glacier_Research_0":"Research: Resurgence", "Tier1_Forest_Research_0":"Research: Strange Harvest", From b65abb7bc9d145e95aac1c2081fa686ba4e52513 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 19 Jun 2023 15:58:19 +1000 Subject: [PATCH 218/318] PZ: change password setting input types (#395) --- project-zomboidconfig.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/project-zomboidconfig.json b/project-zomboidconfig.json index da284ecb1..a110c50d8 100755 --- a/project-zomboidconfig.json +++ b/project-zomboidconfig.json @@ -102,7 +102,7 @@ "Description":"In-game \"admin\" user password (not the server password). Set before first running the server, or you will be prompted to do so in the console", "Keywords":"admin,password", "FieldName":"adminpassword", - "InputType":"RandomPassword", + "InputType":"password", "IsFlagArgument":false, "ParamFieldName":"adminpassword", "IncludeInCommandLine":true, @@ -113,14 +113,14 @@ { "DisplayName":"RCON Password", "Category":"PZ Server Settings", - "Description":"Password to connect to RCON. NOTE: You should change this after first installing the server", + "Description":"Password to connect to RCON. Default is a random, strong password", "Keywords":"rcon,password", "FieldName":"RCONPassword", - "InputType":"RandomPassword", + "InputType":"password", "IsFlagArgument":false, "ParamFieldName":"RCONPassword", "IncludeInCommandLine":false, - "DefaultValue":"Password123", + "DefaultValue":"{{newguid()}}", "EnumValues":{} }, { From 1e6ebf0db044e93d7d26892ff1f30eb82b398b74 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 20 Jun 2023 18:48:15 +1000 Subject: [PATCH 219/318] Path of Titans: fix technical name for Gondwa map (#398) --- path-of-titansconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/path-of-titansconfig.json b/path-of-titansconfig.json index 4f0a2bd1f..f1193ee7f 100644 --- a/path-of-titansconfig.json +++ b/path-of-titansconfig.json @@ -160,7 +160,7 @@ "DefaultValue":"Panjura", "EnumValues":{ "Panjura":"Panjura (default)", - "Gondwa":"Gondwa", + "Island":"Gondwa", "{{CustomMap}}":"Custom" } }, @@ -270,7 +270,7 @@ { "DisplayName":"Server Admins", "Category":"POT Server Settings", - "Description":"Server admins can be specified in Game.ini by their Alderon Games IDs. Format is \"ServerAdmins=123-456-789\" in the [/Script/PathOfTitans.IGameSession] section. One admin per line", + "Description":"Server admins can be specified in Game.ini by their Alderon Games IDs. Format is \"ServerAdmins=123-456-789\" (don't include quotes) in the [/Script/PathOfTitans.IGameSession] section. Add the section heading if needed. One admin per line", "Keywords":"server,admins,serveradmins", "FieldName":"POTServerAdmins", "InputType":"hidden", From 2bbabc3c41b826b78f7cf7a69b5f17e445cdc61b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 20 Jun 2023 20:36:29 +1000 Subject: [PATCH 220/318] Path of Titans: setting description consistency tweaks (#399) --- path-of-titansconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/path-of-titansconfig.json b/path-of-titansconfig.json index f1193ee7f..00f4040c5 100644 --- a/path-of-titansconfig.json +++ b/path-of-titansconfig.json @@ -578,7 +578,7 @@ { "DisplayName":"Dinosaur Disabling", "Category":"POT Gameplay Settings", - "Description":"If desired, all dinosaurs except certain listed dinosaurs can be disabled on the server, by including relevant entries in Game.ini. As per [these instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Enabling-and-Disabling-Dinosaurs), format is \"+AllowedCharacters=DinosaurName\" in the [/Script/PathOfTitans.IGameSession] section", + "Description":"If desired, all dinosaurs except certain listed dinosaurs can be disabled on the server, by including relevant entries in Game.ini. As per [these instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Enabling-and-Disabling-Dinosaurs), format is \"+AllowedCharacters=DinosaurName\" (don't include quotes) in the [/Script/PathOfTitans.IGameSession] section. Add the section heading if needed. One dinosaur per line", "Keywords":"disable,dinosaurs,allowed,characters,allowedcharacters", "FieldName":"AllowedCharacters", "InputType":"hidden", From 0e41bae87b43805ec413721b13f19e2bcabac29a Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 21 Jun 2023 06:36:58 +1000 Subject: [PATCH 221/318] Path of Titans: clarify setting description (#401) --- path-of-titansconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/path-of-titansconfig.json b/path-of-titansconfig.json index 00f4040c5..980ac7594 100644 --- a/path-of-titansconfig.json +++ b/path-of-titansconfig.json @@ -578,7 +578,7 @@ { "DisplayName":"Dinosaur Disabling", "Category":"POT Gameplay Settings", - "Description":"If desired, all dinosaurs except certain listed dinosaurs can be disabled on the server, by including relevant entries in Game.ini. As per [these instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Enabling-and-Disabling-Dinosaurs), format is \"+AllowedCharacters=DinosaurName\" (don't include quotes) in the [/Script/PathOfTitans.IGameSession] section. Add the section heading if needed. One dinosaur per line", + "Description":"If desired, all dinosaurs except certain listed dinosaurs can be disabled on the server, by including relevant entries in Game.ini. As per [these instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Enabling-and-Disabling-Dinosaurs), format is \"AllowedCharacters=DinosaurName\" (don't include quotes or + at the beginning) in the [/Script/PathOfTitans.IGameSession] section. Add the section heading if needed. One dinosaur per line", "Keywords":"disable,dinosaurs,allowed,characters,allowedcharacters", "FieldName":"AllowedCharacters", "InputType":"hidden", From 7241c62480ac41f05283ba3fe012f4b36782e9d6 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 21 Jun 2023 13:51:56 +1000 Subject: [PATCH 222/318] Add Staxel (#394) --- staxel.kvp | 98 ++++++++++++++++++++++++ staxelconfig.json | 169 ++++++++++++++++++++++++++++++++++++++++++ staxelmetaconfig.json | 1 + staxelupdates.json | 17 +++++ 4 files changed, 285 insertions(+) create mode 100644 staxel.kvp create mode 100644 staxelconfig.json create mode 100644 staxelmetaconfig.json create mode 100644 staxelupdates.json diff --git a/staxel.kvp b/staxel.kvp new file mode 100644 index 000000000..c7cea4a72 --- /dev/null +++ b/staxel.kvp @@ -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 diff --git a/staxelconfig.json b/staxelconfig.json new file mode 100644 index 000000000..80eba8da7 --- /dev/null +++ b/staxelconfig.json @@ -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" + } + } +] \ No newline at end of file diff --git a/staxelmetaconfig.json b/staxelmetaconfig.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/staxelmetaconfig.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/staxelupdates.json b/staxelupdates.json new file mode 100644 index 000000000..29c5198d8 --- /dev/null +++ b/staxelupdates.json @@ -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'" + } +] \ No newline at end of file From 391eacb472f47373388e10dc16d2a7bb03201570 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 21 Jun 2023 15:17:14 +1000 Subject: [PATCH 223/318] Space Engineers: add Linux support (#400) --- space-engineers-generic.kvp | 39 ++++++--- space-engineers-genericupdates.json | 123 +++++++++++++++------------ space-engineers-genericwinescript.sh | 33 +++++++ 3 files changed, 128 insertions(+), 67 deletions(-) create mode 100644 space-engineers-genericwinescript.sh diff --git a/space-engineers-generic.kvp b/space-engineers-generic.kvp index 5fbf42e42..144c86399 100644 --- a/space-engineers-generic.kvp +++ b/space-engineers-generic.kvp @@ -1,32 +1,39 @@ Meta.DisplayName=Space Engineers Meta.Description=Space Engineers Dedicated Server -Meta.OS=Windows +Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown Meta.Arch=x86_64 -Meta.Author=IceOfWraith, CubeCoders(base) +Meta.Author=IceOfWraith, Greelan, CubeCoders(base) Meta.URL=https://store.steampowered.com/app/244850/Space_Engineers/ Meta.DisplayImageSource=steam:244850 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort1} Meta.ConfigManifest=space-engineers-genericconfig.json Meta.MetaConfigManifest=space-engineers-genericmetaconfig.json Meta.ConfigRoot=space-engineers-generic.kvp -Meta.MinAMPVersion=2.4.0.10 -Meta.SpecificDockerImage= +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 Meta.DockerRequired=False -Meta.ContainerPolicy=NotSupported -Meta.ContainerPolicyReason=This game has dependencies that are not currently supported by AMP. +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 8 (or later), Xvfb and cabextract to install and run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=False +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= App.DisplayName=Space Engineers App.RootDir=./space-engineers-generic/ App.BaseDirectory=./space-engineers-generic/298740/ +App.SteamWorkshopDownloadLocation= App.ExecutableWin=298740\DedicatedServer64\SpaceEngineersDedicated.exe -App.ExecutableLinux= +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=298740/DedicatedServer64 -App.LinuxCommandLineArgs= +App.LinuxCommandLineArgs="./SpaceEngineersDedicated.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -console -path "{{$FullBaseDir}}servers" {{$FormattedArgs}} +App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"244850","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" @@ -47,29 +54,33 @@ App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 App.UniversalSleepSteamQueryPortRef=ApplicationPort2 App.MaxUsers=4 App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 +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[space-engineers-genericupdates.json] +App.PreStartStages=[] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False +App.MonitorChildProcess=True +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=SpaceEngineersDedicated.exe App.SupportsUniversalSleep=True App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=3000 -App.MonitorChildProcessName=wine64 Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|.+\|WARN\|GameAnalyticsSDK\.Net\.Logging\.GALogger\|Warning\/GameAnalytics: Event queue: Failed to send events to collector - Retrying next time$ Console.AppReadyRegex=^\d+\-\d+\-\d+ \d+\:\d+\:\d+.\d+\: Game ready.*$ Console.UserJoinRegex=^\d+\-\d+\-\d+ \d+\:\d+\:\d+.\d+\: World request received: (?<username>.+?)$ Console.UserLeaveRegex=^\d+\-\d+\-\d+ \d+\:\d+\:\d+.\d+\: User left (?<username>.+?)$ diff --git a/space-engineers-genericupdates.json b/space-engineers-genericupdates.json index a201d42d5..52ddebbfe 100644 --- a/space-engineers-genericupdates.json +++ b/space-engineers-genericupdates.json @@ -1,57 +1,74 @@ [ { - "UpdateStageName": "SteamCMD Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "298740", - "UpdateSourceArgs": "244850", - "UpdateSourceVersion": "{{Stream}}" - }, - { - "UpdateStageName": "Create Config Directory", - "UpdateSourcePlatform": "All", - "UpdateSource": "CreateDirectory", - "UpdateSourceArgs": "{{$FullBaseDir}}servers", - "OverwriteExistingFiles": false - }, - { - "UpdateStageName": "Base Config Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/space-engineers-dedicated.cfg", - "UpdateSourceTarget": "{{$FullBaseDir}}servers", - "UpdateSourceArgs": "SpaceEngineers-Dedicated.cfg", - "OverwriteExistingFiles": false - }, - { - "UpdateStageName": "Mods Workaround 1", - "UpdateSourcePlatform": "All", - "UpdateSource": "CopyFilePath", - "UpdateSourceData": "{{$FullBaseDir}}DedicatedServer64/steamclient64.dll", - "UpdateSourceArgs": "{{$FullBaseDir}}steamclient64.dll", - "OverwriteExistingFiles": true - }, - { - "UpdateStageName": "Mods Workaround 2", - "UpdateSourcePlatform": "All", - "UpdateSource": "CopyFilePath", - "UpdateSourceData": "{{$FullBaseDir}}DedicatedServer64/tier0_s64.dll", - "UpdateSourceArgs": "{{$FullBaseDir}}tier0_s64.dll", - "OverwriteExistingFiles": true - }, - { - "UpdateStageName": "Mods Workaround 3", - "UpdateSourcePlatform": "All", - "UpdateSource": "CopyFilePath", - "UpdateSourceData": "{{$FullBaseDir}}DedicatedServer64/vstdlib_s64.dll", - "UpdateSourceArgs": "{{$FullBaseDir}}vstdlib_s64.dll", - "OverwriteExistingFiles": true - }, - { - "UpdateStageName":" Initialise Wine", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Executable", - "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"298740", + "UpdateSourceArgs":"244850", + "UpdateSourceVersion":"{{Stream}}", + "ForceDownloadPlatform":"Windows" + }, + { + "UpdateStageName":"Create Config Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}servers", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Base Config Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/space-engineers-dedicated.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}servers", + "UpdateSourceArgs":"SpaceEngineers-Dedicated.cfg", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Mods Workaround 1", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}DedicatedServer64/steamclient64.dll", + "UpdateSourceArgs":"{{$FullBaseDir}}steamclient64.dll", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Mods Workaround 2", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}DedicatedServer64/tier0_s64.dll", + "UpdateSourceArgs":"{{$FullBaseDir}}tier0_s64.dll", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Mods Workaround 3", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}DedicatedServer64/vstdlib_s64.dll", + "UpdateSourceArgs":"{{$FullBaseDir}}vstdlib_s64.dll", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 WINEDEBUG=-all WINEDLLOVERRIDES=\"mscoree,mshtml=\" /usr/bin/wineboot --init --update'" + }, + { + "UpdateStageName":"Winescript Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/space-engineers-genericwinescript.sh", + "UpdateSourceArgs":"winescript.sh", + "UpdateSourceTarget":"{{$FullInstanceDir}}", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Install Windows Components", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"./winescript.sh" } ] diff --git a/space-engineers-genericwinescript.sh b/space-engineers-genericwinescript.sh new file mode 100644 index 000000000..16f13037f --- /dev/null +++ b/space-engineers-genericwinescript.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +SCRIPT_NAME=$(echo \"$0\" | xargs readlink -f) +SCRIPTDIR=$(dirname "$SCRIPT_NAME") + +exec 6>display.log +/usr/bin/Xvfb -displayfd 6 & +XVFB_PID=$! +while [[ ! -s display.log ]]; do + sleep 1 +done +read -r DPY_NUM < display.log +rm display.log + +wget -N https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks +chmod +x winetricks + +export WINEPREFIX="$SCRIPTDIR/space-engineers-generic/.wine" +export WINEDLLOVERRIDES="mscoree,mshtml=" +export WINEARCH=win64 +export WINEDEBUG=fixme-all +export DISPLAY=:$DPY_NUM +./winetricks corefonts > winescript_log.txt 2>&1 +./winetricks sound=disabled >> winescript_log.txt 2>&1 +./winetricks -q vcrun2013 >> winescript_log.txt 2>&1 +./winetricks -q vcrun2019 >> winescript_log.txt 2>&1 +./winetricks -q dotnet48 >> winescript_log.txt 2>&1 +rm -rf ~/.cache/winetricks ~/.cache/fontconfig + +exec 6>&- +kill $XVFB_PID + +exit 0 From d1065bc09a5c2fb030e0a4262d1ffe7f82d9016a Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 21 Jun 2023 15:50:30 +1000 Subject: [PATCH 224/318] Add TShock (#392) --- exclusions/.backupExclusionsTShock | 9 + tshock.kvp | 98 ++ tshockconfig.json | 2363 ++++++++++++++++++++++++++++ tshockmetaconfig.json | 20 + tshockserverconfig.json | 148 ++ tshockupdates.json | 119 ++ 6 files changed, 2757 insertions(+) create mode 100644 exclusions/.backupExclusionsTShock create mode 100644 tshock.kvp create mode 100644 tshockconfig.json create mode 100644 tshockmetaconfig.json create mode 100644 tshockserverconfig.json create mode 100644 tshockupdates.json diff --git a/exclusions/.backupExclusionsTShock b/exclusions/.backupExclusionsTShock new file mode 100644 index 000000000..7246f479d --- /dev/null +++ b/exclusions/.backupExclusionsTShock @@ -0,0 +1,9 @@ +bin +dotnet +i18n +ServerPlugins +GeoIP.dat +TShock.Installer +TShock.Installer.exe +TShock.Server +TShock.Server.exe diff --git a/tshock.kvp b/tshock.kvp new file mode 100644 index 000000000..9c149f2d2 --- /dev/null +++ b/tshock.kvp @@ -0,0 +1,98 @@ +Meta.DisplayName=TShock - Terraria Server +Meta.Description=TShock Dedicated Server for Terraria +Meta.OS=Windows, Linux +Meta.AarchSupport=Native +Meta.Arch=All +Meta.Author=Greelan +Meta.URL=https://ikebukuro.tshock.co/#/ +Meta.DisplayImageSource=steam:105600 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=tshockconfig.json +Meta.MetaConfigManifest=tshockmetaconfig.json +Meta.ConfigRoot=tshock.kvp +Meta.MinAMPVersion=2.4.3.6 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=SupportedOnLinux, RecommendedOnWindows +Meta.ContainerPolicyReason=AMP's console is unable to provide input on Windows for TShock. It is able to do so on Linux, therefore Docker is recommended on Windows. +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= +App.DisplayName=TShock +App.RootDir=./tshock-server/ +App.BaseDirectory=./tshock-server/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin=TShock.Server.exe +App.ExecutableLinux=TShock.Server +App.WorkingDir= +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -port {{$ServerPort}} -ip {{$ApplicationIPBinding}} -world "Worlds/{{world}}" -worldselectpath "{{$FullBaseDir}}Worlds" -configpath "{{$FullBaseDir}}tshock" -logpath "tshock/logs" {{disableannouncementbox}}{{secure}}{{noupnp}}{{forceupdate}}{{ignoreversion}}{{$FormattedArgs}} {{CustomServerArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"105600","DOTNET_ROOT":"{{$FullBaseDir}}dotnet"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=exit +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":7777,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":7878,"Ref":"RESTAPIPort","Name":"Rest API Port","Description":"Port for REST API"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=8 +App.UseRandomAdminPassword=False +App.PersistRandomPassword=False +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[tshockupdates.json] +App.PreStartStages=[] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=True +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^??Error Logging Enabled.$ +Console.AppReadyRegex=^Listening on port (\d+)$ +Console.UserJoinRegex=^(?<username>.+?) has joined\.$ +Console.UserLeaveRegex=^(?<username>.+?) has left\.$ +Console.UserChatRegex=^<(?<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 diff --git a/tshockconfig.json b/tshockconfig.json new file mode 100644 index 000000000..069da9847 --- /dev/null +++ b/tshockconfig.json @@ -0,0 +1,2363 @@ +[ + { + "DisplayName":"Server Port", + "Category":"TShock Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ServerPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ServerPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"REST API Port", + "Category":"TShock Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$RESTAPIPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RestApiPort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Ban List", + "Category":"TShock Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"banlist", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"banlist", + "IncludeInCommandLine":true, + "DefaultValue":"banlist.txt", + "EnumValues":{} + }, + { + "DisplayName":"Log Path", + "Category":"TShock Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"logpath", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.LogPath", + "IncludeInCommandLine":false, + "DefaultValue":"tshock/logs", + "EnumValues":{} + }, + { + "DisplayName":"World Name", + "Category":"TShock Server Settings", + "Keywords":"world,name,generate,worldname", + "Description":"Unless \"Use Server Name For World Name\" is enabled, sets the name of a newly generated world. The world save file will be named accordingly in the Worlds directory. If the save file already exists and is not loaded under World Save Name, then an incrementally numbered save file will be created", + "FieldName":"worldname", + "InputType":"text", + "ParamFieldName":"worldname", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"World", + "Placeholder":"World", + "EnumValues":{} + }, + { + "DisplayName":"World Save Name", + "Category":"TShock Server Settings", + "Keywords":"world,save,name,load,worldname", + "Description":"Specifies the world save file in the Worlds directory to load on start. Creates the specified file if no World Name is set or \"Use Server Name For World Name\" is enabled. Creates a default world save file if otherwise unspecified", + "FieldName":"world", + "InputType":"text", + "ParamFieldName":"world", + "IncludeInCommandLine":false, + "DefaultValue":"World.wld", + "Placeholder":"World.wld", + "EnumValues":{} + }, + { + "DisplayName":"World Seed", + "Category":"TShock Server Settings", + "Description":"Sets the world seed to use for a newly generated world. Blank = random seed", + "Keywords":"world,seed", + "FieldName":"seed", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"seed", + "IncludeInCommandLine":true, + "DefaultValue":"Powered By AMP", + "Placeholder":"Powered By AMP", + "EnumValues":{} + }, + { + "DisplayName":"World Size", + "Category":"TShock Server Settings", + "Description":"Sets the size of a newly generated world", + "Keywords":"world,size,autocreate", + "FieldName":"autocreate", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"autocreate", + "IncludeInCommandLine":true, + "DefaultValue":"3", + "EnumValues":{ + "1":"Small", + "2":"Medium", + "3":"Large (default)" + } + }, + { + "DisplayName":"World Difficulty Level", + "Category":"TShock Server Settings", + "Description":"Sets the difficulty level of a newly generated world", + "Keywords":"difficulty,normal,expert,master,journey", + "FieldName":"difficulty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"difficulty", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "EnumValues":{ + "0":"Normal (default)", + "1":"Expert", + "2":"Master", + "3":"Journey" + } + }, + { + "DisplayName":"World Evil", + "Category":"TShock Server Settings", + "Description":"Sets the evil state for a newly generated world", + "Keywords":"world,evil,state,worldevil", + "FieldName":"worldevil", + "InputType":"enum", + "ParamFieldName":"worldevil", + "IncludeInCommandLine":true, + "DefaultValue":"random", + "EnumValues":{ + "random":"Random (default)", + "corrupt":"Corrupt", + "crimson":"Crimson" + } + }, + { + "DisplayName":"Server Name", + "Category":"TShock Server Settings", + "Description":"Sets the name of the server shown publicly", + "Keywords":"server,name,servername", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered TShock Server", + "EnumValues":{} + }, + { + "DisplayName":"Use Server Name For World Name", + "Category":"TShock Server Settings", + "Description":"If set, the Server Name will be used as the world name of a newly generated world, with the world save file named as specified under World Save Name", + "Keywords":"world,name,useservername", + "FieldName":"UseServerName", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.UseServerName", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"MOTD", + "Category":"TShock Server Settings", + "Description":"Sets the server's [MOTD](https://ikebukuro.tshock.co/#/motd) (message of the day)", + "Keywords":"motd,welcome,message", + "FieldName":"motd", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"motd", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to [c/ffff00:%map%] on [c/7ddff8:T][c/81dbf6:S][c/86d7f4:h][c/8ad3f3:o][c/8ecef1:c][c/93caef:k] for [c/55d284:T][c/62d27a:e][c/6fd16f:r][c/7cd165:r][c/89d15a:a][c/95d150:r][c/a4d145:i][c/b1d03b:a].\n[c/FFFFFF:Online players (%onlineplayers%/%serverslots%):] [c/FFFF00:%players%]\nType [c/55D284:%specifier%][c/62D27A:h][c/6FD16F:e][c/7CD165:l][c/89D15A:p] for a list of commands.", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"TShock 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, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"TShock Server Settings", + "Keywords":"", + "Description":"", + "FieldName":"password", + "InputType":"password", + "Hidden":true, + "ParamFieldName":"$.Settings.ServerPassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server IP Binding", + "Category":"TShock 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", + "Keywords":"ip,binding", + "FieldName":"ip", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"ip", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable Anti-Spam", + "Category":"TShock Server Settings", + "Description":"If set, enables the server's anti-spam feature", + "Keywords":"secure,anti-spam", + "FieldName":"secure", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"secure", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-secure " + } + }, + { + "DisplayName":"Server Language", + "Category":"TShock Server Settings", + "Description":"Sets the language of the server", + "Keywords":"language,lang", + "FieldName":"lang", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"lang", + "IncludeInCommandLine":true, + "DefaultValue":"en_US", + "EnumValues":{ + "en_US":"English (default)", + "en_PT":"Pirate English", + "fr_QC":"Canadian French", + "zh_Hans":"Chinese", + "zh_CN":"Chinese (simplified)", + "fr_FR":"French", + "de_DE":"German", + "id_ID":"Indonesian", + "it_IT":"Italian", + "ja_JP":"Japanese", + "pl_PL":"Polish", + "pt_PT":"Portuguese", + "pt_BR":"Portuguese (Brazil)", + "ru_RU":"Russian", + "es_ES":"Spanish", + "tok":"Toki Pona", + "tr_TR":"Turkish", + "ru_UA":"Ukrainian" + } + }, + { + "DisplayName":"Disable Announcement Box", + "Category":"TShock Server Settings", + "Description":"If set, disables the text announcements that the Announcement Box makes when pulsed from wire", + "Keywords":"disable,announcement,box,disableannouncementbox", + "FieldName":"disableannouncementbox", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"disableannouncementbox", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-disableannouncementbox " + } + }, + { + "DisplayName":"Announcement Box Range", + "Category":"TShock Server Settings", + "Description":"Sets the Announcement Box text messaging range. -1 = serverwide announcements", + "Keywords":"announcement,box,range,pixels,announcementboxrange", + "FieldName":"announcementboxrange", + "InputType":"number", + "MinValue":"-1", + "IsFlagArgument":false, + "ParamFieldName":"announcementboxrange", + "IncludeInCommandLine":true, + "DefaultValue":"-1", + "Placeholder":"-1", + "Suffix":"pixels", + "EnumValues":{} + }, + { + "DisplayName":"Enable Autosave", + "Category":"TShock Server Settings", + "Description":"If set, the server’s backup autosave will be enabled. Backups are stored in the tshock/backups folder", + "Keywords":"auto,save,autosave", + "FieldName":"AutoSave", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AutoSave", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Announce Autosaves", + "Category":"TShock Server Settings", + "Description":"If set, world autosave announcements will be enabled", + "Keywords":"announce,auto,save,autosave,announcesave", + "FieldName":"AnnounceSave", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AnnounceSave", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Show Autosave Messages", + "Category":"TShock Server Settings", + "Description":"If set, backup autosave messages will be shown", + "Keywords":"auto,save,autosave,message,showbackupautosavemessages", + "FieldName":"ShowBackupAutosaveMessages", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ShowBackupAutosaveMessages", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Backup Interval", + "Category":"TShock Server Settings", + "Description":"Sets the interval between backup autosaves", + "Keywords":"backup,interval,backupinterval", + "FieldName":"BackupInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.BackupInterval", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Backup Retention Period", + "Category":"TShock Server Settings", + "Description":"Sets how long backup autosaves are kept", + "Keywords":"backup,retention,period,backupkeepfor", + "FieldName":"BackupKeepFor", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.BackupKeepFor", + "IncludeInCommandLine":false, + "DefaultValue":"240", + "Placeholder":"240", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Save World On Crash", + "Category":"TShock Server Settings", + "Description":"If enabled, the world will be saved if the server crashes from an unhandled exception", + "Keywords":"save,world,crash,saveworldoncrash", + "FieldName":"SaveWorldOnCrash", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.SaveWorldOnCrash", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Save World On Last Player Exit", + "Category":"TShock Server Settings", + "Description":"If enabled, the world will be saved when the last player disconnects", + "Keywords":"save,world,last,player,exit,disconnect,saveworldonlastplayerexit", + "FieldName":"SaveWorldOnLastPlayerExit", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.SaveWorldOnLastPlayerExit", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Ignore Plugin Version Checks", + "Category":"TShock Server Settings", + "Description":"If set, the server will ignore API version checks for plugins, allowing old plugins to run", + "Keywords":"ignore,version,plugin,check,ignoreversion", + "FieldName":"ignoreversion", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ignoreversion", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-ignoreversion " + } + }, + { + "DisplayName":"Enable Debug Logs", + "Category":"TShock Server Settings", + "Description":"If enabled, the server will output debug level messages related to system operation", + "Keywords":"debug,logs,debuglogs", + "FieldName":"DebugLogs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DebugLogs", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Spew Logs", + "Category":"TShock Server Settings", + "Description":"If set, disables sending logs as messages to players with the log permission", + "Keywords":"disable,spew,logs,messages,disablespewlogs", + "FieldName":"DisableSpewLogs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableSpewLogs", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Second Update Logs", + "Category":"TShock Server Settings", + "Description":"If set, prevents On Second Update checks from writing to the log file", + "Keywords":"disable,second,update,logsdisablesecondupdatelogs", + "FieldName":"DisableSecondUpdateLogs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableSecondUpdateLogs", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Suppress Permission Failure Notices", + "Category":"TShock Server Settings", + "Description":"If enabled, the server will suppress build permission failure warnings from regions, spawn point, or server edit failure", + "Keywords":"suppress,build,permission,failure,warnings,notices,suppresspermissionfailurenotices", + "FieldName":"SuppressPermissionFailureNotices", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.SuppressPermissionFailureNotices", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable UPnP", + "Category":"TShock Server Settings", + "Description":"If set, disables UPnP (Universal Plug and Play) on the server", + "Keywords":"upnp,noupnp", + "FieldName":"noupnp", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"noupnp", + "IncludeInCommandLine":false, + "DefaultValue":"-noupnp ", + "EnumValues":{ + "False":"", + "True":"-noupnp " + } + }, + { + "DisplayName":"Server Process Priority", + "Category":"TShock Server Settings", + "Description":"Sets the server process priority", + "Keywords":"process,priority,performance,forcepriority", + "FieldName":"forcepriority", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"forcepriority", + "IncludeInCommandLine":true, + "DefaultValue":"1", + "EnumValues":{ + "0":"Realtime", + "1":"High (default)", + "2":"Above Normal", + "3":"Normal", + "4":"Below Normal", + "5":"Idle" + } + }, + { + "DisplayName":"Additional Command Line Parameters", + "Category":"TShock Server Settings", + "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care", + "Keywords":"custom,server,arguments,variables,parameters", + "FieldName":"CustomServerArgs", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"CustomServerArgs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"-heaptile", + "EnumValues":{} + }, + { + "DisplayName":"Force Server Running", + "Category":"TShock Gameplay Settings", + "Description":"If set, the server will be forced to continue running, and not hibernate when no players are connected. This will result in time passing, grass growing, and the CPU running", + "Keywords":"force,update,running,forceupdate", + "FieldName":"forceupdate", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"forceupdate", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-forceupdate " + } + }, + { + "DisplayName":"Invasion Multiplier", + "Category":"TShock Gameplay Settings", + "Description":"Sets the size of invasion events, based on: 100 + (multiplier x (number of active players with greater than 200 health))", + "Keywords":"invasion,multiplier,events,invasionmultiplier", + "FieldName":"InvasionMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.InvasionMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Default Maximum Spawns", + "Category":"TShock Gameplay Settings", + "Description":"Sets the default maximum number of mobs that will spawn per wave. Higher = more mobs in that wave", + "Keywords":"default,maximum,spawns,mobs,waves,defaultmaximumspawns", + "FieldName":"DefaultMaximumSpawns", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DefaultMaximumSpawns", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"mobs", + "EnumValues":{} + }, + { + "DisplayName":"Default Spawn Rate", + "Category":"TShock Gameplay Settings", + "Description":"Sets the delay between waves. Lower = more mobs", + "Keywords":"default,spawn,rate,waves,mobs,defaultspawnrate", + "FieldName":"DefaultSpawnRate", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DefaultSpawnRate", + "IncludeInCommandLine":false, + "DefaultValue":"600", + "Placeholder":"600", + "EnumValues":{} + }, + { + "DisplayName":"Enable Infinite Invasion", + "Category":"TShock Gameplay Settings", + "Description":"If set, enables never-ending invasion events. The event still needs to be started, such as with the /invade command", + "Keywords":"infinite,invasion,events,infiniteinvasion", + "FieldName":"InfiniteInvasion", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.InfiniteInvasion", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"PvP Mode", + "Category":"TShock Gameplay Settings", + "Description":"Sets the server's PvP (player vs player) mode", + "Keywords":"pvp,combat,pve,pvpmode", + "FieldName":"PvPMode", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.PvPMode", + "IncludeInCommandLine":false, + "DefaultValue":"normal", + "EnumValues":{ + "normal":"Normal (default)", + "always":"Always", + "disabled":"Disabled" + } + }, + { + "DisplayName":"Enable Spawn Protection", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, prevents tiles from being placed within the Spawn Protection Radius of the default spawn", + "Keywords":"spawn,protection,spawnprotection", + "FieldName":"SpawnProtection", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.SpawnProtection", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Spawn Protection Radius", + "Category":"TShock Gameplay Settings", + "Description":"Sets the tile radius around the spawn tile that is protected by the Spawn Protection setting", + "Keywords":"spawn,protection,radius,spawnprotectionradius", + "FieldName":"SpawnProtectionRadius", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.SpawnProtectionRadius", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"tiles", + "EnumValues":{} + }, + { + "DisplayName":"Enable Range Checks", + "Category":"TShock Gameplay Settings", + "Description":"If set, enables anti-cheat range checks based on the distance between the player and their block placements", + "Keywords":"range,checks,enable,anti-cheat,rangechecks", + "FieldName":"RangeChecks", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RangeChecks", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Hardcore Only", + "Category":"TShock Gameplay Settings", + "Description":"If set, only hardcore players cann connect. Don't enable Softcore Only or Mediumcore Only at the same time", + "Keywords":"hardcore,mode,hardcoreonly", + "FieldName":"HardcoreOnly", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.HardcoreOnly", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Mediumcore Only", + "Category":"TShock Gameplay Settings", + "Description":"If set, softcore players cannot connect. Don't enable Softcore Only or Hardcore Only at the same time", + "Keywords":"mediumcore,mode,mediumcoreonly", + "FieldName":"MediumcoreOnly", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MediumcoreOnly", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Softcore Only", + "Category":"TShock Gameplay Settings", + "Description":"If set, only softcore players can connect. Don't enable Mediumcore Only or Hardcore Only at the same time", + "Keywords":"softcore,mode,softcoreonly", + "FieldName":"SoftcoreOnly", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.SoftcoreOnly", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Building", + "Category":"TShock Gameplay Settings", + "Description":"If set, disables any placing or removal of blocks", + "Keywords":"disable,build,building,blocks,disablebuild", + "FieldName":"DisableBuild", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableBuild", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Hardmode", + "Category":"TShock Gameplay Settings", + "Description":"If set, hardmode will not be activated by the Wall of Flesh or the /starthardmode command", + "Keywords":"disable,hardmode,disablehardmode", + "FieldName":"DisableHardmode", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableHardmode", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Dungeon Guardian", + "Category":"TShock Gameplay Settings", + "Description":"If set, prevents the dungeon guardian from being spawned, while sending players to their spawn point instead", + "Keywords":"dungeon,guardian,spawn,disable,disabledungeonguardian", + "FieldName":"DisableDungeonGuardian", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableDungeonGuardian", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Clown Bombs", + "Category":"TShock Gameplay Settings", + "Description":"If set, disables clown bomb projectiles from spawning", + "Keywords":"clown,bombs,projectiles,disable,disableclownbombs", + "FieldName":"DisableClownBombs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableClownBombs", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Snowballs", + "Category":"TShock Gameplay Settings", + "Description":"If set, disables snowball projectiles from spawning", + "Keywords":"snowballs,projectiles,disable,disablesnowballs", + "FieldName":"DisableSnowBalls", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableSnowBalls", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Tombstones", + "Category":"TShock Gameplay Settings", + "Description":"If set, disables tombstone dropping during death for all players", + "Keywords":"tombstones,death,disable,disabletombstones", + "FieldName":"DisableTombstones", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableTombstones", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Prime Bombs", + "Category":"TShock Gameplay Settings", + "Description":"If set, disables Skeletron Prime Bombs from spawning. Useful for preventing unwanted world destruction on \"for the worthy\" seed worlds", + "Keywords":"skeletron,prime,bombs,disable,disableprimebombs", + "FieldName":"DisablePrimeBombs", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisablePrimeBombs", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Force Time", + "Category":"TShock Gameplay Settings", + "Description":"Forces the world time to the specified setting", + "Keywords":"force,time,day,night,forcetime", + "FieldName":"ForceTime", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ForceTime", + "IncludeInCommandLine":false, + "DefaultValue":"normal", + "EnumValues":{ + "normal":"Normal (default)", + "day":"Day", + "night":"Night" + } + }, + { + "DisplayName":"Disable PvP Invisibility", + "Category":"TShock Gameplay Settings", + "Description":"If set, disables the effect of invisibility potions while PvP is enabled, by making the player visible to the other players", + "Keywords":"invisibility,pvp,disable,disableinvispvp", + "FieldName":"DisableInvisPvP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableInvisPvP", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Maximum Range For Disabled Players", + "Category":"TShock Gameplay Settings", + "Description":"Sets the maximum distance that disabled players can move from", + "Keywords":"maximum,range,disabled,maxrangefordisabled", + "FieldName":"MaxRangeForDisabled", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MaxRangeForDisabled", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"tiles", + "EnumValues":{} + }, + { + "DisplayName":"Enable Region Protection For Chests", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, region protection will apply to chests", + "Keywords":"region,protection,chests,regionprotectchests", + "FieldName":"RegionProtectChests", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RegionProtectChests", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Region Protection For Gem Locks", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, region protection will apply to gem locks", + "Keywords":"region,protection,gem,locks,regionprotectgemlocks", + "FieldName":"RegionProtectGemLocks", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RegionProtectGemLocks", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Maximum Player/NPC Damage", + "Category":"TShock Gameplay Settings", + "Description":"Sets the maximum damage a player/NPC can inflict", + "Keywords":"maximum,player,npc,damage,maxdamage", + "FieldName":"MaxDamage", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MaxDamage", + "IncludeInCommandLine":false, + "DefaultValue":"1175", + "Placeholder":"1175", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Projectile Damage", + "Category":"TShock Gameplay Settings", + "Description":"Sets the maximum damage a projectile can inflict", + "Keywords":"maximum,projectile,damage,maxprojdamage", + "FieldName":"MaxProjDamage", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MaxProjDamage", + "IncludeInCommandLine":false, + "DefaultValue":"1175", + "Placeholder":"1175", + "EnumValues":{} + }, + { + "DisplayName":"Ignore Projectile Update", + "Category":"TShock Gameplay Settings", + "Description":"If set, ignores checks to see if a player can update a projectile", + "Keywords":"ignore,checks,update,projectile,ignoreprojupdate", + "FieldName":"IgnoreProjUpdate", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.IgnoreProjUpdate", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Ignore Projectile Kill", + "Category":"TShock Gameplay Settings", + "Description":"If set, ignores checks to see if a player can kill a projectile", + "Keywords":"ignore,checks,kill,projectile,ignoreprojkill", + "FieldName":"IgnoreProjKill", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.IgnoreProjKill", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Cut Tiles And Breakables", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, allows players to break temporary tiles (grass, pots, etc) where they cannot usually build", + "Keywords":"break,cut,temporary,tiles,breakables,allowcuttilesandbreakables", + "FieldName":"AllowCutTilesAndBreakables", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AllowCutTilesAndBreakables", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Ice", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, allows ice placement even where a player cannot usually build", + "Keywords":"allow,ice,allowice", + "FieldName":"AllowIce", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AllowIce", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Hardmode Crimson Creep", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, allows the crimson to spread when a world is in hardmode", + "Keywords":"allow,crimson,creep,hardmode,allowcrimsoncreep", + "FieldName":"AllowCrimsonCreep", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AllowCrimsonCreep", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Hardmode Corruption Creep", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, allows the corruption to spread when a world is in hardmode", + "Keywords":"allow,corruption,creep,hardmode,allowcorruptioncreep", + "FieldName":"AllowCorruptionCreep", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AllowCorruptionCreep", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Hardmode Hallow Creep", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, allows the hallow to spread when a world is in hardmode", + "Keywords":"allow,hallow,creep,hardmode,allowhallowcreep", + "FieldName":"AllowHallowCreep", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AllowHallowCreep", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Statue Spawn Within 200 Pixels", + "Category":"TShock Gameplay Settings", + "Description":"Sets how many NPCs a statue can spawn within 200 pixels before it stops spawning", + "Keywords":"statue,spawn,npcs,statuespawn200", + "FieldName":"StatueSpawn200", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.StatueSpawn200", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "Suffix":"NPCs", + "EnumValues":{} + }, + { + "DisplayName":"Statue Spawn Within 600 Pixels", + "Category":"TShock Gameplay Settings", + "Description":"Sets how many NPCs a statue can spawn within 600 pixels before it stops spawning", + "Keywords":"statue,spawn,npcs,statuespawn600", + "FieldName":"StatueSpawn600", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.StatueSpawn600", + "IncludeInCommandLine":false, + "DefaultValue":"6", + "Placeholder":"6", + "Suffix":"NPCs", + "EnumValues":{} + }, + { + "DisplayName":"Statue Spawn Within World", + "Category":"TShock Gameplay Settings", + "Description":"Sets how many NPCs a statue can spawn before it stops spawning", + "Keywords":"statue,spawn,npcs,statuespawnworld", + "FieldName":"StatueSpawnWorld", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.StatueSpawnWorld", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"NPCs", + "EnumValues":{} + }, + { + "DisplayName":"Prevent Banned Item Spawn", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, prevents banned items from being spawned or given with commands", + "Keywords":"prevent,banned,item,spawn,given,preventbanneditemspawn", + "FieldName":"PreventBannedItemSpawn", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.PreventBannedItemSpawn", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Prevent Dead Modification", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, prevents players from interacting with the world while they are dead", + "Keywords":"prevent,interaction,dead,preventdeadmodification", + "FieldName":"PreventDeadModification", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.PreventDeadModification", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Prevent Invalid Place Style", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, prevents players from placing tiles with an invalid style", + "Keywords":"prevent,tiles,invalid,style,preventinvalidplacestyle", + "FieldName":"PreventInvalidPlaceStyle", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.PreventInvalidPlaceStyle", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Force Christmas", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, forces Christmas-only events to occur all year", + "Keywords":"force,christmas,xmas,events,forcexmas", + "FieldName":"ForceXmas", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ForceXmas", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Force Halloween", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, forces Halloween-only events to occur all year", + "Keywords":"force,halloween,events,forcehalloween", + "FieldName":"ForceHalloween", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ForceHalloween", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Allowed Groups To Spawn Banned Items", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, allows groups on the banned item allowed list to spawn banned items even if Prevent Banned Item Spawn is enabled", + "Keywords":"allowed,groups,banned,items,spawn,allowallowedgroupstospawnbanneditems", + "FieldName":"AllowAllowedGroupsToSpawnBannedItems", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AllowAllowedGroupsToSpawnBannedItems", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Ignore Chest Stacks On Load", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, allows stacks in chests to go beyond the stack limit during world loading", + "Keywords":"ignore,chest,stacks,limit,load,ignorecheststacksonload", + "FieldName":"IgnoreChestStacksOnLoad", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.IgnoreChestStacksOnLoad", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Anonymous Boss Invasions", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, boss spawning and invasion starts will be announced", + "Keywords":"anonymous,boss,spawning,invasion,start,announce,anonymousbossinvasions", + "FieldName":"AnonymousBossInvasions", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AnonymousBossInvasions", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Bomb Explosion Radius", + "Category":"TShock Gameplay Settings", + "Description":"Sets the range over which a bomb can affect tiles from its detonation point", + "Keywords":"bomb,explosion,radius,bombexplosionradius", + "FieldName":"BombExplosionRadius", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.BombExplosionRadius", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"tiles", + "EnumValues":{} + }, + { + "DisplayName":"Give Items Directly", + "Category":"TShock Gameplay Settings", + "Description":"If enabled, items given to players will be inserted directly into their inventory. Requires SSC. Otherwise, items given to players will spawn as dropped items. Experimental - may not work correctly or may result in item loss", + "Keywords":"give,items,directly,inventory,giveitemsdirectly", + "FieldName":"GiveItemsDirectly", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.GiveItemsDirectly", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Modified Zenith", + "Category":"TShock Gameplay Settings", + "Description":"If set, prohibits the use of the Zenith projectile with different objects instead of weapons", + "Keywords":"modified,zenith,projectile,disable,disablemodifiedzenith", + "FieldName":"DisableModifiedZenith", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableModifiedZenith", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Custom Death Messages", + "Category":"TShock Gameplay Settings", + "Description":"If set, enables protection against creating custom messages with death", + "Keywords":"disable,custom,death,messages,disablecustomdeathmessages", + "FieldName":"DisableCustomDeathMessages", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableCustomDeathMessages", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Command Specifier", + "Category":"TShock Gameplay Settings", + "Description":"Specifies which string starts a command. Note: Will not function properly if the string length is bigger than 1", + "Keywords":"command,specifier,string,commandspecifier", + "FieldName":"CommandSpecifier", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.CommandSpecifier", + "IncludeInCommandLine":false, + "DefaultValue":"/", + "EnumValues":{} + }, + { + "DisplayName":"Command Silent Specifier", + "Category":"TShock Gameplay Settings", + "Description":"Specifies which string starts a command silently. Note: Will not function properly if the string length is bigger than 1", + "Keywords":"command,silent,specifier,string,commandsilentspecifier", + "FieldName":"CommandSilentSpecifier", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.CommandSilentSpecifier", + "IncludeInCommandLine":false, + "DefaultValue":".", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"TShock Player Settings", + "Description":"Sets the maximum numbers of players that can connect at one time", + "Keywords":"player,limit,max,maximum,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "MaxValue":"255", + "IsFlagArgument":false, + "ParamFieldName":"maxplayers", + "IncludeInCommandLine":true, + "DefaultValue":"8", + "Placeholder":"8", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"TShock Player Settings", + "Description":"", + "Keywords":"", + "FieldName":"$MaxUsers", + "InputType":"number", + "Hidden":true, + "ParamFieldName":"$.Settings.MaxSlots", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Reserved Player Slots", + "Category":"TShock Player Settings", + "Description":"Sets the number of reserved slots above the Player Limit that can be joined by reserved players", + "Keywords":"reserved,player,slots,reservedslots", + "FieldName":"ReservedSlots", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ReservedSlots", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"reserved players", + "EnumValues":{} + }, + { + "DisplayName":"Enable Whitelist", + "Category":"TShock Player Settings", + "Description":"If set, enables the server's whitelist based on IP addresses in tshock/whitelist.txt", + "Keywords":"enable,whitelist,enablewhitelist", + "FieldName":"EnableWhitelist", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.EnableWhitelist", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Whitelist Kick Reason", + "Category":"TShock Player Settings", + "Description":"Sets the reason given when kicking players for not being on the whitelist", + "Keywords":"whitelist,kick,reason,whitelistkickreason", + "FieldName":"WhitelistKickReason", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.WhitelistKickReason", + "IncludeInCommandLine":false, + "DefaultValue":"You are not on the whitelist.", + "EnumValues":{} + }, + { + "DisplayName":"Server Full With No Reserved Slots Reason", + "Category":"TShock Player Settings", + "Description":"Sets the reason given when kicking players that attempt to join while the server is full with no reserved slots available", + "Keywords":"server,full,reason,reserved,slots,serverfullnoreservedreason", + "FieldName":"ServerFullNoReservedReason", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ServerFullNoReservedReason", + "IncludeInCommandLine":false, + "DefaultValue":"Server is full. No reserved slots open.", + "EnumValues":{} + }, + { + "DisplayName":"Server Full Reason", + "Category":"TShock Player Settings", + "Description":"Sets the reason given when kicking players that attempt to join while the server is full", + "Keywords":"server,full,reason,serverfullreason", + "FieldName":"ServerFullReason", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ServerFullReason", + "IncludeInCommandLine":false, + "DefaultValue":"Server is full.", + "EnumValues":{} + }, + { + "DisplayName":"Default Registration Group Name", + "Category":"TShock Player Settings", + "Description":"Sets the default group name to place newly registered users under", + "Keywords":"default,registration,group,defaultregistrationgroupname", + "FieldName":"DefaultRegistrationGroupName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DefaultRegistrationGroupName", + "IncludeInCommandLine":false, + "DefaultValue":"default", + "Placeholder":"default", + "EnumValues":{} + }, + { + "DisplayName":"Default Guest Group Name", + "Category":"TShock Player Settings", + "Description":"Sets the default group name to place unregistered players under", + "Keywords":"default,guest,group,unregistered,defaultguestgroupname", + "FieldName":"DefaultGuestGroupName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DefaultGuestGroupName", + "IncludeInCommandLine":false, + "DefaultValue":"guest", + "Placeholder":"guest", + "EnumValues":{} + }, + { + "DisplayName":"Remember Leave Position", + "Category":"TShock Player Settings", + "Description":"If enabled, remembers where a player left off, based on their IP. Does not persist through server restarts", + "Keywords":"remember,player,leave,position,rememberleavepos", + "FieldName":"RememberLeavePos", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RememberLeavePos", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Require Login Or Registration", + "Category":"TShock Player Settings", + "Description":"If enabled, requires all players to register or login before being allowed to play", + "Keywords":"require,players,register,login,requirelogin", + "FieldName":"RequireLogin", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RequireLogin", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Login With Any Username", + "Category":"TShock Player Settings", + "Description":"If enabled, allows players to login to any account even if the username doesn't match their character name", + "Keywords":"allow,login,username,allowloginanyusername", + "FieldName":"AllowLoginAnyUsername", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AllowLoginAnyUsername", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Registration With Any Username", + "Category":"TShock Player Settings", + "Description":"If enabled, allows players to register a username that doesn't necessarily match their character name", + "Keywords":"allow,register,registration,username,allowregisteranyusername", + "FieldName":"AllowRegisterAnyUsername", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.AllowRegisterAnyUsername", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Maximum Login Attempts", + "Category":"TShock Player Settings", + "Description":"Sets the number of failed login attempts before kicking a player", + "Keywords":"maximum,login,attempts,maximumloginattempts", + "FieldName":"MaximumLoginAttempts", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MaximumLoginAttempts", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Disable Login Before Join", + "Category":"TShock Player Settings", + "Description":"If set, prevents players from being able to login before they finish connecting", + "Keywords":"disable,login,join,connect,disableloginbeforejoin", + "FieldName":"DisableLoginBeforeJoin", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableLoginBeforeJoin", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Display IP To Admins", + "Category":"TShock Player Settings", + "Description":"If enabled, displays a player's IP on join to users with the log permission", + "Keywords":"ip,admins,display,displayiptoadmins", + "FieldName":"DisplayIPToAdmins", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisplayIPToAdmins", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Announce Player Geographic Location", + "Category":"TShock Player Settings", + "Description":"If enabled, a player's geographic location will be announced on join, based on their IP", + "Keywords":"geoip,geographic,location,announce,enablegeoip", + "FieldName":"EnableGeoIP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.EnableGeoIP", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Kick Proxy Users", + "Category":"TShock Player Settings", + "Description":"If set, and Announce Player Geographic Location is enabled, users identified as being under a proxy will be kicked", + "Keywords":"kick,users,proxy,geoip,kickproxyusers", + "FieldName":"KickProxyUsers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickProxyUsers", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Default IP Bans", + "Category":"TShock Player Settings", + "Description":"If set, disables IP bans by default, if no arguments are passed to the ban command", + "Keywords":"disable,default,ip,ban,disabledefaultipban", + "FieldName":"DisableDefaultIPBan", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableDefaultIPBan", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Minimum Password Length", + "Category":"TShock Player Settings", + "Description":"Sets the minimum password length for new user accounts", + "Keywords":"minimum,password,length,accounts,minimumpasswordlength", + "FieldName":"MinimumPasswordLength", + "InputType":"number", + "MinValue":"4", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MinimumPasswordLength", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "Placeholder":"4", + "EnumValues":{} + }, + { + "DisplayName":"BCrypt Work Factor", + "Category":"TShock Player Settings", + "Description":"Determines the BCrypt work factor to use. If increased, all passwords will be upgraded to the new work-factor on verify. The number of computational rounds is 2^n. Increase with caution", + "Keywords":"bcrypt,work,factor,passwords,bcryptworkfactor", + "FieldName":"BCryptWorkFactor", + "InputType":"number", + "MinValue":"5", + "MaxValue":"31", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.BCryptWorkFactor", + "IncludeInCommandLine":false, + "DefaultValue":"7", + "Placeholder":"7", + "EnumValues":{} + }, + { + "DisplayName":"Disable UUID Login", + "Category":"TShock Player Settings", + "Description":"If set, prevents players from being able to login with their client UUID", + "Keywords":"disable,uuid,login,disableuuidlogin", + "FieldName":"DisableUUIDLogin", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.DisableUUIDLogin", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Kick Empty UUID", + "Category":"TShock Player Settings", + "Description":"If enabled, clients that don't send their UUID to the server will be kicked", + "Keywords":"kick,empty,uuid,kickemptyuuid", + "FieldName":"KickEmptyUUID", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickEmptyUUID", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Kick On Mediumcore Death", + "Category":"TShock Player Settings", + "Description":"If enabled, mediumcore players will be kicked on death", + "Keywords":"kick,mediumcore,death,kickonmediumcoredeath", + "FieldName":"KickOnMediumcoreDeath", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickOnMediumcoreDeath", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Mediumcore Kick Reason", + "Category":"TShock Player Settings", + "Description":"Sets the reason given when kicking a mediumcore player on death", + "Keywords":"mediumcore,kick,death,reason,mediumcorekickreason", + "FieldName":"MediumcoreKickReason", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MediumcoreKickReason", + "IncludeInCommandLine":false, + "DefaultValue":"Death results in a kick.", + "EnumValues":{} + }, + { + "DisplayName":"Ban On Mediumcore Death", + "Category":"TShock Player Settings", + "Description":"If enabled, mediumcore players will be banned on death", + "Keywords":"ban,mediumcore,death,banonmediumcoredeath", + "FieldName":"BanOnMediumcoreDeath", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.BanOnMediumcoreDeath", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Mediumcore Ban Reason", + "Category":"TShock Player Settings", + "Description":"Sets the reason given when banning a mediumcore player on death", + "Keywords":"mediumcore,ban,death,reason,mediumcorebanreason", + "FieldName":"MediumcoreBanReason", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MediumcoreBanReason", + "IncludeInCommandLine":false, + "DefaultValue":"Death results in a ban.", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Hardcore Death", + "Category":"TShock Player Settings", + "Description":"If enabled, hardcore players will be kicked on death", + "Keywords":"kick,hardcore,death,kickonhardcoredeath", + "FieldName":"KickOnHardcoreDeath", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickOnHardcoreDeath", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Hardcore Kick Reason", + "Category":"TShock Player Settings", + "Description":"Sets the reason given when kicking a hardcore player on death", + "Keywords":"hardcore,kick,death,reason,hardcorekickreason", + "FieldName":"HardcoreKickReason", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.HardcoreKickReason", + "IncludeInCommandLine":false, + "DefaultValue":"Death results in a kick.", + "EnumValues":{} + }, + { + "DisplayName":"Ban On Hardcore Death", + "Category":"TShock Player Settings", + "Description":"If enabled, hardcore players will be banned on death", + "Keywords":"ban,hardcore,death,banonhardcoredeath", + "FieldName":"BanOnHardcoreDeath", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.BanOnHardcoreDeath", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Hardcore Ban Reason", + "Category":"TShock Player Settings", + "Description":"Sets the reason given when banning a hardcore player on death", + "Keywords":"hardcore,ban,reason,hardcorebanreason", + "FieldName":"HardcoreBanReason", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.HardcoreBanReason", + "IncludeInCommandLine":false, + "DefaultValue":"Death results in a ban.", + "EnumValues":{} + }, + { + "DisplayName":"Respawn Period", + "Category":"TShock Player Settings", + "Description":"Sets the period a player must wait before being respawned. Use at your own risk", + "Keywords":"respawn,seconds,period,respawnseconds", + "FieldName":"RespawnSeconds", + "InputType":"number", + "MinValue":"0", + "MaxValue":"15", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RespawnSeconds", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Respawn Boss Period", + "Category":"TShock Player Settings", + "Description":"Sets the period a player must wait before being respawned if there is a boss nearby. Use at your own risk", + "Keywords":"respawn,seconds,period,boss,respawnbossseconds", + "FieldName":"RespawnBossSeconds", + "InputType":"number", + "MinValue":"0", + "MaxValue":"30", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RespawnBossSeconds", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum HP", + "Category":"TShock Player Settings", + "Description":"Sets the maximum HP a player can have, before equipment buffs", + "Keywords":"max,maximum,hp,maxhp", + "FieldName":"MaxHP", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MaxHP", + "IncludeInCommandLine":false, + "DefaultValue":"500", + "Placeholder":"500", + "EnumValues":{} + }, + { + "DisplayName":"Maximum MP", + "Category":"TShock Player Settings", + "Description":"Sets the maximum MP a player can have, before equipment buffs", + "Keywords":"max,maximum,mp,maxmp", + "FieldName":"MaxMP", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MaxMP", + "IncludeInCommandLine":false, + "DefaultValue":"200", + "Placeholder":"200", + "EnumValues":{} + }, + { + "DisplayName":"Tile Paint Threshold", + "Category":"TShock Player Settings", + "Description":"Disables a player if the set number of tiles is painted within 1 second", + "Keywords":"tile,paint,threshold,tilepaintthreshold", + "FieldName":"TilePaintThreshold", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.TilePaintThreshold", + "IncludeInCommandLine":false, + "DefaultValue":"15", + "Placeholder":"15", + "Suffix":"tiles", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Tile Paint Threshold Broken", + "Category":"TShock Player Settings", + "Description":"If enabled, players will be kicked when they surpass the Tile Paint Threshold", + "Keywords":"kick,tile,paint,threshold,kickontilepaintthresholdbroken", + "FieldName":"KickOnTilePaintThresholdBroken", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickOnTilePaintThresholdBroken", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Tile Kill Threshold", + "Category":"TShock Player Settings", + "Description":"Disables a player and reverts their actions if the set number of tile kills is exceeded within 1 second", + "Keywords":"tile,kill,threshold,tilekillthreshold", + "FieldName":"TileKillThreshold", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.TileKillThreshold", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"tile kills", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Tile Kill Threshold Broken", + "Category":"TShock Player Settings", + "Description":"If enabled, players will be kicked when they surpass the Tile Kill Threshold", + "Keywords":"kick,tile,kill,threshold,kickontilekillthresholdbroken", + "FieldName":"KickOnTileKillThresholdBroken", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickOnTileKillThresholdBroken", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Tile Place Threshold", + "Category":"TShock Player Settings", + "Description":"Disables a player and reverts their actions if the set number of tile places is exceeded within 1 second", + "Keywords":"tile,place,threshold,tileplacethreshold", + "FieldName":"TilePlaceThreshold", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.TilePlaceThreshold", + "IncludeInCommandLine":false, + "DefaultValue":"32", + "Placeholder":"32", + "Suffix":"tile places", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Tile Place Threshold Broken", + "Category":"TShock Player Settings", + "Description":"If enabled, players will be kicked when they surpass the Tile Place Threshold", + "Keywords":"kick,tile,place,threshold,kickontileplacethresholdbroken", + "FieldName":"KickOnTilePlaceThresholdBroken", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickOnTilePlaceThresholdBroken", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Tile Liquid Threshold", + "Category":"TShock Player Settings", + "Description":"Disables a player if the set number of liquid sets is exceeded within 1 second", + "Keywords":"tile,liquid,threshold,tileliquidthreshold", + "FieldName":"TileLiquidThreshold", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.TileLiquidThreshold", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "Placeholder":"50", + "Suffix":"liquid sets", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Tile Liquid Threshold Broken", + "Category":"TShock Player Settings", + "Description":"If enabled, players will be kicked when they surpass the Tile Liquid Threshold", + "Keywords":"kick,tile,liquid,threshold,kickontileliquidthresholdbroken", + "FieldName":"KickOnTileLiquidThresholdBroken", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickOnTileLiquidThresholdBroken", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Kick On Damage Threshold Broken", + "Category":"TShock Player Settings", + "Description":"If enabled, players will be kicked when they surpass the Maximum Player/NPC Damage", + "Keywords":"kick,damage,threshold,kickondamagethresholdbroken", + "FieldName":"KickOnDamageThresholdBroken", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickOnDamageThresholdBroken", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Ignore Shrapnel For Projectile Threshold", + "Category":"TShock Player Settings", + "Description":"If set, shrapnel from crystal bullets will be ignored for the projectile threshold count", + "Keywords":"ignore,shrapnel,crystal,bullets,projectile,threshold,projignoreshrapnel", + "FieldName":"ProjIgnoreShrapnel", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ProjIgnoreShrapnel", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Projectile Threshold", + "Category":"TShock Player Settings", + "Description":"Disables a player if the set number of projectiles is created within 1 second", + "Keywords":"projectile,threshold,projectilethreshold", + "FieldName":"ProjectileThreshold", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ProjectileThreshold", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "Placeholder":"50", + "Suffix":"projectiles", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Projectile Threshold Broken", + "Category":"TShock Player Settings", + "Description":"If enabled, players will be kicked when they surpass the Projectile Threshold", + "Keywords":"kick,projectile,threshold,kickonprojectilethresholdbroken", + "FieldName":"KickOnProjectileThresholdBroken", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickOnProjectileThresholdBroken", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Heal Other Threshold", + "Category":"TShock Player Settings", + "Description":"Disables a player if the set number of Heal Other Player packets is sent within 1 second", + "Keywords":"heal,other,player,threshold,healotherthreshold", + "FieldName":"HealOtherThreshold", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.HealOtherThreshold", + "IncludeInCommandLine":false, + "DefaultValue":"50", + "Placeholder":"50", + "EnumValues":{} + }, + { + "DisplayName":"Kick On Heal Other Threshold Broken", + "Category":"TShock Player Settings", + "Description":"If enabled, players will be kicked when they surpass the Heal Other Threshold", + "Keywords":"kick,heal,other,threshold,kickonhealotherthresholdbroken", + "FieldName":"KickOnHealOtherThresholdBroken", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.KickOnHealOtherThresholdBroken", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Chat Format", + "Category":"TShock Player Settings", + "Description":"Changes in-game chat format: {0} = Group Name, {1} = Group Prefix, {2} = Player Name, {3} = Group Suffix, {4} = Chat Message", + "Keywords":"chat,format,message,chatformat", + "FieldName":"ChatFormat", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ChatFormat", + "IncludeInCommandLine":false, + "DefaultValue":"{1}{2}{3}: {4}", + "Placeholder":"{1}{2}{3}: {4}", + "EnumValues":{} + }, + { + "DisplayName":"Enable Chat Above Heads", + "Category":"TShock Player Settings", + "Description":"If enabled, chat messages will be displayed above players' heads", + "Keywords":"chat,display,heads,enablechataboveheads", + "FieldName":"EnableChatAboveHeads", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.EnableChatAboveHeads", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Chat Above Heads Format", + "Category":"TShock Player Settings", + "Description":"Changes the player name when using Chat Above Heads. Starts with a player name wrapped in brackets, as per Terraria's formatting. Same formatting as Chat Format without the message", + "Keywords":"chat,format,heads,chataboveheadsformat", + "FieldName":"ChatAboveHeadsFormat", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.ChatAboveHeadsFormat", + "IncludeInCommandLine":false, + "DefaultValue":"{2}", + "EnumValues":{} + }, + { + "DisplayName":"Superadmin Chat Prefix", + "Category":"TShock Player Settings", + "Description":"Sets the superadmin chat prefix", + "Keywords":"superadmin,chat,prefix,superadminchatprefix", + "FieldName":"SuperAdminChatPrefix", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.SuperAdminChatPrefix", + "IncludeInCommandLine":false, + "DefaultValue":"(Super Admin) ", + "Placeholder":"(Super Admin) ", + "EnumValues":{} + }, + { + "DisplayName":"Superadmin Chat Suffix", + "Category":"TShock Player Settings", + "Description":"Sets the superadmin chat suffix", + "Keywords":"superadmin,chat,suffix,superadminchatsuffix", + "FieldName":"SuperAdminChatSuffix", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.SuperAdminChatSuffix", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Enable Rest API", + "Category":"TShock API Settings", + "Description":"If set, enables the REST API", + "Keywords":"enable,rest,api,restapienabled", + "FieldName":"RestApiEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RestApiEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Log REST API Connections", + "Category":"TShock API Settings", + "Description":"If enabled, REST API connections will be logged", + "Keywords":"log,rest,api,connections,logrest", + "FieldName":"LogRest", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.LogRest", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable REST API Token Authentication", + "Category":"TShock API Settings", + "Description":"If enabled, token authentication will be required to use the public REST API endpoints", + "Keywords":"token,authentication,rest,api,enabletokenendpointauthentication", + "FieldName":"EnableTokenEndpointAuthentication", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.EnableTokenEndpointAuthentication", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Maximum REST API Requests Per Interval", + "Category":"TShock API Settings", + "Description":"Sets the maximum REST API requests in the bucket before denying requests", + "Keywords":"rest,api,maximum,requests,interval,bucket,restmaximumrequestsperinterval", + "FieldName":"RESTMaximumRequestsPerInterval", + "InputType":"number", + "MinValue":"5", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RESTMaximumRequestsPerInterval", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "EnumValues":{} + }, + { + "DisplayName":"REST API Request Bucket Decrease Interval", + "Category":"TShock API Settings", + "Description":"Sets how often the REST API requests bucket is decreased by one", + "Keywords":"rest,api,request,bucket,decrease,interval,restrequestbucketdecreaseintervalminutes", + "FieldName":"RESTRequestBucketDecreaseIntervalMinutes", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RESTRequestBucketDecreaseIntervalMinutes", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Database Storage Type", + "Category":"TShock Database Settings", + "Description":"Sets the type of database to use when storing data", + "Keywords":"database,storagetype,sqlite,mysql", + "FieldName":"StorageType", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.StorageType", + "IncludeInCommandLine":false, + "DefaultValue":"sqlite", + "EnumValues":{ + "sqlite":"SQLite (default)", + "mysql":"MySQL" + } + }, + { + "DisplayName":"SQLite Database Path", + "Category":"TShock Database Settings", + "Description":"Sets the path of the SQLite database, when using the SQLite database type", + "Keywords":"database,path,sqlite,sqlitedbpath", + "FieldName":"SqliteDBPath", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.SqliteDBPath", + "IncludeInCommandLine":false, + "DefaultValue":"tshock.sqlite", + "EnumValues":{} + }, + { + "DisplayName":"MySQL Hostname And Port", + "Category":"TShock Database Settings", + "Description":"Sets the MySQL hostname and port to direct connections to, when using the MySQL database type", + "Keywords":"database,mysql,hostname,mysqlhost", + "FieldName":"MySqlHost", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MySqlHost", + "IncludeInCommandLine":false, + "DefaultValue":"localhost:3306", + "EnumValues":{} + }, + { + "DisplayName":"MySQL Database Name", + "Category":"TShock Database Settings", + "Description":"Sets the database name to connect to when using the MySQL database type", + "Keywords":"database,mysql,name,mysqldbname", + "FieldName":"MySqlDbName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MySqlDbName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"MySQL Username", + "Category":"TShock Database Settings", + "Description":"Sets the username to use when connecting to a MySQL database", + "Keywords":"database,mysql,username,mysqlusername", + "FieldName":"MySqlUsername", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MySqlUsername", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"MySQL Password", + "Category":"TShock Database Settings", + "Description":"Sets the password to use when connecting to a MySQL database", + "Keywords":"database,mysql,password,mysqlpassword", + "FieldName":"MySqlPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.MySqlPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Use SQL Log", + "Category":"TShock Database Settings", + "Description":"If enabled, logs will be saved to the SQL database instead of a text file", + "Keywords":"sqlite,mysql,usesqllog", + "FieldName":"UseSqlLog", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.UseSqlLog", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Failures Before Text Log Reversion", + "Category":"TShock Database Settings", + "Description":"Sets the number of times the SQL log must fail to insert logs before falling back to the text log", + "Keywords":"sqlite,mysql,log,failure,revert,reverttotextlogsonsqlfailures", + "FieldName":"RevertToTextLogsOnSqlFailures", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.Settings.RevertToTextLogsOnSqlFailures", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "EnumValues":{} + }, + { + "DisplayName":"Dotnet Version", + "Category":"SteamCMD and Updates", + "Description":"Sets the [ASP.NET Core 6.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) to install for TShock. NOTE: Update the server after switching versions!", + "Keywords":"dotnet,version", + "FieldName":"DotnetVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"DotnetVersion", + "IncludeInCommandLine":false, + "DefaultValue":"6.0.16", + "Placeholder":"6.0.16", + "EnumValues":{ + + } + }, + { + "DisplayName":"Download Backup Exclude File", + "Category":"SteamCMD and Updates", + "Description":"This downloads a default backup exclude file to save space on backups by only saving specific directories. If this is disabled, you will need to manually delete the .backupExclude file it downloads", + "Keywords":"download,backup,exclude,file", + "FieldName":"backupExclude", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"backupExclude", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + } +] \ No newline at end of file diff --git a/tshockmetaconfig.json b/tshockmetaconfig.json new file mode 100644 index 000000000..f8ed24e26 --- /dev/null +++ b/tshockmetaconfig.json @@ -0,0 +1,20 @@ +[ + { + "ConfigFile":"tshock/config.json", + "AutoMap":true, + "ConfigType":"json" + }, + { + "ConfigFile":"tshock/motd.txt", + "ConfigType":"kvp", + "ConfigFormat":"{0}{1}", + "Subsections":[ + { + "Heading":"$root", + "SettingMappings":{ + "":"motd" + } + } + ] + } +] \ No newline at end of file diff --git a/tshockserverconfig.json b/tshockserverconfig.json new file mode 100644 index 000000000..c3c621231 --- /dev/null +++ b/tshockserverconfig.json @@ -0,0 +1,148 @@ +{ + "Settings": { + "ServerPassword": "", + "ServerPort": 7777, + "MaxSlots": 8, + "ReservedSlots": 20, + "ServerName": "AMP Powered TShock Server", + "UseServerName": false, + "LogPath": "tshock/logs", + "DebugLogs": false, + "DisableLoginBeforeJoin": false, + "IgnoreChestStacksOnLoad": false, + "WorldTileProvider": "default", + "AutoSave": true, + "AnnounceSave": true, + "ShowBackupAutosaveMessages": true, + "BackupInterval": 10, + "BackupKeepFor": 240, + "SaveWorldOnCrash": true, + "SaveWorldOnLastPlayerExit": false, + "InvasionMultiplier": 1, + "DefaultMaximumSpawns": 5, + "DefaultSpawnRate": 600, + "InfiniteInvasion": false, + "PvPMode": "normal", + "SpawnProtection": true, + "SpawnProtectionRadius": 10, + "RangeChecks": true, + "HardcoreOnly": false, + "MediumcoreOnly": false, + "SoftcoreOnly": false, + "DisableBuild": false, + "DisableHardmode": false, + "DisableDungeonGuardian": false, + "DisableClownBombs": false, + "DisableSnowBalls": false, + "DisableTombstones": true, + "DisablePrimeBombs": false, + "ForceTime": "normal", + "DisableInvisPvP": false, + "MaxRangeForDisabled": 10, + "RegionProtectChests": false, + "RegionProtectGemLocks": true, + "IgnoreProjUpdate": false, + "IgnoreProjKill": false, + "AllowCutTilesAndBreakables": false, + "AllowIce": false, + "AllowCrimsonCreep": true, + "AllowCorruptionCreep": true, + "AllowHallowCreep": true, + "StatueSpawn200": 3, + "StatueSpawn600": 6, + "StatueSpawnWorld": 10, + "PreventBannedItemSpawn": false, + "PreventDeadModification": true, + "PreventInvalidPlaceStyle": true, + "ForceXmas": false, + "ForceHalloween": false, + "AllowAllowedGroupsToSpawnBannedItems": false, + "RespawnSeconds": 0, + "RespawnBossSeconds": 0, + "AnonymousBossInvasions": true, + "MaxHP": 500, + "MaxMP": 200, + "BombExplosionRadius": 5, + "GiveItemsDirectly": false, + "DefaultRegistrationGroupName": "default", + "DefaultGuestGroupName": "guest", + "RememberLeavePos": false, + "MaximumLoginAttempts": 3, + "KickOnMediumcoreDeath": false, + "MediumcoreKickReason": "Death results in a kick.", + "BanOnMediumcoreDeath": false, + "MediumcoreBanReason": "Death results in a ban.", + "DisableDefaultIPBan": false, + "EnableWhitelist": false, + "WhitelistKickReason": "You are not on the whitelist.", + "ServerFullReason": "Server is full.", + "ServerFullNoReservedReason": "Server is full. No reserved slots open.", + "KickOnHardcoreDeath": false, + "HardcoreKickReason": "Death results in a kick.", + "BanOnHardcoreDeath": false, + "HardcoreBanReason": "Death results in a ban.", + "KickProxyUsers": true, + "RequireLogin": false, + "AllowLoginAnyUsername": true, + "AllowRegisterAnyUsername": false, + "MinimumPasswordLength": 4, + "BCryptWorkFactor": 7, + "DisableUUIDLogin": false, + "KickEmptyUUID": false, + "TilePaintThreshold": 15, + "KickOnTilePaintThresholdBroken": false, + "MaxDamage": 1175, + "MaxProjDamage": 1175, + "KickOnDamageThresholdBroken": false, + "TileKillThreshold": 60, + "KickOnTileKillThresholdBroken": false, + "TilePlaceThreshold": 32, + "KickOnTilePlaceThresholdBroken": false, + "TileLiquidThreshold": 50, + "KickOnTileLiquidThresholdBroken": false, + "ProjIgnoreShrapnel": true, + "ProjectileThreshold": 50, + "KickOnProjectileThresholdBroken": false, + "HealOtherThreshold": 50, + "KickOnHealOtherThresholdBroken": false, + "SuppressPermissionFailureNotices": false, + "DisableModifiedZenith": false, + "DisableCustomDeathMessages": true, + "CommandSpecifier": "/", + "CommandSilentSpecifier": ".", + "DisableSpewLogs": true, + "DisableSecondUpdateLogs": false, + "SuperAdminChatRGB": [ + 255, + 255, + 255 + ], + "SuperAdminChatPrefix": "(Super Admin) ", + "SuperAdminChatSuffix": "", + "EnableGeoIP": false, + "DisplayIPToAdmins": false, + "ChatFormat": "{1}{2}{3}: {4}", + "ChatAboveHeadsFormat": "{2}", + "EnableChatAboveHeads": false, + "BroadcastRGB": [ + 127, + 255, + 212 + ], + "StorageType": "sqlite", + "SqliteDBPath": "tshock.sqlite", + "MySqlHost": "localhost:3306", + "MySqlDbName": "", + "MySqlUsername": "", + "MySqlPassword": "", + "UseSqlLogs": false, + "RevertToTextLogsOnSqlFailures": 10, + "RestApiEnabled": false, + "RestApiPort": 7878, + "LogRest": false, + "EnableTokenEndpointAuthentication": false, + "RESTMaximumRequestsPerInterval": 5, + "RESTRequestBucketDecreaseIntervalMinutes": 1, + "ApplicationRestTokens": {} + } +} \ No newline at end of file diff --git a/tshockupdates.json b/tshockupdates.json new file mode 100644 index 000000000..4e4a1e1fa --- /dev/null +++ b/tshockupdates.json @@ -0,0 +1,119 @@ +[ + { + "UpdateStageName":"TShock Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://api.github.com/repos/Pryaxis/TShock/releases/latest", + "UpdateSourceArgs":"$.assets[3].browser_download_url", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"TShock Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://api.github.com/repos/Pryaxis/TShock/releases/latest", + "UpdateSourceArgs":"$.assets[1].browser_download_url", + "UpdateSourceArch":"x86_64", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"TShock Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://api.github.com/repos/Pryaxis/TShock/releases/latest", + "UpdateSourceArgs":"$.assets[0].browser_download_url", + "UpdateSourceArch":"aarch64", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"TShock Server Unpack", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArch":"x86_64", + "UpdateSourceArgs":"-c 'cd {{$FullBaseDir}} && tar -xf TShock-Beta-linux-x64-Release.tar && rm -f TShock-Beta-linux-x64-Release.tar && chmod +x TShock.Server'" + }, + { + "UpdateStageName":"TShock Server Unpack", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArch":"aarch64", + "UpdateSourceArgs":"-c 'cd {{$FullBaseDir}} && tar -xf TShock-Beta-linux-arm64-Release.tar && rm -f TShock-Beta-linux-arm64-Release.tar && chmod +x TShock.Server'" + }, + { + "UpdateStageName":"Create TShock Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}tshock" + }, + { + "UpdateStageName":"Server Config File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/tshockserverconfig.json", + "UpdateSourceArgs":"config.json", + "UpdateSourceTarget":"{{$FullBaseDir}}tshock", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Dotnet Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}dotnet" + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz", + "UpdateSourceArch":"x86_64", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-arm64.tar.gz", + "UpdateSourceArch":"aarch64", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Backup Exclusions Download 1", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/exclusions/.backupExclusionsTShock", + "UpdateSourceArgs":".backupExclude", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceConditionSetting":"backupExclude", + "UpdateSourceConditionValue":"true", + "OverwriteExistingFiles":false + } +] From 39fd5fdc9c4b7ec65c23ff595ec5acb9a1be7846 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 23 Jun 2023 07:13:19 +1000 Subject: [PATCH 225/318] CE: new binary name (#402) --- conan-exiles.kvp | 2 +- conan-exilesupdates.json | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 conan-exilesupdates.json diff --git a/conan-exiles.kvp b/conan-exiles.kvp index e18255803..d2ae08b7e 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -62,7 +62,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=3 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] +App.UpdateSources=@IncludeJson[conan-exilesupdates.json] App.PreStartStages=[] App.Compatibility=None App.SteamUpdateAnonymousLogin=True diff --git a/conan-exilesupdates.json b/conan-exilesupdates.json new file mode 100644 index 000000000..b2acee4b5 --- /dev/null +++ b/conan-exilesupdates.json @@ -0,0 +1,32 @@ +[ + { + "UpdateStageName":"SteamCMD and Conan Exiles Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"443030", + "UpdateSourceArgs":"440900", + "ForceDownloadPlatform":"Windows" + }, + { + "UpdateStageName":"Create Binary Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}ConanSandbox/Binaries/Win64/ConanSandboxServer-Win64-Test.exe", + "UpdateSourceArgs":"{{$FullBaseDir}}ConanSandbox/Binaries/Win64/ConanSandboxServer-Win64-Shipping.exe", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Config Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" + } +] \ No newline at end of file From 0927ca1df352c3cf966247e1d262cbb8b5ab5d3f Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 23 Jun 2023 07:13:33 +1000 Subject: [PATCH 226/318] POT: add server rules setting (#403) --- path-of-titansconfig.json | 13 +++++++++++++ path-of-titansmetaconfig.json | 15 ++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/path-of-titansconfig.json b/path-of-titansconfig.json index 980ac7594..a2cf87ac1 100644 --- a/path-of-titansconfig.json +++ b/path-of-titansconfig.json @@ -78,6 +78,19 @@ "DefaultValue":"AMP_Powered_POT_Server", "EnumValues":{} }, + { + "DisplayName":"Server Rules", + "Category":"POT Server Settings", + "Description":"Sets the server rules displayed and that must be accepted when players first join the server. Refer to these [formatting instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Setting-up-Rules#formatting)", + "Keywords":"rules", + "FieldName":"Rules", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"Rules", + "IncludeInCommandLine":false, + "DefaultValue":"<title>Server Rules</>\n<red>1 - Please only attack Camptos.</>\nCamptosauruses are very evil!\n\n<orange>2 - Corpse Cove is closed due to dirty water.</>\n\nThese are the only rules on this server!\n<large>Thanks, and have fun!</>", + "EnumValues":{} + }, { "DisplayName":"Welcome Message", "Category":"POT Server Settings", diff --git a/path-of-titansmetaconfig.json b/path-of-titansmetaconfig.json index c77e96755..db9e57769 100644 --- a/path-of-titansmetaconfig.json +++ b/path-of-titansmetaconfig.json @@ -23,5 +23,18 @@ } } ] - } + }, + { + "ConfigFile":"PathOfTitans/Saved/Rules.txt", + "ConfigType":"kvp", + "ConfigFormat":"{0}{1}", + "Subsections":[ + { + "Heading":"$root", + "SettingMappings":{ + "":"Rules" + } + } + ] + } ] From 440daf46e240b8cac5285021b4d3f95d1f007fa6 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 25 Jun 2023 18:14:01 +0300 Subject: [PATCH 227/318] Conan Exiles: remove AdminPassword setting (#405) --- conan-exilesconfig.json | 11 +- conan-exilesconfigsettings.ini | 203 --------------------------------- 2 files changed, 5 insertions(+), 209 deletions(-) delete mode 100644 conan-exilesconfigsettings.ini diff --git a/conan-exilesconfig.json b/conan-exilesconfig.json index 4f1f2d7fc..d532d17a3 100644 --- a/conan-exilesconfig.json +++ b/conan-exilesconfig.json @@ -124,14 +124,13 @@ { "DisplayName":"Admin Password", "Category":"Server Settings", - "Description":"In-game \"admin\" user password (not the server password). NOTE: You must set this to allow use of the in-game admin panel.", + "Description":"To allow use of the in-game admin panel, set the \"admin\" user password in ConanSandbox/Saved/Config/WindowsServer/ServerSettings.ini. Add the setting on a new line immediately after the [ServerSettings] header, in the format: AdminPassword=yourpassword", "Keywords":"admin,password", "FieldName":"AdminPassword", - "InputType":"password", + "InputType":"hidden", "IsFlagArgument":false, - "ParamFieldName":"ini:ServerSettings:[ServerSettings]:AdminPassword", - "IncludeInCommandLine":true, - "DefaultValue":"{{newguid()}}", + "ParamFieldName":"AdminPassword", + "IncludeInCommandLine":false, "EnumValues":{} }, { @@ -211,4 +210,4 @@ "Special":"listfile:./conan-exiles/443030/ConanSandbox/Mods/modlist.txt", "EnumValues":{} } - ] \ No newline at end of file + ] diff --git a/conan-exilesconfigsettings.ini b/conan-exilesconfigsettings.ini deleted file mode 100644 index 514971ad4..000000000 --- a/conan-exilesconfigsettings.ini +++ /dev/null @@ -1,203 +0,0 @@ -[ServerSettings] -NPCMindReadingMode=0 -MaxNudity=0 -ServerCommunity=0 -ConfigVersion=10 -BlueprintConfigVersion=24 -PurgeNPCBuildingDamageMultiplier=(5.000000,5.000000,10.000000,15.000000,20.000000,25.000000) -BuildingPVPWhitelist=("80901","80111","80112","80915","80912") -PlayerKnockbackMultiplier=1.000000 -NPCKnockbackMultiplier=1.000000 -StructureDamageMultiplier=1.000000 -StructureHealthMultiplier=1.000000 -NPCRespawnMultiplier=1.000000 -NPCHealthMultiplier=1.000000 -PlayerDamageMultiplier=1.000000 -PlayerDamageTakenMultiplier=1.000000 -MinionDamageMultiplier=1.000000 -MinionDamageTakenMultiplier=1.000000 -NPCDamageMultiplier=1.000000 -NPCDamageTakenMultiplier=1.000000 -PlayerEncumbranceMultiplier=1.000000 -PlayerEncumbrancePenaltyMultiplier=1.000000 -PlayerMovementSpeedScale=1.000000 -PlayerStaminaCostSprintMultiplier=1.000000 -PlayerSprintSpeedScale=1.000000 -PlayerStaminaCostMultiplier=1.000000 -PlayerHealthRegenSpeedScale=1.000000 -PlayerXPRateMultiplier=1.000000 -PlayerXPKillMultiplier=1.000000 -PlayerXPHarvestMultiplier=1.000000 -PlayerXPCraftMultiplier=1.000000 -PlayerXPTimeMultiplier=1.000000 -DogsOfTheDesertSpawnWithDogs=False -CrossDesertOnce=True -ThrallExclusionRadius=500.000000 -MaxAggroRange=9000.000000 -FriendlyFireDamageMultiplier=0.250000 -CampsIgnoreLandclaim=True -AvatarDomeDurationMultiplier=1.000000 -AvatarDomeDamageMultiplier=1.000000 -NPCMaxSpawnCapMultiplier=1.000000 -serverRegion=0 -PVPEnabled=False -RestrictPVPTime=False -RestrictPVPBuildingDamageTime=False -PVPTimeMondayStart=0 -PVPTimeTuesdayStart=0 -PVPTimeWednesdayStart=0 -PVPTimeThursdayStart=0 -PVPTimeFridayStart=0 -PVPTimeSaturdayStart=0 -PVPTimeSundayStart=0 -PVPTimeMondayEnd=0 -PVPTimeTuesdayEnd=0 -PVPTimeWednesdayEnd=0 -PVPTimeThursdayEnd=0 -PVPTimeFridayEnd=0 -PVPTimeSaturdayEnd=0 -PVPTimeSundayEnd=0 -PVPEnabledMonday=False -PVPEnabledTuesday=False -PVPEnabledWednesday=False -PVPEnabledThursday=False -PVPEnabledFriday=False -PVPEnabledSaturday=False -PVPEnabledSunday=False -PVPBuildingDamageTimeMondayStart=0 -PVPBuildingDamageTimeTuesdayStart=0 -PVPBuildingDamageTimeWednesdayStart=0 -PVPBuildingDamageTimeThursdayStart=0 -PVPBuildingDamageTimeFridayStart=0 -PVPBuildingDamageTimeSaturdayStart=0 -PVPBuildingDamageTimeSundayStart=0 -PVPBuildingDamageTimeMondayEnd=0 -PVPBuildingDamageTimeTuesdayEnd=0 -PVPBuildingDamageTimeWednesdayEnd=0 -PVPBuildingDamageTimeThursdayEnd=0 -PVPBuildingDamageTimeFridayEnd=0 -PVPBuildingDamageTimeSaturdayEnd=0 -PVPBuildingDamageTimeSundayEnd=0 -PVPBuildingDamageEnabledMonday=False -PVPBuildingDamageEnabledTuesday=False -PVPBuildingDamageEnabledWednesday=False -PVPBuildingDamageEnabledThursday=False -PVPBuildingDamageEnabledFriday=False -PVPBuildingDamageEnabledSaturday=False -PVPBuildingDamageEnabledSunday=False -DisableBuildingDuringTimeRestrictedPVP=False -VocalVisibilityDurationInMinutes=5 -CombatModeModifier=0 -ContainersIgnoreOwnership=True -LandClaimRadiusMultiplier=1.000000 -DisableLandclaimNotifications=True -BuildingPreloadRadius=80.000000 -CanDamagePlayerOwnedStructures=False -DynamicBuildingDamage=False -DynamicBuildingDamagePeriod=1800 -ServerPassword= -ServerMessageOfTheDay= -KickAFKPercentage=80 -KickAFKTime=2700 -OfflinePlayersUnconsciousBodiesHours=168 -CorpsesPerPlayer=10 -PlayerCorpseLifeTime=1800.000000 -NPCCorpseLifeTime=600.000000 -ItemConvertionMultiplier=1.000000 -ThrallConversionMultiplier=1.000000 -FuelBurnTimeMultiplier=1.000000 -CraftingCostMultiplier=1.000000 -StaminaRegenerationTime=3.750000 -StaminaExhaustionTime=3.750000 -StaminaStaticRegenRateMultiplier=1.000000 -StaminaMovingRegenRateMultiplier=1.000000 -PlayerStaminaRegenSpeedScale=1.000000 -StaminaOnConsumeRegenPause=1.500000 -StaminaOnExhaustionRegenPause=2.750000 -ThrallScoutingTimeMinutes=10.000000 -ThrallMinDistanceAwayFromHome=5000.000000 -ThrallTeleportingCooldown=10.000000 -MinionPopulationBaseValue=50 -MinionPopulationPerPlayer=5 -MinionOverpopulationCleanup=60 -MinionOverpopulationAllowed=10 -UseMinionPopulationLimit=False -EnableFollowerRescueOnLandClaimOnly=True -EnableFollowerRescueInBuildExclusionZone=False -FollowerRescueCooldown=3600 -DamageCooldownBeforeRescue=600 -ThrallCorruptionRemovalMultiplier=1.000000 -PlayerCorruptionGainMultiplier=1.000000 -AnimalPenCraftingTimeMultiplier=1.000000 -FeedBoxRangeMultiplier=1.000000 -BuildingDamageMultiplier=1.000000 -PathFollowingSendsAngularVelocity=False -UnconsciousTimeSeconds=1800.000000 -ConciousnessDamageMultiplier=1.000000 -ThrallDamageToPlayersMultiplier=1.000000 -MaxBuildingDecayTime=1296000.000000 -MaxDecayTimeToAutoDemolish=604800.000000 -ThrallDecayTime=1296000.000000 -DisableThrallDecay=False -BuildingDecayTimePerScore=5400.000000 -BuildingDecayTimeMultiplier=1.000000 -DecayCleanupTimeMultiplier=2.000000 -DecayBonusTimeRate=600.000000 -DecayShowBuildingScore=False -EnableAutoFacingOnAttack=True -EnableTargetLock=True -CachedLandClaimRadiusMultiplier=1.000000 -ValidatePhysNavWalkWithRaycast=True -LocalNavMeshVisualizationFrequency=-1.000000 -LocalLandClaimVisualizationFrequency=-1.000000 -LocalLandClaimVisualizationRadius=3000 -LocalLandClaimVisualizationChannel=0 -UseLocalQuadraticAngularVelocityPrediction=False -LQAVPUseTime=0.150000 -LQAVPFadeTime=0.100000 -LQAVPMethod=2 -NetworkSimulatedSmoothRotationTimeWithLQAVP=0.100000 -EnableClanMarkers=True -ValidatePlayerStats=False -AllowedTimeUndermesh=-1.000000 -AllowedDistanceUndermeshSquared=490000.000000 -CapCharacterLayoutScalarParams=False -EventLogCauserPrivacy=1 -serverVoiceChat=1 -AvatarsDisabled=False -RestrictAvatarSummoningTime=False -AvatarSummoningTimeWeekdayStart=0 -AvatarSummoningTimeWeekdayEnd=0 -AvatarSummoningTimeWeekendStart=0 -AvatarSummoningTimeWeekendEnd=0 -AvatarLifetime=60.000000 -AvatarSummonTime=60.000000 -MaxDeathMapMarkers=3 -IsBattlEyeEnabled=False -IsVACEnabled=True -CanImportDirectlyFromSameServer=False -ServerTransferServersWhitelist= -MaxAllowedPing=0 -AllowFamilySharedAccount=True -RegionAllowAfrica=True -RegionAllowAsia=True -RegionAllowCentralEurope=True -RegionAllowEasternEurope=True -RegionAllowWesternEurope=True -RegionAllowNorthAmerica=True -RegionAllowOceania=True -RegionAllowSouthAmerica=True -RegionBlockList= -ServerModList= -InitialPurgeDelay=15.000000 -BuildingPickupEnabled=True -PoiProtectionEnabled=False -EventSystemEnabled=True -ServerMergeOutgoingTime=0 -ServerMergeDestination= -DisableChatFormatting=False -EnableLoginQueue=True -DisconnectionGraceTime=180 -bCanBeDamaged=True -AdminPassword=Password123 - From 5971d1851a3ddb8e22b704ed2d6714e3e708302f Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sun, 25 Jun 2023 23:03:06 -0500 Subject: [PATCH 228/318] Add Sons of the Forest (#406) * Add Sons of the Forest This adds Sons of the Forest. There are no known limitations, but one bug with the game server that if the ports aren't declared as command line args, it fails to start since the ports are not able to be read from the config file. This template caters to both so it should not be an issue. * Update sons-of-the-forestupdates.json * Update sons-of-the-forest.kvp * Update sons-of-the-forestconfig.json * Update sons-of-the-forest.kvp * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json --------- Co-authored-by: Greelan <53196309+Greelan@users.noreply.github.com> --- sons-of-the-forest.kvp | 90 ++++ sons-of-the-forestconfig.json | 580 ++++++++++++++++++++++++++ sons-of-the-forestdedicatedserver.cfg | 41 ++ sons-of-the-forestmetaconfig.json | 7 + sons-of-the-forestports.json | 23 + sons-of-the-forestupdates.json | 41 ++ 6 files changed, 782 insertions(+) create mode 100644 sons-of-the-forest.kvp create mode 100644 sons-of-the-forestconfig.json create mode 100644 sons-of-the-forestdedicatedserver.cfg create mode 100644 sons-of-the-forestmetaconfig.json create mode 100644 sons-of-the-forestports.json create mode 100644 sons-of-the-forestupdates.json diff --git a/sons-of-the-forest.kvp b/sons-of-the-forest.kvp new file mode 100644 index 000000000..8e26c2eab --- /dev/null +++ b/sons-of-the-forest.kvp @@ -0,0 +1,90 @@ +Meta.DisplayName=Sons Of The Forest +Meta.Description=Sons Of The Forest Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown +Meta.Arch=x86_64 +Meta.Author=IceOfWraith +Meta.URL=https://store.steampowered.com/app/1326470/Sons_Of_The_Forest/ +Meta.DisplayImageSource=steam:1326470 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort} +Meta.ConfigManifest=sons-of-the-forestconfig.json +Meta.MetaConfigManifest=sons-of-the-forestmetaconfig.json +Meta.ConfigRoot=sons-of-the-forest.kvp +Meta.MinAMPVersion=2.4.5.0 +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 8 (or later) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Sons Of The Forest +App.RootDir=./sons-of-the-forest/ +App.BaseDirectory=./sons-of-the-forest/2465200/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin=2465200\SonsOfTheForestDS.exe +App.ExecutableLinux=/usr/bin/xvfb-run +App.WorkingDir=2465200 +App.LinuxCommandLineArgs=-a wine "./SonsOfTheForestDS.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} -dedicatedserver.IpAddress "{{$ApplicationIPBinding}}" -dedicatedserver.GamePort "{{$GamePort}}" -dedicatedserver.QueryPort "{{$SteamQueryPort}}" -dedicatedserver.BlobSyncPort "{{$BlobSyncPort}}" -userdatapath "{{$FullBaseDir}}saves" {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"1326470","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} +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=@IncludeJson[sons-of-the-forestports.json] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=SteamQueryPort +App.MaxUsers=8 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=False +App.RemoteAdminPassword= +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.LoginTransformPrefix= +App.RCONConnectDelaySeconds=30 +App.RCONConnectRetrySeconds=15 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[sons-of-the-forestupdates.json] +App.PreStartStages=[] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=wine64 +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|Couldn't create a Convex Mesh from source mesh.*|No mesh data available for mesh.*|ALSA lib.*$ +Console.AppReadyRegex=^Game Activation Sequence step 7 : End of Sequence|\[Self-Tests\] Please restart the server.$ +Console.UserJoinRegex=^ValidateAuthTicketResponse success for (?<userid>.+?)$ +Console.UserLeaveRegex=^Unregistering client 2 with steam id (?<userid>.+?)$ +Console.UserChatRegex=^$ +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/sons-of-the-forestconfig.json b/sons-of-the-forestconfig.json new file mode 100644 index 000000000..a5f9b9e82 --- /dev/null +++ b/sons-of-the-forestconfig.json @@ -0,0 +1,580 @@ +[ + { + "DisplayName": "GamePort", + "Category": "Server Settings", + "Description": "UDP port used for gameplay netcode (Bolt).", + "Keywords": "", + "FieldName": "$GamePort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "$.GamePort", + "IncludeInCommandLine": false, + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "QueryPort", + "Category": "Server Settings", + "Description": "UDP port used by Steam to list the server and enable the discovery services.", + "Keywords": "", + "FieldName": "$SteamQueryPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "$.QueryPort", + "IncludeInCommandLine": false, + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "BlobSyncPort", + "Category": "Server Settings", + "Description": "BlobSyncPort UDP port used by the BlobSync system to initialize game systems and exchange data.", + "Keywords": "", + "FieldName": "$BlobSyncPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "$.BlobSyncPort", + "IncludeInCommandLine": false, + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "Server Name", + "Category": "SotF - Server Settings", + "Description": "Name of the server visible in the server list, and in the Steam contacts.", + "Keywords": "server,name", + "FieldName": "ServerName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "$.ServerName", + "IncludeInCommandLine": false, + "DefaultValue": "AMP Powered Sons Of The Forest Server", + "Placeholder": "AMP Powered Sons Of The Forest Server", + "EnumValues": {} + }, + { + "DisplayName": "Max Players", + "Category": "SotF - Server Settings", + "Description": "The maximum number of players allowed simultaneously on the server.", + "Keywords": "max,players", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "$.MaxPlayers", + "IncludeInCommandLine": false, + "DefaultValue": "8", + "Placeholder": "8", + "Suffix": "players", + "EnumValues": {} + }, + { + "DisplayName": "Password", + "Category": "SotF - Server Settings", + "Description": "Adds a password to make your server \"private\". Upon connection, this password will be requested before the client can proceed.", + "Keywords": "password", + "FieldName": "Password", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "$.Password", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "LAN Only", + "Category": "SotF - Server Settings", + "Description": "Allows or restricts the server visibility to LAN only.", + "Keywords": "lan,only", + "FieldName": "LanOnly", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.LanOnly", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Save Slot", + "Category": "SotF - Server Settings", + "Description": "When creating a new save, this number will be the id of the save.", + "Keywords": "save,slot", + "FieldName": "SaveSlot", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "$.SaveSlot", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "Placeholder": "1", + "EnumValues": {} + }, + { + "DisplayName": "Save Mode", + "Category": "SotF - Server Settings", + "Description": "\"Continue\" will create a new save if it doesn’t exist, or load it if it exists. \"New\" will create a new game and overwrite any game save on the SaveSlot. The save will be overwritten as long as the mode is set to \"New\".", + "Keywords": "save,mode", + "FieldName": "SaveMode", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.SaveMode", + "IncludeInCommandLine": false, + "DefaultValue": "continue", + "EnumValues": { + "Continue": "Continue", + "New": "New" + } + }, + { + "DisplayName": "Game Mode", + "Category": "SotF - Server Settings", + "Description": "Sets the game mode when creating a new save. This is ignored if loading a save. If set to \"custom\", the custom game mode settings will be read from \"SotF - Game Settings\".", + "Keywords": "game,mode", + "FieldName": "GameMode", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.GameMode", + "IncludeInCommandLine": false, + "DefaultValue": "normal", + "EnumValues": { + "Normal": "Normal", + "Hard": "Hard", + "Hardsurvival": "Hard Survival", + "Peaceful": "Peaceful", + "Custom": "Custom" + } + }, + { + "DisplayName": "Save Interval", + "Category": "SotF - Server Settings", + "Description": "How often the game server automatically saves the game to SaveSlot, in seconds.", + "Keywords": "save,interval", + "FieldName": "SaveInterval", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "$.SaveInterval", + "IncludeInCommandLine": false, + "DefaultValue": "600", + "Placeholder": "600", + "Suffix": "seconds", + "EnumValues": {} + }, + { + "DisplayName": "Idle Day Cycle Speed", + "Category": "SotF - Server Settings", + "Description": "A multiplier to how quickly the time passes compared to normal gameplay when the server is considered idle (no player connected).", + "Keywords": "idle,day,cycle,speed", + "FieldName": "IdleDayCycleSpeed", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "$.IdleDayCycleSpeed", + "IncludeInCommandLine": false, + "DefaultValue": "0.0", + "Placeholder": "0.0", + "Suffix": "multiplier", + "EnumValues": {} + }, + { + "DisplayName": "Idle Target Framerate", + "Category": "SotF - Server Settings", + "Description": "Target framerate of the server when it’s considered idle (no player connected).", + "Keywords": "idle,target,framerate", + "FieldName": "IdleTargetFramerate", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "$.IdleTargetFramerate", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "Placeholder": "5", + "Suffix": "fps", + "EnumValues": {} + }, + { + "DisplayName": "Active Target Framerate", + "Category": "SotF - Server Settings", + "Description": "Target framerate of the server when it’s NOT considered idle (one or more player connected).", + "Keywords": "active,target,framerate", + "FieldName": "ActiveTargetFramerate", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "$.ActiveTargetFramerate", + "IncludeInCommandLine": false, + "DefaultValue": "60", + "Placeholder": "60", + "Suffix": "fps", + "EnumValues": {} + }, + { + "DisplayName": "Log Files Enabled", + "Category": "SotF - Server Settings", + "Description": "Defines if the logs will be written to files.", + "Keywords": "log,files,enabled", + "FieldName": "LogFilesEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.LogFilesEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Timestamp Log Filenames", + "Category": "SotF - Server Settings", + "Description": "Every server start will create a new timestamped file. If disabled, the previous log will be overwritten.", + "Keywords": "timestamp,log,filenames", + "FieldName": "TimestampLogFilenames", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.TimestampLogFilenames", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Timestamp Log Entries", + "Category": "SotF - Server Settings", + "Description": "Enables each log entry written to file to be timestamped.", + "Keywords": "timestamp,log,entries", + "FieldName": "TimestampLogEntries", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.TimestampLogEntries", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName":"Server Owners", + "Category":"SotF - Server Settings", + "Description":"Add the Steam64 IDs of every server owner, one steam id per line. Use # to comment out a line to keep track of SteamIDs. Include their name in the line above. [Find Steam64 IDs](https://steamidfinder.com/)", + "Keywords":"server,owners,admins", + "FieldName":"ServerOwners", + "InputType":"list", + "IsFlagArgument":false, + "ParamFieldName":"ServerOwners", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Special":"listfile:./sons-of-the-forest/2465200/saves/ownerswhitelist.txt", + "EnumValues": {} + }, + { + "DisplayName": "Server IP Binding", + "Category": "SotF - Server Settings", + "Description": "If required, you can change the binding of the server to an internal interface IP by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first.", + "Keywords": "binding,ip", + "FieldName": "$ApplicationIPBinding", + "InputType": "hidden", + "IsFlagArgument": false, + "ParamFieldName": "$.IpAddress", + "IncludeInCommandLine": false, + "EnumValues": {} + }, + { + "DisplayName": "Game Mode Info", + "Category": "SotF - Game Settings", + "Description": "In order for these settings to take effect, you should choose \"Custom\" for the Gmae Mode in \"SotF - Server Settings\".", + "Keywords": "game,mode,info", + "FieldName": "GameModeInfo", + "InputType": "hidden", + "IsFlagArgument": false, + "ParamFieldName": "$.GameModeInfo", + "IncludeInCommandLine": false, + "EnumValues": {} + }, + { + "DisplayName": "Tree Regrowth", + "Category": "SotF - Game Settings", + "Description": "Enable automatic tree regrowth, triggered when sleeping.", + "Keywords": "tree,regrowth", + "FieldName": "TreeRegrowth", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.GameSettings['Gameplay.TreeRegrowth']", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Structure Damage", + "Category": "SotF - Game Settings", + "Description": "Allow buildings to be damaged.", + "Keywords": "structure,damage", + "FieldName": "StructureDamage", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.GameSettings['Structure.Damage']", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enemy Spawn", + "Category": "SotF - Game Settings", + "Description": "Enable enemies spawning.", + "Keywords": "enemy,spawn", + "FieldName": "EnemySpawn", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemySpawn']", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enemy Health", + "Category": "SotF - Game Settings", + "Description": "Adjust enemy starting health.", + "Keywords": "enemy,health", + "FieldName": "EnemyHealth", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyHealth']", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Low": "Low", + "Normal": "Normal", + "High": "High" + } + }, + { + "DisplayName": "Enemy Damage", + "Category": "SotF - Game Settings", + "Description": "Adjust damage enemies can do.", + "Keywords": "enemy,damage", + "FieldName": "EnemyDamage", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyDamage']", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Low": "Low", + "Normal": "Normal", + "High": "High" + } + }, + { + "DisplayName": "Enemy Armour", + "Category": "SotF - Game Settings", + "Description": "Adjust enemies armour strength.", + "Keywords": "enemy,armour,armor", + "FieldName": "EnemyArmour", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyArmour']", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Low": "Low", + "Normal": "Normal", + "High": "High" + } + }, + { + "DisplayName": "Enemy Aggression", + "Category": "SotF - Game Settings", + "Description": "Adjust enemy aggression level.", + "Keywords": "enemy,aggression", + "FieldName": "EnemyAggression", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyAggression']", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Low": "Low", + "Normal": "Normal", + "High": "High" + } + }, + { + "DisplayName": "Animal Spawn Rate", + "Category": "SotF - Game Settings", + "Description": "Adjust animal spawn rate.", + "Keywords": "animal,spawn,rate", + "FieldName": "AnimalSpawnRate", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.AnimalSpawnRate']", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Low": "Low", + "Normal": "Normal", + "High": "High" + } + }, + { + "DisplayName": "Starting Season", + "Category": "SotF - Game Settings", + "Description": "Set environmental starting season.", + "Keywords": "starting,season", + "FieldName": "StartingSeason", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.StartingSeason']", + "IncludeInCommandLine": false, + "DefaultValue": "Spring", + "EnumValues": { + "Spring": "Spring", + "Summer": "Summer", + "Autumn": "Autumn", + "Winter": "Winter" + } + }, + { + "DisplayName": "Season Length", + "Category": "SotF - Game Settings", + "Description": "Adjust season length.", + "Keywords": "season,length", + "FieldName": "SeasonLength", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.SeasonLength']", + "IncludeInCommandLine": false, + "DefaultValue": "Default", + "EnumValues": { + "Short": "Short", + "Default": "Default", + "Long": "Long", + "Realistic": "Realistic" + } + }, + { + "DisplayName": "Day Length", + "Category": "SotF - Game Settings", + "Description": "Adjust day length.", + "Keywords": "day,length", + "FieldName": "DayLength", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.DayLength']", + "IncludeInCommandLine": false, + "DefaultValue": "Default", + "EnumValues": { + "Short": "Short", + "Default": "Default", + "Long": "Long", + "Realistic": "Realistic" + } + }, + { + "DisplayName": "Precipitation Frequency", + "Category": "SotF - Game Settings", + "Description": "Adjust the frequency of rain and snow.", + "Keywords": "precipitation,frequency", + "FieldName": "PrecipitationFrequency", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.PrecipitationFrequency']", + "IncludeInCommandLine": false, + "DefaultValue": "Default", + "EnumValues": { + "Low": "Low", + "Default": "Default", + "High": "High" + } + }, + { + "DisplayName": "Consumable Effects", + "Category": "SotF - Game Settings", + "Description": "Enable damage taken when low hydration and low fullness.", + "Keywords": "consumable,effects", + "FieldName": "ConsumableEffects", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.ConsumableEffects']", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Normal": "Normal", + "Hard": "Hard" + } + }, + { + "DisplayName": "Player Stats Damage", + "Category": "SotF - Game Settings", + "Description": "Enable damage from each bad or rotten food and drink.", + "Keywords": "player,stats,damage", + "FieldName": "PlayerStatsDamage", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.PlayerStatsDamage']", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Off": "Off", + "Normal": "Normal", + "Hard": "Hard" + } + }, + { + "DisplayName": "Cold Penalties", + "Category": "SotF - Game Settings", + "Description": "Adjusts the severity that cold will affect health and stamina regeneration.", + "Keywords": "cold,penalties", + "FieldName": "ColdPenalties", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.ColdPenalties']", + "IncludeInCommandLine": false, + "DefaultValue": "Normal", + "EnumValues": { + "Off": "Off", + "Normal": "Normal", + "Hard": "Hard" + } + }, + { + "DisplayName": "Reduced Food In Containers", + "Category": "SotF - Game Settings", + "Description": "Reduces the amount of food found in containers.", + "Keywords": "reduced,food,in,containers", + "FieldName": "ReducedFoodInContainers", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.ReducedFoodInContainers']", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Single Use Containers", + "Category": "SotF - Game Settings", + "Description": "Containers can only be opened once.", + "Keywords": "single,use,containers", + "FieldName": "SingleUseContainers", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.SingleUseContainers']", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + } +] diff --git a/sons-of-the-forestdedicatedserver.cfg b/sons-of-the-forestdedicatedserver.cfg new file mode 100644 index 000000000..47c1af77f --- /dev/null +++ b/sons-of-the-forestdedicatedserver.cfg @@ -0,0 +1,41 @@ +{ + "IpAddress": "0.0.0.0", + "GamePort": 8766, + "QueryPort": 27016, + "BlobSyncPort": 9700, + "ServerName": "AMP Powered Sons Of The Forest Server", + "MaxPlayers": 8, + "Password": "", + "LanOnly": false, + "SaveSlot": 1, + "SaveMode": "Continue", + "GameMode": "Normal", + "SaveInterval": 600, + "IdleDayCycleSpeed": 0.0, + "IdleTargetFramerate": 5, + "ActiveTargetFramerate": 60, + "LogFilesEnabled": false, + "TimestampLogFilenames": true, + "TimestampLogEntries": true, + "GameSettings": { + "Gameplay.TreeRegrowth": true, + "Structure.Damage": true + }, + "CustomGameModeSettings": { + "GameSetting.Vail.EnemySpawn": true, + "GameSetting.Vail.EnemyHealth": "Normal", + "GameSetting.Vail.EnemyDamage": "Normal", + "GameSetting.Vail.EnemyArmour": "Normal", + "GameSetting.Vail.EnemyAggression": "Normal", + "GameSetting.Vail.AnimalSpawnRate": "Normal", + "GameSetting.Environment.StartingSeason": "Summer", + "GameSetting.Environment.SeasonLength": "Default", + "GameSetting.Environment.DayLength": "Default", + "GameSetting.Environment.PrecipitationFrequency": "Default", + "GameSetting.Survival.ConsumableEffects": "Normal", + "GameSetting.Survival.PlayerStatsDamage": "Off", + "GameSetting.Survival.ColdPenalties": "Off", + "GameSetting.Survival.ReducedFoodInContainers": false, + "GameSetting.Survival.SingleUseContainers": false + } +} \ No newline at end of file diff --git a/sons-of-the-forestmetaconfig.json b/sons-of-the-forestmetaconfig.json new file mode 100644 index 000000000..8c2537c88 --- /dev/null +++ b/sons-of-the-forestmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile": "saves/dedicatedserver.cfg", + "AutoMap": true, + "ConfigType": "json" + } +] \ No newline at end of file diff --git a/sons-of-the-forestports.json b/sons-of-the-forestports.json new file mode 100644 index 000000000..4e78c52d0 --- /dev/null +++ b/sons-of-the-forestports.json @@ -0,0 +1,23 @@ +[ + { + "Protocol": "UDP", + "Port": "8766", + "Name": "Game Port", + "Description": "UDP port used for gameplay netcode (Bolt).", + "Ref": "GamePort" + }, + { + "Protocol": "UDP", + "Port": "27016", + "Name": "Steam Query Port", + "Description": "UDP port used by Steam to list the server and enable the discovery services.", + "Ref": "SteamQueryPort" + }, + { + "Protocol": "UDP", + "Port": "9700", + "Name": "Blob Sync Port", + "Description": "BlobSyncPort UDP port used by the BlobSync system to initialize game systems and exchange data.", + "Ref": "BlobSyncPort" + } +] \ No newline at end of file diff --git a/sons-of-the-forestupdates.json b/sons-of-the-forestupdates.json new file mode 100644 index 000000000..8c1447101 --- /dev/null +++ b/sons-of-the-forestupdates.json @@ -0,0 +1,41 @@ +[ + { + "UpdateStageName": "SteamCMD Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "SteamCMD", + "UpdateSourceData": "2465200", + "UpdateSourceArgs": "1326470", + "UpdateSourceVersion": "", + "UpdateSourceTarget": "", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": false, + "ForceDownloadPlatform": "Windows", + "UpdateSourceConditionSetting": null, + "UpdateSourceConditionValue": null, + "DeleteAfterExtract": true, + "OneShot": false + }, + { + "UpdateStageName":"Create Config Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}saves", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Base Config Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/sons-of-the-forestdedicatedserver.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}saves", + "UpdateSourceArgs":"dedicatedserver.cfg", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" + } +] \ No newline at end of file From b1f2e52c7a0a9d9cdfcfc72cfc88328ce059a14d Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 28 Jun 2023 00:13:25 -0500 Subject: [PATCH 229/318] Update Sons Of The Forest (#407) This adds a new setting that allows users to bypass the port checking. It also adds filtering for a benign error. --- sons-of-the-forest.kvp | 2 +- sons-of-the-forestconfig.json | 16 ++++++++++++++++ sons-of-the-forestdedicatedserver.cfg | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/sons-of-the-forest.kvp b/sons-of-the-forest.kvp index 8e26c2eab..a9b415c89 100644 --- a/sons-of-the-forest.kvp +++ b/sons-of-the-forest.kvp @@ -72,7 +72,7 @@ App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|Couldn't create a Convex Mesh from source mesh.*|No mesh data available for mesh.*|ALSA lib.*$ +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|Couldn't create a Convex Mesh from source mesh.*|No mesh data available for mesh.*|ALSA lib.*|\[FMOD\] Error \(ERR_INVALID_HANDLE\): An invalid object handle was used\.$ Console.AppReadyRegex=^Game Activation Sequence step 7 : End of Sequence|\[Self-Tests\] Please restart the server.$ Console.UserJoinRegex=^ValidateAuthTicketResponse success for (?<userid>.+?)$ Console.UserLeaveRegex=^Unregistering client 2 with steam id (?<userid>.+?)$ diff --git a/sons-of-the-forestconfig.json b/sons-of-the-forestconfig.json index a5f9b9e82..ebba49aea 100644 --- a/sons-of-the-forestconfig.json +++ b/sons-of-the-forestconfig.json @@ -253,6 +253,22 @@ "False": "false" } }, + { + "DisplayName": "Skip Network Accessibility Test", + "Category": "SotF - Server Settings", + "Description": "Skips a port test that can cause the server to fail to start. This test can be a sign of incorrect port forwarding, but sometimes has false positives.", + "Keywords": "skip,network,accessibility,test", + "FieldName": "SkipNetworkAccessibilityTest", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "$.SkipNetworkAccessibilityTest", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, { "DisplayName":"Server Owners", "Category":"SotF - Server Settings", diff --git a/sons-of-the-forestdedicatedserver.cfg b/sons-of-the-forestdedicatedserver.cfg index 47c1af77f..18e898aab 100644 --- a/sons-of-the-forestdedicatedserver.cfg +++ b/sons-of-the-forestdedicatedserver.cfg @@ -17,6 +17,7 @@ "LogFilesEnabled": false, "TimestampLogFilenames": true, "TimestampLogEntries": true, + "SkipNetworkAccessibilityTest": false, "GameSettings": { "Gameplay.TreeRegrowth": true, "Structure.Damage": true From d4d07af273ffc81f4956848ff0de91a68087fef4 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 28 Jun 2023 23:24:47 -0500 Subject: [PATCH 230/318] Update README.md (#408) GitHub Sites is busted on my repo, so hosting it here for now until I tidy up the issues I've found. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5bb2a0a98..cea1feb27 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ See the wiki article for the module: https://github.com/CubeCoders/AMP/wiki/Conf You can also use the online configurator at https://config.getamp.sh/ to help with building templates. -*There is a much more robust version of the [online configuration tool](https://iceofwraith.github.io/GenericConfigGen/) that is still in beta. This should provide much better results than the above even so. If you have any feedback, please contact IceOfWraith in the CubeCoders Discord. +*There is a much more robust version of the [online configuration tool](https://config.iceofwraith.com/) that is still in beta. This should provide much better results than the above even so. If you have any feedback, please contact IceOfWraith in the CubeCoders Discord. # Sharing Templates Right now the following restrictions apply to templates that may be publicly shared via this repository (some of these will be relaxed over time): From 8898ec0eef1f3f85efc19168c90b4c40d52c659b Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 29 Jun 2023 22:22:47 -0500 Subject: [PATCH 231/318] Update 7D2D Default Config File (#409) alpha 21 is the new public version. This is updating it to match. --- seven-days-to-dieconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json index c71af7271..6d4d0eef0 100644 --- a/seven-days-to-dieconfig.json +++ b/seven-days-to-dieconfig.json @@ -1229,7 +1229,7 @@ "IsFlagArgument":false, "ParamFieldName":"ConfigFile", "IncludeInCommandLine":false, - "DefaultValue":"seven-days-settings204", + "DefaultValue":"seven-days-settings210", "EnumValues":{ "seven-days-settings184": "18.4", "seven-days-settings196": "19.6", From f871f29cf619c0db0f83a1c2504d0d84e580b3a4 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 29 Jun 2023 22:37:57 -0500 Subject: [PATCH 232/318] Update ConfigRequest.md (#410) --- .github/ISSUE_TEMPLATE/ConfigRequest.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/ConfigRequest.md b/.github/ISSUE_TEMPLATE/ConfigRequest.md index 864823f61..a37c1c793 100644 --- a/.github/ISSUE_TEMPLATE/ConfigRequest.md +++ b/.github/ISSUE_TEMPLATE/ConfigRequest.md @@ -5,7 +5,8 @@ about: To request a new application configuration # Module Request -Note: Please try setting up a configuration yourself before raising an issue to request a configuration: https://config.getamp.sh/ +Note: Please try setting up a configuration yourself before raising an issue to request a configuration: ~~https://config.getamp.sh/~~ +***There is a newer beta version available at https://config.iceofwraith.com ## Game Information: @@ -20,5 +21,5 @@ Supports RCON/Console input? - [ ] that the server is an official server distributed by the games publishers/developers. - [ ] that the server is available to the general public. - [ ] that the server can be run headless (without a GUI). -- [ ] I have already attempted to create a configuration myself using the configuration tool at https://config.getamp.sh/ +- [ ] I have already attempted to create a configuration myself using the configuration tool - [x] that my checkboxes above look like the one on the left (remove this line when done) From 8d6eabaa6aa67587cd8fb3780f8788662bac5010 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sun, 2 Jul 2023 06:57:07 -0500 Subject: [PATCH 233/318] Update Randompassword Inputs (#412) * Update Randompassword Inputs * add {{newguid()}} * Update space-engineers-genericconfig.json * Changes --- killing-floor-2config.json | 4 ++-- portal-knightsconfig.json | 4 ++-- space-engineers-genericconfig.json | 2 +- the-forestconfig.json | 2 +- wurm-unlimitedconfig.json | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/killing-floor-2config.json b/killing-floor-2config.json index 14479001a..0390bed24 100644 --- a/killing-floor-2config.json +++ b/killing-floor-2config.json @@ -91,11 +91,11 @@ "Description": "Password to become admin in-game. Username is \"admin\". Change this after install.", "Keywords": "admin,password", "FieldName": "AdminPassword", - "InputType": "RandomPassword", + "InputType": "password", "IsFlagArgument": false, "ParamFieldName": "Engine.AccessControl.AdminPassword", "IncludeInCommandLine": false, - "DefaultValue": "Password123", + "DefaultValue": "{{newguid()}}", "EnumValues": {} }, { diff --git a/portal-knightsconfig.json b/portal-knightsconfig.json index d86eb7412..b4aed9961 100644 --- a/portal-knightsconfig.json +++ b/portal-knightsconfig.json @@ -114,11 +114,11 @@ "Description":"Choose the password used to access your dedicated server by the Admin user group.", "Keywords":"admin,password", "FieldName":"adminscredentialspassword", - "InputType":"RandomPassword", + "InputType":"password", "IsFlagArgument":false, "ParamFieldName":"$.admins.credentials.password", "IncludeInCommandLine":false, - "DefaultValue":"admin_password_please_change", + "DefaultValue":"{{newguid()}}", "EnumValues":{} }, { diff --git a/space-engineers-genericconfig.json b/space-engineers-genericconfig.json index ae13bf923..b77062c59 100644 --- a/space-engineers-genericconfig.json +++ b/space-engineers-genericconfig.json @@ -588,7 +588,7 @@ "Description": "The password used to access the Remote API.", "Keywords": "Remote,API,security,key", "FieldName": "RemoteSecurityKey", - "InputType": "RandomPassword", + "InputType": "password", "IsFlagArgument": false, "ParamFieldName": "/MyConfigDedicated/RemoteSecurityKey", "IncludeInCommandLine": false, diff --git a/the-forestconfig.json b/the-forestconfig.json index 36fa9169f..22ae7b0ab 100644 --- a/the-forestconfig.json +++ b/the-forestconfig.json @@ -104,7 +104,7 @@ "Description": "Server administration password. Blank means no password.", "Keywords": "server,admin,password", "FieldName": "serverPasswordAdmin", - "InputType": "RandomPassword", + "InputType": "password", "IsFlagArgument": false, "ParamFieldName": "serverPasswordAdmin", "IncludeInCommandLine": false, diff --git a/wurm-unlimitedconfig.json b/wurm-unlimitedconfig.json index 60787566b..ffe6b808f 100644 --- a/wurm-unlimitedconfig.json +++ b/wurm-unlimitedconfig.json @@ -31,11 +31,11 @@ "Description": "Unlocks the admin commands from within the game, that can be used to change the gameplay settings of the server, such as skill gain rate and field growth time.", "Keywords": "admin,password", "FieldName": "adminpwd", - "InputType": "RandomPassword", + "InputType": "password", "IsFlagArgument": false, "ParamFieldName": "adminpwd", "IncludeInCommandLine": true, - "DefaultValue": "Password123" + "DefaultValue": "{{newguid()}}" }, { "DisplayName": "Max Players", From 28680c5fd2851c9632c74f7e824b8e789f7f335a Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 4 Jul 2023 19:51:23 +0300 Subject: [PATCH 234/318] The Isle Evrima: address app ready logging (#413) --- theisle-evrima.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/theisle-evrima.kvp b/theisle-evrima.kvp index 718a44d7e..4cf46d485 100644 --- a/theisle-evrima.kvp +++ b/theisle-evrima.kvp @@ -21,8 +21,8 @@ App.ExecutableWin=412680/TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe App.ExecutableLinux=412680/TheIsle/Binaries/Linux/TheIsleServer-Linux-Shipping App.WorkingDir=412680 App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs=-FullStdOutLogOutput -App.CommandLineArgs=TheIsle -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout {{$PlatformArgs}} -ini:Engine:[EpicOnlineServices]:DedicatedServerClientId=xyza7891gk5PRo3J7G9puCJGFJjmEguW -ini:Engine:[EpicOnlineServices]:DedicatedServerClientSecret=pKWl6t5i9NJK8gTpVlAxzENZ65P8hYzodV8Dqe5Rlc8 +App.WindowsCommandLineArgs= +App.CommandLineArgs=TheIsle {{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout -FullStdOutLogOutput -ini:Engine:[EpicOnlineServices]:DedicatedServerClientId=xyza7891gk5PRo3J7G9puCJGFJjmEguW -ini:Engine:[EpicOnlineServices]:DedicatedServerClientSecret=pKWl6t5i9NJK8gTpVlAxzENZ65P8hYzodV8Dqe5Rlc8 App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210"} App.CommandLineParameterFormat=-{0}={1} From e2d9dbab4ba3f7460f5bbf061598916de2747e4d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 5 Jul 2023 23:18:57 +0300 Subject: [PATCH 235/318] Add Ground Branch (#393) --- ground-branch.kvp | 100 +++++ ground-branchconfig.json | 727 +++++++++++++++++++++++++++++++++++ ground-branchmetaconfig.json | 30 ++ ground-branchserver.ini | 15 + ground-branchteamkill.ini | 4 + ground-branchupdates.json | 56 +++ ground-branchvote.ini | 30 ++ 7 files changed, 962 insertions(+) create mode 100644 ground-branch.kvp create mode 100644 ground-branchconfig.json create mode 100644 ground-branchmetaconfig.json create mode 100644 ground-branchserver.ini create mode 100644 ground-branchteamkill.ini create mode 100644 ground-branchupdates.json create mode 100644 ground-branchvote.ini diff --git a/ground-branch.kvp b/ground-branch.kvp new file mode 100644 index 000000000..2f40ee431 --- /dev/null +++ b/ground-branch.kvp @@ -0,0 +1,100 @@ +Meta.DisplayName=Ground Branch +Meta.Description=Ground Branch Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://www.groundbranch.com/ +Meta.DisplayImageSource=steam:16900 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.ConfigManifest=ground-branchconfig.json +Meta.MetaConfigManifest=ground-branchmetaconfig.json +Meta.ConfigRoot=ground-branch.kvp +Meta.MinAMPVersion=2.4.4.0 +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 +Meta.DockerRequired=False +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 8 to run on Linux. Using a container avoids the need to install this dependency on the host. +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= +App.DisplayName=Ground Branch +App.RootDir=./ground-branch/ +App.BaseDirectory=./ground-branch/476400/ +App.SteamWorkshopDownloadLocation={{$FullBaseDir}}GroundBranch/Mods +App.ExecutableWin=476400\GroundBranch\Binaries\Win64\GroundBranchServer-Win64-Shipping.exe +App.ExecutableLinux=/usr/bin/wine +App.WorkingDir=476400 +App.LinuxCommandLineArgs="./GroundBranch/Binaries/Win64/GroundBranchServer-Win64-Shipping.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{ServerMap}}?Mission={{ServerMission}}?{{$FormattedArgs}}{{CustomServerArgs}} Port={{$GamePort}} QueryPort={{$QueryPort}} MultiHome={{$ApplicationIPBinding}} -nohomedir -stdout -FullStdOutLogOutput +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"SteamAppId":"16900","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} +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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=16 +App.UseRandomAdminPassword=True +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[ground-branchupdates.json] +App.PreStartStages=[] +App.ForceUpdate=False +App.ForceUpdateReason= +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName=GroundBranchServer-Win64-Shipping.exe +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogWorld: Bringing up level for play took: \d+\.\d+$ +Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogNet: SteamSockets: New connection \(\d+\) over listening socket accepted (?<steamid>\d+?):\d+$ +Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogNet: UChannel::CleanUp: ChIndex == \d+\. Closing connection\. (?:.*?) RemoteAddr: (?<steamid>\d+?):\d+, (?:.*?)$ +Console.UserChatRegex=^$ +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 diff --git a/ground-branchconfig.json b/ground-branchconfig.json new file mode 100644 index 000000000..8066122cc --- /dev/null +++ b/ground-branchconfig.json @@ -0,0 +1,727 @@ +[ + { + "DisplayName":"Server Name", + "Category":"Ground Branch Server", + "Description":"Sets the name of the server as shown in the server browser. Maximum 64 characters", + "Keywords":"name,servername", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Ground Branch Server", + "EnumValues":{} + }, + { + "DisplayName":"MOTD", + "Category":"Ground Branch Server", + "Description":"Sets the player welcome message (MOTD). Maximum 512 characters. <br> = line break, <b> = bold line, <h1 - 3> = heading 1, 2, 3 etc", + "Keywords":"motd,welcome,message,servermotd", + "FieldName":"ServerMOTD", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.ServerMOTD", + "IncludeInCommandLine":false, + "DefaultValue":"<h1>Welcome!<br>This is my Ground Branch server.<br><b>Enjoy!", + "Placeholder":"<h1>Welcome!<br>This is my Ground Branch server.<br><b>Enjoy!", + "EnumValues":{} + }, + { + "DisplayName":"Server Web Banner", + "Category":"Ground Branch Server", + "Description":"Sets the URL of a jpg image to act as a server banner in-game where possible. Recommended resolution = 788 x 386", + "Keywords":"web,banner,serverwebbanner", + "FieldName":"ServerWebBanner", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.ServerWebBanner", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"www.images.com/myimage.jpeg", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Ground Branch Server", + "Description":"Sets the password for players to join the server. Default is no password", + "Keywords":"server,password,serverpassword", + "FieldName":"ServerPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.ServerPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Spectator Password", + "Category":"Ground Branch Server", + "Description":"Sets the password to join the server as a permanent spectator. Default is no password", + "Keywords":"server,password,spectator,spectatoronlypassword", + "FieldName":"SpectatorOnlyPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.SpectatorOnlyPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Map List", + "Category":"Ground Branch Server", + "Description":"A map list can be specified in GroundBranch/ServerConfig/MapList.ini. Used for automatic rotation or voting selection of maps. The map list is easiest to build from the in-game Admin menu, but can also be done manually", + "Keywords":"map,list,maplist", + "FieldName":"MapList", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"MapList", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Map", + "Category":"Ground Branch Server", + "Description":"Sets the map for the server, if no map list is specified in MapList.ini. Requires the Server Mission also to be set, otherwise the Server Default map will be used. To use a map not listed in the dropdown, select Custom and set the \"Custom Map Name\"", + "Keywords":"map", + "FieldName":"ServerMap", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerMap", + "IncludeInCommandLine":false, + "DefaultValue":"747", + "EnumValues":{ + "747":"747", + "Arena":"Arena", + "Arena2":"Arena II", + "City":"City", + "Compound":"Compound", + "Creek":"Creek", + "Depot":"Depot", + "Depot_Compound":"Depot (Compound)", + "Docks":"Docks", + "Paintball":"Paintball", + "PowerStation":"Power Station", + "RunDown":"Run Down", + "Rig":"Rig", + "SmallTown":"Small Town", + "StorageFacility":"Storage Facility", + "Tanker":"Tanker", + "TheFarm":"The Farm", + "{{CustomMap}}":"Custom" + } + }, + { + "DisplayName":"Custom Map Name", + "Category":"Ground Branch Server", + "Description":"Sets a custom map for the server. Custom type must be selected under \"Server Map\"", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Mission", + "Category":"Ground Branch Server", + "Description":"Sets the mission to be used with the selected map. Check missions available for a map in GroundBranch/Content/GroundBranch/Mission. To use a mission not listed in the dropdown, select Custom and set the \"Custom Mission Name\"", + "Keywords":"mission", + "FieldName":"ServerMission", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerMission", + "IncludeInCommandLine":false, + "DefaultValue":"Deathmatch", + "EnumValues":{ + "Deathmatch":"Deathmatch", + "DTAS":"Dynamic Take and Secure (DTAS)", + "HostageRescue":"Hostage Rescue", + "IntelRetrieval":"Intel Retrieval", + "LastManStanding":"Last Man Standing", + "TeamElimination":"Team Elimination", + "TerroristHunt":"Terrorist Hunt", + "Training":"Training", + "Uplink":"Uplink", + "{{CustomMission}}":"Custom" + } + }, + { + "DisplayName":"Custom Mission Name", + "Category":"Ground Branch Server", + "Description":"Sets a custom mission to be used with the selected map. Custom type must be selected under \"Server Mission\"", + "Keywords":"custom,mission", + "FieldName":"CustomMission", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMission", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"", + "EnumValues":{} + }, + { + "DisplayName":"Server IP Binding", + "Category":"Ground Branch Server", + "Description":"If required, you can change the binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", + "Keywords":"ip,binding,multihome", + "FieldName":"MultiHome", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"MultiHome", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Ground Branch Server", + "Description":"Sets the maximum number of players that may connect to the server at one time. Recommended maximums: PvE/Co-op = 8, PvP = 16", + "Keywords":"maximum,players,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "MaxValue":"16", + "IsFlagArgument":false, + "ParamFieldName":"MaxPlayers", + "IncludeInCommandLine":true, + "DefaultValue":"16", + "Placeholder":"16", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Ground Branch Server", + "Description":"", + "Keywords":"", + "FieldName":"$MaxUsers", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.MaxPlayers", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Spectator Limit", + "Category":"Ground Branch Server", + "Description":"Sets the maximum number of spectators that may connect to the server at one time", + "Keywords":"maximum,spectators,limit,maxspectators", + "FieldName":"MaxSpectators", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.MaxSpectators", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"spectators", + "EnumValues":{} + }, + { + "DisplayName":"Server Admins", + "Category":"Ground Branch Server", + "Description":"Server admins can be specified in GroundBranch/ServerConfig/Admin.ini. Each admin on a new line, in the format: Admins=(Name=\"<name>\",UniqueId=\"<uniqueid>\",ContactInfo=\"<optional>\",Group=\"<group>\")", + "Keywords":"server,admins,serveradmins", + "FieldName":"ServerAdmins", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"ServerAdmins", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Additional Command Line Options", + "Category":"Ground Branch Server", + "Description":"Specifies additional command line options (if any) that are not otherwise set by AMP. ONE LINE ONLY! Format: ?<setting>=<value> (with no spaces between settings). Use with care", + "Keywords":"custom,server,options", + "FieldName":"CustomServerArgs", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"CustomServerArgs", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Maximum AI", + "Category":"Ground Branch Gameplay", + "Description":"Sets the maximum number of AI used in any game mode. Recommended maximum = 30", + "Keywords":"ai,maximum,maxai", + "FieldName":"MaxAI", + "InputType":"number", + "MinValue":"0", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"MaxAI", + "IncludeInCommandLine":true, + "DefaultValue":"2", + "Placeholder":"2", + "Suffix":"AI", + "EnumValues":{} + }, + { + "DisplayName":"AI Number For Intel Retrieval / Terrorist Hunt", + "Category":"Ground Branch Gameplay", + "Description":"Sets the number of AI to spawn in the Intel Retrieval and Terrorist Hunt mission types. Limited to Maximum AI", + "Keywords":"ai,spawn,opforcount", + "FieldName":"OpForCount", + "InputType":"number", + "MinValue":"1", + "MaxValue":"50", + "IsFlagArgument":false, + "ParamFieldName":"OpForCount", + "IncludeInCommandLine":true, + "DefaultValue":"1", + "Placeholder":"1", + "Suffix":"AI", + "EnumValues":{} + }, + { + "DisplayName":"AI Difficulty Level", + "Category":"Ground Branch Gameplay", + "Description":"Sets the difficulty settings to use for AI in the Intel Retrieval and Terrorist Hunt mission types", + "Keywords":"ai,difficulty", + "FieldName":"Difficulty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Difficulty", + "IncludeInCommandLine":true, + "DefaultValue":"2", + "EnumValues":{ + "0":"Custom", + "1":"Easy", + "2":"Normal", + "3":"Hard", + "4":"Veteran" + } + }, + { + "DisplayName":"Time Limit", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period until the game ends and the map changes. 0 = disabled", + "Keywords":"time,limit,timelimit", + "FieldName":"TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"TimeLimit", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Ready Countdown Time", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period between declaring ready and everyone being sent to the play area", + "Keywords":"ready,countdown,time,readycountdowntime", + "FieldName":"ReadyCountdownTime", + "InputType":"number", + "MinValue":"5", + "IsFlagArgument":false, + "ParamFieldName":"ReadyCountdownTime", + "IncludeInCommandLine":true, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Pre Round Wait Time", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period for which players are frozen before the round begins", + "Keywords":"pre,round,wait,time,preroundwaittime", + "FieldName":"PreRoundWaitTime", + "InputType":"number", + "MinValue":"5", + "IsFlagArgument":false, + "ParamFieldName":"PreRoundWaitTime", + "IncludeInCommandLine":true, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Round Time", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period for which each round lasts", + "Keywords":"round,time,roundtime", + "FieldName":"RoundTime", + "InputType":"number", + "MinValue":"3", + "IsFlagArgument":false, + "ParamFieldName":"RoundTime", + "IncludeInCommandLine":true, + "DefaultValue":"3", + "Placeholder":"3", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Post Round Wait Time", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period after a round ends before players are sent back to the ready room", + "Keywords":"post,round,wait,time,postroundwaittime", + "FieldName":"PostRoundWaitTime", + "InputType":"number", + "MinValue":"5", + "IsFlagArgument":false, + "ParamFieldName":"PostRoundWaitTime", + "IncludeInCommandLine":true, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Default PvE/Co-op Match Type", + "Category":"Ground Branch Gameplay", + "Description":"Sets the default match type for the PvE/Co-op game mode", + "Keywords":"match,type,pve,co-op,game,mode,pvematchtype", + "FieldName":"PVEMatchType", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVEMatchType", + "IncludeInCommandLine":false, + "DefaultValue":"Continuous", + "EnumValues":{ + "Continuous":"Continuous (default)", + "BestOf":"Best Of", + "FirstTo":"First To", + "Play":"Play", + "PlayUntilWin":"Play Until Win", + "TimeLimit":"Time Limit" + } + }, + { + "DisplayName":"Default PvE/Co-op Round Limit", + "Category":"Ground Branch Gameplay", + "Description":"Sets the default number of rounds (or default number of minutes in the case of the Time Limit match type) for the PvE/Co-op game mode", + "Keywords":"round,time,limit,pve,co-op,pveroundlimit", + "FieldName":"PVERoundLimit", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVERoundLimit", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Placeholder":"2", + "Suffix":"rounds/minutes", + "EnumValues":{} + }, + { + "DisplayName":"Default PvP Match Type", + "Category":"Ground Branch Gameplay", + "Description":"Sets the default match type for the PvP game mode", + "Keywords":"match,type,game,mode,pvp,pvpmatchtype", + "FieldName":"PVPMatchType", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVPMatchType", + "IncludeInCommandLine":false, + "DefaultValue":"Continuous", + "EnumValues":{ + "Continuous":"Continuous (default)", + "BestOf":"Best Of", + "FirstTo":"First To", + "Play":"Play", + "PlayUntilWin":"Play Until Win", + "TimeLimit":"Time Limit" + } + }, + { + "DisplayName":"Default PvP Round Limit", + "Category":"Ground Branch Gameplay", + "Description":"Sets the default number of rounds (or default number of minutes in the case of the Time Limit match type) for the PvP game mode", + "Keywords":"round,time,limit,pvp,pvproundlimit", + "FieldName":"PVPRoundLimit", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVPRoundLimit", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "Suffix":"rounds/minutes", + "EnumValues":{} + }, + { + "DisplayName":"Default PvP Free-For-All Match Type", + "Category":"Ground Branch Gameplay", + "Description":"Sets the default match type for the PvP free-for-all game mode", + "Keywords":"match,type,game,mode,pvp,ffa,pvpffamatchtype", + "FieldName":"PVPFFAMatchType", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVPFFAMatchType", + "IncludeInCommandLine":false, + "DefaultValue":"Continuous", + "EnumValues":{ + "Continuous":"Continuous (default)", + "BestOf":"Best Of", + "FirstTo":"First To", + "Play":"Play", + "PlayUntilWin":"Play Until Win", + "TimeLimit":"Time Limit" + } + }, + { + "DisplayName":"Default PvP Free-For-All Round Limit", + "Category":"Ground Branch Gameplay", + "Description":"Sets the default number of rounds (or default number of minutes in the case of the Time Limit match type) for the PvP free-for-all game mode", + "Keywords":"round,time,limit,pvp,ffa,pvpffaroundlimit", + "FieldName":"PVPFFARoundLimit", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVPFFARoundLimit", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "Suffix":"rounds/minutes", + "EnumValues":{} + }, + { + "DisplayName":"Game Rules", + "Category":"Ground Branch Gameplay", + "Description":"Sets the default game rules for the server", + "Keywords":"game,rules,gamerules", + "FieldName":"GameRules", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKServer.GameRules", + "IncludeInCommandLine":false, + "DefaultValue":"((\"AllowCheats\", False),(\"AllowDeadChat\", True),(\"AllowUnrestrictedRadio\", False),(\"AllowUnrestrictedVoice\", False),(\"SpectateEnemies\", True),(\"SpectateForceFirstPerson\", False),(\"SpectateFreeCam\", True),(\"UseTeamRestrictions\", False))", + "Placeholder":"((\"AllowCheats\", False),(\"AllowDeadChat\", True),(\"AllowUnrestrictedRadio\", False),(\"AllowUnrestrictedVoice\", False),(\"SpectateEnemies\", True),(\"SpectateForceFirstPerson\", False),(\"SpectateFreeCam\", True),(\"UseTeamRestrictions\", False))", + "EnumValues":{} + }, + { + "DisplayName":"Time Of Day", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time of day for starting the server, in military time", + "Keywords":"time,day,timeofday", + "FieldName":"TimeOfDay", + "InputType":"number", + "MinValue":"0000", + "MaxValue":"2400", + "IsFlagArgument":false, + "ParamFieldName":"TimeOfDay", + "IncludeInCommandLine":true, + "DefaultValue":"1200", + "Placeholder":"1200", + "EnumValues":{} + }, + { + "DisplayName":"Enable Spectator Free Camera", + "Category":"Ground Branch Gameplay", + "Description":"If enabled, spectators will be able to fly around freely without following anyone", + "Keywords":"spectator,fly,free,camera,spectatefreecam", + "FieldName":"SpectateFreeCam", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SpectateFreeCam", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Allow Spectators To Follow Enemies", + "Category":"Ground Branch Gameplay", + "Description":"If enabled, spectators will be able to follow members of enemy teams", + "Keywords":"spectator,enemy,follow,spectateenemies", + "FieldName":"SpectateEnemies", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SpectateEnemies", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Force Spectator First Person View", + "Category":"Ground Branch Gameplay", + "Description":"If enabled, spectators' view mode will be forced to first-person only", + "Keywords":"spectator,view,first,person,spectateforcefirstferson", + "FieldName":"SpectateForceFirstPerson", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"SpectateForceFirstPerson", + "IncludeInCommandLine":true, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Default Ban Duration", + "Category":"Ground Branch Gameplay", + "Description":"Sets the default time period that will populate in the Ban Duration prompt when a player moves to ban someone", + "Keywords":"ban,duration,defaultbanduration", + "FieldName":"DefaultBanDuration", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKBan.DefaultBanDuration", + "IncludeInCommandLine":false, + "DefaultValue":"720", + "Placeholder":"720", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Vote Duration", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period for voting", + "Keywords":"vote,duration,voteduration", + "FieldName":"VoteDuration", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKVote.VoteDuration", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Successful Vote Timeout", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period that must pass after a successful vote before another vote can be called", + "Keywords":"vote,successful,timeout,votesucceededtimeout", + "FieldName":"VoteSucceededTimeout", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKVote.VoteSucceededTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Failed Vote Timeout", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period that must pass after a failed vote before another vote can be called", + "Keywords":"vote,failed,timeout,votefailedtimeout", + "FieldName":"VoteFailedTimeout", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKVote.VoteFailedTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"180", + "Placeholder":"180", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Map Vote Timeout", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period that must pass before another map vote can be called", + "Keywords":"vote,map,timeout,mapvotetimeout", + "FieldName":"MapVoteTimeout", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKVote.MapVoteTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"300", + "Placeholder":"300", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Players For Voting", + "Category":"Ground Branch Gameplay", + "Description":"Sets the minimum number of players required to cast a vote", + "Keywords":"vote,minimum,players,minplayers", + "FieldName":"MinPlayers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKVote.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Allow Voting Off Map List", + "Category":"Ground Branch Gameplay", + "Description":"If enabled, players can vote for maps outside of the server map list, assuming the \"changemap\" VotingCommands is specified in Vote.ini, and subject to any PermittedGameModes restrictions in Vote.ini", + "Keywords":"vote,map,off,list,ballowvotingoffmaplist", + "FieldName":"bAllowVotingOffMapList", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKVote.bAllowVotingOffMapList", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Maximum Teamkills", + "Category":"Ground Branch Gameplay", + "Description":"Sets the threshold number of teamkills before the server automoderates by banning the relevant player", + "Keywords":"teamkill,maximum,maxteamkills", + "FieldName":"MaxTeamKills", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKTeamKill.MaxTeamKills", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "Suffix":"teamkills", + "EnumValues":{} + }, + { + "DisplayName":"Teamkill Ban Time", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period for which a player will be banned if the teamkill server automoderation is activated", + "Keywords":"teamkill,ban,time,bantime", + "FieldName":"BanTime", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKTeamKill.BanTime", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Teamkill Expire Time Period", + "Category":"Ground Branch Gameplay", + "Description":"Sets the time period after which a teamkill will not be counted towards the Maximum Teamkills number", + "Keywords":"teamkill,expire,refresh,time,teamkillexpiretime", + "FieldName":"TeamKillExpireTime", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"/Script/RBZooKeeper.ZKTeamKill.TeamKillExpireTime", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30", + "Suffix":"minutes", + "EnumValues":{} + } +] diff --git a/ground-branchmetaconfig.json b/ground-branchmetaconfig.json new file mode 100644 index 000000000..17ce44dc1 --- /dev/null +++ b/ground-branchmetaconfig.json @@ -0,0 +1,30 @@ +[ + { + "ConfigFile":"./GroundBranch/ServerConfig/Server.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormat":"{0}={1}", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile":"./GroundBranch/ServerConfig/Vote.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormat":"{0}={1}", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile":"./GroundBranch/ServerConfig/Ban.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormat":"{0}={1}", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile":"./GroundBranch/ServerConfig/TeamKill.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormat":"{0}={1}", + "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" + } +] diff --git a/ground-branchserver.ini b/ground-branchserver.ini new file mode 100644 index 000000000..70891d967 --- /dev/null +++ b/ground-branchserver.ini @@ -0,0 +1,15 @@ +[/Script/RBZooKeeper.ZKServer] +ServerName=AMP Powered Ground Branch Server +ServerMOTD=<h1>Welcome!<br>This is my Ground Branch server.<br><b>Enjoy! +ServerPassword= +SpectatorOnlyPassword= +MaxPlayers=16 +MaxSpectators=0 +ServerWebBanner= +PVEMatchType=Continuous +PVERoundLimit=2 +PVPMatchType=Continuous +PVPRoundLimit=3 +PVPFFAMatchType=Continuous +PVPFFARoundLimit=1 +GameRules=(("AllowCheats", False),("AllowDeadChat", True),("AllowUnrestrictedRadio", False),("AllowUnrestrictedVoice", False),("SpectateEnemies", True),("SpectateForceFirstPerson", False),("SpectateFreeCam", True),("UseTeamRestrictions", False)) diff --git a/ground-branchteamkill.ini b/ground-branchteamkill.ini new file mode 100644 index 000000000..87b4348ad --- /dev/null +++ b/ground-branchteamkill.ini @@ -0,0 +1,4 @@ +[/Script/RBZooKeeper.ZKTeamKill] +MaxTeamKills=3 +BanTime=60 +TeamKillExpireTime=30 diff --git a/ground-branchupdates.json b/ground-branchupdates.json new file mode 100644 index 000000000..47df18290 --- /dev/null +++ b/ground-branchupdates.json @@ -0,0 +1,56 @@ +[ + { + "UpdateStageName":"Ground Branch SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"476400", + "UpdateSourceArgs":"16900", + "ForceDownloadPlatform":"Windows" + }, + { + "UpdateStageName":"Create ServerConfig Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}GroundBranch/ServerConfig" + }, + { + "UpdateStageName":"Create Mods Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}GroundBranch/Mods" + }, + { + "UpdateStageName":"Server.ini File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/ground-branchserver.ini", + "UpdateSourceArgs":"Server.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}GroundBranch/ServerConfig", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Vote.ini File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/ground-branchvote.ini", + "UpdateSourceArgs":"Vote.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}GroundBranch/ServerConfig", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"TeamKill.ini File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/ground-branchteamkill.ini", + "UpdateSourceArgs":"TeamKill.ini", + "UpdateSourceTarget":"{{$FullBaseDir}}GroundBranch/ServerConfig", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" + } +] diff --git a/ground-branchvote.ini b/ground-branchvote.ini new file mode 100644 index 000000000..bedc4ce29 --- /dev/null +++ b/ground-branchvote.ini @@ -0,0 +1,30 @@ +[/Script/RBZooKeeper.ZKVote] +; The following settings must be set via the AMP UI + +VoteDuration=30 +VoteSucceededTimeout=60 +VoteFailedTimeout=180 +MapVoteTimeout=300 +MinPlayers=1 +bAllowVotingOffMapList=False + +; The following settings must be set manually in this file + +; VotingCommands sets the voting commands that will be available to the users +; Only changemap, nextmap, kick, missionsettings and restartround are available +VotingCommands=changemap +VotingCommands=nextmap +VotingCommands=kick +VotingCommands=missionsettings +VotingCommands=restartround + +; PermittedGameModes allows server admins to specify particular game modes which can be selected +; (without any restriction on which missions can be selected for those modes). +; For example (multiple can be listed): +; PermittedGameModes=TerroristHunt +; PermittedGameModes=IntelRetrieval +; Custom game modes can be listed here also (use the Lua script name - without spaces) +; Specify "any" to allow all game modes +PermittedGameModes=any + +; Note: restrictions to map list and restrictions to specific game modes are cumulative, i.e. both will restrict the selection in turn \ No newline at end of file From 2724f0db7f2b0f8d8b5ccd39003330fefd2a76ab Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 10 Jul 2023 17:03:54 +0300 Subject: [PATCH 236/318] Veloren: add Weekly release version option (#416) --- velorenconfig.json | 16 ++++++++++++++++ velorenupdates.json | 10 +++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/velorenconfig.json b/velorenconfig.json index 2876355f0..f81351b9c 100644 --- a/velorenconfig.json +++ b/velorenconfig.json @@ -52,5 +52,21 @@ "Suffix":"players", "EnumValues":{}, "MinValue":"1" + }, + { + "DisplayName":"Server Release Version", + "Category":"SteamCMD and Updates", + "Description":"Sets the server release version to install. NOTE: Update the server after changing this setting!", + "Keywords":"server,release,version,nightly,weekly", + "FieldName":"ReleaseVersion", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ReleaseVersion", + "IncludeInCommandLine":false, + "DefaultValue":"weekly", + "EnumValues":{ + "weekly":"Weekly (default)", + "nightly":"Nightly" + } } ] diff --git a/velorenupdates.json b/velorenupdates.json index d24198b32..56524682d 100644 --- a/velorenupdates.json +++ b/velorenupdates.json @@ -3,8 +3,8 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.veloren.net/latest/windows/x86_64/nightly", - "UpdateSourceArgs":"nightly.zip", + "UpdateSourceData":"https://download.veloren.net/latest/windows/x86_64/{{ReleaseVersion}}", + "UpdateSourceArgs":"{{ReleaseVersion}}.zip", "UpdateSourceTarget":"{{$FullRootDir}}", "UnzipUpdateSource":true, "OverwriteExistingFiles":true, @@ -14,8 +14,8 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Linux", "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.veloren.net/latest/linux/x86_64/nightly", - "UpdateSourceArgs":"nightly.zip", + "UpdateSourceData":"https://download.veloren.net/latest/linux/x86_64/{{ReleaseVersion}}", + "UpdateSourceArgs":"{{ReleaseVersion}}.zip", "UpdateSourceTarget":"{{$FullRootDir}}", "UnzipUpdateSource":true, "OverwriteExistingFiles":true, @@ -57,4 +57,4 @@ "UpdateSourcePlatform":"All", "UpdateSource":"ShutdownApplication" } -] \ No newline at end of file +] From 5c05fe9420505bc19e098ac8076bda164c2ca28d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 11 Jul 2023 12:05:36 +0300 Subject: [PATCH 237/318] Arma 3: add limitFPS setting (#417) --- arma3config.json | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/arma3config.json b/arma3config.json index 1ef84b510..78bb4c1fb 100644 --- a/arma3config.json +++ b/arma3config.json @@ -298,6 +298,24 @@ "Placeholder":"\"127.0.0.1\",\"192.168.1.2\"", "EnumValues":{} }, + { + "DisplayName":"FPS Limit", + "Category":"Arma Server Settings", + "Description":"Sets the limit for the server FPS. Setting this too high can have an effect on server performance", + "Keywords":"frames,fps,limitfps", + "FieldName":"limitFPS", + "InputType":"number", + "MinValue":"5", + "MaxValue":"1000", + "IsFlagArgument":false, + "ParamFieldName":"limitFPS", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"50", + "Placeholder":"50", + "Suffix":"fps", + "EnumValues":{} + }, { "DisplayName":"Enable UPnP", "Category":"Arma Server Settings", @@ -1173,4 +1191,4 @@ "creatordlc":"Creator DLC Build" } } -] \ No newline at end of file +] From 610a53ac390bec74798c6171cfc10b0e594e6cfa Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 12 Jul 2023 16:06:07 +0400 Subject: [PATCH 238/318] Arma 3: add additional Steam branches (#419) --- arma3config.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arma3config.json b/arma3config.json index 78bb4c1fb..1d98450b0 100644 --- a/arma3config.json +++ b/arma3config.json @@ -1188,7 +1188,9 @@ "DefaultValue":"public", "EnumValues":{ "public":"Public (default)", - "creatordlc":"Creator DLC Build" + "profiling":"Performance Profiling Build", + "creatordlc":"Creator DLC Build", + "contact":"Contact Build" } } ] From 5b0f7f233ae74c0b6fd6a149c56b91cda3d51827 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 17 Jul 2023 08:50:38 +1000 Subject: [PATCH 239/318] DayZ: change Steam login for Experimental (#424) --- dayz-experimental.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dayz-experimental.kvp b/dayz-experimental.kvp index d12ad4130..bdba62994 100644 --- a/dayz-experimental.kvp +++ b/dayz-experimental.kvp @@ -62,8 +62,8 @@ App.TelnetLoginFormat={0} App.UpdateSources=@IncludeJson[dayz-experimentalupdates.json] App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -f {{$FullBaseDir}}battleye/beserver_x64_active_*.cfg'"},{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"}] App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=True App.RapidStartup=False App.MonitorChildProcess=False App.MonitorChildProcessWaitMs=100 From 6c303ec80fb1181c6d8f6fcb8b91fb7c94973b21 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 17 Jul 2023 08:52:24 +1000 Subject: [PATCH 240/318] V Rising: add mod support for Windows (#423) --- v-rising.kvp | 8 ++--- v-risingconfig.json | 34 +++++++++++++++++++-- v-risingmetaconfig.json | 21 +++++++++++++ v-risingports.json | 6 ++-- v-risingupdates.json | 65 +++++++++++++++++++---------------------- 5 files changed, 90 insertions(+), 44 deletions(-) diff --git a/v-rising.kvp b/v-rising.kvp index ca2ccb7ad..756cabbd6 100644 --- a/v-rising.kvp +++ b/v-rising.kvp @@ -1,8 +1,8 @@ Meta.DisplayName=V Rising -Meta.Description=V Rising Dedicated Server +Meta.Description=V Rising Dedicated Server with BepInEx Option for Windows Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=Tempus Thales, IceOfWraith +Meta.Author=Greelan, IceOfWraith, Tempus Thales Meta.URL=https://store.steampowered.com/app/1604030/V_Rising/ Meta.DisplayImageSource=steam:1604030 Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2} @@ -59,7 +59,7 @@ App.SteamForceLoginPrompt=False App.RapidStartup=False App.SupportsUniversalSleep=True App.WakeupMode=Any -App.ApplicationReadyMode=Immediate +App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} App.MonitorChildProcess=True App.MonitorChildProcessWaitMs=2000 @@ -69,7 +69,7 @@ App.RCONHeartbeatCommand="announce" Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^Server is ready\.$ +Console.AppReadyRegex=^\[rcon\] 127\.0\.0\.1 successfully authenticated!$ Console.UserJoinRegex=^User '{Steam (?<userid>\d+)}' '\d+', approvedUserIndex: \d+, Character: '(?<username>.+?)' connected as ID '\d+,\d+', Entity '[\d,]+'\.$ Console.UserLeaveRegex=^User '{Steam (?<userid>\d+)}' disconnected. approvedUserIndex: \d+ Reason: (.+?) (.+?)$ Console.UserChatRegex= diff --git a/v-risingconfig.json b/v-risingconfig.json index 530926d07..44141a9eb 100644 --- a/v-risingconfig.json +++ b/v-risingconfig.json @@ -1,4 +1,18 @@ [ + { + "DisplayName": "Disable BepInEx Console", + "Category": "V Rising - Host Settings", + "Description": "Needed for BepInEx to function", + "Keywords": "", + "FieldName": "LoggingConsoleEnabled", + "InputType": "text", + "Hidden": true, + "IsFlagArgument": false, + "ParamFieldName": "Logging.Console.Enabled", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": {} + }, { "DisplayName": "Server Name", "Category": "V Rising - Host Settings", @@ -110,7 +124,7 @@ "ParamFieldName": "MaxConnectedUsers", "IncludeInCommandLine": false, "Suffix": "players", - "MinValue":"1" + "MinValue": "1" }, { "DisplayName": "Max Connected Admins", @@ -372,5 +386,21 @@ "True": "true", "False": "false" } + }, + { + "DisplayName": "Activate BepInEx (Windows Only)", + "Category": "SteamCMD and Updates", + "Description": "If set, BepInEx will be installed when the server is updated and enabled when the server is run, allowing the server to be modded. Mods must be installed in the BepInEx/plugins directory, which is created after BepInEx is first run. Windows only at this time", + "Keywords": "install,enable,bepinex,modded,mods", + "FieldName": "BepInExEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "General.enabled", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } } -] +] \ No newline at end of file diff --git a/v-risingmetaconfig.json b/v-risingmetaconfig.json index 060cebd33..b26bebc0b 100644 --- a/v-risingmetaconfig.json +++ b/v-risingmetaconfig.json @@ -8,5 +8,26 @@ "ConfigFile": "save-data/Settings/ServerGameSettings.json", "AutoMap": true, "ConfigType": "json" + }, + { + "ConfigFile": "doorstop_config.ini", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormat": "{0} = {1}", + "ConfigFormatRegex": "^(?<key>.+?) = (?<value>.*?)$" + }, + { + "ConfigFile": "doorstop_config.ini", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormat": "{0}={1}", + "ConfigFormatRegex": "^(?<key>[^ ]+?)=(?<value>[^ ]*?)$" + }, + { + "ConfigFile": "BepInEx/config/BepInEx.cfg", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormat": "{0} = {1}", + "ConfigFormatRegex": "^(?<key>.+?) = (?<value>.*?)$" } ] \ No newline at end of file diff --git a/v-risingports.json b/v-risingports.json index 8460bab42..f12c03ce2 100644 --- a/v-risingports.json +++ b/v-risingports.json @@ -5,7 +5,7 @@ "Offset": 0, "Range": 1, "Ref": "ApplicationPort1", - "Name": "Application Port 1", + "Name": "Game Port", "Description": "Server Game Port", "ChildPorts": null }, @@ -15,7 +15,7 @@ "Offset": 0, "Range": 1, "Ref": "ApplicationPort2", - "Name": "Application Port 2", + "Name": "Steam Query Port", "Description": "Steam Query Port", "ChildPorts": null }, @@ -25,7 +25,7 @@ "Offset": 0, "Range": 1, "Ref": "RemoteAdminPort", - "Name": "Remote Admin Port", + "Name": "RCON Port", "Description": "RCON Connection Port", "ChildPorts": null } diff --git a/v-risingupdates.json b/v-risingupdates.json index 73d49a725..b5fea5b0e 100644 --- a/v-risingupdates.json +++ b/v-risingupdates.json @@ -5,56 +5,51 @@ "UpdateSource":"SteamCMD", "UpdateSourceData":"1829350", "UpdateSourceArgs":"1604030", - "UpdateSourceVersion":null, - "UpdateSourceTarget":null, - "UnzipUpdateSource":false, - "OverwriteExistingFiles":false, - "ForceDownloadPlatform":"Windows", - "UpdateSourceConditionSetting":null, - "UpdateSourceConditionValue":null, - "DeleteAfterExtract":false + "ForceDownloadPlatform":"Windows" }, { "UpdateStageName":"Data Directory Creation", "UpdateSourcePlatform":"All", "UpdateSource":"CreateDirectory", - "UpdateSourceData":null, - "UpdateSourceArgs":"./v-rising/1829350/save-data/Settings", - "UpdateSourceVersion":null, - "UpdateSourceTarget":null, - "UnzipUpdateSource":false, - "OverwriteExistingFiles":false, - "UpdateSourceConditionSetting":null, - "UpdateSourceConditionValue":null, - "DeleteAfterExtract":false + "UpdateSourceArgs":"{{$FullBaseDir}}save-data/Settings" }, { "UpdateStageName":"Game Config File Copy", "UpdateSourcePlatform":"All", "UpdateSource":"CopyFilePath", - "UpdateSourceData":"./v-rising/1829350/save-data/Settings/ServerHostSettings.json", - "UpdateSourceArgs":"./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json", - "UpdateSourceVersion":null, - "UpdateSourceTarget":null, - "UnzipUpdateSource":false, - "OverwriteExistingFiles":false, - "UpdateSourceConditionSetting":null, - "UpdateSourceConditionValue":null, - "DeleteAfterExtract":false + "UpdateSourceData":"{{$FullBaseDir}}save-data/Settings/ServerHostSettings.json", + "UpdateSourceArgs":"{{$FullBaseDir}}VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json", + "OverwriteExistingFiles":false }, { "UpdateStageName":"Game Config File Copy", "UpdateSourcePlatform":"All", "UpdateSource":"CopyFilePath", - "UpdateSourceData":"./v-rising/1829350/save-data/Settings/ServerGameSettings.json", - "UpdateSourceArgs":"./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json", - "UpdateSourceVersion":null, - "UpdateSourceTarget":null, - "UnzipUpdateSource":false, - "OverwriteExistingFiles":false, - "UpdateSourceConditionSetting":null, - "UpdateSourceConditionValue":null, - "DeleteAfterExtract":false + "UpdateSourceData":"{{$FullBaseDir}}save-data/Settings/ServerGameSettings.json", + "UpdateSourceArgs":"{{$FullBaseDir}}VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Download BepInEx From Thunderstore", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://v-rising.thunderstore.io/package/download/BepInEx/BepInExPack_V_Rising/1.668.5/", + "UpdateSourceArgs":"BepInEx-BepInExPack_V_Rising-1.668.5.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"BepInExEnabled", + "UpdateSourceConditionValue":"true" + }, + { + "UpdateStageName":"BepInEx Copy", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C xcopy /E /Y /I v-rising\\1829350\\BepInExPack_V_Rising\\* v-rising\\1829350\\ && rmdir /Q /S v-rising\\1829350\\BepInExPack_V_Rising", + "UpdateSourceConditionSetting":"BepInExEnabled", + "UpdateSourceConditionValue":"true" }, { "UpdateStageName":"Initialise Wine", From d770df1024f1c055ad9f7e47858afaae650ff15f Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 17 Jul 2023 17:33:16 +1000 Subject: [PATCH 241/318] Satisfactory: various updates (#420) --- satisfactory.kvp | 122 +++++++++++++++++------ satisfactoryconfig.json | 188 +++++++++++++++++++++++++++++++++--- satisfactorymetaconfig.json | 1 + satisfactoryupdates.json | 24 ++++- 4 files changed, 286 insertions(+), 49 deletions(-) create mode 100644 satisfactorymetaconfig.json diff --git a/satisfactory.kvp b/satisfactory.kvp index baa0d067f..b55698c92 100644 --- a/satisfactory.kvp +++ b/satisfactory.kvp @@ -1,42 +1,100 @@ -App.AdminMethod=STDIO -App.ApplicationPort1=7777 -App.ApplicationPort2=15000 -App.ApplicationPort3=15777 -App.RemoteAdminPort=0 -App.ApplicationReadyMode=RegexMatch -App.BaseDirectory=./satisfactory/1690800/ -App.WindowsCommandLineArgs=FactoryGame -log -unattended -App.LinuxCommandLineArgs=FactoryGame -log -unattended -App.CommandLineArgs={{$PlatformArgs}} -MultiHome={{$ApplicationIPBinding}} ?listen -Port={{$ApplicationPort1}} -BeaconPort={{$ApplicationPort2}} -ServerQueryPort={{$ApplicationPort3}} {{$FormattedArgs}} -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat=-{0}="{1}" +Meta.DisplayName=Satisfactory +Meta.Description=Satisfactory Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown +Meta.Arch=x86_64 +Meta.Author=Greelan, CubeCoders Limited +Meta.URL=https://www.satisfactorygame.com/ +Meta.DisplayImageSource=steam:526870 +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort3} +Meta.ConfigManifest=satisfactoryconfig.json +Meta.MetaConfigManifest=satisfactorymetaconfig.json +Meta.ConfigRoot=satisfactory.kvp +Meta.MinAMPVersion=2.3.4.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= App.DisplayName=Satisfactory -App.EnvironmentVariables={"LD_LIBRARY_PATH": "{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%", "SteamAppId": "526870"} -App.ExecutableLinux=1690800/Engine/Binaries/Linux/UE4Server-Linux-Shipping +App.RootDir=./satisfactory/ +App.BaseDirectory=./satisfactory/1690800/ +App.SteamWorkshopDownloadLocation= App.ExecutableWin=1690800\Engine\Binaries\Win64\UE4Server-Win64-Shipping.exe +App.ExecutableLinux=1690800/Engine/Binaries/Linux/UE4Server-Linux-Shipping +App.WorkingDir=1690800 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} FactoryGame -MultiHome={{$ApplicationIPBinding}} -Port={{$ApplicationPort1}} -BeaconPort={{$ApplicationPort2}} -ServerQueryPort={{$ApplicationPort3}} {{$FormattedArgs}} -log -unattended +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"526870"} +App.CommandLineParameterFormat=-{0}={1} +App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE App.ExitTimeout=10 -App.HasReadableConsole=true -App.HasWritableConsole=true -App.RapidStartup=false -App.RootDir=./satisfactory/ -App.UpdateSource=Multi +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":"UDP","Port":15777,"Offset":0,"Range":1,"Ref":"ApplicationPort3","Name":"Server Query Port","Description":"Port used to connect to server in-game","ChildPorts":null},{"Protocol":"UDP","Port":15000,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Beacon Port","Description":"","ChildPorts":null},{"Protocol":"UDP","Port":7777,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for main game traffic","ChildPorts":null}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=ApplicationPort3 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort3 +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[satisfactoryupdates.json] -App.WorkingDir=1690800 +App.PreStartStages=[] +App.ForceUpdate=False +App.ForceUpdateReason= +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=^\[.+?\]\[.+?\] Console.FilterMatchReplacement= -Console.AppReadyRegex=^LogWorld: Bringing up level for play took: [\d\.]+$|^LogInit: Display: Starting Game\.$ Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserChatRegex= +Console.AppReadyRegex=^LogWorld: Bringing up level for play took: [\d\.]+|LogInit: Display: Starting Game\.$ Console.UserJoinRegex=^User (?<username>.+?) \((?<userid>-?d+)\) connected from \[::ffff:(?<endpoint>.+?)\]$ Console.UserLeaveRegex=^User (?<username>.+?) \((?<userid>-?d+)\) disconnected\. Reason: (.+?)$ -Meta.Author=CubeCoders Limited -Meta.ConfigRoot=satisfactory.kvp -Meta.ConfigManifest=satisfactoryconfig.json -Meta.Description= -Meta.DisplayImageSource=steam:526870 -Meta.DisplayName=Satisfactory -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3} -Meta.OS=3 -Meta.URL=https://store.steampowered.com/app/526870/Satisfactory/ -Meta.MinAMPVersion=2.3.4.0 +Console.UserChatRegex=^$ +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/satisfactoryconfig.json b/satisfactoryconfig.json index 6f0430d01..41be43bb5 100644 --- a/satisfactoryconfig.json +++ b/satisfactoryconfig.json @@ -1,17 +1,173 @@ [ - { - "DisplayName": "Server Release Stream", - "Description": "Which release stream should be used to Update the server", - "Category": "SteamCMD and Updates", - "FieldName": "releasestream", - "ParamFieldName": "releasestream", - "IncludeInCommandLine": false, - "InputType": "enum", - "EnumValues": { - "public": "Early Access", - "experimental": "Experimental" - - }, - "DefaultValue": "public" - } -] \ No newline at end of file + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time", + "Keywords":"maximum,players,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/Engine.GameSession]:MaxPlayers", + "IncludeInCommandLine":true, + "DefaultValue":"4", + "Placeholder":"4", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Initial Connection Timeout", + "Category":"Server Settings", + "Description":"Sets the amount of time to wait for a new network connection to be established before destroying the connection. May assist with connection issues for client systems with older hardware or slower networks", + "Keywords":"initial,connect,connection,timeout,initialconnecttimeout", + "FieldName":"InitialConnectTimeout", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:InitialConnectTimeout", + "IncludeInCommandLine":true, + "DefaultValue":"30", + "Placeholder":"30", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Established Connection Timeout", + "Category":"Server Settings", + "Description":"Sets the amount of time to wait before considering an established connection timed out. Typically shorter than the Initial Connection Timeout. May assist with connection issues for client systems with older hardware or slower networks", + "Keywords":"established,connection,timeout,connectiontimeout", + "FieldName":"ConnectionTimeout", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:ConnectionTimeout", + "IncludeInCommandLine":true, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Tick Rate", + "Category":"Server Settings", + "Description":"Sets the maximum tick rate for the server", + "Keywords":"maximum,tick,rate,netmaxtickrate,lanmaxtickrate", + "FieldName":"MaxTickRate", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:NetServerMaxTickRate", + "IncludeInCommandLine":true, + "DefaultValue":"30", + "Placeholder":"30", + "Suffix":"ticks per second", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Tick Rate", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"MaxTickRate", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:LanServerMaxTickRate", + "IncludeInCommandLine":true, + "EnumValues":{} + }, + { + "DisplayName":"Maximum Tick Rate", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"MaxTickRate", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[/Script/SocketSubsystemEpic.EpicNetDriver]:NetServerMaxTickRate", + "IncludeInCommandLine":true, + "EnumValues":{} + }, + { + "DisplayName":"Maximum Tick Rate", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"MaxTickRate", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[/Script/SocketSubsystemEpic.EpicNetDriver]:LanServerMaxTickRate", + "IncludeInCommandLine":true, + "EnumValues":{} + }, + { + "DisplayName":"Maximum Tick Rate", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"MaxTickRate", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[/Script/Engine.Engine]:NetClientTicksPerSecond", + "IncludeInCommandLine":true, + "EnumValues":{} + }, + { + "DisplayName":"Server IP Binding", + "Category":"Server Settings", + "Description":"If required, you can change the binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", + "Keywords":"ip,binding,multihome", + "FieldName":"MultiHome", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"MultiHome", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Maximum Autosaves", + "Category":"Server Settings", + "Description":"Sets the maximum number of autosaves created before rotation by the server", + "Keywords":"maximum,autosaves,rotation,mnumrotatingautosaves", + "FieldName":"mNumRotatingAutosaves", + "InputType":"number", + "MinValue":"1", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[/Script/FactoryGame.FGSaveSession]:mNumRotatingAutosaves", + "IncludeInCommandLine":true, + "DefaultValue":"3", + "Placeholder":"3", + "Suffix":"autosaves", + "EnumValues":{} + }, + { + "DisplayName":"Enable Crash Reports Upload (Linux Only)", + "Category":"Server Settings", + "Description":"If enabled, crash reports will be automatically uploaded to the Satisfactory developers", + "Keywords":"crash,reports,upload,bimplicitsend", + "FieldName":"bImplicitSend", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Engine:[CrashReportClient]:bImplicitSend", + "IncludeInCommandLine":true, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Server Release Stream", + "Category":"SteamCMD and Updates", + "Description":"Sets the server release stream to install. Note: Update the server after changing this setting", + "Keywords":"release,stream,beta,version", + "FieldName":"releasestream", + "InputType":"enum", + "ParamFieldName":"releasestream", + "IncludeInCommandLine":false, + "DefaultValue":"public", + "EnumValues":{ + "public":"Public/Early Access (default)", + "experimental":"Experimental" + } + } +] diff --git a/satisfactorymetaconfig.json b/satisfactorymetaconfig.json new file mode 100644 index 000000000..fe51488c7 --- /dev/null +++ b/satisfactorymetaconfig.json @@ -0,0 +1 @@ +[] diff --git a/satisfactoryupdates.json b/satisfactoryupdates.json index 8530444e6..c3bd76893 100644 --- a/satisfactoryupdates.json +++ b/satisfactoryupdates.json @@ -33,5 +33,27 @@ "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"releasestream", "UpdateSourceConditionValue":"experimental" + }, + { + "UpdateStageName":"Saves Directory Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'mkdir -p ~/.config/Epic/FactoryGame/Saved/SaveGames ; mkdir -p \"{{$FullBaseDir}}FactoryGame/Saved\" ; ln -sf ~/.config/Epic/FactoryGame/Saved/SaveGames \"{{$FullBaseDir}}FactoryGame/Saved/\"'" + }, + { + "UpdateStageName":"Saves Directory Creation", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C mkdir \"%LocalAppData%\\FactoryGame\\Saved\\SaveGames\" & mkdir \"{{$FullBaseDir}}FactoryGame\\Saved\" & mklink /J \"{{$FullBaseDir}}FactoryGame\\Saved\\SaveGames\" \"%LocalAppData%\\FactoryGame\\Saved\\SaveGames\"" + }, + { + "UpdateStageName":"Create Readme File", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateFile", + "UpdateSourceArgs":"{{$FullBaseDir}}FactoryGame/Saved/SaveGames/README.txt", + "UpdateSourceData":"WARNING: This directory may include the save data of multiple Satisfactory servers\nrun on this system.\n\nIf viewing this directory from AMP’s ADS File Manager/SFTP, you will see the\nsave data of all Satisfactory servers run on this system, other than those run by\nAMP in Docker.\n\nYou will see the same save data if viewing this directory from AMP’s File Manager/SFTP\nfor a particular Satisfactory instance that is NOT run in Docker.\n\nIf viewing this directory from AMP’s File Manager/SFTP for a particular Satisfactory\ninstance that IS run in Docker, you will only see the save data of that instance.\n\nYou can also use the ADS File Manager/SFTP to view the save data of a Satisfactory\ninstance that is run in Docker by navigating to the following directory in the\ninstance’s datastore: .virtualhome/.config/Epic/FactoryGame/Saved/SaveGames.\n\nThe save data for a specific instance is linked to its port (as part of the\nServerSettings file name) and its session name (as part of the autosave file names\nin the server subdirectory).\n\nSave data will not be automatically deleted when a non-Docker Satisfactory server is\nremoved, so you may need to delete the ServerSettings file and/or autosave files\nif later creating a new Satisfactory server with the same port and/or session name.\n\nTake care when managing files in this directory or its subdirectory!", + "OverwriteExistingFiles":true } -] \ No newline at end of file +] From ed01652e6a4b5fd118b498a81b90f0c75d6a9cfa Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 17 Jul 2023 17:36:30 +1000 Subject: [PATCH 242/318] Arma Reforger: various updates (#422) --- arma-reforger.kvp | 14 +- arma-reforgerconfig.json | 270 ++++++++++++++++++++++++----------- arma-reforgermetaconfig.json | 5 +- arma-reforgerserver.json | 61 ++++---- arma-reforgerupdates.json | 10 +- 5 files changed, 232 insertions(+), 128 deletions(-) diff --git a/arma-reforger.kvp b/arma-reforger.kvp index b23c113f5..9498d7e75 100644 --- a/arma-reforger.kvp +++ b/arma-reforger.kvp @@ -2,7 +2,7 @@ Meta.DisplayName=Arma Reforger Meta.Description=Arma Reforger Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=JetFox, Greelan +Meta.Author=Greelan, JetFox Meta.URL=https://reforger.armaplatform.com Meta.DisplayImageSource=steam:1874880 Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} @@ -10,7 +10,7 @@ Meta.ConfigManifest=arma-reforgerconfig.json Meta.MetaConfigManifest=arma-reforgermetaconfig.json Meta.ConfigRoot=arma-reforger.kvp Meta.MinAMPVersion=2.4.2.0 -Meta.SpecificDockerImage= +Meta.SpecificDockerImage=cubecoders/ampbase Meta.DockerRequired=False Meta.ContainerPolicy=Supported Meta.ContainerPolicyReason= @@ -27,13 +27,13 @@ App.ExecutableLinux=1874900/ArmaReforgerServer App.WorkingDir=1874900 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -gproj "{{$FullBaseDir}}addons/data/ArmaReforger.gproj" -profile "{{$FullBaseDir}}AReforgerMaster" -bepath "{{$FullBaseDir}}battleye" -port={{$GamePort}} -config "{{$FullBaseDir}}Configs/server.json" -a2sIpAddress {{$ApplicationIPBinding}} -listScenarios -noThrow {{$FormattedArgs}} {{logStats}} {{CustomServerArgs}} +App.CommandLineArgs={{$PlatformArgs}} -gproj "{{$FullBaseDir}}addons/data/ArmaReforger.gproj" -profile "{{$FullBaseDir}}AReforgerMaster" -bepath "{{$FullBaseDir}}battleye" -bindPort {{$GamePort}} -a2sPort {{$QueryPort}} -config "{{$FullBaseDir}}Configs/serverconfig.json" -a2sIpAddress {{$ApplicationIPBinding}} -listScenarios -noThrow {{$FormattedArgs}} {{logStats}} {{CustomServerArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1874880"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= -App.ExitMethod=String +App.ExitMethod=OS_CLOSE App.ExitTimeout=30 App.ExitString=#shutdown App.ExitFile=app_exit.lck @@ -47,14 +47,14 @@ App.AdminPortRef=RCONPort App.PrimaryApplicationPortRef=GamePort App.UniversalSleepApplicationUDPPortRef=GamePort App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=127 +App.MaxUsers=64 App.UseRandomAdminPassword=True App.PersistRandomPassword=True App.RemoteAdminPassword= App.AdminMethod=BattlEyeRCON App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 +App.RCONConnectDelaySeconds=15 +App.RCONConnectRetrySeconds=15 App.RCONHeartbeatMinutes=0.5 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} diff --git a/arma-reforgerconfig.json b/arma-reforgerconfig.json index 1bde1b45b..066a5003f 100644 --- a/arma-reforgerconfig.json +++ b/arma-reforgerconfig.json @@ -8,12 +8,12 @@ "InputType":"number", "IsFlagArgument":false, "Hidden":true, - "ParamFieldName":"$.gameHostBindPort", + "ParamFieldName":"bindPort", "IncludeInCommandLine":false, "EnumValues":{} }, { - "DisplayName":"Register Port", + "DisplayName":"Public Port", "Category":"Server Settings", "Description":"", "Keywords":"", @@ -21,10 +21,10 @@ "InputType":"number", "IsFlagArgument":false, "Hidden":true, - "ParamFieldName":"$.gameHostRegisterPort", + "ParamFieldName":"publicPort", "IncludeInCommandLine":false, "EnumValues":{} - }, + }, { "DisplayName":"Query Port", "Category":"Server Settings", @@ -34,26 +34,12 @@ "InputType":"number", "IsFlagArgument":false, "Hidden":true, - "ParamFieldName":"$.steamQueryPort", + "ParamFieldName":"a2s.port", "IncludeInCommandLine":false, "EnumValues":{} }, { - "DisplayName":"Enable Steam Query", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"a2sQueryEnabled", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"$.a2sQueryEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{} - }, - { - "DisplayName":"Register IP Binding", + "DisplayName":"Public IP Binding", "Category":"Server Settings", "Description":"", "Keywords":"", @@ -61,7 +47,7 @@ "InputType":"text", "IsFlagArgument":false, "Hidden":true, - "ParamFieldName":"$.gameHostRegisterBindAddress", + "ParamFieldName":"publicAddress", "IncludeInCommandLine":false, "EnumValues":{} }, @@ -74,7 +60,7 @@ "InputType":"text", "IsFlagArgument":false, "Hidden":true, - "ParamFieldName":"$.game.gameProperties.battlEye", + "ParamFieldName":"game.gameProperties.battlEye", "IncludeInCommandLine":false, "DefaultValue":"true", "EnumValues":{} @@ -87,47 +73,70 @@ "FieldName":"name", "InputType":"text", "IsFlagArgument":false, - "ParamFieldName":"$.game.name", + "ParamFieldName":"game.name", "IncludeInCommandLine":false, "DefaultValue":"Arma Reforger Server - Powered by AMP", "EnumValues":{} }, { - "DisplayName":"Server Region", + "DisplayName":"Server Mission/Scenario", "Category":"Server Settings", - "Description":"Sets the server's region. Requires a valid [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) such as EU, US, AU, JP", - "Keywords":"region,location", - "FieldName":"region", - "InputType":"text", + "Description":"Sets the server mission/scenario. Official missions/scenarios are included in the dropdown. To use another mission/scenario, select \"Custom\" and set the Custom Mission/Scenario Name", + "Keywords":"mission,scenario,scenarioid", + "FieldName":"scenarioId", + "InputType":"enum", "IsFlagArgument":false, - "ParamFieldName":"$.region", + "ParamFieldName":"game.scenarioId", "IncludeInCommandLine":false, - "DefaultValue":"EU", - "EnumValues":{}, + "DefaultValue":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf", + "EnumValues":{ + "{ECC61978EDCC2B5A}Missions/23_Campaign.conf":"Conflict - Everon (default)", + "{59AD59368755F41A}Missions/21_GM_Eden.conf":"Game Master - Everon", + "{90F086877C27B6F6}Missions/99_Tutorial.conf":"Tutorial", + "{2BBBE828037C6F4B}Missions/22_GM_Arland.conf":"Game Master - Arland", + "{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf":"Conflict - Northern Everon", + "{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf":"Conflict - Southern Everon", + "{DAA03C6E6099D50F}Missions/24_CombatOps.conf":"Combat Ops - Arland", + "{C41618FD18E9D714}Missions/23_Campaign_Arland.conf":"Conflict - Arland", + "{{CustomMission}}":"Custom" + } }, { - "DisplayName":"Server Map", + "DisplayName":"Custom Mission/Scenario Name", "Category":"Server Settings", - "Description":"Sets the server map. Specify the scenario conf file path as listed in the logs/console", - "Keywords":"map,scenario,scenarioid", - "FieldName":"scenarioId", + "Description":"Sets a custom mission/scenario for the server. \"Custom\" type must be selected under Server Mission/Scenario and any required mods specified under Load Mods", + "Keywords":"custom,mission,scenario", + "FieldName":"CustomMission", "InputType":"text", "IsFlagArgument":false, - "ParamFieldName":"$.game.scenarioId", + "ParamFieldName":"CustomMission", "IncludeInCommandLine":false, - "DefaultValue":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf", - "Placeholder":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf", + "DefaultValue":"", + "Placeholder":"{850C623AD7B97DC7}Missions/DeadEveron.conf", "EnumValues":{} }, { "DisplayName":"Server/RCON IP Binding", "Category":"Server Settings", "Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", - "Keywords":"ip,binding,gamehostbindaddress,rconip", + "Keywords":"ip,binding,gamehostbindaddress,rconip,steam,query,a2saddress", + "FieldName":"$ApplicationIPBinding", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"bindAddress", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Steam Query IP Binding", + "Category":"Server Settings", + "Description":"", + "Keywords":"", "FieldName":"$ApplicationIPBinding", "InputType":"hidden", "IsFlagArgument":false, - "ParamFieldName":"$.gameHostBindAddress", + "Hidden":true, + "ParamFieldName":"a2s.address", "IncludeInCommandLine":false, "EnumValues":{} }, @@ -139,7 +148,23 @@ "FieldName":"visible", "InputType":"checkbox", "IsFlagArgument":false, - "ParamFieldName":"$.game.visible", + "ParamFieldName":"game.visible", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Crossplay", + "Category":"Server Settings", + "Description":"If enabled, crossplay between PC and Xbox clients will be possible", + "Keywords":"crossplay,pc,xbox,crossplatform", + "FieldName":"crossPlatform", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"game.crossPlatform", "IncludeInCommandLine":false, "DefaultValue":"true", "EnumValues":{ @@ -150,12 +175,12 @@ { "DisplayName":"Server Password", "Category":"Server Settings", - "Description":"Sets the password required to connect to the server. Default is no password", + "Description":"Sets the password required to connect to the server. Only use alphanumeric, dash or underscore characters. Default is no password", "Keywords":"server,password", "FieldName":"password", "InputType":"password", "IsFlagArgument":false, - "ParamFieldName":"$.game.password", + "ParamFieldName":"game.password", "IncludeInCommandLine":false, "DefaultValue":"", "EnumValues":{} @@ -163,14 +188,14 @@ { "DisplayName":"Admin Password", "Category":"Server Settings", - "Description":"Sets the password required for admin access to the server. Default is no password", - "Keywords":"admin,password,adminpassword", + "Description":"Sets the password required for admin access to the server. Only use alphanumeric, dash or underscore characters. Default is a strong random password", + "Keywords":"admin,password,adminpassword,passwordadmin", "FieldName":"adminPassword", "InputType":"password", "IsFlagArgument":false, - "ParamFieldName":"$.adminPassword", + "ParamFieldName":"game.passwordAdmin", "IncludeInCommandLine":false, - "DefaultValue":"", + "DefaultValue":"{{newguid()}}", "EnumValues":{} }, { @@ -189,32 +214,62 @@ "DisplayName":"Server Player Limit", "Category":"Server Settings", "Description":"Sets the maximum number of players that may connect to the server at one time", - "Keywords":"players,limit,maximum,playercountlimit", + "Keywords":"players,limit,maximum,playercountlimit,maxplayers", "FieldName":"$MaxUsers", "InputType":"number", "MinValue":"1", + "MaxValue":"256", "IsFlagArgument":false, - "ParamFieldName":"$.game.playerCountLimit", + "ParamFieldName":"game.maxPlayers", "IncludeInCommandLine":false, - "DefaultValue":"127", - "Placeholder":"127", + "DefaultValue":"64", + "Placeholder":"64", "Suffix":"players", "EnumValues":{} }, { - "DisplayName":"Mission Player Limit", + "DisplayName":"Synchronise Player Count", "Category":"Server Settings", - "Description":"Sets the maximum number of players that a mission will allow", - "Keywords":"players,limit,maximum,mission,m_iplayercount", - "FieldName":"m_iPlayerCount", + "Description":"If enabled, the list of players on the server is sent to the GameAPI along with the server's heartbeat, to fix the discrepancy between the real and reported number of players on the server", + "Keywords":"lobby,player,synchronise,player,number,lobbyplayersynchronise", + "FieldName":"lobbyPlayerSynchronise", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"operating.lobbyPlayerSynchronise", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Load Mods", + "Category":"Server Settings", + "Description":"Comma-separated [list of mods](https://reforger.armaplatform.com/workshop) required by clients, which will be downloaded and activated on join. Each mod entry must be in valid JSON format. Name and version are optional. Example: {\"modId\":\"591AF5BDA9F7CE8B\",\"name\":\"Capture & Hold\",\"version\":\"1.0.3\"}", + "Keywords":"mods,addons,mod", + "FieldName":"mods", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"game.mods", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Save Period", + "Category":"Server Settings", + "Description":"Sets the default period for saving players for both Online and Local storage (player save can still be requested on demand)", + "Keywords":"player,save,time,playersavetime", + "FieldName":"playerSaveTime", "InputType":"number", "MinValue":"1", "IsFlagArgument":false, - "ParamFieldName":"$.game.gameProperties.missionHeader.m_iPlayerCount", + "ParamFieldName":"operating.playerSaveTime", "IncludeInCommandLine":false, - "DefaultValue":"127", - "Placeholder":"127", - "Suffix":"players", + "DefaultValue":"120", + "Placeholder":"120", + "Suffix":"seconds", "EnumValues":{} }, { @@ -229,39 +284,40 @@ "ParamFieldName":"maxFPS", "IncludeInCommandLine":true, "DefaultValue":"60", + "Placeholder":"60", "Suffix":"fps", "EnumValues":{} }, { "DisplayName":"Maximum View Distance", "Category":"Server Settings", - "Description":"Sets the server's maximum view distance (between 500 to 10000). Default is 1600", + "Description":"Sets the server's maximum view distance", "Keywords":"maximum,view,distance,servermaxviewdistance", "FieldName":"serverMaxViewDistance", "InputType":"number", "MinValue":"500", "MaxValue":"10000", "IsFlagArgument":false, - "ParamFieldName":"$.game.gameProperties.serverMaxViewDistance", + "ParamFieldName":"game.gameProperties.serverMaxViewDistance", "IncludeInCommandLine":false, "DefaultValue":"1600", - "Placeholder":"500 - 10000", + "Placeholder":"1600", "EnumValues":{} }, { "DisplayName":"Network View Distance", "Category":"Server Settings", - "Description":"Sets the server's maximum network streaming range of replicated entities (between 500 to 5000). Default is 500", + "Description":"Sets the server's maximum network streaming range of replicated entities", "Keywords":"network,stream,view,distance,networkviewdistance", "FieldName":"networkViewDistance", "InputType":"number", "MinValue":"500", "MaxValue":"5000", "IsFlagArgument":false, - "ParamFieldName":"$.game.gameProperties.networkViewDistance", + "ParamFieldName":"game.gameProperties.networkViewDistance", "IncludeInCommandLine":false, - "DefaultValue":"500", - "Placeholder":"500 - 5000", + "DefaultValue":"1500", + "Placeholder":"1500", "EnumValues":{} }, { @@ -274,22 +330,38 @@ "MinValue":"0", "MaxValue":"150", "IsFlagArgument":false, - "ParamFieldName":"$.game.gameProperties.serverMinGrassDistance", + "ParamFieldName":"game.gameProperties.serverMinGrassDistance", "IncludeInCommandLine":false, "DefaultValue":"0", - "Placeholder":"0 or 50 - 150", + "Placeholder":"0", "Suffix":"metres", "EnumValues":{} }, { - "DisplayName":"Quick Start Joinable", + "DisplayName":"Disable Third Person", "Category":"Server Settings", - "Description":"If enabled, the session can be selected through the auto join feature", - "Keywords":"join,auto,autojoinable", - "FieldName":"autoJoinable", + "Description":"If enabled, clients will be forced to use the first-person view", + "Keywords":"third,person,disablethirdperson", + "FieldName":"disableThirdPerson", "InputType":"checkbox", "IsFlagArgument":false, - "ParamFieldName":"$.game.autoJoinable", + "ParamFieldName":"game.gameProperties.disableThirdPerson", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Fast Validation", + "Category":"Server Settings", + "Description":"If enabled, matching validation of map entities and components loaded on a client when it joins will be done with minimum information. Always enable for a public server!", + "Keywords":"validation,checksum,fastvalidation", + "FieldName":"fastValidation", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"game.gameProperties.fastValidation", "IncludeInCommandLine":false, "DefaultValue":"true", "EnumValues":{ @@ -298,30 +370,30 @@ } }, { - "DisplayName":"Disable Third Person", + "DisplayName":"Disable VON UI", "Category":"Server Settings", - "Description":"If enabled, clients will be forced to use the first-person view. NOTE: This must be disabled for auto join", - "Keywords":"third,person,disablethirdperson", - "FieldName":"disableThirdPerson", + "Description":"If set, clients will be forced to not have the VON (Voice Over Network) UI", + "Keywords":"disable,von,voice,network,ui,vondisableui", + "FieldName":"VONDisableUI", "InputType":"checkbox", "IsFlagArgument":false, - "ParamFieldName":"$.game.gameProperties.disableThirdPerson", + "ParamFieldName":"game.gameProperties.VONDisableUI", "IncludeInCommandLine":false, - "DefaultValue":"false", + "DefaultValue":"true", "EnumValues":{ "False":"false", "True":"true" } }, { - "DisplayName":"Enable Fast Validation", + "DisplayName":"Disable VON Direct Speech UI", "Category":"Server Settings", - "Description":"If enabled, matching validation of map entities and components loaded on a client when it joins will be done with minimum information. Always enable for a public server!", - "Keywords":"validation,checksum,fastvalidation", - "FieldName":"fastValidation", + "Description":"If set, clients will be forced to not have the VON (Voice Over Network) Direct Speech UI", + "Keywords":"disable,von,voice,network,direct,speech,ui,vondisabledirectspeechui", + "FieldName":"VONDisableDirectSpeechUI", "InputType":"checkbox", "IsFlagArgument":false, - "ParamFieldName":"$.game.gameProperties.fastValidation", + "ParamFieldName":"game.gameProperties.VONDisableDirectSpeechUI", "IncludeInCommandLine":false, "DefaultValue":"true", "EnumValues":{ @@ -329,6 +401,34 @@ "True":"true" } }, + { + "DisplayName":"Mission Header", + "Category":"Server Settings", + "Description":"Comma-separated list of settings that will overwrite a mission/scenario's SCR_MissionHeaderCampaign. Example: \"m_iPlayerCount\":\"64\",\"m_eEditableGameFlags\":\"6\"", + "Keywords":"mission,header,missionheader", + "FieldName":"missionHeader", + "InputType":"Textarea", + "IsFlagArgument":false, + "ParamFieldName":"game.gameProperties.missionHeader", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"AI Limit", + "Category":"Server Settings", + "Description":"Sets the maximum number of AIs. -1 = no limit", + "Keywords":"ai,limit,ailimit", + "FieldName":"aiLimit", + "InputType":"number", + "MinValue":"-1", + "IsFlagArgument":false, + "ParamFieldName":"operating.aiLimit", + "IncludeInCommandLine":false, + "DefaultValue":"-1", + "Placeholder":"-1", + "EnumValues":{} + }, { "DisplayName":"Log Statistics", "Category":"Server Settings", @@ -348,7 +448,7 @@ { "DisplayName":"Statistics Logging Inverval", "Category":"Server Settings", - "Description":"Sets the interval for logging of performance statistics, if \"Log Statistics\" is enabled. Default is 1000 (1 second)", + "Description":"Sets the interval for logging of performance statistics, if \"Log Statistics\" is enabled", "Keywords":"log,statistics,logstats", "FieldName":"logStatsInterval", "InputType":"number", diff --git a/arma-reforgermetaconfig.json b/arma-reforgermetaconfig.json index 132439222..7d89d49d1 100644 --- a/arma-reforgermetaconfig.json +++ b/arma-reforgermetaconfig.json @@ -1,8 +1,9 @@ [ { - "ConfigFile":"Configs/server.json", + "ConfigFile":"Configs/serverconfig.json", "AutoMap":true, - "ConfigType":"json" + "ConfigType":"template", + "ConfigFileTemplate":"arma-reforger/AMP_serverconfig.json" }, { "ConfigFile":"battleye/BEServer_x64.cfg", diff --git a/arma-reforgerserver.json b/arma-reforgerserver.json index f7b2e69fa..eb1550211 100644 --- a/arma-reforgerserver.json +++ b/arma-reforgerserver.json @@ -1,37 +1,40 @@ { - "dedicatedServerId":"", - "region":"EU", - "gameHostBindAddress":"", - "gameHostBindPort":2001, - "gameHostRegisterBindAddress":"", - "gameHostRegisterPort":2001, - "adminPassword":"", - "a2sQueryEnabled":true, - "steamQueryPort":17777, + "bindAddress":"{{bindAddress}}", + "bindPort":{{bindPort}}, + "publicAddress":"{{publicAddress}}", + "publicPort":{{publicPort}}, + "a2s":{ + "address":"{{a2s.address}}", + "port":{{a2s.port}} + }, "game":{ - "name":"Arma Reforger Server - Powered by AMP", - "password":"", - "scenarioId":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf", - "playerCountLimit":127, - "autoJoinable":true, - "visible":true, - "supportedGameClientTypes":[ + "name":"{{game.name}}", + "password":"{{game.password}}", + "passwordAdmin":"{{game.passwordAdmin}}", + "scenarioId":"{{game.scenarioId}}", + "maxPlayers":{{game.maxPlayers}}, + "visible":{{game.visible}}, + "crossPlatform":{{game.crossPlatform}}, + "supportedPlatforms":[ "PLATFORM_PC", "PLATFORM_XBL" ], "gameProperties":{ - "serverMaxViewDistance":1600, - "serverMinGrassDistance":0, - "networkViewDistance":500, - "disableThirdPerson":false, - "fastValidation":true, - "battlEye":true, - "missionHeader":{ - "m_iPlayerCount":127, - "m_eEditableGameFlags":6, - "m_eDefaultGameFlags":6 - } + "serverMaxViewDistance":{{game.gameProperties.serverMaxViewDistance}}, + "serverMinGrassDistance":{{game.gameProperties.serverMinGrassDistance}}, + "networkViewDistance":{{game.gameProperties.networkViewDistance}}, + "disableThirdPerson":{{game.gameProperties.disableThirdPerson}}, + "fastValidation":{{game.gameProperties.fastValidation}}, + "battlEye":{{game.gameProperties.battlEye}}, + "VONDisableUI":{{game.gameProperties.VONDisableUI}}, + "VONDisableDirectSpeechUI":{{game.gameProperties.VONDisableDirectSpeechUI}}, + "missionHeader":{ {{game.gameProperties.missionHeader}} } }, - "mods":[] - } + "mods":[ {{game.mods}} ] + }, + "operating":{ + "lobbyPlayerSynchronise":{{operating.lobbyPlayerSynchronise}}, + "playerSaveTime":{{operating.playerSaveTime}}, + "aiLimit":{{operating.aiLimit}} + } } \ No newline at end of file diff --git a/arma-reforgerupdates.json b/arma-reforgerupdates.json index 2097bdd36..ed88a69f5 100644 --- a/arma-reforgerupdates.json +++ b/arma-reforgerupdates.json @@ -14,12 +14,12 @@ "OverwriteExistingFiles":false }, { - "UpdateStageName":"Server Config File Download", + "UpdateStageName":"Server Template Config File Download", "UpdateSourcePlatform":"All", "UpdateSource":"FetchURL", "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/arma-reforgerserver.json", - "UpdateSourceArgs":"server.json", - "UpdateSourceTarget":"{{$FullBaseDir}}Configs/", - "OverwriteExistingFiles":false + "UpdateSourceArgs":"AMP_serverconfig.json", + "UpdateSourceTarget":"{{$FullRootDir}}", + "OverwriteExistingFiles":true } -] \ No newline at end of file +] From 694ade5345326ad21e3fb59a4bcaf5ed70444567 Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Wed, 26 Jul 2023 22:13:33 -0500 Subject: [PATCH 243/318] Update sven-co-op.kvp (#431) Devs added a period. Making it universal for both versions and any future additions. --- sven-co-op.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sven-co-op.kvp b/sven-co-op.kvp index 6b4d77cae..6edfb9d99 100644 --- a/sven-co-op.kvp +++ b/sven-co-op.kvp @@ -19,7 +19,7 @@ App.RootDir=./sven-co-op/ App.UpdateSource=Multi App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "276060", "UpdateSourceArgs": "225840"}] App.WorkingDir=276060 -Console.AppReadyRegex=^Connection to Steam servers successful$ +Console.AppReadyRegex=^Connection to Steam servers successful.*$ Console.ThrowawayMessageRegex= Console.UserChatRegex=^"(?<username>.+?)<.*" say "(?<message>.+)"$ Console.UserJoinRegex=^"(?<username>.+?)<.*(entered|connected)$ From 0ef5503aaae7f7e86b5853510c4f744e74209b7f Mon Sep 17 00:00:00 2001 From: winglessraven <winglessravens@gmail.com> Date: Thu, 27 Jul 2023 04:35:01 +0100 Subject: [PATCH 244/318] Sons of the Forest: Update Regex (#427) * Update Regex Update regex for app ready, user join, and user leave * Update sons-of-the-forest.kvp Minor adjustments --------- Co-authored-by: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> --- sons-of-the-forest.kvp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sons-of-the-forest.kvp b/sons-of-the-forest.kvp index a9b415c89..f31decab5 100644 --- a/sons-of-the-forest.kvp +++ b/sons-of-the-forest.kvp @@ -73,9 +73,9 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|Couldn't create a Convex Mesh from source mesh.*|No mesh data available for mesh.*|ALSA lib.*|\[FMOD\] Error \(ERR_INVALID_HANDLE\): An invalid object handle was used\.$ -Console.AppReadyRegex=^Game Activation Sequence step 7 : End of Sequence|\[Self-Tests\] Please restart the server.$ -Console.UserJoinRegex=^ValidateAuthTicketResponse success for (?<userid>.+?)$ -Console.UserLeaveRegex=^Unregistering client 2 with steam id (?<userid>.+?)$ +Console.AppReadyRegex=^#DSL Dedicated server loaded.|#DSE \[Self-Tests\] Please restart the server.$ +Console.UserJoinRegex=^#DSL Steam auth successful for client \d+ with steam id (?<userid>.+?). username (?<username>.+?)$ +Console.UserLeaveRegex=^#DSL Unregistering client \d+ with steam id (?<userid>.+?). username (?<username>.+?)$ Console.UserChatRegex=^$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.MetricsRegex= From 3430e15c37e9ab7452eab088e38d972f0227194e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 27 Jul 2023 14:17:11 +1000 Subject: [PATCH 245/318] Arma 3: server branch and headless client updates (#426) --- arma3.kvp | 2 +- arma3config.json | 27 ++++++++++++--- arma3runhc.ps1 | 9 +++-- arma3runhc.sh | 5 +-- arma3updates.json | 84 +++++++++++++++++++++++++++++++++++++++++++++-- 5 files changed, 115 insertions(+), 12 deletions(-) diff --git a/arma3.kvp b/arma3.kvp index 3bd91c877..558101ea0 100644 --- a/arma3.kvp +++ b/arma3.kvp @@ -60,7 +60,7 @@ App.RCONHeartbeatMinutes=0.5 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} App.UpdateSources=@IncludeJson[arma3updates.json] -App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -f {{$FullBaseDir}}battleye/beserver_x64_active_*.cfg'"},{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"},{"UpdateStageName":"Headless Client Script Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3runhc.sh","UpdateSourceArgs":"runhc.sh","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Headless Client Script Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3runhc.ps1","UpdateSourceArgs":"runhc.ps1","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Start Headless Clients","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'chmod +x ./runhc.sh; ./runhc.sh {{HeadlessClientsNum}} {{$ApplicationIPBinding}} {{$GamePort}} \"{{password}}\" \"{{mod}}\" &'"},{"UpdateStageName":"Start Headless Clients","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C start powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File \"runhc.ps1\" {{HeadlessClientsNum}} {{$ApplicationIPBinding}} {{$GamePort}} \"{{password}}\" \"{{mod}}\""}] +App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -f {{$FullBaseDir}}battleye/beserver_x64_active_*.cfg'"},{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"},{"UpdateStageName":"Headless Client Script Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3runhc.sh","UpdateSourceArgs":"runhc.sh","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Headless Client Script Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3runhc.ps1","UpdateSourceArgs":"runhc.ps1","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Start Headless Clients","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'chmod +x ./runhc.sh; ./runhc.sh {{HeadlessClientsNum}} {{$ApplicationIPBinding}} {{$GamePort}} \"{{password}}\" \"{{mod}}\" \"{{hc_parfile}}\" &'"},{"UpdateStageName":"Start Headless Clients","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C start powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File \"runhc.ps1\" {{HeadlessClientsNum}} {{$ApplicationIPBinding}} {{$GamePort}} \"{{password}}\" \"{{mod}}\" \"{{hc_parfile}}\""}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=True diff --git a/arma3config.json b/arma3config.json index 1d98450b0..8b75d8383 100644 --- a/arma3config.json +++ b/arma3config.json @@ -227,7 +227,7 @@ { "DisplayName":"Minimum Client Version", "Category":"Arma Server Settings", - "Description":"Sets the minimum client version, below which clients won't be allowed to join. Default of 99999999 equates to the server version", + "Description":"Sets the minimum client version, below which clients won't be allowed to join. Default of 99999999 equates to the server version. NOTE: If the server uses the Performance Profiling Build in any way, set this to 0, otherwise no client can connect", "Keywords":"required,build,requiredbuild", "FieldName":"requiredBuild", "InputType":"number", @@ -284,6 +284,22 @@ "Placeholder":"\"127.0.0.1\",\"210.187.254.121\"", "EnumValues":{} }, + { + "DisplayName":"Use Headless Client Startup Parameters File", + "Category":"Arma Server Settings", + "Description":"If enabled, allows the use of a [parameters file](https://community.bistudio.com/wiki/Startup_Parameters_Config_File) for additional startup parameters for headless clients. File is \"hc_parameters.txt\" in the server base directory. Useful if the server also uses its own Startup Parameters File for mods. Use with care", + "Keywords":"headless,client,custom,server,arguments,parameters,file,parfile", + "FieldName":"hc_parfile", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"hc_parfile", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"hc_parameters.txt" + } + }, { "DisplayName":"Local Headless Client IPs", "Category":"Arma Server Settings", @@ -347,9 +363,9 @@ "EnumValues":{} }, { - "DisplayName":"Use Startup Parameters File", + "DisplayName":"Use Server Startup Parameters File", "Category":"Arma Server Settings", - "Description":"If enabled, allows the use of a [parameters file](https://community.bistudio.com/wiki/Startup_Parameters_Config_File) for additional startup parameters. File is \"parameters.txt\" in the server base directory. Useful for long startup parameters such as -mods or -servermods. Use with care", + "Description":"If enabled, allows the use of a [parameters file](https://community.bistudio.com/wiki/Startup_Parameters_Config_File) for additional startup parameters for the server. File is \"parameters.txt\" in the server base directory. Useful for long startup parameters such as -mod or -serverMod. Use with care", "Keywords":"custom,server,arguments,parameters,file,parfile", "FieldName":"parfile", "InputType":"checkbox", @@ -1178,7 +1194,7 @@ { "DisplayName":"Server Branch", "Category":"SteamCMD and Updates", - "Description":"Sets the server branch to install. NOTE: Update the server after switching branches!", + "Description":"Sets the server branch (or branches) to install. NOTE: Update the server after switching branches, and set the Minimum Client Version to 0 if using the Performance Profiling Build in any way!", "Keywords":"server,branch,depot", "FieldName":"ServerBranch", "InputType":"enum", @@ -1190,7 +1206,8 @@ "public":"Public (default)", "profiling":"Performance Profiling Build", "creatordlc":"Creator DLC Build", - "contact":"Contact Build" + "contact":"Contact Build", + "creatordlc-profiling":"Creator DLC + Performance Profiling Builds" } } ] diff --git a/arma3runhc.ps1 b/arma3runhc.ps1 index 6fd8dffdf..c4919be79 100644 --- a/arma3runhc.ps1 +++ b/arma3runhc.ps1 @@ -1,4 +1,4 @@ -# Arguments: [number_clients] [server_binding] [server_port] "<server_password>" "<mod_list>" +# Arguments: [number_clients] [server_binding] [server_port] "<server_password>" "<mod_list>" "<hc_parameters_file>" # Check if any headless clients are to be run # If none, immediately exit @@ -19,6 +19,11 @@ if (-not $serverStarted) { exit 1 } # Start the headless clients $clients = @() $basePort = [int]$args[2] + 498 +if ($args.Length -lt 6) { + $parfile = "" +} else { + $parfile = $args[6] +} cd "$PSScriptRoot\arma3\233780" for ($i = 1; $i -le [int]$args[0]; $i++) { if ($args[1] -eq "0.0.0.0") { @@ -26,7 +31,7 @@ for ($i = 1; $i -le [int]$args[0]; $i++) { } else { $connect = $args[1] } - $hcProcess = Start-Process -FilePath "ArmA3Server_x64.exe" -ArgumentList "-client", "-nosound", "-connect=${connect}:$($args[2])", "-port=$basePort", "-password=`"$($args[3])`"", "`"-mod=$($args[4])`"" -WindowStyle Hidden -PassThru + $hcProcess = Start-Process -FilePath "ArmA3Server_x64.exe" -ArgumentList "-client", "-nosound", "-profiles=A3Master", "-connect=${connect}:$($args[2])", "-port=$basePort", "-password=`"$($args[3])`"", "`"-mod=$($args[4])`"", "`"-par=$parfile`"" -WindowStyle Hidden -PassThru $clients += $hcProcess.Id } diff --git a/arma3runhc.sh b/arma3runhc.sh index 33d0ad4c9..de6cee40e 100644 --- a/arma3runhc.sh +++ b/arma3runhc.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Arguments: [number_clients] [server_binding] [server_port] "<server_password>" "<mod_list>" +# Arguments: [number_clients] [server_binding] [server_port] "<server_password>" "<mod_list>" "<hc_parameters_file>" netcommand="$(command -v "ss" >/dev/null 2>&1 && echo "ss" || echo "netstat")" @@ -24,6 +24,7 @@ fi # Start the headless clients baseport=$(($3 + 498)) +parfile="${6:-}" export LD_LIBRARY_PATH=$(dirname "$0")/linux64:$LD_LIBRARY_PATH cd ./arma3/233780 for i in $(seq 1 "$1"); do @@ -32,7 +33,7 @@ for i in $(seq 1 "$1"); do else connect="$2" fi - ./arma3server_x64 -client -nosound -connect=$connect:$3 -port=$baseport -password="$4" "-mod=$5" >/dev/null 2>&1 & + ./arma3server_x64 -client -nosound -profiles=A3Master -connect=$connect:$3 -port=$baseport -password="$4" "-mod=$5" "-par=$parfile" >/dev/null 2>&1 & clients+=($!) done diff --git a/arma3updates.json b/arma3updates.json index aa718aa20..af800f24a 100644 --- a/arma3updates.json +++ b/arma3updates.json @@ -5,7 +5,80 @@ "UpdateSource":"SteamCMD", "UpdateSourceData":"233780", "UpdateSourceArgs":"107410", - "UpdateSourceVersion":"{{ServerBranch}}" + "UpdateSourceVersion":"public", + "UpdateSourceConditionSetting":"ServerBranch", + "UpdateSourceConditionValue":"public" + }, + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"233780", + "UpdateSourceArgs":"107410", + "UpdateSourceVersion":"profiling", + "UpdateSourceConditionSetting":"ServerBranch", + "UpdateSourceConditionValue":"profiling" + }, + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"233780", + "UpdateSourceArgs":"107410", + "UpdateSourceVersion":"creatordlc", + "UpdateSourceConditionSetting":"ServerBranch", + "UpdateSourceConditionValue":"creatordlc" + }, + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"233780", + "UpdateSourceArgs":"107410", + "UpdateSourceVersion":"contact", + "UpdateSourceConditionSetting":"ServerBranch", + "UpdateSourceConditionValue":"contact" + }, + { + "UpdateStageName":"SteamCMD Creator DLC Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"233780", + "UpdateSourceArgs":"107410", + "UpdateSourceVersion":"creatordlc", + "UpdateSourceConditionSetting":"ServerBranch", + "UpdateSourceConditionValue":"creatordlc-profiling" + }, + { + "UpdateStageName":"SteamCMD Performance Profiling Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"233780", + "UpdateSourceArgs":"107410", + "UpdateSourceTarget":".profiling", + "UpdateSourceVersion":"profiling", + "UpdateSourceConditionSetting":"ServerBranch", + "UpdateSourceConditionValue":"creatordlc-profiling" + }, + { + "UpdateStageName":"Performance Profiling Binary Copy", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}arma3server_x64", + "UpdateSourceArgs":"{{$FullRootDir}}.profiling/arma3server_x64", + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBranch", + "UpdateSourceConditionValue":"creatordlc-profiling" + }, + { + "UpdateStageName":"Performance Profiling Binary Copy", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}ArmA3Server_x64.exe", + "UpdateSourceArgs":"{{$FullRootDir}}.profiling/ArmA3Server_x64.exe", + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBranch", + "UpdateSourceConditionValue":"creatordlc-profiling" }, { "UpdateStageName":"Server Config Template Download", @@ -26,12 +99,19 @@ "OverwriteExistingFiles":false }, { - "UpdateStageName":"Create Parameters File", + "UpdateStageName":"Create Server Parameters File", "UpdateSourcePlatform":"All", "UpdateSource":"CreateFile", "UpdateSourceArgs":"{{$FullBaseDir}}parameters.txt", "OverwriteExistingFiles":false }, + { + "UpdateStageName":"Create Headless Client Parameters File", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateFile", + "UpdateSourceArgs":"{{$FullBaseDir}}hc_parameters.txt", + "OverwriteExistingFiles":false + }, { "UpdateStageName":"Modscript Download", "UpdateSourcePlatform":"Linux", From e115190f0a68332d3df1358339191e9a6b5f7b1b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 27 Jul 2023 14:17:51 +1000 Subject: [PATCH 246/318] Arma Reforger: settings updates (#430) --- arma-reforgerconfig.json | 25 +++++++++++++++++++++---- arma-reforgerserver.json | 3 ++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/arma-reforgerconfig.json b/arma-reforgerconfig.json index 066a5003f..d3932e74f 100644 --- a/arma-reforgerconfig.json +++ b/arma-reforgerconfig.json @@ -323,17 +323,17 @@ { "DisplayName":"Minimum Grass Distance", "Category":"Server Settings", - "Description":"Sets the server's minimum grass distance (between 50 to 150). 0 = no minimum distance is forced on clients (default)", + "Description":"Sets the server's minimum grass distance", "Keywords":"minimum,grass,distance,servermingrassdistance", "FieldName":"serverMinGrassDistance", "InputType":"number", - "MinValue":"0", + "MinValue":"50", "MaxValue":"150", "IsFlagArgument":false, "ParamFieldName":"game.gameProperties.serverMinGrassDistance", "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", + "DefaultValue":"50", + "Placeholder":"50", "Suffix":"metres", "EnumValues":{} }, @@ -429,6 +429,23 @@ "Placeholder":"-1", "EnumValues":{} }, + { + "DisplayName":"Slot Reservation Timeout", + "Category":"Server Settings", + "Description":"Sets how long the backend and server will reserve a slot for a kicked player. 5 = effectively diabled (given the value is the same as for a normal disconnect)", + "Keywords":"slot,reservation,timeout,slotreservationtimeout", + "FieldName":"slotReservationTimeout", + "InputType":"number", + "MinValue":"5", + "MaxValue":"300", + "IsFlagArgument":false, + "ParamFieldName":"operating.slotReservationTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"seconds", + "EnumValues":{} + }, { "DisplayName":"Log Statistics", "Category":"Server Settings", diff --git a/arma-reforgerserver.json b/arma-reforgerserver.json index eb1550211..ae4c055e6 100644 --- a/arma-reforgerserver.json +++ b/arma-reforgerserver.json @@ -35,6 +35,7 @@ "operating":{ "lobbyPlayerSynchronise":{{operating.lobbyPlayerSynchronise}}, "playerSaveTime":{{operating.playerSaveTime}}, - "aiLimit":{{operating.aiLimit}} + "aiLimit":{{operating.aiLimit}}, + "slotReservationTimeout":{{operating.slotReservationTimeout}} } } \ No newline at end of file From 750466839f402a356d09ee45ed39caebdabb6c10 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 28 Jul 2023 11:15:38 +1000 Subject: [PATCH 247/318] Arma Reforger: fix default passwordAdmin length and remove LinuxBufferedConsole (#434) --- arma-reforger.kvp | 2 +- arma-reforgerconfig.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arma-reforger.kvp b/arma-reforger.kvp index 9498d7e75..a8879bae5 100644 --- a/arma-reforger.kvp +++ b/arma-reforger.kvp @@ -60,7 +60,7 @@ App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} App.UpdateSources=@IncludeJson[arma-reforgerupdates.json] App.PreStartStages=[] -App.Compatibility=LinuxBufferedConsole, WindowsBufferedConsole +App.Compatibility=WindowsBufferedConsole App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False diff --git a/arma-reforgerconfig.json b/arma-reforgerconfig.json index d3932e74f..aab76e116 100644 --- a/arma-reforgerconfig.json +++ b/arma-reforgerconfig.json @@ -188,14 +188,14 @@ { "DisplayName":"Admin Password", "Category":"Server Settings", - "Description":"Sets the password required for admin access to the server. Only use alphanumeric, dash or underscore characters. Default is a strong random password", + "Description":"Sets the password required for admin access to the server. Only use alphanumeric, dash or underscore characters. Maximum 32 characters. Default is a strong random password", "Keywords":"admin,password,adminpassword,passwordadmin", "FieldName":"adminPassword", "InputType":"password", "IsFlagArgument":false, "ParamFieldName":"game.passwordAdmin", "IncludeInCommandLine":false, - "DefaultValue":"{{newguid()}}", + "DefaultValue":"{{randomdigits(15)}}", "EnumValues":{} }, { @@ -491,4 +491,4 @@ "Placeholder":"-debug", "EnumValues":{} } -] \ No newline at end of file +] From 309cc30d640c7cf498f16bfe3105f11eb8079b27 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 28 Jul 2023 11:18:57 +1000 Subject: [PATCH 248/318] Pavlov: update setting description for newer server builds (#432) --- pavlov-vrconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pavlov-vrconfig.json b/pavlov-vrconfig.json index c20c43452..c8f5e28fd 100755 --- a/pavlov-vrconfig.json +++ b/pavlov-vrconfig.json @@ -232,7 +232,7 @@ { "DisplayName": "Balance Table URL", "Category": "Server Settings", - "Description": "Reference for custom balance table on GitHub. [Follow the instructions](https://github.com/vankruptgames/BalancingTable) to create your own", + "Description": "Reference for custom balance table on GitHub. [Follow the instructions](https://github.com/vankruptgames/BalancingTable) to create your own. Note: You may need to use the Beta_5.1 branch on GitHub for server builds based on Unity 5", "Keywords": "balance,table,URL,balancetableurl", "FieldName": "BalanceTableURL", "InputType": "text", From d8f3e29f74a7f840e58a082a2a606e1498fb2d72 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 28 Jul 2023 11:19:34 +1000 Subject: [PATCH 249/318] Stationeers: remove legacy server option, add previous branch to main template (#433) --- stationeers-legacy.kvp | 76 ------------ stationeers-legacyconfig.json | 185 ------------------------------ stationeers-legacymetaconfig.json | 7 -- stationeersconfig.json | 5 +- 4 files changed, 3 insertions(+), 270 deletions(-) delete mode 100644 stationeers-legacy.kvp delete mode 100644 stationeers-legacyconfig.json delete mode 100644 stationeers-legacymetaconfig.json diff --git a/stationeers-legacy.kvp b/stationeers-legacy.kvp deleted file mode 100644 index bdd180221..000000000 --- a/stationeers-legacy.kvp +++ /dev/null @@ -1,76 +0,0 @@ -Meta.DisplayName=Stationeers (Legacy) -Meta.Description=Stationeers Dedicated Server (Legacy) -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=IceOfWraith, CubeCoders -Meta.URL=https://store.steampowered.com/app/544550/Stationeers/ -Meta.DisplayImageSource=steam:544550 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} -Meta.ConfigManifest=stationeers-legacyconfig.json -Meta.MetaConfigManifest=stationeers-legacymetaconfig.json -Meta.ConfigRoot=stationeers-legacy.kvp -Meta.MinAMPVersion= -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Stationeers (Legacy) -App.RootDir=./stationeers/ -App.BaseDirectory=./stationeers/600760/ -App.ExecutableWin=600760\rocketstation_DedicatedServer.exe -App.ExecutableLinux=600760/rocketstation_DedicatedServer.x86_64 -App.WorkingDir=600760 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=-batchmode -nographics -autostart -bindip={{$ApplicationIPBinding}} -basedirectory="{{$FullBaseDir}}" -loadworld="{{worldname}}" -modpath="{{$FullBaseDir}}{{modpath}}/" {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"544550"} -App.CommandLineParameterFormat=-{0}="{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=shutdown -App.ExitFile=app_exit.lck -App.HasWriteableConsole=False -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=28015 -App.ApplicationPort2=27028 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 -App.MaxUsers=20 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceArgs":"544550","UpdateSourceVersion":"previous"},{"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=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=True -App.UniversalSleepApplicationUDPPort=1 -App.UniversalSleepSteamQueryPort=2 -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^> Ready$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/stationeers-legacyconfig.json b/stationeers-legacyconfig.json deleted file mode 100644 index bcef3fb45..000000000 --- a/stationeers-legacyconfig.json +++ /dev/null @@ -1,185 +0,0 @@ -[ - { - "DisplayName": "Server Name", - "Category": "Server Settings", - "Description": "Display name of the server.", - "Keywords": "server,name", - "FieldName": "SERVERNAME", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.SERVERNAME", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Stationeers Server", - "EnumValues": {} - }, - { - "DisplayName": "Server Password", - "Category": "Server Settings", - "Description": "Password that clients must supply to join.", - "Keywords": "password", - "FieldName": "PASSWORD", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.PASSWORD", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "RCON Password", - "Category": "Server Settings", - "Description": "Password to access RCON using http://YOURIP:GAMEPORT. You should change after install.", - "Keywords": "RCON,password", - "FieldName": "RCONPASSWORD", - "InputType": "RandomPassword", - "IsFlagArgument": false, - "ParamFieldName": "RCON.RCONPASSWORD", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Admin Password", - "Category": "Server Settings", - "Description": "Password to become the in-game admin. You should change after install.", - "Keywords": "admin,password", - "FieldName": "ADMINPASSWORD", - "InputType": "RandomPassword", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.ADMINPASSWORD", - "IncludeInCommandLine": false, - "DefaultValue": "Password123", - "EnumValues": {} - }, - { - "DisplayName": "Max Players", - "Category": "Server Settings", - "Description": "The maximum number of players allowed on the server.", - "Keywords": "max,players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.MAXPLAYER", - "IncludeInCommandLine": false, - "DefaultValue": "20", - "EnumValues": {}, - "MinValue":"1" - }, - { - "DisplayName": "Creator", - "Category": "Server Settings", - "Description": "Set creator's [Steam64 ID](https://steamidfinder.com/) as gamedata and key-value. This is for future integration of server instancing.", - "Keywords": "creator", - "FieldName": "creator", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "creator", - "IncludeInCommandLine": true, - "DefaultValue": "", - "SkipIfEmpty": true, - "EnumValues": {} - }, - { - "DisplayName": "World Name", - "Category": "Server Settings", - "Description": "Name of the world directory to load.", - "Keywords": "world,name", - "FieldName": "worldname", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "worldname", - "IncludeInCommandLine": true, - "DefaultValue": "world", - "EnumValues": {} - }, - { - "DisplayName": "Map", - "Category": "Server Settings", - "Description": "Default Moon. Will create a world of this type or display this world type in the server browser if loading a save.", - "Keywords": "world,type", - "FieldName": "worldtype", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "worldtype", - "IncludeInCommandLine": true, - "DefaultValue": "", - "SkipIfEmpty": true, - "EnumValues": { - "": "Default", - "Europa2": "Europa2", - "Loulan": "Loulan", - "Mars": "Mars", - "Mimas": "Mimas", - "Moon": "Moon", - "Space": "Space", - "Vulcan2": "Vulcan2" - } - }, - { - "DisplayName": "Auto Save Interval", - "Category": "Server Settings", - "Description": "How frequently the server will save the world.", - "Keywords": "", - "FieldName": "autosaveinterval", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "autosaveinterval", - "IncludeInCommandLine": true, - "DefaultValue": "60", - "EnumValues": {}, - "Suffix": "sec" - }, - { - "DisplayName": "Clear All Interval", - "Category": "Server Settings", - "Description": "The interval to run \"clearall\" command. Minimum is 60 seconds. clearall will delete all disconnected characters. Set to a very high number. 0 to disable. ", - "Keywords": "clear,all,interval", - "FieldName": "clearallinterval", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "clearallinterval", - "IncludeInCommandLine": true, - "DefaultValue": "60", - "EnumValues": {}, - "Suffix": "sec" - }, - { - "DisplayName": "Mod Path", - "Category": "Server Settings", - "Description": "Where mods are located inside the datastore.", - "Keywords": "mod,path", - "FieldName": "modpath", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "modpath", - "IncludeInCommandLine": false, - "DefaultValue": "Mods", - "EnumValues": {} - }, - { - "DisplayName": "GAMEPORT", - "Category": "Server Settings", - "Description": "", - "Keywords": "", - "FieldName": "$ApplicationPort1", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.GAMEPORT", - "IncludeInCommandLine": false, - "DefaultValue": "27500", - "Hidden": true - }, - { - "DisplayName": "UPDATERPORT", - "Category": "Server Settings", - "Description": "", - "Keywords": "", - "FieldName": "$ApplicationPort2", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "SERVER.UPDATERPORT", - "IncludeInCommandLine": false, - "DefaultValue": "27015", - "Hidden": true - } -] \ No newline at end of file diff --git a/stationeers-legacymetaconfig.json b/stationeers-legacymetaconfig.json deleted file mode 100644 index c4d5b62d6..000000000 --- a/stationeers-legacymetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile": "./default.ini", - "AutoMap": true, - "ConfigType": "ini" - } -] diff --git a/stationeersconfig.json b/stationeersconfig.json index 9d5524387..459124390 100644 --- a/stationeersconfig.json +++ b/stationeersconfig.json @@ -268,7 +268,8 @@ "DefaultValue":"public", "EnumValues":{ "public":"Public (default)", - "beta":"Beta" + "beta":"Beta", + "previous":"Previous" } } -] \ No newline at end of file +] From c2c13fa28ed70d02c6f377e302c01bb7db33948d Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sat, 29 Jul 2023 18:11:41 -0500 Subject: [PATCH 250/318] Update conan-exiles.kvp (#435) * Update conan-exiles.kvp Update to include non-Steam client mod downloading port. * Update conan-exiles.kvp --- conan-exiles.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conan-exiles.kvp b/conan-exiles.kvp index d2ae08b7e..1e166298b 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -45,7 +45,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"ApplicationPort2","Name":"Pinger Port","Description":"Port for pinger traffic from server browser to determine availability"},{"Protocol":"UDP","Port":27015,"Ref":"ApplicationPort3","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":25575,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.Ports=[{"Protocol":"Both","Port":7777,"Ref":"ApplicationPort1","Name":"Game and Mods Port","Description":"Port for game traffic and client mod downloads"},{"Protocol":"UDP","Port":7778,"Ref":"ApplicationPort2","Name":"Pinger Port","Description":"Port for pinger traffic from server browser to determine availability"},{"Protocol":"UDP","Port":27015,"Ref":"ApplicationPort3","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":25575,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] App.AdminPortRef=RemoteAdminPort App.PrimaryApplicationPortRef=ApplicationPort1 App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 From 147ae02a9cc74013a040824455e22cefc201c65b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 30 Jul 2023 12:56:21 +1000 Subject: [PATCH 251/318] Update ark-se.kvp (#436) --- ark-se.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ark-se.kvp b/ark-se.kvp index 6815e0335..00a11d8d1 100644 --- a/ark-se.kvp +++ b/ark-se.kvp @@ -42,7 +42,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"TCP","Port":27020,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] +App.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"PeerPort","Name":"Peer Port","Description":"Port for Steam P2P protocol traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"TCP","Port":27020,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] App.AdminPortRef=RCONPort App.PrimaryApplicationPortRef=GamePort App.UniversalSleepApplicationUDPPortRef=GamePort From 7eb0d39067c4f99c6db9725429d13a019414352d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 30 Jul 2023 15:47:57 +1000 Subject: [PATCH 252/318] Update vintage-storyconfig.json (#437) --- vintage-storyconfig.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vintage-storyconfig.json b/vintage-storyconfig.json index ffa7313cc..198c4ba17 100644 --- a/vintage-storyconfig.json +++ b/vintage-storyconfig.json @@ -22,8 +22,8 @@ "IsFlagArgument":false, "ParamFieldName":"ServerVersion", "IncludeInCommandLine":false, - "DefaultValue":"1.16.5", - "Placeholder":"1.16.5", + "DefaultValue":"1.18.7", + "Placeholder":"1.18.7", "EnumValues":{} }, { @@ -131,4 +131,4 @@ "False":"false" } } -] \ No newline at end of file +] From 271dc64036cb4f3c67da7acc06d796a07242767b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 9 Aug 2023 22:29:32 +1000 Subject: [PATCH 253/318] Astroneer: fix port argument, other tidy-ups (#440) --- astroneer.kvp | 52 ++++++++++++++++++++++++++++++++------------ astroneerconfig.json | 39 +++++++++++++++++++-------------- 2 files changed, 61 insertions(+), 30 deletions(-) diff --git a/astroneer.kvp b/astroneer.kvp index 461897e9c..f37fe7863 100644 --- a/astroneer.kvp +++ b/astroneer.kvp @@ -1,31 +1,42 @@ Meta.DisplayName=Astroneer Meta.Description=Astroneer Dedicated Server Meta.OS=Windows +Meta.AarchSupport=Unknown Meta.Arch=x86_64 Meta.Author=Greelan, Tueem Meta.URL=https://store.steampowered.com/app/361420/ASTRONEER/ Meta.DisplayImageSource=steam:361420 -Meta.EndpointURIFormat= +Meta.EndpointURIFormat=steam://connect/{0} Meta.ConfigManifest=astroneerconfig.json Meta.MetaConfigManifest=astroneermetaconfig.json Meta.ConfigRoot=astroneer.kvp Meta.MinAMPVersion=2.3.2.0 Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.DockerBaseReadOnly=False Meta.ContainerPolicy=NotSupported Meta.ContainerPolicyReason=Astroneer can currently only run under Wine/Proton on Linux (and therefore in Docker), but to do so requires disabling of encryption on server and clients. The AMP template is therefore not configured for Linux. +Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= App.DisplayName=Astroneer App.RootDir=./astroneer/ App.BaseDirectory=./astroneer/728470/ +App.SteamWorkshopDownloadLocation= App.ExecutableWin=728470/Astro/Binaries/Win64/AstroServer-Win64-Shipping.exe App.ExecutableLinux= App.WorkingDir=728470/Astro/Binaries/Win64 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -Port={{$ApplicationPort1}} -ConsolePort={{$RemoteAdminPort}} {{$FormattedArgs}} +App.CommandLineArgs={{$PlatformArgs}} Port={{$ApplicationPort1}} ConsolePort={{$RemoteAdminPort}} {{$FormattedArgs}} -log +App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"361420"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"361420"} App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -37,36 +48,48 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=8777 -App.ApplicationPort2=0 -App.ApplicationPort3=0 -App.RemoteAdminPort=8778 +App.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":1234,"Ref":"RemoteAdminPort","Name":"Console Port","Description":"Port for raw TCP socket RCON traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=0 App.MaxUsers=8 -App.UseRandomAdminPassword=True +App.UseRandomAdminPassword=False +App.PersistRandomPassword=False 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=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"728470","UpdateSourceArgs":"361420","ForceDownloadPlatform":"Windows"}] +App.PreStartStages=[] +App.ForceUpdate=False +App.ForceUpdateReason= App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=27015 -App.UniversalSleepSteamQueryPort=27016 App.WakeupMode=Any App.ApplicationReadyMode=Immediate App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] Ready.$ -Console.UserJoinRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] "(?<username>.+?)" \((?<userid>.+?)\) connected from \[(?<endpoint>.+?)\]$ -Console.UserLeaveRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] "(?<username>.+?)" \((?<userid>.+?)\) disconnected \(Reason: (?<reason>.+?)\)$ -Console.UserChatRegex=^\[\d\d:\d\d:\d\d\] \[CHAT\] <(?<username>.+?)> (?<message>.+)$ +Console.AppReadyRegex=^$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ 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={} @@ -75,3 +98,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/astroneerconfig.json b/astroneerconfig.json index 485ffaef3..35abeb703 100644 --- a/astroneerconfig.json +++ b/astroneerconfig.json @@ -42,7 +42,7 @@ "DisplayName":"Server Name", "Category":"Server Settings", "Description":"The name of the server as it appears publicly", - "Keywords":"name", + "Keywords":"name,servername", "FieldName":"ServerName", "InputType":"text", "IsFlagArgument":false, @@ -55,7 +55,7 @@ "DisplayName":"Server Password", "Category":"Server Settings", "Description":"Password required to connect to the server. Default is no password", - "Keywords":"password", + "Keywords":"password,serverpassword", "FieldName":"ServerPassword", "InputType":"password", "IsFlagArgument":false, @@ -67,20 +67,21 @@ { "DisplayName":"Console Password", "Category":"Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"console,password,rcon", - "FieldName":"$RemoteAdminPassword", - "InputType":"hidden", + "Description":"Password required to connect to the server's RCON (raw TCP socket). Default is a strong random password", + "Keywords":"console,password,rcon,consolepassword", + "FieldName":"ConsolePassword", + "InputType":"password", "IsFlagArgument":false, "ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePassword", "IncludeInCommandLine":false, + "DefaultValue":"{{newguid()}}", "EnumValues":{} }, { "DisplayName":"Owner Name", "Category":"Server Settings", "Description":"Steam name of the server owner (admin)", - "Keywords":"owner,name", + "Keywords":"owner,name,ownername", "FieldName":"OwnerName", "InputType":"text", "IsFlagArgument":false, @@ -92,29 +93,32 @@ { "DisplayName":"Player Limit", "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server. Cannot exceed 8", - "Keywords":"players,limit", + "Description":"Maximum number of players that may connect to the server at one time", + "Keywords":"players,limit,maxplayers", "FieldName":"$MaxUsers", "InputType":"number", + "MinValue":"2", + "MaxValue":"8", "IsFlagArgument":false, "ParamFieldName":"/Script/Astro.AstroGameUserSettings.MaxPlayers", "IncludeInCommandLine":false, "DefaultValue":"8", + "Placeholder":"8", "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" + "EnumValues":{} }, { "DisplayName":"Game Save Interval", "Category":"Server Settings", "Description":"The interval between automatic server saves", - "Keywords":"autosave,save,interval", + "Keywords":"autosave,save,interval,autosavegameinterval", "FieldName":"AutoSaveGameInterval", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/Script/Astro.AstroServerSettings.AutoSaveGameInterval", "IncludeInCommandLine":false, "DefaultValue":"900", + "Placeholder":"900", "Suffix":"seconds", "EnumValues":{} }, @@ -122,13 +126,14 @@ "DisplayName":"Backup Save Interval", "Category":"Server Settings", "Description":"The interval between automatic server backups", - "Keywords":"backup,interval", + "Keywords":"backup,interval,backupsavegamesinterval", "FieldName":"BackupSaveGamesInterval", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/Script/Astro.AstroServerSettings.BackupSaveGamesInterval", "IncludeInCommandLine":false, "DefaultValue":"7200", + "Placeholder":"7200", "Suffix":"seconds", "EnumValues":{} }, @@ -136,7 +141,7 @@ "DisplayName":"Enable Whitelist", "Category":"Server Settings", "Description":"If enabled, unlisted players will not be able to connect", - "Keywords":"deny,unlisted", + "Keywords":"deny,unlisted,denyunlistedplayers", "FieldName":"DenyUnlistedPlayers", "InputType":"checkbox", "IsFlagArgument":false, @@ -152,13 +157,14 @@ "DisplayName":"Maximum Active Server Framerate", "Category":"Server Settings", "Description":"The maximum framerate that the server will allow when active", - "Keywords":"fps,framerate,active", + "Keywords":"fps,framerate,active,maxserverframerate", "FieldName":"MaxServerFramerate", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerFramerate", "IncludeInCommandLine":false, "DefaultValue":"30.000000", + "Placeholder":"30.000000", "Suffix":"fps", "EnumValues":{} }, @@ -166,13 +172,14 @@ "DisplayName":"Maximum Idle Server Framerate", "Category":"Server Settings", "Description":"The maximum framerate that the server will allow when idle", - "Keywords":"fps,framerate,idle", + "Keywords":"fps,framerate,idle,maxserveridleframerate", "FieldName":"MaxServerIdleFramerate", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerIdleFramerate", "IncludeInCommandLine":false, "DefaultValue":"3.000000", + "Placeholder":"3.000000", "Suffix":"fps", "EnumValues":{} } From 519aab68bcc1b668a7ca166315d725c8c9a663dc Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 9 Aug 2023 22:29:51 +1000 Subject: [PATCH 254/318] Update ports (#441) --- valheim.kvp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/valheim.kvp b/valheim.kvp index 441b63423..b98e77a80 100644 --- a/valheim.kvp +++ b/valheim.kvp @@ -4,7 +4,7 @@ Meta.OS=Windows, Linux Meta.Author=CubeCoders Limited Meta.URL=https://www.valheimgame.com/ Meta.DisplayImageSource=steam:892970 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2} Meta.ConfigManifest=valheimconfig.json Meta.MetaConfigManifest=valheimmetaconfig.json Meta.ConfigRoot=valheim.kvp @@ -22,10 +22,11 @@ App.ExitMethod=OS_CLOSE App.HasWriteableConsole=False App.HasReadableConsole=True App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=2456 -App.ApplicationPort2=2457 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 +App.Ports=[{"Protocol":"UDP","Port":2456,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":2457,"Ref":"ApplicationPort2","Name":"Steam Query Port","Description":"Port for Steam query traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort2 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 App.AdminMethod=STDIO @@ -35,8 +36,6 @@ App.SteamUpdateAnonymousLogin=True App.SteamForceWindowsVersion=False App.ApplicationReadyMode=RegexMatch App.SupportsUniversalSleep=True -App.UniversalSleepApplicationUDPPort=1 -App.UniversalSleepSteamQueryPort=2 App.WakeupMode=Any Console.FilterMatchRegex=^\d\d\/\d\d\/\d{4} \d\d:\d\d:\d\d: Console.FilterMatchReplacement= From 34fd71a3480130de742dd5e5ee0937173b9622f7 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 13 Aug 2023 07:29:20 +1000 Subject: [PATCH 255/318] ARK:SE: add setting (#442) --- ark-se.kvp | 2 +- ark-seconfig.json | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ark-se.kvp b/ark-se.kvp index 00a11d8d1..dde406644 100644 --- a/ark-se.kvp +++ b/ark-se.kvp @@ -27,7 +27,7 @@ App.ExecutableLinux=376030/ShooterGame/Binaries/Linux/ShooterGameServer App.WorkingDir=376030/ShooterGame/Binaries/Win64 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?MultiHome={{$ApplicationIPBinding}}?{{$FormattedArgs}}{{OverrideOfficialDifficulty}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog +App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?MultiHome={{$ApplicationIPBinding}}?{{$FormattedArgs}}{{OverrideOfficialDifficulty}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{AllowFlyerSpeedLeveling}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"346110"} diff --git a/ark-seconfig.json b/ark-seconfig.json index 4f36b9762..cb60891f0 100644 --- a/ark-seconfig.json +++ b/ark-seconfig.json @@ -997,6 +997,22 @@ "True":"True" } }, + { + "DisplayName":"Allow Flyer Speed Levelling", + "Category":"ARK Gameplay Settings", + "Description":"If set, flyers can have their movement speed levelled up", + "Keywords":"flyer,movement,speed,level,up,allowflyerspeedleveling", + "FieldName":"AllowFlyerSpeedLeveling", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowFlyerSpeedLeveling", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"-AllowFlyerSpeedLeveling " + } + }, { "DisplayName":"Allow Cave Flyers", "Category":"ARK Gameplay Settings", @@ -2178,4 +2194,4 @@ "True":"true" } } -] \ No newline at end of file +] From 2192986408b479afd209eb460522478865701a39 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 13 Aug 2023 16:21:19 +1000 Subject: [PATCH 256/318] Add Quake III Arena (#439) --- quake3-arena.kvp | 101 ++++++ quake3-arenabase.cfg | 42 +++ quake3-arenaconfig.json | 657 ++++++++++++++++++++++++++++++++++++ quake3-arenametaconfig.json | 30 ++ quake3-arenaserver.cfg | 45 +++ quake3-arenaupdates.json | 100 ++++++ 6 files changed, 975 insertions(+) create mode 100644 quake3-arena.kvp create mode 100644 quake3-arenabase.cfg create mode 100644 quake3-arenaconfig.json create mode 100644 quake3-arenametaconfig.json create mode 100644 quake3-arenaserver.cfg create mode 100644 quake3-arenaupdates.json diff --git a/quake3-arena.kvp b/quake3-arena.kvp new file mode 100644 index 000000000..67baae252 --- /dev/null +++ b/quake3-arena.kvp @@ -0,0 +1,101 @@ +Meta.DisplayName=Quake III Arena +Meta.Description=Quake III Arena Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=NotSupported +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://www.idsoftware.com/en-gb#section-games +Meta.DisplayImageSource=steam:2200 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=quake3-arenaconfig.json +Meta.MetaConfigManifest=quake3-arenametaconfig.json +Meta.ConfigRoot=quake3-arena.kvp +Meta.MinAMPVersion=2.4.6.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.DockerBaseReadOnly=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= +App.DisplayName=Quake III Arena +App.RootDir=./quake3-arena/ +App.BaseDirectory=./quake3-arena/server/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin=server\ioq3ded.x86_64.exe +App.ExecutableLinux=server/ioq3ded.x86_64 +App.WorkingDir=server +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} +set fs_homepath "{{$FullBaseDir}}" +set net_port {{$ServerPort}} +set net_ip {{$ApplicationIPBinding}} +{{map_type}} {{map_name}} +set rconpassword "{{$RemoteAdminPassword}}" {{$FormattedArgs}} +exec base.cfg +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"2200"} +App.CommandLineParameterFormat=+set {0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=stop +App.ExitFile=lock +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":27960,"Name":"Server Port","Description":"Port for game and RCON traffic","Ref":"ServerPort"}] +App.AdminPortRef=ServerPort +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=8 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=True +App.RemoteAdminPassword= +App.AdminMethod=QuakeRCON +App.AdminLoginTransform=None +App.LoginTransformPrefix= +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[quake3-arenaupdates.json] +App.PreStartStages=[] +App.ForceUpdate=False +App.ForceUpdateReason= +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=True +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^AAS initialized\.$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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/quake3-arenabase.cfg b/quake3-arenabase.cfg new file mode 100644 index 000000000..24b49fb70 --- /dev/null +++ b/quake3-arenabase.cfg @@ -0,0 +1,42 @@ +// This file is controlled by AMP +// Use server.cfg for any other desired settings + +exec server.cfg + +seta sv_hostname "AMP Powered Quake III Arena Server" +seta g_motd "Welcome to Quake III Arena!" +seta sv_maxclients "16" +seta g_needpass "0" +seta g_password "" +seta sv_privatePassword "" +seta sv_pure "1" +seta sv_cheats "0" +seta g_gametype "0" +seta sv_maxclients "8" +seta g_maxGameClients "0" +seta sv_privateClients "0" +seta sv_allowDownload "0" +seta sv_fps "20" +seta sv_minRate "0" +seta sv_maxRate "0" +seta sv_minPing "0" +seta sv_maxPing "0" +seta bot_enable "1" +seta g_spskill "4" +seta bot_minplayers "5" +seta bot_nochat "1" +seta g_friendlyFire "1" +seta fraglimit "0" +seta timelimit "0" +seta capturelimit "8" +seta g_teamAutoJoin "0" +seta g_teamForceBalance "0" +seta g_forcerespawn "0" +seta g_allowVote "1" +seta g_quadfactor "3" +seta g_weaponrespawn "5" +seta g_inactivity "0" +seta g_syncronousclients "0" +seta sv_floodProtect "1" +seta logfile "3" +seta g_log "server.log" diff --git a/quake3-arenaconfig.json b/quake3-arenaconfig.json new file mode 100644 index 000000000..e15ec8447 --- /dev/null +++ b/quake3-arenaconfig.json @@ -0,0 +1,657 @@ +[ + { + "DisplayName":"Enable Log File", + "Category":"Q3A Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"logfile", + "InputType":"number", + "Hidden":true, + "ParamFieldName":"logfile", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "EnumValues":{} + }, + { + "DisplayName":"Log File Name", + "Category":"Q3A Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"g_log", + "InputType":"text", + "Hidden":true, + "ParamFieldName":"g_log", + "IncludeInCommandLine":false, + "DefaultValue":"server.log", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Q3A Server Settings", + "Description":"Sets the name of the server that appears in the server list", + "Keywords":"server,name,sv_hostname", + "FieldName":"sv_hostname", + "InputType":"text", + "ParamFieldName":"sv_hostname", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered Quake III Arena Server", + "EnumValues":{} + }, + { + "DisplayName":"Message Of The Day", + "Category":"Q3A Server Settings", + "Description":"Sets the message of the day (MOTD) displayed when players join", + "Keywords":"message,motd,g_motd", + "FieldName":"g_motd", + "InputType":"text", + "ParamFieldName":"g_motd", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome to Quake III Arena!", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Q3A Server Settings", + "Description":"If enabled, the server will be visible publicly. Otherwise it will only be accessible from the LAN", + "Keywords":"public,visible,dedicated", + "FieldName":"dedicated", + "InputType":"checkbox", + "ParamFieldName":"dedicated", + "IncludeInCommandLine":true, + "DefaultValue":"2", + "EnumValues":{ + "False":"1", + "True":"2" + } + }, + { + "DisplayName":"Require Server Password", + "Category":"Q3A Server Settings", + "Description":"If enabled, the server will notify clients that it requires a password to connect. The password must be set under Server Password", + "Keywords":"server,password,g_needpass", + "FieldName":"g_needpass", + "InputType":"checkbox", + "ParamFieldName":"g_needpass", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Server Password", + "Category":"Q3A Server Settings", + "Description":"Sets the password required to connect to the server. Default is no password. Require Server Password must also be enabled", + "Keywords":"server,password,g_password", + "FieldName":"g_password", + "InputType":"password", + "ParamFieldName":"g_password", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"RCON Password", + "Category":"Q3A Server Settings", + "Description":"See the Security and Privacy menu for configurable options for the server's RCON", + "Keywords":"rcon,password,rconpassword", + "FieldName":"$RemoteAdminPassword", + "InputType":"hidden", + "ParamFieldName":"rconpassword", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Private Client Password", + "Category":"Q3A Server Settings", + "Description":"Sets the password for private clients, if any, to connect to the server. Specify the required number of private clients under Private Client Number. Server Password should not be set", + "Keywords":"private,client,password,sv_privatepassword", + "FieldName":"sv_privatePassword", + "InputType":"password", + "ParamFieldName":"sv_privatePassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Enable Pure Server", + "Category":"Q3A Server Settings", + "Description":"If set, only unmodified pak files that are also installed on the server can be used by clients, as a hacking and cheat protection", + "Keywords":"pure,server,cheat,hack,integrity,sv_pure", + "FieldName":"sv_pure", + "InputType":"checkbox", + "ParamFieldName":"sv_pure", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Allow Cheats", + "Category":"Q3A Server Settings", + "Description":"If set, cheats will be allowed on the server", + "Keywords":"allow,cheat,hack,integrity,sv_cheats", + "FieldName":"sv_cheats", + "InputType":"checkbox", + "ParamFieldName":"sv_cheats", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Initial Game Type", + "Category":"Q3A Server Settings", + "Description":"Sets the game type to start the server with", + "Keywords":"game,type,g_gametype", + "FieldName":"g_gametype", + "InputType":"enum", + "ParamFieldName":"g_gametype", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "0":"Deathmatch / Free For All (default)", + "1":"Tourney / One on One", + "3":"Team Deathmatch", + "4":"Capture The Flag" + } + }, + { + "DisplayName":"Initial Map", + "Category":"Q3A Server Settings", + "Description":"Sets the map to start the server with. If \"Custom\" is selected, Custom Initial Map must also be specified. This setting will be overridden if map rotation is configured in baseq3/server.cfg", + "Keywords":"map", + "FieldName":"map_name", + "InputType":"enum", + "ParamFieldName":"map_name", + "IncludeInCommandLine":false, + "DefaultValue":"q3dm0", + "EnumValues":{ + "q3dm0":"Introduction (default) (Tier 0)", + "q3dm1":"Arena Gate (Tier 1, Level 1, DM, TDM)", + "q3dm2":"House of Pain (Tier 1, Level 2, DM, TDM)", + "q3dm3":"Arena of Death (Tier 1, Level 3, DM, TDM)", + "q3tourney1":"Powerstation (Tier 1, Tourney)", + "q3dm4":"The Place of Many Deaths (Tier 2, Level 1, DM, TDM)", + "q3dm5":"The Forgotten Place (Tier 2, Level 2, DM, TDM)", + "q3dm6":"The Camping Grounds (Tier 2, Level 3, DM, TDM)", + "q3tourney2":"The Proving Grounds (Tier 2, Tourney)", + "q3dm7":"Temple of Retribution (Tier 3, Level 1, DM, TDM)", + "q3dm8":"Brimstone Abbey (Tier 3, Level 2, DM, TDM)", + "q3dm9":"Hero's Keep (Tier 3, Level 3, DM, TDM)", + "q3tourney3":"Hell's Gate (Tier 3, Tourney)", + "q3dm10":"The Nameless Place (Tier 4, Level 1, DM, TDM)", + "q3dm11":"Deva Statio (Tier 4, Level 2, DM, TDM)", + "q3dm12":"The Dredwerkz (Tier 4, Level 3, DM, TDM)", + "q3tourney4":"Vertical Vengeance (Tier 4, Tourney)", + "q3dm13":"Lost World (Tier 5, Level 1, DM, TDM)", + "q3dm14":"Grim Dungeons (Tier 5, Level 2, DM, TDM)", + "q3dm15":"Demon Keep (Tier 5, Level 3, DM, TDM)", + "q3tourney5":"Fatal Instinct (Tier 5, Tourney)", + "q3dm16":"Bouncy Map (Tier 6, Level 1, DM, TDM)", + "q3dm17":"The Longest Yard (Tier 6, Level 2, DM, TDM)", + "q3dm18":"Space Chamber (Tier 6, Level 3, DM, TDM)", + "q3dm19":"Apocalypse Void (Tier 6, Level 4, DM, TDM)", + "q3tourney6":"The Very End of You (Tier 7, Tourney)", + "q3ctf1":"Dueling Keeps (Level 1, CTF)", + "q3ctf2":"Troubled Waters (Level 2, CTF)", + "q3ctf3":"The Stronghold (Level 3, CTF)", + "q3ctf4":"Space CTF (Level 4, CTF)", + "q3tourney6_ctf":"Across Space (Tier 7, Tourney, Level 5, CTF)", + "pro_q3dm6":"Pro: The Camping Grounds (Tier 2, Level 3, DM, TDM)", + "pro_q3dm13":"Pro: Lost World (Tier 5, Level 1, DM, TDM)", + "pro_q3tourney2":"Pro: The Proving Grounds (Tier 2, Tourney)", + "pro_q3tourney4":"Pro: Vertical Vengeance (Tier 4, Tourney)", + "{{CustomMap}}":"Custom" + } + }, + { + "DisplayName":"Custom Initial Map", + "Category":"Q3A Server Settings", + "Description":"Sets a custom map to use for the Initial Map, if \"Custom\" is selected", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Initial Map Type", + "Category":"Q3A Server Settings", + "Description":"Sets whether the Initial Map allows cheats or not. Allow Cheats must also be enabled to use cheats", + "Keywords":"initial,map,type,devmap,cheats", + "FieldName":"map_type", + "InputType":"enum", + "ParamFieldName":"map_type", + "IncludeInCommandLine":false, + "DefaultValue":"map", + "EnumValues":{ + "map":"No cheats (default)", + "devmap":"Allow cheats" + } + }, + { + "DisplayName":"Client Limit", + "Category":"Q3A Server Settings", + "Description":"Sets the maximum number of players and spectators allowed on the server at one time", + "Keywords":"max,maximum,players,spectators,clients,limit,sv_maxclients", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "MaxValue":"32", + "ParamFieldName":"sv_maxclients", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "Placeholder":"8", + "Suffix":"clients", + "EnumValues":{} + }, + { + "DisplayName":"Game Player Limit", + "Category":"Q3A Server Settings", + "Description":"Sets the maximum number of players (out of the Client Limit) that are able to join the game, while the rest will be spectators. 0 = disabled", + "Keywords":"max,maximum,game,players,limit,g_maxgameclients", + "FieldName":"g_maxGameClients", + "InputType":"number", + "MinValue":"0", + "MaxValue":"32", + "ParamFieldName":"g_maxGameClients", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Private Client Number", + "Category":"Q3A Server Settings", + "Description":"Sets the number of slots (out of the Client Limit) reserved for private players on a public server. 0 = disabled. Private Client Password must also be set", + "Keywords":"sv_privateClients", + "FieldName":"sv_privateClients", + "InputType":"number", + "MinValue":"0", + "MaxValue":"32", + "ParamFieldName":"sv_privateClients", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"private players", + "EnumValues":{} + }, + { + "DisplayName":"Allow Download From Server", + "Category":"Q3A Server Settings", + "Description":"If set, clients will be allowed to download content (maps, models, etc) from the server", + "Keywords":"allow,download,content,map,model,sv_allowdownload", + "FieldName":"sv_allowDownload", + "InputType":"checkbox", + "ParamFieldName":"sv_allowDownload", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Server FPS", + "Category":"Q3A Server Settings", + "Description":"Sets the maximum frames per second (FPS) that the server sends to clients", + "Keywords":"frames,second,fps,sv_fps", + "FieldName":"sv_fps", + "InputType":"number", + "ParamFieldName":"sv_fps", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"frames/second", + "EnumValues":{} + }, + { + "DisplayName":"Server Memory Allocation", + "Category":"Q3A Server Settings", + "Description":"Sets the amount of memory allocated for map and item loading", + "Keywords":"ram,memory,com_hunkmegs", + "FieldName":"com_hunkMegs", + "InputType":"number", + "ParamFieldName":"com_hunkMegs", + "IncludeInCommandLine":true, + "DefaultValue":"128", + "Placeholder":"128", + "Suffix":"MB", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Client Rate", + "Category":"Q3A Server Settings", + "Description":"Sets the minimum allowable rate a client may have set when connected to the server. 0 = no minimum (default)", + "Keywords":"minimum,bandwidth,rate,sv_minrate", + "FieldName":"sv_minRate", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"sv_minRate", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"bytes/second", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Client Rate", + "Category":"Q3A Server Settings", + "Description":"Sets the maximum allowable rate a client may have set when connected to the server. 0 = no limit (default). Otherwise recommended to be 8000 - 10000 if slower clients are having issues", + "Keywords":"maximum,bandwidth,rate,sv_maxrate", + "FieldName":"sv_maxRate", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"sv_maxRate", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"bytes/second", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Client Ping", + "Category":"Q3A Server Settings", + "Description":"Sets the minimum ping clients can have on the server. 0 = disabled", + "Keywords":"minimum,ping,sv_minPing", + "FieldName":"sv_minPing", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"sv_minPing", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Client Ping", + "Category":"Q3A Server Settings", + "Description":"Sets the maximum ping clients can have on the server. 0 = disabled", + "Keywords":"maximum,ping,sv_maxPing", + "FieldName":"sv_maxPing", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"sv_maxPing", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"milliseconds", + "EnumValues":{} + }, + { + "DisplayName":"Additional Console Variables", + "Category":"Q3A Server Settings", + "Description":"Additional console variables that are not otherwise set by AMP can be specified in baseq3/server.cfg", + "Keywords":"custom,server,variables,cvars,convars,parameters", + "FieldName":"CustomConVars", + "InputType":"hidden", + "ParamFieldName":"CustomConVars", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Enable Bots", + "Category":"Q3A Gameplay Settings", + "Description":"If set, bots will be enabled on the server", + "Keywords":"enable,bots,bot_enable", + "FieldName":"bot_enable", + "InputType":"checkbox", + "ParamFieldName":"bot_enable", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Difficulty Level", + "Category":"Q3A Gameplay Settings", + "Description":"Sets the default difficulty level (skill level of bots) on the server", + "Keywords":"bot,skill,level,difficulty,g_spskill", + "FieldName":"g_spskill", + "InputType":"enum", + "ParamFieldName":"g_spskill", + "IncludeInCommandLine":false, + "DefaultValue":"4", + "Placeholder":"4", + "EnumValues":{ + "1":"I Can Win", + "2":"Bring It On", + "3":"Hurt Me Plenty", + "4":"Hardcore", + "5":"Nightmare" + } + }, + { + "DisplayName":"Bot Minimum Players", + "Category":"Q3A Gameplay Settings", + "Description":"Bots will added to or removed from the server to ensure that the number of players on the server meets the minimum set (subject to client/player limits)", + "Keywords":"bot,minimum,players,bot_minplayers", + "FieldName":"bot_minplayers", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"bot_minplayers", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "EnumValues":{} + }, + { + "DisplayName":"Disable Bot Chat", + "Category":"Q3A Gameplay Settings", + "Description":"If set, bots will be silenced", + "Keywords":"bot,disable,chat,mute,silence,bot_nochat", + "FieldName":"bot_nochat", + "InputType":"checkbox", + "ParamFieldName":"bot_nochat", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Friendly Fire", + "Category":"Q3A Gameplay Settings", + "Description":"If enabled, friendly fire will be allowed, so players can damage their own teammates. Standard defaults: TDM - true, CTF - false. No effect for FFA and Tourney game types", + "Keywords":"friendly,fire,g_friendlyfire", + "FieldName":"g_friendlyFire", + "InputType":"checkbox", + "ParamFieldName":"g_friendlyFire", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Frag Limit", + "Category":"Q3A Gameplay Settings", + "Description":"Sets the number of frags (or kills) that must be reached before a game ends and the next game starts. 0 = no frag limit. Standard defaults: FFA - 15, TDM - 25, CTF - 0", + "Keywords":"frag,limit,fraglimit", + "FieldName":"fraglimit", + "InputType":"number", + "ParamFieldName":"fraglimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"frags", + "EnumValues":{} + }, + { + "DisplayName":"Time Limit", + "Category":"Q3A Gameplay Settings", + "Description":"Sets the game time limit, after which a game ends and the next game starts. 0 = no time limit. Standard defaults: FFA - 10, TDM - 15, CTF - 30", + "Keywords":"time,limit,timelimit", + "FieldName":"timelimit", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"timelimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Capture Limit", + "Category":"Q3A Gameplay Settings", + "Description":"Sets the number of flags that must be captured for the CTF game type before a game ends and the next game starts", + "Keywords":"capture,limit,ctf,flag,capturelimit", + "FieldName":"capturelimit", + "InputType":"number", + "ParamFieldName":"capturelimit", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "Placeholder":"8", + "Suffix":"flags", + "EnumValues":{} + }, + { + "DisplayName":"Enable Auto Team Joining", + "Category":"Q3A Gameplay Settings", + "Description":"If set, a new player will automatically join a team when connecting to the server (TDM or CTF game types). Otherwise they will go into spectator mode", + "Keywords":"team,auto,join,joining,spectator,g_teamautojoin", + "FieldName":"g_teamAutoJoin", + "InputType":"checkbox", + "ParamFieldName":"g_teamAutoJoin", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Forced Team Balancing", + "Category":"Q3A Gameplay Settings", + "Description":"If set, forces a new player onto the smallest or losing team (TDM or CTF game types). Otherwise, the player can select freely which team to join. Standard defaults: TDM - true, CTF - false", + "Keywords":"team,force,balance,balancing,selection,g_teamforcebalance", + "FieldName":"g_teamForceBalance", + "InputType":"checkbox", + "ParamFieldName":"g_teamForceBalance", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Respawn Time Period", + "Category":"Q3A Gameplay Settings", + "Description":"Sets the respawn time period. 0 = no forced respawn", + "Keywords":"force,respawn,time,period,manual,g_forcerespawn", + "FieldName":"g_forcerespawn", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"g_forcerespawn", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Allow Voting", + "Category":"Q3A Gameplay Settings", + "Description":"If set, connected players can call for and vote on changes including: map, map restart, kick, and game type", + "Keywords":"vote,voting,g_allowvote", + "FieldName":"g_allowVote", + "InputType":"checkbox", + "ParamFieldName":"g_allowVote", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Quad Damage Powerup Multiple", + "Category":"Q3A Gameplay Settings", + "Description":"Sets multiples of damage caused by the quad damage powerup. 3 = default, 1 = no quad damage powerup. Decimals may be used", + "Keywords":"quad,damage,power,multiple,g_quadfactor", + "FieldName":"g_quadfactor", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"g_quadfactor", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Weapon Respawn Time Period", + "Category":"Q3A Gameplay Settings", + "Description":"Sets the time period between when a weapon is picked up and when it respawns. Only recommended to be changed from default (5) in FFA servers with a large number of players, in which case it can be lowered slightly. Otherwise not recommended to be modified or set to 0 (weapons stay)", + "Keywords":"weapon,respawn,time,available,g_weaponrespawn", + "FieldName":"g_weaponrespawn", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"g_weaponrespawn", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Inactivity Kick Time", + "Category":"Q3A Gameplay Settings", + "Description":"Sets the time period after which inactive players will be kicked from the server. 0 = disabled", + "Keywords":"inactive,afk,idle,kick,g_inactivity", + "FieldName":"g_inactivity", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"g_inactivity", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Synchronous Clients", + "Category":"Q3A Gameplay Settings", + "Description":"If set, all clients movements are synced to allow demo recording. Recommended to keep off to allow smoother play", + "Keywords":"synchronous,clients,demo,recording,g_syncronousclients", + "FieldName":"g_syncronousclients", + "InputType":"checkbox", + "ParamFieldName":"g_syncronousclients", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "EnumValues":{ + "False":"0", + "True":"1" + } + }, + { + "DisplayName":"Enable Flood Protection", + "Category":"Q3A Gameplay Settings", + "Description":"If set, the server will be protected from being flooded by players via chat", + "Keywords":"flood,protect,protection,sv_floodprotect", + "FieldName":"sv_floodProtect", + "InputType":"checkbox", + "ParamFieldName":"sv_floodProtect", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "EnumValues":{ + "False":"0", + "True":"1" + } + } +] diff --git a/quake3-arenametaconfig.json b/quake3-arenametaconfig.json new file mode 100644 index 000000000..1736a3f5f --- /dev/null +++ b/quake3-arenametaconfig.json @@ -0,0 +1,30 @@ +[ + { + "ConfigFile":"baseq3/base.cfg", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormat":"set {0} \"{1}\"", + "ConfigFormatRegex":"^set (?<key>.+?) \"?(?<value>.*?)\"?$" + }, + { + "ConfigFile":"baseq3/base.cfg", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormat":"seta {0} \"{1}\"", + "ConfigFormatRegex":"^seta (?<key>.+?) \"?(?<value>.*?)\"?$" + }, + { + "ConfigFile":"baseq3/server.cfg", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormat":"set {0} \"{1}\"", + "ConfigFormatRegex":"^set (?<key>.+?) \"?(?<value>.*?)\"?$" + }, + { + "ConfigFile":"baseq3/server.cfg", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormat":"seta {0} \"{1}\"", + "ConfigFormatRegex":"^seta (?<key>.+?) \"?(?<value>.*?)\"?$" + } +] \ No newline at end of file diff --git a/quake3-arenaserver.cfg b/quake3-arenaserver.cfg new file mode 100644 index 000000000..9aa80ef5d --- /dev/null +++ b/quake3-arenaserver.cfg @@ -0,0 +1,45 @@ +// This file can be used to set desired settings +// not otherwise set by AMP, including map rotation + +// Map rotation + +// DM/FFA rotation (example) +set m1 "map q3dm1; set nextmap vstr m2" +set m2 "map q3dm2; set nextmap vstr m3" +set m3 "map q3dm3; set nextmap vstr m4" +set m4 "map q3dm4; set nextmap vstr m5" +set m5 "map q3dm5; set nextmap vstr m6" +set m6 "map q3dm6; set nextmap vstr m7" +set m7 "map q3dm7; set nextmap vstr m8" +set m8 "map q3dm8; set nextmap vstr m9" +set m9 "map q3dm9; set nextmap vstr m10" +set m10 "map q3dm10; set nextmap vstr m1" +vstr m1 + +// CTF rotation (example) +//set m1 "map q3ctf1; set nextmap vstr m2" +//set m2 "map q3ctf2; set nextmap vstr m3" +//set m3 "map q3ctf3; set nextmap vstr m4" +//set m4 "map q3ctf4; set nextmap vstr m1" +//vstr m1 + +// Manual adding of bots. Syntax: +// addbot name [skill] [team] [delay] + +//addbot doom 4 blue 10 +//addbot bones 4 blue 10 +//addbot slash 4 blue 10 +//addbot orbb 4 red 10 +//addbot major 4 red 10 +//addbot hunter 4 red 10 +//addbot bitterman 4 red 10 +//addbot keel 4 red 10 + +// Miscellaneous + +set vm_game "2" +set vm_cgame "2" +set vm_ui "2" +seta snaps "40" +seta cl_maxpackets "40" +seta cl_packetdup "1" \ No newline at end of file diff --git a/quake3-arenaupdates.json b/quake3-arenaupdates.json new file mode 100644 index 000000000..f86ec3181 --- /dev/null +++ b/quake3-arenaupdates.json @@ -0,0 +1,100 @@ +[ + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://files.ioquake3.org/Windows.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://files.ioquake3.org/Linux.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Server Files Extract", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C cd quake3-arena\\server\\ && tar -xf release-mingw64-x86_64.zip && rm release-mingw64-x86_64.zip" + }, + { + "UpdateStageName":"Server Files Extract", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'cd ./quake3-arena/server/ && unzip -ao release-linux-x86_64.zip && rm -f release-linux-x86_64.zip && chmod +x ioq3ded.x86_64'" + }, + { + "UpdateStageName":"SteamCMD Game Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"2200", + "UpdateSourceTarget":"{{$FullRootDir}}client", + "ForceDownloadPlatform":"Windows" + }, + { + "UpdateStageName":"Client File Copy", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C xcopy /E /Y /I quake3-arena\\client\\baseq3\\pak0.pk3 quake3-arena\\server\\baseq3\\ && rmdir /Q /S quake3-arena\\client\\" + }, + { + "UpdateStageName":"Client File Copy", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c '\\cp -rf ./quake3-arena/client/baseq3/pak0.pk3 ./quake3-arena/server/baseq3/ && rm -rf ./quake3-arena/client/'" + }, + { + "UpdateStageName":"Patch Files Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://files.ioquake3.org/quake3-latest-pk3s.zip", + "UpdateSourceTarget":"{{$FullRootDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Patch Files Copy", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C xcopy /E /Y /I quake3-arena\\quake3-latest-pk3s\\baseq3\\*.pk3 quake3-arena\\server\\baseq3\\ && xcopy /E /Y /I quake3-arena\\quake3-latest-pk3s\\missionpack\\*.pk3 quake3-arena\\server\\missionpack\\ && rmdir /Q /S quake3-arena\\quake3-latest-pk3s\\" + }, + { + "UpdateStageName":"Patch Files Copy", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c '\\cp -rf ./quake3-arena/quake3-latest-pk3s//baseq3/*.pk3 ./quake3-arena/server/baseq3/ && \\cp -rf ./quake3-arena/quake3-latest-pk3s/missionpack/*.pk3 ./quake3-arena/server/missionpack/ && rm -rf ./quake3-arena/quake3-latest-pk3s/'" + }, + { + "UpdateStageName":"Base.cfg Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/quake3-arenabase.cfg", + "UpdateSourceArgs":"base.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}baseq3", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Server.cfg Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/quake3-arenaserver.cfg", + "UpdateSourceArgs":"server.cfg", + "UpdateSourceTarget":"{{$FullBaseDir}}baseq3", + "OverwriteExistingFiles":false + } +] \ No newline at end of file From 9842eb03d6136c2292e9767c1969ecadbdced037 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 14 Aug 2023 21:59:57 +1000 Subject: [PATCH 257/318] OpenTTD: update ports, tweak settings and configs (#443) --- openttd.kvp | 6 +++--- openttdconfig.json | 46 +++++++++++++++++++++++++++++++++++++++------- openttdopenttd.cfg | 20 +++++++++++++------- 3 files changed, 55 insertions(+), 17 deletions(-) diff --git a/openttd.kvp b/openttd.kvp index 163cb39f0..53bd896ad 100644 --- a/openttd.kvp +++ b/openttd.kvp @@ -5,7 +5,7 @@ Meta.Arch=x86_64 Meta.Author=Greelan, DARKACE Meta.URL=https://www.openttd.org/ Meta.DisplayImageSource=steam:1536610 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} +Meta.EndpointURIFormat= Meta.ConfigManifest=openttdconfig.json Meta.MetaConfigManifest=openttdmetaconfig.json Meta.ConfigRoot=openttd.kvp @@ -40,11 +40,11 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Port":3979,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":3978,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server list query traffic"},{"Protocol":"Both","Port":3977,"Ref":"ServerAdminPort","Name":"Server Admin Port","Description":"Port for server admin interface"}] +App.Ports=[{"Protocol":"Both","Port":3979,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":3977,"Ref":"ServerAdminPort","Name":"Server Admin Port","Description":"Port for server admin interface"}] App.AdminPortRef=0 App.PrimaryApplicationPortRef=ServerPort App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=QueryPort +App.UniversalSleepSteamQueryPortRef=0 App.MaxUsers=25 App.UseRandomAdminPassword=False App.RemoteAdminPassword=Password123 diff --git a/openttdconfig.json b/openttdconfig.json index a6e16cff6..6c6122072 100644 --- a/openttdconfig.json +++ b/openttdconfig.json @@ -25,6 +25,23 @@ "IncludeInCommandLine":false, "EnumValues":{} }, + { + "DisplayName":"Server Public Status", + "Category":"OpenTTD Server Settings", + "Description":"Sets whether the server is local or public and, if public, whether it is included on the server list or is invite-only", + "Keywords":"local,public,invite,list,game,type,server_game_type", + "FieldName":"server_game_type", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"network.server_game_type", + "IncludeInCommandLine":false, + "DefaultValue":"local", + "EnumValues":{ + "local":"Local (default)", + "invite-only":"Public (invite only)", + "public":"Public" + } + }, { "DisplayName":"Server Name", "Category":"OpenTTD Server Settings", @@ -522,15 +539,16 @@ "IncludeInCommandLine":false, "DefaultValue":"0", "EnumValues":{ - "0":"Permissive (default)", + "0":"Lenient (default)", "1":"Tolerant", - "2":"Hostile" + "2":"Hostile", + "3":"Permissive" } }, { - "DisplayName":"Town Population Noise Level Increase - Permissive", + "DisplayName":"Town Population Noise Level Increase - Lenient", "Category":"OpenTTD Enviro Settings", - "Description":"If Town Council Tolerance is permissive, then the town noise limit will increase from the default for every specified number of inhabitants", + "Description":"If Town Council Tolerance is lenient, then the town noise limit will increase from the default for every specified number of inhabitants", "Keywords":"town,noise,population,permissive,town_noise_population[0]", "FieldName":"town_noise_population0", "InputType":"number", @@ -569,6 +587,20 @@ "Placeholder":"4000", "EnumValues":{} }, + { + "DisplayName":"Town Population Noise Level Increase - Permissive", + "Category":"OpenTTD Enviro Settings", + "Description":"If Town Council Tolerance is permissive, then the town noise limit will increase from the default for every specified number of inhabitants", + "Keywords":"town,noise,population,permissive,town_noise_population[3]", + "FieldName":"town_noise_population3", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"economy.town_noise_population[3]", + "IncludeInCommandLine":false, + "DefaultValue":"400", + "Placeholder":"400", + "EnumValues":{} + }, { "DisplayName":"Allow Bribes", "Category":"OpenTTD Enviro Settings", @@ -1768,14 +1800,14 @@ "IsFlagArgument":false, "ParamFieldName":"difficulty.industry_density", "IncludeInCommandLine":false, - "DefaultValue":"5", + "DefaultValue":"4", "EnumValues":{ "0":"None (funding only)", "1":"Minimal", "2":"Very low", "3":"Low", - "4":"Normal", - "5":"High (default)" + "4":"Normal (default)", + "5":"High" } }, { diff --git a/openttdopenttd.cfg b/openttdopenttd.cfg index 4c2be685e..9f1af264a 100644 --- a/openttdopenttd.cfg +++ b/openttdopenttd.cfg @@ -63,13 +63,12 @@ invisibility_options = 0 keyboard = keyboard_caps = last_newgrf_count = 0 -gui_zoom = -1 -font_zoom = -1 +gui_scale = -1 [difficulty] max_no_competitors = 0 number_towns = 2 -industry_density = 5 +industry_density = 4 max_loan = 300000 initial_interest = 2 vehicle_costs = 0 @@ -111,6 +110,7 @@ dist_local_authority = 20 town_noise_population[0] = 800 town_noise_population[1] = 2000 town_noise_population[2] = 4000 +town_noise_population[3] = 400 infrastructure_maintenance = false [order] @@ -160,7 +160,7 @@ threaded_saves = true date_format_in_default_names = iso show_finances = true auto_scrolling = 0 -scroll_mode = 0 +scroll_mode = 2 smooth_scroll = false right_mouse_wnd_close = false measure_tooltip = true @@ -177,6 +177,7 @@ sprite_zoom_min = 0 population_in_label = true link_terraform_toolbar = false smallmap_land_colour = 0 +linkgraph_colours = 0 liveries = 2 starting_colour = 16 auto_remove_signals = false @@ -214,13 +215,13 @@ station_platlength = 5 station_dragdrop = true station_show_coverage = false persistent_buildingtools = true -expenses_layout = true station_gui_group_order = 0 station_gui_sort_by = 0 station_gui_sort_order = 0 missing_strings_threshold = 25 graph_line_thickness = 3 show_newgrf_name = false +show_cargo_in_vehicle_lists = false show_date_in_logs = false settings_restriction_mode = 0 developer = 1 @@ -236,6 +237,7 @@ fast_forward_speed_limit = 2500 network_chat_box_width_pct = 40 network_chat_box_height = 25 network_chat_timeout = 20 +scale_bevels = true [linkgraph] recalc_interval = 4 @@ -284,6 +286,7 @@ shuffle = false arrival_player = full arrival_other = summarized accident = full +accident_other = full company_info = full open = summarized close = summarized @@ -329,7 +332,7 @@ npf.npf_road_bay_occupied_penalty = 1500 npf.maximum_go_to_depot_penalty = 2000 yapf.disable_node_optimization = false yapf.max_search_nodes = 10000 -yapf.rail_firstred_twoway_eol = false +yapf.rail_firstred_twoway_eol = true yapf.rail_firstred_penalty = 1000 yapf.rail_firstred_exit_penalty = 10000 yapf.rail_lastred_penalty = 1000 @@ -387,7 +390,7 @@ land_generator = 1 oil_refinery_limit = 32 tgen_smoothness = 1 variety = 0 -generation_seed = 2858340425 +generation_seed = 970327061 tree_placer = 2 heightmap_rotation = 0 se_flat_world_height = 1 @@ -395,6 +398,7 @@ map_x = 8 map_y = 8 water_borders = 15 custom_town_number = 1 +custom_industry_number = 1 custom_terrain_type = 30 custom_sea_level = 1 min_river_length = 16 @@ -411,6 +415,8 @@ clear_per_64k_frames = 4194304 clear_frame_burst = 4096 tree_per_64k_frames = 4194304 tree_frame_burst = 4096 +build_object_per_64k_frames = 2097152 +build_object_frame_burst = 2048 autoslope = true extra_dynamite = true max_bridge_length = 64 From 84e61cb749a0f7f8562bbfcfe8262aa81ef4dd3b Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 17 Aug 2023 16:54:29 -0500 Subject: [PATCH 258/318] Update GatekeeperV2 (#444) * Update GatekeeperV2 Due to changes in how Python and Pip handle packages, this needed a change to use a virtual environment. This won't work in Docker until Mike adds python3-venv to the image, but I suspect it should be resolved shortly. * Fix issue * Oopsies --- gatekeeperv2.kvp | 5 +++-- gatekeepverv2updates.json | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 gatekeepverv2updates.json diff --git a/gatekeeperv2.kvp b/gatekeeperv2.kvp index 043c247d8..995383708 100644 --- a/gatekeeperv2.kvp +++ b/gatekeeperv2.kvp @@ -20,7 +20,7 @@ App.DisplayName=GatekeeperV2 Bot App.RootDir=./gatekeeperv2/ App.BaseDirectory=./gatekeeperv2/ App.ExecutableWin=$PATH/python3 -App.ExecutableLinux=/usr/bin/python3 +App.ExecutableLinux=venv/bin/python3 App.WorkingDir=GatekeeperV2-main App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= @@ -54,7 +54,8 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"Bot Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/k8thekat/GatekeeperV2/archive/refs/heads/main.zip","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Pip & Discord.py Script","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c \"pip install --upgrade pip && pip install numpy requests && git clone https://github.com/Rapptz/discord.py && cd discord.py && python3 -m pip install discord.py\""}] +App.UpdateSources=@IncludeJson[gatekeepverv2updates.json] +App.PreStartStages=[{"UpdateStageName":"Create Virtual Environment","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c \"source '{{$FullRootDir}}venv/bin/activate'\""}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/gatekeepverv2updates.json b/gatekeepverv2updates.json new file mode 100644 index 000000000..108d5ca92 --- /dev/null +++ b/gatekeepverv2updates.json @@ -0,0 +1,25 @@ +[ + { + "UpdateStageName": "Bot Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://github.com/k8thekat/GatekeeperV2/archive/refs/heads/main.zip", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true + }, + { + "UpdateStageName": "Create Virtual Environment", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"rm -rf '{{$FullRootDir}}venv' && /usr/bin/python3 -m venv '{{$FullRootDir}}venv'\"" + }, + { + "UpdateStageName": "Pip & Discord.py Script", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"source '{{$FullRootDir}}venv/bin/activate' && python3 -m pip install --upgrade pip && python3 -m pip install numpy requests && git clone https://github.com/Rapptz/discord.py && cd discord.py && python3 -m pip install discord.py\"" + } +] \ No newline at end of file From f6c4f91209045725d960ccd6a9a6cf11a7b46206 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 21 Aug 2023 22:33:26 +1000 Subject: [PATCH 259/318] Core Keeper: various updates (#445) --- core-keeper.kvp | 10 +++---- core-keeperconfig.json | 54 +++++++++++++++++++++++++++++++----- core-keepermetaconfig.json | 10 ++++++- core-keeperserverconfig.json | 8 ------ core-keeperupdates.json | 31 +++++++++++++++++++++ 5 files changed, 92 insertions(+), 21 deletions(-) delete mode 100644 core-keeperserverconfig.json create mode 100644 core-keeperupdates.json diff --git a/core-keeper.kvp b/core-keeper.kvp index 1e8b16a21..be55b0363 100644 --- a/core-keeper.kvp +++ b/core-keeper.kvp @@ -1,5 +1,5 @@ Meta.DisplayName=Core Keeper -Meta.Description=Core Keeper Dedicated Server +Meta.Description=Core Keeper Dedicated Server with BepInEx Option for Windows Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=Greelan, Shinynecrid @@ -12,8 +12,8 @@ Meta.ConfigRoot=core-keeper.kvp Meta.MinAMPVersion=2.3.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:xvfb Meta.DockerRequired=False -Meta.ContainerPolicy=NotSupported -Meta.ContainerPolicyReason=The server requires a version of Xvfb on Linux which is not present in the Debian version used by AMP's Docker. Ideally use Ubuntu 22.04 or Debian 12 to host the server on Linux. +Meta.ContainerPolicy=RecommendedOnLinux, SupportedOnWindows +Meta.ContainerPolicyReason=The server requires a modern version of Xvfb, as well as libxi6, on Linux. Using a container addresses these requirements. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Core Keeper @@ -50,7 +50,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1963720","UpdateSourceArgs":"1621690"}] +App.UpdateSources=@IncludeJson[core-keeperupdates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -64,7 +64,7 @@ App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ Console.AppReadyRegex=^Started session with Game ID .+$ Console.UserJoinRegex=^Successful authentication from (?<userid>.+?)$ Console.UserLeaveRegex=^Disconnected from (?<userid>.+?)$ diff --git a/core-keeperconfig.json b/core-keeperconfig.json index e07f4f0fc..af9ced6e5 100644 --- a/core-keeperconfig.json +++ b/core-keeperconfig.json @@ -2,7 +2,7 @@ { "DisplayName":"Game ID", "Category":"Server Settings", - "Description":"Sets the Game ID for the server. Needs to be at least 23 characters and alphanumeric, excluding Y,y,x,0,O. Empty or not valid means a new Game ID will be generated at server start", + "Description":"Sets the Game ID for the server. Needs to be at least 28 characters and alphanumeric, excluding Y,y,x,0,O. Empty or not valid means a new Game ID will be generated at server start", "Keywords":"game,id", "FieldName":"gameid", "InputType":"text", @@ -56,7 +56,7 @@ { "DisplayName":"World Mode", "Category":"Server Settings", - "Description":"Sets whether to use normal or hard mode for the world", + "Description":"Sets the world mode for the world. Changing between Creative and non-Creative worlds is not currently supported", "Keywords":"world,mode", "FieldName":"worldmode", "InputType":"enum", @@ -66,7 +66,9 @@ "DefaultValue":"0", "EnumValues":{ "0":"Normal", - "1":"Hard" + "1":"Hard", + "2":"Creative", + "4":"Casual" } }, { @@ -76,13 +78,13 @@ "Keywords":"max,players,limit", "FieldName":"$MaxUsers", "InputType":"number", + "MinValue":"1", "IsFlagArgument":false, "ParamFieldName":"maxplayers", "IncludeInCommandLine":true, "DefaultValue":"100", "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" + "EnumValues":{} }, { "DisplayName":"Connection Mode", @@ -99,7 +101,29 @@ "":"Steam Relay Network", "{{$GamePort}}":"Direct Port Connection" } - }, + }, + { + "DisplayName":"Season Override", + "Category":"Server Settings", + "Description":"Sets the current season on the server", + "Keywords":"season,override", + "FieldName":"season", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"season", + "IncludeInCommandLine":true, + "DefaultValue":"-1", + "EnumValues":{ + "-1":"System date determines (default)", + "0":"None", + "1":"Easter", + "2":"Halloween", + "3":"Christmas", + "4":"Valentine", + "5":"Anniversary", + "6":"Cherry Blossom" + } + }, { "DisplayName":"Server IP Binding", "Category":"Server Settings", @@ -114,5 +138,21 @@ "DefaultValue":"0.0.0.0", "Placeholder":"0.0.0.0", "EnumValues":{} - } + }, + { + "DisplayName":"Activate BepInEx (Windows Only)", + "Category":"SteamCMD and Updates", + "Description":"If set, BepInEx will be installed when the server is updated and enabled when the server is run, allowing the server to be modded. Mods must be installed in the BepInEx/plugins directory, which is created after BepInEx is first run. Windows only at this time", + "Keywords":"install,enable,bepinex,modded,mods", + "FieldName":"BepInExEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"General.enabled", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + } ] \ No newline at end of file diff --git a/core-keepermetaconfig.json b/core-keepermetaconfig.json index 0637a088a..734f9dc8f 100644 --- a/core-keepermetaconfig.json +++ b/core-keepermetaconfig.json @@ -1 +1,9 @@ -[] \ No newline at end of file +[ + { + "ConfigFile":"doorstop_config.ini", + "AutoMap":true, + "ConfigType":"ini", + "ConfigFormat":"{0} = {1}", + "ConfigFormatRegex":"^(?<key>.+?) *= *(?<value>.*?)$" + } +] \ No newline at end of file diff --git a/core-keeperserverconfig.json b/core-keeperserverconfig.json deleted file mode 100644 index a130474b1..000000000 --- a/core-keeperserverconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "gameId": "", - "world": 0, - "worldName": "Core Keeper Server Powered by AMP", - "worldSeed": 0, - "maxNumberPlayers": 100, - "maxNumberPacketsSentPerFrame": 1 -} \ No newline at end of file diff --git a/core-keeperupdates.json b/core-keeperupdates.json new file mode 100644 index 000000000..17e8cf5e8 --- /dev/null +++ b/core-keeperupdates.json @@ -0,0 +1,31 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1963720", + "UpdateSourceArgs":"1621690" + }, + { + "UpdateStageName":"Download BepInEx From Thunderstore", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://thunderstore.io/package/download/BepInEx/BepInExPack_Core_Keeper/2.1.0/", + "UpdateSourceArgs":"BepInEx-BepInExPack_Core_Keeper-2.1.0.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"BepInExEnabled", + "UpdateSourceConditionValue":"true" + }, + { + "UpdateStageName":"BepInEx Copy", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C xcopy /E /Y /I core-keeper\\1963720\\BepInExPack_Core-Keeper\\* core-keeper\\1963720\\ && rmdir /Q /S core-keeper\\1963720\\BepInExPack_Core-Keeper", + "UpdateSourceConditionSetting":"BepInExEnabled", + "UpdateSourceConditionValue":"true" + } +] \ No newline at end of file From 93f1f87dde485b83c47a0f761bcb7a28cf779006 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 22 Aug 2023 08:38:57 +1000 Subject: [PATCH 260/318] Astroneer: add Linux support (#446) --- astroneer.kvp | 20 +- astroneerconfig.json | 385 ++++++++++++++++++++------------------- astroneermetaconfig.json | 40 ++-- astroneerupdates.json | 17 ++ 4 files changed, 246 insertions(+), 216 deletions(-) create mode 100644 astroneerupdates.json diff --git a/astroneer.kvp b/astroneer.kvp index f37fe7863..3203c2c2b 100644 --- a/astroneer.kvp +++ b/astroneer.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=Astroneer Meta.Description=Astroneer Dedicated Server -Meta.OS=Windows +Meta.OS=Windows, Linux Meta.AarchSupport=Unknown Meta.Arch=x86_64 Meta.Author=Greelan, Tueem @@ -11,11 +11,11 @@ Meta.ConfigManifest=astroneerconfig.json Meta.MetaConfigManifest=astroneermetaconfig.json Meta.ConfigRoot=astroneer.kvp Meta.MinAMPVersion=2.3.2.0 -Meta.SpecificDockerImage= +Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False Meta.DockerBaseReadOnly=False -Meta.ContainerPolicy=NotSupported -Meta.ContainerPolicyReason=Astroneer can currently only run under Wine/Proton on Linux (and therefore in Docker), but to do so requires disabling of encryption on server and clients. The AMP template is therefore not configured for Linux. +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=Astroneer requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] @@ -29,14 +29,14 @@ App.RootDir=./astroneer/ App.BaseDirectory=./astroneer/728470/ App.SteamWorkshopDownloadLocation= App.ExecutableWin=728470/Astro/Binaries/Win64/AstroServer-Win64-Shipping.exe -App.ExecutableLinux= +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=728470/Astro/Binaries/Win64 -App.LinuxCommandLineArgs= +App.LinuxCommandLineArgs="./AstroServer-Win64-Shipping.exe" -ini:Engine:[SystemSettings]:net.AllowEncryption=False App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} Port={{$ApplicationPort1}} ConsolePort={{$RemoteAdminPort}} {{$FormattedArgs}} -log App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"361420"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"361420","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -65,7 +65,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"728470","UpdateSourceArgs":"361420","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=@IncludeJson[astroneerupdates.json] App.PreStartStages=[] App.ForceUpdate=False App.ForceUpdateReason= @@ -73,10 +73,10 @@ App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False -App.MonitorChildProcess=False +App.MonitorChildProcess=True App.DumpFullChildProcessTree=False App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= +App.MonitorChildProcessName=wine64 App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=Immediate diff --git a/astroneerconfig.json b/astroneerconfig.json index 35abeb703..5bfce061b 100644 --- a/astroneerconfig.json +++ b/astroneerconfig.json @@ -1,186 +1,199 @@ -[ - { - "DisplayName":"Public IP", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ExternalIP", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.PublicIP", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort1", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"URL.Port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Console Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RemoteAdminPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"The name of the server as it appears publicly", - "Keywords":"name,servername", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"Astroneer Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Password required to connect to the server. Default is no password", - "Keywords":"password,serverpassword", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.ServerPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Console Password", - "Category":"Server Settings", - "Description":"Password required to connect to the server's RCON (raw TCP socket). Default is a strong random password", - "Keywords":"console,password,rcon,consolepassword", - "FieldName":"ConsolePassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePassword", - "IncludeInCommandLine":false, - "DefaultValue":"{{newguid()}}", - "EnumValues":{} - }, - { - "DisplayName":"Owner Name", - "Category":"Server Settings", - "Description":"Steam name of the server owner (admin)", - "Keywords":"owner,name,ownername", - "FieldName":"OwnerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.OwnerName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server at one time", - "Keywords":"players,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"2", - "MaxValue":"8", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroGameUserSettings.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "Placeholder":"8", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Game Save Interval", - "Category":"Server Settings", - "Description":"The interval between automatic server saves", - "Keywords":"autosave,save,interval,autosavegameinterval", - "FieldName":"AutoSaveGameInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.AutoSaveGameInterval", - "IncludeInCommandLine":false, - "DefaultValue":"900", - "Placeholder":"900", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Backup Save Interval", - "Category":"Server Settings", - "Description":"The interval between automatic server backups", - "Keywords":"backup,interval,backupsavegamesinterval", - "FieldName":"BackupSaveGamesInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.BackupSaveGamesInterval", - "IncludeInCommandLine":false, - "DefaultValue":"7200", - "Placeholder":"7200", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Whitelist", - "Category":"Server Settings", - "Description":"If enabled, unlisted players will not be able to connect", - "Keywords":"deny,unlisted,denyunlistedplayers", - "FieldName":"DenyUnlistedPlayers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.DenyUnlistedPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Maximum Active Server Framerate", - "Category":"Server Settings", - "Description":"The maximum framerate that the server will allow when active", - "Keywords":"fps,framerate,active,maxserverframerate", - "FieldName":"MaxServerFramerate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerFramerate", - "IncludeInCommandLine":false, - "DefaultValue":"30.000000", - "Placeholder":"30.000000", - "Suffix":"fps", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Idle Server Framerate", - "Category":"Server Settings", - "Description":"The maximum framerate that the server will allow when idle", - "Keywords":"fps,framerate,idle,maxserveridleframerate", - "FieldName":"MaxServerIdleFramerate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerIdleFramerate", - "IncludeInCommandLine":false, - "DefaultValue":"3.000000", - "Placeholder":"3.000000", - "Suffix":"fps", - "EnumValues":{} - } -] +[ + { + "DisplayName":"Public IP", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ExternalIP", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.PublicIP", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Server Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ApplicationPort1", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"URL.Port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Console Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$RemoteAdminPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePort", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Linux Server Configuration", + "Category":"Server Settings", + "Description":"WARNING: Running Astroneer on Linux requires encryption to be disabled on both server and clients. USE AT YOUR OWN RISK. To disable encryption on a client, add net.AllowEncryption=False under the [SystemSettings] header in %LocalAppData%\\Astro\\Saved\\Config\\WindowsNoEditor\\Engine.ini", + "Keywords":"linux,encryption", + "FieldName":"AllowEncryption", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"SystemSettings.net.AllowEncryption", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"The name of the server as it appears publicly", + "Keywords":"name,servername", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"Astroneer Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Server Password", + "Category":"Server Settings", + "Description":"Password required to connect to the server. Default is no password", + "Keywords":"password,serverpassword", + "FieldName":"ServerPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.ServerPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Console Password", + "Category":"Server Settings", + "Description":"Password required to connect to the server's RCON (raw TCP socket). Default is a strong random password", + "Keywords":"console,password,rcon,consolepassword", + "FieldName":"ConsolePassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePassword", + "IncludeInCommandLine":false, + "DefaultValue":"{{newguid()}}", + "EnumValues":{} + }, + { + "DisplayName":"Owner Name", + "Category":"Server Settings", + "Description":"Steam name of the server owner (admin)", + "Keywords":"owner,name,ownername", + "FieldName":"OwnerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.OwnerName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server at one time", + "Keywords":"players,limit,maxplayers", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"2", + "MaxValue":"8", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroGameUserSettings.MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"8", + "Placeholder":"8", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Game Save Interval", + "Category":"Server Settings", + "Description":"The interval between automatic server saves", + "Keywords":"autosave,save,interval,autosavegameinterval", + "FieldName":"AutoSaveGameInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.AutoSaveGameInterval", + "IncludeInCommandLine":false, + "DefaultValue":"900", + "Placeholder":"900", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Backup Save Interval", + "Category":"Server Settings", + "Description":"The interval between automatic server backups", + "Keywords":"backup,interval,backupsavegamesinterval", + "FieldName":"BackupSaveGamesInterval", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.BackupSaveGamesInterval", + "IncludeInCommandLine":false, + "DefaultValue":"7200", + "Placeholder":"7200", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Whitelist", + "Category":"Server Settings", + "Description":"If enabled, unlisted players will not be able to connect", + "Keywords":"deny,unlisted,denyunlistedplayers", + "FieldName":"DenyUnlistedPlayers", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.DenyUnlistedPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Maximum Active Server Framerate", + "Category":"Server Settings", + "Description":"The maximum framerate that the server will allow when active", + "Keywords":"fps,framerate,active,maxserverframerate", + "FieldName":"MaxServerFramerate", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerFramerate", + "IncludeInCommandLine":false, + "DefaultValue":"30.000000", + "Placeholder":"30.000000", + "Suffix":"fps", + "EnumValues":{} + }, + { + "DisplayName":"Maximum Idle Server Framerate", + "Category":"Server Settings", + "Description":"The maximum framerate that the server will allow when idle", + "Keywords":"fps,framerate,idle,maxserveridleframerate", + "FieldName":"MaxServerIdleFramerate", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerIdleFramerate", + "IncludeInCommandLine":false, + "DefaultValue":"3.000000", + "Placeholder":"3.000000", + "Suffix":"fps", + "EnumValues":{} + } +] diff --git a/astroneermetaconfig.json b/astroneermetaconfig.json index 791f85003..7c8aa2ee1 100644 --- a/astroneermetaconfig.json +++ b/astroneermetaconfig.json @@ -1,20 +1,20 @@ -[ - { - "ConfigFile": "Astro/Saved/Config/WindowsServer/AstroServerSettings.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile": "Astro/Saved/Config/WindowsServer/GameUserSettings.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile": "Astro/Saved/Config/WindowsServer/Engine.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - } -] \ No newline at end of file +[ + { + "ConfigFile": "Astro/Saved/Config/WindowsServer/AstroServerSettings.ini", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile": "Astro/Saved/Config/WindowsServer/GameUserSettings.ini", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" + }, + { + "ConfigFile": "Astro/Saved/Config/WindowsServer/Engine.ini", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" + } +] diff --git a/astroneerupdates.json b/astroneerupdates.json new file mode 100644 index 000000000..8350215c9 --- /dev/null +++ b/astroneerupdates.json @@ -0,0 +1,17 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"728470", + "UpdateSourceArgs":"361420", + "ForceDownloadPlatform":"Windows" + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" + } +] From 0f4b6aa79b0d07386065a266f8c45dcbcd20bbf4 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 24 Aug 2023 22:51:59 +1000 Subject: [PATCH 261/318] Stationeers: update Docker policy (#447) --- stationeers.kvp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stationeers.kvp b/stationeers.kvp index a3fc030b6..d9e55a9bb 100644 --- a/stationeers.kvp +++ b/stationeers.kvp @@ -11,8 +11,8 @@ Meta.MetaConfigManifest=stationeersmetaconfig.json Meta.ConfigRoot=stationeers.kvp Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage= -Meta.ContainerPolicy=NotSupported -Meta.ContainerPolicyReason=The server's networking system RocketNet requires version >= 2.35 for glibc, which is not present on the Debian version used by AMP's Docker. Ideally use Ubuntu 22.04 to host the server on Linux. +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Stationeers From 0816461fd68209f389cd76df5be8f7354fd27b5e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 28 Aug 2023 13:29:33 +1000 Subject: [PATCH 262/318] Path of Titans: RCON and settings updates (#448) --- path-of-titans.kvp | 2 +- path-of-titansconfig.json | 74 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 70 insertions(+), 6 deletions(-) diff --git a/path-of-titans.kvp b/path-of-titans.kvp index 347d19db5..51e09c5c1 100644 --- a/path-of-titans.kvp +++ b/path-of-titans.kvp @@ -36,7 +36,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":7778,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port"},{"Protocol":"TCP","Port":7779,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"},{"Protocol":"Both","Port":7780,"Ref":"StatsPort","Name":"Stats Port","Description":"Port for stats traffic"},{"Protocol":"UDP","Port":7781,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"}] +App.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":7778,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port"},{"Protocol":"Both","Port":7779,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"},{"Protocol":"Both","Port":7780,"Ref":"StatsPort","Name":"Stats Port","Description":"Port for stats traffic"},{"Protocol":"UDP","Port":7781,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"}] App.AdminPortRef=RCONPort App.PrimaryApplicationPortRef=GamePort App.UniversalSleepApplicationUDPPortRef=GamePort diff --git a/path-of-titansconfig.json b/path-of-titansconfig.json index a2cf87ac1..a2338c7c5 100644 --- a/path-of-titansconfig.json +++ b/path-of-titansconfig.json @@ -145,14 +145,14 @@ "EnumValues":{} }, { - "DisplayName":"Enable Easy Anti-Cheat", + "DisplayName":"Enable BattlEye Anti-Cheat", "Category":"POT Server Settings", - "Description":"If set, enables Easy Anti-Cheat (EAC)", - "Keywords":"easy,anti,cheat,eac", - "FieldName":"EasyAntiCheatbEnabled", + "Description":"If set, enables BattlEye Anti-Cheat", + "Keywords":"battleye,anti,cheat", + "FieldName":"BattlEyeAntiCheatbEnabled", "InputType":"checkbox", "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[EasyAntiCheat]:bEnabled", + "ParamFieldName":"ini:Game:[BattlEye]:bEnabled", "IncludeInCommandLine":true, "DefaultValue":"true", "EnumValues":{ @@ -973,6 +973,70 @@ "Suffix":"seconds", "EnumValues":{} }, + { + "DisplayName":"Enable Rewards Limit", + "Category":"POT Gameplay Settings", + "Description":"If set, rewards will be limited to the amount set under Rewards Limit", + "Keywords":"rewards,limit,maximum,benablemaxunclaimedrewards", + "FieldName":"bEnableMaxUnclaimedRewards", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bEnableMaxUnclaimedRewards", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Rewards Limit", + "Category":"POT Gameplay Settings", + "Description":"Sets the maximum amount of rewards allowed. Requires Enable Rewards Limit to be set", + "Keywords":"rewards,limit,maximum,maxunclaimedrewards", + "FieldName":"MaxUnclaimedRewards", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxUnclaimedRewards", + "IncludeInCommandLine":true, + "DefaultValue":"", + "Placeholder":"", + "Suffix":"rewards", + "EnumValues":{} + }, + { + "DisplayName":"Enable Quest Loss On Death", + "Category":"POT Gameplay Settings", + "Description":"If enabled, unclaimed quests will be lost on death", + "Keywords":"unclaimed,quest,loss,death,bloseunclaimedquestsondeath", + "FieldName":"bLoseUnclaimedQuestsOnDeath", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bLoseUnclaimedQuestsOnDeath", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Item Collection Within POI Only", + "Category":"POT Gameplay Settings", + "Description":"If set, items must be collected within a POI", + "Keywords":"item,collection,collect,poi,bmustcollectitemswithinpoi", + "FieldName":"bMustCollectItemsWithinPOI", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bMustCollectItemsWithinPOI", + "IncludeInCommandLine":true, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, { "DisplayName":"Allow Growth Loss", "Category":"POT Gameplay Settings", From d7b0e71a573cc6b6b981b5ee73c6e19ca8b92842 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 1 Sep 2023 08:46:14 +1000 Subject: [PATCH 263/318] Vintage Story: updates for new server builds (#449) --- vintage-story-new.kvp | 86 ++++++++++++++++++ vintage-story-newconfig.json | 148 +++++++++++++++++++++++++++++++ vintage-story-newmetaconfig.json | 7 ++ vintage-story-newupdates.json | 83 +++++++++++++++++ vintage-story.kvp | 6 +- vintage-storyconfig.json | 58 ++++++++++-- 6 files changed, 380 insertions(+), 8 deletions(-) create mode 100644 vintage-story-new.kvp create mode 100644 vintage-story-newconfig.json create mode 100644 vintage-story-newmetaconfig.json create mode 100644 vintage-story-newupdates.json diff --git a/vintage-story-new.kvp b/vintage-story-new.kvp new file mode 100644 index 000000000..833669e0c --- /dev/null +++ b/vintage-story-new.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=Vintage Story 1.18.8+ +Meta.Description=Vintage Story Dedicated Server, from v1.18.8+ +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://vintagestory.at +Meta.DisplayImageSource=url:https://content.invisioncic.com/r268468/monthly_2018_02/gamelogo-vintagestory-square.png.d938fbc6101feaae3bbc38019e392ff0.png +Meta.EndpointURIFormat= +Meta.ConfigManifest=vintage-story-newconfig.json +Meta.MetaConfigManifest=vintage-story-newmetaconfig.json +Meta.ConfigRoot=vintage-story-new.kvp +Meta.MinAMPVersion=2.4.6.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Vintage Story +App.RootDir=./vintage-story/ +App.BaseDirectory=./vintage-story/ +App.ExecutableWin=server\VintagestoryServer.exe +App.ExecutableLinux=server/VintagestoryServer +App.WorkingDir=server +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} --port {{$ServerPort}} --dataPath "{{$FullBaseDir}}data" {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"DOTNET_ROOT":"{{$FullRootDir}}dotnet"} +App.CommandLineParameterFormat=--{0} {1} +App.CommandLineParameterDelimiter= +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=/stop +App.ExitFile=lock +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":"TCP","Name":"Server Port","Description":"Port for game traffic","Port":42420,"Ref":"ServerPort"}] +App.AdminPortRef=ServerPort +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=ServerPort +App.MaxUsers=16 +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=@IncludeJson[vintage-story-newupdates.json] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName=VintagestoryServer.dll +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^[\d.]*\s*[\d:]+ \[Server Event\] Dedicated Server now running on Port \d+ and (all ips|ip .*)!$ +Console.UserJoinRegex=^[\d.]*\s*[\d:]+ \[Server Event\] (?<username>.+?) [\[\]a-f\d:.]+ joins\.$ +Console.UserLeaveRegex=^[\d.]*\s*[\d:]+ \[Server Event\] Player (?<username>.+?) (left|got removed\. Reason: Server shutting down - Shutdown via server command).*$ +Console.UserChatRegex=^[\d.]*\s*[\d:]+ \[Server Chat\] (?<username>.+?): <strong>(?<username>.+?):</strong> (?<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 diff --git a/vintage-story-newconfig.json b/vintage-story-newconfig.json new file mode 100644 index 000000000..5e1946698 --- /dev/null +++ b/vintage-story-newconfig.json @@ -0,0 +1,148 @@ +[ + { + "DisplayName":"Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ServerPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"$.Port", + "IncludeInCommandLine":false, + "EnumValues":{} + }, + { + "DisplayName":"Dotnet Version", + "Category":"Server Settings", + "Description":"Sets the [ASP.NET Core 7.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) to install to run the server. NOTE: Update the server after switching versions!", + "Keywords":"dotnet,version", + "FieldName":"DotnetVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"DotnetVersion", + "IncludeInCommandLine":false, + "DefaultValue":"7.0.10", + "Placeholder":"7.0.10", + "EnumValues":{} + }, + { + "DisplayName":"Server Version", + "Category":"Server Settings", + "Description":"Sets the server version to install. Minimum v1.18.8. NOTE: Update the server after changing this setting!", + "Keywords":"server,version", + "FieldName":"ServerVersion", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"ServerVersion", + "IncludeInCommandLine":false, + "DefaultValue":"1.18.8", + "Placeholder":"1.18.8", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"Server Settings", + "Description":"If enabled, the server will be added to the public server listing", + "Keywords":"public", + "FieldName":"AdvertiseServer", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.AdvertiseServer", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Server name visible in the server list", + "Keywords":"server,name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"Vintage Story Server - Powered by AMP", + "EnumValues":{} + }, + { + "DisplayName":"Welcome Message", + "Category":"Server Settings", + "Description":"Welcome message when players join the server. Placeholder {0} will be replaced with the player's nickname", + "Keywords":"welcome,message,motd", + "FieldName":"WelcomeMessage", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"$.WelcomeMessage", + "IncludeInCommandLine":false, + "DefaultValue":"Welcome, {0}, may you survive well and prosper", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Maximum number of players that may connect to the server", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"$.MaxClients", + "IncludeInCommandLine":false, + "DefaultValue":"16", + "Suffix":"players", + "EnumValues":{}, + "MinValue":"1" + }, + { + "DisplayName":"Enable Whitelist", + "Category":"Server Settings", + "Description":"If enabled, only whitelisted players can join the server", + "Keywords":"whitelist", + "FieldName":"OnlyWhitelisted", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.OnlyWhitelisted", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Allow PvP", + "Category":"Server Settings", + "Description":"If enabled, players can hit other players", + "Keywords":"pvp", + "FieldName":"AllowPvP", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"$.AllowPvP", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "True":"true", + "False":"false" + } + }, + { + "DisplayName":"Enable UPnP", + "Category":"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":false, + "DefaultValue":"false", + "EnumValues":{ + "True":"true", + "False":"false" + } + } +] diff --git a/vintage-story-newmetaconfig.json b/vintage-story-newmetaconfig.json new file mode 100644 index 000000000..cb13025d7 --- /dev/null +++ b/vintage-story-newmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile":"data/serverconfig.json", + "AutoMap":true, + "ConfigType":"json" + } +] \ No newline at end of file diff --git a/vintage-story-newupdates.json b/vintage-story-newupdates.json new file mode 100644 index 000000000..e953ca5e3 --- /dev/null +++ b/vintage-story-newupdates.json @@ -0,0 +1,83 @@ +[ + { + "UpdateStageName":"Delete Server Directory", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server'" + }, + { + "UpdateStageName":"Delete Server Directory", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server" + }, + { + "UpdateStageName":"Dotnet Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}dotnet" + }, + { + "UpdateStageName":"Server Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}server" + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"ASP.NET Core Runtime Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz", + "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://cdn.vintagestory.at/gamefiles/stable/vs_server_win-x64_{{ServerVersion}}.zip", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_{{ServerVersion}}.tar.gz", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "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" + } +] \ No newline at end of file diff --git a/vintage-story.kvp b/vintage-story.kvp index f0330f7a0..760e96b4b 100644 --- a/vintage-story.kvp +++ b/vintage-story.kvp @@ -1,5 +1,5 @@ -Meta.DisplayName=Vintage Story -Meta.Description=Vintage Story Dedicated Server +Meta.DisplayName=Vintage Story (Legacy) +Meta.Description=Vintage Story Dedicated Server, up to v1.18.7 Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=Greelan @@ -54,7 +54,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"Server Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}server"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://cdn.vintagestory.at/gamefiles/stable/vs_server_{{ServerVersion}}.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}server","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.UpdateSources=[{"UpdateStageName":"Delete Server Directory","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server'"},{"UpdateStageName":"Delete Server Directory","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server"},{"UpdateStageName":"Server Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}server"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://cdn.vintagestory.at/gamefiles/stable/vs_server_{{ServerVersion}}.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}server","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=True App.SteamForceLoginPrompt=False diff --git a/vintage-storyconfig.json b/vintage-storyconfig.json index 198c4ba17..d21316c61 100644 --- a/vintage-storyconfig.json +++ b/vintage-storyconfig.json @@ -15,16 +15,64 @@ { "DisplayName":"Server Version", "Category":"Server Settings", - "Description":"[Server version](https://account.vintagestory.at/downloads) to install (needs a game account to view versions). NOTE: Delete the \"server\" folder and then update the server after changing this setting!", + "Description":"Sets the server version to install, up to v1.18.7 only. NOTE: Update the server after changing this setting!", "Keywords":"server,version", "FieldName":"ServerVersion", - "InputType":"text", + "InputType":"enum", "IsFlagArgument":false, "ParamFieldName":"ServerVersion", "IncludeInCommandLine":false, "DefaultValue":"1.18.7", - "Placeholder":"1.18.7", - "EnumValues":{} + "EnumValues":{ + "1.18.7":"1.18.7", + "1.18.6":"1.18.6", + "1.18.5":"1.18.5", + "1.18.4":"1.18.4", + "1.18.3":"1.18.3", + "1.18.2":"1.18.2", + "1.18.1":"1.18.1", + "1.18.0":"1.18.0", + "1.17.12":"1.17.12", + "1.17.11":"1.17.11", + "1.17.10":"1.17.10", + "1.17.9":"1.17.9", + "1.17.8":"1.17.8", + "1.17.7":"1.17.7", + "1.17.6":"1.17.6", + "1.17.5":"1.17.5", + "1.17.4":"1.17.4", + "1.17.3":"1.17.3", + "1.17.2":"1.17.2", + "1.17.1":"1.17.1", + "1.17.0":"1.17.0", + "1.16.5":"1.16.5", + "1.16.4":"1.16.4", + "1.16.3":"1.16.3", + "1.16.2":"1.16.2", + "1.16.1":"1.16.1", + "1.16.0":"1.16.0", + "1.15.10":"1.15.10", + "1.15.9":"1.15.9", + "1.15.8":"1.15.8", + "1.15.7":"1.15.7", + "1.15.6":"1.15.6", + "1.15.5":"1.15.5", + "1.15.4":"1.15.4", + "1.15.3":"1.15.3", + "1.15.2":"1.15.2", + "1.15.1":"1.15.1", + "1.15.0":"1.15.0", + "1.14.10":"1.14.10", + "1.13.4":"1.13.4", + "1.13.3":"1.13.3", + "1.13.2":"1.13.2", + "1.13.1":"1.13.1", + "1.13.0":"1.13.0", + "1.12.14":"1.12.14", + "1.11.11":"1.11.11", + "1.10.19":"1.10.19", + "1.9.14":"1.9.14" + } }, { "DisplayName":"Make Server Public", @@ -101,7 +149,7 @@ }, { "DisplayName":"Allow PvP", - "Category":"Gameplay Settings", + "Category":"Server Settings", "Description":"If enabled, players can hit other players", "Keywords":"pvp", "FieldName":"AllowPvP", From 891c5550a41d32d9c7339855ab9079b0d783f023 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 1 Sep 2023 11:14:12 +1000 Subject: [PATCH 264/318] Pavlov VR: update Shack binary name (#452) --- pavlov-vr.kvp | 2 +- pavlov-vrupdates.json | 16 +--------------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/pavlov-vr.kvp b/pavlov-vr.kvp index 77a148741..37759f984 100755 --- a/pavlov-vr.kvp +++ b/pavlov-vr.kvp @@ -28,7 +28,7 @@ App.RootDir=./pavlovserver/ App.BaseDirectory=./pavlovserver/622970/ App.SteamWorkshopDownloadLocation= App.ExecutableWin= -App.ExecutableLinux=622970/Pavlov/Binaries/Linux/PavlovServer +App.ExecutableLinux=622970/Pavlov/Binaries/Linux/PavlovServer-Linux-Shipping App.WorkingDir=622970 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= diff --git a/pavlov-vrupdates.json b/pavlov-vrupdates.json index 2965c3c78..2050117c7 100755 --- a/pavlov-vrupdates.json +++ b/pavlov-vrupdates.json @@ -1,11 +1,4 @@ [ - { - "UpdateStageName":"PC Server Binary Symlink Removal", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm {{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer'" - }, { "UpdateStageName":"SteamCMD Download", "UpdateSourcePlatform":"Linux", @@ -44,13 +37,6 @@ "UpdateSourceTarget":"{{$FullBaseDir}}Pavlov/Saved/Config/LinuxServer", "OverwriteExistingFiles":false }, - { - "UpdateStageName":"PC Server Binary Symlink Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/ln", - "UpdateSourceArgs":"-s \"{{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer-Linux-Shipping\" \"{{$FullBaseDir}}Pavlov/Binaries/Linux/PavlovServer\"" - }, { "UpdateStageName":"Shared Library Symlink Creation", "UpdateSourcePlatform":"Linux", @@ -58,4 +44,4 @@ "UpdateSourceData":"/bin/ln", "UpdateSourceArgs":"-sf /usr/lib/x86_64-linux-gnu/libc++.so.1 \"{{$FullBaseDir}}linux64/libc++.so\"" } -] \ No newline at end of file +] From 1979e2e779d43e4b42825fcd66e3f9f9c50f5007 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 1 Sep 2023 15:43:17 +1000 Subject: [PATCH 265/318] Add SCP: Secret Laboratory (#428) --- scp-secret-laboratory.kvp | 101 ++ scp-secret-laboratoryconfig.json | 1276 ++++++++++++++++++++++++++ scp-secret-laboratorymetaconfig.json | 16 + scp-secret-laboratoryupdates.json | 39 + 4 files changed, 1432 insertions(+) create mode 100644 scp-secret-laboratory.kvp create mode 100644 scp-secret-laboratoryconfig.json create mode 100644 scp-secret-laboratorymetaconfig.json create mode 100644 scp-secret-laboratoryupdates.json diff --git a/scp-secret-laboratory.kvp b/scp-secret-laboratory.kvp new file mode 100644 index 000000000..b4cd0ee82 --- /dev/null +++ b/scp-secret-laboratory.kvp @@ -0,0 +1,101 @@ +Meta.DisplayName=SCP: Secret Laboratory +Meta.Description=SCP: Secret Laboratory Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://scpslgame.com/ +Meta.DisplayImageSource=steam:700330 +Meta.EndpointURIFormat= +Meta.ConfigManifest=scp-secret-laboratoryconfig.json +Meta.MetaConfigManifest=scp-secret-laboratorymetaconfig.json +Meta.ConfigRoot=scp-secret-laboratory.kvp +Meta.MinAMPVersion=2.4.6.2 +Meta.SpecificDockerImage=cubecoders/ampbase:mono +Meta.DockerRequired=False +Meta.DockerBaseReadOnly=False +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server 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=SCP: Secret Laboratory +App.RootDir=./scp-secret-laboratory/ +App.BaseDirectory=./scp-secret-laboratory/996560/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin=996560\LocalAdmin.exe +App.ExecutableLinux=996560/LocalAdmin +App.WorkingDir=996560 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$GamePort}} --useDefault --skipHomeCheck {{CustomLocalAdminArgs}} -- -silent-crashes {{CustomServerArgs}} -logFile {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"700330"} +App.CommandLineParameterFormat=-{0} {1} +App.CommandLineParameterDelimiter= +App.ExitMethod=String +App.ExitTimeout=30 +App.ExitString=exit +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":7777,"Ref":"GamePort","Name":"Game and Query Port","Description":"Port for game and query traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=20 +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[scp-secret-laboratoryupdates.json] +App.PreStartStages=[] +App.ForceUpdate=False +App.ForceUpdateReason= +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=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= +Console.AppReadyRegex=^\[[\d-]+ [\d:.]+ \+[\d:]+\] Waiting for players\.\.\.$ +Console.UserJoinRegex=^\[[\d-]+ [\d:.]+ \+[\d:]+\] Nickname of (?<userid>.+?)@steam is now (?<username>.+?)\.$ +Console.UserLeaveRegex=^\[[\d-]+ [\d:.]+ \+[\d:]+\] (?<username>.+?) \((?<userid>.+?)@steam\) disconnected from IP address (?<endpoint>.+?)\. Last class: (?:.*?)\.$ +Console.UserChatRegex=^$ +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/scp-secret-laboratoryconfig.json b/scp-secret-laboratoryconfig.json new file mode 100644 index 000000000..9c14bd28b --- /dev/null +++ b/scp-secret-laboratoryconfig.json @@ -0,0 +1,1276 @@ +[ + { + "DisplayName":"Server Public IP", + "Category":"SCP SL Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ExternalIP", + "InputType":"text", + "Hidden":true, + "ParamFieldName":"server_ip", + "EnumValues":{} + }, + { + "DisplayName":"Query Port Shift", + "Category":"SCP SL Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"query_port_shift", + "InputType":"number", + "Hidden":true, + "ParamFieldName":"query_port_shift", + "DefaultValue":"0", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"SCP SL Server Settings", + "Description":"Sets the name of the server as shown on the public server list. [Unity Rich Text](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/StyledText.html) formatting is allowed. The server must be [verified](https://scpsl.notion.site/How-do-I-verify-my-server-A-step-by-step-guide-34235d219dce43c7bf47b7c158fa069d) to appear on the list", + "Keywords":"name,servername,server_name", + "FieldName":"server_name", + "InputType":"text", + "ParamFieldName":"server_name", + "DefaultValue":"AMP Powered SCP:SL Server", + "EnumValues":{} + }, + { + "DisplayName":"Player List Server Title", + "Category":"SCP SL Server Settings", + "Description":"Sets the server title (name) displayed only in the player list. Specify \"default\" to use the Server Name", + "Keywords":"player,list,title,name,player_list_title", + "FieldName":"player_list_title", + "InputType":"text", + "ParamFieldName":"player_list_title", + "DefaultValue":"default", + "Placeholder":"default", + "EnumValues":{} + }, + { + "DisplayName":"Player List Server Title Rate", + "Category":"SCP SL Server Settings", + "Description":"Sets the time interval between refreshes of the server title in the player list. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"player,list,title,name,refresh,rate,player_list_title_rate", + "FieldName":"player_list_title_rate", + "InputType":"text", + "ParamFieldName":"player_list_title_rate", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Server Info Pastebin ID", + "Category":"SCP SL Server Settings", + "Description":"Sets the pastebin ID used for the info tab on the server browser. The ID can be found in your browser's web address bar when creating a new file on pastebin. Required for the server to be included on the public server list", + "Keywords":"server,info,pastebin,id,serverinfo_pastebin_id", + "FieldName":"serverinfo_pastebin_id", + "InputType":"text", + "ParamFieldName":"serverinfo_pastebin_id", + "DefaultValue":"7wV681fT", + "Placeholder":"7wV681fT", + "EnumValues":{} + }, + { + "DisplayName":"Contact Email", + "Category":"SCP SL Server Settings", + "Description":"Sets the contact email address of the server owner or adminstrator, as used to verify the server. Required for the server to be included on the public server list", + "Keywords":"contact,email,server,list,contact_email", + "FieldName":"contact_email", + "InputType":"text", + "ParamFieldName":"contact_email", + "DefaultValue":"default", + "Placeholder":"default", + "EnumValues":{} + }, + { + "DisplayName":"Hide From Public List", + "Category":"SCP SL Server Settings", + "Description":"If set, the server will be hidden from the public server list, even if otherwise verified and accessible", + "Keywords":"hide,public,server,list,hide_from_public_list", + "FieldName":"hide_from_public_list", + "InputType":"checkbox", + "ParamFieldName":"hide_from_public_list", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Online Mode", + "Category":"SCP SL Server Settings", + "Description":"If set, enables the server to connect to the central servers. Otherwise, UserID based bans, reserved slots, the whitelist, and remote admin authentication will also be disabled", + "Keywords":"online,mode,central,server,online_mode", + "FieldName":"online_mode", + "InputType":"checkbox", + "ParamFieldName":"online_mode", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Display Custom Whitelist Status", + "Category":"SCP SL Server Settings", + "Description":"If set, the public server list will show the server as using a whitelist. ONLY enable this if the server is verified and uses a plugin or modification that provides a custom whitelist. See the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf) for details", + "Keywords":"public,server,list,whitelist,custom_whitelist", + "FieldName":"custom_whitelist", + "InputType":"checkbox", + "ParamFieldName":"custom_whitelist", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Display Access Restriction Status", + "Category":"SCP SL Server Settings", + "Description":"If set, the public server list will show the server as having access restrictions. ONLY enable this if the server is verified and uses a plugin or modification that restricts access other than by whitelist (such as password). See the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf) for details", + "Keywords":"public,server,list,access,restriction,server_access_restriction", + "FieldName":"server_access_restriction", + "InputType":"checkbox", + "ParamFieldName":"server_access_restriction", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Set As Custom Gamemode Server", + "Category":"SCP SL Server Settings", + "Description":"If set, the server will be set as a Custom Gamemode Server. ONLY enable this if the server is verified and satisfies the requirements for Custom Gamemode Servers in the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf)", + "Keywords":"public,server,custom,gamemode,custom_gamemode_server", + "FieldName":"custom_gamemode_server", + "InputType":"checkbox", + "ParamFieldName":"custom_gamemode_server", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Set As Heavily Modded Server", + "Category":"SCP SL Server Settings", + "Description":"If set, the server will be set as a Heavily Modded Server. ONLY enable this if the server is verified and satisfies the requirements for Heavily Modded Servers in the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf)", + "Keywords":"public,server,heavily,modded,heavily_modded_server", + "FieldName":"heavily_modded_server", + "InputType":"checkbox", + "ParamFieldName":"heavily_modded_server", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Player Limit", + "Category":"SCP SL Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time. Cannot generally exceed 60 for a server to be included on the public server list", + "Keywords":"maximum,players,limit,max_players", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "ParamFieldName":"max_players", + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Enable Player Whitelist", + "Category":"SCP SL Server Settings", + "Description":"If set, only whitelisted players will be able to join, as specified in config/UserIDWhitelist.txt", + "Keywords":"whitelist,enable_whitelist", + "FieldName":"enable_whitelist", + "InputType":"checkbox", + "ParamFieldName":"enable_whitelist", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"IP Banning", + "Category":"SCP SL Server Settings", + "Description":"If set, IP banning will be enabled. Disable this if the server is behind a proxy, firewall, or anti-DDoS system that changes IP addresses from players to own", + "Keywords":"ip,banning,ip_banning", + "FieldName":"ip_banning", + "InputType":"checkbox", + "ParamFieldName":"ip_banning", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Server Tickrate", + "Category":"SCP SL Server Settings", + "Description":"Sets the server tickrate (fps)", + "Keywords":"server,tickrate,fps,server_tickrate", + "FieldName":"server_tickrate", + "InputType":"number", + "MinValue":"1", + "ParamFieldName":"server_tickrate", + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"frames per second", + "EnumValues":{} + }, + { + "DisplayName":"Lobby Waiting Time", + "Category":"SCP SL Server Settings", + "Description":"Sets the waiting time before the game starts. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"lobby,waiting,time,lobby_waiting_time", + "FieldName":"lobby_waiting_time", + "InputType":"text", + "ParamFieldName":"lobby_waiting_time", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Use Reserved Slots", + "Category":"SCP SL Server Settings", + "Description":"If set, reserved slots will be enabled", + "Keywords":"use,reserved,slots,use_reserved_slots", + "FieldName":"use_reserved_slots", + "InputType":"checkbox", + "ParamFieldName":"use_reserved_slots", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Query Protocol", + "Category":"SCP SL Server Settings", + "Description":"Enables the server's query protocol", + "Keywords":"enable,query,protocol,enable_query", + "FieldName":"enable_query", + "InputType":"checkbox", + "ParamFieldName":"enable_query", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Query Protocol Over IPv6", + "Category":"SCP SL Server Settings", + "Description":"If set, the query protocol will be enabled over IPv6", + "Keywords":"query,protocol,ipv6,query_use_IPv6", + "FieldName":"query_use_IPv6", + "InputType":"checkbox", + "ParamFieldName":"query_use_IPv6", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Administrator Query Password", + "Category":"SCP SL Server Settings", + "Description":"Sets the administrator password for the query protocol", + "Keywords":"administrator,query,password,administrator_query_password", + "FieldName":"administrator_query_password", + "InputType":"text", + "ParamFieldName":"administrator_query_password", + "DefaultValue":"none", + "Placeholder":"none", + "EnumValues":{} + }, + { + "DisplayName":"Map Seed", + "Category":"SCP SL Server Settings", + "Description":"Forces a single map seed for all rounds. -1 = random", + "Keywords":"map,seed,map_seed", + "FieldName":"map_seed", + "InputType":"text", + "ParamFieldName":"map_seed", + "DefaultValue":"-1", + "Placeholder":"-1", + "EnumValues":{} + }, + { + "DisplayName":"IPv4 Server Binding", + "Category":"SCP SL Server Settings", + "Description":"Sets the IPv4 binding of the server. Default is 0.0.0.0 (all IPs). Change to a specific IPv4 address on the host if really needed", + "Keywords":"ipv4,binding,ip,address,ipv4_bind_ip", + "FieldName":"ipv4_bind_ip", + "InputType":"text", + "ParamFieldName":"ipv4_bind_ip", + "DefaultValue":"0.0.0.0", + "Placeholder":"0.0.0.0", + "EnumValues":{} + }, + { + "DisplayName":"IPv6 Server Binding", + "Category":"SCP SL Server Settings", + "Description":"Sets the IPv6 binding of the server. Default is :: (all IPs). Change to a specific IPv6 address on the host if really needed", + "Keywords":"ipv6,binding,ip,address,ipv6_bind_ip", + "FieldName":"ipv6_bind_ip", + "InputType":"text", + "ParamFieldName":"ipv6_bind_ip", + "DefaultValue":"::", + "Placeholder":"::", + "EnumValues":{} + }, + { + "DisplayName":"Server Plugins", + "Category":"SCP SL Server Settings", + "Description":"Server plugins must be downloaded to the AppData/SCP Secret Laboratory/PluginAPI/plugins/<GamePort> directory in the instance datastore. More [information on plugins](https://scpsl.notion.site/How-do-I-install-plugins-on-my-server-e7a64ab5b0e541a59333ffbaab2f52c5)", + "Keywords":"plugins", + "FieldName":"Plugins", + "InputType":"hidden", + "ParamFieldName":"Plugins", + "EnumValues":{} + }, + { + "DisplayName":"Enable Sync Command Binding", + "Category":"SCP SL Server Settings", + "Description":"", + "Keywords":"enable,sync,command,binding,enable_sync_command_binding", + "FieldName":"enable_sync_command_binding", + "InputType":"checkbox", + "ParamFieldName":"enable_sync_command_binding", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Rate Limit Kick", + "Category":"SCP SL Server Settings", + "Description":"If set, the server will kick a player after they exceed the command rate limits. Otherwise, command execution will just be disabled", + "Keywords":"command,rate,limit,kick,ratelimit_kick", + "FieldName":"ratelimit_kick", + "InputType":"checkbox", + "ParamFieldName":"ratelimit_kick", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Prevent Same Account Joining", + "Category":"SCP SL Server Settings", + "Description":"If set, prevents players with the same account from joining the server simultaneously", + "Keywords":"same,account,joining,same_account_joining", + "FieldName":"same_account_joining", + "InputType":"checkbox", + "ParamFieldName":"same_account_joining", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable Anticheat Console Output", + "Category":"SCP SL Server Settings", + "Description":"If set, anticheat-related messages will be displayed in the server console", + "Keywords":"anticheat,logging,console,anticheat_console_output", + "FieldName":"anticheat_console_output", + "InputType":"checkbox", + "ParamFieldName":"anticheat_console_output", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Display Pre-authentication Logs", + "Category":"SCP SL Server Settings", + "Description":"If enabled, logs related to pre-authentication will be displayed in the server console", + "Keywords":"display,pre-authentication,logs,logging,display_preauth_logs", + "FieldName":"display_preauth_logs", + "InputType":"checkbox", + "ParamFieldName":"display_preauth_logs", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Rejection Logging Suppression Threshold", + "Category":"SCP SL Server Settings", + "Description":"Sets the time period before a new rejection is logged (when using the Query Response System)", + "Keywords":"rejection,suppression,threshold,rejection_suppression_threshold", + "FieldName":"rejection_suppression_threshold", + "InputType":"number", + "ParamFieldName":"rejection_suppression_threshold", + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Challenge Issuance Logging Suppression Threshold", + "Category":"SCP SL Server Settings", + "Description":"Sets the time period before a new challenge issuance is logged", + "Keywords":"challenge,issuance,suppression,time,period,logs,logging,challenge_issuance_suppression_threshold", + "FieldName":"challenge_issuance_suppression_threshold", + "InputType":"number", + "ParamFieldName":"challenge_issuance_suppression_threshold", + "DefaultValue":"50", + "Placeholder":"50", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable UPnP", + "Category":"SCP SL Server Settings", + "Description":"If enabled, the server will automatically create port mappings on UPnP enabled routers", + "Keywords":"upnp,forward,ports,forward_ports", + "FieldName":"forward_ports", + "InputType":"checkbox", + "ParamFieldName":"forward_ports", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Additional LocalAdmin Startup Parameters", + "Category":"SCP SL Server Settings", + "Description":"Specifies additional LocalAdmin (not server binary) startup parameters that are not otherwise set by AMP. Use with care (don't set any path arguments)", + "Keywords":"custom,localadmin,arguments,parameters", + "FieldName":"CustomLocalAdminArgs", + "InputType":"text", + "ParamFieldName":"CustomLocalAdminArgs", + "DefaultValue":"", + "Placeholder":"--logLengthLimit 5G", + "EnumValues":{} + }, + { + "DisplayName":"Additional Server Startup Parameters", + "Category":"SCP SL Server Settings", + "Description":"Specifies additional server binary (not LocalAdmin) startup parameters that are not otherwise set by AMP. Use with care (don't set any path arguments)", + "Keywords":"custom,server,arguments,parameters", + "FieldName":"CustomServerArgs", + "InputType":"text", + "ParamFieldName":"CustomServerArgs", + "DefaultValue":"", + "Placeholder":"-disableconfigvalidation", + "EnumValues":{} + }, + { + "DisplayName":"Server Forced Class", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the forced class on round start. -1 = random", + "Keywords":"server,forced,class,server_forced_class", + "FieldName":"server_forced_class", + "InputType":"number", + "MinValue":"-1", + "ParamFieldName":"server_forced_class", + "DefaultValue":"-1", + "Placeholder":"-1", + "EnumValues":{} + }, + { + "DisplayName":"Player Information Range", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the default range that the player information text appears on clients", + "Keywords":"player,info,information,range,player_info_range", + "FieldName":"player_info_range", + "InputType":"number", + "MinValue":"1", + "ParamFieldName":"player_info_range", + "DefaultValue":"10", + "Placeholder":"10", + "EnumValues":{} + }, + { + "DisplayName":"Stamina Balance Use", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the percentage of stamina used per second while sprinting. Express as a decimal, eg: 0.05 = 5%, 0.33 = 33%. Stamina is currently only utilised on humans. 0 = disabled, but this will cause weirdness with status effects and other mechanics", + "Keywords":"stamina,balance,use,sprinting,stamina_balance_use", + "FieldName":"stamina_balance_use", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"stamina_balance_use", + "DefaultValue":"0.05", + "Placeholder":"0.05", + "EnumValues":{} + }, + { + "DisplayName":"Stamina Balance Immunity", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the period during which newly-spawned players can sprint without consuming stamina. Used to reduce visual artifacts. Recommended minimum = 2", + "Keywords":"stamina,balance,immunity,sprinting,stamina_balance_immunity", + "FieldName":"stamina_balance_immunity", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"stamina_balance_immunity", + "DefaultValue":"3", + "Placeholder":"3", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Stamina Balance Regeneration Cooldown", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the period that must pass before stamina starts regenerating after the player stops sprinting. Lower values are more likely to be exploited by players. Higher higher can be annoying to players", + "Keywords":"stamina,balance,regeneration,cooldown,sprinting,period,stamina_balance_regen_cd", + "FieldName":"stamina_balance_regen_cd", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"stamina_balance_regen_cd", + "DefaultValue":"1", + "Placeholder":"1", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Stamina Balance Regeneration Speed", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets how fast the stamina regenerates. This is a multiplier for the default setting, which is based on a curve - not a specific value", + "Keywords":"stamina,balance,regeneration,speed,multiplier,stamina_balance_regen_speed", + "FieldName":"stamina_balance_regen_speed", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"stamina_balance_regen_speed", + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"AFK Period Before Kick", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets how long a player can be AFK in their spawn location before being kicked by the server. 0 = disabled", + "Keywords":"afk,away,time,period,kick,afk_time", + "FieldName":"afk_time", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"afk_time", + "DefaultValue":"90", + "Placeholder":"90", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Constantly Check AFK Status", + "Category":"SCP SL Gameplay Settings", + "Description":"If set, the server will constantly check AFK status", + "Keywords":"constantly,check,afk,status,away,constantly_check_afk", + "FieldName":"constantly_check_afk", + "InputType":"checkbox", + "ParamFieldName":"constantly_check_afk", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"AFK Kick Message", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the message shown to a player when kicked for AFK", + "Keywords":"afk,away,kick,message,afk_kick_message", + "FieldName":"afk_kick_message", + "InputType":"text", + "ParamFieldName":"afk_kick_message", + "DefaultValue":"AFK", + "Placeholder":"AFK", + "EnumValues":{} + }, + { + "DisplayName":"Intercom Cooldown Period", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the intercom cooldown period after use", + "Keywords":"intercom,cooldown,period,", + "FieldName":"intercom_cooldown", + "InputType":"number", + "ParamFieldName":"intercom_cooldown", + "DefaultValue":"120", + "Placeholder":"120", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Intercom Maximum Speech Time", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the maximum period that a player can use the intercom at one time", + "Keywords":"intercom,max,maximum,speech,time,period,intercom_max_speech_time", + "FieldName":"intercom_max_speech_time", + "InputType":"number", + "ParamFieldName":"intercom_max_speech_time", + "DefaultValue":"20", + "Placeholder":"20", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Auto Round Restart Delay", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the time period after a round has ended for the round to restart", + "Keywords":"auto,round,restart,time,period,auto_round_restart_time", + "FieldName":"auto_round_restart_time", + "InputType":"number", + "ParamFieldName":"auto_round_restart_time", + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Fast Round Restart", + "Category":"SCP SL Gameplay Settings", + "Description":"If set, enables faster round restart after a round has ended", + "Keywords":"enable,fast,round,restart,enable_fast_round_restart", + "FieldName":"enable_fast_round_restart", + "InputType":"checkbox", + "ParamFieldName":"enable_fast_round_restart", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Fast Round Restart Delay", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the length of time after a round has ended for the round to restart", + "Keywords":"fast,round,restart,delay,fast_round_restart_delay", + "FieldName":"fast_round_restart_delay", + "InputType":"number", + "ParamFieldName":"fast_round_restart_delay", + "DefaultValue":"3.2", + "Placeholder":"3.2", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Friendly Fire", + "Category":"SCP SL Gameplay Settings", + "Description":"If set, friendly fire for humans will be enabled", + "Keywords":"enable,friendly,fire,friendly_fire", + "FieldName":"friendly_fire", + "InputType":"checkbox", + "ParamFieldName":"friendly_fire", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Friendly Fire Multiplier", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the friendly fire multiplier", + "Keywords":"friendly,fire,multiplier,friendly_fire_multiplier", + "FieldName":"friendly_fire_multiplier", + "InputType":"number", + "ParamFieldName":"friendly_fire_multiplier", + "DefaultValue":"0.4", + "Placeholder":"0.4", + "EnumValues":{} + }, + { + "DisplayName":"Warhead Detonation Countdown Timer", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the countdown timer until the warhead detonates", + "Keywords":"warhead,detonation,timer,countdown,warhead_tminus_start_duration", + "FieldName":"warhead_tminus_start_duration", + "InputType":"number", + "MinValue":"70", + "MaxValue":"120", + "ParamFieldName":"warhead_tminus_start_duration", + "DefaultValue":"90", + "Placeholder":"90", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Force Gates Open During Detonation Timer", + "Category":"SCP SL Gameplay Settings", + "Description":"If enabled, the entrance gates will be forced open when the warhead is counting down", + "Keywords":"warhead,countdown,lock,gates,open,lock_gates_on_countdown", + "FieldName":"lock_gates_on_countdown", + "InputType":"checkbox", + "ParamFieldName":"lock_gates_on_countdown", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Lock Checkpoints During Detonation Timer", + "Category":"SCP SL Gameplay Settings", + "Description":"If enabled, all checkpoints will be locked when the warhead is counting down, thereby isolating zones", + "Keywords":"warhead,countdown,lock,checkpoints,isolate,zones,isolate_zones_on_countdown", + "FieldName":"isolate_zones_on_countdown", + "InputType":"checkbox", + "ParamFieldName":"isolate_zones_on_countdown", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Force Doors/Checkpoints Open During Detonation Timer", + "Category":"SCP SL Gameplay Settings", + "Description":"If enabled, all normal doors and checkpoints will be foced open when the warhead is counting down", + "Keywords":"warhead,countdown,open,doors,checkpoints,open_doors_on_countdown", + "FieldName":"open_doors_on_countdown", + "InputType":"checkbox", + "ParamFieldName":"open_doors_on_countdown", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Keep Items After Escaping", + "Category":"SCP SL Gameplay Settings", + "Description":"If enabled, when a player escapes they will keep old items, rather than the items falling on the ground", + "Keywords":"keep,items,escape,escaping,keep_items_after_escaping", + "FieldName":"keep_items_after_escaping", + "InputType":"checkbox", + "ParamFieldName":"keep_items_after_escaping", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Playing As Tutorial", + "Category":"SCP SL Gameplay Settings", + "Description":"If set, players will be able to play as the tutorial class", + "Keywords":"allow,play,playing,tutorial,class,allow_playing_as_tutorial", + "FieldName":"allow_playing_as_tutorial", + "InputType":"checkbox", + "ParamFieldName":"allow_playing_as_tutorial", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Decontamination", + "Category":"SCP SL Gameplay Settings", + "Description":"If set, disables the decontamination process in the facility", + "Keywords":"disable,facility,decontamination,disable_decontamination", + "FieldName":"disable_decontamination", + "InputType":"checkbox", + "ParamFieldName":"disable_decontamination", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow SCP-096 To Destroy Locked Doors", + "Category":"SCP SL Gameplay Settings", + "Description":"If enabled, locked doors can be destroyed by SCP-096", + "Keywords":"destroy,locked,doors,scp-096,096_destroy_locked_doors", + "FieldName":"096_destroy_locked_doors", + "InputType":"checkbox", + "ParamFieldName":"096_destroy_locked_doors", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Disable Holidays", + "Category":"SCP SL Gameplay Settings", + "Description":"If set, disables the holidays and other generation events (like Halloween)", + "Keywords":"disable,holidays,generation,events,no_holidays", + "FieldName":"no_holidays", + "InputType":"checkbox", + "ParamFieldName":"no_holidays", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Disarmed Interaction", + "Category":"SCP SL Gameplay Settings", + "Description":"If set, handcuffed players will be able to interact with doors or elevators", + "Keywords":"allow,disarmed,handcuffed,interaction,allow_disarmed_interaction", + "FieldName":"allow_disarmed_interaction", + "InputType":"checkbox", + "ParamFieldName":"allow_disarmed_interaction", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"SCP-914 Mode", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets how SCP-914 operates on players", + "Keywords":"scp-914,914,mode,914_mode", + "FieldName":"914_mode", + "InputType":"enum", + "ParamFieldName":"914_mode", + "DefaultValue":"default", + "EnumValues":{ + "default":"Default", + "DroppedAndPlayerTeleport":"Dropped and player teleport", + "Inventory":"Inventory", + "DroppedAndInventory":"Dropped and inventory", + "Held":"Held", + "DroppedAndHeld":"Dropped and held", + "Dropped":"Dropped" + } + }, + { + "DisplayName":"Sinkhole Slow Amount", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets how much the sinkhole makes a player slower", + "Keywords":"sinkhole,player,slow,amount,sinkhole_slow_amount", + "FieldName":"sinkhole_slow_amount", + "InputType":"number", + "ParamFieldName":"sinkhole_slow_amount", + "DefaultValue":"30", + "Placeholder":"30", + "EnumValues":{} + }, + { + "DisplayName":"Sinkhole Spawn Chance", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the chance of spawning a sinkhole. 0 = disabled", + "Keywords":"sinkhole,spawn,chance,sinkhole_spawn_chance", + "FieldName":"sinkhole_spawn_chance", + "InputType":"number", + "MinValue":"0", + "ParamFieldName":"sinkhole_spawn_chance", + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Enable Disconnect Drop", + "Category":"SCP SL Gameplay Settings", + "Description":"If enabled, disconnecting players will drop their items", + "Keywords":"disconnect,drop,items,disconnect_drop", + "FieldName":"disconnect_drop", + "InputType":"checkbox", + "ParamFieldName":"disconnect_drop", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"End Round On One Player", + "Category":"SCP SL Gameplay Settings", + "Description":"If enabled, a round ends when there is only one player left", + "Keywords":"end,round,last,player,end_round_on_one_player", + "FieldName":"end_round_on_one_player", + "InputType":"checkbox", + "ParamFieldName":"end_round_on_one_player", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Change Teams For Handcuffed Escapees", + "Category":"SCP SL Gameplay Settings", + "Description":"If enabled, handcuffed escapees will change teams", + "Keywords":"handcuffed,cuffed,escapee,change,team,cuffed_escapee_change_team", + "FieldName":"cuffed_escapee_change_team", + "InputType":"checkbox", + "ParamFieldName":"cuffed_escapee_change_team", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Pocket Dimension Exit Count", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the number of exits in the pocket dimension", + "Keywords":"pocket,dimension,exit,count,number,pd_exit_count", + "FieldName":"pd_exit_count", + "InputType":"number", + "ParamFieldName":"pd_exit_count", + "DefaultValue":"2", + "Placeholder":"2", + "Suffix":"exits", + "EnumValues":{} + }, + { + "DisplayName":"Broadcast Kicks", + "Category":"SCP SL Gameplay Settings", + "Description":"If set, enables broadcasts for player kicks", + "Keywords":"broadcast,kicks,broadcast_kicks", + "FieldName":"broadcast_kicks", + "InputType":"checkbox", + "ParamFieldName":"broadcast_kicks", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Broadcast Kick Text", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the text that is displayed when a player gets kicked", + "Keywords":"broadcast,kick,text,message,broadcast_kick_text", + "FieldName":"broadcast_kick_text", + "InputType":"text", + "ParamFieldName":"broadcast_kick_text", + "DefaultValue":"%nick% has been kicked from this server.", + "EnumValues":{} + }, + { + "DisplayName":"Broadcast Kick Duration", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the broadcast kick message duration", + "Keywords":"broadcast,kick,message,duration,broadcast_kick_duration", + "FieldName":"broadcast_kick_duration", + "InputType":"number", + "ParamFieldName":"broadcast_kick_duration", + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Broadcast Bans", + "Category":"SCP SL Gameplay Settings", + "Description":"If set, enables broadcasts for player bans", + "Keywords":"broadcast,bans,broadcast_bans", + "FieldName":"broadcast_bans", + "InputType":"checkbox", + "ParamFieldName":"broadcast_bans", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Broadcast Ban Text", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the text that is displayed when a player gets banned", + "Keywords":"broadcast,ban,text,message,broadcast_ban_text", + "FieldName":"broadcast_ban_text", + "InputType":"text", + "ParamFieldName":"broadcast_ban_text", + "DefaultValue":"%nick% has been banned from this server.", + "EnumValues":{} + }, + { + "DisplayName":"Broadcast Ban Duration", + "Category":"SCP SL Gameplay Settings", + "Description":"Sets the broadcast ban message duration", + "Keywords":"broadcast,ban,message,duration,broadcast_ban_duration", + "FieldName":"broadcast_ban_duration", + "InputType":"number", + "ParamFieldName":"broadcast_ban_duration", + "DefaultValue":"5", + "Placeholder":"5", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Enable Spawn Protection", + "Category":"SCP SL Spawn Settings", + "Description":"If set, enables spawn protection for newly spawned players", + "Keywords":"spawn,protection,enable,spawn_protect_enabled", + "FieldName":"spawn_protect_enabled", + "InputType":"checkbox", + "FieldName":"spawn_protect_enabled", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Spawn Protection Duration", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the duration of spawn protection for newly spawned players. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"spawn,protection,duration,time,spawn_protection_duration", + "FieldName":"spawn_protect_time", + "InputType":"text", + "ParamFieldName":"spawn_protect_time", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Allow Shooting During Spawn Protection", + "Category":"SCP SL Spawn Settings", + "Description":"If set, allows spawn protected players to shoot", + "Keywords":"spawn,protection,shoot,spawn_protect_can_shoot", + "FieldName":"spawn_protect_can_shoot", + "InputType":"checkbox", + "ParamFieldName":"spawn_protect_can_shoot", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Team Spawn Protection", + "Category":"SCP SL Spawn Settings", + "Description":"Sets spawn protection for the selected team(s). Specify the teams in a comma-separated list in square brackets", + "Keywords":"spawn,protection,team,spawn_protect_team", + "FieldName":"spawn_protect_team", + "InputType":"text", + "ParamFieldName":"spawn_protect_team", + "DefaultValue":"[1, 2]", + "Placeholder":"[1, 2]", + "EnumValues":{} + }, + { + "DisplayName":"Minimum MTF Time To Spawn", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the minimum time it can take from the last wave for a new one to spawn", + "Keywords":"minimum,mtf,time,spawn,minimum_mtf_time_to_spawn", + "FieldName":"minimum_MTF_time_to_spawn", + "InputType":"number", + "ParamFieldName":"minimum_MTF_time_to_spawn", + "DefaultValue":"280", + "Placeholder":"280", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum MTF Time To Spawn", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the maximum time it can take from the last wave for a new one to spawn", + "Keywords":"maximum,mtf,time,spawn,maximum_MTF_time_to_spawn", + "FieldName":"maximum_MTF_time_to_spawn", + "InputType":"number", + "ParamFieldName":"maximum_MTF_time_to_spawn", + "DefaultValue":"350", + "Placeholder":"350", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Maximum MTF Respawn Amount", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the number of players who can respawn as MTF", + "Keywords":"maximum,mtf,respawn,amount,maximum_MTF_respawn_amount", + "FieldName":"maximum_MTF_respawn_amount", + "InputType":"number", + "ParamFieldName":"maximum_MTF_respawn_amount", + "DefaultValue":"15", + "Placeholder":"15", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Maximum CI Respawn Amount", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the number of players who can respawn as Chaos Insurgents", + "Keywords":"maximum,ci,chaos,insurgent,respawn,amount,maximum_CI_respawn_amount", + "FieldName":"maximum_CI_respawn_amount", + "InputType":"number", + "ParamFieldName":"maximum_CI_respawn_amount", + "DefaultValue":"15", + "Placeholder":"15", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Prioritise MTF Respawn", + "Category":"SCP SL Spawn Settings", + "Description":"If set, MTF will be a top priority for a respawn team", + "Keywords":"priority,mtf,respawn,priority_mtf_respawn", + "FieldName":"priority_mtf_respawn", + "InputType":"checkbox", + "ParamFieldName":"priority_mtf_respawn", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Use Crypto RNG", + "Category":"SCP SL Spawn Settings", + "Description":"If set, enables better generation randomness by using a cryptographic random number generator (RNG). Note: Uses more CPU to generate numbers", + "Keywords":"crypto,rng,cryptographic,random,generator,use_crypto_rng", + "FieldName":"use_crypto_rng", + "InputType":"checkbox", + "ParamFieldName":"use_crypto_rng", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Team Respawn Queue", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the pattern in which the classes spawn at round start. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"team,respawn,queue,team_respawn_queue", + "FieldName":"team_respawn_queue", + "InputType":"text", + "ParamFieldName":"team_respawn_queue", + "DefaultValue":"default", + "Placeholder":"default", + "EnumValues":{} + }, + { + "DisplayName":"Enable Respawn Tickets", + "Category":"SCP SL Spawn Settings", + "Description":"If set, enables the respawn tickets system. Each MTF or CI player spawned in consumes one ticket. Recommended for game balance. Even if disabled, the MTF:CI ticket ratio will still determine their spawn chance", + "Keywords":"enable,respawn,tickets,respawn_tickets_enable", + "FieldName":"respawn_tickets_enable", + "InputType":"checkbox", + "ParamFieldName":"respawn_tickets_enable", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Initial MTF Respawn Tickets Count", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the starting count for MTF respawn tickets. The ratio of MTF:CI tickets directly determines which team has a higher chance of spawning", + "Keywords":"mtf,respawn,tickets,initial,count,respawn_tickets_mtf_initial_count", + "FieldName":"respawn_tickets_mtf_initial_count", + "InputType":"number", + "ParamFieldName":"respawn_tickets_mtf_initial_count", + "DefaultValue":"24", + "Placeholder":"24", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"Initial CI Respawn Tickets Count", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the starting count for Chaos Insurgents respawn tickets. The ratio of MTF:CI tickets directly determines which team has a higher chance of spawning", + "Keywords":"ci,respawn,tickets,chaos,insurgents,initial,count,respawn_tickets_ci_initial_count", + "FieldName":"respawn_tickets_ci_initial_count", + "InputType":"number", + "ParamFieldName":"respawn_tickets_ci_initial_count", + "DefaultValue":"18", + "Placeholder":"18", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"MTF Respawn Tickets Class D Cuffed Escape Count", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the number of tickets MTF get for letting a Disarmed Class D escape. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"respawn,tickets,mtf,classd,cuffed,escape,count,respawn_tickets_mtf_classd_cuffed_escape_count", + "FieldName":"respawn_tickets_mtf_classd_cuffed_escape_count", + "InputType":"text", + "ParamFieldName":"respawn_tickets_mtf_classd_cuffed_escape_count", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"MTF Respawn Tickets Scientist Escape Count", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the number of tickets MTF get for letting a Scientist escape. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"respawn,tickets,mtf,scientist,escape,count,respawn_tickets_mtf_scientist_escape_count", + "FieldName":"respawn_tickets_mtf_scientist_escape_count", + "InputType":"text", + "ParamFieldName":"respawn_tickets_mtf_scientist_escape_count", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"MTF Respawn Tickets SCP Damage Escape Count", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the number of tickets MTF get for damaging an SCP. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"respawn,tickets,mtf,scp,hurt,escape ,count,respawn_tickets_mtf_scp_hurt_escape_count", + "FieldName":"respawn_tickets_mtf_scp_hurt_escape_count", + "InputType":"text", + "ParamFieldName":"respawn_tickets_mtf_scp_hurt_escape_count", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"CI Respawn Tickets Class D Escape Count", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the number of tickets CI get for letting a Class D escape. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"respawn,tickets,ci,classd,escape,count,respawn_tickets_ci_classd_escape_count", + "FieldName":"respawn_tickets_ci_classd_escape_count", + "InputType":"text", + "ParamFieldName":"respawn_tickets_ci_classd_escape_count", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"CI Respawn Tickets Scientist Cuffed Escape Count", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the number of tickets CI get for letting a Disarmed Scientist escape. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"respawn,tickets,ci,scientist,cuffed ,escape,count,respawn_tickets_ci_scientist_cuffed_escape_count", + "FieldName":"respawn_tickets_ci_scientist_cuffed_escape_count", + "InputType":"text", + "ParamFieldName":"respawn_tickets_ci_scientist_cuffed_escape_count", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"CI Respawn Tickets Scientist Killing Count", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the number of tickets CI get for killing a Scientist. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"respawn,tickets,ci,scientist,kill,,count,respawn_tickets_ci_scientist_died_count", + "FieldName":"respawn_tickets_ci_scientist_died_count", + "InputType":"text", + "ParamFieldName":"respawn_tickets_ci_scientist_died_count", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"tickets", + "EnumValues":{} + }, + { + "DisplayName":"CI Respawn Tickets SCP Item Count", + "Category":"SCP SL Spawn Settings", + "Description":"Sets the number of tickets CI get when a Class D or Chaos Insurgent uses an SCP item. Specify \"default\" instead of a number to use the default set by the server", + "Keywords":"respawn,tickets,ci,scp,item,count,respawn_tickets_ci_scp_item_count", + "FieldName":"respawn_tickets_ci_scp_item_count", + "InputType":"text", + "ParamFieldName":"respawn_tickets_ci_scp_item_count", + "DefaultValue":"default", + "Placeholder":"default", + "Suffix":"tickets", + "EnumValues":{} + } +] diff --git a/scp-secret-laboratorymetaconfig.json b/scp-secret-laboratorymetaconfig.json new file mode 100644 index 000000000..e81ca5f85 --- /dev/null +++ b/scp-secret-laboratorymetaconfig.json @@ -0,0 +1,16 @@ +[ + { + "ConfigFile":"AppData/config/{{$GamePort}}/config_gameplay.txt", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormat":"{0}: {1}", + "ConfigFormatRegex":"^(?<key>.+?): (?<value>.*?)$" + }, + { + "ConfigFile":"AppData/config/{{$GamePort}}/config_remoteadmin.txt", + "AutoMap":true, + "ConfigType":"kvp", + "ConfigFormat":"{0}: {1}", + "ConfigFormatRegex":"^(?<key>.+?): (?<value>.*?)$" + } +] \ No newline at end of file diff --git a/scp-secret-laboratoryupdates.json b/scp-secret-laboratoryupdates.json new file mode 100644 index 000000000..1ed0f984b --- /dev/null +++ b/scp-secret-laboratoryupdates.json @@ -0,0 +1,39 @@ +[ + { + "UpdateStageName":"SteamCMD Server Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"996560", + "UpdateSourceArgs":"700330" + }, + { + "UpdateStageName":"Config Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}AppData/config/{{$GamePort}}" + }, + { + "UpdateStageName":"Gameplay Config Template Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}AppData/config/{{$GamePort}}/config_gameplay.txt", + "UpdateSourceArgs":"{{$FullBaseDir}}ConfigTemplates/config_gameplay.template.txt", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Remoteadmin Config Template Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}AppData/config/{{$GamePort}}/config_remoteadmin.txt", + "UpdateSourceArgs":"{{$FullBaseDir}}ConfigTemplates/config_remoteadmin.template.txt", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Hoster Policy File Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateFile", + "UpdateSourceData":"gamedir_for_configs: true", + "UpdateSourceArgs":"{{$FullBaseDir}}hoster_policy.txt", + "OverwriteExistingFiles":true + } +] \ No newline at end of file From f8353d8d8b4b0ec627348a6d2f7ed3efc86044d1 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 2 Sep 2023 08:10:06 +1000 Subject: [PATCH 266/318] Fix regex (#453) --- scp-secret-laboratory.kvp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scp-secret-laboratory.kvp b/scp-secret-laboratory.kvp index b4cd0ee82..cbfcba319 100644 --- a/scp-secret-laboratory.kvp +++ b/scp-secret-laboratory.kvp @@ -84,9 +84,9 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=\[\d+m Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[[\d-]+ [\d:.]+ \+[\d:]+\] Waiting for players\.\.\.$ -Console.UserJoinRegex=^\[[\d-]+ [\d:.]+ \+[\d:]+\] Nickname of (?<userid>.+?)@steam is now (?<username>.+?)\.$ -Console.UserLeaveRegex=^\[[\d-]+ [\d:.]+ \+[\d:]+\] (?<username>.+?) \((?<userid>.+?)@steam\) disconnected from IP address (?<endpoint>.+?)\. Last class: (?:.*?)\.$ +Console.AppReadyRegex=^\[[\d-]+ [\d:.]+ (\+|-)[\d:]+\] Waiting for players\.\.\.$ +Console.UserJoinRegex=^\[[\d-]+ [\d:.]+ (\+|-)[\d:]+\] Nickname of (?<userid>.+?)@steam is now (?<username>.+?)\.$ +Console.UserLeaveRegex=^\[[\d-]+ [\d:.]+ (\+|-)[\d:]+\] (?<username>.+?) \((?<userid>.+?)@steam\) disconnected from IP address (?<endpoint>.+?)\. Last class: (?:.*?)\.$ Console.UserChatRegex=^$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ Console.MetricsRegex= From d5011e64754682a0a306042621d4ce21ebdc2a74 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 4 Sep 2023 11:29:56 +1000 Subject: [PATCH 267/318] SCP:SL: fix console input issue on Windows (#455) --- scp-secret-laboratory.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scp-secret-laboratory.kvp b/scp-secret-laboratory.kvp index cbfcba319..5f0e15a9b 100644 --- a/scp-secret-laboratory.kvp +++ b/scp-secret-laboratory.kvp @@ -33,7 +33,7 @@ App.ExecutableLinux=996560/LocalAdmin App.WorkingDir=996560 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$GamePort}} --useDefault --skipHomeCheck {{CustomLocalAdminArgs}} -- -silent-crashes {{CustomServerArgs}} -logFile {{$FormattedArgs}} +App.CommandLineArgs={{$PlatformArgs}} {{$GamePort}} --useDefault --skipHomeCheck --noSetCursor {{CustomLocalAdminArgs}} -- -silent-crashes {{CustomServerArgs}} -logFile {{$FormattedArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"700330"} From 66c2840ee8955d35aa716f188f46f53ca2907288 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 5 Sep 2023 14:53:54 +1000 Subject: [PATCH 268/318] Remove deprecated settings (#456) --- scp-secret-laboratoryconfig.json | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/scp-secret-laboratoryconfig.json b/scp-secret-laboratoryconfig.json index 9c14bd28b..0678d8059 100644 --- a/scp-secret-laboratoryconfig.json +++ b/scp-secret-laboratoryconfig.json @@ -138,34 +138,6 @@ "True":"true" } }, - { - "DisplayName":"Set As Custom Gamemode Server", - "Category":"SCP SL Server Settings", - "Description":"If set, the server will be set as a Custom Gamemode Server. ONLY enable this if the server is verified and satisfies the requirements for Custom Gamemode Servers in the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf)", - "Keywords":"public,server,custom,gamemode,custom_gamemode_server", - "FieldName":"custom_gamemode_server", - "InputType":"checkbox", - "ParamFieldName":"custom_gamemode_server", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Set As Heavily Modded Server", - "Category":"SCP SL Server Settings", - "Description":"If set, the server will be set as a Heavily Modded Server. ONLY enable this if the server is verified and satisfies the requirements for Heavily Modded Servers in the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf)", - "Keywords":"public,server,heavily,modded,heavily_modded_server", - "FieldName":"heavily_modded_server", - "InputType":"checkbox", - "ParamFieldName":"heavily_modded_server", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, { "DisplayName":"Player Limit", "Category":"SCP SL Server Settings", From a3d37765942abaf3bc98171b8f7882e9f866c7df Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 5 Sep 2023 22:23:13 +1000 Subject: [PATCH 269/318] Valheim: remove defunct V+ source (#457) --- valheimconfig.json | 17 +---------------- valheimupdates.json | 4 ++-- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/valheimconfig.json b/valheimconfig.json index 5a4203f5c..250934dde 100644 --- a/valheimconfig.json +++ b/valheimconfig.json @@ -118,7 +118,7 @@ },{ "DisplayName":"Install Valheim Plus", "Category":"SteamCMD and Updates", - "Description":"Installs Valheim Plus. Includes BepInEx. You can specify the desired \"Valheim Plus Source\" in the next field. NOTE: Update the server after enabling this option.", + "Description":"Installs Valheim Plus. Includes BepInEx. NOTE: Update the server after enabling this option.", "Keywords":"Install,Valheim,Plus", "FieldName":"valheim_plus_install", "InputType":"checkbox", @@ -130,21 +130,6 @@ "False": "false", "True": "true" } - },{ - "DisplayName":"Valheim Plus Source", - "Category":"SteamCMD and Updates", - "Description":"The desired GitHub repository from which to download Valheim Plus. NOTE: Update the server after editing this option.", - "Keywords":"Install,Valheim,Plus,Source,Repo", - "FieldName":"valheim_plus_source", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"valheim_plus_source", - "IncludeInCommandLine":false, - "DefaultValue":"valheimPlus", - "EnumValues":{ - "valheimPlus":"Original valheimPlus repo (default)", - "Grantapher":"Forked Grantapher repo" - } },{ "DisplayName":"Please Read!", "Category":"Valheim Plus - Basic Settings", diff --git a/valheimupdates.json b/valheimupdates.json index 5ffcd4028..8323a61c6 100644 --- a/valheimupdates.json +++ b/valheimupdates.json @@ -55,7 +55,7 @@ "UpdateStageName": "Fetch ValheimPlus from Github - Windows", "UpdateSourcePlatform": "Windows", "UpdateSource": "GithubRelease", - "UpdateSourceArgs": "{{valheim_plus_source}}/ValheimPlus", + "UpdateSourceArgs": "Grantapher/ValheimPlus", "UpdateSourceData": "WindowsServer.zip", "UpdateSourceConditionSetting": "valheim_plus_install", "UpdateSourceConditionValue": "true", @@ -66,7 +66,7 @@ "UpdateStageName": "Fetch ValheimPlus from Github - Linux", "UpdateSourcePlatform": "Linux", "UpdateSource": "GithubRelease", - "UpdateSourceArgs": "{{valheim_plus_source}}/ValheimPlus", + "UpdateSourceArgs": "Grantapher/ValheimPlus", "UpdateSourceData": "UnixServer.zip", "UpdateSourceConditionSetting": "valheim_plus_install", "UpdateSourceConditionValue": "true", From c7fc92dd3e44c4ca9a7512f9c4577310be9d36ba Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Sun, 10 Sep 2023 02:26:31 -0500 Subject: [PATCH 270/318] Add BeamMP (#414) * Add BeamMP This PR is on hold until either liblua5.3-0 is added to the ampbase image, or `Meta.DockerContainerPacakges` is implemented. * Update beammpconfig.json * Adjustments for Debian 12 * Metaconfig and binary changes * Add Greelan * Changes for binary downloads and setting enhancements * Update beammpconfig.json * Update beammpupdates.json * Update beammpconfig.json * Update beammp.kvp * Update beammpconfig.json * Make symlink relative (local) * Update server description default * Update beammpconfig.json * Update beammpconfig.json * Update source --------- Co-authored-by: Greelan <53196309+Greelan@users.noreply.github.com> --- beammp.kvp | 89 +++++++++++++ beammpServerConfig.toml | 25 ++++ beammpconfig.json | 281 ++++++++++++++++++++++++++++++++++++++++ beammpmetaconfig.json | 16 +++ beammpports.json | 16 +++ beammpupdates.json | 51 ++++++++ 6 files changed, 478 insertions(+) create mode 100644 beammp.kvp create mode 100644 beammpServerConfig.toml create mode 100644 beammpconfig.json create mode 100644 beammpmetaconfig.json create mode 100644 beammpports.json create mode 100644 beammpupdates.json diff --git a/beammp.kvp b/beammp.kvp new file mode 100644 index 000000000..b90bce6ac --- /dev/null +++ b/beammp.kvp @@ -0,0 +1,89 @@ +Meta.DisplayName=BeamMP +Meta.Description=BeamMP Dedicated Server +Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown +Meta.Arch=x86_64 +Meta.Author=IceOfWraith, Greelan +Meta.URL=https://beammp.com/ +Meta.DisplayImageSource=steam:284160 +Meta.EndpointURIFormat= +Meta.ConfigManifest=beammpconfig.json +Meta.MetaConfigManifest=beammpmetaconfig.json +Meta.ConfigRoot=beammp.kvp +Meta.MinAMPVersion=2.4.5.4 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicyReason=The default executable on Linux is built for Ubuntu 22.04 and works also on Debian 12. For this reason, it's recommended to run the server in Docker. +Meta.ExtraSetupStepsURI= +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=BeamMP +App.RootDir=./beammp/ +App.BaseDirectory=./beammp/serverfiles/ +App.ExecutableWin=serverfiles\BeamMP-Server.exe +App.ExecutableLinux=serverfiles/BeamMP-Server +App.WorkingDir=serverfiles +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False +App.EnvironmentVariables={} +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=@IncludeJson[beammpports.json] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=MainGamePort +App.UniversalSleepApplicationUDPPortRef=0 +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=8 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=False +App.RemoteAdminPassword= +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.LoginTransformPrefix= +App.RCONConnectDelaySeconds=30 +App.RCONConnectRetrySeconds=15 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[beammpupdates.json] +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex=^.*[[\d\s:\/]+\]\s +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+ +Console.AppReadyRegex=^.*\[INFO\] ALL SYSTEMS STARTED SUCCESSFULLY, EVERYTHING IS OKAY|.*\[ERROR\] No AuthKey specified in the \"ServerConfig\.toml\" file\. Please get an AuthKey, enter it into the config file, and restart this server\.$ +Console.UserJoinRegex=^.*\[INFO\] (?<username>.+?) is now synced!$ +Console.UserLeaveRegex=^.*\[INFO\] (?<username>.+?) Connection Terminated$ +Console.UserChatRegex=^.*\[CHAT\] \(\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 diff --git a/beammpServerConfig.toml b/beammpServerConfig.toml new file mode 100644 index 000000000..7ea12fada --- /dev/null +++ b/beammpServerConfig.toml @@ -0,0 +1,25 @@ +[HTTP] +HTTPServerEnabled = false +UseSSL = false +HTTPServerIP = "0.0.0.0" +HTTPServerPort = 30815 +SSLCertPath = "./.ssl/HttpServer/cert.pem" +SSLKeyPath = "./.ssl/HttpServer/key.pem" + +[Misc] +SendErrorsShowMessage = true +SendErrors = true +ImScaredOfUpdates = false + +[General] +Description = "A BeamMP server" +ResourceFolder = "Resources" +Map = "/levels/gridmap_v2/info.json" +MaxPlayers = 8 +Port = 30814 +Private = true +Debug = false +Name = "AMP Powered BeamMP Server" +LogChat = true +MaxCars = 1 +AuthKey = "" \ No newline at end of file diff --git a/beammpconfig.json b/beammpconfig.json new file mode 100644 index 000000000..8a9b013e2 --- /dev/null +++ b/beammpconfig.json @@ -0,0 +1,281 @@ +[ + { + "DisplayName":"Linux Server Version", + "Category":"BeamMP - Server Settings", + "Description":"Sets the server version to install on Linux, based on the host system. Use \"Ubuntu 22.04/Debian 12\" if using AMP's Docker. NOTE: Update the server after changing this setting", + "Keywords":"server,version", + "FieldName":"ServerVersion", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"ServerVersion", + "IncludeInCommandLine":false, + "DefaultValue":"linux", + "EnumValues":{ + "linux":"Ubuntu 22.04/Debian 12 (default)", + "ubuntu-20.04":"Ubuntu 20.04", + "debian-11":"Debian 11", + "archlinux":"Arch Linux" + } + }, + { + "DisplayName": "Auth Key", + "Category": "BeamMP - Server Settings", + "Description": "The auth key for your server can be obtained from [Keymaster](https://beammp.com/keymaster). This is required for the server to start.", + "Keywords": "auth,key,authkey", + "FieldName": "AuthKey", + "InputType": "text", + "ParamFieldName": "General.AuthKey", + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Server Name", + "Category": "BeamMP - Server Settings", + "Description": "The name of the server as shown in the server list (if the server is public). You can use [special characters](https://wiki.beammp.com/en/home/server-maintenance#customize-the-look-of-your-server-name) to format this with colors and styles.", + "Keywords": "server,name", + "FieldName": "Name", + "InputType": "text", + "ParamFieldName": "General.Name", + "DefaultValue": "AMP Powered BeamMP Server", + "Placeholder": "AMP Powered BeamMP Server", + "EnumValues": {} + }, + { + "DisplayName": "Server Description", + "Category": "BeamMP - Server Settings", + "Description": "The description for the server as shown in the server list (if the server is public). You can use [special characters](https://wiki.beammp.com/en/home/server-maintenance#customize-the-look-of-your-server-name) to format this with colors and styles.", + "Keywords": "description", + "FieldName": "Description", + "InputType": "text", + "ParamFieldName": "General.Description", + "DefaultValue": "A BeamMP server", + "Placeholder": "A BeamMP server", + "EnumValues": {} + }, + { + "DisplayName": "Port", + "Category": "BeamMP - Server Settings", + "Description": "The main game port", + "Keywords": "", + "FieldName": "$MainGamePort", + "InputType": "number", + "ParamFieldName": "General.Port", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "Make Server Private", + "Category": "BeamMP - Server Settings", + "Description": "When enabled, your server will not be shown in the server list. Anyone with the correct IP and port can still connect.", + "Keywords": "private", + "FieldName": "Private", + "InputType": "checkbox", + "ParamFieldName": "General.Private", + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Map", + "Category": "BeamMP - Server Settings", + "Description": "The map to load. If Custom is selected, Custom Map Name must also be set.", + "Keywords": "map", + "FieldName": "Map", + "InputType": "text", + "ParamFieldName": "General.Map", + "DefaultValue": "/levels/gridmap_v2/info.json", + "EnumValues": { + "/levels/automation_test_track/info.json": "Automation Test Track", + "/levels/derby/info.json": "Derby", + "/levels/driver_training/info.json": "Driver Training", + "/levels/east_coast_usa/info.json": "East Coast USA", + "/levels/gridmap_v2/info.json": "Gridmap V2 (default)", + "/levels/hirochi_raceway/info.json": "Hirochi Raceway", + "/levels/industrial/info.json": "Industrial", + "/levels/italy/info.json": "Italy", + "/levels/johnson_valley/info.json": "Johnson Valley", + "/levels/jungle_rock_island/info.json": "Jungle Rock Island", + "/levels/small_island/info.json": "Small Island", + "/levels/smallgrid/info.json": "Smallgrid", + "/levels/utah/info.json": "Utah", + "/levels/west_coast_usa/info.json": "West Coast USA", + "{{CustomMap}}": "--Custom--" + } + }, + { + "DisplayName":"Custom Map Name", + "Category":"BeamMP - Server Settings", + "Description":"Sets a custom map for the server. Custom type must be selected under \"Map\", and the map must be installed in Resources/Client.", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"/levels/minato_rock_crawling/info.json", + "EnumValues":{} + }, + { + "DisplayName": "Max Players", + "Category": "BeamMP - Server Settings", + "Description": "The maximum number of players on the server at one time.", + "Keywords": "max,players,maxplayers", + "FieldName": "$MaxUsers", + "InputType": "number", + "ParamFieldName": "General.MaxPlayers", + "DefaultValue": "8", + "Placeholder": "8", + "Suffix": "players", + "EnumValues": {} + }, + { + "DisplayName": "Max Cars Per Player", + "Category": "BeamMP - Server Settings", + "Description": "The maximum number of cars allowed per player. Any additional cars a player tries to spawn will be deleted instantly.", + "Keywords": "max,cars,maxcars", + "FieldName": "MaxCars", + "InputType": "number", + "ParamFieldName": "General.MaxCars", + "DefaultValue": "1", + "Placeholder": "1", + "MinValue": "1", + "Suffix": "cars", + "EnumValues": {} + }, + { + "DisplayName": "Resource Folder", + "Category": "BeamMP - Server Settings", + "Description": "The folder for Resources inside the datastore.", + "Keywords": "", + "FieldName": "ResourceFolder", + "InputType": "text", + "ParamFieldName": "General.ResourceFolder", + "DefaultValue": "Resources", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "Log Chat Messages", + "Category": "BeamMP - Server Settings", + "Description": "Whether to log chat messages in the console and log.", + "Keywords": "log,chat,logging,logchat", + "FieldName": "LogChat", + "InputType": "checkbox", + "ParamFieldName": "General.LogChat", + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Debug Logging", + "Category": "BeamMP - Server Settings", + "Description": "Turn on debug logging. Enabling this will drastically increase the size of the log file.", + "Keywords": "debug,log,logging", + "FieldName": "Debug", + "InputType": "checkbox", + "ParamFieldName": "General.Debug", + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Hide Update Messages", + "Category": "BeamMP - Server Settings", + "Description": "Hides the periodic update message which notifies you of a new server version. Recommended to keep this setting disabled and always update as soon as possible.", + "Keywords": "hide,updates,message,imscaredofupdates", + "FieldName": "ImScaredOfUpdates", + "InputType": "checkbox", + "ParamFieldName": "Misc.ImScaredOfUpdates", + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Send Errors", + "Category": "BeamMP - Server Settings", + "Description": "If enabled, the server will send info about crashes and other issues to the BeamMP devs. This may include your config, who is on your server at the time of the error, and similar general information. This has no impact on server performance.", + "Keywords": "send,errors,senderrors", + "FieldName": "SendErrors", + "InputType": "checkbox", + "ParamFieldName": "Misc.SendErrors", + "DefaultValue": "true", + "Placeholder": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Enable Send Errors Message", + "Category": "BeamMP - Server Settings", + "Description": "If enabled, the Send Errors message will show on startup.", + "Keywords": "send,errors,show,message,senderrorsshowmessage", + "FieldName": "SendErrorsShowMessage", + "InputType": "checkbox", + "ParamFieldName": "Misc.SendErrorsShowMessage", + "DefaultValue": "true", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "HTTPServerIP", + "Category": "BeamMP - Server Settings", + "Description": "The binding IP for the HTTP webserver.", + "Keywords": "", + "FieldName": "$ApplicationIPBinding", + "InputType": "text", + "ParamFieldName": "HTTP.HTTPServerIP", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "HTTPServerPort", + "Category": "BeamMP - Server Settings", + "Description": "The port used for the HTTP webserver.", + "Keywords": "", + "FieldName": "$HTTPServerPort", + "InputType": "number", + "ParamFieldName": "HTTP.HTTPServerPort", + "Hidden": true, + "EnumValues": {} + }, + { + "DisplayName": "Enable HTTP Server", + "Category": "BeamMP - Server Settings", + "Description": "Enables the internal HTTP server.", + "Keywords": "http,server,enabled,httpserverenabled", + "FieldName": "HTTPServerEnabled", + "InputType": "checkbox", + "ParamFieldName": "HTTP.HTTPServerEnabled", + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Use SSL For HTTP Server", + "Category": "BeamMP - Server Settings", + "Description": "Recommended to have enabled for servers which face the internet. With SSL the server will serve https and requires valid key and cert files. Key and cert files should be stored in \".ssl/HttpServer/key.pem\" and \".ssl/HttpServer/cert.pem\" in the instance datastore.", + "Keywords": "use,ssl,usessl", + "FieldName": "UseSSL", + "InputType": "checkbox", + "ParamFieldName": "HTTP.UseSSL", + "DefaultValue": "false", + "EnumValues": { + "True": "true", + "False": "false" + } + } +] \ No newline at end of file diff --git a/beammpmetaconfig.json b/beammpmetaconfig.json new file mode 100644 index 000000000..b917ee18a --- /dev/null +++ b/beammpmetaconfig.json @@ -0,0 +1,16 @@ +[ + { + "ConfigFile": "ServerConfig.toml", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormat": "{0} = \"{1}\"", + "ConfigFormatRegex": "^(?<key>.+?) = \"(?<value>.*?)\"$" + }, + { + "ConfigFile": "ServerConfig.toml", + "AutoMap": true, + "ConfigType": "ini", + "ConfigFormat": "{0} = {1}", + "ConfigFormatRegex": "^(?<key>.+?) = (?<value>[^\"]*?)$" + } +] \ No newline at end of file diff --git a/beammpports.json b/beammpports.json new file mode 100644 index 000000000..fab1594e6 --- /dev/null +++ b/beammpports.json @@ -0,0 +1,16 @@ +[ + { + "Protocol": "Both", + "Port": "30814", + "Name": "Main Game Port", + "Description": "Port used for main game traffic", + "Ref": "MainGamePort" + }, + { + "Protocol": "TCP", + "Port": "30815", + "Name": "HTTP Server Port", + "Description": "Port used to access the HTTP webserver", + "Ref": "HTTPServerPort" + } +] \ No newline at end of file diff --git a/beammpupdates.json b/beammpupdates.json new file mode 100644 index 000000000..028d328cf --- /dev/null +++ b/beammpupdates.json @@ -0,0 +1,51 @@ +[ + { + "UpdateStageName":"Binary and Symlink Removal", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'rm {{$FullBaseDir}}BeamMP-Server*'" + }, + { + "UpdateStageName":"BeamMP Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"GithubRelease", + "UpdateSourceData":"BeamMP-Server.exe", + "UpdateSourceArgs":"BeamMP/BeamMP-Server", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"BeamMP Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"GithubRelease", + "UpdateSourceData":"BeamMP-Server-{{ServerVersion}}", + "UpdateSourceArgs":"BeamMP/BeamMP-Server", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Set Executable Flag", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"SetExecutableFlag", + "UpdateSourceArgs":"{{$FullBaseDir}}BeamMP-Server-{{ServerVersion}}" + }, + { + "UpdateStageName":"Binary Symlink Creation", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'cd ./beammp/serverfiles/ && ln -s BeamMP-Server-{{ServerVersion}} BeamMP-Server'" + }, + { + "UpdateStageName":"Config File Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/beammpServerConfig.toml", + "UpdateSourceTarget":"{{$FullBaseDir}}", + "UpdateSourceArgs":"ServerConfig.toml", + "OverwriteExistingFiles":false + } +] \ No newline at end of file From 6923ab0ffbbd4ed78f78c943ad1efbaff68e4a16 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 12 Sep 2023 17:02:18 +1000 Subject: [PATCH 271/318] FiveM, RedM, txAdmin --- InsurgencySS_Game.ini | 56 - README.md | 51 - american-truck-simulator.kvp | 95 - american-truck-simulator.sii | 33 - american-truck-simulatorconfig.json | 340 -- american-truck-simulatormetaconfig.json | 8 - american-truck-simulatorports.json | 16 - american-truck-simulatorupdates.json | 24 - ark-se.kvp | 89 - ark-seconfig.json | 2197 -------- ark-segame.ini | 80 - ark-selinux-gameusersettings.ini | 169 - ark-semetaconfig.json | 26 - ark-seupdates.json | 108 - ark-sewin-gameusersettings.ini | 169 - arma-reforger.kvp | 91 - arma-reforgerconfig.json | 494 -- arma-reforgermetaconfig.json | 25 - arma-reforgerserver.json | 41 - arma-reforgerupdates.json | 25 - arma3.kvp | 92 - arma3basic.cfg | 20 - arma3config.json | 1213 ----- arma3convertmods.sh | 4 - arma3metaconfig.json | 23 - arma3modscript.sh | 6 - arma3runhc.ps1 | 48 - arma3runhc.sh | 51 - arma3server.cfg | 116 - arma3updates.json | 131 - assetto-corsa-comp.kvp | 82 - assetto-corsa-compconfig.json | 447 -- assetto-corsa-compmetaconfig.json | 26 - assetto-corsa.kvp | 98 - assetto-corsaconfig.json | 672 --- assetto-corsametaconfig.json | 8 - assetto-corsaupdates.json | 96 - astroneer.kvp | 101 - astroneerconfig.json | 199 - astroneermetaconfig.json | 20 - astroneerupdates.json | 17 - avorion.kvp | 86 - avorionconfig.json | 215 - avorionmetaconfig.json | 8 - barotrauma.kvp | 91 - barotraumaconfig.json | 1145 ---- barotraumametaconfig.json | 7 - barotraumaserversettings.xml | 85 - barotraumaupdates.json | 31 - beammp.kvp | 89 - beammpServerConfig.toml | 25 - beammpconfig.json | 281 - beammpmetaconfig.json | 16 - beammpports.json | 16 - beammpupdates.json | 51 - blackwake.kvp | 88 - blackwakeconfig.json | 418 -- blackwakemetaconfig.json | 7 - broke-protocol.kvp | 85 - broke-protocolconfig.json | 98 - broke-protocolmetaconfig.json | 7 - call-of-duty4mw.kvp | 86 - call-of-duty4mwconfig.json | 478 -- call-of-duty4mwmetaconfig.json | 16 - call-of-duty4mwserver.cfg | 155 - call-of-dutymw3.kvp | 86 - call-of-dutymw3config.json | 212 - call-of-dutymw3metaconfig.json | 9 - carrier-command2.kvp | 82 - carrier-command2config.json | 158 - carrier-command2metaconfig.json | 7 - carrier-command2server_config.xml | 6 - conan-exiles.kvp | 95 - conan-exilesconfig.json | 213 - conan-exilesmetaconfig.json | 18 - conan-exilesupdates.json | 32 - core-keeper.kvp | 82 - core-keeperconfig.json | 158 - core-keepermetaconfig.json | 9 - core-keeperupdates.json | 31 - craftopia.kvp | 74 - craftopiaconfig.json | 394 -- craftopiametaconfig.json | 6 - craftopiaserversetting.ini | 87 - creativerse.kvp | 88 - creativerseconfig.json | 159 - creativerseconfig_world.json | 214 - creativersemetaconfig.json | 7 - creativerseupdates.json | 32 - day-of-dragons.kvp | 88 - day-of-dragonsconfig.json | 343 -- day-of-dragonsgame.ini | 21 - day-of-dragonsmetaconfig.json | 14 - dayz-experimental.kvp | 92 - dayz-experimentalconfig.json | 954 ---- dayz-experimentalconvertmods.sh | 4 - dayz-experimentalmetaconfig.json | 24 - dayz-experimentalmodscript.sh | 6 - dayz-experimentalserver.cfg | 78 - dayz-experimentalupdates.json | 35 - dayz-original.kvp | 91 - dayz-originalconfig.json | 954 ---- dayz-originalmetaconfig.json | 24 - dayz-originalserver.cfg | 78 - dayz-originalupdates.json | 26 - dont-starve-together.kvp | 42 - dont-starve-togetherconfig.json | 340 -- dont-starve-togethermetaconfig.json | 88 - eco.kvp | 76 - ecoconfig.json | 228 - ecometaconfig.json | 7 - empyrion-galactic-survival.kvp | 84 - empyrion-galactic-survivalconfig.json | 426 -- empyrion-galactic-survivalmetaconfig.json | 7 - empyrion-galactic-survivalports.json | 37 - empyrion-galactic-survivalupdates.json | 36 - empyriondedicated.yaml | 33 - euro-truck-simulator-2.kvp | 95 - euro-truck-simulator-2.sii | 33 - euro-truck-simulator-2config.json | 340 -- euro-truck-simulator-2metaconfig.json | 8 - euro-truck-simulator-2ports.json | 16 - euro-truck-simulator-2updates.json | 24 - exclusions/.backupExclusions7d2d1 | 37 - exclusions/.backupExclusionsArk1 | 17 - exclusions/.backupExclusionsArk2 | 5 - exclusions/.backupExclusionsEmpyrion1 | 17 - exclusions/.backupExclusionsTShock | 9 - exclusions/.backupExclusionsTerraria | 35 - fivem.kvp | 101 + fivemconfig.json | 418 ++ fivemmetaconfig.json | 8 + fivemserver.cfg | 32 + fivemupdates.json | 176 + foundry-vtt.kvp | 89 - foundry-vttconfig.json | 59 - foundry-vttmetaconfig.json | 7 - foundry-vttupdates.json | 74 - frozen-flame.kvp | 78 - frozen-flameconfig.json | 592 -- frozen-flamegame.ini | 53 - frozen-flamegamemodesurvive.ini | 16 - frozen-flameheavennormal.ini | 18 - frozen-flamemetaconfig.json | 38 - frozen-flameupdates.json | 82 - gatekeeperv2.kvp | 87 - gatekeeperv2config.json | 146 - gatekeeperv2metaconfig.json | 20 - gatekeepverv2updates.json | 25 - geyser.kvp | 87 - geyserconfig.json | 58 - geyserupdates.json | 91 - ground-branch.kvp | 100 - ground-branchconfig.json | 727 --- ground-branchmetaconfig.json | 30 - ground-branchserver.ini | 15 - ground-branchteamkill.ini | 4 - ground-branchupdates.json | 56 - ground-branchvote.ini | 30 - hurtworld.kvp | 59 - hurtworldconfig.json | 382 -- hurtworldmetaconfig.json | 9 - icarus.kvp | 87 - icarusconfig.json | 422 -- icarusmetaconfig.json | 8 - icarusserversettings.ini | 13 - impostor.kvp | 89 - impostorconfig.json | 213 - impostormetaconfig.json | 12 - impostorupdates.json | 156 - insurgencysandstorm.kvp | 41 - insurgencysandstormconfig.json | 1100 ---- insurgencysandstormmetaconfig.json | 25 - jc3mp.kvp | 87 - jc3mpconfig.json | 166 - jc3mpmetaconfig.json | 8 - jc3mpserverconfig.json | 16 - kaboom.kvp | 48 - kaboomconfig.json | 204 - killing-floor-2.kvp | 77 - killing-floor-2config.json | 256 - killing-floor-2metaconfig.json | 17 - last-oasis.kvp | 55 - last-oasisconfig.json | 55 - longvinter.kvp | 87 - longvinterconfig.json | 194 - longvintergame.ini | 15 - longvintermetaconfig.json | 12 - longvinterupdates.json | 45 - mindustry.kvp | 94 - mindustryconfig.json | 506 -- mindustryupdates.json | 89 - mordhau-config.json | 234 - mordhau-metaconfig.json | 12 - mordhau.kvp | 79 - nebulous-fleet-command.kvp | 94 - nebulous-fleet-commandconfig.json | 272 - ...ous-fleet-commanddedicatedserverconfig.xml | 107 - nebulous-fleet-commandmetaconfig.json | 7 - nebulous-fleet-commandupdates.json | 18 - necesse.kvp | 87 - necesseconfig.json | 133 - necessemetaconfig.json | 8 - necesseserverconfig.cfg | 11 - night-of-the-dead.kvp | 78 - night-of-the-deadconfig.json | 983 ---- night-of-the-deadmetaconfig.json | 14 - night-of-the-deadserversettings.ini | 119 - no-one-survived.kvp | 92 - no-one-survivedconfig.json | 394 -- no-one-survivedmetaconfig.json | 12 - node.kvp | 89 - nodeconfig.json | 150 - nodeupdates.json | 146 - openttd.kvp | 87 - openttdconfig.json | 1955 ------- openttdmetaconfig.json | 24 - openttdopenttd.cfg | 468 -- openttdprivate.cfg | 15 - openttdsecrets.cfg | 12 - openttdupdates.json | 44 - path-of-titans.kvp | 79 - path-of-titansconfig.json | 1255 ----- path-of-titansmetaconfig.json | 40 - path-of-titansupdates.json | 84 - pavlov-vr.kvp | 98 - pavlov-vrconfig.json | 300 -- pavlov-vrconfigfile.ini | 19 - pavlov-vrmetaconfig.json | 22 - pavlov-vrupdates.json | 47 - portal-knights.kvp | 84 - portal-knightsconfig.json | 438 -- portal-knightsmetaconfig.json | 7 - portal-knightsserver_config.json | 45 - post-scriptum.kvp | 88 - post-scriptumconfig.json | 316 -- post-scriptummetaconfig.json | 8 - project-zomboid.kvp | 88 - project-zomboidconfig.json | 962 ---- project-zomboidmetaconfig.json | 8 - project5-sightseer.kvp | 87 - project5-sightseerconfig.json | 61 - quake3-arenabase.cfg | 42 - quake3-arenaconfig.json | 657 --- quake3-arenametaconfig.json | 30 - quake3-arenaserver.cfg | 45 - quake3-arenaupdates.json | 100 - quake3-arena.kvp => redm.kvp | 66 +- redmconfig.json | 413 ++ redmmetaconfig.json | 8 + redmserver.cfg | 32 + redmupdates.json | 176 + risk-of-rain-2.kvp | 85 - risk-of-rain-2config.json | 170 - risk-of-rain-2metaconfig.json | 8 - risk-of-rain-2server.cfg | 13 - risk-of-rain-2updates.json | 65 - satisfactory.kvp | 100 - satisfactoryconfig.json | 173 - satisfactorymetaconfig.json | 1 - satisfactoryupdates.json | 59 - scp-secret-laboratory.kvp | 101 - scp-secret-laboratoryconfig.json | 1248 ----- scp-secret-laboratorymetaconfig.json | 16 - scp-secret-laboratoryupdates.json | 39 - ...ys-settings-undead-legacy-experimental.xml | 208 - seven-days-settings-undead-legacy-stable.xml | 208 - seven-days-settings184.xml | 174 - seven-days-settings196.xml | 178 - seven-days-settings200-203.xml | 188 - seven-days-settings204.xml | 192 - seven-days-settings210.xml | 202 - seven-days-to-die.kvp | 78 - seven-days-to-dieconfig.json | 1408 ----- seven-days-to-diemetaconfig.json | 7 - seven-days-to-dieupdates.json | 154 - sons-of-the-forest.kvp | 90 - sons-of-the-forestconfig.json | 596 --- sons-of-the-forestdedicatedserver.cfg | 42 - sons-of-the-forestmetaconfig.json | 7 - sons-of-the-forestports.json | 23 - sons-of-the-forestupdates.json | 41 - space-engineers-dedicated.cfg | 184 - space-engineers-generic.kvp | 98 - space-engineers-genericconfig.json | 2520 --------- space-engineers-genericmetaconfig.json | 12 - space-engineers-genericupdates.json | 74 - space-engineers-genericwinescript.sh | 33 - squad-dedicated-server.kvp | 43 - squad-dedicated-serverconfig.json | 413 -- squad-dedicated-servermetaconfig.json | 14 - starbound.kvp | 83 - starbound_server.config | 50 - starboundconfig.json | 143 - starboundmetaconfig.json | 7 - starmade.kvp | 36 - starmadeconfig.json | 15 - stationeers.kvp | 75 - stationeersconfig.json | 275 - stationeersmetaconfig.json | 7 - staxel.kvp | 98 - staxelconfig.json | 169 - staxelmetaconfig.json | 1 - staxelupdates.json | 17 - sven-co-op.kvp | 36 - sven-co-opconfig.json | 1901 ------- sven-co-opmetaconfig.json | 149 - teamspeak3.kvp | 74 - teamspeak3config.json | 489 -- teamspeak3metaconfig.json | 8 - teamspeak3server.ini | 37 - terraria.kvp | 63 - terrariaconfig.json | 505 -- terrariametaconfig.json | 8 - terrariaserverconfig.txt | 98 - the-forest.kvp | 88 - the-forestconfig.json | 383 -- the-forestmetaconfig.json | 9 - the-forestserver.cfg | 55 - theisle-evrima.kvp | 75 - theisle-evrimaconfig.json | 186 - theisle-evrimagame.ini | 21 - theisle-evrimametaconfig.json | 26 - theisle-legacy.kvp | 79 - theisle-legacyconfig.json | 523 -- theisle-legacygame.ini | 49 - theisle-legacymetaconfig.json | 33 - tmodloader.kvp | 61 - tmodloader14.kvp | 61 - tmodloader14config.json | 538 -- tmodloader14metaconfig.json | 8 - tmodloader14serverconfig.txt | 102 - tmodloader14updates.json | 61 - tmodloaderconfig.json | 310 -- tmodloadermetaconfig.json | 8 - tmodloaderserverconfig.txt | 85 - tmodloaderupdates.json | 43 - tshock.kvp | 98 - tshockconfig.json | 2363 -------- tshockmetaconfig.json | 20 - tshockserverconfig.json | 148 - tshockupdates.json | 119 - txadmin.kvp | 101 + txadminconfig.json | 31 + ...rmetaconfig.json => txadminmetaconfig.json | 0 txadminupdates.json | 146 + unturned.kvp | 89 - unturnedconfig.json | 326 -- unturnedconfigfile.dat | 14 - unturnedmetaconfig.json | 20 - unturnedupdates.json | 61 - unturnedworkshopconfig.json | 11 - ut2004.kvp | 86 - ut2004config.json | 1134 ---- ut2004metaconfig.json | 7 - ut99.kvp | 86 - ut99UnrealTournament.ini | 754 --- ut99config.json | 812 --- ut99metaconfig.json | 12 - v-rising.kvp | 86 - v-risingconfig.json | 406 -- v-risingmetaconfig.json | 33 - v-risingports.json | 32 - v-risingupdates.json | 61 - valheim.kvp | 47 - valheimconfig.json | 4751 ----------------- valheimmetaconfig.json | 16 - valheimupdates.json | 87 - veloren.kvp | 86 - velorenconfig.json | 72 - velorenmetaconfig.json | 8 - velorensettings.ron | 41 - velorenupdates.json | 60 - vintage-story-new.kvp | 86 - vintage-story-newconfig.json | 148 - vintage-story-newmetaconfig.json | 7 - vintage-story-newupdates.json | 83 - vintage-story.kvp | 86 - vintage-storyconfig.json | 182 - vintage-storymetaconfig.json | 7 - windward.kvp | 87 - windwardconfig.json | 60 - windwardmetaconfig.json | 1 - wreckfest.kvp | 82 - wreckfestconfig.json | 623 --- wreckfestmetaconfig.json | 8 - wurm-unlimited.kvp | 77 - wurm-unlimitedconfig.json | 228 - wurm-unlimitedmetaconfig.json | 7 - xonotic.kvp | 60 - xonoticconfig.json | 215 - xonoticmetaconfig.json | 9 - xonoticserver.cfg | 216 - 393 files changed, 1675 insertions(+), 66969 deletions(-) delete mode 100644 InsurgencySS_Game.ini delete mode 100644 README.md delete mode 100644 american-truck-simulator.kvp delete mode 100644 american-truck-simulator.sii delete mode 100644 american-truck-simulatorconfig.json delete mode 100644 american-truck-simulatormetaconfig.json delete mode 100644 american-truck-simulatorports.json delete mode 100644 american-truck-simulatorupdates.json delete mode 100644 ark-se.kvp delete mode 100644 ark-seconfig.json delete mode 100644 ark-segame.ini delete mode 100644 ark-selinux-gameusersettings.ini delete mode 100644 ark-semetaconfig.json delete mode 100644 ark-seupdates.json delete mode 100644 ark-sewin-gameusersettings.ini delete mode 100644 arma-reforger.kvp delete mode 100644 arma-reforgerconfig.json delete mode 100644 arma-reforgermetaconfig.json delete mode 100644 arma-reforgerserver.json delete mode 100644 arma-reforgerupdates.json delete mode 100644 arma3.kvp delete mode 100644 arma3basic.cfg delete mode 100644 arma3config.json delete mode 100644 arma3convertmods.sh delete mode 100644 arma3metaconfig.json delete mode 100644 arma3modscript.sh delete mode 100644 arma3runhc.ps1 delete mode 100644 arma3runhc.sh delete mode 100644 arma3server.cfg delete mode 100644 arma3updates.json delete mode 100644 assetto-corsa-comp.kvp delete mode 100644 assetto-corsa-compconfig.json delete mode 100644 assetto-corsa-compmetaconfig.json delete mode 100644 assetto-corsa.kvp delete mode 100644 assetto-corsaconfig.json delete mode 100644 assetto-corsametaconfig.json delete mode 100644 assetto-corsaupdates.json delete mode 100644 astroneer.kvp delete mode 100644 astroneerconfig.json delete mode 100644 astroneermetaconfig.json delete mode 100644 astroneerupdates.json delete mode 100644 avorion.kvp delete mode 100644 avorionconfig.json delete mode 100644 avorionmetaconfig.json delete mode 100644 barotrauma.kvp delete mode 100644 barotraumaconfig.json delete mode 100644 barotraumametaconfig.json delete mode 100644 barotraumaserversettings.xml delete mode 100644 barotraumaupdates.json delete mode 100644 beammp.kvp delete mode 100644 beammpServerConfig.toml delete mode 100644 beammpconfig.json delete mode 100644 beammpmetaconfig.json delete mode 100644 beammpports.json delete mode 100644 beammpupdates.json delete mode 100644 blackwake.kvp delete mode 100644 blackwakeconfig.json delete mode 100644 blackwakemetaconfig.json delete mode 100644 broke-protocol.kvp delete mode 100644 broke-protocolconfig.json delete mode 100644 broke-protocolmetaconfig.json delete mode 100644 call-of-duty4mw.kvp delete mode 100644 call-of-duty4mwconfig.json delete mode 100644 call-of-duty4mwmetaconfig.json delete mode 100644 call-of-duty4mwserver.cfg delete mode 100644 call-of-dutymw3.kvp delete mode 100644 call-of-dutymw3config.json delete mode 100644 call-of-dutymw3metaconfig.json delete mode 100644 carrier-command2.kvp delete mode 100644 carrier-command2config.json delete mode 100644 carrier-command2metaconfig.json delete mode 100644 carrier-command2server_config.xml delete mode 100644 conan-exiles.kvp delete mode 100644 conan-exilesconfig.json delete mode 100644 conan-exilesmetaconfig.json delete mode 100644 conan-exilesupdates.json delete mode 100644 core-keeper.kvp delete mode 100644 core-keeperconfig.json delete mode 100644 core-keepermetaconfig.json delete mode 100644 core-keeperupdates.json delete mode 100644 craftopia.kvp delete mode 100644 craftopiaconfig.json delete mode 100644 craftopiametaconfig.json delete mode 100644 craftopiaserversetting.ini delete mode 100644 creativerse.kvp delete mode 100644 creativerseconfig.json delete mode 100644 creativerseconfig_world.json delete mode 100644 creativersemetaconfig.json delete mode 100644 creativerseupdates.json delete mode 100644 day-of-dragons.kvp delete mode 100644 day-of-dragonsconfig.json delete mode 100644 day-of-dragonsgame.ini delete mode 100644 day-of-dragonsmetaconfig.json delete mode 100644 dayz-experimental.kvp delete mode 100644 dayz-experimentalconfig.json delete mode 100644 dayz-experimentalconvertmods.sh delete mode 100644 dayz-experimentalmetaconfig.json delete mode 100644 dayz-experimentalmodscript.sh delete mode 100644 dayz-experimentalserver.cfg delete mode 100644 dayz-experimentalupdates.json delete mode 100644 dayz-original.kvp delete mode 100644 dayz-originalconfig.json delete mode 100644 dayz-originalmetaconfig.json delete mode 100644 dayz-originalserver.cfg delete mode 100644 dayz-originalupdates.json delete mode 100644 dont-starve-together.kvp delete mode 100644 dont-starve-togetherconfig.json delete mode 100644 dont-starve-togethermetaconfig.json delete mode 100644 eco.kvp delete mode 100644 ecoconfig.json delete mode 100755 ecometaconfig.json delete mode 100644 empyrion-galactic-survival.kvp delete mode 100644 empyrion-galactic-survivalconfig.json delete mode 100644 empyrion-galactic-survivalmetaconfig.json delete mode 100644 empyrion-galactic-survivalports.json delete mode 100644 empyrion-galactic-survivalupdates.json delete mode 100644 empyriondedicated.yaml delete mode 100644 euro-truck-simulator-2.kvp delete mode 100644 euro-truck-simulator-2.sii delete mode 100644 euro-truck-simulator-2config.json delete mode 100644 euro-truck-simulator-2metaconfig.json delete mode 100644 euro-truck-simulator-2ports.json delete mode 100644 euro-truck-simulator-2updates.json delete mode 100644 exclusions/.backupExclusions7d2d1 delete mode 100644 exclusions/.backupExclusionsArk1 delete mode 100644 exclusions/.backupExclusionsArk2 delete mode 100644 exclusions/.backupExclusionsEmpyrion1 delete mode 100644 exclusions/.backupExclusionsTShock delete mode 100644 exclusions/.backupExclusionsTerraria create mode 100644 fivem.kvp create mode 100644 fivemconfig.json create mode 100644 fivemmetaconfig.json create mode 100644 fivemserver.cfg create mode 100644 fivemupdates.json delete mode 100644 foundry-vtt.kvp delete mode 100644 foundry-vttconfig.json delete mode 100644 foundry-vttmetaconfig.json delete mode 100644 foundry-vttupdates.json delete mode 100644 frozen-flame.kvp delete mode 100644 frozen-flameconfig.json delete mode 100644 frozen-flamegame.ini delete mode 100644 frozen-flamegamemodesurvive.ini delete mode 100644 frozen-flameheavennormal.ini delete mode 100644 frozen-flamemetaconfig.json delete mode 100644 frozen-flameupdates.json delete mode 100644 gatekeeperv2.kvp delete mode 100644 gatekeeperv2config.json delete mode 100644 gatekeeperv2metaconfig.json delete mode 100644 gatekeepverv2updates.json delete mode 100644 geyser.kvp delete mode 100644 geyserconfig.json delete mode 100644 geyserupdates.json delete mode 100644 ground-branch.kvp delete mode 100644 ground-branchconfig.json delete mode 100644 ground-branchmetaconfig.json delete mode 100644 ground-branchserver.ini delete mode 100644 ground-branchteamkill.ini delete mode 100644 ground-branchupdates.json delete mode 100644 ground-branchvote.ini delete mode 100644 hurtworld.kvp delete mode 100755 hurtworldconfig.json delete mode 100644 hurtworldmetaconfig.json delete mode 100644 icarus.kvp delete mode 100644 icarusconfig.json delete mode 100644 icarusmetaconfig.json delete mode 100644 icarusserversettings.ini delete mode 100644 impostor.kvp delete mode 100644 impostorconfig.json delete mode 100644 impostormetaconfig.json delete mode 100644 impostorupdates.json delete mode 100644 insurgencysandstorm.kvp delete mode 100644 insurgencysandstormconfig.json delete mode 100644 insurgencysandstormmetaconfig.json delete mode 100644 jc3mp.kvp delete mode 100644 jc3mpconfig.json delete mode 100644 jc3mpmetaconfig.json delete mode 100644 jc3mpserverconfig.json delete mode 100644 kaboom.kvp delete mode 100644 kaboomconfig.json delete mode 100644 killing-floor-2.kvp delete mode 100644 killing-floor-2config.json delete mode 100644 killing-floor-2metaconfig.json delete mode 100644 last-oasis.kvp delete mode 100644 last-oasisconfig.json delete mode 100644 longvinter.kvp delete mode 100644 longvinterconfig.json delete mode 100644 longvintergame.ini delete mode 100644 longvintermetaconfig.json delete mode 100644 longvinterupdates.json delete mode 100644 mindustry.kvp delete mode 100644 mindustryconfig.json delete mode 100644 mindustryupdates.json delete mode 100644 mordhau-config.json delete mode 100644 mordhau-metaconfig.json delete mode 100644 mordhau.kvp delete mode 100644 nebulous-fleet-command.kvp delete mode 100644 nebulous-fleet-commandconfig.json delete mode 100755 nebulous-fleet-commanddedicatedserverconfig.xml delete mode 100644 nebulous-fleet-commandmetaconfig.json delete mode 100644 nebulous-fleet-commandupdates.json delete mode 100644 necesse.kvp delete mode 100644 necesseconfig.json delete mode 100644 necessemetaconfig.json delete mode 100644 necesseserverconfig.cfg delete mode 100644 night-of-the-dead.kvp delete mode 100644 night-of-the-deadconfig.json delete mode 100644 night-of-the-deadmetaconfig.json delete mode 100644 night-of-the-deadserversettings.ini delete mode 100644 no-one-survived.kvp delete mode 100644 no-one-survivedconfig.json delete mode 100644 no-one-survivedmetaconfig.json delete mode 100644 node.kvp delete mode 100644 nodeconfig.json delete mode 100644 nodeupdates.json delete mode 100644 openttd.kvp delete mode 100644 openttdconfig.json delete mode 100644 openttdmetaconfig.json delete mode 100644 openttdopenttd.cfg delete mode 100644 openttdprivate.cfg delete mode 100644 openttdsecrets.cfg delete mode 100644 openttdupdates.json delete mode 100644 path-of-titans.kvp delete mode 100644 path-of-titansconfig.json delete mode 100644 path-of-titansmetaconfig.json delete mode 100644 path-of-titansupdates.json delete mode 100755 pavlov-vr.kvp delete mode 100755 pavlov-vrconfig.json delete mode 100755 pavlov-vrconfigfile.ini delete mode 100755 pavlov-vrmetaconfig.json delete mode 100755 pavlov-vrupdates.json delete mode 100644 portal-knights.kvp delete mode 100644 portal-knightsconfig.json delete mode 100644 portal-knightsmetaconfig.json delete mode 100644 portal-knightsserver_config.json delete mode 100644 post-scriptum.kvp delete mode 100644 post-scriptumconfig.json delete mode 100644 post-scriptummetaconfig.json delete mode 100644 project-zomboid.kvp delete mode 100755 project-zomboidconfig.json delete mode 100644 project-zomboidmetaconfig.json delete mode 100644 project5-sightseer.kvp delete mode 100644 project5-sightseerconfig.json delete mode 100644 quake3-arenabase.cfg delete mode 100644 quake3-arenaconfig.json delete mode 100644 quake3-arenametaconfig.json delete mode 100644 quake3-arenaserver.cfg delete mode 100644 quake3-arenaupdates.json rename quake3-arena.kvp => redm.kvp (53%) create mode 100644 redmconfig.json create mode 100644 redmmetaconfig.json create mode 100644 redmserver.cfg create mode 100644 redmupdates.json delete mode 100644 risk-of-rain-2.kvp delete mode 100644 risk-of-rain-2config.json delete mode 100644 risk-of-rain-2metaconfig.json delete mode 100644 risk-of-rain-2server.cfg delete mode 100644 risk-of-rain-2updates.json delete mode 100644 satisfactory.kvp delete mode 100644 satisfactoryconfig.json delete mode 100644 satisfactorymetaconfig.json delete mode 100644 satisfactoryupdates.json delete mode 100644 scp-secret-laboratory.kvp delete mode 100644 scp-secret-laboratoryconfig.json delete mode 100644 scp-secret-laboratorymetaconfig.json delete mode 100644 scp-secret-laboratoryupdates.json delete mode 100644 seven-days-settings-undead-legacy-experimental.xml delete mode 100644 seven-days-settings-undead-legacy-stable.xml delete mode 100644 seven-days-settings184.xml delete mode 100644 seven-days-settings196.xml delete mode 100644 seven-days-settings200-203.xml delete mode 100644 seven-days-settings204.xml delete mode 100644 seven-days-settings210.xml delete mode 100644 seven-days-to-die.kvp delete mode 100644 seven-days-to-dieconfig.json delete mode 100644 seven-days-to-diemetaconfig.json delete mode 100644 seven-days-to-dieupdates.json delete mode 100644 sons-of-the-forest.kvp delete mode 100644 sons-of-the-forestconfig.json delete mode 100644 sons-of-the-forestdedicatedserver.cfg delete mode 100644 sons-of-the-forestmetaconfig.json delete mode 100644 sons-of-the-forestports.json delete mode 100644 sons-of-the-forestupdates.json delete mode 100644 space-engineers-dedicated.cfg delete mode 100644 space-engineers-generic.kvp delete mode 100644 space-engineers-genericconfig.json delete mode 100644 space-engineers-genericmetaconfig.json delete mode 100644 space-engineers-genericupdates.json delete mode 100644 space-engineers-genericwinescript.sh delete mode 100644 squad-dedicated-server.kvp delete mode 100644 squad-dedicated-serverconfig.json delete mode 100644 squad-dedicated-servermetaconfig.json delete mode 100644 starbound.kvp delete mode 100644 starbound_server.config delete mode 100644 starboundconfig.json delete mode 100644 starboundmetaconfig.json delete mode 100644 starmade.kvp delete mode 100644 starmadeconfig.json delete mode 100644 stationeers.kvp delete mode 100644 stationeersconfig.json delete mode 100644 stationeersmetaconfig.json delete mode 100644 staxel.kvp delete mode 100644 staxelconfig.json delete mode 100644 staxelmetaconfig.json delete mode 100644 staxelupdates.json delete mode 100644 sven-co-op.kvp delete mode 100644 sven-co-opconfig.json delete mode 100644 sven-co-opmetaconfig.json delete mode 100644 teamspeak3.kvp delete mode 100644 teamspeak3config.json delete mode 100644 teamspeak3metaconfig.json delete mode 100644 teamspeak3server.ini delete mode 100644 terraria.kvp delete mode 100644 terrariaconfig.json delete mode 100644 terrariametaconfig.json delete mode 100644 terrariaserverconfig.txt delete mode 100644 the-forest.kvp delete mode 100644 the-forestconfig.json delete mode 100644 the-forestmetaconfig.json delete mode 100644 the-forestserver.cfg delete mode 100644 theisle-evrima.kvp delete mode 100644 theisle-evrimaconfig.json delete mode 100644 theisle-evrimagame.ini delete mode 100644 theisle-evrimametaconfig.json delete mode 100644 theisle-legacy.kvp delete mode 100644 theisle-legacyconfig.json delete mode 100644 theisle-legacygame.ini delete mode 100644 theisle-legacymetaconfig.json delete mode 100644 tmodloader.kvp delete mode 100644 tmodloader14.kvp delete mode 100644 tmodloader14config.json delete mode 100644 tmodloader14metaconfig.json delete mode 100644 tmodloader14serverconfig.txt delete mode 100644 tmodloader14updates.json delete mode 100644 tmodloaderconfig.json delete mode 100644 tmodloadermetaconfig.json delete mode 100644 tmodloaderserverconfig.txt delete mode 100644 tmodloaderupdates.json delete mode 100644 tshock.kvp delete mode 100644 tshockconfig.json delete mode 100644 tshockmetaconfig.json delete mode 100644 tshockserverconfig.json delete mode 100644 tshockupdates.json create mode 100644 txadmin.kvp create mode 100644 txadminconfig.json rename project5-sightseermetaconfig.json => txadminmetaconfig.json (100%) create mode 100644 txadminupdates.json delete mode 100644 unturned.kvp delete mode 100644 unturnedconfig.json delete mode 100644 unturnedconfigfile.dat delete mode 100644 unturnedmetaconfig.json delete mode 100644 unturnedupdates.json delete mode 100644 unturnedworkshopconfig.json delete mode 100644 ut2004.kvp delete mode 100644 ut2004config.json delete mode 100644 ut2004metaconfig.json delete mode 100644 ut99.kvp delete mode 100644 ut99UnrealTournament.ini delete mode 100644 ut99config.json delete mode 100644 ut99metaconfig.json delete mode 100644 v-rising.kvp delete mode 100644 v-risingconfig.json delete mode 100644 v-risingmetaconfig.json delete mode 100644 v-risingports.json delete mode 100644 v-risingupdates.json delete mode 100644 valheim.kvp delete mode 100644 valheimconfig.json delete mode 100644 valheimmetaconfig.json delete mode 100644 valheimupdates.json delete mode 100644 veloren.kvp delete mode 100644 velorenconfig.json delete mode 100644 velorenmetaconfig.json delete mode 100644 velorensettings.ron delete mode 100644 velorenupdates.json delete mode 100644 vintage-story-new.kvp delete mode 100644 vintage-story-newconfig.json delete mode 100644 vintage-story-newmetaconfig.json delete mode 100644 vintage-story-newupdates.json delete mode 100644 vintage-story.kvp delete mode 100644 vintage-storyconfig.json delete mode 100644 vintage-storymetaconfig.json delete mode 100644 windward.kvp delete mode 100755 windwardconfig.json delete mode 100644 windwardmetaconfig.json delete mode 100644 wreckfest.kvp delete mode 100644 wreckfestconfig.json delete mode 100644 wreckfestmetaconfig.json delete mode 100644 wurm-unlimited.kvp delete mode 100644 wurm-unlimitedconfig.json delete mode 100644 wurm-unlimitedmetaconfig.json delete mode 100644 xonotic.kvp delete mode 100755 xonoticconfig.json delete mode 100644 xonoticmetaconfig.json delete mode 100644 xonoticserver.cfg diff --git a/InsurgencySS_Game.ini b/InsurgencySS_Game.ini deleted file mode 100644 index 3fa5cdcde..000000000 --- a/InsurgencySS_Game.ini +++ /dev/null @@ -1,56 +0,0 @@ -;Do not edit this file manually, your changes will be overwritten. Edit this via Configuration -> Server Config in AMP's interface. - -[/Script/Insurgency.INSGameMode] -bKillFeed={{bKillFeed}} -bKillFeedSpectator={{bKillFeedSpectator}} -bKillerInfo={{bKillerInfo}} -bKillerInfoRevealDistance={{bKillerInfoRevealDistance}} -TeamKillLimit={{TeamKillLimit}} -TeamKillGrace={{TeamKillGrace}} -TeamKillReduceTime={{TeamKillReduceTime}} -bDeadSay={{bDeadSay}} -bDeadSayTeam={{bDeadSayTeam}} -bVoiceAllowDeadChat={{bVoiceAllowDeadChat}} -bVoiceEnemyHearsLocal={{bVoiceEnemyHearsLocal}} -ObjectiveCaptureTime={{ObjectiveCaptureTime}} -ObjectiveResetTime={{ObjectiveResetTime}} -ObjectiveSpeedup={{ObjectiveSpeedup}} -ObjectiveMaxSpeedupPlayers={{ObjectiveMaxSpeedupPlayers}} -bVoiceRadioBroadcastLocal={{bVoiceRadioBroadcastLocal}} - -[/Script/Insurgency.INSMultiplayerMode] -bKillFeedGameStartingIntermissionTime={{bKillFeedGameStartingIntermissionTime}} -WinTime={{WinTime}} -PostRoundTime={{PostRoundTime}} -PostGameTime={{PostGameTime}} -bAutoAssignTeams={{bAutoAssignTeams}} -bAllowFriendlyFire={{bAllowFriendlyFire}} -FriendlyFireModifier={{FriendlyFireModifier}} -FriendlyFireReflect={{FriendlyFireReflect}} -bAutoBalanceTeams={{bAutoBalanceTeams}} -AutoBalanceDelay={{AutoBalanceDelay}} -bMapVoting={{bMapVoting}} -bUseMapCycle={{bUseMapCycle}} -bVoiceIntermissionAllowAll={{bVoiceIntermissionAllowAll}} -IdleLimit={{IdleLimit}} -IdleLimitLowReinforcements={{IdleLimitLowReinforcements}} -IdleCheckFrequency={{IdleCheckFrequency}} -MinimumPlayers={{MinimumPlayers}} -RoundLimit={{RoundLimit}} -WinLimit={{WinLimit}} -GameTimeLimit={{GameTimeLimit}} -PreRoundLimit={{PreRoundLimit}} -RoundTime={{RoundTime}} -OverTime={{OverTime}} -TeamSwitchTime={{TeamSwitchTime}} -SwitchTeamsEveryRound={{SwitchTeamsEveryRound}} -bAllowPlayerTeamSelect={{bAllowPlayerTeamSelect}} -bBots={{bBots}} -BotQuota={{BotQuota}} -InitialSupply={{InitialSupply}} -MaximumSupply={{MaximumSupply}} -bSupplyGainEnabled={{bSupplyGainEnabled}} -bAwardSupplyInstantly={{bAwardSupplyInstantly}} -SupplyGainFrequency={{SupplyGainFrequency}} -GameStartingIntermissionTime={{GameStartingIntermissionTime}} -bAllowThirdPersonSpectate={{bAllowThirdPersonSpectate}} diff --git a/README.md b/README.md deleted file mode 100644 index cea1feb27..000000000 --- a/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# AMP Templates -For the AMP community to share Generic Module templates. - -# Making generic module templates -See the wiki article for the module: https://github.com/CubeCoders/AMP/wiki/Configuring-the-'Generic'-AMP-module - -You can also use the online configurator at https://config.getamp.sh/ to help with building templates. - -*There is a much more robust version of the [online configuration tool](https://config.iceofwraith.com/) that is still in beta. This should provide much better results than the above even so. If you have any feedback, please contact IceOfWraith in the CubeCoders Discord. - -# Sharing Templates -Right now the following restrictions apply to templates that may be publicly shared via this repository (some of these will be relaxed over time): - - - The application must not require any login/authentication in order to download (except for SteamCMD logins). - - If the application does not have a Linux version you should add a Proton download via SteamCMD to support it if possible. - - Applications that have customizable settings must use a Settings Manifest. - - Only applications that expose some kind of Console that AMP is able to pick up. - - Do not invoke any shell scripts/batch files. You must only launch actual executables. - -# To share a template - -Create a pull request containing the following files in the top-level directory of the repository: - - *APPLICATIONAME*.kvp - *APPLICATIONAME*config.json - *APPLICATIONAME*metaconfig.json (Optional) - -With the names fully lower-cased. - -For example, `valheim.kvp`, `valheimconfig.json`, `valheimmetaconfig.json` - -Do not use any directories and include no-other files. - -**If you are only submitting a draft, make sure to append (draft) to the pull request title.** - -# Editing templates - -If you believe that a template needs either updating or changes made, please submit a pull request for that template with a justification for why that change is needed. If possible try and contact the original author first. - -# After submitting a template - -Once you've submitted a pull request, your configuration will be tested in its as-is state by an automated tool. It will: - -- Load the configuration -- Attempt to perform an update -- Attempt to start the application -- Verify that the application reaches the 'Ready' state. -- Attempt to stop the application -- Verify that the application reaches the 'Stopped' state. - -You should ensure that your configuration can do this on both Windows and Linux before submitting your configuration. diff --git a/american-truck-simulator.kvp b/american-truck-simulator.kvp deleted file mode 100644 index 621d83faf..000000000 --- a/american-truck-simulator.kvp +++ /dev/null @@ -1,95 +0,0 @@ -Meta.DisplayName=American Truck Simulator -Meta.Description=American Truck Simulator Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=NotSupported -Meta.Arch=x86_64 -Meta.Author=IceOfWraith -Meta.URL=https://store.steampowered.com/app/270880/American_Truck_Simulator/ -Meta.DisplayImageSource=steam:270880 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort} -Meta.ConfigManifest=american-truck-simulatorconfig.json -Meta.MetaConfigManifest=american-truck-simulatormetaconfig.json -Meta.ConfigRoot=american-truck-simulator.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnLinux, RequiredOnWindows -Meta.ContainerPolicyReason=The game server does not run properly as NETWORK SERVICE, so it must be run within Docker on Windows. -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3790?utm_source=ampcreate&utm_content=ats-ets2 -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=American Truck Simulator -App.RootDir=./american-truck-simulator/ -App.BaseDirectory=./american-truck-simulator/2239530/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin= -App.ExecutableLinux=2239530/bin/linux_x64/amtrucks_server -App.WorkingDir=2239530 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -nosingle {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"270880","XDG_DATA_HOME":"{{$FullBaseDir}}"} -App.CommandLineParameterFormat=-{0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=app_exit.lck -App.HasWriteableConsole=False -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=@IncludeJson[american-truck-simulatorports.json] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=MainServerPort -App.UniversalSleepApplicationUDPPortRef=MainServerPort -App.UniversalSleepSteamQueryPortRef=QueryDedicatedPort -App.MaxUsers=8 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=False -App.RemoteAdminPassword= -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.LoginTransformPrefix= -App.RCONConnectDelaySeconds=30 -App.RCONConnectRetrySeconds=15 -App.RCONHeartbeatMinutes=0 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[american-truck-simulatorupdates.json] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=False -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+ -Console.AppReadyRegex=^$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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/american-truck-simulator.sii b/american-truck-simulator.sii deleted file mode 100644 index b1e64cb3d..000000000 --- a/american-truck-simulator.sii +++ /dev/null @@ -1,33 +0,0 @@ -SiiNunit -{ -server_config : _nameless.3a6.40c0 { - lobby_name: "{{lobby_name}}" - description: "{{description}}" - welcome_message: "{{welcome_message}}" - password: "{{password}}" - max_players: {{max_players}} - max_vehicles_total: {{max_vehicles_total}} - max_ai_vehicles_player: {{max_ai_vehicles_player}} - max_ai_vehicles_player_spawn: {{max_ai_vehicles_player_spawn}} - connection_virtual_port: 100 - query_virtual_port: 101 - connection_dedicated_port: {{connection_dedicated_port}} - query_dedicated_port: {{query_dedicated_port}} - server_logon_token: "{{server_logon_token}}" - player_damage: {{player_damage}} - traffic: {{traffic}} - hide_in_company: {{hide_in_company}} - hide_colliding: {{hide_colliding}} - force_speed_limiter: {{force_speed_limiter}} - mods_optioning: {{mods_optioning}} - timezones: {{timezones}} - service_no_collision: {{service_no_collision}} - in_menu_ghosting: {{in_menu_ghosting}} - name_tags: {{name_tags}} - friends_only: false - show_server: true - moderator_list: {{moderator_list1}} - {{moderator_list2}} -} - -} diff --git a/american-truck-simulatorconfig.json b/american-truck-simulatorconfig.json deleted file mode 100644 index a2b52547f..000000000 --- a/american-truck-simulatorconfig.json +++ /dev/null @@ -1,340 +0,0 @@ -[ - { - "DisplayName":"Lobby Name", - "Category":"ATS - Server Settings", - "Description":"Session name, limited to 63 characters.", - "Keywords":"lobby,name", - "FieldName":"lobby_name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"lobby_name", - "IncludeInCommandLine":false, - "DefaultValue":"American Truck Simulator Server - Powered by AMP", - "Placeholder":"American Truck Simulator Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Description", - "Category":"ATS - Server Settings", - "Description":"Session description, limited to 63 characters.", - "Keywords":"lobby,description", - "FieldName":"description", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"description", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"ATS - Server Settings", - "Description":"Session welcome message, limited to 127 characters.", - "Keywords":"welcome,message", - "FieldName":"welcome_message", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"welcome_message", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Password", - "Category":"ATS - Server Settings", - "Description":"Session password, limited to 63 characters.", - "Keywords":"password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Max Players", - "Category":"ATS - Server Settings", - "Description":"Maximum players in session, limit is 8 players.", - "Keywords":"max,players", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"max_players", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "MinValue":"1", - "MaxValue":"8", - "EnumValues":{} - }, - { - "DisplayName":"Max Vehicles Total", - "Category":"ATS - Server Settings", - "Description":"", - "Keywords":"max,vehicles,total", - "FieldName":"max_vehicles_total", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"max_vehicles_total", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "MinValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Max AI Vehicles Player", - "Category":"ATS - Server Settings", - "Description":"", - "Keywords":"max,ai,vehicles,player", - "FieldName":"max_ai_vehicles_player", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"max_ai_vehicles_player", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "MinValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Max AI Vehicles Player Spawn", - "Category":"ATS - Server Settings", - "Description":"", - "Keywords":"max,ai,vehicles,player,spawn", - "FieldName":"max_ai_vehicles_player_spawn", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"max_ai_vehicles_player_spawn", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "MinValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"connection_dedicated_port", - "Category":"ATS - Server Settings", - "Description":"Port used for main game traffic", - "Keywords":"", - "FieldName":"$MainServerPort", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"connection_dedicated_port", - "IncludeInCommandLine":false, - "EnumValues":{}, - "Hidden":true - }, - { - "DisplayName":"query_dedicated_port", - "Category":"ATS - Server Settings", - "Description":"Port used for Steam Query", - "Keywords":"", - "FieldName":"$QueryDedicatedPort", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"query_dedicated_port", - "IncludeInCommandLine":false, - "EnumValues":{}, - "Hidden":true - }, - { - "DisplayName":"Server Logon Token", - "Category":"ATS - Server Settings", - "Description":"Use appid 270880 to create a [Steam Server Login Token](https://steamcommunity.com/dev/managegameservers).", - "Keywords":"server,logon,token", - "FieldName":"server_logon_token", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"server_logon_token", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"6544F7E034119F113526E96474F", - "EnumValues":{} - }, - { - "DisplayName":"Player Damage", - "Category":"ATS - Server Settings", - "Description":"Flag to allow players to receive damage from other players.", - "Keywords":"player,damage", - "FieldName":"player_damage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"player_damage", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Traffic", - "Category":"ATS - Server Settings", - "Description":"Flag to enable traffic.", - "Keywords":"traffic", - "FieldName":"traffic", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"traffic", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Hide In Company", - "Category":"ATS - Server Settings", - "Description":"Flag to enable if remote players are hidden in company area.", - "Keywords":"hide,company", - "FieldName":"hide_in_company", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"hide_in_company", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Hide Colliding", - "Category":"ATS - Server Settings", - "Description":"Flag to hide colliding vehicle after teleport. ", - "Keywords":"hide,colliding", - "FieldName":"hide_colliding", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"hide_colliding", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Force Speed Limiter", - "Category":"ATS - Server Settings", - "Description":"Flag to force speed limiter.", - "Keywords":"force,speed,limiter", - "FieldName":"force_speed_limiter", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"force_speed_limiter", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Mods Optioning", - "Category":"ATS - Server Settings", - "Description":"Flag to enable mods marked as optional, to be really optional.", - "Keywords":"mods,optioning", - "FieldName":"mods_optioning", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"mods_optioning", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Timezones", - "Category":"ATS - Server Settings", - "Description":"Sets whether the timezone updates as players change zones. It displays either the time or the time and timezone information.", - "Keywords":"timezones", - "FieldName":"timezones", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"timezones", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0": "Disabled", - "1": "Time Only", - "2": "Full Info" - } - }, - { - "DisplayName":"Service No Collision", - "Category":"ATS - Server Settings", - "Description":"Disable collisions on service area.", - "Keywords":"service,no,collision", - "FieldName":"service_no_collision", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"service_no_collision", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"In Menu Ghosting", - "Category":"ATS - Server Settings", - "Description":"Disable collisions when game paused.", - "Keywords":"in,menu,ghosting", - "FieldName":"in_menu_ghosting", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"in_menu_ghosting", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Name Tags", - "Category":"ATS - Server Settings", - "Description":"Show player name tags above vehicles.", - "Keywords":"name,tags", - "FieldName":"name_tags", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"name_tags", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Moderator Count", - "Category":"ATS - Server Settings", - "Description":"The number of moderators in the Moderator List setting.", - "Keywords":"moderator,count", - "FieldName":"moderator_list1", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"moderator_list1", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Moderator List", - "Category":"ATS - Server Settings", - "Description":"Enter moderators, one per line. Increment the value in [#] starting at 0. 123456789 should be replaced with the moderator's Steam64 IDs. e.g. moderator_list[0]: 123456789.", - "Keywords":"moderator,list", - "FieldName":"moderator_list2", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"moderator_list2", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - } -] \ No newline at end of file diff --git a/american-truck-simulatormetaconfig.json b/american-truck-simulatormetaconfig.json deleted file mode 100644 index 7e3f87380..000000000 --- a/american-truck-simulatormetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile":"American Truck Simulator/server_config.sii", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"american-truck-simulator/AMP_server_config.sii" - } -] \ No newline at end of file diff --git a/american-truck-simulatorports.json b/american-truck-simulatorports.json deleted file mode 100644 index 4067acc8d..000000000 --- a/american-truck-simulatorports.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - "Protocol": "UDP", - "Port": "27015", - "Name": "Main Server Port", - "Description": "Port used for main game traffic", - "Ref": "MainServerPort" - }, - { - "Protocol": "UDP", - "Port": "27016", - "Name": "Query Dedicated Port", - "Description": "Port used for main game traffic", - "Ref": "QueryDedicatedPort" - } -] \ No newline at end of file diff --git a/american-truck-simulatorupdates.json b/american-truck-simulatorupdates.json deleted file mode 100644 index 3bea6d26a..000000000 --- a/american-truck-simulatorupdates.json +++ /dev/null @@ -1,24 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourceData":"2239530", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceArgs":"270880" - }, - { - "UpdateStageName":"Settings Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}American Truck Simulator" - }, - { - "UpdateStageName":"Settings Template Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/american-truck-simulator.sii", - "UpdateSourceArgs":"AMP_server_config.sii", - "UpdateSourceTarget":"{{$FullRootDir}}", - "OverwriteExistingFiles":true - } -] \ No newline at end of file diff --git a/ark-se.kvp b/ark-se.kvp deleted file mode 100644 index dde406644..000000000 --- a/ark-se.kvp +++ /dev/null @@ -1,89 +0,0 @@ -Meta.DisplayName=ARK: Survival Evolved -Meta.Description=ARK: Survival Evolved Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, Shinynecrid, IceOfWraith -Meta.URL=https://store.epicgames.com/en-US/p/ark -Meta.DisplayImageSource=steam:346110 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=ark-seconfig.json -Meta.MetaConfigManifest=ark-semetaconfig.json -Meta.ConfigRoot=ark-se.kvp -Meta.MinAMPVersion=2.4.2.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3322?utm_source=ampcreate&utm_content=arkse -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState= -Meta.NoCommercialUsage=False -App.DisplayName=ARK: Survival Evolved -App.RootDir=./ark-se/ -App.BaseDirectory=./ark-se/376030/ -App.ExecutableWin=376030\ShooterGame\Binaries\Win64\ShooterGameServer.exe -App.ExecutableLinux=376030/ShooterGame/Binaries/Linux/ShooterGameServer -App.WorkingDir=376030/ShooterGame/Binaries/Win64 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{Map}}?listen?Port={{$GamePort}}?QueryPort={{$QueryPort}}?RCONEnabled=True?RCONServerGameLogBuffer=600?RCONPort={{$RCONPort}}?ServerAdminPassword={{$RemoteAdminPassword}}?SessionName="{{SessionName}}"?MultiHome={{$ApplicationIPBinding}}?{{$FormattedArgs}}{{OverrideOfficialDifficulty}}{{CustomOptions}} {{automanagedmods}}{{exclusivejoin}}{{BattlEye}}{{crossplay}}{{epiconly}}{{UseVivox}}{{insecure}}{{EnableIdlePlayerKick}}{{AllowFlyerSpeedLeveling}}{{ForceAllowCaveFlyers}}{{nodinos}}{{PreventHibernation}}{{ForceRespawnDinos}}{{DisableRailgunPVP}}{{UseStructureStasisGrid}}{{AutoDestroyStructures}} -ActiveEvent={{ActiveEvent}} -PublicIPForEpic={{PublicIPForEpic}} -culture={{culture}} -ClusterDirOverride="{{ClusterDirOverride}}" -clusterid={{clusterid}} {{CustomFlags}} -servergamelog -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"346110"} -App.CommandLineParameterFormat={0}={1} -App.CommandLineParameterDelimiter=? -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=DoExit -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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"PeerPort","Name":"Peer Port","Description":"Port for Steam P2P protocol traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"TCP","Port":27020,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.AdminPortRef=RCONPort -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=70 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword= -App.AdminMethod=SourceRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.RCONHeartbeatMinutes=0.09 -App.RCONHeartbeatCommand=GetGameLog -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[ark-seupdates.json] -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=RCONConnected -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(Keep Alive|\[S_API FAIL\] SteamAPI_Init\(\) failed; SteamAPI_IsSteamRunning\(\) failed\.|Server received, But no response!! \n |Setting breakpad minidump AppID = 346110)$ -Console.AppReadyRegex=^$ -Console.UserJoinRegex=^[\d\.]+_[\d\.]+: (?<username>.+?) joined this ARK!\n \n $ -Console.UserLeaveRegex=^[\d\.]+_[\d\.]+: (?<username>.+?) left this ARK!\n \n $ -Console.UserChatRegex=^[\d\.]+_[\d\.]+:( | )(?<username>.+?)( | )\((?:.+?)\): (?<message>.+)\n \n $ -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/ark-seconfig.json b/ark-seconfig.json deleted file mode 100644 index cb60891f0..000000000 --- a/ark-seconfig.json +++ /dev/null @@ -1,2197 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"ARK Server Settings", - "Description":"Set the name of the server as it appears publicly. Don't include a question mark", - "Keywords":"server,name,sessionname", - "FieldName":"SessionName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SessionName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered ARK: Survival Evolved Server", - "EnumValues":{} - }, - { - "DisplayName":"MOTD", - "Category":"ARK Server Settings", - "Description":"Sets the player welcome message (MOTD)", - "Keywords":"motd,welcome,message", - "FieldName":"MOTDMessage", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"MessageOfTheDay.Message", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to ARK!", - "EnumValues":{} - }, - { - "DisplayName":"MOTD Duration", - "Category":"ARK Server Settings", - "Description":"Sets the time period for display of the MOTD", - "Keywords":"motd,message,period,duration", - "FieldName":"MOTDDuration", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MessageOfTheDay.Duration", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Map", - "Category":"ARK Server Settings", - "Description":"Sets the map for the server. If Custom is selected, Custom Map Name must also be set", - "Keywords":"map", - "FieldName":"Map", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Map", - "IncludeInCommandLine":false, - "DefaultValue":"TheIsland", - "EnumValues":{ - "Aberration_P":"Aberration", - "CrystalIsles":"Crystal Isles", - "Extinction":"Extinction", - "Fjordur":"Fjordur", - "Genesis":"Genesis: Part 1", - "Gen2":"Genesis: Part 2", - "LostIsland":"Lost Island", - "Ragnarok":"Ragnarok", - "ScorchedEarth_P":"Scorched Earth", - "TheCenter":"The Center", - "TheIsland":"The Island (default)", - "Valguero_P":"Valguero", - "{{CustomMap}}":"Custom" - } - }, - { - "DisplayName":"Custom Map Name", - "Category":"ARK Server Settings", - "Description":"Sets a custom map for the server. \"Custom\" type must be selected under Map, and the map files included in ShooterGame/Content/Mods. Automatically Manage Mods can be used for this purpose", - "Keywords":"custom,map", - "FieldName":"CustomMap", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMap", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"Caballus_P", - "EnumValues":{} - }, - { - "DisplayName":"Automatically Manage Mods", - "Category":"ARK Server Settings", - "Description":"If set, enables automatic mod download and updating (on server start). Specify the relevant mods under Mods List. Alternatively, specify them in Game.ini under the heading [ModInstaller] and with one mod per line in the format: ModIDS=<value>", - "Keywords":"auto,managed,mods,automanagedmods", - "FieldName":"automanagedmods", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"automanagedmods", - "IncludeInCommandLine":false, - "DefaultValue":"-automanagedmods ", - "EnumValues":{ - "False":"", - "True":"-automanagedmods " - } - }, - { - "DisplayName":"Mods List", - "Category":"ARK Server Settings", - "Description":"Comma-separated and ordered list of IDs of mods to load (map mods will not load unless named as a \"Custom\" map under Custom Map Name). ONE LINE ONLY! Mod files must be in ShooterGame/Content/Mods. If \"Automatically Manage Mods\" is enabled, the mods listed will be installed by the server", - "Keywords":"load,mods,gamemodids,activemods", - "FieldName":"GameModIds", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"GameModIds", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "Placeholder":"1984936918,1785880078", - "EnumValues":{} - }, - { - "DisplayName":"Active Event", - "Category":"ARK Server Settings", - "Description":"Sets the server's active event, if any. Some events may only work partially or not at all. Most special event assets are removed after the event. Use Custom and set Custom Event Name for an event not listed", - "Keywords":"active,event,activeevent", - "FieldName":"ActiveEvent", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ActiveEvent", - "IncludeInCommandLine":false, - "DefaultValue":"None", - "EnumValues":{ - "None":"None", - "birthday":"ARK: 5th Anniversary", - "ark7th":"ARK: 7th Anniversary", - "FearEvolved":"ARK: Fear Evolved", - "TurkeyTrial":"ARK: Turkey Trial", - "Arkaeology":"ARK: ARKaeology", - "Easter":"ARK: Eggcellent Adventure (Easter)", - "ExtinctionChronicles":"Extinction Chronicles", - "vday":"ARK: Love Evolved (vday)", - "PAX":"ARK: PAX Party", - "Summer":"ARK: Summer Bash (Summer)", - "WinterWonderland":"ARK: Winter Wonderland", - "{{CustomEvent}}":"Custom" - } - }, - { - "DisplayName":"Custom Event Name", - "Category":"ARK Server Settings", - "Description":"Sets a custom active event name for the server. \"Custom\" type must be selected under Active Event", - "Keywords":"custom,active,event,activeevent", - "FieldName":"CustomEvent", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomEvent", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Whitelisted Server Admins", - "Category":"ARK Server Settings", - "Description":"List of [Steam64 IDs](https://steamidfinder.com/) for whitelisted server admins. These admins do not need to use the server admin password", - "Keywords":"admin,whitelist,allowedcheatersteamids", - "FieldName":"AdminWhitelist", - "InputType":"list", - "IsFlagArgument":false, - "ParamFieldName":"AdminWhitelist", - "DefaultValue":"", - "Special":"listfile:./ark-se/376030/ShooterGame/Saved/AllowedCheaterSteamIDs.txt", - "EnumValues":{} - }, - { - "DisplayName":"RCON/Server Admin Password", - "Category":"ARK Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON password. The RCON password is also used in the in-game console for players to access administrator commands (unless they are whitelisted)", - "Keywords":"rcon,password,serveradminpassword", - "FieldName":"RCONPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RCONPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"ARK Server Settings", - "Description":"Sets the password for players to join the server. Don't include a question mark", - "Keywords":"server,password,serverpassword", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"ServerPassword", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Enable Player Whitelist", - "Category":"ARK Server Settings", - "Description":"If set, only players with Steam64 IDs listed under Whitelisted Players can join the server", - "Keywords":"player,whitelist,exclusivejoin", - "FieldName":"exclusivejoin", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"exclusivejoin", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-exclusivejoin " - } - }, - { - "DisplayName":"Whitelisted Players", - "Category":"ARK Server Settings", - "Description":"List of [Steam64 IDs](https://steamidfinder.com/) for whitelisted players", - "Keywords":"player,whitelist,playersexclusivejoinlist", - "FieldName":"PlayerWhitelist", - "InputType":"list", - "IsFlagArgument":false, - "ParamFieldName":"PlayerWhitelist", - "DefaultValue":"", - "Special":"listfile:./ark-se/376030/ShooterGame/Binaries/Win64/PlayersExclusiveJoinList.txt", - "EnumValues":{} - }, - { - "DisplayName":"Spectator Password", - "Category":"ARK Server Settings", - "Description":"Sets the password for non-admin spectators on the server. Don't include a question mark", - "Keywords":"spectator,password,spectatorpassword", - "FieldName":"SpectatorPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"SpectatorPassword", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"ARK Server Settings", - "Description":"Sets the maximum number of players allowed on the server", - "Keywords":"max,players,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"MaxPlayers", - "IncludeInCommandLine":true, - "DefaultValue":"70", - "Placeholder":"70", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"MultiHome IP Binding", - "Category":"ARK Server Settings", - "Description":"If required, you can change the binding of the server and RCON to an internal interface IP by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first. Ensure AMP itself can reach that IP or the console will not work", - "Keywords":"ip,binding,address,multihome", - "FieldName":"MultiHome", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Disable BattlEye", - "Category":"ARK Server Settings", - "Description":"If set, BattlEye will be disabled on the server", - "Keywords":"battleye,disable,nobattleye", - "FieldName":"BattlEye", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"BattlEye", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-NoBattlEye " - } - }, - { - "DisplayName":"Enable Crossplay", - "Category":"ARK Server Settings", - "Description":"If set, enables crossplay between Epic Game Store players and Steam players. Do not enable Epic Only at the same time", - "Keywords":"crossplay", - "FieldName":"crossplay", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"crossplay", - "IncludeInCommandLine":false, - "DefaultValue":"-crossplay ", - "EnumValues":{ - "False":"", - "True":"-crossplay " - } - }, - { - "DisplayName":"Enable Epic Only", - "Category":"ARK Server Settings", - "Description":"If set, only Epic Game Store players will be able to connect to the server. Do not enable Crossplay at the same time", - "Keywords":"epic,only,epiconly", - "FieldName":"epiconly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"epiconly", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-epiconly " - } - }, - { - "DisplayName":"Public IP For Epic", - "Category":"ARK Server Settings", - "Description":"Sets the public IP for Epic Game Store players to connect to. If not set, and MultiHome IP Binding is specified but is not a public IP, then Epic Game Store players will not be able to connect", - "Keywords":"epic,public,ip,publicipforepic", - "FieldName":"PublicIPForEpic", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"PublicIPForEpic", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Enable Vivox", - "Category":"ARK Server Settings", - "Description":"If set, enables Vivox on Steam only servers (Vivox is the default for Epic Game Store enabled servers)", - "Keywords":"vivox,usevivox", - "FieldName":"UseVivox", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"UseVivox", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-UseVivox " - } - }, - { - "DisplayName":"Disable Valve Anti-Cheat", - "Category":"ARK Server Settings", - "Description":"If set, disables Valve Anti-Cheat (VAC). Only works on PC", - "Keywords":"valve,anti,cheat,anticheat,insecure", - "FieldName":"insecure", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"insecure", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-insecure " - } - }, - { - "DisplayName":"Banlist URL", - "Category":"ARK Server Settings", - "Description":"Sets a banlist to disallow access to the server to specified players (identified by Steam64 ID). Use either the global banlist of ARK, or a custom banlist URL", - "Keywords":"ban,banlist,blacklist,banlisturl", - "FieldName":"BanListURL", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerSettings.BanListURL", - "IncludeInCommandLine":false, - "DefaultValue":"http://arkdedicated.com/banlist.txt", - "Placeholder":"http://arkdedicated.com/banlist.txt", - "EnumValues":{} - }, - { - "DisplayName":"Enable Admin Logging In Chat", - "Category":"ARK Server Settings", - "Description":"If set, all admin commands used will be logged to in-game chat", - "Keywords":"admin,log,chat,adminlogging", - "FieldName":"AdminLogging", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AdminLogging", - "IncludeInCommandLine":true, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Kick Idle Players", - "Category":"ARK Server Settings", - "Description":"If set, characters that have not moved or interacted within the Kick Idle Players Period will be kicked from the server", - "Keywords":"kick,idle,players,enableidleplayerkick", - "FieldName":"EnableIdlePlayerKick", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"EnableIdlePlayerKick", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-EnableIdlePlayerKick " - } - }, - { - "DisplayName":"Kick Idle Players Period", - "Category":"ARK Server Settings", - "Description":"Sets the time period after which characters that have not moved or interacted will be kicked (if Kick Idle Players is enabled)", - "Keywords":"kick,idle,players,period,kickidleplayersperiod", - "FieldName":"KickIdlePlayersPeriod", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"KickIdlePlayersPeriod", - "IncludeInCommandLine":true, - "DefaultValue":"3600", - "Placeholder":"3600", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Auto Save Period", - "Category":"ARK Server Settings", - "Description":"Sets the interval for automatic saves. 0 = constant saving, 9000000 = effectively disabled", - "Keywords":"auto,save,period,minutes,autosaveperiodminutes", - "FieldName":"AutoSavePeriodMinutes", - "InputType":"number", - "MinValue":"0", - "MaxValue":"9000000", - "IsFlagArgument":false, - "ParamFieldName":"AutoSavePeriodMinutes", - "IncludeInCommandLine":true, - "DefaultValue":"15.0", - "Placeholder":"15.0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Language", - "Category":"ARK Server Settings", - "Description":"Sets the language of the server", - "Keywords":"language,culture", - "FieldName":"culture", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"culture", - "IncludeInCommandLine":false, - "DefaultValue":"en", - "EnumValues":{ - "ca":"Català", - "cs":"čeština", - "da":"dansk", - "de":"Deutsch", - "en":"English (default)", - "es":"Español", - "eu":"euskara", - "fi":"suomi", - "fr":"Français", - "hu":"magyar", - "it":"Italiano", - "ja":"日本語", - "ka":"ქართული", - "ko":"한국어", - "nl":"Nederlands", - "pl":"Polski", - "pt_BR":"Português brasileiro", - "ru":"Русский", - "sv":"Svenska", - "th":"ไทย", - "tr":"Türkçe", - "zh":"中文", - "zh-Hans-CN":"使用者", - "zh-TW":"国语" - } - }, - { - "DisplayName":"Custom Command Line Flags", - "Category":"ARK Server Settings", - "Description":"Sets custom [command line flags](https://ark.wiki.gg/wiki/Server_configuration#Command_Line) for the server (those that start with a - (dash)). Include the dash and separate with a space. Don't use flags already in AMP's settings!", - "Keywords":"custom,command,line,flags", - "FieldName":"CustomFlags", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomFlags", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"-allcores -d3d10", - "EnumValues":{} - }, - { - "DisplayName":"Custom Command Line Options", - "Category":"ARK Server Settings", - "Description":"Sets custom [command line options](https://ark.wiki.gg/wiki/Server_configuration#Command_Line) for the server (those that start with a ? (question mark)). Include the question mark but do not separate with a space. Don't use options already in AMP's settings!", - "Keywords":"custom,command,line,options", - "FieldName":"CustomOptions", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomOptions", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"?ClampItemStats=True?NewYear1UTC=1672592400", - "EnumValues":{} - }, - { - "DisplayName":"Enable PvE / Disable PvP", - "Category":"ARK Gameplay Settings", - "Description":"If set, PvE will be enabled, and PvP disabled", - "Keywords":"pve,pvp,serverpve", - "FieldName":"serverPVE", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"serverPVE", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Offline Raiding Prevention", - "Category":"ARK Gameplay Settings", - "Description":"If set, the Offline Raiding Prevention option will be enabled in PvP mode, preventing damage to a player's structures and creatures while the player is offline. For tribe creatures and structures, all tribe members must be offline", - "Keywords":"offline,pvp,raiding,prevention,preventofflinepvp", - "FieldName":"PreventOfflinePvP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventOfflinePvP", - "IncludeInCommandLine":true, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Offline Raiding Prevention Interval", - "Category":"ARK Gameplay Settings", - "Description":"Sets the time period after which an logged off player will be considered offline for the Offline Raiding Prevention option", - "Keywords":"offline,pvp,raiding,prevention,preventofflinepvpinterval", - "FieldName":"PreventOfflinePvPInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PreventOfflinePvPInterval", - "IncludeInCommandLine":true, - "DefaultValue":"60.0", - "Placeholder":"60.0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Hardcore Mode", - "Category":"ARK Gameplay Settings", - "Description":"If set, enables hardcore mode, meaning player characters revert to level 1 upon death", - "Keywords":"hardcore,serverhardcore", - "FieldName":"serverHardcore", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"serverHardcore", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Override Official Difficulty", - "Category":"ARK Gameplay Settings", - "Description":"If enabled, sets the server difficulty level to the value set under \"Difficulty Override Level\". This is generally the recommended way to set the difficulty level", - "Keywords":"override,official,difficulty,overrideofficialdifficulty", - "FieldName":"OverrideOfficialDifficulty", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"OverrideOfficialDifficulty", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"?OverrideOfficialDifficulty={{DifficultyOverrideLevel}}" - } - }, - { - "DisplayName":"Difficulty Override Level", - "Category":"ARK Gameplay Settings", - "Description":"Sets the value of the difficulty level to be applied if \"Override Official Difficulty\" is enabled, allowing the level to go above the default 4.0. Be careful not to go too high!", - "Keywords":"override,official,difficulty,level,overrideofficialdifficulty", - "FieldName":"DifficultyOverrideLevel", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"DifficultyOverrideLevel", - "IncludeInCommandLine":false, - "DefaultValue":"4.0", - "Placeholder":"4.0", - "EnumValues":{} - }, - { - "DisplayName":"Difficulty Offset", - "Category":"ARK Gameplay Settings", - "Description":"As an alternative to using \"Override Official Difficulty\", this setting sets the difficulty offset, which is used to calculate the [difficulty level](https://ark.wiki.gg/wiki/Difficulty)", - "Keywords":"difficulty,offset,level,difficultyoffset", - "FieldName":"DifficultyOffset", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"DifficultyOffset", - "IncludeInCommandLine":true, - "DefaultValue":"0.200000", - "Placeholder":"0.200000", - "EnumValues":{} - }, - { - "DisplayName":"Enable Crosshair", - "Category":"ARK Gameplay Settings", - "Description":"If set, each player will be shown a crosshair", - "Keywords":"crosshair,servercrosshair", - "FieldName":"ServerCrosshair", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ServerCrosshair", - "IncludeInCommandLine":true, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable HUD", - "Category":"ARK Gameplay Settings", - "Description":"If set, the HUD (head-up display) will always be disabled", - "Keywords":"hud,head-up,heads-up,display,serverforcenohud", - "FieldName":"serverForceNoHud", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"serverForceNoHud", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "Truue":"True" - } - }, - { - "DisplayName":"Show Player On Map", - "Category":"ARK Gameplay Settings", - "Description":"If set, shows each player their own precise position when they view their map", - "Keywords":"player,position,location,map,showmapplayerlocation", - "FieldName":"ShowMapPlayerLocation", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ShowMapPlayerLocation", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Third Person View", - "Category":"ARK Gameplay Settings", - "Description":"If set, third person view is enabled", - "Keywords":"third,person,3rd,view,allowthirdpersonplayer", - "FieldName":"AllowThirdPersonPlayer", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"allowThirdPersonPlayer", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Show Floating Damage Text", - "Category":"ARK Gameplay Settings", - "Description":"If set, damage caused is shown in a RPG style pop-up text", - "Keywords":"show,floating,damage,text,showfloatingdamagetext", - "FieldName":"ShowFloatingDamageText", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ShowFloatingDamageText", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Prevent Spawn Animation", - "Category":"ARK Gameplay Settings", - "Description":"If set, player characters spawn and respawn without the wake-up animation", - "Keywords":"prevent,spawn,animations,preventspawnanimations", - "FieldName":"PreventSpawnAnimations", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventSpawnAnimations", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable Creature Mate Boost", - "Category":"ARK Gameplay Settings", - "Description":"If set, disables creature mate boosting", - "Keywords":"prevent,mate,boost,preventmateboost", - "FieldName":"PreventMateBoost", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventMateBoost", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Hit Markers", - "Category":"ARK Gameplay Settings", - "Description":"If set, enables optional hit markers for ranged attacks", - "Keywords":"allow,hit,markers,allowhitmarkers", - "FieldName":"AllowHitMarkers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AllowHitMarkers", - "IncludeInCommandLine":true, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Maximum Tamed Creatures", - "Category":"ARK Gameplay Settings", - "Description":"Sets the maximum number of tamed creatures on the server. This is a global cap", - "Keywords":"maximum,tamed,creatures,limit,maxtameddinos", - "FieldName":"MaxTamedDinos", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxTamedDinos", - "IncludeInCommandLine":true, - "DefaultValue":"4000", - "Placeholder":"4000", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Personal Tamed Creatures", - "Category":"ARK Gameplay Settings", - "Description":"Sets the maximum number of tamed creatures that a tribe is allowed to have", - "Keywords":"maximum,tamed,personal,creatures,limit,maxpersonaltameddinos", - "FieldName":"MaxPersonalTamedDinos", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxPersonalTamedDinos", - "IncludeInCommandLine":true, - "DefaultValue":"500", - "Placeholder":"500", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Tribute Creatures", - "Category":"ARK Gameplay Settings", - "Description":"Sets the maximum number of slots for uploaded creatures", - "Keywords":"maximum,tribute,creatures,limit,maxtributedinos", - "FieldName":"MaxTributeDinos", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxTributeDinos", - "IncludeInCommandLine":true, - "DefaultValue":"20", - "Placeholder":"20", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Structures", - "Category":"ARK Gameplay Settings", - "Description":"Sets the maximum number of structures that can be constructed within a certain range", - "Keywords":"maximum,structures,limit,themaxstructuresinrange", - "FieldName":"TheMaxStructuresInRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"TheMaxStructuresInRange", - "IncludeInCommandLine":true, - "DefaultValue":"10500", - "Placeholder":"10500", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Tribute Items", - "Category":"ARK Gameplay Settings", - "Description":"Sets the maximum number of slots for uploaded items and resources", - "Keywords":"maximum,tribute,items,limit,maxtributeitems", - "FieldName":"MaxTributeItems", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxTributeItems", - "IncludeInCommandLine":true, - "DefaultValue":"50", - "Placeholder":"50", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Players In Tribe", - "Category":"ARK Gameplay Settings", - "Description":"Sets the maximum number of players in each tribe. 0 = no limit, 1 = tribes effectively disabled", - "Keywords":"maximum,tribe,players,limit,maxnumberofplayersintribe", - "FieldName":"MaxNumberOfPlayersInTribe", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.MaxNumberOfPlayersInTribe", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Prevent Tribe Alliances", - "Category":"ARK Gameplay Settings", - "Description":"If set, tribes will be prevented from creating alliances", - "Keywords":"prevent,tribe,alliances,preventtribealliances", - "FieldName":"PreventTribeAlliances", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventTribeAlliances", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable PvP Friendly Fire", - "Category":"ARK Gameplay Settings", - "Description":"If set, prevents friendly fire among tribe-mates, tribe-creatures and tribe-structures on PvP servers", - "Keywords":"pvp,friendly,fire,bdisablefriendlyfire", - "FieldName":"bDisableFriendlyFire", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bDisableFriendlyFire", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable PvE Friendly Fire", - "Category":"ARK Gameplay Settings", - "Description":"If set, prevents friendly fire among tribe-mates, tribe-creatures and tribe-structures on PvE servers", - "Keywords":"pve,friendly,fire,bpvedisablefriendlyfire", - "FieldName":"bPvEDisableFriendlyFire", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bPvEDisableFriendlyFire", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable PvP Gamma", - "Category":"ARK Gameplay Settings", - "Description":"If set, allows gamma changes in PvP mode", - "Keywords":"pvp,gamma,enablepvpgamma", - "FieldName":"EnablePVPGamma", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"EnablePVPGamma", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable PvE Gamma", - "Category":"ARK Gameplay Settings", - "Description":"If set, prevents gamma changes in PvE mode", - "Keywords":"pve,gamma,disablepvegamma", - "FieldName":"DisablePVEGamma", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DisablePVEGamma", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Notify Player Join", - "Category":"ARK Gameplay Settings", - "Description":"If set, players will always be notified if someone joins the server", - "Keywords":"notify,player,join,alwaysnotifyplayerjoined", - "FieldName":"AlwaysNotifyPlayerJoined", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ServerSettings.AlwaysNotifyPlayerJoined", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Notify Player Leave", - "Category":"ARK Gameplay Settings", - "Description":"If set, players will always be notified if someone leaves the server", - "Keywords":"notify,player,leave,alwaysnotifyplayerleft", - "FieldName":"alwaysNotifyPlayerLeft", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"alwaysNotifyPlayerLeft", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Global Voice Chat", - "Category":"ARK Gameplay Settings", - "Description":"If set, voice chat will be enabled globally", - "Keywords":"voice,chat,globalvoicechat", - "FieldName":"globalVoiceChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"globalVoiceChat", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Proximity Chat", - "Category":"ARK Gameplay Settings", - "Description":"If set, only players near each other can see each other's chat messages", - "Keywords":"proximity,chat,proximitychat", - "FieldName":"proximityChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"proximityChat", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow PvE Cave Building", - "Category":"ARK Gameplay Settings", - "Description":"If set, allows building in caves in PvE mode", - "Keywords":"pve,cave,building,allowcavebuildingpve", - "FieldName":"AllowCaveBuildingPVE", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ServerSettings.AllowCaveBuildingPVE", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow PvE Flyer Carry", - "Category":"ARK Gameplay Settings", - "Description":"If set, flyers will be permitted to pick up other creatures and players when mounted by a player in PvE mode", - "Keywords":"pve,flyer,carry,allowflyercarrypve", - "FieldName":"AllowFlyerCarryPvE", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AllowFlyerCarryPvE", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Flyer Speed Levelling", - "Category":"ARK Gameplay Settings", - "Description":"If set, flyers can have their movement speed levelled up", - "Keywords":"flyer,movement,speed,level,up,allowflyerspeedleveling", - "FieldName":"AllowFlyerSpeedLeveling", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AllowFlyerSpeedLeveling", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-AllowFlyerSpeedLeveling " - } - }, - { - "DisplayName":"Allow Cave Flyers", - "Category":"ARK Gameplay Settings", - "Description":"If set, flyers will always be allowed into caves", - "Keywords":"allow,cave,flyers,forceallowcaveflyers", - "FieldName":"ForceAllowCaveFlyers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ForceAllowCaveFlyers", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-ForceAllowCaveFlyers " - } - }, - { - "DisplayName":"Disable Wild Creature Spawn", - "Category":"ARK Gameplay Settings", - "Description":"If set, wild creatures will not be spawned in the server. For an existing server, existing creatures need to be wiped with the admin command \"destroywilddinos\"", - "Keywords":"no,creatures,spawn,nodinos", - "FieldName":"nodinos", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"nodinos", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-nodinos " - } - }, - { - "DisplayName":"Prevent Hibernation", - "Category":"ARK Gameplay Settings", - "Description":"If set, creatures in inactive zones will not hibernate, at the cost of performance and memory usage", - "Keywords":"prevent,hibernation,preventhibernation", - "FieldName":"PreventHibernation", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventHibernation", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-PreventHibernation " - } - }, - { - "DisplayName":"Force Wild Creature Respawn On Start", - "Category":"ARK Gameplay Settings", - "Description":"If set, all wild creatures that are not currently being tamed will be destroyed on server start", - "Keywords":"force,creature,respawn,forcerespawndinos", - "FieldName":"ForceRespawnDinos", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ForceRespawnDinos", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-ForceRespawnDinos " - } - }, - { - "DisplayName":"Force Wild Creature Respawn At Interval", - "Category":"ARK Gameplay Settings", - "Description":"Sets the period to force respawns of wild creatures to prevent certain types (like the Basilo and Spino) from becoming depopulated on long running servers, as well as removing any lingering event creatures. 0 = disabled", - "Keywords":"auto,force,respawn,wild,creatures,interval,serverautoforcerespawnwilddinosinterval", - "FieldName":"ServerAutoForceRespawnWildDinosInterval", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ServerAutoForceRespawnWildDinosInterval", - "IncludeInCommandLine":false, - "DefaultValue":"604800", - "Placeholder":"604800", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Disable Tek Railgun", - "Category":"ARK Gameplay Settings", - "Description":"If set, the Tek Railgun will be disabled in PvP mode", - "Keywords":"disable,tek,railgun,disablerailgunpvp", - "FieldName":"DisableRailgunPVP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DisableRailgunPVP", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-DisableRailgunPVP " - } - }, - { - "DisplayName":"Disable Loot Crates", - "Category":"ARK Gameplay Settings", - "Description":"If set, loot crates will not spawn. Artifact crates will still spawn", - "Keywords":"disable,loot,crates,disablelootcrates", - "FieldName":"bDisableLootCrates", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bDisableLootCrates", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Player Radius For No Resource Replenish", - "Category":"ARK Gameplay Settings", - "Description":"Sets the distance around players where resources are not allowed to grow back. Values higher than 1 increase it, values between 0 and 1 reduce it", - "Keywords":"player,resource,radius,resourcenoreplenishradiusplayers", - "FieldName":"ResourceNoReplenishRadiusPlayers", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.ResourceNoReplenishRadiusPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Structure Radius For No Resource Replenish", - "Category":"ARK Gameplay Settings", - "Description":"Sets the distance around structures where resources are not allowed to grow back. Values higher than 1 increase it, values between 0 and 1 reduce it", - "Keywords":"structure,resource,radius,resourcenoreplenishradiusstructures", - "FieldName":"ResourceNoReplenishRadiusStructures", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.ResourceNoReplenishRadiusStructures", - "IncludeInCommandLine":false, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Disable PvE Creature Decay", - "Category":"ARK Gameplay Settings", - "Description":"If set, the gradual (7 days) decay (or unclaiming) of creature ownership will be disabled in PvE mode. Otherwise, every creature can be claimed by any player", - "Keywords":"pve,dino,decay,unclaim,disabledinodecaypve", - "FieldName":"DisableDinoDecayPvE", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DisableDinoDecayPvE", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable PvP Creature Decay", - "Category":"ARK Gameplay Settings", - "Description":"If set, the gradual decay (or unclaiming) of creature ownership will be enabled in PvP mode", - "Keywords":"pvp,dino,decay,unclaim,pvpdinodecay", - "FieldName":"PvPDinoDecay", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PvPDinoDecay", - "IncludeInCommandLine":true, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Passive Defence Damage", - "Category":"ARK Gameplay Settings", - "Description":"If set, wild creatures and riderless creatures can take damage from passive defence structures like spikewalls", - "Keywords":"passive,defense,defence,damage,bpassivedefensesdamageriderlessdinos", - "FieldName":"bPassiveDefensesDamageRiderlessDinos", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bPassiveDefensesDamageRiderlessDinos", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Prevent Diseases", - "Category":"ARK Gameplay Settings", - "Description":"If set, diseases will be completely disabled on the server", - "Keywords":"prevent,diseases,preventdiseases", - "FieldName":"PreventDiseases", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventDiseases", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable Permanent Diseases", - "Category":"ARK Gameplay Settings", - "Description":"If set, diseases will not be permanent (they will be lost on respawn)", - "Keywords":"non,permanent,diseases,nonpermanentdiseases", - "FieldName":"NonPermanentDiseases", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NonPermanentDiseases", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Care By Anyone", - "Category":"ARK Gameplay Settings", - "Description":"If set, enables anyone to \"take care\" of baby creatures (cuddle etc), not just whomever imprinted on it", - "Keywords":"care,baby,creature,cuddle,imprint,allowanyonebabyimprintcuddle", - "FieldName":"AllowAnyoneBabyImprintCuddle", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AllowAnyoneBabyImprintCuddle", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable Imprint Creature Buff", - "Category":"ARK Gameplay Settings", - "Description":"If set, disables the creature imprinting player Stat Bonus (where whomever specifically imprinted on the creature, and raised it to have an imprinting quality, gets extra damage/resistance buff)", - "Keywords":"buff,creature,imprint,disableimprintdinobuff", - "FieldName":"DisableImprintDinoBuff", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DisableImprintDinoBuff", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Destroy Unconnected Water Pipes", - "Category":"ARK Gameplay Settings", - "Description":"If set, water pipes will be destroyed automatically after two real-time days, if unconnected to any non-pipe (directly or indirectly) and no allied player is nearby", - "Keywords":"unconnected,water,pipes,destroy,destroyunconnectedwaterpipes", - "FieldName":"DestroyUnconnectedWaterPipes", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DestroyUnconnectedWaterPipes", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Minimum Creature Re-upload Interval", - "Category":"ARK Gameplay Settings", - "Description":"Sets the cooldown period between allowed creature re-uploads", - "Keywords":"creature,upload,interval,minimumdinoreuploadinterval", - "FieldName":"MinimumDinoReuploadInterval", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"MinimumDinoReuploadInterval", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Auto Destroy Decayed Creatures", - "Category":"ARK Gameplay Settings", - "Description":"If set, claimable decayed creatures will be auto-destroyed on load, rather than remaining around as claimable", - "Keywords":"destroy,auto,decay,creature,autodestroydecayeddinos", - "FieldName":"AutoDestroyDecayedDinos", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AutoDestroyDecayedDinos", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Optimize Harvest Amount Multiplier", - "Category":"ARK Gameplay Settings", - "Description":"If set, optimizes the server performance when using a higher Harvest Amount Multiplier, by reducing the bias towards yielding rarer items", - "Keywords":"optimized,harvest,multiplier,useoptimizedharvestinghealth", - "FieldName":"UseOptimizedHarvestingHealth", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"UseOptimizedHarvestingHealth", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Force Flyer Explosives", - "Category":"ARK Gameplay Settings", - "Description":"If set, allows flyers to fly with C4 attached to them. Otherwise, except for Quetzal and Wyvern, they can't fly", - "Keywords":"flyer,explosives,forceflyerexplosives", - "FieldName":"ForceFlyerExplosives", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ForceFlyerExplosives", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Multiple Attached C4", - "Category":"ARK Gameplay Settings", - "Description":"If enabled, more than one C4 can be attached per creature", - "Keywords":"c4,multiple,attached,allowmultipleattachedc4", - "FieldName":"AllowMultipleAttachedC4", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AllowMultipleAttachedC4", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Flying Stamina Recovery", - "Category":"ARK Gameplay Settings", - "Description":"If set, flyers can recover stamina when a player is standing on them instead of riding", - "Keywords":"flying,stamina,recovery,allowflyingstaminarecovery", - "FieldName":"AllowFlyingStaminaRecovery", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AllowFlyingStaminaRecovery", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable Weather Fog", - "Category":"ARK Gameplay Settings", - "Description":"If set, fog is disabled", - "Keywords":"weather,fog,disableweatherfog", - "FieldName":"DisableWeatherFog", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DisableWeatherFog", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Random Supply Crate Points", - "Category":"ARK Gameplay Settings", - "Description":"If enabled, supply drops will be in random locations. NOTE: This setting is known to cause artifacts to become inaccessible on the Ragnarok map", - "Keywords":"random,supply,crate,points,randomsupplycratepoints", - "FieldName":"RandomSupplyCratePoints", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"RandomSupplyCratePoints", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Foreign Creature Downloads on Aberration", - "Category":"ARK Gameplay Settings", - "Description":"If set, enables tribute download of non-native creatures on the Aberration map", - "Keywords":"foreign,creature,download,crossarkallowforeigndinodownloads", - "FieldName":"CrossARKAllowForeignDinoDownloads", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"CrossARKAllowForeignDinoDownloads", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Day/Night Cycle Speed Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the server day/night cycle. The default value 1 sets the same speed as a singleplayer game, ie 1 minute real time = approx 28 minutes server time. A scale of 0.035 would set a day/night cycle of approx 24 hours real time", - "Keywords":"day,night,cycle,speed,multiplier,daycyclespeedscale", - "FieldName":"DayCycleSpeedScale", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DayCycleSpeedScale", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Day Time Speed Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the length of each server day, relative to the length of each night. Lowering this value increases the day length", - "Keywords":"day,time,speed,multiplier,daytimespeedscale", - "FieldName":"DayTimeSpeedScale", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DayTimeSpeedScale", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Night Time Speed Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the length of each server night, relative to the length of each day. Lowering this value increases the night length", - "Keywords":"night,time,speed,multiplier,nighttimespeedscale", - "FieldName":"NightTimeSpeedScale", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"NightTimeSpeedScale", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"XP Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for experience (XP) received by players, tribes and creatures for various actions. The default value 1 provides the same experience as a singleplayer game. Higher values increase XP amounts awarded, lower values decrease it", - "Keywords":"xp,experience,multiplier,xpmultiplier", - "FieldName":"XPMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"XPMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Player Food Drain Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for player characters' food consumption. Higher values increase food consumption (player characters get hungry faster)", - "Keywords":"player,food,drain,hunger,multiplier,playercharacterfooddrainmultiplier", - "FieldName":"PlayerCharacterFoodDrainMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PlayerCharacterFoodDrainMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Player Water Drain Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for player characters' water consumption. Higher values increase water consumption (player characters get thirsty faster)", - "Keywords":"player,water,drain,thirst,multiplier,playercharacterwaterdrainmultiplier", - "FieldName":"PlayerCharacterWaterDrainMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PlayerCharacterWaterDrainMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Player Health Recovery Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for player characters' health recovery. Higher values increase the recovery rate (player characters heal faster)", - "Keywords":"player,health,recovery,multiplier,playercharacterhealthrecoverymultiplier", - "FieldName":"PlayerCharacterHealthRecoveryMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PlayerCharacterHealthRecoveryMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Player Stamina Drain Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for player characters' stamina consumption. Higher values increase stamina consumption (player characters get tired faster)", - "Keywords":"player,stamina,drain,multiplier,playercharacterstaminadrainmultiplier", - "FieldName":"PlayerCharacterStaminaDrainMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PlayerCharacterStaminaDrainMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Player Damage Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the damage that players cause with their attacks. The default value 1 causes normal damage. Higher values increase damage, lower values decrease it", - "Keywords":"player,damage,multiplier,playerdamagemultiplier", - "FieldName":"PlayerDamageMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PlayerDamageMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Player Resistance Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for players' damage resistance when attacked. The default value 1 causes normal damage. Higher values decrease resistance, increasing damage per attack. Lower values increase it, reducing damage per attack", - "Keywords":"player,resistance,multiplier,playerresistancemultiplier", - "FieldName":"PlayerResistanceMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PlayerResistanceMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Creature Food Drain Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for creatures' food consumption. Higher values increase food consumption (creatures get hungry faster)", - "Keywords":"creature,food,drain,hunger,multiplier,dinocharacterfooddrainmultiplier", - "FieldName":"DinoCharacterFoodDrainMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DinoCharacterFoodDrainMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Creature Health Recovery Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for creatures' health recovery. Higher values increase the recovery rate (creatures heal faster)", - "Keywords":"creature,health,recovery,multiplier,dinocharacterhealthrecoverymultiplier", - "FieldName":"DinoCharacterHealthRecoveryMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DinoCharacterHealthRecoveryMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Creature Stamina Drain Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for creatures' stamina consumption. Higher values increase stamina consumption (creatures get tired faster)", - "Keywords":"creature,stamina,drain,multiplier,dinocharacterstaminadrainmultiplier", - "FieldName":"DinoCharacterStaminaDrainMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DinoCharacterStaminaDrainMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Creature Damage Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the damage that wild creatures cause with their attacks. The default value 1 causes normal damage. Higher values increase damage, lower values decrease it", - "Keywords":"creature,damage,multiplier,dinodamagemultiplier", - "FieldName":"DinoDamageMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DinoDamageMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Creature Resistance Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for wild creatures' damage resistance when attacked. The default value 1 causes normal damage. Higher values decrease resistance, increasing damage per attack. Lower values increase it, reducing damage per attack", - "Keywords":"creature,resistance,multiplier,dinoresistancemultiplier", - "FieldName":"DinoResistanceMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DinoResistanceMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Creature Spawn Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for creature spawns. Higher values increase the number of creatures spawned throughout the server", - "Keywords":"creature,spawn,multiplier,dinocountmultiplier", - "FieldName":"DinoCountMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DinoCountMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"PvE Creature Decay Period Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Set the scaling factor for the unclaiming speed of creatures in PvE mode", - "Keywords":"pve,creature,decay,period,multiplier,pvedinodecayperiodmultiplier", - "FieldName":"PvEDinoDecayPeriodMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PvEDinoDecayPeriodMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Structure Damage Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the damage that structures (spikewalls) cause with their attacks. The default value 1 causes normal damage. Higher values increase damage, lower values decrease it", - "Keywords":"structure,damage,multiplier,structuredamagemultiplier", - "FieldName":"StructureDamageMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StructureDamageMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Structure Resistance Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for structures' damage resistance when attacked. The default value 1 causes normal damage. Higher values decrease resistance, increasing damage per attack. Lower values increase it, reducing damage per attack", - "Keywords":"structure,resistance,multiplier,structureresistancemultiplier", - "FieldName":"StructureResistanceMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StructureResistanceMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"PvE Structure Decay Period Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the decay rate of player structures in PvE mode", - "Keywords":"pve,structure,decay,pvestructuredecayperiodmultiplier", - "FieldName":"PvEStructureDecayPeriodMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PvEStructureDecayPeriodMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Platform Structures Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the maximum number of structures placeable on platform saddles and rafts. NOTE: high values may lead to lag", - "Keywords":"saddle,platform,raft,structure,multiplier,perplatformmaxstructuresmultiplier", - "FieldName":"PerPlatformMaxStructuresMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PerPlatformMaxStructuresMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Auto Structure Destruction Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor, relative to the period for allowing claims, to automatically destroy structures if there has been no near tribe player during that time", - "Keywords":"time,tribe,structure,destroy,autodestroyoldstructuresmultiplier", - "FieldName":"AutoDestroyOldStructuresMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"AutoDestroyOldStructuresMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Harvest Amount Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for yields from all harvesting activities (chopping down trees, picking berries, carving carcasses, mining rocks, etc). Higher values increase the amount harvested with each strike", - "Keywords":"harvest,yield,multiplier,harvestamountmultiplier", - "FieldName":"HarvestAmountMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"HarvestAmountMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Harvest Health Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the \"health\" of harvestable items (trees, rocks, carcasses, etc). Higher values increase the number of strikes needed to destroy them, increasing harvest yields", - "Keywords":"harvest,health,multiplier,harvesthealthmultiplier", - "FieldName":"HarvestHealthMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"HarvestHealthMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Resources Respawn Period Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for the resource node respawn rate (trees, rocks, bushes, etc). Lower values cause nodes to respawn more frequently", - "Keywords":"resource,respawn,period,multiplier,resourcesrespawnperiodmultiplier", - "FieldName":"ResourcesRespawnPeriodMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ResourcesRespawnPeriodMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Creature Taming Speed Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for creature taming speed. Higher values make taming faster", - "Keywords":"taming,speed,multiplier,tamingspeedmultiplier", - "FieldName":"TamingSpeedMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"TamingSpeedMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Oxygen Swim Speed Multiplier", - "Category":"ARK Multiplier Settings", - "Description":"Sets the scaling factor for swim speed, relative to the level spent in oxygen", - "Keywords":"swim,speed,oxygen,oxygenswimspeedstatmultiplier", - "FieldName":"OxygenSwimSpeedStatMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"OxygenSwimSpeedStatMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Enable Structure Stasis Grid", - "Category":"ARK Structure Settings", - "Description":"If set, enables the structure stasis grid to improve server performance on large bases with lots of players. Structures are loaded based on grids with players. Not recommended for modded servers", - "Keywords":"structure,stasis,grid,usestructurestasisgrid", - "FieldName":"UseStructureStasisGrid", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"UseStructureStasisGrid", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-UseStructureStasisGrid " - } - }, - { - "DisplayName":"Auto Destroy Structures", - "Category":"ARK Structure Settings", - "Description":"If set, auto destruction of old structures will be enabled. The destruction timer can be adjusted with Auto Structure Destruction Multiplier", - "Keywords":"auto,destroy,structures,autodestroystructures", - "FieldName":"AutoDestroyStructures", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AutoDestroyStructures", - "IncludeInCommandLine":false, - "DefaultValue":"-AutoDestroyStructures ", - "EnumValues":{ - "False":"", - "True":"-AutoDestroyStructures " - } - }, - { - "DisplayName":"Auto Destroy Core Structures Only", - "Category":"ARK Structure Settings", - "Description":"If set, any non-core/non-foundation structures will not be auto destroyed (assuming Auto Destroy Structures is enabled), except if a floor they are on is auto destroyed", - "Keywords":"auto,destroy,core,structures,onlyautodestroycorestructures", - "FieldName":"OnlyAutoDestroyCoreStructures", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"OnlyAutoDestroyCoreStructures", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Only Auto Destroy Unsnapped Core Structures", - "Category":"ARK Structure Settings", - "Description":"If set, only unsnapped core structures will decay (be auto destroyed). Useful for eliminating lone pillar/foundation spam on servers in PvP mode", - "Keywords":"auto,destroy,unsnapped,core,structures,onlydecayunsnappedcorestructures", - "FieldName":"OnlyDecayUnsnappedCoreStructures", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"OnlyDecayUnsnappedCoreStructures", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable PvE Structure Decay", - "Category":"ARK Structure Settings", - "Description":"If set, the gradual (7 days) decay of player structures will be disabled in PvE mode", - "Keywords":"pve,structure,decay,disablestructuredecaypve", - "FieldName":"DisableStructureDecayPvE", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DisableStructureDecayPvE", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable PvP Structure Decay", - "Category":"ARK Structure Settings", - "Description":"If set, the gradual decay of structures will be enabled in PvP mode", - "Keywords":"pvp,structure,decay,pvpstructuredecay", - "FieldName":"PvPStructureDecay", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PvPStructureDecay", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Fast Decay Unsnapped Core Structures", - "Category":"ARK Structure Settings", - "Description":"If set, unsnapped foundations/pillars will decay at 5x speed", - "Keywords":"fast,decay,unsnapped,core,structure,fastdecayunsnappedcorestructures", - "FieldName":"FastDecayUnsnappedCoreStructures", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"FastDecayUnsnappedCoreStructures", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Structure Damage Repair Cooldown", - "Category":"ARK Structure Settings", - "Description":"Sets the cooldown period on structure repair from the last time damaged. 0 = disabled (structures can always be repaired)", - "Keywords":"structure,damage,repair,cooldown,structuredamagerepaircooldown", - "FieldName":"StructureDamageRepairCooldown", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.StructureDamageRepairCooldown", - "IncludeInCommandLine":false, - "DefaultValue":"180", - "Placeholder":"180", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Platform Saddle Limit", - "Category":"ARK Structure Settings", - "Description":"Sets the maximum number of platformed-creatures/rafts allowed on the server", - "Keywords":"maximum,platform,saddle,structure,limit,maxplatformsaddlestructurelimit", - "FieldName":"MaxPlatformSaddleStructureLimit", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ServerSettings.MaxPlatformSaddleStructureLimit", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Placeholder":"100", - "EnumValues":{} - }, - { - "DisplayName":"Platform Saddle Cost", - "Category":"ARK Structure Settings", - "Description":"Sets the number of \"tamed creature slots\" a platform saddle will use", - "Keywords":"tamed,creature,cost,saddle,platform,personaltameddinossaddlestructurecost", - "FieldName":"PersonalTamedDinosSaddleStructureCost", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PersonalTamedDinosSaddleStructureCost", - "IncludeInCommandLine":true, - "DefaultValue":"19", - "Placeholder":"19", - "EnumValues":{} - }, - { - "DisplayName":"Override Structure Platform Prevention", - "Category":"ARK Structure Settings", - "Description":"If set, turret and spike structures will be buildable and functional on platform saddles", - "Keywords":"override,structure,platform,overridestructureplatformprevention", - "FieldName":"OverrideStructurePlatformPrevention", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"OverrideStructurePlatformPrevention", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable Building In Rich Resource Areas", - "Category":"ARK Structure Settings", - "Description":"If set, completely disables building in specific resource-rich areas, in particular setup on The Island around the major mountains", - "Keywords":"rich,resources,block,building,extra,structure,prevention,enableextrastructurepreventionvolumes", - "FieldName":"EnableExtraStructurePreventionVolumes", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"EnableExtraStructurePreventionVolumes", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Crate Spawns On Structures", - "Category":"ARK Structure Settings", - "Description":"If set, from-the-air supply crates can appear on top of structures, rather than being prevented by structures", - "Keywords":"crates,structures,allowcratespawnsontopofstructures", - "FieldName":"AllowCrateSpawnsOnTopOfStructures", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AllowCrateSpawnsOnTopOfStructures", - "IncludeInCommandLine":true, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow PvE Structures At Supply Drops", - "Category":"ARK Structure Settings", - "Description":"If set, building near supply drop points will be allowed in PvE mode", - "Keywords":"pve,supply,drops,structures,pveallowstructuresatsupplydrops", - "FieldName":"PvEAllowStructuresAtSupplyDrops", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PvEAllowStructuresAtSupplyDrops", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable Structure Placement Collision", - "Category":"ARK Structure Settings", - "Description":"If set, allows for structures to clip into the terrain", - "Keywords":"structure,placement,collision,bdisablestructureplacementcollision", - "FieldName":"bDisableStructurePlacementCollision", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/ShooterGame.ShooterGameMode.bDisableStructurePlacementCollision", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Cluster Directory Override", - "Category":"ARK Cluster Settings", - "Description":"Sets the path to a shared cluster directory for a server cluster. The cluster directory must be accessible to all cluster servers. If the server is in Docker, the directory must be mounted in the container", - "Keywords":"cluster,directory,override,clusterdiroverride", - "FieldName":"ClusterDirOverride", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ClusterDirOverride", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Cluster ID", - "Category":"ARK Cluster Settings", - "Description":"Sets the cluster ID for a server cluster. The cluster ID must be the same on all servers in the cluster", - "Keywords":"cluster,id,clusterid", - "FieldName":"clusterid", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"clusterid", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Prevent Character Download", - "Category":"ARK Cluster Settings", - "Description":"If set, prevents the download of characters from a cluster to the server", - "Keywords":"prevent,download,tribute,characters,data,transfer,cluster,notributedownloads", - "FieldName":"noTributeDownloads", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"noTributeDownloads", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Prevent Survivor Download", - "Category":"ARK Cluster Settings", - "Description":"If set, prevents the download of survivors from a cluster to the server", - "Keywords":"prevent,download,survivor,data,transfer,cluster,preventdownloadsurvivors", - "FieldName":"PreventDownloadSurvivors", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventDownloadSurvivors", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Prevent Item Download", - "Category":"ARK Cluster Settings", - "Description":"If set, prevents the download of items from a cluster to the server", - "Keywords":"prevent,download,items,data,transfer,cluster,preventdownloaditems", - "FieldName":"PreventDownloadItems", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventDownloadItems", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Prevent Creature Download", - "Category":"ARK Cluster Settings", - "Description":"If set, prevents the download of tamed creatures from a cluster to the server", - "Keywords":"prevent,download,creatures,data,transfer,cluster,preventdownloaddinos", - "FieldName":"PreventDownloadDinos", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventDownloadDinos", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Prevent Survivor Upload", - "Category":"ARK Cluster Settings", - "Description":"If set, prevents the upload of survivors from the server to a cluster", - "Keywords":"prevent,upload,survivor,data,transfer,cluster,preventuploadsurvivors", - "FieldName":"PreventUploadSurvivors", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventUploadSurvivors", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Prevent Item Upload", - "Category":"ARK Cluster Settings", - "Description":"If set, prevents the upload of items from the server to a cluster", - "Keywords":"prevent,upload,items,data,transfer,cluster,preventuploaditems", - "FieldName":"PreventUploadItems", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventUploadItems", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Prevent Creature Upload", - "Category":"ARK Cluster Settings", - "Description":"If set, prevents the upload of tamed creatures from the server to a cluster", - "Keywords":"prevent,upload,creatures,data,transfer,cluster,preventuploaddinos", - "FieldName":"PreventUploadDinos", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PreventUploadDinos", - "IncludeInCommandLine":true, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Download Backup Exclusion Files", - "Category":"SteamCMD and Updates", - "Description":"If enabled, default backup exclusion configuration files are downloaded when the server is updated, to save space on AMP backups. If disabled, manually delete any .backupExclude files in the server base directory and in the ShooterGame directory to prevent backup exclusions", - "Keywords":"backup,exclude,exclusion,file", - "FieldName":"backupExclude", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"backupExclude", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - } -] diff --git a/ark-segame.ini b/ark-segame.ini deleted file mode 100644 index 68030e417..000000000 --- a/ark-segame.ini +++ /dev/null @@ -1,80 +0,0 @@ -[/Script/ShooterGame.ShooterGameMode] -bDisableGenesisMissions=False -bIgnoreStructuresPreventionVolumes=True -bGenesisUseStructuresPreventionVolumes=True -bShowCreativeMode=False -bAutoUnlockAllEngrams=False -MaxTribeLogs=100 -bDisableFriendlyFire=False -bUseCorpseLocator=False -bDisableStructurePlacementCollision=False -bAllowUnlimitedRespecs=False -bPvEDisableFriendlyFire=False -bFlyerPlatformAllowUnalignedDinoBasing=False -bDisableLootCrates=False -bIncreasePvPRespawnInterval=False -IncreasePvPRespawnIntervalCheckPeriod=300 -IncreasePvPRespawnIntervalMultiplier=2 -IncreasePvPRespawnIntervalBaseAmount=60 -bAutoPvETimer=False -bAutoPvEUseSystemTime=False -AutoPvEStartTimeSeconds=0 -AutoPvEStopTimeSeconds=0 -bPvEAllowTribeWar=True -bPvEAllowTribeWarCancel=False -MaxAlliancesPerTribe=10 -MaxNumberOfPlayersInTribe=0 -FastDecayInterval=43200 -bAllowCustomRecipes=False -CustomRecipeEffectivenessMultiplier=1.00000 -CustomRecipeSkillMultiplier=1.00000 -bAllowPlatformSaddleMultiFloors=False -UseCorpseLifeSpanMultiplier=1.00000 -GlobalPoweredBatteryDurabilityDecreasePerSecond=3 -OverrideMaxExperiencePointsPlayer=0 -OverrideMaxExperiencePointsDino=0 -PlayerHarvestingDamageMultiplier=1.00000 -CraftingSkillBonusMultiplier=1.00000 -DinoHarvestingDamageMultiplier=3.20000 -DinoTurretDamageMultiplier=1.00000 -WildDinoCharacterFoodDrainMultiplier=1.00000 -WildDinoTorporDrainMultiplier=1.00000 -TamedDinoCharacterFoodDrainMultiplier=1.00000 -TamedDinoTorporDrainMultiplier=1.00000 -PassiveTameIntervalMultiplier=1.00000 -ResourceNoReplenishRadiusPlayers=1.00000 -ResourceNoReplenishRadiusStructures=1.00000 -GlobalItemDecompositionTimeMultiplier=1.00000 -GlobalCorpseDecompositionTimeMultiplier=1.00000 -CraftXPMultiplier=1.00000 -HarvestXPMultiplier=1.00000 -KillXPMultiplier=1.00000 -SpecialXPMultiplier=1.00000 -StructureDamageRepairCooldown=180 -PvPZoneStructureDamageMultiplier=6.00000 -bPassiveDefensesDamageRiderlessDinos=False -bLimitTurretsInRange=True -LimitTurretsRange=10000 -LimitTurretsNum=100 -bHardLimitTurretsInRange=False -PreventOfflinePvPConnectionInvincibleInterval=5.00000 -bDisableDinoRiding=False -bDisableDinoTaming=False -bUseTameLimitForStructuresOnly=False -GlobalSpoilingTimeMultiplier=1.00000 -BabyImprintingStatScaleMultiplier=1.00000 -BabyImprintAmountMultiplier=1.00000 -MatingIntervalMultiplier=1.00000 -LayEggIntervalMultiplier=1.00000 -EggHatchSpeedMultiplier=1.00000 -BabyMatureSpeedMultiplier=1.00000 -BabyCuddleIntervalMultiplier=1.00000 -BabyCuddleGracePeriodMultiplier=1.00000 -BabyCuddleLoseImprintQualitySpeedMultiplier=1.00000 -BabyFoodConsumptionSpeedMultiplier=1.00000 -SupplyCrateLootQualityMultiplier=1.00000 -FishingLootQualityMultiplier=1.00000 -CropGrowthSpeedMultiplier=1.00000 -PoopIntervalMultiplier=1.00000 -CropDecaySpeedMultiplier=1.00000 -HairGrowthSpeedMultiplier=1.00000 diff --git a/ark-selinux-gameusersettings.ini b/ark-selinux-gameusersettings.ini deleted file mode 100644 index 523a0397d..000000000 --- a/ark-selinux-gameusersettings.ini +++ /dev/null @@ -1,169 +0,0 @@ -[ServerSettings] -BanListURL="http://arkdedicated.com/banlist.txt" -AlwaysNotifyPlayerJoined=False -AllowCaveBuildingPVE=False -MaxPlatformSaddleStructureLimit=100 - -[/Script/ShooterGame.ShooterGameUserSettings] -MasterAudioVolume=1.000000 -MusicAudioVolume=1.000000 -SFXAudioVolume=1.000000 -VoiceAudioVolume=2.000000 -CharacterAudioVolume=1.000000 -UIScaling=1.000000 -UIQuickbarScaling=0.650000 -CameraShakeScale=0.650000 -bFirstPersonRiding=False -bThirdPersonPlayer=False -bInventoryHideUnlearnedEngrams=False -bShowStatusNotificationMessages=True -TrueSkyQuality=0.000000 -FOVMultiplier=1.000000 -GroundClutterDensity=0.000000 -bFilmGrain=False -bMotionBlur=False -bUseDistanceFieldAmbientOcclusion=False -bUseSSAO=False -bShowChatBox=True -bCameraViewBob=True -bInvertLookY=False -bFloatingNames=True -bChatBubbles=True -bHideServerInfo=False -bJoinNotifications=False -bCraftablesShowAllItems=False -bLocalInventoryItemsShowAllItems=False -bLocalInventoryCraftingShowAllItems=True -bRemoteInventoryItemsShowAllItems=False -bRemoteInventoryCraftingShowAllItems=False -bRemoteInventoryShowEngrams=True -bForceDisableSuperDetailMode=True -LookLeftRightSensitivity=1.000000 -LookUpDownSensitivity=1.000000 -GraphicsQuality=1 -ActiveLingeringWorldTiles=1 -ClientNetQuality=3 -LastServerSearchType=0 -LastServerSort=2 -LastPVESearchType=-1 -LastDLCTypeSearchType=-1 -LastServerSortAsc=True -LastAutoFavorite=True -LastServerSearchHideFull=False -LastServerSearchProtected=False -LastServerSearchIncludeServersWithActiveMods=True -HideItemTextOverlay=True -bQuickToggleItemNames=True -bDistanceFieldShadowing=False -LODScalar=0.780000 -bToggleToTalk=False -HighQualityMaterials=True -HighQualitySurfaces=True -bTemperatureF=False -bDisableTorporEffect=False -bChatShowSteamName=False -bChatShowTribeName=True -bReverseTribeLogOrder=False -EmoteKeyBind1=0 -EmoteKeyBind2=0 -bNoBloodEffects=False -bLowQualityVFX=False -bSpectatorManualFloatingNames=False -bSuppressAdminIcon=False -bUseSimpleDistanceMovement=False -bDisableMeleeCameraSwingAnims=False -bHighQualityAnisotropicFiltering=False -bUseLowQualityLevelStreaming=True -bPreventInventoryOpeningSounds=False -bPreventItemCraftingSounds=False -bPreventHitMarkers=False -bPreventCrosshair=False -bPreventColorizedItemNames=False -bHighQualityLODs=False -bExtraLevelStreamingDistance=False -bEnableColorGrading=True -DOFSettingInterpTime=0.000000 -bDisableBloom=False -bDisableLightShafts=False -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -bDisableMenuTransitions=False -bEnableInventoryItemTooltips=True -bRemoteInventoryShowCraftables=False -bNoTooltipDelay=False -LocalItemSortType=0 -LocalCraftingSortType=0 -RemoteItemSortType=0 -RemoteCraftingSortType=0 -VersionMetaTag=1 -ShowExplorerNoteSubtitles=False -DisableMenuMusic=False -DisableDefaultCharacterItems=False -bRequestDefaultCharacterItemsOnce=False -bHasSeenGen2Intro=False -bHideFloatingPlayerNames=False -bHideGamepadItemSelectionModifier=False -bToggleExtendedHUDInfo=False -PlayActionWheelClickSound=True -CompanionReactionVerbosity=3 -EnableEnvironmentalReactions=True -EnableRespawnReactions=True -EnableDeathReactions=True -EnableSayHelloReactions=True -EnableEmoteReactions=True -EnableMovementSounds=True -DisableSubtitles=False -CompanionSubtitleVerbosityLevel=3 -CompanionIsHiddenState=False -MaxAscensionLevel=0 -bHostSessionHasBeenOpened=False -bForceTPVCameraOffset=False -bDisableTPVCameraInterpolation=False -bFPVClimbingGear=False -bFPVGlidingGear=False -Gamma1=2.200000 -Gamma2=3.000000 -AmbientSoundVolume=1.000000 -bAllowAnimationStaggering=True -bUseOldThirdPersonCameraTrace=False -bUseOldThirdPersonCameraOffset=False -bLowQualityAnimations=True -bShowedGenesisDLCBackground=False -bShowedGenesis2DLCBackground=False -bViewedAnimatedSeriesTrailer=False -bViewedARK2Trailer=False -bShowRTSKeyBinds=True -bHasCompletedGen2=False -StopExplorerNoteAudioOnClose=False -bUseVSync=False -MacroCtrl0= -MacroCtrl1= -MacroCtrl2= -MacroCtrl3= -MacroCtrl4= -MacroCtrl5= -MacroCtrl6= -MacroCtrl7= -MacroCtrl8= -MacroCtrl9= -ResolutionSizeX=1280 -ResolutionSizeY=720 -LastUserConfirmedResolutionSizeX=1280 -LastUserConfirmedResolutionSizeY=720 -WindowPosX=-1 -WindowPosY=-1 -bUseDesktopResolutionForFullscreen=False -FullscreenMode=2 -LastConfirmedFullscreenMode=2 -Version=5 - -[MessageOfTheDay] -Message=Welcome to ARK! -Duration=20 \ No newline at end of file diff --git a/ark-semetaconfig.json b/ark-semetaconfig.json deleted file mode 100644 index fe3800510..000000000 --- a/ark-semetaconfig.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - { - "ConfigFile":"./ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormat":"{0}=\"{1}\"", - "ConfigFormatRegex":"^(?<key>.+?)=\"?(?<value>.+?)?\"?$" - }, - { - "ConfigFile":"./ShooterGame/Saved/Config/LinuxServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini" - }, - { - "ConfigFile":"./ShooterGame/Saved/Config/WindowsServer/GameUserSettings.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormat":"{0}=\"{1}\"", - "ConfigFormatRegex":"^(?<key>.+?)=\"?(?<value>.+?)?\"?$" - }, - { - "ConfigFile":"./ShooterGame/Saved/Config/WindowsServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini" - } -] \ No newline at end of file diff --git a/ark-seupdates.json b/ark-seupdates.json deleted file mode 100644 index c56b7b290..000000000 --- a/ark-seupdates.json +++ /dev/null @@ -1,108 +0,0 @@ -[ - { - "UpdateStageName":"Symlink Removal", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm {{$FullBaseDir}}ShooterGame/Binaries/Win64'" - }, - { - "UpdateStageName":"SteamCMD Server Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"376030", - "UpdateSourceArgs":"346110" - }, - { - "UpdateStageName":"SteamCMD Directory Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}Engine/Binaries/ThirdParty/SteamCMD/Linux" - }, - { - "UpdateStageName":"SteamCMD Symlinks Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'ln -sf {{$FullRootDir}}steamcmd.sh {{$FullRootDir}}linux32 ~/Steam/steamapps {{$FullBaseDir}}Engine/Binaries/ThirdParty/SteamCMD/Linux/'" - }, - { - "UpdateStageName":"Working Directory Replacement", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}ShooterGame/Binaries/Win64; ln -sf {{$FullBaseDir}}ShooterGame/Binaries/Linux {{$FullBaseDir}}ShooterGame/Binaries/Win64'" - }, - { - "UpdateStageName":"Config Directory Creation", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}ShooterGame/Saved/Config/WindowsServer", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Config Directory Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}ShooterGame/Saved/Config/LinuxServer", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Game.ini Config Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ark-segame.ini", - "UpdateSourceArgs":"Game.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame/Saved/Config/WindowsServer/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Game.ini Config Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ark-segame.ini", - "UpdateSourceArgs":"Game.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame/Saved/Config/LinuxServer/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"GameUserSettings.ini Config Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ark-sewin-gameusersettings.ini", - "UpdateSourceArgs":"GameUserSettings.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame/Saved/Config/WindowsServer/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"GameUserSettings.ini Config Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ark-selinux-gameusersettings.ini", - "UpdateSourceArgs":"GameUserSettings.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame/Saved/Config/LinuxServer/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"First Backup Exclusions Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/exclusions/.backupExclusionsArk1", - "UpdateSourceArgs":".backupExclude", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceConditionSetting":"backupExclude", - "UpdateSourceConditionValue":"true", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Second Backup Exclusions Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/exclusions/.backupExclusionsArk2", - "UpdateSourceArgs":".backupExclude", - "UpdateSourceTarget":"{{$FullBaseDir}}ShooterGame", - "UpdateSourceConditionSetting":"backupExclude", - "UpdateSourceConditionValue":"true", - "OverwriteExistingFiles":false - } -] \ No newline at end of file diff --git a/ark-sewin-gameusersettings.ini b/ark-sewin-gameusersettings.ini deleted file mode 100644 index e0153f212..000000000 --- a/ark-sewin-gameusersettings.ini +++ /dev/null @@ -1,169 +0,0 @@ -[ServerSettings] -BanListURL="http://arkdedicated.com/banlist.txt" -AlwaysNotifyPlayerJoined=False -AllowCaveBuildingPVE=False -MaxPlatformSaddleStructureLimit=100 - -[/Script/ShooterGame.ShooterGameUserSettings] -MasterAudioVolume=1.000000 -MusicAudioVolume=1.000000 -SFXAudioVolume=1.000000 -VoiceAudioVolume=2.000000 -CharacterAudioVolume=1.000000 -UIScaling=1.000000 -UIQuickbarScaling=0.650000 -CameraShakeScale=0.650000 -bFirstPersonRiding=False -bThirdPersonPlayer=False -bInventoryHideUnlearnedEngrams=False -bShowStatusNotificationMessages=True -TrueSkyQuality=0.700000 -FOVMultiplier=1.000000 -GroundClutterDensity=1.000000 -bFilmGrain=False -bMotionBlur=False -bUseDistanceFieldAmbientOcclusion=False -bUseSSAO=True -bShowChatBox=True -bCameraViewBob=True -bInvertLookY=False -bFloatingNames=True -bChatBubbles=True -bHideServerInfo=False -bJoinNotifications=False -bCraftablesShowAllItems=False -bLocalInventoryItemsShowAllItems=False -bLocalInventoryCraftingShowAllItems=True -bRemoteInventoryItemsShowAllItems=False -bRemoteInventoryCraftingShowAllItems=False -bRemoteInventoryShowEngrams=True -bForceDisableSuperDetailMode=True -LookLeftRightSensitivity=1.000000 -LookUpDownSensitivity=1.000000 -GraphicsQuality=1 -ActiveLingeringWorldTiles=7 -ClientNetQuality=3 -LastServerSearchType=0 -LastServerSort=2 -LastPVESearchType=-1 -LastDLCTypeSearchType=-1 -LastServerSortAsc=True -LastAutoFavorite=True -LastServerSearchHideFull=False -LastServerSearchProtected=False -LastServerSearchIncludeServersWithActiveMods=True -HideItemTextOverlay=True -bQuickToggleItemNames=True -bDistanceFieldShadowing=True -LODScalar=1.000000 -bToggleToTalk=False -HighQualityMaterials=True -HighQualitySurfaces=True -bTemperatureF=False -bDisableTorporEffect=False -bChatShowSteamName=False -bChatShowTribeName=True -bReverseTribeLogOrder=False -EmoteKeyBind1=0 -EmoteKeyBind2=0 -bNoBloodEffects=False -bLowQualityVFX=False -bSpectatorManualFloatingNames=False -bSuppressAdminIcon=False -bUseSimpleDistanceMovement=False -bDisableMeleeCameraSwingAnims=False -bHighQualityAnisotropicFiltering=False -bUseLowQualityLevelStreaming=True -bPreventInventoryOpeningSounds=False -bPreventItemCraftingSounds=False -bPreventHitMarkers=False -bPreventCrosshair=False -bPreventColorizedItemNames=False -bHighQualityLODs=False -bExtraLevelStreamingDistance=False -bEnableColorGrading=True -DOFSettingInterpTime=0.000000 -bDisableBloom=False -bDisableLightShafts=False -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -LastJoinedSessionPerCategory=" " -bDisableMenuTransitions=False -bEnableInventoryItemTooltips=True -bRemoteInventoryShowCraftables=False -bNoTooltipDelay=False -LocalItemSortType=0 -LocalCraftingSortType=0 -RemoteItemSortType=0 -RemoteCraftingSortType=0 -VersionMetaTag=1 -ShowExplorerNoteSubtitles=False -DisableMenuMusic=False -DisableDefaultCharacterItems=False -bRequestDefaultCharacterItemsOnce=False -bHasSeenGen2Intro=False -bHideFloatingPlayerNames=False -bHideGamepadItemSelectionModifier=False -bToggleExtendedHUDInfo=False -PlayActionWheelClickSound=True -CompanionReactionVerbosity=3 -EnableEnvironmentalReactions=True -EnableRespawnReactions=True -EnableDeathReactions=True -EnableSayHelloReactions=True -EnableEmoteReactions=True -EnableMovementSounds=True -DisableSubtitles=False -CompanionSubtitleVerbosityLevel=3 -CompanionIsHiddenState=False -MaxAscensionLevel=0 -bHostSessionHasBeenOpened=False -bForceTPVCameraOffset=False -bDisableTPVCameraInterpolation=False -bFPVClimbingGear=False -bFPVGlidingGear=False -Gamma1=2.200000 -Gamma2=3.000000 -AmbientSoundVolume=1.000000 -bAllowAnimationStaggering=True -bUseOldThirdPersonCameraTrace=False -bUseOldThirdPersonCameraOffset=False -bLowQualityAnimations=False -bShowedGenesisDLCBackground=False -bShowedGenesis2DLCBackground=False -bViewedAnimatedSeriesTrailer=False -bViewedARK2Trailer=False -bShowRTSKeyBinds=True -bHasCompletedGen2=False -StopExplorerNoteAudioOnClose=False -bUseVSync=False -MacroCtrl0= -MacroCtrl1= -MacroCtrl2= -MacroCtrl3= -MacroCtrl4= -MacroCtrl5= -MacroCtrl6= -MacroCtrl7= -MacroCtrl8= -MacroCtrl9= -ResolutionSizeX=1280 -ResolutionSizeY=720 -LastUserConfirmedResolutionSizeX=1280 -LastUserConfirmedResolutionSizeY=720 -WindowPosX=-1 -WindowPosY=-1 -bUseDesktopResolutionForFullscreen=False -FullscreenMode=2 -LastConfirmedFullscreenMode=2 -Version=5 - -[MessageOfTheDay] -Message=Welcome to ARK! -Duration=20 \ No newline at end of file diff --git a/arma-reforger.kvp b/arma-reforger.kvp deleted file mode 100644 index a8879bae5..000000000 --- a/arma-reforger.kvp +++ /dev/null @@ -1,91 +0,0 @@ -Meta.DisplayName=Arma Reforger -Meta.Description=Arma Reforger Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, JetFox -Meta.URL=https://reforger.armaplatform.com -Meta.DisplayImageSource=steam:1874880 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=arma-reforgerconfig.json -Meta.MetaConfigManifest=arma-reforgermetaconfig.json -Meta.ConfigRoot=arma-reforger.kvp -Meta.MinAMPVersion=2.4.2.0 -Meta.SpecificDockerImage=cubecoders/ampbase -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Arma Reforger -App.RootDir=./arma-reforger/ -App.BaseDirectory=./arma-reforger/1874900/ -App.ExecutableWin=1874900\ArmaReforgerServer.exe -App.ExecutableLinux=1874900/ArmaReforgerServer -App.WorkingDir=1874900 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -gproj "{{$FullBaseDir}}addons/data/ArmaReforger.gproj" -profile "{{$FullBaseDir}}AReforgerMaster" -bepath "{{$FullBaseDir}}battleye" -bindPort {{$GamePort}} -a2sPort {{$QueryPort}} -config "{{$FullBaseDir}}Configs/serverconfig.json" -a2sIpAddress {{$ApplicationIPBinding}} -listScenarios -noThrow {{$FormattedArgs}} {{logStats}} {{CustomServerArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1874880"} -App.CommandLineParameterFormat=-{0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=#shutdown -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":2001,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":17777,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"UDP","Port":2002,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.AdminPortRef=RCONPort -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=64 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=True -App.RemoteAdminPassword= -App.AdminMethod=BattlEyeRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=15 -App.RCONConnectRetrySeconds=15 -App.RCONHeartbeatMinutes=0.5 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[arma-reforgerupdates.json] -App.PreStartStages=[] -App.Compatibility=WindowsBufferedConsole -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=(\[0m|\[33m) -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Unknown command)$ -Console.AppReadyRegex=^[\d:\s]*ENGINE\s+: Game successfully created\.$ -Console.UserJoinRegex=^[\d:\s]*NETWORK\s+: ### Connecting player: connectionID=(?<userid>.+), Name=(?<username>.*)$ -Console.UserLeaveRegex=^[\d:\s]*NETWORK\s+: Player disconnected: connectionID=(?<userid>.+)$ -Console.UserChatRegex=^$ -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 diff --git a/arma-reforgerconfig.json b/arma-reforgerconfig.json deleted file mode 100644 index aab76e116..000000000 --- a/arma-reforgerconfig.json +++ /dev/null @@ -1,494 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"bindPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Public Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"publicPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Query Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"a2s.port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Public IP Binding", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ExternalIP", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"publicAddress", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable BattlEye", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"battlEye", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"game.gameProperties.battlEye", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Sets the server name visible in the game browser (up to 100 characters)", - "Keywords":"server,name", - "FieldName":"name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"game.name", - "IncludeInCommandLine":false, - "DefaultValue":"Arma Reforger Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Server Mission/Scenario", - "Category":"Server Settings", - "Description":"Sets the server mission/scenario. Official missions/scenarios are included in the dropdown. To use another mission/scenario, select \"Custom\" and set the Custom Mission/Scenario Name", - "Keywords":"mission,scenario,scenarioid", - "FieldName":"scenarioId", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game.scenarioId", - "IncludeInCommandLine":false, - "DefaultValue":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf", - "EnumValues":{ - "{ECC61978EDCC2B5A}Missions/23_Campaign.conf":"Conflict - Everon (default)", - "{59AD59368755F41A}Missions/21_GM_Eden.conf":"Game Master - Everon", - "{90F086877C27B6F6}Missions/99_Tutorial.conf":"Tutorial", - "{2BBBE828037C6F4B}Missions/22_GM_Arland.conf":"Game Master - Arland", - "{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf":"Conflict - Northern Everon", - "{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf":"Conflict - Southern Everon", - "{DAA03C6E6099D50F}Missions/24_CombatOps.conf":"Combat Ops - Arland", - "{C41618FD18E9D714}Missions/23_Campaign_Arland.conf":"Conflict - Arland", - "{{CustomMission}}":"Custom" - } - }, - { - "DisplayName":"Custom Mission/Scenario Name", - "Category":"Server Settings", - "Description":"Sets a custom mission/scenario for the server. \"Custom\" type must be selected under Server Mission/Scenario and any required mods specified under Load Mods", - "Keywords":"custom,mission,scenario", - "FieldName":"CustomMission", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMission", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"{850C623AD7B97DC7}Missions/DeadEveron.conf", - "EnumValues":{} - }, - { - "DisplayName":"Server/RCON IP Binding", - "Category":"Server Settings", - "Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", - "Keywords":"ip,binding,gamehostbindaddress,rconip,steam,query,a2saddress", - "FieldName":"$ApplicationIPBinding", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"bindAddress", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Steam Query IP Binding", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationIPBinding", - "InputType":"hidden", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"a2s.address", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"Server Settings", - "Description":"If enabled, the server will be visible in the in-game browser", - "Keywords":"serverlist,public,visible", - "FieldName":"visible", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"game.visible", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Crossplay", - "Category":"Server Settings", - "Description":"If enabled, crossplay between PC and Xbox clients will be possible", - "Keywords":"crossplay,pc,xbox,crossplatform", - "FieldName":"crossPlatform", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"game.crossPlatform", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Sets the password required to connect to the server. Only use alphanumeric, dash or underscore characters. Default is no password", - "Keywords":"server,password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"game.password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"Server Settings", - "Description":"Sets the password required for admin access to the server. Only use alphanumeric, dash or underscore characters. Maximum 32 characters. Default is a strong random password", - "Keywords":"admin,password,adminpassword,passwordadmin", - "FieldName":"adminPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"game.passwordAdmin", - "IncludeInCommandLine":false, - "DefaultValue":"{{randomdigits(15)}}", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password", - "FieldName":"RCONPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RCONPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Player Limit", - "Category":"Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at one time", - "Keywords":"players,limit,maximum,playercountlimit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "MaxValue":"256", - "IsFlagArgument":false, - "ParamFieldName":"game.maxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"64", - "Placeholder":"64", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Synchronise Player Count", - "Category":"Server Settings", - "Description":"If enabled, the list of players on the server is sent to the GameAPI along with the server's heartbeat, to fix the discrepancy between the real and reported number of players on the server", - "Keywords":"lobby,player,synchronise,player,number,lobbyplayersynchronise", - "FieldName":"lobbyPlayerSynchronise", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"operating.lobbyPlayerSynchronise", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Load Mods", - "Category":"Server Settings", - "Description":"Comma-separated [list of mods](https://reforger.armaplatform.com/workshop) required by clients, which will be downloaded and activated on join. Each mod entry must be in valid JSON format. Name and version are optional. Example: {\"modId\":\"591AF5BDA9F7CE8B\",\"name\":\"Capture & Hold\",\"version\":\"1.0.3\"}", - "Keywords":"mods,addons,mod", - "FieldName":"mods", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"game.mods", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Save Period", - "Category":"Server Settings", - "Description":"Sets the default period for saving players for both Online and Local storage (player save can still be requested on demand)", - "Keywords":"player,save,time,playersavetime", - "FieldName":"playerSaveTime", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"operating.playerSaveTime", - "IncludeInCommandLine":false, - "DefaultValue":"120", - "Placeholder":"120", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Server FPS Limit", - "Category":"Server Settings", - "Description":"Sets the server FPS. Recommended to be in the range of 60 to 120 so that the server does not use all available resources", - "Keywords":"fps,limit,maxfps", - "FieldName":"maxFPS", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"maxFPS", - "IncludeInCommandLine":true, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"fps", - "EnumValues":{} - }, - { - "DisplayName":"Maximum View Distance", - "Category":"Server Settings", - "Description":"Sets the server's maximum view distance", - "Keywords":"maximum,view,distance,servermaxviewdistance", - "FieldName":"serverMaxViewDistance", - "InputType":"number", - "MinValue":"500", - "MaxValue":"10000", - "IsFlagArgument":false, - "ParamFieldName":"game.gameProperties.serverMaxViewDistance", - "IncludeInCommandLine":false, - "DefaultValue":"1600", - "Placeholder":"1600", - "EnumValues":{} - }, - { - "DisplayName":"Network View Distance", - "Category":"Server Settings", - "Description":"Sets the server's maximum network streaming range of replicated entities", - "Keywords":"network,stream,view,distance,networkviewdistance", - "FieldName":"networkViewDistance", - "InputType":"number", - "MinValue":"500", - "MaxValue":"5000", - "IsFlagArgument":false, - "ParamFieldName":"game.gameProperties.networkViewDistance", - "IncludeInCommandLine":false, - "DefaultValue":"1500", - "Placeholder":"1500", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Grass Distance", - "Category":"Server Settings", - "Description":"Sets the server's minimum grass distance", - "Keywords":"minimum,grass,distance,servermingrassdistance", - "FieldName":"serverMinGrassDistance", - "InputType":"number", - "MinValue":"50", - "MaxValue":"150", - "IsFlagArgument":false, - "ParamFieldName":"game.gameProperties.serverMinGrassDistance", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Placeholder":"50", - "Suffix":"metres", - "EnumValues":{} - }, - { - "DisplayName":"Disable Third Person", - "Category":"Server Settings", - "Description":"If enabled, clients will be forced to use the first-person view", - "Keywords":"third,person,disablethirdperson", - "FieldName":"disableThirdPerson", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"game.gameProperties.disableThirdPerson", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Fast Validation", - "Category":"Server Settings", - "Description":"If enabled, matching validation of map entities and components loaded on a client when it joins will be done with minimum information. Always enable for a public server!", - "Keywords":"validation,checksum,fastvalidation", - "FieldName":"fastValidation", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"game.gameProperties.fastValidation", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable VON UI", - "Category":"Server Settings", - "Description":"If set, clients will be forced to not have the VON (Voice Over Network) UI", - "Keywords":"disable,von,voice,network,ui,vondisableui", - "FieldName":"VONDisableUI", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"game.gameProperties.VONDisableUI", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable VON Direct Speech UI", - "Category":"Server Settings", - "Description":"If set, clients will be forced to not have the VON (Voice Over Network) Direct Speech UI", - "Keywords":"disable,von,voice,network,direct,speech,ui,vondisabledirectspeechui", - "FieldName":"VONDisableDirectSpeechUI", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"game.gameProperties.VONDisableDirectSpeechUI", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Mission Header", - "Category":"Server Settings", - "Description":"Comma-separated list of settings that will overwrite a mission/scenario's SCR_MissionHeaderCampaign. Example: \"m_iPlayerCount\":\"64\",\"m_eEditableGameFlags\":\"6\"", - "Keywords":"mission,header,missionheader", - "FieldName":"missionHeader", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"game.gameProperties.missionHeader", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"AI Limit", - "Category":"Server Settings", - "Description":"Sets the maximum number of AIs. -1 = no limit", - "Keywords":"ai,limit,ailimit", - "FieldName":"aiLimit", - "InputType":"number", - "MinValue":"-1", - "IsFlagArgument":false, - "ParamFieldName":"operating.aiLimit", - "IncludeInCommandLine":false, - "DefaultValue":"-1", - "Placeholder":"-1", - "EnumValues":{} - }, - { - "DisplayName":"Slot Reservation Timeout", - "Category":"Server Settings", - "Description":"Sets how long the backend and server will reserve a slot for a kicked player. 5 = effectively diabled (given the value is the same as for a normal disconnect)", - "Keywords":"slot,reservation,timeout,slotreservationtimeout", - "FieldName":"slotReservationTimeout", - "InputType":"number", - "MinValue":"5", - "MaxValue":"300", - "IsFlagArgument":false, - "ParamFieldName":"operating.slotReservationTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Log Statistics", - "Category":"Server Settings", - "Description":"If enabled, the server logs performance statistics every second or such other period set under \"Statistics Logging Interval\"", - "Keywords":"log,statistics,logstats", - "FieldName":"logStats", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"logStats", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-logStats {{logStatsInterval}}" - } - }, - { - "DisplayName":"Statistics Logging Inverval", - "Category":"Server Settings", - "Description":"Sets the interval for logging of performance statistics, if \"Log Statistics\" is enabled", - "Keywords":"log,statistics,logstats", - "FieldName":"logStatsInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"logStatsInterval", - "IncludeInCommandLine":false, - "DefaultValue":"1000", - "Placeholder":"1000", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Additional Server Startup Parameters", - "Category":"Server Settings", - "Description":"Specifies additional startup parameters that are not otherwise set by AMP. Use with care", - "Keywords":"custom,server,arguments,parameters", - "FieldName":"CustomServerArgs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomServerArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"-debug", - "EnumValues":{} - } -] diff --git a/arma-reforgermetaconfig.json b/arma-reforgermetaconfig.json deleted file mode 100644 index 7d89d49d1..000000000 --- a/arma-reforgermetaconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -[ - { - "ConfigFile":"Configs/serverconfig.json", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"arma-reforger/AMP_serverconfig.json" - }, - { - "ConfigFile":"battleye/BEServer_x64.cfg", - "ConfigType":"kvp", - "ConfigFormat":"{0} {1}", - "Subsections":[ - { - "Heading":"$root", - "SettingMappings":{ - "GameID":"armar", - "MasterPort":"2001", - "RConPassword":"$RemoteAdminPassword", - "RConPort":"$RCONPort", - "RConIP":"$ApplicationIPBinding" - } - } - ] - } -] \ No newline at end of file diff --git a/arma-reforgerserver.json b/arma-reforgerserver.json deleted file mode 100644 index ae4c055e6..000000000 --- a/arma-reforgerserver.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "bindAddress":"{{bindAddress}}", - "bindPort":{{bindPort}}, - "publicAddress":"{{publicAddress}}", - "publicPort":{{publicPort}}, - "a2s":{ - "address":"{{a2s.address}}", - "port":{{a2s.port}} - }, - "game":{ - "name":"{{game.name}}", - "password":"{{game.password}}", - "passwordAdmin":"{{game.passwordAdmin}}", - "scenarioId":"{{game.scenarioId}}", - "maxPlayers":{{game.maxPlayers}}, - "visible":{{game.visible}}, - "crossPlatform":{{game.crossPlatform}}, - "supportedPlatforms":[ - "PLATFORM_PC", - "PLATFORM_XBL" - ], - "gameProperties":{ - "serverMaxViewDistance":{{game.gameProperties.serverMaxViewDistance}}, - "serverMinGrassDistance":{{game.gameProperties.serverMinGrassDistance}}, - "networkViewDistance":{{game.gameProperties.networkViewDistance}}, - "disableThirdPerson":{{game.gameProperties.disableThirdPerson}}, - "fastValidation":{{game.gameProperties.fastValidation}}, - "battlEye":{{game.gameProperties.battlEye}}, - "VONDisableUI":{{game.gameProperties.VONDisableUI}}, - "VONDisableDirectSpeechUI":{{game.gameProperties.VONDisableDirectSpeechUI}}, - "missionHeader":{ {{game.gameProperties.missionHeader}} } - }, - "mods":[ {{game.mods}} ] - }, - "operating":{ - "lobbyPlayerSynchronise":{{operating.lobbyPlayerSynchronise}}, - "playerSaveTime":{{operating.playerSaveTime}}, - "aiLimit":{{operating.aiLimit}}, - "slotReservationTimeout":{{operating.slotReservationTimeout}} - } -} \ No newline at end of file diff --git a/arma-reforgerupdates.json b/arma-reforgerupdates.json deleted file mode 100644 index ed88a69f5..000000000 --- a/arma-reforgerupdates.json +++ /dev/null @@ -1,25 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1874900", - "UpdateSourceArgs":"1874880" - }, - { - "UpdateStageName":"Create Configs Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}Configs", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Server Template Config File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/arma-reforgerserver.json", - "UpdateSourceArgs":"AMP_serverconfig.json", - "UpdateSourceTarget":"{{$FullRootDir}}", - "OverwriteExistingFiles":true - } -] diff --git a/arma3.kvp b/arma3.kvp deleted file mode 100644 index 558101ea0..000000000 --- a/arma3.kvp +++ /dev/null @@ -1,92 +0,0 @@ -Meta.DisplayName=Arma 3 -Meta.Description=Arma 3 Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://arma3.com/ -Meta.DisplayImageSource=steam:107410 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=arma3config.json -Meta.MetaConfigManifest=arma3metaconfig.json -Meta.ConfigRoot=arma3.kvp -Meta.MinAMPVersion=2.4.2.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/t/arma-3-generic-guide/3475 -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Arma 3 -App.RootDir=./arma3/ -App.BaseDirectory=./arma3/233780/ -App.SteamWorkshopDownloadLocation={{$FullBaseDir}} -App.ExecutableWin=233780\ArmA3Server_x64.exe -App.ExecutableLinux=233780/arma3server_x64 -App.WorkingDir=233780 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -name=AMPServer "-profiles={{$FullBaseDir}}A3Master" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=server.cfg -cfg=basic.cfg -world=empty -ip={{$ApplicationIPBinding}} {{autoInit}}{{$FormattedArgs}} {{parfile}}{{CustomServerArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"107410"} -App.CommandLineParameterFormat="-{0}={1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=#shutdown -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":2302,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":2303,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"UDP","Port":2304,"Ref":"SteamPort","Name":"Steam Port","Description":"Port for Steam traffic"},{"Protocol":"UDP","Port":2305,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Port reserved for VON traffic"},{"Protocol":"UDP","Port":2306,"Ref":"BattlEyePort","Name":"BattlEye Port","Description":"Port for BattlEye traffic"},{"Protocol":"UDP","Port":2307,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.AdminPortRef=RCONPort -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=64 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=True -App.RemoteAdminPassword= -App.AdminMethod=BattlEyeRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.RCONHeartbeatMinutes=0.5 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[arma3updates.json] -App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -f {{$FullBaseDir}}battleye/beserver_x64_active_*.cfg'"},{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"},{"UpdateStageName":"Headless Client Script Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3runhc.sh","UpdateSourceArgs":"runhc.sh","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Headless Client Script Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3runhc.ps1","UpdateSourceArgs":"runhc.ps1","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Start Headless Clients","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'chmod +x ./runhc.sh; ./runhc.sh {{HeadlessClientsNum}} {{$ApplicationIPBinding}} {{$GamePort}} \"{{password}}\" \"{{mod}}\" \"{{hc_parfile}}\" &'"},{"UpdateStageName":"Start Headless Clients","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C start powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File \"runhc.ps1\" {{HeadlessClientsNum}} {{$ApplicationIPBinding}} {{$GamePort}} \"{{password}}\" \"{{mod}}\" \"{{hc_parfile}}\""}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=True -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=^((WARNING|ERROR): Shader.+|Unknown command)$ -Console.AppReadyRegex=^RCon admin #\d+ \([\d\.:]+\) logged in$ -Console.UserJoinRegex=^([\d:]+ BattlEye Server: )?Player #(?<sessionid>.+?) (?<username>.+( \(\d+\))?) \((?<endpoint>.+?):(?:\d+)\) connected$ -Console.UserLeaveRegex=^([\d:]+ BattlEye Server: )?Player #(?<sessionid>.+?) (?<username>.+( \(\d+\))?) disconnected$ -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/arma3basic.cfg b/arma3basic.cfg deleted file mode 100644 index a1839722e..000000000 --- a/arma3basic.cfg +++ /dev/null @@ -1,20 +0,0 @@ -// basic.cfg - -// This file is to fine-tune network performance. - -// Full information on relevant settings is available at https://community.bistudio.com/wiki/Arma_3:_Basic_Server_Config_File - -// Note that any lines below that begin with // are commented out and will not be applied by the server -// Remove the // from the beginning of any line that you want to apply - -//MinBandwidth = 131072; // Bandwidth the server is guaranteed to have (in bps). This value helps server to estimate bandwidth available. Increasing it to too optimistic values can increase lag and CPU load, as too many messages will be sent but discarded. Default: 131072 -//MaxBandwidth = 10000000000; // Bandwidth the server is guaranteed to never have. This value helps the server to estimate bandwidth available. - -//MaxMsgSend = 128; // Maximum number of messages that can be sent in one simulation cycle. Increasing this value can decrease lag on high upload bandwidth servers. Default: 128 -//MaxSizeGuaranteed = 512; // Maximum size of guaranteed packet in bytes (without headers). Small messages are packed to larger frames. Guaranteed messages are used for non-repetitive events like shooting. Default: 512 -//MaxSizeNonguaranteed = 256; // Maximum size of non-guaranteed packet in bytes (without headers). Non-guaranteed messages are used for repetitive updates like soldier or vehicle position. Increasing this value may improve bandwidth requirement, but it may increase lag. Default: 256 - -//MinErrorToSend = 0.001; // Minimal error to send updates across network. Using a smaller value can make units observed by binoculars or sniper rifle to move smoother. Default: 0.001 -//MinErrorToSendNear = 0.01; // Minimal error to send updates across network for near units. Using larger value can reduce traffic sent for near units. Used to control client to server traffic as well. Default: 0.01 - -//MaxCustomFileSize = 0; // (bytes) Users with custom face or custom sound larger than this size are kicked when trying to connect. diff --git a/arma3config.json b/arma3config.json deleted file mode 100644 index 8b75d8383..000000000 --- a/arma3config.json +++ /dev/null @@ -1,1213 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"Arma Server Settings", - "Description":"Sets the server name visible in the game browser", - "Keywords":"server,name,hostname", - "FieldName":"hostname", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"hostname", - "IncludeInCommandLine":false, - "DefaultValue":"Arma 3 Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Arma Server Settings", - "Description":"Sets the password required to connect to the server. Default is no password", - "Keywords":"server,password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"Arma Server Settings", - "Description":"Sets the password required for admin access to the server. Default is no password", - "Keywords":"admin,password,passwordadmin", - "FieldName":"passwordAdmin", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"passwordAdmin", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Command Password", - "Category":"Arma Server Settings", - "Description":"Sets the password required by alternate syntax of \"serverCommand\" server-side scripting. Default is no password", - "Keywords":"command,password,servercommandpassword", - "FieldName":"serverCommandPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"serverCommandPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Arma Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password", - "FieldName":"RCONPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RCONPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Admins", - "Category":"Arma Server Settings", - "Description":"Sets the list of [Steam64 IDs](https://steamidfinder.com/) for server admins. Format is \"SteamID\",\"SteamID\"", - "Keywords":"admins", - "FieldName":"admins", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"admins", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"\"12345678901234567\",\"76543210987654321\"", - "EnumValues":{} - }, - { - "DisplayName":"MOTD", - "Category":"Arma Server Settings", - "Description":"Sets the player welcome message (MOTD). Format is \"Line1\",\"Line 2\"", - "Keywords":"motd,welcome,message", - "FieldName":"motd", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"motd", - "IncludeInCommandLine":false, - "DefaultValue":"\"Welcome to Arma 3\",\"Hosted using AMP by CubeCoders\"", - "EnumValues":{} - }, - { - "DisplayName":"MOTD Interval", - "Category":"Arma Server Settings", - "Description":"Sets the time interval between display of each line of the MOTD", - "Keywords":"motd,message,delay,interval,motdinterval", - "FieldName":"motdInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"motdInterval", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Arma Server Settings", - "Description":"Sets the maximum number of clients (including headless clients) that may connect to the server at one time", - "Keywords":"maximum,players,clients,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"maxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"64", - "Placeholder":"64", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Load Mods", - "Category":"Arma Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths. Alternatively use the Startup Parameters File option", - "Keywords":"mods,addons,mod", - "FieldName":"mod", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"mod", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Load Server Mods", - "Category":"Arma Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths. Alternatively use the Startup Parameters File option", - "Keywords":"mods,addons,server,servermod", - "FieldName":"serverMod", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"serverMod", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server/RCON IP Binding", - "Category":"Arma Server Settings", - "Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", - "Keywords":"ip,binding", - "FieldName":"ip", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"ip", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Disallow Duplicate Game IDs", - "Category":"Arma Server Settings", - "Description":"If enabled, players with an ID that is identical to another player will be kicked", - "Keywords":"kick,duplicate,kickduplicate", - "FieldName":"kickDuplicate", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"kickDuplicate", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Addon Signature Verification", - "Category":"Arma Server Settings", - "Description":"If enabled, players with unknown or unsigned mods will not be allowed to join", - "Keywords":"mods,addons,verify,verifysignatures", - "FieldName":"verifySignatures", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"verifySignatures", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "False":"0", - "True":"2" - } - }, - { - "DisplayName":"Allow Client File Patching", - "Category":"Arma Server Settings", - "Description":"Specifies whether to prevent or allow file patching for clients", - "Keywords":"file,patching,allowedfilepatching", - "FieldName":"allowedFilePatching", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"allowedFilePatching", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Do not allow (default)", - "1":"Allow headless clients only", - "2":"Allow all clients" - } - }, - { - "DisplayName":"Client File Patching Exceptions", - "Category":"Arma Server Settings", - "Description":"Sets a whitelist of [Steam64 IDs](https://steamidfinder.com/) for clients allowed to use file patching. Format is \"SteamID\",\"SteamID\"", - "Keywords":"file,patching,exceptions,filepatchingexceptions", - "FieldName":"filePatchingExceptions", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"filePatchingExceptions", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"\"12345678901234567\",\"76543210987654321\"", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Client Version", - "Category":"Arma Server Settings", - "Description":"Sets the minimum client version, below which clients won't be allowed to join. Default of 99999999 equates to the server version. NOTE: If the server uses the Performance Profiling Build in any way, set this to 0, otherwise no client can connect", - "Keywords":"required,build,requiredbuild", - "FieldName":"requiredBuild", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"requiredBuild", - "IncludeInCommandLine":false, - "DefaultValue":"99999999", - "Placeholder":"99999999", - "EnumValues":{} - }, - { - "DisplayName":"Force LAN Mode", - "Category":"Arma Server Settings", - "Description":"If enabled, the server will be forced into LAN mode - only local clients can connect", - "Keywords":"lan,loopback", - "FieldName":"loopback", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"loopback", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Headless Clients To Launch", - "Category":"Arma Server Settings", - "Description":"Sets the number of headless clients to launch when the server starts. Further information on configuration is [here](https://discourse.cubecoders.com/t/arma-3-generic-guide/3475#h-6-headless-clients-9)", - "Keywords":"headless,client", - "FieldName":"HeadlessClientsNum", - "InputType":"number", - "MinValue":"0", - "MaxValue":"5", - "IsFlagArgument":false, - "ParamFieldName":"HeadlessClientsNum", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Headless Client IPs", - "Category":"Arma Server Settings", - "Description":"Sets the IPs of headless clients able to connect to the server. Multiples connections and IPs are allowed. Format is \"IP1\",\"IP2\"", - "Keywords":"headless,client,ip,headlessclients", - "FieldName":"headlessClients", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"headlessClients", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"\"127.0.0.1\",\"210.187.254.121\"", - "EnumValues":{} - }, - { - "DisplayName":"Use Headless Client Startup Parameters File", - "Category":"Arma Server Settings", - "Description":"If enabled, allows the use of a [parameters file](https://community.bistudio.com/wiki/Startup_Parameters_Config_File) for additional startup parameters for headless clients. File is \"hc_parameters.txt\" in the server base directory. Useful if the server also uses its own Startup Parameters File for mods. Use with care", - "Keywords":"headless,client,custom,server,arguments,parameters,file,parfile", - "FieldName":"hc_parfile", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"hc_parfile", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"hc_parameters.txt" - } - }, - { - "DisplayName":"Local Headless Client IPs", - "Category":"Arma Server Settings", - "Description":"Sets the IPs of those headless clients listed under Headless Client IPs that have unlimited bandwidth and nearly no latency. Format is \"IP1\",\"IP2\"", - "Keywords":"headless,client,local,localclient", - "FieldName":"localClient", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"localClient", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"\"127.0.0.1\",\"192.168.1.2\"", - "EnumValues":{} - }, - { - "DisplayName":"FPS Limit", - "Category":"Arma Server Settings", - "Description":"Sets the limit for the server FPS. Setting this too high can have an effect on server performance", - "Keywords":"frames,fps,limitfps", - "FieldName":"limitFPS", - "InputType":"number", - "MinValue":"5", - "MaxValue":"1000", - "IsFlagArgument":false, - "ParamFieldName":"limitFPS", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"50", - "Placeholder":"50", - "Suffix":"fps", - "EnumValues":{} - }, - { - "DisplayName":"Enable UPnP", - "Category":"Arma Server Settings", - "Description":"If enabled, the server will automatically create port mappings on UPnP/IGD enabled routers", - "Keywords":"upnp", - "FieldName":"upnp", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"upnp", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Additional Server Startup Parameters", - "Category":"Arma Server Settings", - "Description":"Specifies additional startup parameters that are not otherwise set by AMP. Alternatively, use the Startup Parameters File option. Use with care", - "Keywords":"custom,server,arguments,parameters", - "FieldName":"CustomServerArgs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomServerArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"-debug", - "EnumValues":{} - }, - { - "DisplayName":"Use Server Startup Parameters File", - "Category":"Arma Server Settings", - "Description":"If enabled, allows the use of a [parameters file](https://community.bistudio.com/wiki/Startup_Parameters_Config_File) for additional startup parameters for the server. File is \"parameters.txt\" in the server base directory. Useful for long startup parameters such as -mod or -serverMod. Use with care", - "Keywords":"custom,server,arguments,parameters,file,parfile", - "FieldName":"parfile", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"parfile", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-par=parameters.txt " - } - }, - { - "DisplayName":"Skip Lobby", - "Category":"Arma Gameplay Settings", - "Description":"If enabled, joining players will skip role selection", - "Keywords":"skip,lobby,skiplobby", - "FieldName":"skipLobby", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"skipLobby", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Minimum Players For Mission Selection", - "Category":"Arma Gameplay Settings", - "Description":"Sets the minimum number of players required before displaying the mission selection screen", - "Keywords":"voting,minimum,votemissionplayers", - "FieldName":"voteMissionPlayers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"voteMissionPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Voting Threshold", - "Category":"Arma Gameplay Settings", - "Description":"Sets the fraction (0.00 to 1.00) of players needed to vote something into effect", - "Keywords":"voting,threshold,votethreshold", - "FieldName":"voteThreshold", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"voteThreshold", - "IncludeInCommandLine":false, - "DefaultValue":"0.33", - "Placeholder":"0.33", - "EnumValues":{} - }, - { - "DisplayName":"Advanced Flight Model", - "Category":"Arma Gameplay Settings", - "Description":"Sets the Advanced Flight Model mode", - "Keywords":"force,advanced,flight,model,forcerotorlibsimulation", - "FieldName":"forceRotorLibSimulation", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"forceRotorLibSimulation", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Player decides (default)", - "1":"Force Advanced Flight Model", - "2":"Force Simple Flight Model" - } - }, - { - "DisplayName":"Disable Voice Chat", - "Category":"Arma Gameplay Settings", - "Description":"If set, players will not be able to use in-game voice chat", - "Keywords":"voice,chat,disablevon", - "FieldName":"disableVoN", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableVoN", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Voice Chat Codec", - "Category":"Arma Gameplay Settings", - "Description":"Sets the voice chat codec type", - "Keywords":"voice,chat,codec,voncodec", - "FieldName":"vonCodec", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"vonCodec", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Old SPEEX codec", - "1":"New OPUS codec (default)" - } - }, - { - "DisplayName":"Voice Chat Quality", - "Category":"Arma Gameplay Settings", - "Description":"Sets the voice sound range: 1-10 is 8kHz (narrowband), 11-20 is 16kHz (wideband), 21-30 is 32kHz (SPEEX) or 48kHz (OPUS) (ultrawideband)", - "Keywords":"voice,chat,codec,quality,voncodecquality", - "FieldName":"vonCodecQuality", - "InputType":"number", - "MinValue":"1", - "MaxValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"vonCodecQuality", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Start Mission Immediately", - "Category":"Arma Gameplay Settings", - "Description":"If enabled, begins the mission immediately instead of waiting for players to join (autoInit). Requires Persistent Mission to be enabled", - "Keywords":"mission,autoinit,immediate", - "FieldName":"autoInit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"autoInit", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-autoInit " - } - }, - { - "DisplayName":"Persistent Mission", - "Category":"Arma Gameplay Settings", - "Description":"If enabled, the mission keeps running when all players disconnect. Required for \"autoInit\" (Start Mission Immediately option)", - "Keywords":"mission,persistent", - "FieldName":"persistent", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"persistent", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Automatic Mission Selection", - "Category":"Arma Gameplay Settings", - "Description":"If enabled, the server auto-starts the next mission in the mission cycle and waits for players in the role selection. Requires a [mission cycle](https://community.bistudio.com/wiki/Arma_3:_Server_Config_File#Mission_rotation) to be specified in AMP_server.cfg", - "Keywords":"mission,selection,automatic,autoselectmission", - "FieldName":"autoSelectMission", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"autoSelectMission", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Random Mission Order", - "Category":"Arma Gameplay Settings", - "Description":"If enabled, the server randomly chooses a mission from the mission cycle for starting or auto-starting. Requires a [mission cycle](https://community.bistudio.com/wiki/Arma_3:_Server_Config_File#Mission_rotation) to be specified in AMP_server.cfg", - "Keywords":"mission,random,order,randommissionorder", - "FieldName":"randomMissionOrder", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"randomMissionOrder", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Map Lines/Markers", - "Category":"Arma Gameplay Settings", - "Description":"If enabled, gives the ability to place markers and draw lines in map", - "Keywords":"map,lines,markers,drawinginmap", - "FieldName":"drawingInMap", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"drawingInMap", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Profile Glasses", - "Category":"Arma Gameplay Settings", - "Description":"If disabled, glasses set in a player's profile will be ignored", - "Keywords":"profile,glasses,allowprofileglasses", - "FieldName":"allowProfileGlasses", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"allowProfileGlasses", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enforce Difficulty", - "Category":"Arma Gameplay Settings", - "Description":"Forces the selected difficulty on the server. To use custom difficulty settings, you must configure them in the profile within the A3Master directory", - "Keywords":"force,difficulty,forceddifficulty", - "FieldName":"forcedDifficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"forcedDifficulty", - "IncludeInCommandLine":false, - "DefaultValue":"Regular", - "EnumValues":{ - "Recruit":"Recruit", - "Regular":"Regular (default)", - "Veteran":"Veteran", - "Custom":"Custom" - } - }, - { - "DisplayName":"AI Level", - "Category":"Arma Gameplay Settings", - "Description":"Sets the AI skill level on the server. To use custom AI level settings, you must configure them in the profile within the A3Master directory", - "Keywords":"ai,level,preset,ailevelpreset", - "FieldName":"aiLevelPreset", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"aiLevelPreset", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Low", - "1":"Normal (default)", - "2":"High", - "3":"Custom" - } - }, - { - "DisplayName":"Enable Statistics", - "Category":"Arma Misc Settings", - "Description":"If enabled, the server will opt into [Arma 3 game analytics](https://community.bistudio.com/wiki/Arma_3:_Analytics)", - "Keywords":"arma,game,analytics,statistics,statisticsenabled", - "FieldName":"statisticsEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"statisticsEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allowed File Extensions", - "Category":"Arma Misc Settings", - "Description":"Only allows files with the listed extensions to be loaded via the loadFile command", - "Keywords":"file,extensions,allowedloadfileextensions", - "FieldName":"allowedLoadFileExtensions", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"allowedLoadFileExtensions", - "IncludeInCommandLine":false, - "DefaultValue":"\"hpp\",\"sqs\",\"sqf\",\"fsm\",\"cpp\",\"paa\",\"txt\",\"xml\",\"inc\",\"ext\",\"sqm\",\"ods\",\"fxy\",\"lip\",\"csv\",\"kb\",\"bik\",\"bikb\",\"html\",\"htm\",\"biedi\"", - "Placeholder":"\"hpp\",\"sqs\",\"sqf\",\"fsm\",\"cpp\",\"paa\",\"txt\",\"xml\",\"inc\",\"ext\",\"sqm\",\"ods\",\"fxy\",\"lip\",\"csv\",\"kb\",\"bik\",\"bikb\",\"html\",\"htm\",\"biedi\"", - "EnumValues":{} - }, - { - "DisplayName":"Allowed Preprocess File Extensions", - "Category":"Arma Misc Settings", - "Description":"Only allows files with the listed extensions to be loaded via the preprocessFile / preprocessFileLineNumbers commands", - "Keywords":"file,preprocess,extensions,allowedpreprocessfileextensions", - "FieldName":"allowedPreprocessFileExtensions", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"allowedPreprocessFileExtensions", - "IncludeInCommandLine":false, - "DefaultValue":"\"hpp\",\"sqs\",\"sqf\",\"fsm\",\"cpp\",\"paa\",\"txt\",\"xml\",\"inc\",\"ext\",\"sqm\",\"ods\",\"fxy\",\"lip\",\"csv\",\"kb\",\"bik\",\"bikb\",\"html\",\"htm\",\"biedi\"", - "Placeholder":"\"hpp\",\"sqs\",\"sqf\",\"fsm\",\"cpp\",\"paa\",\"txt\",\"xml\",\"inc\",\"ext\",\"sqm\",\"ods\",\"fxy\",\"lip\",\"csv\",\"kb\",\"bik\",\"bikb\",\"html\",\"htm\",\"biedi\"", - "EnumValues":{} - }, - { - "DisplayName":"Allowed HTML Extensions", - "Category":"Arma Misc Settings", - "Description":"Only allows files and URLs with the listed extensions to be loaded via the htmlLoad command", - "Keywords":"html,extensions,allowedhtmlloadextensions", - "FieldName":"allowedHTMLLoadExtensions", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"allowedHTMLLoadExtensions", - "IncludeInCommandLine":false, - "DefaultValue":"\"htm\",\"html\",\"xml\",\"txt\"", - "Placeholder":"\"htm\",\"html\",\"xml\",\"txt\"", - "EnumValues":{} - }, - { - "DisplayName":"Log Time Stamp Format", - "Category":"Arma Misc Settings", - "Description":"Sets the format of the time stamps used in the log file", - "Keywords":"time,stamp,format,timestampformat", - "FieldName":"timeStampFormat", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"timeStampFormat", - "IncludeInCommandLine":false, - "DefaultValue":"none", - "EnumValues":{ - "none":"None (default)", - "short":"Short", - "full":"Full" - } - }, - { - "DisplayName":"Log Player Info", - "Category":"Arma Misc Settings", - "Description":"If enabled, the server logs players' bandwidth and desync info every 60 seconds, as well as \"network message is pending\" owner identity", - "Keywords":"player,diag,info,enableplayerdiag", - "FieldName":"enablePlayerDiag", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"enablePlayerDiag", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Run Script On User Connected", - "Category":"Arma Misc Settings", - "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a user has connected", - "Keywords":"scripting,user,connected,onuserconnected", - "FieldName":"onUserConnected", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"onUserConnected", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Run Script On User Disconnected", - "Category":"Arma Misc Settings", - "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a user has disconnected", - "Keywords":"scripting,user,disconnected,onuserdisconnected", - "FieldName":"onUserDisconnected", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"onUserDisconnected", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Run Script On Double ID Detected", - "Category":"Arma Misc Settings", - "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a second user with the same ID is detected", - "Keywords":"scripting,double,id,detected,doubleiddetected", - "FieldName":"doubleIdDetected", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"doubleIdDetected", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Run Script On User Kicked", - "Category":"Arma Misc Settings", - "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a user is kicked", - "Keywords":"scripting,user,kicked,onuserkicked", - "FieldName":"onUserKicked", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"onUserKicked", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Run Script On Unsigned Data", - "Category":"Arma Misc Settings", - "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when unsigned data is detected", - "Keywords":"scripting,unsigned,data,onunsigneddata", - "FieldName":"onUnsignedData", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"onUnsignedData", - "IncludeInCommandLine":false, - "DefaultValue":"kick (_this select 0)", - "Placeholder":"kick (_this select 0)", - "EnumValues":{} - }, - { - "DisplayName":"Run Script On Hacked Data", - "Category":"Arma Misc Settings", - "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a modification of a signed pbo is detected", - "Keywords":"scripting,hacked,data,onhackeddata", - "FieldName":"onHackedData", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"onHackedData", - "IncludeInCommandLine":false, - "DefaultValue":"ban (_this select 0)", - "Placeholder":"ban (_this select 0)", - "EnumValues":{} - }, - { - "DisplayName":"Run Script On Different Data", - "Category":"Arma Misc Settings", - "Description":"Sets [server side scripting](https://community.bistudio.com/wiki/ArmA:_Armed_Assault:_Server_Side_Scripting) to run when a signed pbo is detected with a valid signature, but is a different version than a server has. Use with caution", - "Keywords":"scripting,different,data,ondifferentdata", - "FieldName":"onDifferentData", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"onDifferentData", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Composition Script Level", - "Category":"Arma Misc Settings", - "Description":"Sets the composition script permission level", - "Keywords":"script,level,zeuscompositionscriptlevel", - "FieldName":"zeusCompositionScriptLevel", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"zeusCompositionScriptLevel", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"All scripts forbidden", - "1":"Only attributes allowed (default)", - "2":"All scripts allowed" - } - }, - { - "DisplayName":"Steam Query Packet Size", - "Category":"Arma Misc Settings", - "Description":"Sets the maximum Steam query packet size. Increasing this value can be dangerous", - "Keywords":"query,packet,size,steamprotocolmaxdatasize", - "FieldName":"steamProtocolMaxDataSize", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"steamProtocolMaxDataSize", - "IncludeInCommandLine":false, - "DefaultValue":"1024", - "Placeholder":"1024", - "EnumValues":{} - }, - { - "DisplayName":"Call Extension Report Limit", - "Category":"Arma Misc Settings", - "Description":"If a server-initiated callExtension takes longer than the specified limit, a warning will be logged as well as reflected in the extension return result", - "Keywords":"call,extension,report,limit,callextreportlimit", - "FieldName":"callExtReportLimit", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"callExtReportLimit", - "IncludeInCommandLine":false, - "DefaultValue":"1000", - "Placeholder":"1000", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Log Object Not Found", - "Category":"Arma Misc Settings", - "Description":"If enabled, \"object not found\" messages will be logged", - "Keywords":"log,object,not,found,logobjectnotfound", - "FieldName":"LogObjectNotFound", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"LogObjectNotFound", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Skip Description Parsing", - "Category":"Arma Misc Settings", - "Description":"If enabled, parsing of description.ext/mission.sqm will be skipped. Will show pbo filename instead of configured missionName", - "Keywords":"skip,description,parsing,skipdescriptionparsing", - "FieldName":"SkipDescriptionParsing", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SkipDescriptionParsing", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Ignore Mission Load Errors", - "Category":"Arma Misc Settings", - "Description":"If enabled, a mission will load regardless of the number of loading errors", - "Keywords":"ignore,mission,errors,ignoremissionloaderrors", - "FieldName":"ignoreMissionLoadErrors", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ignoreMissionLoadErrors", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Message Queue Size Threshold", - "Category":"Arma Misc Settings", - "Description":"If enabled, all of a player's message types and sizes are dumped to a logfile if #monitor is running and the player's Guaranteed Message Queue size goes above the set threshold", - "Keywords":"message,queue,size,threshold,queuesizelogg", - "FieldName":"queueSizeLogG", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"queueSizeLogG", - "IncludeInCommandLine":false, - "DefaultValue":"1000000", - "Placeholder":"1000000", - "EnumValues":{} - }, - { - "DisplayName":"Disconnect Timeout", - "Category":"Arma Limit Settings", - "Description":"Sets the server wait time before disconnecting a player after loss of an active traffic connection (if Kick On Disconnect Timeout is enabled)", - "Keywords":"disconnect,timeout,disconnecttimeout", - "FieldName":"disconnectTimeout", - "InputType":"number", - "MinValue":"5", - "MaxValue":"90", - "IsFlagArgument":false, - "ParamFieldName":"disconnectTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"90", - "Placeholder":"90", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Disconnect Timeout", - "Category":"Arma Limit Settings", - "Description":"If enabled, players hitting the disconnect timeout will be kicked, otherwise that will just be logged", - "Keywords":"disconnect,timeout,kick,kickclientsonslownetwork", - "FieldName":"kickTimeout", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"kickTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Maximum Desync", - "Category":"Arma Limit Settings", - "Description":"Sets the maximum desync value before the server kicks a player (if Kick On Maximum Desync is enabled)", - "Keywords":"maximum,desync,maxdesync", - "FieldName":"maxDesync", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"maxDesync", - "IncludeInCommandLine":false, - "DefaultValue":"150", - "Placeholder":"150", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Maximum Desync", - "Category":"Arma Limit Settings", - "Description":"If enabled, players hitting the maximum desync value will be kicked, otherwise that will just be logged", - "Keywords":"maximum,desync,kick,kickdesync,kickclientsonslownetwork", - "FieldName":"kickDesync", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"kickDesync", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Maximum Ping", - "Category":"Arma Limit Settings", - "Description":"Sets the maximum latency (ping) before the server kicks a player (if Kick On Maximum Ping is enabled)", - "Keywords":"maximum,ping,latency,maxping", - "FieldName":"maxPing", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"maxPing", - "IncludeInCommandLine":false, - "DefaultValue":"200", - "Placeholder":"200", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Maximum Ping", - "Category":"Arma Limit Settings", - "Description":"If enabled, players hitting the maximum latency (ping) value will be kicked, otherwise that will just be logged", - "Keywords":"maximum,ping,latency,kick,kickclientsonslownetwork", - "FieldName":"kickPing", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"kickPing", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Maximum Packet Loss", - "Category":"Arma Limit Settings", - "Description":"Sets the maximum packet loss before the server kicks a player (if Kick On Maximum Packet Loss is enabled)", - "Keywords":"maximum,packet,loss,maxpacketloss", - "FieldName":"maxPacketLoss", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"maxPacketLoss", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Placeholder":"50", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Maximum Packet Loss", - "Category":"Arma Limit Settings", - "Description":"If enabled, players hitting the maximum packet loss value will be kicked, otherwise that will just be logged", - "Keywords":"maximum,packet,loss,kick,kickclientsonslownetwork", - "FieldName":"kickLoss", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"kickLoss", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Manual Kick Waittime", - "Category":"Arma Limit Settings", - "Description":"Sets the time interval before a player can return after a manual kick (such as vote kick, admin kick, bruteforce detection). -1 = until mission end, -2 = until server restart", - "Keywords":"wait,time,manual,kick,kicktimeout", - "FieldName":"kickManual", - "InputType":"number", - "MinValue":"-2", - "IsFlagArgument":false, - "ParamFieldName":"kickManual", - "IncludeInCommandLine":false, - "DefaultValue":"-1", - "Placeholder":"-1", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Connectivity Kick Waittime", - "Category":"Arma Limit Settings", - "Description":"Sets the time interval before a player can return after a connectivity kick (ping, timeout, packetloss, desync). -1 = until mission end, -2 = until server restart", - "Keywords":"wait,time,connectivity,kick,kicktimeout", - "FieldName":"kickConnectivity", - "InputType":"number", - "MinValue":"-2", - "IsFlagArgument":false, - "ParamFieldName":"kickConnectivity", - "IncludeInCommandLine":false, - "DefaultValue":"180", - "Placeholder":"180", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"BattlEye Kick Waittime", - "Category":"Arma Limit Settings", - "Description":"Sets the time interval before a player can return after a BattlEye kick. -1 = until mission end, -2 = until server restart", - "Keywords":"wait,time,battleye,kick,kicktimeout", - "FieldName":"kickBattlEye", - "InputType":"number", - "MinValue":"-2", - "IsFlagArgument":false, - "ParamFieldName":"kickBattlEye", - "IncludeInCommandLine":false, - "DefaultValue":"180", - "Placeholder":"180", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Harmless Kick Waittime", - "Category":"Arma Limit Settings", - "Description":"Sets the time interval before a player can return after a harmless kick (such as wrong addons, Steam timeout or checks, signatures, content, etc). -1 = until mission end, -2 = until server restart", - "Keywords":"wait,time,harmless,kick,kicktimeout", - "FieldName":"kickHarmless", - "InputType":"number", - "MinValue":"-2", - "IsFlagArgument":false, - "ParamFieldName":"kickHarmless", - "IncludeInCommandLine":false, - "DefaultValue":"180", - "Placeholder":"180", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Voting Timeout", - "Category":"Arma Limit Settings", - "Description":"Sets the time limit for voting. Format is <ready number>,<not ready number>", - "Keywords":"voting,timeout,votingtimeout", - "FieldName":"votingTimeOut", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"votingTimeOut", - "IncludeInCommandLine":false, - "DefaultValue":"60,90", - "Placeholder":"60,90", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Role Selection Timeout", - "Category":"Arma Limit Settings", - "Description":"Sets the time limit for role selection. Format is <ready number>,<not ready number>", - "Keywords":"role,timeout,roletimeout", - "FieldName":"roleTimeOut", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"roleTimeOut", - "IncludeInCommandLine":false, - "DefaultValue":"90,120", - "Placeholder":"90,120", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Briefing Timeout", - "Category":"Arma Limit Settings", - "Description":"Sets the time limit for briefing. Format is <ready number>,<not ready number>", - "Keywords":"briefing,timeout,briefingtimeout", - "FieldName":"briefingTimeOut", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"briefingTimeOut", - "IncludeInCommandLine":false, - "DefaultValue":"60,90", - "Placeholder":"60,90", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Debriefing Timeout", - "Category":"Arma Limit Settings", - "Description":"Sets the time limit for debriefing. Format is <ready number>,<not ready number>", - "Keywords":"debriefing,timeout,debriefingtimeout", - "FieldName":"debriefingTimeOut", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"debriefingTimeOut", - "IncludeInCommandLine":false, - "DefaultValue":"60,60", - "Placeholder":"60,60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Lobby Idle Timeout", - "Category":"Arma Limit Settings", - "Description":"Sets the time limit for lobby idle", - "Keywords":"lobby,idle,timeout,lobbyidletimeout", - "FieldName":"lobbyIdleTimeout", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"lobbyIdleTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Placeholder":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"ArmaUnits Data Timeout", - "Category":"Arma Limit Settings", - "Description":"Sets how long a player will wait for armaUnits data when connecting", - "Keywords":"arma,units,timeout,armaunitstimeout", - "FieldName":"armaUnitsTimeout", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"armaUnitsTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Placeholder":"30", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Server Branch", - "Category":"SteamCMD and Updates", - "Description":"Sets the server branch (or branches) to install. NOTE: Update the server after switching branches, and set the Minimum Client Version to 0 if using the Performance Profiling Build in any way!", - "Keywords":"server,branch,depot", - "FieldName":"ServerBranch", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerBranch", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "EnumValues":{ - "public":"Public (default)", - "profiling":"Performance Profiling Build", - "creatordlc":"Creator DLC Build", - "contact":"Contact Build", - "creatordlc-profiling":"Creator DLC + Performance Profiling Builds" - } - } -] diff --git a/arma3convertmods.sh b/arma3convertmods.sh deleted file mode 100644 index d96fdb7eb..000000000 --- a/arma3convertmods.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -find ./arma3/233780/steamapps/workshop/content/107410/ -depth -name "*[A-Z]*" -print0 |\ - xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" -exit 0 \ No newline at end of file diff --git a/arma3metaconfig.json b/arma3metaconfig.json deleted file mode 100644 index 2b046657a..000000000 --- a/arma3metaconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -[ - { - "ConfigFile":"server.cfg", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"./arma3/233780/AMP_server.cfg" - }, - { - "ConfigFile":"battleye/beserver_x64.cfg", - "ConfigType":"kvp", - "ConfigFormat":"{0} {1}", - "Subsections":[ - { - "Heading":"$root", - "SettingMappings":{ - "RConPassword":"$RemoteAdminPassword", - "RConPort":"$RCONPort", - "RConIP":"$ApplicationIPBinding" - } - } - ] - } -] diff --git a/arma3modscript.sh b/arma3modscript.sh deleted file mode 100644 index a5d69e9ba..000000000 --- a/arma3modscript.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -find ./arma3/233780/steamapps/workshop/content/107410/ -depth -name "*[A-Z]*" -print0 |\ - xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"";\ - cd ./arma3/233780 &&\ - find ./steamapps/workshop/content/107410 -maxdepth 1 -mindepth 1 -type d -exec ln -sf -t ./ {} + -exit 0 \ No newline at end of file diff --git a/arma3runhc.ps1 b/arma3runhc.ps1 deleted file mode 100644 index c4919be79..000000000 --- a/arma3runhc.ps1 +++ /dev/null @@ -1,48 +0,0 @@ -# Arguments: [number_clients] [server_binding] [server_port] "<server_password>" "<mod_list>" "<hc_parameters_file>" - -# Check if any headless clients are to be run -# If none, immediately exit -if ($args[0] -eq "0") { exit } - -# Check if server starts successfully within 3 minutes -# If not, exit -$serverStarted = $false -for ($i = 1; $i -le 180; $i++) { - if (Get-NetUDPEndpoint -LocalPort $args[2] -ErrorAction SilentlyContinue) { - $serverStarted = $true - break - } - Start-Sleep -Seconds 1 -} -if (-not $serverStarted) { exit 1 } - -# Start the headless clients -$clients = @() -$basePort = [int]$args[2] + 498 -if ($args.Length -lt 6) { - $parfile = "" -} else { - $parfile = $args[6] -} -cd "$PSScriptRoot\arma3\233780" -for ($i = 1; $i -le [int]$args[0]; $i++) { - if ($args[1] -eq "0.0.0.0") { - $connect = "127.0.0.1" - } else { - $connect = $args[1] - } - $hcProcess = Start-Process -FilePath "ArmA3Server_x64.exe" -ArgumentList "-client", "-nosound", "-profiles=A3Master", "-connect=${connect}:$($args[2])", "-port=$basePort", "-password=`"$($args[3])`"", "`"-mod=$($args[4])`"", "`"-par=$parfile`"" -WindowStyle Hidden -PassThru - $clients += $hcProcess.Id -} - -# Monitor server process and terminate headless clients -# when server terminates -while ($true) { - if (-not (Get-NetUDPEndpoint -LocalPort $args[2] -ErrorAction SilentlyContinue)) { - foreach ($processId in $clients) { - Stop-Process -Id $processId -Force - } - exit 0 - } - Start-Sleep -Seconds 1 -} diff --git a/arma3runhc.sh b/arma3runhc.sh deleted file mode 100644 index de6cee40e..000000000 --- a/arma3runhc.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -# Arguments: [number_clients] [server_binding] [server_port] "<server_password>" "<mod_list>" "<hc_parameters_file>" - -netcommand="$(command -v "ss" >/dev/null 2>&1 && echo "ss" || echo "netstat")" - -# Check if any headless clients are to be run -# If none, immediately exit -[[ $1 -eq 0 ]] && exit 0 - -# Check if server starts successfully within 3 minutes -# If not, exit -server_started=false -for i in $(seq 1 180); do - if $netcommand -uln | grep -q ":$3 "; then - server_started=true - break - fi - sleep 1 -done -if ! $server_started; then - exit 1 -fi - -# Start the headless clients -baseport=$(($3 + 498)) -parfile="${6:-}" -export LD_LIBRARY_PATH=$(dirname "$0")/linux64:$LD_LIBRARY_PATH -cd ./arma3/233780 -for i in $(seq 1 "$1"); do - if [[ "$2" == "0.0.0.0" ]]; then - connect="127.0.0.1" - else - connect="$2" - fi - ./arma3server_x64 -client -nosound -profiles=A3Master -connect=$connect:$3 -port=$baseport -password="$4" "-mod=$5" "-par=$parfile" >/dev/null 2>&1 & - clients+=($!) -done - -# Monitor server process and terminate headless clients -# when server terminates -trap 'kill "${clients[@]}" >/dev/null 2>&1' SIGTERM -while true; do - if ! $netcommand -uln | grep -q ":$3 "; then - for client in "${clients[@]}"; do - kill "$client" >/dev/null 2>&1 - done - exit 0 - fi - sleep 1 -done diff --git a/arma3server.cfg b/arma3server.cfg deleted file mode 100644 index 0757905c6..000000000 --- a/arma3server.cfg +++ /dev/null @@ -1,116 +0,0 @@ -// DO NOT edit server.cfg directly -// AMP_server.cfg controls server.cfg. Edit AMP_server.cfg if you want to add or change certain settings -// NOTE: -// - DO NOT change values in double curly braces, ie {{}}. They are set either via the AMP UI -// or are controlled by AMP itself (in particular, ports) -// - Other settings can be changed or added as needed - see the second section below - -// Full information on settings is available at https://community.bistudio.com/wiki/Arma_3:_Server_Config_File - -// ******* -// SETTINGS CONTROLLED BY AMP - DO NOT TOUCH THESE!!! -// ******* -hostname = "{{hostname}}"; -password = "{{password}}"; -passwordAdmin = "{{passwordAdmin}}"; -serverCommandPassword = "{{serverCommandPassword}}"; -admins[] = { {{admins}} }; -headlessClients[] = { {{headlessClients}} }; -localClient[] = { {{localClient}} }; -logFile = "server_console.log"; -motd[] = { {{motd}} }; -motdInterval = {{motdInterval}}; -maxPlayers = {{maxPlayers}}; -kickDuplicate = {{kickDuplicate}}; -verifySignatures = {{verifySignatures}}; -allowedFilePatching = {{allowedFilePatching}}; -filePatchingExceptions[] = { {{filePatchingExceptions}} }; -requiredBuild = {{requiredBuild}}; -loopback = {{loopback}}; -upnp = {{upnp}}; -skipLobby = {{skipLobby}}; -voteMissionPlayers = {{voteMissionPlayers}}; -voteThreshold = {{voteThreshold}}; -forceRotorLibSimulation = {{forceRotorLibSimulation}}; -disableVoN = {{disableVoN}}; -vonCodec = {{vonCodec}}; -vonCodecQuality = {{vonCodecQuality}}; -persistent = {{persistent}}; -timeStampFormat = "{{timeStampFormat}}"; -BattlEye = 1; -allowedLoadFileExtensions[] = { {{allowedLoadFileExtensions}} }; -allowedPreprocessFileExtensions[] = { {{allowedPreprocessFileExtensions}} }; -allowedHTMLLoadExtensions[] = { {{allowedHTMLLoadExtensions}} }; -enablePlayerDiag = {{enablePlayerDiag}}; -drawingInMap = {{drawingInMap}}; -allowProfileGlasses = {{allowProfileGlasses}}; -forcedDifficulty = "{{forcedDifficulty}}"; -disconnectTimeout = {{disconnectTimeout}}; -maxDesync = {{maxDesync}}; -maxPing = {{maxPing}}; -maxPacketLoss = {{maxPacketLoss}}; -kickClientsOnSlowNetwork[] = { {{kickPing}},{{kickLoss}},{{kickDesync}},{{kickTimeout}} }; -kickTimeout[] = { { 0,{{kickManual}} }, { 1,{{kickConnectivity}} }, { 2,{{kickBattlEye}} }, { 3,{{kickHarmless}} } }; -votingTimeOut[] = { {{votingTimeOut}} }; -roleTimeOut[] = { {{roleTimeOut}} }; -briefingTimeOut[] = { {{briefingTimeOut}} }; -debriefingTimeOut[] = { {{debriefingTimeOut}} }; -lobbyIdleTimeout = {{lobbyIdleTimeout}}; -armaUnitsTimeout = {{armaUnitsTimeout}}; -onUserConnected = "{{onUserConnected}}"; -onUserDisconnected = "{{onUserDisconnected}}"; -doubleIdDetected = "{{doubleIdDetected}}"; -onUserKicked = "{{onUserKicked}}"; -onUnsignedData = "{{onUnsignedData}}"; -onHackedData = "{{onHackedData}}"; -onDifferentData = "{{onDifferentData}}"; -autoSelectMission = {{autoSelectMission}}; -randomMissionOrder = {{randomMissionOrder}}; -statisticsEnabled = {{statisticsEnabled}}; -callExtReportLimit = {{callExtReportLimit}}; -zeusCompositionScriptLevel = {{zeusCompositionScriptLevel}}; -steamProtocolMaxDataSize = {{steamProtocolMaxDataSize}}; -class AdvancedOptions -{ - LogObjectNotFound = {{LogObjectNotFound}}; - SkipDescriptionParsing = {{SkipDescriptionParsing}}; - ignoreMissionLoadErrors = {{ignoreMissionLoadErrors}}; - queueSizeLogG = {{queueSizeLogG}}; -}; - -// ******* -// USER CONFIGURABLE SETTINGS - CHANGE/ADD ADDITIONAL SETTINGS HERE -// ******* - -// Note that any lines below that begin with // are commented out and will not be applied by the server -// Remove the // from the beginning of any line that you want to apply - -// VOTING -//allowedVoteCmds[] = { { "kick", false, false, 0.75 } }; -//allowedVotedAdminCmds[] = { { "mission", true, true } }; - -// INGAME SETTINGS -//allowedHTMLLoadURIs[] = {}; - -// MISSIONS CYCLE -//class Missions {}; // An empty Missions class means there will be no mission rotation -// OR -//class Missions // A full list of default missions is at https://community.bistudio.com/wiki/Arma_3:_MP_Mission_Names -//{ -// class Mission01 -// { -// template = MP_Marksmen_01.Altis; -// difficulty = "Veteran"; -// class Params {}; -// }; -// class Mission02 -// { -// template = MP_End_Game_01.Altis; -// difficulty = "Veteran"; -// class Params {}; -// }; -//}; -//missionWhitelist[] = {}; // An empty whitelist means there is no restriction on what missions are available - -// OTHER OPTIONS -//disableChannels[] = {}; diff --git a/arma3updates.json b/arma3updates.json deleted file mode 100644 index af800f24a..000000000 --- a/arma3updates.json +++ /dev/null @@ -1,131 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"233780", - "UpdateSourceArgs":"107410", - "UpdateSourceVersion":"public", - "UpdateSourceConditionSetting":"ServerBranch", - "UpdateSourceConditionValue":"public" - }, - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"233780", - "UpdateSourceArgs":"107410", - "UpdateSourceVersion":"profiling", - "UpdateSourceConditionSetting":"ServerBranch", - "UpdateSourceConditionValue":"profiling" - }, - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"233780", - "UpdateSourceArgs":"107410", - "UpdateSourceVersion":"creatordlc", - "UpdateSourceConditionSetting":"ServerBranch", - "UpdateSourceConditionValue":"creatordlc" - }, - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"233780", - "UpdateSourceArgs":"107410", - "UpdateSourceVersion":"contact", - "UpdateSourceConditionSetting":"ServerBranch", - "UpdateSourceConditionValue":"contact" - }, - { - "UpdateStageName":"SteamCMD Creator DLC Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"233780", - "UpdateSourceArgs":"107410", - "UpdateSourceVersion":"creatordlc", - "UpdateSourceConditionSetting":"ServerBranch", - "UpdateSourceConditionValue":"creatordlc-profiling" - }, - { - "UpdateStageName":"SteamCMD Performance Profiling Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"233780", - "UpdateSourceArgs":"107410", - "UpdateSourceTarget":".profiling", - "UpdateSourceVersion":"profiling", - "UpdateSourceConditionSetting":"ServerBranch", - "UpdateSourceConditionValue":"creatordlc-profiling" - }, - { - "UpdateStageName":"Performance Profiling Binary Copy", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}arma3server_x64", - "UpdateSourceArgs":"{{$FullRootDir}}.profiling/arma3server_x64", - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBranch", - "UpdateSourceConditionValue":"creatordlc-profiling" - }, - { - "UpdateStageName":"Performance Profiling Binary Copy", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}ArmA3Server_x64.exe", - "UpdateSourceArgs":"{{$FullRootDir}}.profiling/ArmA3Server_x64.exe", - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBranch", - "UpdateSourceConditionValue":"creatordlc-profiling" - }, - { - "UpdateStageName":"Server Config Template Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3server.cfg", - "UpdateSourceArgs":"AMP_server.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Basic Config File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3basic.cfg", - "UpdateSourceArgs":"basic.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Server Parameters File", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateFile", - "UpdateSourceArgs":"{{$FullBaseDir}}parameters.txt", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Headless Client Parameters File", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateFile", - "UpdateSourceArgs":"{{$FullBaseDir}}hc_parameters.txt", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Modscript Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/arma3convertmods.sh", - "UpdateSourceArgs":"convertmods.sh", - "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Convert Mods", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"./convertmods.sh" - } -] diff --git a/assetto-corsa-comp.kvp b/assetto-corsa-comp.kvp deleted file mode 100644 index cb51a20b0..000000000 --- a/assetto-corsa-comp.kvp +++ /dev/null @@ -1,82 +0,0 @@ -Meta.DisplayName=Assetto Corsa Competizione -Meta.Description=Assetto Corsa Competizione Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://steamdb.info/app/805550 -Meta.DisplayImageSource=steam:805550 -Meta.EndpointURIFormat= -Meta.ConfigManifest=assetto-corsa-compconfig.json -Meta.MetaConfigManifest=assetto-corsa-compmetaconfig.json -Meta.ConfigRoot=assetto-corsa-comp.kvp -Meta.MinAMPVersion=2.4.0.2 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Assetto Corsa Competizione -App.RootDir=./assetto-corsa-comp/ -App.BaseDirectory=./assetto-corsa-comp/1430110 -App.ExecutableWin=1430110\server\accServer.exe -App.ExecutableLinux=/usr/bin/wine -App.WorkingDir=1430110/server -App.LinuxCommandLineArgs="./accServer.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"805550","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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":"UDP","Port":9231,"Ref":"UDPPort","Name":"UDP Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":9232,"Ref":"TCPPort","Name":"TCP Port","Description":"Port for server query and ping"}] -App.PrimaryApplicationPortRef=UDPPort -App.UniversalSleepApplicationUDPPortRef=UDPPort -App.UniversalSleepSteamQueryPortRef=TCPPort -App.MaxUsers=30 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","UpdateSourceArgs":"805550","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.Compatibility=WindowsBufferedConsole -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=accServer.exe -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*|Server was running late for \d+ step\(s\), not enough CPU power)$ -Console.AppReadyRegex=^Listening to TCP \d+ \| UDP \d+$ -Console.UserJoinRegex=^New connection request: id (?<sessionid>\d+?) (?<username>.+?) (?<userid>S\d+?) on car model \d+$ -Console.UserLeaveRegex=^(Client (?<sessionid>\d+?) closed the connection \(\d+\)|Disconnecting connId (?<sessionid>\d+?) after \d+s due to setting ignorePrematureDisconnects=false)$ -Console.UserChatRegex=^CHAT (?<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 diff --git a/assetto-corsa-compconfig.json b/assetto-corsa-compconfig.json deleted file mode 100644 index 989999cbd..000000000 --- a/assetto-corsa-compconfig.json +++ /dev/null @@ -1,447 +0,0 @@ -[ - { - "DisplayName":"UDP Port", - "Category":"ACC Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$UDPPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"udpPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"TCP Port", - "Category":"ACC Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$TCPPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"tcpPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"ACC Server Settings", - "Description":"The name of the server as it appears publicly", - "Keywords":"name", - "FieldName":"serverName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"serverName", - "IncludeInCommandLine":false, - "DefaultValue":"Assetto Corsa Competizione Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"ACC Server Settings", - "Description":"Password to connect to the server as a player. Default is no password", - "Keywords":"password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Spectator Password", - "Category":"ACC Server Settings", - "Description":"Password to connect to the server as a spectator. Must be different to server password if both are set. Default is no password", - "Keywords":"spectator,password", - "FieldName":"spectatorPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"spectatorPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"ACC Server Settings", - "Description":"In-game \"admin\" user password. NOTE: Change this after installing the server!", - "Keywords":"admin,password", - "FieldName":"adminPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"adminPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Connection Limit", - "Category":"ACC Server Settings", - "Description":"Maximum number of players and spectators that can connect to the server at one time", - "Keywords":"connection,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"maxConnections", - "IncludeInCommandLine":false, - "DefaultValue":"85", - "Suffix":"connections", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Player Limit", - "Category":"ACC Server Settings", - "Description":"Maximum number of players that may connect to the server at one time", - "Keywords":"players,limit", - "FieldName":"maxCarSlots", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"maxCarSlots", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Track Medals Required", - "Category":"ACC Server Settings", - "Description":"Sets the number of track medals that a player must have", - "Keywords":"track,medal", - "FieldName":"trackMedalsRequirement", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"trackMedalsRequirement", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{ - "0":"None", - "1":"One", - "2":"Two", - "3":"Three" - } - }, - { - "DisplayName":"Safety Rating Required", - "Category":"ACC Server Settings", - "Description":"Sets the Safety Rating (SA) that a player must have to join the server. -1 = no rating", - "Keywords":"safety,ratimg", - "FieldName":"safetyRatingRequirement", - "InputType":"number", - "MinValue":"-1", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"safetyRatingRequirement", - "IncludeInCommandLine":false, - "DefaultValue":"49", - "Placeholder":"-1 or 0 - 100", - "EnumValues":{} - }, - { - "DisplayName":"Racecraft Rating Required", - "Category":"ACC Server Settings", - "Description":"Sets the Racecraft Rating (RC) that a player must have to join the server. -1 = no rating", - "Keywords":"racecraft,rating", - "FieldName":"racecraftRatingRequirement", - "InputType":"number", - "MinValue":"-1", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"racecraftRatingRequirement", - "IncludeInCommandLine":false, - "DefaultValue":"-1", - "Placeholder":"-1 or 0 - 100", - "EnumValues":{} - }, - { - "DisplayName":"Save Leaderboard", - "Category":"ACC Server Settings", - "Description":"If enabled, leaderboards are saved to the \"results\" folder", - "Keywords":"leaderboard", - "FieldName":"dumpLeaderboards", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"dumpLeaderboards", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Save Entry List", - "Category":"ACC Server Settings", - "Description":"If enabled, entry lists are saved at the end of any qualifying session", - "Keywords":"dump,entry,list", - "FieldName":"dumpEntryList", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"dumpEntryList", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Central Entry List Path", - "Category":"ACC Server Settings", - "Description":"Sets a custom path to a central entry list, for sharing across servers", - "Keywords":"central,entry,list,path", - "FieldName":"centralEntryListPath", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"centralEntryListPath", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Track Selection", - "Category":"ACC Gameplay Settings", - "Description":"Sets the track for the server", - "Keywords":"track", - "FieldName":"track", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"track", - "IncludeInCommandLine":false, - "DefaultValue":"mount_panorama", - "EnumValues":{ - "barcelona":"Barcelona", - "brands_hatch":"Brands Hatch", - "donington":"Donington", - "hungaroring":"Hungaroring", - "imola":"Imola", - "kyalami":"Kyalami", - "laguna_seca":"Laguna Seca", - "misano":"Misano", - "monza":"Monza", - "mount_panorama":"Mount Panorama", - "nurburgring":"Nurburgring", - "oulton_park":"Oulton Park", - "paul_ricard":"Paul Ricard", - "silverstone":"Silverstone", - "snetterton":"Snetterton", - "spa":"Spa", - "suzuka":"Suzuka", - "valencia":"Valencia", - "zandvoort":"Zandvoort", - "zolder":"Zolder" - } - }, - { - "DisplayName":"Car Group Selection", - "Category":"ACC Gameplay Settings", - "Description":"Sets the car group that is allowed on the server", - "Keywords":"car,group", - "FieldName":"carGroup", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"carGroup", - "IncludeInCommandLine":false, - "DefaultValue":"GT4", - "EnumValues":{ - "FreeForAll":"Free For All", - "GT3":"GT3", - "GT4":"GT4", - "GTC":"GTC", - "TCX":"TCX" - } - }, - { - "DisplayName":"Lock Race", - "Category":"ACC Gameplay Settings", - "Description":"If enabled, the server will not allow players to join during a race session", - "Keywords":"race,locked", - "FieldName":"isRaceLocked", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"isRaceLocked", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Random Track", - "Category":"ACC Gameplay Settings", - "Description":"If enabled, the server will change to a random track when the last driver leaves. \"Track Selection\" will only apply for the first session", - "Keywords":"random,track,empty", - "FieldName":"randomizeTrackWhenEmpty", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"randomizeTrackWhenEmpty", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Auto Disqualification", - "Category":"ACC Gameplay Settings", - "Description":"If this is disabled, drivers receive 30 second penalties rather than automatic disqualification, allowing time for incident review", - "Keywords":"auto,dq,disqualification", - "FieldName":"allowAutoDQ", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"allowAutoDQ", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Formation Lap Length", - "Category":"ACC Gameplay Settings", - "Description":"Sets the formation lap length. \"Long\" is only usable on private servers", - "Keywords":"formation,lap", - "FieldName":"shortFormationLap", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"shortFormationLap", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Long", - "1":"Short" - } - }, - { - "DisplayName":"Formation Lap Type", - "Category":"ACC Gameplay Settings", - "Description":"Sets the formation lap type", - "Keywords":"formation,lap,type", - "FieldName":"formationLapType", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"formationLapType", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{ - "0":"Old limiter lap", - "1":"Free lap", - "3":"Default formation" - } - }, - { - "DisplayName":"Race Wait Time", - "Category":"ACC Gameplay Settings", - "Description":"Sets the preparation time before a race (minimum 30s)", - "Keywords":"race,waiting,time", - "FieldName":"preRaceWaitingTimeSeconds", - "InputType":"number", - "MinValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"preRaceWaitingTimeSeconds", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Suffix":"seconds", - "Placeholder":"60", - "EnumValues":{} - }, - { - "DisplayName":"Race Over Time", - "Category":"ACC Gameplay Settings", - "Description":"Sets the time to forcibly close a session once the timer reaches 0:00 (recommended 107% of the expected laptime)", - "Keywords":"race,over,time", - "FieldName":"sessionOverTimeSeconds", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"sessionOverTimeSeconds", - "IncludeInCommandLine":false, - "DefaultValue":"120", - "Suffix":"seconds", - "Placeholder":"120", - "EnumValues":{} - }, - { - "DisplayName":"Ambient Temperature", - "Category":"ACC Gameplay Settings", - "Description":"Sets the baseline ambient temperature in °C", - "Keywords":"ambient,temp", - "FieldName":"ambientTemp", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ambientTemp", - "IncludeInCommandLine":false, - "DefaultValue":"26", - "Suffix":"°C", - "EnumValues":{} - }, - { - "DisplayName":"Cloud Level", - "Category":"ACC Gameplay Settings", - "Description":"Sets the baseline cloud level", - "Keywords":"cloud,level", - "FieldName":"cloudLevel", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"cloudLevel", - "IncludeInCommandLine":false, - "DefaultValue":"0.3", - "Placeholder":"0.0 - 1.0", - "EnumValues":{} - }, - { - "DisplayName":"Rain Level", - "Category":"ACC Gameplay Settings", - "Description":"Sets the static rain level if weather is static, or the expected rain level if weather is dynamic", - "Keywords":"rain", - "FieldName":"rain", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"rain", - "IncludeInCommandLine":false, - "DefaultValue":"0.0", - "Placeholder":"0.0 - 1.0", - "EnumValues":{} - }, - { - "DisplayName":"Dynamic Weather", - "Category":"ACC Gameplay Settings", - "Description":"Sets the dynamic weather level. 0 = static, 1-4 = fairly realistic, 5-7 = more sensational", - "Keywords":"random,weather", - "FieldName":"weatherRandomness", - "InputType":"number", - "MinValue":"0", - "MaxValue":"7", - "IsFlagArgument":false, - "ParamFieldName":"weatherRandomness", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"0 - 7", - "EnumValues":{} - }, - { - "DisplayName":"Ignore Premature Disconnects", - "Category":"ACC Gameplay Settings", - "Description":"If enabled, less arbitrary connections lost. On Linux hosts, disable this setting", - "Keywords":"ignore,premature,disconnects", - "FieldName":"ignorePrematureDisconnects", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ignorePrematureDisconnects", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - } -] diff --git a/assetto-corsa-compmetaconfig.json b/assetto-corsa-compmetaconfig.json deleted file mode 100644 index 2e1c1106d..000000000 --- a/assetto-corsa-compmetaconfig.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - { - "ConfigFile":"server/cfg/configuration.json", - "AutoMap":true, - "ConfigType":"json", - "ConfigEncoding":"utf16-le-nobom" - }, - { - "ConfigFile":"server/cfg/settings.json", - "AutoMap":true, - "ConfigType":"json", - "ConfigEncoding":"utf16-le-nobom" - }, - { - "ConfigFile":"server/cfg/event.json", - "AutoMap":true, - "ConfigType":"json", - "ConfigEncoding":"utf16-le-nobom" - }, - { - "ConfigFile":"server/cfg/assistRules.json", - "AutoMap":true, - "ConfigType":"json", - "ConfigEncoding":"utf16-le-nobom" - } -] \ No newline at end of file diff --git a/assetto-corsa.kvp b/assetto-corsa.kvp deleted file mode 100644 index 39feeaee3..000000000 --- a/assetto-corsa.kvp +++ /dev/null @@ -1,98 +0,0 @@ -Meta.DisplayName=Assetto Corsa -Meta.Description=Assetto Corsa Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://steamdb.info/app/244210 -Meta.DisplayImageSource=steam:244210 -Meta.EndpointURIFormat= -Meta.ConfigManifest=assetto-corsaconfig.json -Meta.MetaConfigManifest=assetto-corsametaconfig.json -Meta.ConfigRoot=assetto-corsa.kvp -Meta.MinAMPVersion=2.4.3.6 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -Meta.ConfigVersion=0.0.0.0 -Meta.ReleaseNotes= -Meta.BreakingReleaseNotes= -App.DisplayName=Assetto Corsa -App.RootDir=./assetto-corsa/ -App.BaseDirectory=./assetto-corsa/302550/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin=302550\acServer.exe -App.ExecutableLinux=302550/acServer -App.WorkingDir=302550 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"244210","DOTNET_ROOT":"{{$FullBaseDir}}dotnet"} -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":9600,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":9601,"Ref":"HTTPPort","Name":"HTTP Port","Description":"Port for lobby info"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=GamePort -App.MaxUsers=18 -App.UseRandomAdminPassword=False -App.PersistRandomPassword=False -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[assetto-corsaupdates.json] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=acServer.exe -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+)$ -Console.AppReadyRegex=^(Server started|\[[\d:]+ INF\] Starting update loop with an update rate of \d+hz)$ -Console.UserJoinRegex=^DRIVER ACCEPTED FOR CAR (?<username>.+?)$ -Console.UserLeaveRegex=^Clean exit, driver disconnected:\s+(?<username>.+?) \[\]$ -Console.UserChatRegex=^$ -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/assetto-corsaconfig.json b/assetto-corsaconfig.json deleted file mode 100644 index 8cf53faaa..000000000 --- a/assetto-corsaconfig.json +++ /dev/null @@ -1,672 +0,0 @@ -[ - { - "DisplayName":"UDP Port", - "Category":"AC Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"SERVER.UDP_PORT", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"TCP Port", - "Category":"AC Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"SERVER.TCP_PORT", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"HTTP Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$HTTPPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"SERVER.HTTP_PORT", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"AC Server Settings", - "Description":"The name of the server as it appears publicly", - "Keywords":"name", - "FieldName":"SERVER_NAME", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.NAME", - "IncludeInCommandLine":false, - "DefaultValue":"Assetto Corsa Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"AC Server Settings", - "Description":"If enabled, the server will be registered in the in-game lobby", - "Keywords":"public", - "FieldName":"SERVER_REGISTER_TO_LOBBY", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.REGISTER_TO_LOBBY", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Server Password", - "Category":"AC Server Settings", - "Description":"Password to connect to the server. Default is no password", - "Keywords":"password", - "FieldName":"SERVER_PASSWORD", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.PASSWORD", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"AC Server Settings", - "Description":"In-game \"admin\" user password (can be used to join instead of the server password). NOTE: Change this after installing the server!", - "Keywords":"admin,password", - "FieldName":"SERVER_ADMIN_PASSWORD", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.ADMIN_PASSWORD", - "IncludeInCommandLine":false, - "DefaultValue":"mypassword", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"AC Server Settings", - "Description":"Maximum number of players that may connect to the server. Must be less than the number of pits for the selected track", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.MAX_CLIENTS", - "IncludeInCommandLine":false, - "DefaultValue":"18", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Blacklist Mode", - "Category":"AC Server Settings", - "Description":"Sets the blacklist mode", - "Keywords":"blacklist,mode", - "FieldName":"SERVER_BLACKLIST_MODE", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.BLACKLIST_MODE", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Kick and allow rejoin", - "1":"Kick until server restart", - "2":"Kick and add to blacklist" - } - }, - { - "DisplayName":"Kick Quorum", - "Category":"AC Server Settings", - "Description":"Voting percentage threshold required to kick a player", - "Keywords":"kick,quorum", - "FieldName":"SERVER_KICK_QUORUM", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.KICK_QUORUM", - "IncludeInCommandLine":false, - "DefaultValue":"85", - "Suffix":"%", - "Placeholder":"85", - "EnumValues":{} - }, - { - "DisplayName":"Voting Quorum", - "Category":"AC Server Settings", - "Description":"Voting percentage threshold required for the SESSION vote to pass", - "Keywords":"vote,voting,quorum", - "FieldName":"SERVER_VOTING_QUORUM", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.VOTING_QUORUM", - "IncludeInCommandLine":false, - "DefaultValue":"80", - "Suffix":"%", - "Placeholder":"80", - "EnumValues":{} - }, - { - "DisplayName":"Voting Duration", - "Category":"AC Server Settings", - "Description":"Time during which a SESSION vote is open", - "Keywords":"vote,voting,duration", - "FieldName":"SERVER_VOTE_DURATION", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.VOTE_DURATION", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Suffix":"seconds", - "Placeholder":"20", - "EnumValues":{} - }, - { - "DisplayName":"Track Selection", - "Category":"AC Gameplay Settings", - "Description":"Sets the track for the server. Select a track name from \"content/tracks\"", - "Keywords":"track", - "FieldName":"SERVER_TRACK", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.TRACK", - "IncludeInCommandLine":false, - "DefaultValue":"magione", - "EnumValues":{} - }, - { - "DisplayName":"Track Variant Selection", - "Category":"AC Gameplay Settings", - "Description":"Sets the variant of the server track. Select a variant name for the selected track from \"content/tracks/TRACK\"", - "Keywords":"track,subversion", - "FieldName":"SERVER_CONFIG_TRACK", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.CONFIG_TRACK", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Car Selection", - "Category":"AC Gameplay Settings", - "Description":"Semi-colon separated list of car types that are allowed on the server. Select car name(s) from \"content/cars\"", - "Keywords":"track", - "FieldName":"SERVER_CARS", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.CARS", - "IncludeInCommandLine":false, - "DefaultValue":"bmw_m3_e30", - "EnumValues":{} - }, - { - "DisplayName":"Race Name", - "Category":"AC Gameplay Settings", - "Description":"Sets the name of the race", - "Keywords":"race,name", - "FieldName":"RACE_NAME", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"RACE.NAME", - "IncludeInCommandLine":false, - "DefaultValue":"Race", - "EnumValues":{} - }, - { - "DisplayName":"Race Laps", - "Category":"AC Gameplay Settings", - "Description":"Sets the number of laps for the race", - "Keywords":"race,laps", - "FieldName":"RACE_LAPS", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"RACE.LAPS", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "EnumValues":{} - }, - { - "DisplayName":"Race Wait Time", - "Category":"AC Gameplay Settings", - "Description":"Sets the period of time before the start of the session", - "Keywords":"race,wait,time", - "FieldName":"RACE_WAIT_TIME", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"RACE.WAIT_TIME", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Race Over Time", - "Category":"AC Gameplay Settings", - "Description":"Time remaining to finish the race from the moment the first player passes the finish line", - "Keywords":"race,over,time", - "FieldName":"SERVER_RACE_OVER_TIME", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.RACE_OVER_TIME", - "IncludeInCommandLine":false, - "DefaultValue":"180", - "Suffix":"seconds", - "Placeholder":"180", - "EnumValues":{} - }, - { - "DisplayName":"Race Join Status", - "Category":"AC Gameplay Settings", - "Description":"Sets the join status for the race", - "Keywords":"race,join,open", - "FieldName":"RACE_IS_OPEN", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"RACE.IS_OPEN", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"No join", - "1":"Free join", - "2":"Free join until 20 secs before green light" - } - }, - { - "DisplayName":"Qualifying Session Name", - "Category":"AC Gameplay Settings", - "Description":"Sets the name of the qualifying session", - "Keywords":"qualify,name", - "FieldName":"QUALIFY_NAME", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"QUALIFY.NAME", - "IncludeInCommandLine":false, - "DefaultValue":"Qualify", - "EnumValues":{} - }, - { - "DisplayName":"Qualifying Session Time", - "Category":"AC Gameplay Settings", - "Description":"Sets the period of time for the qualifying session", - "Keywords":"qualify,time", - "FieldName":"QUALIFY_TIME", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"QUALIFY.TIME", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Qualifying Session Join Status", - "Category":"AC Gameplay Settings", - "Description":"Sets the join status for the qualifying session", - "Keywords":"qualify,join,open", - "FieldName":"QUALIFY_IS_OPEN", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"QUALIFY.IS_OPEN", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"No join", - "1":"Free join" - } - }, - { - "DisplayName":"Practice Session Name", - "Category":"AC Gameplay Settings", - "Description":"Sets the name of the practice session", - "Keywords":"practice,name", - "FieldName":"PRACTICE_NAME", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"PRACTICE.NAME", - "IncludeInCommandLine":false, - "DefaultValue":"Practice", - "EnumValues":{} - }, - { - "DisplayName":"Practice Session Time", - "Category":"AC Gameplay Settings", - "Description":"Sets the period of time for the practice session", - "Keywords":"practice,time", - "FieldName":"PRACTICE_TIME", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"PRACTICE_TIME", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Practice Session Join Status", - "Category":"AC Gameplay Settings", - "Description":"Sets the join status for the practice session", - "Keywords":"practice,join,open", - "FieldName":"PRACTICE_IS_OPEN", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"PRACTICE.IS_OPEN", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"No join", - "1":"Free join" - } - }, - { - "DisplayName":"Enable Loop Mode", - "Category":"AC Gameplay Settings", - "Description":"If enabled, the server restarts from the first track", - "Keywords":"loop,mode", - "FieldName":"SERVER_LOOP_MODE", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.LOOP_MODE", - "IncludeInCommandLine":false, - "SkipIfEmpty":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Fuel Rate", - "Category":"AC Gameplay Settings", - "Description":"Sets the fuel usage rate. 0 = no fuel usage, 100 = a realistic rate", - "Keywords":"fuel,rate", - "FieldName":"SERVER_FUEL_RATE", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.FUEL_RATE", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Placeholder":"100", - "EnumValues":{} - }, - { - "DisplayName":"Damage Multiplier", - "Category":"AC Gameplay Settings", - "Description":"Sets the damage multiplier", - "Keywords":"damage,multiplier", - "FieldName":"SERVER_DAMAGE_MULTIPLIER", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.DAMAGE_MULTIPLIER", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Placeholder":"0-100", - "EnumValues":{} - }, - { - "DisplayName":"Tyre Types Allowed", - "Category":"AC Gameplay Settings", - "Description":"Semi-colon separated list of tyre shortnames that are allowed on the server. Select from SV, ST, SM, SS, S, M, H, SH, HR, I, V", - "Keywords":"legal,tyres", - "FieldName":"SERVER_LEGAL_TYRES", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":false, - "ParamFieldName":"SERVER.LEGAL_TYRES", - "IncludeInCommandLine":false, - "DefaultValue":"SV", - "Placeholder":"V;E;HR;ST", - "EnumValues":{} - }, - { - "DisplayName":"Tyre Wear Rate", - "Category":"AC Gameplay Settings", - "Description":"Sets the tyre wear usage rate. 0 = no tyre wear, 100 = a realistic rate", - "Keywords":"tyre,wear,rate", - "FieldName":"SERVER_TYRE_WEAR_RATE", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.TYRE_WEAR_RATE", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Placeholder":"0-100", - "EnumValues":{} - }, - { - "DisplayName":"Enable Tyre Blankets", - "Category":"AC Gameplay Settings", - "Description":"If enabled, tyres will have optimal temperature at the start of a session and after a pitstop", - "Keywords":"tyre,blankets", - "FieldName":"SERVER_TYRE_BLANKETS_ALLOWED", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.TYRE_BLANKETS_ALLOWED", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Allowed Tyres Out Number", - "Category":"AC Gameplay Settings", - "Description":"Sets the number of tyres allowed to be off-track without invalidating a lap", - "Keywords":"tyres,out", - "FieldName":"SERVER_ALLOWED_TYRES_OUT", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.ALLOWED_TYRES_OUT", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Placeholder":"2", - "EnumValues":{} - }, - { - "DisplayName":"Allow Anti-lock Braking System", - "Category":"AC Gameplay Settings", - "Description":"Sets whether anti-lock braking system is allowed", - "Keywords":"abs,anti-lock,braking", - "FieldName":"SERVER_ABS_ALLOWED", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.ABS_ALLOWED", - "IncludeInCommandLine":false, - "SkipIfEmpty":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"No car can use", - "1":"Only cars given ABS can use", - "2":"Any car can use" - } - }, - { - "DisplayName":"Allow Traction Control", - "Category":"AC Gameplay Settings", - "Description":"Sets whether traction control is allowed", - "Keywords":"tc,traction,control", - "FieldName":"SERVER_TC_ALLOWED", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.TC_ALLOWED", - "IncludeInCommandLine":false, - "SkipIfEmpty":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"No car can use", - "1":"Only cars given TC can use", - "2":"Any car can use" - } - }, - { - "DisplayName":"Enable Stability Assist", - "Category":"AC Gameplay Settings", - "Description":"If enabled, stability assist will apply", - "Keywords":"stability,assist", - "FieldName":"SERVER_STABILITY_ALLOWED", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.STABILITY_ALLOWED", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Autoclutch Assist", - "Category":"AC Gameplay Settings", - "Description":"If enabled, autoclutch assist will apply", - "Keywords":"auto,clutch,assist", - "FieldName":"SERVER_AUTOCLUTCH_ALLOWED", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.AUTOCLUTCH_ALLOWED", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Virtual Mirror", - "Category":"AC Gameplay Settings", - "Description":"If enabled, a virtual mirror will be enabled for every player", - "Keywords":"force,virtual,mirror", - "FieldName":"SERVER_FORCE_VIRTUAL_MIRROR", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.FORCE_VIRTUAL_MIRROR", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Sun Position Angle", - "Category":"AC Gameplay Settings", - "Description":"Sets the angle of the position of the sun", - "Keywords":"sun,angle", - "FieldName":"SERVER_SUN_ANGLE", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SERVER.SUN_ANGLE", - "IncludeInCommandLine":false, - "DefaultValue":"48", - "Suffix":"degrees", - "Placeholder":"48", - "EnumValues":{} - }, - { - "DisplayName":"Session Starting Grip", - "Category":"AC Gameplay Settings", - "Description":"Sets the percentage level of grip at the start of the session", - "Keywords":"session,start,grip", - "FieldName":"DYNAMIC_TRACK_SESSION_START", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"DYNAMIC_TRACK.SESSION_START", - "IncludeInCommandLine":false, - "DefaultValue":"95", - "Suffix":"%", - "Placeholder":"95", - "EnumValues":{} - }, - { - "DisplayName":"Session Starting Grip Randomness", - "Category":"AC Gameplay Settings", - "Description":"Sets the level of randomness added to the session starting grip", - "Keywords":"session,start,grip,random", - "FieldName":"DYNAMIC_TRACK_RANDOMNESS", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DYNAMIC_TRACK.RANDOMNESS", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Suffix":"%", - "Placeholder":"2", - "EnumValues":{} - }, - { - "DisplayName":"Laps for Grip Gain", - "Category":"AC Gameplay Settings", - "Description":"Sets the number of laps needed to add 1% grip", - "Keywords":"grip,gain,laps", - "FieldName":"DYNAMIC_TRACK_LAP_GAIN", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DYNAMIC_TRACK.LAP_GAIN", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "EnumValues":{} - }, - { - "DisplayName":"Grip Session Transfer", - "Category":"AC Gameplay Settings", - "Description":"Sets how much of the gained grip is to be added to the next session (as a percentage). 100 = all of the gained grip", - "Keywords":"grip,gain,session,transfer", - "FieldName":"DYNAMIC_TRACK_SESSION_TRANSFER", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"DYNAMIC_TRACK.SESSION_TRANSFER", - "IncludeInCommandLine":false, - "DefaultValue":"90", - "Suffix":"%", - "Placeholder":"90", - "EnumValues":{} - }, - { - "DisplayName":"Server Version", - "Category":"SteamCMD and Updates", - "Description":"Sets the server version to install. The Modded version is installed from the [AssettoServer](https://assettoserver.org/) repo. Select the required Dotnet Version as well. NOTE: Update the server after switching versions!", - "Keywords":"server,version,modded", - "FieldName":"ServerVersion", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerVersion", - "IncludeInCommandLine":false, - "DefaultValue":"vanilla", - "EnumValues":{ - "vanilla":"Vanilla (default)", - "modded":"Modded (AssettoServer)" - } - }, - { - "DisplayName":"Dotnet Version", - "Category":"SteamCMD and Updates", - "Description":"Sets the [ASP.NET Core 7.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) to install for the Modded server. NOTE: Update the server after switching versions!", - "Keywords":"dotnet,version", - "FieldName":"DotnetVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DotnetVersion", - "IncludeInCommandLine":false, - "DefaultValue":"7.0.5", - "Placeholder":"7.0.5", - "EnumValues":{} - } -] \ No newline at end of file diff --git a/assetto-corsametaconfig.json b/assetto-corsametaconfig.json deleted file mode 100644 index 1091a3f91..000000000 --- a/assetto-corsametaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile":"cfg/server_cfg.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - } -] \ No newline at end of file diff --git a/assetto-corsaupdates.json b/assetto-corsaupdates.json deleted file mode 100644 index a7ee31d64..000000000 --- a/assetto-corsaupdates.json +++ /dev/null @@ -1,96 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Server Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"302550", - "UpdateSourceArgs":"244210", - "ForceDownloadPlatform":"Windows" - }, - { - "UpdateStageName":"Modded Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"GithubRelease", - "UpdateSourceArgs":"compujuckel/AssettoServer", - "UpdateSourceData":"assetto-server-win-x64.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerVersion", - "UpdateSourceConditionValue":"modded" - }, - { - "UpdateStageName":"Modded Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"GithubRelease", - "UpdateSourceArgs":"compujuckel/AssettoServer", - "UpdateSourceData":"assetto-server-linux-x64.tar.gz", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerVersion", - "UpdateSourceConditionValue":"modded" - }, - { - "UpdateStageName":"Modded Server Overwrite", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C move /Y assetto-corsa\\302550\\AssettoServer.exe assetto-corsa\\302550\\acServer.exe", - "UpdateSourceConditionSetting":"ServerVersion", - "UpdateSourceConditionValue":"modded" - }, - { - "UpdateStageName":"Modded Server Overwrite", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'mv -f ./assetto-corsa/302550/AssettoServer ./assetto-corsa/302550/acServer && chmod +x ./assetto-corsa/302550/acServer'", - "UpdateSourceConditionSetting":"ServerVersion", - "UpdateSourceConditionValue":"modded" - }, - { - "UpdateStageName":"SteamCMD Component Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1007", - "UpdateSourceTarget":"302550", - "UpdateSourceConditionSetting":"ServerVersion", - "UpdateSourceConditionValue":"modded" - }, - { - "UpdateStageName":"Create Dotnet Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}dotnet", - "UpdateSourceConditionSetting":"ServerVersion", - "UpdateSourceConditionValue":"modded" - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerVersion", - "UpdateSourceConditionValue":"modded" - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerVersion", - "UpdateSourceConditionValue":"modded" - } -] \ No newline at end of file diff --git a/astroneer.kvp b/astroneer.kvp deleted file mode 100644 index 3203c2c2b..000000000 --- a/astroneer.kvp +++ /dev/null @@ -1,101 +0,0 @@ -Meta.DisplayName=Astroneer -Meta.Description=Astroneer Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=Greelan, Tueem -Meta.URL=https://store.steampowered.com/app/361420/ASTRONEER/ -Meta.DisplayImageSource=steam:361420 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=astroneerconfig.json -Meta.MetaConfigManifest=astroneermetaconfig.json -Meta.ConfigRoot=astroneer.kvp -Meta.MinAMPVersion=2.3.2.0 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.DockerBaseReadOnly=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=Astroneer requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -Meta.ConfigVersion=0.0.0.0 -Meta.ReleaseNotes= -Meta.BreakingReleaseNotes= -App.DisplayName=Astroneer -App.RootDir=./astroneer/ -App.BaseDirectory=./astroneer/728470/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin=728470/Astro/Binaries/Win64/AstroServer-Win64-Shipping.exe -App.ExecutableLinux=/usr/bin/wine -App.WorkingDir=728470/Astro/Binaries/Win64 -App.LinuxCommandLineArgs="./AstroServer-Win64-Shipping.exe" -ini:Engine:[SystemSettings]:net.AllowEncryption=False -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} Port={{$ApplicationPort1}} ConsolePort={{$RemoteAdminPort}} {{$FormattedArgs}} -log -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"361420","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=DSServerShutdown -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":7777,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":1234,"Ref":"RemoteAdminPort","Name":"Console Port","Description":"Port for raw TCP socket RCON traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=ApplicationPort1 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=8 -App.UseRandomAdminPassword=False -App.PersistRandomPassword=False -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[astroneerupdates.json] -App.PreStartStages=[] -App.ForceUpdate=False -App.ForceUpdateReason= -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName=wine64 -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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/astroneerconfig.json b/astroneerconfig.json deleted file mode 100644 index 5bfce061b..000000000 --- a/astroneerconfig.json +++ /dev/null @@ -1,199 +0,0 @@ -[ - { - "DisplayName":"Public IP", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ExternalIP", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.PublicIP", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort1", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"URL.Port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Console Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RemoteAdminPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Linux Server Configuration", - "Category":"Server Settings", - "Description":"WARNING: Running Astroneer on Linux requires encryption to be disabled on both server and clients. USE AT YOUR OWN RISK. To disable encryption on a client, add net.AllowEncryption=False under the [SystemSettings] header in %LocalAppData%\\Astro\\Saved\\Config\\WindowsNoEditor\\Engine.ini", - "Keywords":"linux,encryption", - "FieldName":"AllowEncryption", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"SystemSettings.net.AllowEncryption", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"The name of the server as it appears publicly", - "Keywords":"name,servername", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"Astroneer Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Password required to connect to the server. Default is no password", - "Keywords":"password,serverpassword", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.ServerPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Console Password", - "Category":"Server Settings", - "Description":"Password required to connect to the server's RCON (raw TCP socket). Default is a strong random password", - "Keywords":"console,password,rcon,consolepassword", - "FieldName":"ConsolePassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePassword", - "IncludeInCommandLine":false, - "DefaultValue":"{{newguid()}}", - "EnumValues":{} - }, - { - "DisplayName":"Owner Name", - "Category":"Server Settings", - "Description":"Steam name of the server owner (admin)", - "Keywords":"owner,name,ownername", - "FieldName":"OwnerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.OwnerName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server at one time", - "Keywords":"players,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"2", - "MaxValue":"8", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroGameUserSettings.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "Placeholder":"8", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Game Save Interval", - "Category":"Server Settings", - "Description":"The interval between automatic server saves", - "Keywords":"autosave,save,interval,autosavegameinterval", - "FieldName":"AutoSaveGameInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.AutoSaveGameInterval", - "IncludeInCommandLine":false, - "DefaultValue":"900", - "Placeholder":"900", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Backup Save Interval", - "Category":"Server Settings", - "Description":"The interval between automatic server backups", - "Keywords":"backup,interval,backupsavegamesinterval", - "FieldName":"BackupSaveGamesInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.BackupSaveGamesInterval", - "IncludeInCommandLine":false, - "DefaultValue":"7200", - "Placeholder":"7200", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Whitelist", - "Category":"Server Settings", - "Description":"If enabled, unlisted players will not be able to connect", - "Keywords":"deny,unlisted,denyunlistedplayers", - "FieldName":"DenyUnlistedPlayers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.DenyUnlistedPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Maximum Active Server Framerate", - "Category":"Server Settings", - "Description":"The maximum framerate that the server will allow when active", - "Keywords":"fps,framerate,active,maxserverframerate", - "FieldName":"MaxServerFramerate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerFramerate", - "IncludeInCommandLine":false, - "DefaultValue":"30.000000", - "Placeholder":"30.000000", - "Suffix":"fps", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Idle Server Framerate", - "Category":"Server Settings", - "Description":"The maximum framerate that the server will allow when idle", - "Keywords":"fps,framerate,idle,maxserveridleframerate", - "FieldName":"MaxServerIdleFramerate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerIdleFramerate", - "IncludeInCommandLine":false, - "DefaultValue":"3.000000", - "Placeholder":"3.000000", - "Suffix":"fps", - "EnumValues":{} - } -] diff --git a/astroneermetaconfig.json b/astroneermetaconfig.json deleted file mode 100644 index 7c8aa2ee1..000000000 --- a/astroneermetaconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "ConfigFile": "Astro/Saved/Config/WindowsServer/AstroServerSettings.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile": "Astro/Saved/Config/WindowsServer/GameUserSettings.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile": "Astro/Saved/Config/WindowsServer/Engine.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - } -] diff --git a/astroneerupdates.json b/astroneerupdates.json deleted file mode 100644 index 8350215c9..000000000 --- a/astroneerupdates.json +++ /dev/null @@ -1,17 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"728470", - "UpdateSourceArgs":"361420", - "ForceDownloadPlatform":"Windows" - }, - { - "UpdateStageName":"Initialise Wine", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" - } -] diff --git a/avorion.kvp b/avorion.kvp deleted file mode 100644 index 52429f6a4..000000000 --- a/avorion.kvp +++ /dev/null @@ -1,86 +0,0 @@ -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.RootDir=./avorion/ -App.BaseDirectory=./avorion/565060/ -App.ExecutableWin=565060\bin\AvorionServer.exe -App.ExecutableLinux=565060/bin/AvorionServer -App.WorkingDir=565060 -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","UpdateSourceArgs":"445220"}] -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$ -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 diff --git a/avorionconfig.json b/avorionconfig.json deleted file mode 100644 index 3482878a4..000000000 --- a/avorionconfig.json +++ /dev/null @@ -1,215 +0,0 @@ -[ - { - "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":"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":"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", - "classic":"Classic", - "freeplay":"FreePlay" - } - }, - { - "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":{}, - "MinValue":"1" - }, - { - "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":{} - } -] diff --git a/avorionmetaconfig.json b/avorionmetaconfig.json deleted file mode 100644 index 676f0066c..000000000 --- a/avorionmetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile":"galaxies/{{GalaxyName}}/server.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - } -] \ No newline at end of file diff --git a/barotrauma.kvp b/barotrauma.kvp deleted file mode 100644 index 9a495e26c..000000000 --- a/barotrauma.kvp +++ /dev/null @@ -1,91 +0,0 @@ -Meta.DisplayName=Barotrauma -Meta.Description=Barotrauma Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.AarchSupport=NotSupported -Meta.Author=Greelan, ThisIslandEarth -Meta.URL=https://barotraumagame.com/ -Meta.DisplayImageSource=steam:602960 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=barotraumaconfig.json -Meta.MetaConfigManifest=barotraumametaconfig.json -Meta.ConfigRoot=barotrauma.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3952?utm_source=ampcreate&utm_content=barotrauma -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Barotrauma -App.RootDir=./barotrauma/ -App.BaseDirectory=./barotrauma/1026340/ -App.SteamWorkshopDownloadLocation={{$FullBaseDir}}LocalMods -App.ExecutableWin=1026340\DedicatedServer.exe -App.ExecutableLinux=1026340/DedicatedServer -App.WorkingDir=1026340 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"602960","XDG_DATA_HOME":"{{$FullBaseDir}}"} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -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":27015,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server query traffic"}] -App.PrimaryApplicationPortRef=GamePort -App.AdminPortRef= -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=10 -App.UseRandomAdminPassword=False -App.PersistRandomPassword=False -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[barotraumaupdates.json] -App.PreStartStages=[] -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 started$ -Console.UserJoinRegex=^$ (?<username>.+?) has joined the server\.$ -Console.UserLeaveRegex=^$ (?<username>.+?) has left the server\. Reason: .+$ -Console.UserChatRegex=^$ -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.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 diff --git a/barotraumaconfig.json b/barotraumaconfig.json deleted file mode 100644 index 38ba00f3c..000000000 --- a/barotraumaconfig.json +++ /dev/null @@ -1,1145 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Barotrauma General", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Query Port", - "Category":"Barotrauma General", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@queryport", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Auto Restart", - "Category":"Barotrauma General", - "Description":"", - "Keywords":"", - "FieldName":"autorestart", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@autorestart", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Barotrauma General", - "Description":"Sets the name of the server as it appears in the server browser", - "Keywords":"server,name,servername", - "FieldName":"name", - "InputType":"text", - "IsFlagArgument":false, - "Required":true, - "ParamFieldName":"/serversettings/@name", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Barotrauma Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Message", - "Category":"Barotrauma General", - "Description":"Sets the text displayed in the server's info box", - "Keywords":"server,message,servermessage", - "FieldName":"ServerMessage", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@ServerMessage", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to Barotrauma!", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"Barotrauma General", - "Description":"If enabled, the server will show on the server browser", - "Keywords":"public", - "FieldName":"IsPublic", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@IsPublic", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Server Language", - "Category":"Barotrauma General", - "Description":"Sets the server language", - "Keywords":"server,language", - "FieldName":"Language", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@Language", - "IncludeInCommandLine":false, - "DefaultValue":"English", - "EnumValues":{ - "Czech":"čeština", - "Danish":"dansk", - "German":"Deutsch", - "English":"English", - "Spanish":"Español", - "Finnish":"suomi", - "French":"Français", - "Italian":"Italiano", - "Japanese":"日本語", - "Korean":"한국어", - "Dutch":"Nederlands", - "Norwegian":"norsk", - "Polish":"Polski", - "European Portuguese":"português", - "Brazilian Portuguese":"português brasileiro", - "Russian":"Русский", - "Swedish":"Svenska", - "Turkish":"Türkçe", - "Ukrainian":"украї́нська мо́ва", - "Chinese":"中文" - } - }, - { - "DisplayName":"Server Password", - "Category":"Barotrauma General", - "Description":"Sets the password to join the server", - "Keywords":"password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Barotrauma General", - "Description":"Sets the number of players allowed to join the server at one time", - "Keywords":"player,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "MaxValue":"16", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Level Difficulty", - "Category":"Barotrauma General", - "Description":"Sets the level difficulty. 0 = easiest, 100 = hellish", - "Keywords":"level,difficulty", - "FieldName":"LevelDifficulty", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@LevelDifficulty", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "EnumValues":{} - }, - { - "DisplayName":"Allowed Mission Types", - "Category":"Barotrauma General", - "Description":"Sets a comma-separated list of mission types for the server. If multiple are selected the server randomly chooses one (PvP Game Mode can only run Combat). Select from Salvage, Monster, Cargo, Beacon, Nest, Mineral, Combat, AbandonedOutpost, Escort, Pirate, ScanAlienRuins, ClearAlienRuins, All", - "Keywords":"mission,types,missiontype", - "FieldName":"MissionType", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@MissionType", - "IncludeInCommandLine":false, - "DefaultValue":"All", - "Placeholder":"All", - "EnumValues":{} - }, - { - "DisplayName":"Selected Submarine", - "Category":"Barotrauma General", - "Description":"Sets the submarine that will be used in a round. If blank, the server alphabetically picks the first submarine", - "Keywords":"selected,submarine,selectedsubmarine", - "FieldName":"SelectedSubmarine", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@SelectedSubmarine", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"Azimuth", - "EnumValues":{} - }, - { - "DisplayName":"Submarine Selection Mode", - "Category":"Barotrauma General", - "Description":"Sets how the next submarine should be chosen. Manual = only a client with the SelectSub permission can select. Random = submarine is randomly picked. Vote = all players can vote", - "Keywords":"submarine,selection,mode,subselectionmode", - "FieldName":"SubSelectionMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@SubSelectionMode", - "IncludeInCommandLine":false, - "DefaultValue":"Manual", - "EnumValues":{ - "Manual":"Manual (default)", - "Random":"Random", - "Vote":"Vote" - } - }, - { - "DisplayName":"Hidden Submarines", - "Category":"Barotrauma General", - "Description":"Sets a comma-separated list of submarines to be hidden from selection/purchase", - "Keywords":"hidden,submarine,hiddensubs", - "FieldName":"HiddenSubs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@HiddenSubs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"Orca,Typhon", - "EnumValues":{} - }, - { - "DisplayName":"Selected Shuttle", - "Category":"Barotrauma General", - "Description":"Sets the respawn shuttle that will be used in a round. If blank, the server alphabetically picks the first shuttle", - "Keywords":"selected,shuttle,selectedshuttle", - "FieldName":"SelectedShuttle", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@SelectedShuttle", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"Hemulen", - "EnumValues":{} - }, - { - "DisplayName":"Default Game Mode", - "Category":"Barotrauma General", - "Description":"Sets the default game mode, which will apply unless changed via the method set under \"Game Mode Selection Method\"", - "Keywords":"game,mode,gamemodeidentifier", - "FieldName":"GameModeIdentifier", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@GameModeIdentifier", - "IncludeInCommandLine":false, - "DefaultValue":"sandbox", - "EnumValues":{ - "sandbox":"Sandbox (default)", - "mission":"Mission", - "pvp":"PvP", - "multiplayercampaign":"Campaign" - } - }, - { - "DisplayName":"Game Mode Selection Method", - "Category":"Barotrauma General", - "Description":"Sets how the game mode can be changed. Manual = only a client with the SelectMode permission can select. Random = game mode is randomised. Vote = all players can vote", - "Keywords":"game,mode,selection,method,modeselectionmode", - "FieldName":"ModeSelectionMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@ModeSelectionMode", - "IncludeInCommandLine":false, - "DefaultValue":"Manual", - "EnumValues":{ - "Manual":"Manual (default)", - "Random":"Random", - "Vote":"Vote" - } - }, - { - "DisplayName":"Enable Voice Chat", - "Category":"Barotrauma General", - "Description":"If enabled, players will be able to use voice chat", - "Keywords":"voice,chat,voicechatenabled", - "FieldName":"VoiceChatEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@VoiceChatEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Start When Players Ready", - "Category":"Barotrauma General", - "Description":"If enabled, the server will automatically start a round if enough players are ready, based on the \"Minimum Player Ready Ratio\". Otherwise, the round must be manually started", - "Keywords":"start,ready,startwhenclientsready", - "FieldName":"StartWhenClientsReady", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@StartWhenClientsReady", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Minimum Player Ready Ratio", - "Category":"Barotrauma General", - "Description":"Sets the minimum ratio of players required to be ready for a round to be automatically started, if \"Start When Ready\" is set", - "Keywords":"start,ready,ratio,startwhenclientsreadyratio", - "FieldName":"StartWhenClientsReadyRatio", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@StartWhenClientsReadyRatio", - "IncludeInCommandLine":false, - "DefaultValue":"0.8", - "Placeholder":"0.8", - "EnumValues":{} - }, - { - "DisplayName":"Allow Spectating", - "Category":"Barotrauma General", - "Description":"If enabled, dead players can spectate. Otherwise, they are sent into the lobby", - "Keywords":"spectate,allowspectating", - "FieldName":"AllowSpectating", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowSpectating", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"AFK Kick Time", - "Category":"Barotrauma General", - "Description":"Sets the amount of time a player must be AFK to be auto-kicked", - "Keywords":"kick,afk,away,time,period,kickafktime", - "FieldName":"KickAFKTime", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@KickAFKTime", - "IncludeInCommandLine":false, - "DefaultValue":"600", - "Placeholder":"600", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Kill Disconnection Time", - "Category":"Barotrauma General", - "Description":"Sets the amount of time a player must be disconnected from their body for the character to be killed", - "Keywords":"disconnection,body,time,period,killdisconnectedtime", - "FieldName":"KillDisconnectedTime", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@KillDisconnectedTime", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Placeholder":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Randomize Seed Between Rounds", - "Category":"Barotrauma General", - "Description":"If enabled, the server will generate a new seed each round", - "Keywords":"randomize,seed,randomizeseed", - "FieldName":"RandomizeSeed", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@RandomizeSeed", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Mod Loading", - "Category":"Barotrauma General", - "Description":"Download mods by workshop item ID under SteamCMD and Updates. Load them by editing config_player.xml in accordance with [these instructions](https://gist.github.com/Greelan/87d640a370304fcdc25e3663f6b86666#2-mods)", - "Keywords":"load,mod", - "FieldName":"Mods", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"Mods", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Share Files With Players", - "Category":"Barotrauma General", - "Description":"If enabled, the server will send missing files to clients (currently only .sub files). Otherwise, if a client is missing required files they cannot spawn and will be sent back into the lobby", - "Keywords":"allow,file,transfers,allowfiletransfers", - "FieldName":"AllowFileTransfers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowFileTransfers", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Mod Downloads", - "Category":"Barotrauma General", - "Description":"If enabled, clients will be able to download required mods from the server. Otherwise they will need to obtain the mods themselves", - "Keywords":"allow,client,mod,download,allowmoddownloads", - "FieldName":"AllowModDownloads", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowModDownloads", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Voting Timeout", - "Category":"Barotrauma General", - "Description":"Sets the timeout that applies to voting", - "Keywords":"vote,voting,timeout,votetimeout", - "FieldName":"VoteTimeout", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@VoteTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Placeholder":"30", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Allowed Client Name Characters", - "Category":"Barotrauma General", - "Description":"Sets the characters approved for use in a client name. Enter as UTF-16 character code ranges. More information can be found [here](https://barotraumagame.com/wiki/Serversettings.xml)", - "Keywords":"allowed,client,name,chars,allowedclientnamechars", - "FieldName":"AllowedClientNameChars", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowedClientNameChars", - "IncludeInCommandLine":false, - "DefaultValue":"32-33,38-46,48-57,65-90,91-91,93-93,95-122,192-255,384-591,1024-1279,19968-21327,21329-40959,13312-19903,131072-173791,173824-178207,178208-183983,63744-64255,194560-195103", - "Placeholder":"32-33,38-46,48-57,65-90,91-91,93-93,95-122,192-255,384-591,1024-1279,19968-21327,21329-40959,13312-19903,131072-173791,173824-178207,178208-183983,63744-64255,194560-195103", - "EnumValues":{} - }, - { - "DisplayName":"Save Server Logs", - "Category":"Barotrauma General", - "Description":"If enabled, server logs will be saved in the ServerLogs folder upon server shutdown", - "Keywords":"save,server,logs,saveserverlogs", - "FieldName":"SaveServerLogs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@SaveServerLogs", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Log File Length", - "Category":"Barotrauma General", - "Description":"Sets the number of lines generated in a log file before it is rotated", - "Keywords":"log,file,lines,rotate,linesperlogfile", - "FieldName":"LinesPerLogFile", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@LinesPerLogFile", - "IncludeInCommandLine":false, - "DefaultValue":"800", - "Placeholder":"800", - "EnumValues":{} - }, - { - "DisplayName":"Server Tickrate", - "Category":"Barotrauma General", - "Description":"Sets the tickrate of the server", - "Keywords":"tickrate", - "FieldName":"TickRate", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@TickRate", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "EnumValues":{} - }, - { - "DisplayName":"Enable UPnP", - "Category":"Barotrauma General", - "Description":"If set, UPnP will be enabled on the server. Requires a UPnP-enabled router to function", - "Keywords":"upnp,enableupnp", - "FieldName":"enableupnp", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@enableupnp", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Play Style", - "Category":"Barotrauma Gameplay", - "Description":"Sets the server play style displayed in the server browser and lobby", - "Keywords":"play,style,playstyle", - "FieldName":"PlayStyle", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@PlayStyle", - "IncludeInCommandLine":false, - "DefaultValue":"Casual", - "EnumValues":{ - "Serious":"Serious", - "Casual":"Casual (default)", - "Roleplay":"Roleplay", - "Rampage":"Rampage", - "SomethingDifferent":"Something Different" - } - }, - { - "DisplayName":"Allow Round End Vote", - "Category":"Barotrauma Gameplay", - "Description":"If enabled, players can vote to end the round", - "Keywords":"vote,voting,round,end,allowendvoting", - "FieldName":"AllowEndVoting", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowEndVoting", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Minimum Round End Vote Ratio", - "Category":"Barotrauma Gameplay", - "Description":"Sets the minimum proportion of round end votes required to end a round (if Round End Vote is enabled)", - "Keywords":"round,end,vote,voting,ratio,endvoterequiredratio", - "FieldName":"EndVoteRequiredRatio", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@EndVoteRequiredRatio", - "IncludeInCommandLine":false, - "DefaultValue":"0.6", - "Placeholder":"0.6", - "EnumValues":{} - }, - { - "DisplayName":"Allow Respawning", - "Category":"Barotrauma Gameplay", - "Description":"If enabled, respawning of dead players will be allowed. Otherwise, dead players will have to spectate until the round ends", - "Keywords":"respawn,allowrespawn", - "FieldName":"AllowRespawn", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowRespawn", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Respawn Interval", - "Category":"Barotrauma Gameplay", - "Description":"Sets the time between each respawn wave", - "Keywords":"respawn,interval,respawninterval", - "FieldName":"RespawnInterval", - "InputType":"number", - "MinValue":"1", - "MaxValue":"10000", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@RespawnInterval", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Placeholder":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Respawn Ratio", - "Category":"Barotrauma Gameplay", - "Description":"Sets the minimum proportion of dead/spectating players required for the respawn timer to start", - "Keywords":"respawn,ratio,minrespawnratio", - "FieldName":"MinRespawnRatio", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@MinRespawnRatio", - "IncludeInCommandLine":false, - "DefaultValue":"0.2", - "Placeholder":"0.2", - "EnumValues":{} - }, - { - "DisplayName":"Enable Respawn Shuttle", - "Category":"Barotrauma Gameplay", - "Description":"If enabled, respawning players may spawn in a shuttle away from the main submarine and must dock or otherwise merge with the crew. Otherwise, players are spawned in the submarine on certain job spawnpoints, depending on their job", - "Keywords":"respawn,shuttle,userespawnshuttle", - "FieldName":"UseRespawnShuttle", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@UseRespawnShuttle", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Maximum Respawn Transport Duration", - "Category":"Barotrauma Gameplay", - "Description":"Sets the maximum time the respawn shuttle has to dock to the submarine. If time runs out before the shuttle docks it will automatically return to the first outpost", - "Keywords":"respawn,transport,time,maxtransporttime", - "FieldName":"MaxTransportTime", - "InputType":"number", - "MinValue":"1", - "MaxValue":"10000", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@MaxTransportTime", - "IncludeInCommandLine":false, - "DefaultValue":"180", - "Placeholder":"180", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Line Of Sight Effect Mode", - "Category":"Barotrauma Gameplay", - "Description":"Sets the line of sight (LOS) effect mode", - "Keywords":"los,line,sight,losmode", - "FieldName":"LosMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@LosMode", - "IncludeInCommandLine":false, - "DefaultValue":"Transparent", - "EnumValues":{ - "None":"None", - "Transparent":"Transparent (default)", - "Opaque":"Opaque" - } - }, - { - "DisplayName":"Show Enemy Health Bars", - "Category":"Barotrauma Gameplay", - "Description":"Sets whether enemies' health status is shown, via health bars above their heads", - "Keywords":"enemy,health,status,showenemyhealthbars", - "FieldName":"ShowEnemyHealthBars", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@ShowEnemyHealthBars", - "IncludeInCommandLine":false, - "DefaultValue":"Showall", - "EnumValues":{ - "Showall":"Show all (default)", - "BossHealthBarsOnly":"Show only boss health", - "HideAll":"Hide all" - } - }, - { - "DisplayName":"Enable Traitors", - "Category":"Barotrauma Gameplay", - "Description":"Sets the chance of traitors appearing in a round. Yes = will definitely appear. No = will not appear. Maybe = have a 50/50 chance of appearing", - "Keywords":"enable,traitors,traitorsenabled", - "FieldName":"TraitorsEnabled", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@TraitorsEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"No", - "EnumValues":{ - "No":"No (default)", - "Yes":"Yes", - "Maybe":"Maybe" - } - }, - { - "DisplayName":"Traitor Minimum Player Count", - "Category":"Barotrauma Gameplay", - "Description":"Sets the minimum number of players required for a traitor to be picked", - "Keywords":"traitor,minimum,player,count,traitorsminplayercount", - "FieldName":"TraitorsMinPlayerCount", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@TraitorsMinPlayerCount", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Traitor Minimum Start Delay", - "Category":"Barotrauma Gameplay", - "Description":"Sets the minimum amount of time that must pass before a traitor is selected", - "Keywords":"traitor,minimum,time,delay,traitorsminstartdelay", - "FieldName":"TraitorsMinStartDelay", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@TraitorsMinStartDelay", - "IncludeInCommandLine":false, - "DefaultValue":"90", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Traitor Maximum Start Delay", - "Category":"Barotrauma Gameplay", - "Description":"Sets the maximum amount of time that must pass before a traitor is selected", - "Keywords":"traitor,maximum,time,delay,traitorsmaxstartdelay", - "FieldName":"TraitorsMaxStartDelay", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@TraitorsMaxStartDelay", - "IncludeInCommandLine":false, - "DefaultValue":"180", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Traitor Minimum Restart Delay", - "Category":"Barotrauma Gameplay", - "Description":"Sets the minimum amount of time that must pass before another traitor is selected", - "Keywords":"traitor,minimum,time,delay,restart,traitorsminrestartdelay", - "FieldName":"TraitorsMinRestartDelay", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@TraitorsMinRestartDelay", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Traitor Maximum Restart Delay", - "Category":"Barotrauma Gameplay", - "Description":"Sets the maximum amount of time that must pass before another traitor is selected", - "Keywords":"traitor,maximum,time,delay,traitorsmaxrestartdelay", - "FieldName":"TraitorsMaxRestartDelay", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@TraitorsMaxRestartDelay", - "IncludeInCommandLine":false, - "DefaultValue":"90", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Money Transfer Request", - "Category":"Barotrauma Gameplay", - "Description":"Sets how much money players are allowed to request from the bank. 0 = money requests disabled", - "Keywords":"maximum,money,transfer,request,bank,maximummoneytransferrequest", - "FieldName":"MaximumMoneyTransferRequest", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@MaximumMoneyTransferRequest", - "IncludeInCommandLine":false, - "DefaultValue":"999999", - "Placeholder":"999999", - "EnumValues":{} - }, - { - "DisplayName":"Looted Money Destination", - "Category":"Barotrauma Gameplay", - "Description":"Sets where looted money should be sent", - "Keywords":"loot,money,bank,wallet,destination,lootedmoneydestination", - "FieldName":"LootedMoneyDestination", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@LootedMoneyDestination", - "IncludeInCommandLine":false, - "DefaultValue":"Bank", - "EnumValues":{ - "Bank":"Bank (default)", - "Wallet":"Looter's personal wallet" - } - }, - { - "DisplayName":"Allow Ragdoll Button", - "Category":"Barotrauma Gameplay", - "Description":"If enabled, players can ragdoll on their own if they hold the button down. Otherwise, players must be stunned (or be dead) to ragdoll", - "Keywords":"allow,ragdoll,allowragdollbutton", - "FieldName":"AllowRagdollButton", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowRagdollButton", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Bot Count", - "Category":"Barotrauma Gameplay", - "Description":"Sets the number of bots that should be spawned in a round. This is limited by the \"Maximum Bot Count\"", - "Keywords":"bot,count,botcount", - "FieldName":"BotCount", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@BotCount", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"bots", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Bot Count", - "Category":"Barotrauma Gameplay", - "Description":"Sets the maximum number of allowed bots in a round", - "Keywords":"maximum,bot,count,maxbotcount", - "FieldName":"MaxBotCount", - "InputType":"number", - "MinValue":"0", - "MaxValue":"16", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@MaxBotCount", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"bots", - "EnumValues":{} - }, - { - "DisplayName":"Bot Spawn Mode", - "Category":"Barotrauma Gameplay", - "Description":"Sets how bots should be spawned. Normal = bots fill the amount of slots set in \"Bot Count\". Fill = bots skip that value and fully fill empty player slots", - "Keywords":"bot,spawn,mode,botspawnmode", - "FieldName":"BotSpawnMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@BotSpawnMode", - "IncludeInCommandLine":false, - "DefaultValue":"Normal", - "EnumValues":{ - "Normal":"Normal (default)", - "Fill":"Fill" - } - }, - { - "DisplayName":"Disable Bot Conversations", - "Category":"Barotrauma Gameplay", - "Description":"If set, bot conversations will not be allowed", - "Keywords":"disable,bot,conversations,disablebotconversations", - "FieldName":"DisableBotConversations", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@DisableBotConversations", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Friendly Fire", - "Category":"Barotrauma Anti-Griefing", - "Description":"If enabled, friendly fire between players will be allowed (they can deal damage to each other)", - "Keywords":"friendly,fire,allowfriendlyfire", - "FieldName":"AllowFriendlyFire", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowFriendlyFire", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Killable Outpost NPCs", - "Category":"Barotrauma Anti-Griefing", - "Description":"If enabled, outpost NPCs will be able to be killed", - "Keywords":"kill,npc,killable,killablenpcs", - "FieldName":"KillableNPCs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@KillableNPCs", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Destructible Outposts", - "Category":"Barotrauma Anti-Griefing", - "Description":"If enabled, outposts will be destructible (able to take damage)", - "Keywords":"destructible,outposts,damage,destructibleoutposts", - "FieldName":"DestructibleOutposts", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@DestructibleOutposts", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Lock All Default Wires", - "Category":"Barotrauma Anti-Griefing", - "Description":"If set, the ability to disconnect or change any default wires in a submarine will be disabled", - "Keywords":"lock,wires,lockalldefaultwires", - "FieldName":"LockAllDefaultWires", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@LockAllDefaultWires", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Rewiring", - "Category":"Barotrauma Anti-Griefing", - "Description":"If enabled, players can rewire anything except if it has been set otherwise in the submarine", - "Keywords":"allow,rewiring,allowrewiring", - "FieldName":"AllowRewiring", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowRewiring", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow WiFi Linking To Chat", - "Category":"Barotrauma Anti-Griefing", - "Description":"If enabled, WiFi components on the submarine can be linked to chat", - "Keywords":"chat,wifi,link,allowlinkingwifitochat", - "FieldName":"AllowLinkingWifiToChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowLinkingWifiToChat", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Disguises", - "Category":"Barotrauma Anti-Griefing", - "Description":"If enabled, players can disguise themselves by using another player's ID card. Otherwise, players will always have their names above them even when covering their face", - "Keywords":"allow,disguises,allowdisguises", - "FieldName":"AllowDisguises", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowDisguises", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Vote Kicking", - "Category":"Barotrauma Anti-Griefing", - "Description":"If enabled, players can vote to kick others players", - "Keywords":"vote,voting,kick,allowvotekick", - "FieldName":"AllowVoteKick", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AllowVoteKick", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Minimum Ratio For Vote Kicking", - "Category":"Barotrauma Anti-Griefing", - "Description":"Sets the minimum proportion of votes required to vote-kick a player (if Vote Kicking is enabled)", - "Keywords":"kick,vote,voting,ratio,kickvoterequiredratio", - "FieldName":"KickVoteRequiredRatio", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@KickVoteRequiredRatio", - "IncludeInCommandLine":false, - "DefaultValue":"0.6", - "Placeholder":"0.6", - "EnumValues":{} - }, - { - "DisplayName":"Vote Kicking Disabled Period", - "Category":"Barotrauma Anti-Griefing", - "Description":"Sets the minimum time period that must pass before a player can be vote-kicked after joining", - "Keywords":"kick,vote,voting,disallow,DisallowKickVoteTime", - "FieldName":"DisallowKickVoteTime", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@DisallowKickVoteTime", - "IncludeInCommandLine":false, - "DefaultValue":"120", - "Placeholder":"120", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Vote Kicking Ban Duration", - "Category":"Barotrauma Anti-Griefing", - "Description":"Sets the ban duration for players who are vote-kicked", - "Keywords":"kick,ban,time,period,autobantime", - "FieldName":"AutoBanTime", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@AutoBanTime", - "IncludeInCommandLine":false, - "DefaultValue":"3600", - "Placeholder":"3600", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Ban Time", - "Category":"Barotrauma Anti-Griefing", - "Description":"Sets the maximum ban time that can be set in the lobby host UI", - "Keywords":"kick,ban,time,period,maximum,maxautobantime", - "FieldName":"MaxAutoBanTime", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@MaxAutoBanTime", - "IncludeInCommandLine":false, - "DefaultValue":"86400", - "Placeholder":"86400", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Ban After Incorrect Password", - "Category":"Barotrauma Anti-Griefing", - "Description":"If enabled, players will be auto-banned after exceeding the maximum password retries set under \"Maximum Password Retries\"", - "Keywords":"password,ban,retry,banafterwrongpassword", - "FieldName":"BanAfterWrongPassword", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@BanAfterWrongPassword", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Maximum Password Retries Before Ban", - "Category":"Barotrauma Anti-Griefing", - "Description":"Sets the maximum number of failed password attempts before a player is auto-banned. Requires \"Enable Failed Password Ban\" to be set", - "Keywords":"password,ban,retry,maxpasswordretriesbeforeban", - "FieldName":"MaxPasswordRetriesBeforeBan", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@MaxPasswordRetriesBeforeBan", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "Suffix":"retries", - "EnumValues":{} - }, - { - "DisplayName":"Use Karma", - "Category":"Barotrauma Anti-Griefing", - "Description":"If set, the [Karma system](https://barotraumagame.com/wiki/Karma) will be enabled", - "Keywords":"karma,karmaenabled", - "FieldName":"KarmaEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@KarmaEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Karma Preset", - "Category":"Barotrauma Anti-Griefing", - "Description":"Sets the karma rules preset that should be used. Requires Karma to be enabled", - "Keywords":"karma,preset,karmapreset", - "FieldName":"KarmaPreset", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/serversettings/@KarmaPreset", - "IncludeInCommandLine":false, - "DefaultValue":"default", - "EnumValues":{ - "default":"Default", - "strict":"Strict", - "custom":"Custom" - } - } -] diff --git a/barotraumametaconfig.json b/barotraumametaconfig.json deleted file mode 100644 index 1155e80ec..000000000 --- a/barotraumametaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"serversettings.xml", - "AutoMap":true, - "ConfigType":"xml" - } -] \ No newline at end of file diff --git a/barotraumaserversettings.xml b/barotraumaserversettings.xml deleted file mode 100644 index e2b352f81..000000000 --- a/barotraumaserversettings.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<serversettings - name="AMP Powered Barotrauma Server" - port="27015" - queryport="27016" - password="" - enableupnp="false" - autorestart="false" - LevelDifficulty="20" - ServerMessage="Welcome to Barotrauma!" - HiddenSubs="" - AllowedRandomMissionTypes="Salvage,Monster,Cargo,Beacon,Nest,Mineral,Combat,AbandonedOutpost,Escort,Pirate,ScanAlienRuins,ClearAlienRuins,All" - AllowedClientNameChars="32-33,38-46,48-57,65-90,91-91,93-93,95-122,192-255,384-591,1024-1279,19968-21327,21329-40959,13312-19903,131072-173791,173824-178207,178208-183983,63744-64255,194560-195103" - IsPublic="False" - TickRate="20" - RandomizeSeed="True" - UseRespawnShuttle="True" - RespawnInterval="300" - MaxTransportTime="180" - MinRespawnRatio="0.2" - AutoRestartInterval="60" - StartWhenClientsReady="True" - StartWhenClientsReadyRatio="0.8" - AllowSpectating="True" - SaveServerLogs="True" - AllowModDownloads="True" - AllowRagdollButton="True" - AllowFileTransfers="True" - VoiceChatEnabled="True" - PlayStyle="Casual" - LosMode="Transparent" - ShowEnemyHealthBars="ShowAll" - LinesPerLogFile="800" - AllowVoteKick="True" - AllowEndVoting="True" - AllowRespawn="True" - BotCount="0" - MaxBotCount="16" - BotSpawnMode="Normal" - DisableBotConversations="False" - AllowDisguises="True" - AllowRewiring="True" - LockAllDefaultWires="False" - AllowLinkingWifiToChat="False" - AllowFriendlyFire="True" - DestructibleOutposts="False" - KillableNPCs="True" - BanAfterWrongPassword="True" - MaxPasswordRetriesBeforeBan="3" - SelectedSubmarine="" - SelectedShuttle="" - TraitorsEnabled="No" - TraitorsMinPlayerCount="1" - TraitorsMinStartDelay="90" - TraitorsMaxStartDelay="180" - TraitorsMinRestartDelay="30" - TraitorsMaxRestartDelay="90" - Language="English" - SubSelectionMode="Manual" - ModeSelectionMode="Manual" - EndVoteRequiredRatio="0.6" - VoteRequiredRatio="0.6" - VoteTimeout="30" - KickVoteRequiredRatio="0.6" - DisallowKickVoteTime="120" - KillDisconnectedTime="300" - KickAFKTime="600" - KarmaEnabled="False" - KarmaPreset="default" - GameModeIdentifier="sandbox" - MissionType="All" - MaxPlayers="10" - AutoBanTime="3600" - MaxAutoBanTime="86400" - LootedMoneyDestination="Bank" - MaximumMoneyTransferRequest="999999"> - <campaignsettings - PresetName="Normal" - TutorialEnabled="True" - RadiationEnabled="False" - MaxMissionCount="2" - StartingBalanceAmount="Medium" - Difficulty="Medium" - StartItemSet="normal" /> -</serversettings> \ No newline at end of file diff --git a/barotraumaupdates.json b/barotraumaupdates.json deleted file mode 100644 index 4f6964ac8..000000000 --- a/barotraumaupdates.json +++ /dev/null @@ -1,31 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1026340", - "UpdateSourceArgs":"602960" - }, - { - "UpdateStageName":"Directory Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}Daedalic Entertainment GmbH/Barotrauma" - }, - { - "UpdateStageName":"Directory Creation", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C mkdir \"%LocalAppData%\\Daedalic Entertainment GmbH\\Barotrauma\" & mkdir \"{{$FullBaseDir}}Daedalic Entertainment GmbH\" & mklink /J \"{{$FullBaseDir}}Daedalic Entertainment GmbH\\Barotrauma\" \"%LocalAppData%\\Daedalic Entertainment GmbH\\Barotrauma\"" - }, - { - "UpdateStageName":"Config Template Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "OverwriteExistingFiles":false, - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/barotraumaserversettings.xml", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceArgs":"serversettings.xml" - } -] diff --git a/beammp.kvp b/beammp.kvp deleted file mode 100644 index b90bce6ac..000000000 --- a/beammp.kvp +++ /dev/null @@ -1,89 +0,0 @@ -Meta.DisplayName=BeamMP -Meta.Description=BeamMP Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=IceOfWraith, Greelan -Meta.URL=https://beammp.com/ -Meta.DisplayImageSource=steam:284160 -Meta.EndpointURIFormat= -Meta.ConfigManifest=beammpconfig.json -Meta.MetaConfigManifest=beammpmetaconfig.json -Meta.ConfigRoot=beammp.kvp -Meta.MinAMPVersion=2.4.5.4 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux -Meta.ContainerPolicyReason=The default executable on Linux is built for Ubuntu 22.04 and works also on Debian 12. For this reason, it's recommended to run the server in Docker. -Meta.ExtraSetupStepsURI= -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=BeamMP -App.RootDir=./beammp/ -App.BaseDirectory=./beammp/serverfiles/ -App.ExecutableWin=serverfiles\BeamMP-Server.exe -App.ExecutableLinux=serverfiles/BeamMP-Server -App.WorkingDir=serverfiles -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.EnvironmentVariables={} -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=@IncludeJson[beammpports.json] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=MainGamePort -App.UniversalSleepApplicationUDPPortRef=0 -App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=8 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=False -App.RemoteAdminPassword= -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.LoginTransformPrefix= -App.RCONConnectDelaySeconds=30 -App.RCONConnectRetrySeconds=15 -App.RCONHeartbeatMinutes=0 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[beammpupdates.json] -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=False -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex=^.*[[\d\s:\/]+\]\s -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+ -Console.AppReadyRegex=^.*\[INFO\] ALL SYSTEMS STARTED SUCCESSFULLY, EVERYTHING IS OKAY|.*\[ERROR\] No AuthKey specified in the \"ServerConfig\.toml\" file\. Please get an AuthKey, enter it into the config file, and restart this server\.$ -Console.UserJoinRegex=^.*\[INFO\] (?<username>.+?) is now synced!$ -Console.UserLeaveRegex=^.*\[INFO\] (?<username>.+?) Connection Terminated$ -Console.UserChatRegex=^.*\[CHAT\] \(\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 diff --git a/beammpServerConfig.toml b/beammpServerConfig.toml deleted file mode 100644 index 7ea12fada..000000000 --- a/beammpServerConfig.toml +++ /dev/null @@ -1,25 +0,0 @@ -[HTTP] -HTTPServerEnabled = false -UseSSL = false -HTTPServerIP = "0.0.0.0" -HTTPServerPort = 30815 -SSLCertPath = "./.ssl/HttpServer/cert.pem" -SSLKeyPath = "./.ssl/HttpServer/key.pem" - -[Misc] -SendErrorsShowMessage = true -SendErrors = true -ImScaredOfUpdates = false - -[General] -Description = "A BeamMP server" -ResourceFolder = "Resources" -Map = "/levels/gridmap_v2/info.json" -MaxPlayers = 8 -Port = 30814 -Private = true -Debug = false -Name = "AMP Powered BeamMP Server" -LogChat = true -MaxCars = 1 -AuthKey = "" \ No newline at end of file diff --git a/beammpconfig.json b/beammpconfig.json deleted file mode 100644 index 8a9b013e2..000000000 --- a/beammpconfig.json +++ /dev/null @@ -1,281 +0,0 @@ -[ - { - "DisplayName":"Linux Server Version", - "Category":"BeamMP - Server Settings", - "Description":"Sets the server version to install on Linux, based on the host system. Use \"Ubuntu 22.04/Debian 12\" if using AMP's Docker. NOTE: Update the server after changing this setting", - "Keywords":"server,version", - "FieldName":"ServerVersion", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerVersion", - "IncludeInCommandLine":false, - "DefaultValue":"linux", - "EnumValues":{ - "linux":"Ubuntu 22.04/Debian 12 (default)", - "ubuntu-20.04":"Ubuntu 20.04", - "debian-11":"Debian 11", - "archlinux":"Arch Linux" - } - }, - { - "DisplayName": "Auth Key", - "Category": "BeamMP - Server Settings", - "Description": "The auth key for your server can be obtained from [Keymaster](https://beammp.com/keymaster). This is required for the server to start.", - "Keywords": "auth,key,authkey", - "FieldName": "AuthKey", - "InputType": "text", - "ParamFieldName": "General.AuthKey", - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Server Name", - "Category": "BeamMP - Server Settings", - "Description": "The name of the server as shown in the server list (if the server is public). You can use [special characters](https://wiki.beammp.com/en/home/server-maintenance#customize-the-look-of-your-server-name) to format this with colors and styles.", - "Keywords": "server,name", - "FieldName": "Name", - "InputType": "text", - "ParamFieldName": "General.Name", - "DefaultValue": "AMP Powered BeamMP Server", - "Placeholder": "AMP Powered BeamMP Server", - "EnumValues": {} - }, - { - "DisplayName": "Server Description", - "Category": "BeamMP - Server Settings", - "Description": "The description for the server as shown in the server list (if the server is public). You can use [special characters](https://wiki.beammp.com/en/home/server-maintenance#customize-the-look-of-your-server-name) to format this with colors and styles.", - "Keywords": "description", - "FieldName": "Description", - "InputType": "text", - "ParamFieldName": "General.Description", - "DefaultValue": "A BeamMP server", - "Placeholder": "A BeamMP server", - "EnumValues": {} - }, - { - "DisplayName": "Port", - "Category": "BeamMP - Server Settings", - "Description": "The main game port", - "Keywords": "", - "FieldName": "$MainGamePort", - "InputType": "number", - "ParamFieldName": "General.Port", - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "Make Server Private", - "Category": "BeamMP - Server Settings", - "Description": "When enabled, your server will not be shown in the server list. Anyone with the correct IP and port can still connect.", - "Keywords": "private", - "FieldName": "Private", - "InputType": "checkbox", - "ParamFieldName": "General.Private", - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Map", - "Category": "BeamMP - Server Settings", - "Description": "The map to load. If Custom is selected, Custom Map Name must also be set.", - "Keywords": "map", - "FieldName": "Map", - "InputType": "text", - "ParamFieldName": "General.Map", - "DefaultValue": "/levels/gridmap_v2/info.json", - "EnumValues": { - "/levels/automation_test_track/info.json": "Automation Test Track", - "/levels/derby/info.json": "Derby", - "/levels/driver_training/info.json": "Driver Training", - "/levels/east_coast_usa/info.json": "East Coast USA", - "/levels/gridmap_v2/info.json": "Gridmap V2 (default)", - "/levels/hirochi_raceway/info.json": "Hirochi Raceway", - "/levels/industrial/info.json": "Industrial", - "/levels/italy/info.json": "Italy", - "/levels/johnson_valley/info.json": "Johnson Valley", - "/levels/jungle_rock_island/info.json": "Jungle Rock Island", - "/levels/small_island/info.json": "Small Island", - "/levels/smallgrid/info.json": "Smallgrid", - "/levels/utah/info.json": "Utah", - "/levels/west_coast_usa/info.json": "West Coast USA", - "{{CustomMap}}": "--Custom--" - } - }, - { - "DisplayName":"Custom Map Name", - "Category":"BeamMP - Server Settings", - "Description":"Sets a custom map for the server. Custom type must be selected under \"Map\", and the map must be installed in Resources/Client.", - "Keywords":"custom,map", - "FieldName":"CustomMap", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMap", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"/levels/minato_rock_crawling/info.json", - "EnumValues":{} - }, - { - "DisplayName": "Max Players", - "Category": "BeamMP - Server Settings", - "Description": "The maximum number of players on the server at one time.", - "Keywords": "max,players,maxplayers", - "FieldName": "$MaxUsers", - "InputType": "number", - "ParamFieldName": "General.MaxPlayers", - "DefaultValue": "8", - "Placeholder": "8", - "Suffix": "players", - "EnumValues": {} - }, - { - "DisplayName": "Max Cars Per Player", - "Category": "BeamMP - Server Settings", - "Description": "The maximum number of cars allowed per player. Any additional cars a player tries to spawn will be deleted instantly.", - "Keywords": "max,cars,maxcars", - "FieldName": "MaxCars", - "InputType": "number", - "ParamFieldName": "General.MaxCars", - "DefaultValue": "1", - "Placeholder": "1", - "MinValue": "1", - "Suffix": "cars", - "EnumValues": {} - }, - { - "DisplayName": "Resource Folder", - "Category": "BeamMP - Server Settings", - "Description": "The folder for Resources inside the datastore.", - "Keywords": "", - "FieldName": "ResourceFolder", - "InputType": "text", - "ParamFieldName": "General.ResourceFolder", - "DefaultValue": "Resources", - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "Log Chat Messages", - "Category": "BeamMP - Server Settings", - "Description": "Whether to log chat messages in the console and log.", - "Keywords": "log,chat,logging,logchat", - "FieldName": "LogChat", - "InputType": "checkbox", - "ParamFieldName": "General.LogChat", - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Debug Logging", - "Category": "BeamMP - Server Settings", - "Description": "Turn on debug logging. Enabling this will drastically increase the size of the log file.", - "Keywords": "debug,log,logging", - "FieldName": "Debug", - "InputType": "checkbox", - "ParamFieldName": "General.Debug", - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Hide Update Messages", - "Category": "BeamMP - Server Settings", - "Description": "Hides the periodic update message which notifies you of a new server version. Recommended to keep this setting disabled and always update as soon as possible.", - "Keywords": "hide,updates,message,imscaredofupdates", - "FieldName": "ImScaredOfUpdates", - "InputType": "checkbox", - "ParamFieldName": "Misc.ImScaredOfUpdates", - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Send Errors", - "Category": "BeamMP - Server Settings", - "Description": "If enabled, the server will send info about crashes and other issues to the BeamMP devs. This may include your config, who is on your server at the time of the error, and similar general information. This has no impact on server performance.", - "Keywords": "send,errors,senderrors", - "FieldName": "SendErrors", - "InputType": "checkbox", - "ParamFieldName": "Misc.SendErrors", - "DefaultValue": "true", - "Placeholder": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Send Errors Message", - "Category": "BeamMP - Server Settings", - "Description": "If enabled, the Send Errors message will show on startup.", - "Keywords": "send,errors,show,message,senderrorsshowmessage", - "FieldName": "SendErrorsShowMessage", - "InputType": "checkbox", - "ParamFieldName": "Misc.SendErrorsShowMessage", - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "HTTPServerIP", - "Category": "BeamMP - Server Settings", - "Description": "The binding IP for the HTTP webserver.", - "Keywords": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "ParamFieldName": "HTTP.HTTPServerIP", - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "HTTPServerPort", - "Category": "BeamMP - Server Settings", - "Description": "The port used for the HTTP webserver.", - "Keywords": "", - "FieldName": "$HTTPServerPort", - "InputType": "number", - "ParamFieldName": "HTTP.HTTPServerPort", - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "Enable HTTP Server", - "Category": "BeamMP - Server Settings", - "Description": "Enables the internal HTTP server.", - "Keywords": "http,server,enabled,httpserverenabled", - "FieldName": "HTTPServerEnabled", - "InputType": "checkbox", - "ParamFieldName": "HTTP.HTTPServerEnabled", - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Use SSL For HTTP Server", - "Category": "BeamMP - Server Settings", - "Description": "Recommended to have enabled for servers which face the internet. With SSL the server will serve https and requires valid key and cert files. Key and cert files should be stored in \".ssl/HttpServer/key.pem\" and \".ssl/HttpServer/cert.pem\" in the instance datastore.", - "Keywords": "use,ssl,usessl", - "FieldName": "UseSSL", - "InputType": "checkbox", - "ParamFieldName": "HTTP.UseSSL", - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - } -] \ No newline at end of file diff --git a/beammpmetaconfig.json b/beammpmetaconfig.json deleted file mode 100644 index b917ee18a..000000000 --- a/beammpmetaconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - "ConfigFile": "ServerConfig.toml", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormat": "{0} = \"{1}\"", - "ConfigFormatRegex": "^(?<key>.+?) = \"(?<value>.*?)\"$" - }, - { - "ConfigFile": "ServerConfig.toml", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormat": "{0} = {1}", - "ConfigFormatRegex": "^(?<key>.+?) = (?<value>[^\"]*?)$" - } -] \ No newline at end of file diff --git a/beammpports.json b/beammpports.json deleted file mode 100644 index fab1594e6..000000000 --- a/beammpports.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - "Protocol": "Both", - "Port": "30814", - "Name": "Main Game Port", - "Description": "Port used for main game traffic", - "Ref": "MainGamePort" - }, - { - "Protocol": "TCP", - "Port": "30815", - "Name": "HTTP Server Port", - "Description": "Port used to access the HTTP webserver", - "Ref": "HTTPServerPort" - } -] \ No newline at end of file diff --git a/beammpupdates.json b/beammpupdates.json deleted file mode 100644 index 028d328cf..000000000 --- a/beammpupdates.json +++ /dev/null @@ -1,51 +0,0 @@ -[ - { - "UpdateStageName":"Binary and Symlink Removal", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm {{$FullBaseDir}}BeamMP-Server*'" - }, - { - "UpdateStageName":"BeamMP Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"GithubRelease", - "UpdateSourceData":"BeamMP-Server.exe", - "UpdateSourceArgs":"BeamMP/BeamMP-Server", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"BeamMP Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"GithubRelease", - "UpdateSourceData":"BeamMP-Server-{{ServerVersion}}", - "UpdateSourceArgs":"BeamMP/BeamMP-Server", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Set Executable Flag", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"SetExecutableFlag", - "UpdateSourceArgs":"{{$FullBaseDir}}BeamMP-Server-{{ServerVersion}}" - }, - { - "UpdateStageName":"Binary Symlink Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd ./beammp/serverfiles/ && ln -s BeamMP-Server-{{ServerVersion}} BeamMP-Server'" - }, - { - "UpdateStageName":"Config File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/beammpServerConfig.toml", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceArgs":"ServerConfig.toml", - "OverwriteExistingFiles":false - } -] \ No newline at end of file diff --git a/blackwake.kvp b/blackwake.kvp deleted file mode 100644 index ad8b99e30..000000000 --- a/blackwake.kvp +++ /dev/null @@ -1,88 +0,0 @@ -Meta.DisplayName=Blackwake -Meta.Description=Blackwake Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://blackwake.fandom.com/wiki/Blackwake -Meta.DisplayImageSource=steam:420290 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=blackwakeconfig.json -Meta.MetaConfigManifest=blackwakemetaconfig.json -Meta.ConfigRoot=blackwake.kvp -Meta.MinAMPVersion=2.4.0.2 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Blackwake -App.RootDir=./blackwake/ -App.BaseDirectory=./blackwake/423410/ -App.ExecutableWin=423410\BlackwakeServer.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=423410 -App.LinuxCommandLineArgs=-a wine "./BlackwakeServer.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics {{$FormattedArgs}} -logfile - -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"420290","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -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":25001,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=54 -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=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"423410","UpdateSourceArgs":"420290","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=wine64 -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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 diff --git a/blackwakeconfig.json b/blackwakeconfig.json deleted file mode 100644 index ef251fbaa..000000000 --- a/blackwakeconfig.json +++ /dev/null @@ -1,418 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Query Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"sport", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Sets the name of the server", - "Keywords":"server,name", - "FieldName":"serverName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"serverName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Blackwake Server", - "EnumValues":{} - }, - { - "DisplayName":"Hide Server", - "Category":"Server Settings", - "Description":"If enabled, the server will be hidden from the Steam server list", - "Keywords":"hide,steam", - "FieldName":"hideFromList", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"hideFromList", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Sets the password to join the server. Must be longer than three characters. Default is no password", - "Keywords":"password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server IP Binding", - "Category":"Server Settings", - "Description":"Sets the IPv4 binding of the server. Default is blank (all IPs)", - "Keywords":"ip,binding", - "FieldName":"useIp", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"useIp", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Discord Link", - "Category":"Server Settings", - "Description":"Sets the discord link to show in the server list browser. A server name that is too long may cause the link not to display", - "Keywords":"discord,link", - "FieldName":"discordLink", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"discordLink", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Restart Time", - "Category":"Server Settings", - "Description":"Sets the local hour to automatically restart the game server. -1 = disabled", - "Keywords":"restart,hour", - "FieldName":"restartHour", - "InputType":"number", - "MinValue":"-1", - "MaxValue":"23", - "IsFlagArgument":false, - "ParamFieldName":"restartHour", - "IncludeInCommandLine":false, - "DefaultValue":"-1", - "Placeholder":"-1 to 23", - "EnumValues":{} - }, - { - "DisplayName":"Enable Bots", - "Category":"Server Settings", - "Description":"If enabled, bots will be allowed on the server. Disabling bots requires a server password to be set", - "Keywords":"bots", - "FieldName":"useBots", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"useBots", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Disable Time Limit", - "Category":"Server Settings", - "Description":"If enabled, the time limit for tournaments will be disabled", - "Keywords":"tournament,time,limit", - "FieldName":"compCTB", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"compCTB", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Total Team Count", - "Category":"Server Settings", - "Description":"Sets the total team count, with the number of teams dividend evenly between each faction", - "Keywords":"team,crew,count", - "FieldName":"teamCount", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"teamCount", - "IncludeInCommandLine":false, - "DefaultValue":"6", - "EnumValues":{ - "2":"Two (1 vs 1)", - "4":"Four (2 vs 2)", - "6":"Six (3 vs 3)" - } - }, - { - "DisplayName":"Capture Speed Multiplier", - "Category":"Server Settings", - "Description":"Sets the capture speed multiplier (0.5 = 50%, 1 = 100%, 2 = 200% and so on)", - "Keywords":"capture,speed,multiplier", - "FieldName":"captureSpeedMultiplier", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"captureSpeedMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{} - }, - { - "DisplayName":"Resource Gain Multiplier", - "Category":"Server Settings", - "Description":"Sets the resource gain multiplier (0.5 = 50%, 1 = 100%, 2 = 200% and so on)", - "Keywords":"resource,gain,multiplier", - "FieldName":"resourceGainMultiplier", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"resourceGainMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{} - }, - { - "DisplayName":"Use Tickets", - "Category":"Server Settings", - "Description":"If enabled, tickets will be used", - "Keywords":"use,tickets", - "FieldName":"useAndWinByTickets", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"useAndWinByTickets", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Ticket Amount", - "Category":"Server Settings", - "Description":"Sets the number of tickets. Requires Use Tickets to be enabled", - "Keywords":"ticket,amount", - "FieldName":"ticketAmount", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"ticketAmount", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Suffix":"tickets", - "EnumValues":{} - }, - { - "DisplayName":"Enable Ticket Scaling", - "Category":"Server Settings", - "Description":"If enabled, tickets will be scaled", - "Keywords":"ticket,scaling", - "FieldName":"useTicketScaling", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"useTicketScaling", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Enable Friendly Fire Toggle", - "Category":"Server Settings", - "Description":"If enabled, friendly fire can be toggled", - "Keywords":"friendly,fire,toggle", - "FieldName":"friendlyFireCanToggle", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"friendlyFireCanToggle", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Enable Fort Modes", - "Category":"Server Settings", - "Description":"If enabled, fort modes will be enabled", - "Keywords":"fort,modes", - "FieldName":"allowFortModes", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"allowFortModes", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Ship Speed Multiplier", - "Category":"Server Settings", - "Description":"Sets the ship speed multiplier (0.5 = 50%, 1 = 100%, 2 = 200% and so on)", - "Keywords":"ship,speed,factor", - "FieldName":"shipSpeedFactor", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"shipSpeedFactor", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{} - }, - { - "DisplayName":"Gate Explosive Amount", - "Category":"Server Settings", - "Description":"Sets the gate explosive amount", - "Keywords":"gate,explosive", - "FieldName":"gateExplosiveAmount", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"gateExplosiveAmount", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{} - }, - { - "DisplayName":"Tower Health Hits", - "Category":"Server Settings", - "Description":"Sets the tower health hits", - "Keywords":"tower,health,hits", - "FieldName":"towerHealthHits", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"towerHealthHits", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{} - }, - { - "DisplayName":"Enable Player Collison", - "Category":"Server Settings", - "Description":"If enabled, collision of friendly players will be possible", - "Keywords":"friendly,player,collision", - "FieldName":"friendlyPlayerCollision", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"friendlyPlayerCollision", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Enable Fire Spread", - "Category":"Server Settings", - "Description":"If enabled, fires will spread fires when friendly players collide. Requires Player Collision to be enabled", - "Keywords":"friendly,fire,spread", - "FieldName":"friendlySpreadFires", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"friendlySpreadFires", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Enable Hand Weapon Damage", - "Category":"Server Settings", - "Description":"If enabled, hand weapons can cause damage to friendly players", - "Keywords":"friendly,hand,weapon,damage", - "FieldName":"friendlyFire", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"friendlyFire", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Enable Ship Weapon Damage", - "Category":"Server Settings", - "Description":"If enabled, ship weapons can cause damage to friendly players", - "Keywords":"friendly,ship,weapon,damage", - "FieldName":"friendlyShipDamage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"friendlyShipDamage", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Enable Auto Team Balance", - "Category":"Server Settings", - "Description":"If enabled, teams will be automatically balanced", - "Keywords":"team,balance,force,equal,factions", - "FieldName":"forceEqualFactions", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"forceEqualFactions", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Position Update Rate", - "Category":"Server Settings", - "Description":"Sets the times per second a player's position is updated. Higher values cause more network usage but will reduce sliding/delay during melee fighting", - "Keywords":"update,position,rate", - "FieldName":"playerUpdateRate", - "InputType":"number", - "MinValue":"10", - "IsFlagArgument":false, - "ParamFieldName":"playerUpdateRate", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "EnumValues":{} - }, - { - "DisplayName":"Enable Global Voice", - "Category":"Server Settings", - "Description":"If enabled, global voice will be allowed during the round. Otherwise it only be allowed during voting and the win screen", - "Keywords":"global,voice", - "FieldName":"allowGlobalVoice", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"allowGlobalVoice", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "True":"1", - "False":"0" - } - } -] \ No newline at end of file diff --git a/blackwakemetaconfig.json b/blackwakemetaconfig.json deleted file mode 100644 index 67b21e72d..000000000 --- a/blackwakemetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"Server.cfg", - "AutoMap":true, - "ConfigType":"kvp" - } -] \ No newline at end of file diff --git a/broke-protocol.kvp b/broke-protocol.kvp deleted file mode 100644 index 18f113991..000000000 --- a/broke-protocol.kvp +++ /dev/null @@ -1,85 +0,0 @@ -Meta.DisplayName=Broke Protocol -Meta.Description=Broke Protocol Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://brokeprotocol.com/ -Meta.DisplayImageSource=steam:696370 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=broke-protocolconfig.json -Meta.MetaConfigManifest=broke-protocolmetaconfig.json -Meta.ConfigRoot=broke-protocol.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=Broke Protocol -App.RootDir=./brokeprotocol/ -App.BaseDirectory=./brokeprotocol/server/ -App.ExecutableWin=server/BrokeProtocol.exe -App.ExecutableLinux=server/bpgameserver.x86_64 -App.WorkingDir=server -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=-batchmode -logfile - -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"696370"} -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":"UDP","Port":5557,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":5558,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"}] -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=32 -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 Server Download","UpdateSourcePlatform":"Windows","UpdateSource": "SteamCMD","UpdateSourceData":"696370","UpdateSourceArgs":"696370","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource": "SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://brokeprotocol.com/wp-content/uploads/game.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\[SVR\] Ready to serve clients on UDP port: \d+$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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/broke-protocolconfig.json b/broke-protocolconfig.json deleted file mode 100644 index 46bbc938f..000000000 --- a/broke-protocolconfig.json +++ /dev/null @@ -1,98 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"$.port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Sets the server name visible in the server list (up to 48 characters). Color codes supported", - "Keywords":"server,name", - "FieldName":"serverName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.serverName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Broke Protocol Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Map", - "Category":"Server Settings", - "Description":"Sets the map the server will load. Can be subscribed to on Steam or included in the \"Maps\" directory", - "Keywords":"map", - "FieldName":"map", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.map", - "IncludeInCommandLine":false, - "DefaultValue":"Default", - "EnumValues":{} - }, - { - "DisplayName":"Server URL", - "Category":"Server Settings", - "Description":"Sets the URL displayed in the server list (up to 48 characters)", - "Keywords":"server,url", - "FieldName":"URL", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.URL", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server at one time (up to 255)", - "Keywords":"player,limit,maximum", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.players", - "IncludeInCommandLine":false, - "DefaultValue":"32", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Enable Whitelist", - "Category":"Server Settings", - "Description":"If enabled, only whitelisted players can join", - "Keywords":"whitelist,enable", - "FieldName":"whitelist", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.whitelist", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Whitelisted Players", - "Category":"Server Settings", - "Description":"List of account names for whitelisted players", - "Keywords":"whitelisted,players", - "FieldName":"whitelistedPlayers", - "InputType":"list", - "IsFlagArgument":false, - "ParamFieldName":"whitelistedPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Special":"listfile:./brokeprotocol/whitelist.txt", - "EnumValues": {} - } -] \ No newline at end of file diff --git a/broke-protocolmetaconfig.json b/broke-protocolmetaconfig.json deleted file mode 100644 index 317d7ae50..000000000 --- a/broke-protocolmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"settings.json", - "AutoMap":true, - "ConfigType":"json" - } -] diff --git a/call-of-duty4mw.kvp b/call-of-duty4mw.kvp deleted file mode 100644 index 3352bf6b2..000000000 --- a/call-of-duty4mw.kvp +++ /dev/null @@ -1,86 +0,0 @@ -Meta.DisplayName=Call of Duty 4: Modern Warfare -Meta.Description=Call of Duty 4: Modern Warfare Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL= -Meta.DisplayImageSource=steam:7940 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$MasterPort} -Meta.ConfigManifest=call-of-duty4mwconfig.json -Meta.MetaConfigManifest=call-of-duty4mwmetaconfig.json -Meta.ConfigRoot=call-of-duty4mw.kvp -Meta.MinAMPVersion=2.4.0.10 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Call of Duty 4: Modern Warfare -App.RootDir=./call-of-duty4mw/ -App.BaseDirectory=./call-of-duty4mw/7940/ -App.ExecutableWin=7940\iw3mp.exe -App.ExecutableLinux=/usr/bin/wine -App.WorkingDir=7940 -App.LinuxCommandLineArgs="./iw3mp.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} +set sv_punkbuster 0 +exec "server.cfg" +set net_port {{$GamePort}} +set authPort {{$AuthPort}} +set masterPort {{$MasterPort}} {{map_mode}}{{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"7940","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win32","WINEDEBUG":"-all"} -App.CommandLineParameterFormat=+set {0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -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":28960,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":20800,"Ref":"AuthPort","Name":"Authentication Port","Description":"Port for Steam authentication traffic"},{"Protocol":"UDP","Port":20810,"Ref":"MasterPort","Name":"Master Port","Description":"Port for Steam master server or browser traffic"}] -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPort=GamePort -App.UniversalSleepSteamQueryPort=MasterPort -App.MaxUsers=32 -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=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"7940","UpdateSourceArgs":"7940","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/call-of-duty4mwserver.cfg","UpdateSourceArgs":"main/server.cfg","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false},{"UpdateStageName":"Create Custom Maps Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}usermaps","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=iw3mp.exe -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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 diff --git a/call-of-duty4mwconfig.json b/call-of-duty4mwconfig.json deleted file mode 100644 index 3095047d2..000000000 --- a/call-of-duty4mwconfig.json +++ /dev/null @@ -1,478 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"net_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"IP Binding", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationIPBinding", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"net_ip", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable Log File", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"logfile", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"logfile", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{} - }, - { - "DisplayName":"Continuous Log", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"g_logsync", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"g_logsync", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{} - }, - { - "DisplayName":"Log File Name", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"g_log", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"g_log", - "IncludeInCommandLine":false, - "DefaultValue":"games_mp.log", - "EnumValues":{} - }, - { - "DisplayName":"Disable Punkbuster", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"sv_punkbuster", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"sv_punkbuster", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Sets the name of the server. Limit of 22 characters. Colour codes can be used: ^0=Black, ^1=Red, ^2=Green, ^3=Yellow, ^4=Blue, ^5=Cyan, ^6=Pink, ^7=White, ^8=Grey, ^9=Grey/Map Default", - "Keywords":"server,name", - "FieldName":"sv_hostname", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"sv_hostname", - "IncludeInCommandLine":false, - "DefaultValue":"^1AMP Hosted COD4 Server", - "EnumValues":{} - }, - { - "DisplayName":"Message Of The Day", - "Category":"Server Settings", - "Description":"Sets the message of the day (MOTD) displayed when players join. Colour codes can also be used, as per the Server Name", - "Keywords":"message,motd", - "FieldName":"scr_motd", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"scr_motd", - "IncludeInCommandLine":false, - "DefaultValue":"^4Welcome to COD4!", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"Server Settings", - "Description":"If enabled, the server will be visible publicly. Otherwise it will only be accessible from the local network", - "Keywords":"public,visible", - "FieldName":"dedicated", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"dedicated", - "IncludeInCommandLine":true, - "DefaultValue":"2", - "EnumValues":{ - "False":"1", - "True":"2" - } - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Sets the password to join the server", - "Keywords":"password", - "FieldName":"g_password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"g_password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Server Settings", - "Description":"Sets the RCON password to allow sending console commands in-game. Default is no password, disabling console commands", - "Keywords":"rcon,password", - "FieldName":"rcon_password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"rcon_password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Map Mode", - "Category":"Server Settings", - "Description":"Sets whether to enable map rotation (the Map Rotation List must then also be set) or to load a specific initial map (the Initial Game Type and Initial Map must then also be set)", - "Keywords":"map,mode", - "FieldName":"map_mode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"map_mode", - "IncludeInCommandLine":false, - "DefaultValue":"+map_rotate ", - "EnumValues":{ - "+map_rotate ":"Map Rotation (Default)", - "+map \"{{map_name}}\" ":"Specific Initial Map" - } - }, - { - "DisplayName":"Map Rotation List", - "Category":"Server Settings", - "Description":"Sets the map list to use for map rotations for the server. Each entry must be in the format: gametype <gametype> map <mapname> (for example, gametype war map mp_convoy). Map Rotation must be configured", - "Keywords":"map,rotation,list", - "FieldName":"sv_mapRotation", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"sv_mapRotation", - "IncludeInCommandLine":false, - "DefaultValue":"gametype dm map mp_backlot gametype dom map mp_bloc gametype koth map mp_bog gametype sab map mp_cargoship gametype sd map mp_citystreets gametype war map mp_convoy gametype dm map mp_countdown gametype dom map mp_crash gametype koth map mp_crossfire gametype sab map mp_farm gametype sd map mp_overgrown gametype war map mp_pipeline gametype dm map mp_shipment gametype dom map mp_showdown gametype koth map mp_strike gametype sab map mp_vacant", - "Placeholder":"gametype dm map mp_backlot gametype dom map mp_bloc gametype koth map mp_bog gametype sab map mp_cargoship gametype sd map mp_citystreets gametype war map mp_convoy gametype dm map mp_countdown gametype dom map mp_crash gametype koth map mp_crossfire gametype sab map mp_farm gametype sd map mp_overgrown gametype war map mp_pipeline gametype dm map mp_shipment gametype dom map mp_showdown gametype koth map mp_strike gametype sab map mp_vacant", - "EnumValues":{} - }, - { - "DisplayName":"Initial Game Type", - "Category":"Server Settings", - "Description":"Sets the game type to start the server with. This setting will be overridden if Map Rotation is configured. Settings for each game type can be set in server.cfg", - "Keywords":"game,type", - "FieldName":"g_gametype", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"g_gametype", - "IncludeInCommandLine":false, - "DefaultValue":"dm", - "EnumValues":{ - "dm":"Deathmatch / Free For All (Default)", - "dom":"Domination", - "koth":"King Of The Hill / Headquarters", - "sab":"Sabotage", - "sd":"Search And Destroy Classic", - "war":"Team Deathmatch" - } - }, - { - "DisplayName":"Initial Map", - "Category":"Server Settings", - "Description":"Sets the map to start the server with. This setting will be overridden if Map Rotation is configured", - "Keywords":"map", - "FieldName":"map_name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"map_name", - "IncludeInCommandLine":false, - "DefaultValue":"mp_backlot", - "EnumValues":{} - }, - { - "DisplayName":"Load Mod", - "Category":"Server Settings", - "Description":"Sets the mod to load when starting the server, based on the path to the mod in the Mods directory - for example, \"Mods/ModWarfare\"", - "Keywords":"mods", - "FieldName":"fs_game", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"+fs_game", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Sets the maximum number of players allowed on the server", - "Keywords":"max,players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"sv_maxclients", - "IncludeInCommandLine":false, - "DefaultValue":"32", - "EnumValues":{} - }, - { - "DisplayName":"Private Player Limit", - "Category":"Server Settings", - "Description":"Sets the maximum number of private players allowed on the server (those that can use non-public reserved slots). Will be limited to the Player Limit", - "Keywords":"max,private,players,limit", - "FieldName":"sv_privateclients", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"sv_privateclients", - "IncludeInCommandLine":false, - "DefaultValue":"6", - "EnumValues":{} - }, - { - "DisplayName":"Private Player Password", - "Category":"Server Settings", - "Description":"Sets the password for private players to join the server. Private players entering this password have access to all slots on the server, otherwise the players only have access to the public slots (Player Limit less Private Player Limit)", - "Keywords":"private,player,password", - "FieldName":"sv_privatePassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"sv_privatePassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Enable Server Voice Chat", - "Category":"Server Settings", - "Description":"If set, server voice chat will be enabled", - "Keywords":"voice,chat", - "FieldName":"sv_voice", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"sv_voice", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Server Voice Chat Quality", - "Category":"Server Settings", - "Description":"Sets the server voice quality level", - "Keywords":"voice,chat,quality", - "FieldName":"sv_voiceQuality", - "InputType":"number", - "MinValue":"0", - "MaxValue":"9", - "IsFlagArgument":false, - "ParamFieldName":"sv_voiceQuality", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{} - }, - { - "DisplayName":"Enable Dead Chat", - "Category":"Server Settings", - "Description":"If enabled, dead players will be allowed to chat with living players", - "Keywords":"voice,dead,chat", - "FieldName":"voice_deadChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"voice_deadChat", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Minimum Ping", - "Category":"Server Settings", - "Description":"Sets the minimum ping required for a player to be allowed to join", - "Keywords":"minimum,ping", - "FieldName":"sv_minPing", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1000", - "IsFlagArgument":false, - "ParamFieldName":"sv_minPing", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Ping", - "Category":"Server Settings", - "Description":"Sets the maximum ping permitted for a player to be allowed to join", - "Keywords":"maximum,ping", - "FieldName":"sv_maxping", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1000", - "IsFlagArgument":false, - "ParamFieldName":"sv_maxping", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Bandwidth", - "Category":"Server Settings", - "Description":"Sets the maximum bandwidth for the server", - "Keywords":"maximum,bandwidth", - "FieldName":"sv_maxRate", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100000", - "IsFlagArgument":false, - "ParamFieldName":"sv_maxRate", - "IncludeInCommandLine":false, - "DefaultValue":"25000", - "Placeholder":"0 - 100000", - "Suffix":"bytes/second", - "EnumValues":{} - }, - { - "DisplayName":"Client Timeout Period", - "Category":"Server Settings", - "Description":"Sets the time before the server will kick a client if no response is sent to the server", - "Keywords":"timeout", - "FieldName":"sv_timeout", - "InputType":"number", - "IsFlagArgument":false, - "MinValue":"0", - "MaxValue":"1800", - "ParamFieldName":"sv_timeout", - "IncludeInCommandLine":false, - "DefaultValue":"40", - "Suffix":"seconds", - "Placeholder":"0 - 1800", - "EnumValues":{} - }, - { - "DisplayName":"Player Inactivity Kick Period", - "Category":"Server Settings", - "Description":"Sets the time before the server will kick a player for inactivity", - "Keywords":"inactivity,afk,period", - "FieldName":"g_inactivity", - "InputType":"number", - "IsFlagArgument":false, - "MinValue":"0", - "ParamFieldName":"g_inactivity", - "IncludeInCommandLine":false, - "DefaultValue":"120", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Spectator Kick Period", - "Category":"Server Settings", - "Description":"Sets the time before the server will kick a spectator", - "Keywords":"inactivity,period,spectator", - "FieldName":"g_inactivityspectator", - "InputType":"number", - "IsFlagArgument":false, - "MinValue":"0", - "ParamFieldName":"g_inactivityspectator", - "IncludeInCommandLine":false, - "DefaultValue":"180", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Temporary Ban Period", - "Category":"Server Settings", - "Description":"Sets the time for a player temporary ban (on kick/tempban)", - "Keywords":"ban,period,temporary", - "FieldName":"sv_kickBanTime", - "InputType":"number", - "IsFlagArgument":false, - "MinValue":"0", - "MaxValue":"3600", - "ParamFieldName":"sv_kickBanTime", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Suffix":"seconds", - "Placeholder":"0 - 3600", - "EnumValues":{} - }, - { - "DisplayName":"Zombie Retention Period", - "Category":"Server Settings", - "Description":"Sets the time for keeping a disconnected client on the server to transmit the last message", - "Keywords":"zombie,time", - "FieldName":"sv_zombietime", - "InputType":"number", - "IsFlagArgument":false, - "MinValue":"0", - "MaxValue":"1800", - "ParamFieldName":"sv_zombietime", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Suffix":"seconds", - "Placeholder":"0 - 1800", - "EnumValues":{} - }, - { - "DisplayName":"Enable Flood Protection", - "Category":"Server Settings", - "Description":"If enabled, flood protection applies, so user commands are throttled. Should be enabled on non-password-protected public servers", - "Keywords":"flood,protection", - "FieldName":"sv_floodProtect", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"sv_floodProtect", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Reconnect Limit", - "Category":"Server Settings", - "Description":"Sets the number of times a player can reconnect after disconnection", - "Keywords":"reconnect,limit", - "FieldName":"sv_reconnectlimit", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1800", - "IsFlagArgument":false, - "ParamFieldName":"sv_reconnectlimit", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "EnumValues":{} - } -] diff --git a/call-of-duty4mwmetaconfig.json b/call-of-duty4mwmetaconfig.json deleted file mode 100644 index 680963677..000000000 --- a/call-of-duty4mwmetaconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - "ConfigFile":"main/server.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"set {0} \"{1}\"", - "ConfigFormatRegex":"^set (?<key>.+?) \"?(?<value>.*?)\"?$" - }, - { - "ConfigFile":"main/server.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"sets {0} \"{1}\"", - "ConfigFormatRegex":"^sets (?<key>.+?) \"?(?<value>.*?)\"?$" - } -] \ No newline at end of file diff --git a/call-of-duty4mwserver.cfg b/call-of-duty4mwserver.cfg deleted file mode 100644 index 38584b5a0..000000000 --- a/call-of-duty4mwserver.cfg +++ /dev/null @@ -1,155 +0,0 @@ -// AMP partly controls server.cfg - -// The first section below includes the settings that are set either via the AMP UI -// or are controlled by AMP itself (in particular, ports) -// Settings in the second section can be changed or added to as needed - -// ******* -// AMP CONTROLLED SETTINGS -// ******* - -set net_port "28960" -set net_ip "" -set dedicated "2" -sets sv_hostname "^1AMP Powered Call of Duty 4: Modern Warfare Server" -set scr_motd "^4Welcome to COD4!" -set g_password "" -set rcon_password "" -set sv_mapRotation "gametype dm map mp_backlot gametype dom map mp_bloc gametype koth map mp_bog gametype sab map mp_cargoship gametype sd map mp_citystreets gametype war map mp_convoy gametype dm map mp_countdown gametype dom map mp_crash gametype koth map mp_crossfire gametype sab map mp_farm gametype sd map mp_overgrown gametype war map mp_pipeline gametype dm map mp_shipment gametype dom map mp_showdown gametype koth map mp_strike gametype sab map mp_vacant" -set g_gametype "dm" -set sv_maxclients "32" -set sv_privateclients "6" -set sv_privatePassword "" -set sv_voice "1" -set sv_voiceQuality "3" -set voice_deadChat "0" -set sv_minPing "0" -set sv_maxping "0" -set sv_maxRate "25000" -set sv_timeout "40" -set g_inactivity "120" -set g_inactivityspectator "180" -set sv_kickBanTime "300" -set sv_zombietime "2" -set sv_floodProtect "1" -set sv_reconnectlimit "3" -set logfile "1" -set g_logsync "2" -set g_log "games_mp.log" -set sv_punkbuster "0" - - -// ******* -// OTHER SETTINGS -// ******* - -// General -sets _Admin "admin" -sets _Email "" -sets _Website "" -sets _Location "" -sets _Irc "" -sets _Mod "" -sets _ModVer "" -sets _ModUpdate "" -sets _Maps "" - -// Logging -set sv_log_damage "1" - -// Master servers -set sv_master1 "cod2master.activision.com" -set sv_master2 "cod2update.activision.com" -set sv_master3 "clanservers.net" -set sv_gamespy "0" - -// Client download settings. Used for mods and custom maps. 0=off, 1=on -set sv_allowdownload "1" -seta sv_wwwDownload "1" -//seta sv_wwwBaseURL "http://www.your_website.com/base_folder" -seta sv_wwwDlDisconnected "0" - -// FPS -//set sv_fps "20" - -// Anti Cheat settings -set sv_disableClientConsole "0" -set cl_autocmd "0" -set sv_cheats "0" -set sv_pure "1" -set g_banIPs "" -set g_no_script_spam "1" - -// In-game voice communication system -set voice_global "0" -set voice_localEcho "0" -set winvoice_mic_mute "1" -set sv_allowAnonymous "0" -set g_antilag "0" -set g_compassShowEnemies "0" - -// Deathmatch / Free For All settings -set scr_dm_scorelimit 150 -set scr_dm_timelimit 10 -set scr_dm_roundlimit 1 -set scr_dm_numlives 0 -set scr_dm_playerrespawndelay 0 -set scr_dm_waverespawndelay 0 - -// Domination settings -set scr_dom_scorelimit 200 -set scr_dom_timelimit 0 -set scr_dom_roundlimit 1 -set scr_dom_numlives 0 -set scr_dom_playerrespawndelay 0 -set scr_dom_waverespawndelay 0 - -// Team Deathmatch settings -set scr_war_scorelimit 750 -set scr_war_timelimit 10 -set scr_war_roundlimit 1 -set scr_war_numlives 0 -set scr_war_playerrespawndelay 0 -set scr_war_waverespawndelay 0 - -// Sabotage settings -set scr_sab_scorelimit 1 -set scr_sab_timelimit 20 -set scr_sab_roundlimit 0 -set scr_sab_roundswitch 1 -set scr_sab_numlives 0 -set scr_sab_bombtimer 30 -set scr_sab_planttime 2.5 -set scr_sab_defusetime 5 -set scr_sab_hotpotato 0 -set scr_sab_playerrespawndelay 7.5 -set scr_sab_waverespawndelay 0 - -// Search And Destroy Classic settings -set scr_sd_scorelimit 4 -set scr_sd_timelimit 2.5 -set scr_sd_roundlimit 0 -set scr_sd_roundswitch 3 -set scr_sd_numlives 1 -set scr_sd_bombtimer 45 -set scr_sd_planttime 5 -set scr_sd_defusetime 5 -set scr_sd_multibomb 0 -set scr_sd_playerrespawndelay 0 -set scr_sd_waverespawndelay 0 - -// King Of The Hill / Headquarters settings -set scr_koth_scorelimit 250 -set scr_koth_timelimit 15 -set scr_koth_roundlimit 1 -set scr_koth_roundswitch 1 -set scr_koth_numlives 0 -set scr_koth_playerrespawndelay 0 -set scr_koth_waverespawndelay 0 -set koth_autodestroytime 60 -set koth_spawntime 0 -set koth_kothmode 0 -set koth_capturetime 20 -set koth_destroytime 10 -set koth_delayPlayer 0 -set koth_spawnDelay 60 \ No newline at end of file diff --git a/call-of-dutymw3.kvp b/call-of-dutymw3.kvp deleted file mode 100644 index 7049ffd99..000000000 --- a/call-of-dutymw3.kvp +++ /dev/null @@ -1,86 +0,0 @@ -Meta.DisplayName=Call of Duty: Modern Warfare 3 -Meta.Description=Call of Duty: Modern Warfare 3 Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://www.callofduty.com/au/en/mw3 -Meta.DisplayImageSource=steam:42690 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$MasterServerPort} -Meta.ConfigManifest=call-of-dutymw3config.json -Meta.MetaConfigManifest=call-of-dutymw3metaconfig.json -Meta.ConfigRoot=call-of-dutymw3.kvp -Meta.MinAMPVersion=2.4.0.8 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Call of Duty: Modern Warfare 3 -App.RootDir=./call-of-dutymw3/ -App.BaseDirectory=./call-of-dutymw3/42750/ -App.ExecutableWin=42750\iw5mp_server.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=42750 -App.LinuxCommandLineArgs=-a wine "./iw5mp_server.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} +set sv_config "server.cfg" +set net_queryPort {{$OpenGamePort}} +set net_port {{$SecureGamePort}} +set net_authPort {{$AuthPort}} +set net_masterServerPort {{$MasterServerPort}} +start_map_rotate {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"42690","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win32","WINEDEBUG":"-all"} -App.CommandLineParameterFormat=+set {0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -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":27014,"Ref":"OpenGamePort","Name":"Open Game Port","Description":"Port for Steam visible server game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"SecureGamePort","Name":"Secure Game Port","Description":"Port for secure game traffic"},{"Protocol":"UDP","Port":8766,"Ref":"AuthPort","Name":"Authentication Port","Description":"Port for Steam authentication traffic"},{"Protocol":"UDP","Port":27016,"Ref":"MasterServerPort","Name":"Master Server Port","Description":"Port for Steam master server or browser traffic"}] -App.PrimaryApplicationPortRef=OpenGamePort -App.UniversalSleepApplicationUDPPort=OpenGamePort -App.UniversalSleepSteamQueryPort=MasterServerPort -App.MaxUsers=16 -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=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"42750","UpdateSourceArgs":"42690","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=wine -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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 diff --git a/call-of-dutymw3config.json b/call-of-dutymw3config.json deleted file mode 100644 index 42f7b1f4a..000000000 --- a/call-of-dutymw3config.json +++ /dev/null @@ -1,212 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Sets the name of the server", - "Keywords":"server,name", - "FieldName":"sv_hostname", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"sv_hostname", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Call of Duty: Modern Warfare 3 Server", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"Server Settings", - "Description":"If enabled, the server will be visible publicly. Otherwise it will only be accessible from the local network", - "Keywords":"public,visible", - "FieldName":"dedicated", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"dedicated", - "IncludeInCommandLine":true, - "DefaultValue":"2", - "EnumValues":{ - "True":"2", - "False":"1" - } - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Sets the password to join the server", - "Keywords":"password", - "FieldName":"g_password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"g_password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Server Settings", - "Description":"Sets the RCON password to allow sending console commands in-game. Default is no password, disabling console commands", - "Keywords":"rcon,password", - "FieldName":"rcon_password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"rcon_password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"The maximum number of players allowed on the server", - "Keywords":"max,players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "MaxValue":"18", - "IsFlagArgument":false, - "ParamFieldName":"sv_maxclients", - "IncludeInCommandLine":false, - "DefaultValue":"16", - "EnumValues":{} - }, - { - "DisplayName":"Private Player Limit", - "Category":"Server Settings", - "Description":"The maximum number of private players allowed on the server (those that can use non-public reserved slots). Will be limited to the Player Limit", - "Keywords":"max,private,players,limit", - "FieldName":"sv_privateClients", - "InputType":"number", - "MinValue":"0", - "MaxValue":"18", - "IsFlagArgument":false, - "ParamFieldName":"sv_privateClients", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Private Player Password", - "Category":"Server Settings", - "Description":"Sets the password for private players to join the server. Private players entering this password have access to all slots on the server, otherwise the players only have access to the public slots (Player Limit less Private Player Limit)", - "Keywords":"private,player,password", - "FieldName":"sv_privatePassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"sv_privatePassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Map Rotation", - "Category":"Server Settings", - "Description":"Sets the dedicated server play list (DSPL) for map rotation. Valid game options are controlled via the dedicated server recipe (DSR) specified in the DSPL", - "Keywords":"map,rotation", - "FieldName":"sv_maprotation", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"sv_maprotation", - "IncludeInCommandLine":false, - "DefaultValue":"default", - "EnumValues":{} - }, - { - "DisplayName":"Server Voice Chat", - "Category":"Server Settings", - "Description":"Sets the server voice chat configuration", - "Keywords":"voice,chat", - "FieldName":"sv_voice", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"sv_voice", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0":"No Chat", - "1":"Free Chat", - "2":"Team Chat (default)" - } - }, - { - "DisplayName":"Enable Voting", - "Category":"Server Settings", - "Description":"If enabled, voting is allowed for player kick, map restart and next map", - "Keywords":"vote,voting", - "FieldName":"g_allowVote", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"g_allowVote", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Enable Dead Chat", - "Category":"Server Settings", - "Description":"If enabled, dead players will be allowed to chat with living players", - "Keywords":"dead,chat", - "FieldName":"g_deadChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"g_deadChat", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Inactivity Kick Period", - "Category":"Server Settings", - "Description":"Time before the server will kick a player for inactivity", - "Keywords":"inactivity,afk,period", - "FieldName":"g_inactivity", - "InputType":"number", - "IsFlagArgument":false, - "MinValue":"0", - "MaxValue":"10000", - "ParamFieldName":"g_inactivity", - "IncludeInCommandLine":false, - "DefaultValue":"120", - "Suffix":"seconds", - "Placeholder":"0 - 10000", - "EnumValues":{} - }, - { - "DisplayName":"Temporary Ban Period", - "Category":"Server Settings", - "Description":"Time for a player temporary ban (on kick/tempban)", - "Keywords":"ban,period,temporary", - "FieldName":"sv_kickBanTime", - "InputType":"number", - "IsFlagArgument":false, - "MinValue":"0", - "MaxValue":"3600", - "ParamFieldName":"sv_kickBanTime", - "IncludeInCommandLine":true, - "DefaultValue":"300", - "Suffix":"seconds", - "Placeholder":"0 - 3600", - "EnumValues":{} - }, - { - "DisplayName":"Enable Flood Protection", - "Category":"Server Settings", - "Description":"If enabled, flood protection applies, so user commands are throttled. Should be enabled on non-password-protected public servers", - "Keywords":"flood,protection", - "FieldName":"sv_floodProtect", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"sv_floodProtect", - "IncludeInCommandLine":true, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - } -] \ No newline at end of file diff --git a/call-of-dutymw3metaconfig.json b/call-of-dutymw3metaconfig.json deleted file mode 100644 index b29d0aba8..000000000 --- a/call-of-dutymw3metaconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "ConfigFile":"admin/server.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"seta {0} \"{1}\"", - "ConfigFormatRegex":"^seta (?<key>.+?) \"?(?<value>.*?)\"?$" - } -] \ No newline at end of file diff --git a/carrier-command2.kvp b/carrier-command2.kvp deleted file mode 100644 index 4e50b963a..000000000 --- a/carrier-command2.kvp +++ /dev/null @@ -1,82 +0,0 @@ -Meta.DisplayName=Carrier Command 2 -Meta.Description=Carrier Command 2 Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://steamdb.info/app/1489630/ -Meta.DisplayImageSource=steam:1489630 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=carrier-command2config.json -Meta.MetaConfigManifest=carrier-command2metaconfig.json -Meta.ConfigRoot=carrier-command2.kvp -Meta.MinAMPVersion=2.3.3.0 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Carrier Command 2 -App.RootDir=./carrier-command2/ -App.BaseDirectory=./carrier-command2/1489630/ -App.ExecutableWin=1489630\dedicated_server.exe -App.ExecutableLinux=/usr/bin/wine -App.WorkingDir=1489630 -App.LinuxCommandLineArgs="./dedicated_server.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1489630","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win32","WINEDEBUG":"-all"} -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":"UDP","Port":25565,"Ref":"GamePort","Name":"Game Port","Description":"Port for main game traffic"},{"Protocol":"UDP","Port":25566,"Ref":"SteamPort","Name":"Steam Port","Description":"Port for extended server info"},{"Protocol":"UDP","Port":25567,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port"},{"Protocol":"UDP","Port":25568,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server query"}] -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=4 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1489630","UpdateSourceArgs":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/carrier-command2server_config.xml","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}server_config.xml","UpdateSourceArgs":"{{$FullInstanceDir}}carrier-command2server_config.xml","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=dedicated_server.exe -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex=\[\d+m -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^[\d:]+ : connected to Steam$ -Console.UserJoinRegex=^[\d:]+ : (?<username>.+?) \(steam id (?<userid>.+?)\) authenticated by Steam$ -Console.UserLeaveRegex=^[\d:]+ : (?<username>.+?) \(steam id (?<userid>.+?)\) disconnected$ -Console.UserChatRegex=^$ -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/carrier-command2config.json b/carrier-command2config.json deleted file mode 100644 index 09b5bc474..000000000 --- a/carrier-command2config.json +++ /dev/null @@ -1,158 +0,0 @@ -[ - { - "DisplayName":"Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"/data/@port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Game Data Path", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"game_data_path", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"/data/@game_data_path", - "IncludeInCommandLine":false, - "DefaultValue":"rom_0", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Name of the server", - "Keywords":"name", - "FieldName":"server_name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/data/@server_name", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Carrier Command 2 Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Password to connect to the server", - "Keywords":"password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/data/@password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that can connect to the server at one time", - "Keywords":"player,limit,maximum", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/data/@max_players", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "Suffix":"players", - "Placeholder":"4", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Island Count", - "Category":"Server Settings", - "Description":"Number of islands to spawn on the server. Warning: more than 64 will cause the client to crash when zooming in on the map", - "Keywords":"island,count", - "FieldName":"island_count", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/data/@island_count", - "IncludeInCommandLine":false, - "DefaultValue":"16", - "EnumValues":{} - }, - { - "DisplayName":"Human Team Count", - "Category":"Server Settings", - "Description":"Number of player-controlled carriers to spawn", - "Keywords":"human,team,count", - "FieldName":"team_count_human", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/data/@team_count_human", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{} - }, - { - "DisplayName":"AI Team Count", - "Category":"Server Settings", - "Description":"Number of AI carriers to spawn", - "Keywords":"ai,team,count", - "FieldName":"team_count_ai", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/data/@team_count_ai", - "IncludeInCommandLine":false, - "SkipIfEmpty":false, - "DefaultValue":"1", - "EnumValues":{} - }, - { - "DisplayName":"Base Difficulty", - "Category":"Server Settings", - "Description":"Sets the minimum shield difficulty an island can have", - "Keywords":"base,difficulty", - "FieldName":"base_difficulty", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/data/@base_difficulty", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{} - }, - { - "DisplayName":"Loadout Type", - "Category":"Server Settings", - "Description":"Sets the loadout type", - "Keywords":"loudout,type", - "FieldName":"loadout_type", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/data/@loadout_type", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Default", - "1":"Minimal", - "2":"Complete" - } - }, - { - "DisplayName":"Blueprints", - "Category":"Server Settings", - "Description":"Sets the number of blueprints", - "Keywords":"blueprints", - "FieldName":"blueprints", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/data/@blueprints", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Default", - "1":"None", - "2":"All" - } - } -] \ No newline at end of file diff --git a/carrier-command2metaconfig.json b/carrier-command2metaconfig.json deleted file mode 100644 index 0ba4bee13..000000000 --- a/carrier-command2metaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"server_config.xml", - "AutoMap":true, - "ConfigType":"xml" - } -] diff --git a/carrier-command2server_config.xml b/carrier-command2server_config.xml deleted file mode 100644 index f9fc7c4d7..000000000 --- a/carrier-command2server_config.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<data port="25565" max_players="4" server_name="AMP Powered Carrier Command 2 Server" password="" island_count="16" team_count_ai="1" team_count_human="1" base_difficulty="1" loadout_type="0" blueprints="0" game_data_path="rom_0"> - <permissions/> - <active_mod_folders/> -</data> - diff --git a/conan-exiles.kvp b/conan-exiles.kvp deleted file mode 100644 index 1e166298b..000000000 --- a/conan-exiles.kvp +++ /dev/null @@ -1,95 +0,0 @@ -Meta.DisplayName=Conan Exiles -Meta.Description=Conan Exiles Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=NotSupported -Meta.Arch=x86_64 -Meta.Author=IceOfWraith, Greelan, eNcrypt, rezor92 -Meta.URL=https://store.steampowered.com/app/440900/Conan_Exiles/ -Meta.DisplayImageSource=steam:440900 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort3} -Meta.ConfigManifest=conan-exilesconfig.json -Meta.MetaConfigManifest=conan-exilesmetaconfig.json -Meta.ConfigRoot=conan-exiles.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.ExtraSetupStepsURI= -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Conan Exiles -App.RootDir=./conan-exiles/ -App.BaseDirectory=./conan-exiles/443030/ -App.SteamWorkshopDownloadLocation={{$FullBaseDir}}ConanSandbox/Mods -App.ExecutableWin=443030\ConanSandbox\Binaries\Win64\ConanSandboxServer-Win64-Test.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=443030/ConanSandbox/Binaries/Win64 -App.LinuxCommandLineArgs=-a wine "./ConanSandboxServer-Win64-Test.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{Map}} -stdout -FullStdOutLogOutput -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -App.CommandLineParameterFormat=-{0}="{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=60 -App.ExitString=exit -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":7777,"Ref":"ApplicationPort1","Name":"Game and Mods Port","Description":"Port for game traffic and client mod downloads"},{"Protocol":"UDP","Port":7778,"Ref":"ApplicationPort2","Name":"Pinger Port","Description":"Port for pinger traffic from server browser to determine availability"},{"Protocol":"UDP","Port":27015,"Ref":"ApplicationPort3","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":25575,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=ApplicationPort1 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=ApplicationPort3 -App.MaxUsers=40 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=True -App.RemoteAdminPassword= -App.AdminMethod=SourceRCON -App.AdminLoginTransform=None -App.LoginTransformPrefix= -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.RCONHeartbeatMinutes=3 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[conan-exilesupdates.json] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=3000 -App.MonitorChildProcessName=wine64 -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)|.*LogRcon:Warning: Received Rcon: ping, from PeerAddr: [\d\.:]+|.*Couldn't find the command: ping\. Try "help"$ -Console.AppReadyRegex=^.*LogGameState: Match State Changed from WaitingToStart to InProgress$ -Console.UserJoinRegex=^.*LogNet: Join succeeded: (?<username>.+?#\d+)$ -Console.UserLeaveRegex=^.*LogNet: Player disconnected: (?<username>.+?#\d+)$ -Console.UserChatRegex=^.*ChatWindow: Character (?<username>.+?) said: (?<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=60 diff --git a/conan-exilesconfig.json b/conan-exilesconfig.json deleted file mode 100644 index d532d17a3..000000000 --- a/conan-exilesconfig.json +++ /dev/null @@ -1,213 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort1", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"URL.Port", - "IncludeInCommandLine":false, - }, - { - "DisplayName":"Download Port Offset", - "Category":"Server Settings", - "Description":"Mod download port matches the Game Port.", - "Keywords":"", - "FieldName":"DownloadPortOffset", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"/Script/ConanSandbox.SystemSettings.ModFileDownload.DownloadPortOffset", - "IncludeInCommandLine":false, - "DefaultValue":"0" - }, - { - "DisplayName":"Query Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort3", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"OnlineSubsystemNull.GameServerQueryPort", - "IncludeInCommandLine":false, - }, - { - "DisplayName":"RCON Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RemoteAdminPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"RconPlugin.RconPort", - "IncludeInCommandLine":false, - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Name of the server shown in the server browser.", - "Keywords":"name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerName", - "IncludeInCommandLine":true, - "DefaultValue":"Conan Exiles Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Map", - "Category":"Server Settings", - "Description":"Sets the map to load on startup.", - "Keywords":"map", - "FieldName":"Map", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Map", - "IncludeInCommandLine":false, - "DefaultValue":"/Game/Maps/ConanSandbox/ConanSandbox", - "EnumValues":{ - "{{CustomMap}}":"Custom", - "/Game/Maps/ConanSandbox/ConanSandbox":"Exiled Lands (default)", - "/Game/DLC_EXT/DLC_Siptah/Maps/DLC_Isle_of_Siptah":"Isle of Siptah" - } - }, - { - "DisplayName":"Custom Map", - "Category":"Server Settings", - "Description":"If using a custom map, enter it here. Choose Custom from the Map option.", - "Keywords":"custom,map", - "FieldName":"CustomMap", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMap", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"/Game/Mods/Savage_Wilds/Savage_Wilds", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server.", - "Keywords":"maximum,players", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"40", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Password to connect to the server. Default is no password.", - "Keywords":"password", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"ServerPassword", - "IncludeInCommandLine":true, - "DefaultValue":"", - "SkipIfEmpty": true, - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"Server Settings", - "Description":"To allow use of the in-game admin panel, set the \"admin\" user password in ConanSandbox/Saved/Config/WindowsServer/ServerSettings.ini. Add the setting on a new line immediately after the [ServerSettings] header, in the format: AdminPassword=yourpassword", - "Keywords":"admin,password", - "FieldName":"AdminPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"AdminPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON.", - "Keywords":"rcon,password", - "FieldName":"$RemoteAdminPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RconPlugin.RconPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Region", - "Category":"Server Settings", - "Description":"Sets the server region, which affects how the server is filtered in the server list.", - "Keywords":"region", - "FieldName":"serverRegion", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerSettings.serverRegion", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Europe", - "1":"North America", - "2":"Asia", - "3":"Australia", - "4":"South America", - "5":"Japan" - } - }, - { - "DisplayName":"Enable BattlEye", - "Category":"Server Settings", - "Description":"If enabled, BattlEye cheat protection will apply to the server.", - "Keywords":"battleye,cheats", - "FieldName":"IsBattlEyeEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ServerSettings.IsBattlEyeEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Enable Valve Anti-cheat (Steam VAC).", - "Category":"Server Settings", - "Description":"", - "Keywords":"VAC,cheat", - "FieldName":"IsVACEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ServerSettings.IsVACEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Mods List", - "Category":"Server Settings", - "Description":"Mods must be entered into \"Steam workshop items\" in the SteamCMD and Updates tab. Update the game server to download the mods to the ConanSandbox\\Mods\\ directory. Inside each folder there will be a .pak file. Enter the WorkshopID\\PakFileName.pak: 2377569193\\Savage_Wilds.pak", - "Keywords":"workshop,mod,list", - "FieldName":"ModList", - "InputType":"list", - "IsFlagArgument":false, - "ParamFieldName":"ModList", - "DefaultValue":"", - "Special":"listfile:./conan-exiles/443030/ConanSandbox/Mods/modlist.txt", - "EnumValues":{} - } - ] diff --git a/conan-exilesmetaconfig.json b/conan-exilesmetaconfig.json deleted file mode 100644 index 09893f1be..000000000 --- a/conan-exilesmetaconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "ConfigFile": "ConanSandbox/Saved/Config/WindowsServer/ServerSettings.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - },{ - "ConfigFile": "ConanSandbox/Saved/Config/WindowsServer/Game.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - },{ - "ConfigFile": "ConanSandbox/Saved/Config/WindowsServer/Engine.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - } -] \ No newline at end of file diff --git a/conan-exilesupdates.json b/conan-exilesupdates.json deleted file mode 100644 index b2acee4b5..000000000 --- a/conan-exilesupdates.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD and Conan Exiles Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"443030", - "UpdateSourceArgs":"440900", - "ForceDownloadPlatform":"Windows" - }, - { - "UpdateStageName":"Create Binary Copy", - "UpdateSourcePlatform":"All", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}ConanSandbox/Binaries/Win64/ConanSandboxServer-Win64-Test.exe", - "UpdateSourceArgs":"{{$FullBaseDir}}ConanSandbox/Binaries/Win64/ConanSandboxServer-Win64-Shipping.exe", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Config Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Initialise Wine", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" - } -] \ No newline at end of file diff --git a/core-keeper.kvp b/core-keeper.kvp deleted file mode 100644 index be55b0363..000000000 --- a/core-keeper.kvp +++ /dev/null @@ -1,82 +0,0 @@ -Meta.DisplayName=Core Keeper -Meta.Description=Core Keeper Dedicated Server with BepInEx Option for Windows -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, Shinynecrid -Meta.URL=https://steamdb.info/app/1621690/ -Meta.DisplayImageSource=steam:1621690 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=core-keeperconfig.json -Meta.MetaConfigManifest=core-keepermetaconfig.json -Meta.ConfigRoot=core-keeper.kvp -Meta.MinAMPVersion=2.3.3.0 -Meta.SpecificDockerImage=cubecoders/ampbase:xvfb -Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux, SupportedOnWindows -Meta.ContainerPolicyReason=The server requires a modern version of Xvfb, as well as libxi6, on Linux. Using a container addresses these requirements. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Core Keeper -App.RootDir=./core-keeper/ -App.BaseDirectory=./core-keeper/1963720/ -App.ExecutableWin=1963720\CoreKeeperServer.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=1963720 -App.LinuxCommandLineArgs=-a ./CoreKeeperServer -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -port {{ConnectMode}} -datapath "{{$FullBaseDir}}DedicatedServer" {{$FormattedArgs}} -batchmode -logfile - -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1621690"} -App.CommandLineParameterFormat=-{0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=q -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":27015,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=100 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[core-keeperupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=CoreKeeperServer -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Started session with Game ID .+$ -Console.UserJoinRegex=^Successful authentication from (?<userid>.+?)$ -Console.UserLeaveRegex=^Disconnected from (?<userid>.+?)$ -Console.UserChatRegex= -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/core-keeperconfig.json b/core-keeperconfig.json deleted file mode 100644 index af9ced6e5..000000000 --- a/core-keeperconfig.json +++ /dev/null @@ -1,158 +0,0 @@ -[ - { - "DisplayName":"Game ID", - "Category":"Server Settings", - "Description":"Sets the Game ID for the server. Needs to be at least 28 characters and alphanumeric, excluding Y,y,x,0,O. Empty or not valid means a new Game ID will be generated at server start", - "Keywords":"game,id", - "FieldName":"gameid", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"gameid", - "IncludeInCommandLine":true, - "DefaultValue":"", - "Placeholder":"WThaEN6779QIU2j7sczKmGfIG1bD", - "EnumValues":{} - }, - { - "DisplayName":"World", - "Category":"Server Settings", - "Description":"Sets the index of the world to be loaded from the worlds folder", - "Keywords":"world,index", - "FieldName":"world", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"world", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"World Name", - "Category":"Server Settings", - "Description":"Sets the name to use for the server", - "Keywords":"world", - "FieldName":"worldname", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"worldname", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"Core Keeper Server Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"World Seed", - "Category":"Server Settings", - "Description":"Sets the seed to use to generate a new world. Set to 0 to generate a random seed", - "Keywords":"seed,world", - "FieldName":"worldseed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"worldseed", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"World Mode", - "Category":"Server Settings", - "Description":"Sets the world mode for the world. Changing between Creative and non-Creative worlds is not currently supported", - "Keywords":"world,mode", - "FieldName":"worldmode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"worldmode", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{ - "0":"Normal", - "1":"Hard", - "2":"Creative", - "4":"Casual" - } - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Sets the maximum number of players that will be allowed to connect to the server", - "Keywords":"max,players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"maxplayers", - "IncludeInCommandLine":true, - "DefaultValue":"100", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Connection Mode", - "Category":"Server Settings", - "Description":"Sets the connection mode - either through the Steam relay network (no ports required), or via a direct port connection on the Game Port", - "Keywords":"steam,relay,network,port", - "FieldName":"ConnectMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ConnectMode", - "IncludeInCommandLine":false, - "DefaultValue":"{{$GamePort}}", - "EnumValues":{ - "":"Steam Relay Network", - "{{$GamePort}}":"Direct Port Connection" - } - }, - { - "DisplayName":"Season Override", - "Category":"Server Settings", - "Description":"Sets the current season on the server", - "Keywords":"season,override", - "FieldName":"season", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"season", - "IncludeInCommandLine":true, - "DefaultValue":"-1", - "EnumValues":{ - "-1":"System date determines (default)", - "0":"None", - "1":"Easter", - "2":"Halloween", - "3":"Christmas", - "4":"Valentine", - "5":"Anniversary", - "6":"Cherry Blossom" - } - }, - { - "DisplayName":"Server IP Binding", - "Category":"Server Settings", - "Description":"Sets the interface IP that the server will bind to. Default is 0.0.0.0. Only used if the Steam relay network is not used", - "Keywords":"ip,binding", - "FieldName":"ip", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ip", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"0.0.0.0", - "Placeholder":"0.0.0.0", - "EnumValues":{} - }, - { - "DisplayName":"Activate BepInEx (Windows Only)", - "Category":"SteamCMD and Updates", - "Description":"If set, BepInEx will be installed when the server is updated and enabled when the server is run, allowing the server to be modded. Mods must be installed in the BepInEx/plugins directory, which is created after BepInEx is first run. Windows only at this time", - "Keywords":"install,enable,bepinex,modded,mods", - "FieldName":"BepInExEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"General.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - } -] \ No newline at end of file diff --git a/core-keepermetaconfig.json b/core-keepermetaconfig.json deleted file mode 100644 index 734f9dc8f..000000000 --- a/core-keepermetaconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "ConfigFile":"doorstop_config.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormat":"{0} = {1}", - "ConfigFormatRegex":"^(?<key>.+?) *= *(?<value>.*?)$" - } -] \ No newline at end of file diff --git a/core-keeperupdates.json b/core-keeperupdates.json deleted file mode 100644 index 17e8cf5e8..000000000 --- a/core-keeperupdates.json +++ /dev/null @@ -1,31 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1963720", - "UpdateSourceArgs":"1621690" - }, - { - "UpdateStageName":"Download BepInEx From Thunderstore", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://thunderstore.io/package/download/BepInEx/BepInExPack_Core_Keeper/2.1.0/", - "UpdateSourceArgs":"BepInEx-BepInExPack_Core_Keeper-2.1.0.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"BepInExEnabled", - "UpdateSourceConditionValue":"true" - }, - { - "UpdateStageName":"BepInEx Copy", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C xcopy /E /Y /I core-keeper\\1963720\\BepInExPack_Core-Keeper\\* core-keeper\\1963720\\ && rmdir /Q /S core-keeper\\1963720\\BepInExPack_Core-Keeper", - "UpdateSourceConditionSetting":"BepInExEnabled", - "UpdateSourceConditionValue":"true" - } -] \ No newline at end of file diff --git a/craftopia.kvp b/craftopia.kvp deleted file mode 100644 index 23eb4e3eb..000000000 --- a/craftopia.kvp +++ /dev/null @@ -1,74 +0,0 @@ -Meta.DisplayName=Craftopia -Meta.Description=Craftopia Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Andy Boatman, IceOfWraith -Meta.URL=https://store.steampowered.com/app/1307550/Craftopia/ -Meta.DisplayImageSource=steam:1307550 -Meta.EndpointURIFormat= -Meta.ConfigManifest=craftopiaconfig.json -Meta.MetaConfigManifest=craftopiametaconfig.json -Meta.ConfigRoot=craftopia.kvp -Meta.MinAMPVersion= -Meta.SpecificDockerImage= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Craftopia -App.RootDir=./craftopia/ -App.BaseDirectory=./craftopia/1670340/ -App.ExecutableWin=1670340\Craftopia.exe -App.ExecutableLinux=1670340/Craftopia.x86_64 -App.WorkingDir=1670340 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=-batchmode -showlogs -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1307550"} -App.CommandLineParameterFormat=-{0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=String -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.ApplicationPort1=6587 -App.ApplicationPort2=0 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 -App.MaxUsers=7 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1670340","UpdateSourceArgs":"1307550"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/craftopiaserversetting.ini","UpdateSourceArgs":"ServerSetting.ini","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=27015 -App.UniversalSleepSteamQueryPort=27016 -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+)|(Add a hecking prefab with a line renderer.+)|(RenderTexture.Create failed.+)|(Invalid pass number.+)|(Failed to create RenderTexture with R16 UNorm.+)$ -Console.AppReadyRegex=^World is loaded.$ -Console.UserJoinRegex=^ActiveSlave\:Id\=(?<userid>.+)\ Active\=True\ Name=(?<username>.+)$ -Console.UserLeaveRegex=^ActiveSlave\:Id\=(?<userid>.+)\ Active\=False\ Name=(?<username>.+)$ -Console.UserChatRegex=^\[\d\d:\d\d:\d\d\] \[CHAT\] <(?<username>.+?)> (?<message>.+)$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/craftopiaconfig.json b/craftopiaconfig.json deleted file mode 100644 index 9308274ab..000000000 --- a/craftopiaconfig.json +++ /dev/null @@ -1,394 +0,0 @@ -[ - { - "DisplayName": "World Name", - "Description": "World name", - "Category": "Server Settings", - "Keywords": "world name", - "FieldName": "name", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "GameWorld.name", - "IncludeInCommandLine": false, - "DefaultValue": "AMP World", - "EnumValues": {} - }, - { - "DisplayName": "Difficulty", - "Category": "Server Settings", - "Description": "Difficulty", - "Keywords": "Difficulty", - "FieldName": "difficulty", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "GameWorld.difficulty", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "0": "Easy", - "1": "Normal", - "2": "Hard", - "3": "Very Hard" - } - }, - { - "DisplayName": "Game Mode", - "Category": "Server Settings", - "Description": "Game mode", - "Keywords": "gameMode", - "FieldName": "gameMode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "GameWorld.gameMode", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "1": "Normal World", - "2": "Creative World - Build", - "3": "Creative World - Play" - } - }, - { - "DisplayName": "Port", - "Description": "This setting is managed under the Edit Ports button in ADS.", - "Category": "Server Settings", - "Keywords": "port", - "FieldName": "$ApplicationPort1", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Host.port", - "IncludeInCommandLine": true, - "DefaultValue": "6587", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Max Players", - "Description": "Maximum number of player can join into the server. (1-127)", - "Category": "Server Settings", - "Keywords": "max players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Host.maxPlayerNumber", - "IncludeInCommandLine": true, - "DefaultValue": "7", - "EnumValues": {}, - "suffix": "players", - "MinValue":"1", - "MaxValue":"127" - }, - { - "DisplayName": "Enable Password", - "Description": "Enable the server password.", - "Category": "Server Settings", - "Keywords": "enable password", - "FieldName": "usePassword", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "Host.usePassword", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "Server Password", - "Category": "Server Settings", - "Description": "Set the server password, up to 8 digit number pin.", - "Keywords": "server password", - "FieldName": "serverPassword", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "Host.serverPassword", - "IncludeInCommandLine": false, - "DefaultValue": "00000000", - "EnumValues": {} - }, - { - "DisplayName": "Auto Save Interval", - "Description": "Seconds between each save. Set to -1 to disable.", - "Category": "Server Settings", - "Keywords": "auto save interval", - "FieldName": "autoSaveSec", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Save.autoSaveSec", - "IncludeInCommandLine": false, - "DefaultValue": "300", - "EnumValues": {}, - "suffix": "sec" - }, - { - "DisplayName": "Auto Save Per Hour", - "Description": "Auto save every hour.", - "Category": "Server Settings", - "Keywords": "auto save per hour", - "FieldName": "autoSavePerHour", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "Save.autoSavePerHour", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "Save Path", - "Description": "Path to save the server in.", - "Category": "Server Settings", - "Keywords": "save Path", - "FieldName": "savePath", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Save.savePath", - "IncludeInCommandLine": false, - "DefaultValue": "DedicatedServerSave/", - "EnumValues": {} - }, - { - "DisplayName": "Quick Craft", - "Description": "Crafting without checking item cost.", - "Category": "Server Settings", - "Keywords": "quick craft", - "FieldName": "quickCraft", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "quickCraft", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "Age Level", - "Description": "Age Level of the game world, effects crafting recipes.", - "Category": "Server Settings", - "Keywords": "age level", - "FieldName": "ageLevel", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModeSetting.ageLevel", - "IncludeInCommandLine": false, - "DefaultValue": "7", - "EnumValues": {} - }, - { - "DisplayName": "Island Level", - "Description": "Island level override, effects monster and dungeon levels. Set to -1 to disable override.", - "Category": "Server Settings", - "Keywords": "island level", - "FieldName": "islandLevel", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModeSetting.islandLevel", - "IncludeInCommandLine": false, - "DefaultValue": "-1", - "EnumValues": {} - }, - { - "DisplayName": "No Death", - "Description": "Player character would not die.", - "Category": "Server Settings", - "Keywords": "no death", - "FieldName": "noDeath", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModeSetting.noDeath", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "No Damage", - "Description": "Player character would not take damage.", - "Category": "Server Settings", - "Keywords": "no Damage", - "FieldName": "noDamage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModeSetting.noDamage", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "No Hunger", - "Description": "Player character would not be hungry.", - "Category": "Server Settings", - "Keywords": "no Hunger", - "FieldName": "noHunger", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModeSetting.noHunger", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "Infinite Stamina", - "Description": "Player character has infinite stamina.", - "Category": "Server Settings", - "Keywords": "infinite stamina", - "FieldName": "infinitStamina", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModeSetting.infinitStamina", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "Force Day Time", - "Description": "Game world day time override, 0 to 24, set to -1 to disable.", - "Category": "Server Settings", - "Keywords": "force Day Time", - "FieldName": "forceDayTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModeSetting.forceDayTime", - "IncludeInCommandLine": false, - "DefaultValue": "-1", - "EnumValues": {} - }, - { - "DisplayName": "Building Ignore Damage", - "Description": "Building would not take damage.", - "Category": "Server Settings", - "Keywords": "building Ignore Damage", - "FieldName": "buildingIgnoreDamage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModeSetting.buildingIgnoreDamage", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "No Build", - "Description": "Player can not place new building.", - "Category": "Server Settings", - "Keywords": "no Build", - "FieldName": "noBuild", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModeSetting.noBuild", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "Level", - "Description": "Override character level, set to 0 to disable.", - "Category": "Server Settings", - "Keywords": "Level", - "FieldName": "Level", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModePlStatus.Level", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Health", - "Description": "Override character health, set to 0 to disable.", - "Category": "Server Settings", - "Keywords": "Health", - "FieldName": "Health", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModePlStatus.Health", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Mana", - "Description": "Override character mana, set to 0 to disable.", - "Category": "Server Settings", - "Keywords": "Mana", - "FieldName": "Mana", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModePlStatus.Mana", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Stamina", - "Description": "Override character stamia, set to 0 to disable.", - "Category": "Server Settings", - "Keywords": "Stamina", - "FieldName": "Stamina", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModePlStatus.Stamina", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Money", - "Description": "Override character money.", - "Category": "Server Settings", - "Keywords": "Money", - "FieldName": "Money", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModePlStatus.Money", - "IncludeInCommandLine": false, - "DefaultValue": "1000", - "EnumValues": {} - }, - { - "DisplayName": "Skill Point", - "Description": "Override character skill point.", - "Category": "Server Settings", - "Keywords": "SkillPoint", - "FieldName": "SkillPoint", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModePlStatus.SkillPoint", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Enchant Point", - "Description": "Override character enchant point.", - "Category": "Server Settings", - "Keywords": "EnchantPoint", - "FieldName": "EnchantPoint", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CreativeModePlStatus.EnchantPoint", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - } -] diff --git a/craftopiametaconfig.json b/craftopiametaconfig.json deleted file mode 100644 index b0a71dc2c..000000000 --- a/craftopiametaconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "ConfigFile": "ServerSetting.ini", - "AutoMap": true - } -] diff --git a/craftopiaserversetting.ini b/craftopiaserversetting.ini deleted file mode 100644 index 09340afc3..000000000 --- a/craftopiaserversetting.ini +++ /dev/null @@ -1,87 +0,0 @@ - -; Game World Data Setting - name, difficulty, gameMode -; name : world name -; difficulty : 0- Easy, 1- Normal(default), 2- Hard, 3- VeryHard -; gameMode : 1- NormalWorld(default), 2- CreativeWorld_Build, 3- CreativeWorld_Play - -; Server Setting - port : used when not using steam lobby function -; maxPlayerNumber : maximum number of player can join into the server(1 ~ 127) -; usePassword : using server password(1- True / 0- False) -; serverPassword : setting server password up to 8 digit number pin - -; Graphics Setting - vSyncCount, maxFPS, grassBend, clothSimOption -; vSyncCount : vertical sync, 0- disable, 1- once per frame 2- per two frame -; maxFPS : max frames per second, set to -1 for unlimited fps -; grassBend : enable Grass Bend(1- True / 0- False) -; ClothSimOption : cloth simulation, 1- animate everybody's, 2- animate nobody's - -; Save Setting - autoSaveSec, autoSavePerHour -; autoSaveSec : autoSavePer ** second, to disable, set to -1 -; autoSavePerHour : enable autoSavePerHour(1- True / 0- False) -; savePath : relative path base on ServerSetting.ini folder or absolute path - -; Creative Mode Setting - -; quickCraft : crafting without checking item cost(1- True / 0- False) -; ageLevel : age Level of the game world, effect crafting recipe -; islandLevel : island level override, effect monster and dungeon level, set to -1 to disable override -; noDeath : player character would not dead(1- True / 0- False) -; noDamage : player character would not take damage(1- True / 0- False) -; noHunger : player character would not be hungry(1- True / 0- False) -; infinitStamina : player character has infinit stamina(1- True / 0- False) -; forceDayTime : game world day time override, 0 to 24, set to -1 to disable -; buildingIgnoreDamage : building would not take damage(1- True / 0- False) -; noBuild : player can not place new building(1- True / 0- False) - -; Creative Mode Player Status Override - apply at gameStart -; Level : override character level, set to 0 to disable -; Health : override character health, set to 0 to disable -; Mana : override character mana, set to 0 to disable -; Stamina : override character stamia, set to 0 to disable -; Money : override character money -; SkillPoint : override character skill point -; EnchantPoint : override character enchant point - -[GameWorld] -name=AMP World -difficulty=1 -gameMode=1 - -[Host] -port=6587 -maxPlayerNumber=7 -usePassword=0 -serverPassword=00000000 -bindAddress=0.0.0.0 -isUseSteamLobby=0 - -[Graphics] -vSyncCount=0 -maxFPS=60 -grassBend=0 -clothSimOption=2 - -[Save] -autoSaveSec=300 -autoSavePerHour=1 -savePath=DedicatedServerSave/ - -[CreativeModeSetting] -quickCraft=1 -ageLevel=7 -islandLevel=-1 -noDeath=1 -noDamage=1 -noHunger=1 -infinitStamina=1 -forceDayTime=-1 -buildingIgnoreDamage=0 -noBuild=0 - -[CreativeModePlStatus] -Level=0 -Health=0 -Mana=0 -Stamina=0 -Money=1000 -SkillPoint=0 -EnchantPoint=0 diff --git a/creativerse.kvp b/creativerse.kvp deleted file mode 100644 index 703bfafd5..000000000 --- a/creativerse.kvp +++ /dev/null @@ -1,88 +0,0 @@ -Meta.DisplayName=Creativerse -Meta.Description=Creativerse Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://creativersegame.com/ -Meta.DisplayImageSource=steam:280790 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=creativerseconfig.json -Meta.MetaConfigManifest=creativersemetaconfig.json -Meta.ConfigRoot=creativerse.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3971?utm_source=ampcreate&utm_content=creativerse -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Creativerse -App.RootDir=./creativerse/ -App.BaseDirectory=./creativerse/1098260/ -App.ExecutableWin=1098260\CreativerseServer.exe -App.ExecutableLinux=1098260/CreativerseServer -App.WorkingDir=1098260 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -forceIp={{$ApplicationIPBinding}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"280790","XDG_DATA_HOME":"{{$FullBaseDir}}"} -App.CommandLineParameterFormat=-{0}="{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -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":26900,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":26901,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"},{"Protocol":"TCP","Port":26902,"Ref":"WebAdminPort","Name":"Web Admin Port","Description":"Port for web admin traffic"}] -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=100 -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=login {0} -App.UpdateSources=@IncludeJson[creativerseupdates.json] -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\d+-\d+-\d+ \d+:\d+:\d+,\d+ (?:.*?) server INFO SimThread\(\d+\) BuildVerseServer\.Reporting - Server \[READYFORLOGIN\]$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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=0 -Limits.SleepStartThresholdSeconds=25 diff --git a/creativerseconfig.json b/creativerseconfig.json deleted file mode 100644 index 7d9f01fe6..000000000 --- a/creativerseconfig.json +++ /dev/null @@ -1,159 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Creativerse Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"$.GamePort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"World Key", - "Category":"Creativerse Server Settings", - "Description":"Sets the world key for the server. Don't use spaces. NOTE: Update the server after changing this setting", - "Keywords":"world,key,id", - "FieldName":"worldId", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"worldId", - "IncludeInCommandLine":true, - "DefaultValue":"AMP_Server", - "EnumValues":{} - }, - { - "DisplayName":"World Key", - "Category":"Creativerse Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"worldId", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"$.WorldKey", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"World Template", - "Category":"Creativerse Server Settings", - "Description":"Sets the template for the world. If Custom Template is selected, then the Custom Template Key must also be set", - "Keywords":"template,key", - "FieldName":"TemplateKey", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"$.TemplateKey", - "IncludeInCommandLine":false, - "DefaultValue":"69bac762182c4dd69c59a48c3e1e9304", - "EnumValues":{ - "cb201411260047e5ab4f4b8166eb3976":"Archipelago 10K", - "cb20141210ed4b1590c6a1420c384f2b":"Continent 1K", - "cb20150118204805ab4f4b8166eb3980":"Continent 2K-1", - "cb20150119204805ab4f4b8166eb3980":"Continent 2K-2", - "cb20150120204805ab4f4b8166eb3980":"Continent 2K-3", - "cb20141228040965ab4f4b8166eb3977":"Continent 4K-1", - "cb20141231040965ab4f4b8166eb3981":"Continent 4K-2", - "892bbca2d6444e26a8857a07a90292f1":"Flat Grass 2K", - "b0c2e10917fe4b709255b1b6f162e558":"Flat Sand 2K", - "bb0326fd64b74791b493ad03abe7af6b":"Flat Snow 4K", - "hg_testmap_1":"HG TestMap", - "island_ruins":"Island Ruins", - "6af068019ad648ceb3d8eadf3e1ab854":"Lowlands 1K-1", - "18285efb343e4e619df1facc2b7d27c3":"Lowlands 1K-2", - "425a9f8d3f6a4d42ad4d7a0ef98dc4ce":"Lowlands 2K", - "1ec67c5a8598480cabac567762bf59b9":"Lowlands 3K", - "25b95767960e4810a0d896f2b4d1d3df":"Lowlands 10K-1", - "cb20140912ac428bae68abb4822dbfda":"Lowlands 10K-2", - "cb20140915ac428bae68abb4822dbfda":"Lowlands 10K-3", - "6b87b59bdfc344c89920dc7eb44c5839":"Lowlands 10K-4", - "6d1ef9b9e2bd46889068f3df6aa73954":"Mixed 1K-1", - "35da7596161942ffad4bad6b7b932950":"Mixed 1K-2", - "69bac762182c4dd69c59a48c3e1e9304":"RW1 10K (default)", - "e153099c609f4bb2b5f89e218fcb471e":"RW2 10K", - "4a4d04caf0d449e3a5a04c0ecfe03957":"RW3 10K", - "5dcc93229f004bfe86e2bca3cc60e2d3":"RW4 10K", - "f8d02b7209a54aa19d2fcca0f58778e4":"RW5 10K", - "e05d2ad3952a4061931cbe003bc71ec9":"RW6 10K", - "6b7f11478cb54a1896ef30352af168ef":"RW7 10K", - "5c659bff855243f2bc26c9d82b8ca073":"RW8 10K", - "c773ad62e9b74fedb989092e8d6cb3af":"RW9? 10K", - "0c9de19ab8b8485dabae8144e6b39317":"RW10? 10K", - "024dbf3fcb92412295cd8d07ba93288f":"RW10? 10K-1", - "cb20150125819205ab4f4b8166eb0520":"RW? 8K", - "6af665950087483b9fac9c21f3e9f0ff":"RW? 10K-2", - "fb45525a5f9b48eaa4820bed2759bb59":"RW? 10K-3", - "0ce5b025a31546ec84b28330a78a431e":"RW? 10K-4", - "{{CustomTemplate}}":"Custom Template" - } - }, - { - "DisplayName":"Custom Template Key", - "Category":"Creativerse Server Settings", - "Description":"Sets the key for a custom template for the world", - "Keywords":"custom,template,key", - "FieldName":"CustomTemplate", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomTemplate", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"World Owner SteamID", - "Category":"Creativerse Server Settings", - "Description":"To start the server, you must include a valid Steam64 ID for \"WorldOwnerSteamId\" in the world's config_world.json", - "Keywords":"steam,id", - "FieldName":"SteamID", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"SteamID", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"World Name", - "Category":"Creativerse Server Settings", - "Description":"Sets the name of the world", - "Keywords":"world,name", - "FieldName":"WorldName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.WorldName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Creativerse Server", - "EnumValues":{} - }, - { - "DisplayName":"World Description", - "Category":"Creativerse Server Settings", - "Description":"Sets the world description", - "Keywords":"world,description", - "FieldName":"WorldDescription", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.WorldDescription", - "IncludeInCommandLine":false, - "DefaultValue":"A Creativerse World", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Creativerse Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at the same time", - "Keywords":"max,players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Placeholder":"100", - "Suffix":"players", - "EnumValues":{} - } -] \ No newline at end of file diff --git a/creativerseconfig_world.json b/creativerseconfig_world.json deleted file mode 100644 index 05bb57cf4..000000000 --- a/creativerseconfig_world.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "GamePort": 26900, - "PrivateServer": false, - "UsePlayerAccessFile": false, - "WorldOwnerSteamId": null, - "DamageVsPlayerScalar": 1.0, - "DamageVsAIScalar": 1.0, - "MaxPlayers": 100, - "MaxItemStack": 999, - "MobSpawnFactor": 1.0, - "TreasureSpawnFactor": 1.0, - "RegrowthFactor": 1.0, - "TraderSpawnFactor": 1.0, - "GravityDefault": 18.0, - "GravityLow": 6.0, - "JumpHeightModifierDefault": 1.0, - "JumpHeightModifierLowGravity": 1.5, - "FallDamageModifierDefault": 1.0, - "FallDamageModifierLowGravity": 0.25, - "AbilityChargesMax": 2, - "AbilityChargesCooldown": 2.5, - "RollCooldown": 0.8, - "GroundPoundStaminaPcRequired": 0.75, - "StaminaDrainSprint": 1.0, - "StaminaDrainGlideBoost": 5.0, - "NPCInteractionMinutes": 15, - "WorldEdgeFullFogDensity": 1.0, - "WorldEdgeFullFogDistance": 8.0, - "WorldEdgeFogBeginDistance": 24.0, - "AFKWarningInMinutes": 10, - "AFKTimeoutInMinutes": 10, - "WorldKey": "AMP_Server", - "TemplateKey": "69bac762182c4dd69c59a48c3e1e9304", - "CombatDefaultTool": "default_stick", - "CreativePermissionLevel": null, - "WorldName": "AMP Powered Creativerse Server", - "WorldDescription": "A Creativerse World", - "Skybox": "SkyboxGradient", - "CraftTime": { - "instant": 1, - "trivial": 10, - "basic": 30, - "forge1": 20, - "forge2": 120, - "forge3": 60, - "complicated": 180, - "difficult": 360, - "epic": 900 - }, - "ExtractTime": { - "trivial": 60, - "basic": 300, - "complicated": 600, - "difficult": 1200, - "epic": 3600 - }, - "MiningTimeForTier": { - "1": 0.85, - "2": 0.7, - "3": 0.65, - "4": 0.6, - "5": 0.5, - "6": 0.4, - "7": 0.25 - }, - "ClaimCountByModLevel": { - "Owner": 500, - "Admin": 500, - "Mod": 500, - "Builder": 1, - "Visitor": 0 - }, - "StartingClaimCountByModLevel": { - "Owner": 200, - "Admin": 100, - "Mod": 50, - "Builder": 0, - "Visitor": 0 - }, - "CostumePurchaseResource": "drone_token", - "CostumePurchaseCost": { - "default": 10, - "$slot_hat": 100, - "$slot_head": 150, - "$slot_body": 50, - "$slot_arms": 50, - "$slot_legs": 50, - "$slot_gauntlet": 200, - "$slot_sword": 100, - "$slot_flashlight": 50, - "$slot_glider": 200 - }, - "BlueprintKitPurchaseResource": "coin", - "BlueprintKitTierCost": { - "tier_1": { - "PerBlockCost": 0.08, - "MinimumCount": 10 - }, - "tier_2": { - "PerBlockCost": 0.09, - "MinimumCount": 10 - }, - "tier_3": { - "PerBlockCost": 0.1, - "MinimumCount": 10 - }, - "tier_4": { - "PerBlockCost": 0.12, - "MinimumCount": 50 - }, - "tier_5": { - "PerBlockCost": 0.13, - "MinimumCount": 50 - }, - "tier_6": { - "PerBlockCost": 0.14, - "MinimumCount": 50 - }, - "tier_7": { - "PerBlockCost": 0.15, - "MinimumCount": 100 - }, - "tier_8": { - "PerBlockCost": 0.16, - "MinimumCount": 100 - }, - "tier_9": { - "PerBlockCost": 0.17, - "MinimumCount": 100 - }, - "tier_10": { - "PerBlockCost": 0.2, - "MinimumCount": 200 - }, - "tier_11": { - "PerBlockCost": 0.3, - "MinimumCount": 200 - }, - "machines_12": { - "PerBlockCost": 0.5, - "MinimumCount": 200 - } - }, - "BlueprintKitBulkFactors": { - "4999": 1.0, - "9999": 0.85, - "14999": 0.71, - "19999": 0.587, - "24999": 0.5, - "29999": 0.475, - "34999": 0.45, - "39999": 0.435, - "44999": 0.42, - "49999": 0.4 - }, - "AutobuildPurchaseResource": "drone_token", - "BlueprintKitCostFactor": 1.0, - "BlueprintAutobuildCostPerBlock": 0.0001, - "ClaimResourceCostByLevel": { - "1": { - "coal": 20 - }, - "2": { - "obsidian": 40 - }, - "3": { - "iron_bar": 80 - }, - "4": { - "diamond": 160 - }, - "5": { - "lumite": 320 - }, - "6": { - "arcstone": 320 - } - }, - "VisitorDefault": false, - "DisablePvp": false, - "DisableExplosions": false, - "DisableFireSpread": false, - "DisableCorruptionSpread": false, - "DisableVaults": false, - "DisableClaims": false, - "DisableMobSpawns": false, - "DisableAmbientSpawns": false, - "DisableNpcSpawns": false, - "DisableTreasureSpawns": false, - "DisableDayVariations": false, - "DisableFlashlight": false, - "DisableGlider": false, - "DisableBlockDig": false, - "DisableBlockPlace": false, - "DisableFogOfWar": false, - "DisableBlueprintKitPurchase": false, - "DisableMap": false, - "DisableDeathMarkerOnHud": false, - "DisableBlockPainting": false, - "DisableAutoBuild": false, - "DisableErrorBlockCheck": false, - "DropInventoryOnDeath": true, - "DropQuickbarOnDeath": false, - "DropEquipmentOnDeath": false, - "RecipesLocked": true, - "AllCraftsFree": false, - "TradersEnabled": false, - "EventHalloweenEnabled": false, - "EventHolidayEnabled": false, - "LowGravity": false, - "PassiveMobs": false, - "Tags": [], - "AFKDisconnectionDisabled": false -} \ No newline at end of file diff --git a/creativersemetaconfig.json b/creativersemetaconfig.json deleted file mode 100644 index c4993cfea..000000000 --- a/creativersemetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"PlayfulCorp/CreativerseServer/worlddata/worlds/{{worldId}}/config_world.json", - "AutoMap":true, - "ConfigType":"json" - } -] \ No newline at end of file diff --git a/creativerseupdates.json b/creativerseupdates.json deleted file mode 100644 index f88989a53..000000000 --- a/creativerseupdates.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1098260", - "UpdateSourceArgs":"280790" - }, - { - "UpdateStageName":"World Directory Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}PlayfulCorp/CreativerseServer/worlddata/worlds/{{worldId}}", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"World Directory Creation", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C mkdir \"%LocalAppData%\\PlayfulCorp\\CreativerseServer\\worlddata\\worlds\\{{worldId}}\" & mkdir \"{{$FullBaseDir}}PlayfulCorp\" & mklink /J \"{{$FullBaseDir}}PlayfulCorp\\CreativerseServer\" \"%LocalAppData%\\PlayfulCorp\\CreativerseServer\"" - }, - { - "UpdateStageName":"World Config Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/creativerseconfig_world.json", - "UpdateSourceArgs":"config_world.json", - "UpdateSourceTarget":"{{$FullBaseDir}}PlayfulCorp/CreativerseServer/worlddata/worlds/{{worldId}}/", - "OverwriteExistingFiles":false - } -] \ No newline at end of file diff --git a/day-of-dragons.kvp b/day-of-dragons.kvp deleted file mode 100644 index d5da3e62d..000000000 --- a/day-of-dragons.kvp +++ /dev/null @@ -1,88 +0,0 @@ -Meta.DisplayName=Day of Dragons -Meta.Description=Day of Dragons Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://dayofdragons.com/ -Meta.DisplayImageSource=steam:1088090 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=day-of-dragonsconfig.json -Meta.MetaConfigManifest=day-of-dragonsmetaconfig.json -Meta.ConfigRoot=day-of-dragons.kvp -Meta.MinAMPVersion=2.4.0.2 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Day of Dragons -App.RootDir=./day-of-dragons/ -App.BaseDirectory=./day-of-dragons/1088320/ -App.ExecutableWin=1088320\Dragons\Binaries\Win64\DragonsServer-Win64-Shipping.exe -App.ExecutableLinux=1088320/Dragons/Binaries/Linux/DragonsServer-Linux-Shipping -App.WorkingDir=1088320 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs=-FullStdOutLogOutput -App.CommandLineArgs=Dragons -Port={{$GamePort}} -QueryPort={{$QueryPort}} -SteamServerName="{{SteamServerName}}" {{$FormattedArgs}} -stdout {{$PlatformArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1088090"} -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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=100 -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":"1088320","UpdateSourceArgs":"1088090","UpdateSourceVersion":"{{Stream}}"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Binaries/Win64/"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/day-of-dragonsgame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}Dragons/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]DragonsLog: \[(?:.+?)\] All streaming levels loaded!$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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 diff --git a/day-of-dragonsconfig.json b/day-of-dragonsconfig.json deleted file mode 100644 index 0f36a155e..000000000 --- a/day-of-dragonsconfig.json +++ /dev/null @@ -1,343 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Name of the server as it appears publicly", - "Keywords":"name", - "FieldName":"SteamServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SteamServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Day of Dragons Server", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"Server Settings", - "Description":"Welcome message when players join the server", - "Keywords":"welcome,message,motd", - "FieldName":"sServerMOTD", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.sServerMOTD", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to this Day of Dragons server - powered by AMP!", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"Server Settings", - "Description":"Sets the password for admins to access the admin panel. Default is no password", - "Keywords":"admin,password", - "FieldName":"sServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.sServerPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "MaxValue":"200", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Enable Friends List", - "Category":"Server Settings", - "Description":"If enabled, only players with Steam IDs listed in Game.ini using \"sServerFriends\" can join the server. Other players will be kicked automatically", - "Keywords":"friends,list,whitelist", - "FieldName":"bUseFriendsList", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bUseFriendsList", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Clan Size Limit", - "Category":"Server Settings", - "Description":"Maximum number of members of a clan", - "Keywords":"clan,size,limit", - "FieldName":"iMaxClanMembers", - "InputType":"number", - "MinValue":"8", - "MaxValue":"1024", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxClanMembers", - "IncludeInCommandLine":false, - "DefaultValue":"1024", - "Suffix":"members", - "EnumValues":{} - }, - { - "DisplayName":"Clan Number Limit", - "Category":"Server Settings", - "Description":"Maximum number of clans that can be created. Set to 0 to disable clan creation", - "Keywords":"clan,number,limit", - "FieldName":"iMaxClans", - "InputType":"number", - "MinValue":"0", - "MaxValue":"255", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxClans", - "IncludeInCommandLine":false, - "DefaultValue":"255", - "Suffix":"clans", - "EnumValues":{} - }, - { - "DisplayName":"Disable PvP", - "Category":"Server Settings", - "Description":"If enabled, server will be a PvE server and player on player fighting will be disabled", - "Keywords":"disable,pvp,pve", - "FieldName":"bDisablePVP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bDisablePVP", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Disable AI", - "Category":"Server Settings", - "Description":"If enabled, server will not spawn AI, allowing for a PvP only survival experience", - "Keywords":"disable,ai,pvp", - "FieldName":"bDisableAI", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bDisableAI", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Corpse Despawn Time", - "Category":"Server Settings", - "Description":"Sets how long corpses remain before despawning. Recommended to keep this low to free up resources", - "Keywords":"corpse,despawn,time", - "FieldName":"iCorpseDespawnTime", - "InputType":"number", - "MinValue":"60", - "MaxValue":"86400", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iCorpseDespawnTime", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Roleplay Features", - "Category":"Server Settings", - "Description":"If enabled, the server browser type will be appended with the RP tag and roleplay features will be enabled, if available", - "Keywords":"roleplay", - "FieldName":"bRoleplay", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bRoleplay", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Enable Group Damage", - "Category":"Server Settings", - "Description":"If enabled, group members will be allowed to damage each other when grouped", - "Keywords":"group,damage", - "FieldName":"bEnableGroupDamage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bEnableGroupDamage", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Show Admin Tags", - "Category":"Server Settings", - "Description":"If enabled, admin tags will always show to all players on the server. Recommended for servers that want people to easily identify the admins", - "Keywords":"admin,tags", - "FieldName":"bAlwaysShowAdminTags", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bAlwaysShowAdminTags", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Show Player Tags", - "Category":"Server Settings", - "Description":"If enabled, player nametags will always show regardless if grouped or clanned. By default, nametags only show up on grouped or clanned players", - "Keywords":"player,tags,names", - "FieldName":"bAlwaysShowPlayerTags", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bAlwaysShowPlayerTags", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Show Clan Tags", - "Category":"Server Settings", - "Description":"If enabled, clan tags will show in the chat box", - "Keywords":"clan,tags", - "FieldName":"bChatShowClanTags", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bChatShowClanTags", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Flag Hatchling Killers", - "Category":"Server Settings", - "Description":"If enabled, adult or elder dragons that kill hatchlings will be flagged with red glowing eyes for 20 minutes. Safelog will be unavailable to them while flagged", - "Keywords":"flag,hatchling,killers", - "FieldName":"bFlagHatchlingKillers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bFlagHatchlingKillers", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Disable Desync/Hack Checks", - "Category":"Server Settings", - "Description":"If enabled, the server will not check for client desyncs or hacks. May be useful for personal servers, private servers experiencing frequent disconnects, or servers that allow cheating", - "Keywords":"disable,dd,desyncs,hacks,checks", - "FieldName":"bDisableDD", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bDisableDD", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Autosave Interval", - "Category":"Server Settings", - "Description":"Sets the time interval between each automatic save", - "Keywords":"save,interval", - "FieldName":"iAutoSaveSeconds", - "InputType":"number", - "MinValue":"60", - "MaxValue":"3600", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iAutoSaveSeconds", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Latency", - "Category":"Server Settings", - "Description":"Sets the maximum allowed latency on the server. Players who exceed this will be auto-kicked. Requires Desync/Hack Checks to be disabled", - "Keywords":"max,latency,ping", - "FieldName":"iMaxLatencyMS", - "InputType":"number", - "MinValue":"100", - "MaxValue":"800", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.iMaxLatencyMS", - "IncludeInCommandLine":false, - "DefaultValue":"800", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Use Latency Hard Cap", - "Category":"Server Settings", - "Description":"If enabled, server will kick players who exceed the Maximum Latency. Otherwise, the server will use a soft cap and kick players only if the Maximum Latency is exceeded due to a lag spike. Requires Desync/Hack Checks to be disabled", - "Keywords":"latency,hard,cap", - "FieldName":"bUseLatencyHardCap", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.bUseLatencyHardCap", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "True":"True", - "False":"False" - } - }, - { - "DisplayName":"Discord Server", - "Category":"Server Settings", - "Description":"Sets the link to a Discord server. Include the full URL", - "Keywords":"discord", - "FieldName":"sServerDiscord", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C.sServerDiscord", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"https://discord.gg/mW2p4kr", - "EnumValues":{} - }, - { - "DisplayName":"Release Stream", - "Category":"SteamCMD and Updates", - "Description":"Sets the server release stream to install. NOTE: Update the server after changing this setting!", - "Keywords":"release,stream,legacy", - "FieldName":"Stream", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Stream", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "EnumValues":{ - "public":"Public (Default/UE5)", - "legacy":"Legacy (UE4)" - } - } -] diff --git a/day-of-dragonsgame.ini b/day-of-dragonsgame.ini deleted file mode 100644 index 7939052ad..000000000 --- a/day-of-dragonsgame.ini +++ /dev/null @@ -1,21 +0,0 @@ -[/Game/_Dev/Runtime/Classes/DragonsGI.DragonsGI_C] -iMaxPlayers=100 -iCorpseDespawnTime=300 -iAutoSaveSeconds=300 -iMaxClanMembers=1024 -iMaxClans=255 -iMaxLatencyMS=800 -bDisablePVP=False -bRoleplay=False -bEnableGroupDamage=False -bAlwaysShowAdminTags=False -bAlwaysShowPlayerTags=False -bChatShowClanTags=False -bUseFriendsList=False -bFlagHatchlingKillers=False -bDisableDD=True -bDisableAI=False -bUseLatencyHardCap=False -sServerMOTD=Welcome to this Day of Dragons server - powered by AMP! -sServerDiscord= -sServerPassword= \ No newline at end of file diff --git a/day-of-dragonsmetaconfig.json b/day-of-dragonsmetaconfig.json deleted file mode 100644 index e99546e4b..000000000 --- a/day-of-dragonsmetaconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "ConfigFile":"Dragons/Saved/Config/WindowsServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"Dragons/Saved/Config/LinuxServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - } -] diff --git a/dayz-experimental.kvp b/dayz-experimental.kvp deleted file mode 100644 index bdba62994..000000000 --- a/dayz-experimental.kvp +++ /dev/null @@ -1,92 +0,0 @@ -Meta.DisplayName=DayZ (Experimental) -Meta.Description=DayZ (Experimental) Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, Aperture Development, IceOfWraith -Meta.URL=https://dayz.com/ -Meta.DisplayImageSource=steam:1024020 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=dayz-experimentalconfig.json -Meta.MetaConfigManifest=dayz-experimentalmetaconfig.json -Meta.ConfigRoot=dayz-experimental.kvp -Meta.MinAMPVersion=2.4.2.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3454?utm_source=ampcreate&utm_content=dayz -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=DayZ (Experimental) -App.RootDir=./dayz/ -App.BaseDirectory=./dayz/1042420/ -App.SteamWorkshopDownloadLocation={{$FullBaseDir}} -App.ExecutableWin=1042420\DayZServer_x64.exe -App.ExecutableLinux=1042420/DayZServer -App.WorkingDir=1042420 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} "-profiles={{$FullBaseDir}}DayZServerData" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=serverDZ.cfg -dologs -adminlog -freezeCheck -ip={{$ApplicationIPBinding}} {{$FormattedArgs}} {{filePatching}}{{EnableLimitFPS}}"{{CustomServerArgs}}" -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1024020"} -App.CommandLineParameterFormat="-{0}={1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=#shutdown -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":2302,"Offset":0,"Range":1,"Ref":"GamePort","Name":"Game Port","Description":"Main game port used by the server","ChildPorts":null},{"Protocol":"UDP","Port":2303,"Offset":0,"Range":1,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port","ChildPorts":null},{"Protocol":"UDP","Port":2304,"Offset":0,"Range":1,"Ref":"BattlEyePort","Name":"BattlEye Port","Description":"Port for BattlEye traffic","ChildPorts":null},{"Protocol":"UDP","Port":27016,"Offset":0,"Range":1,"Ref":"QueryPort","Name":"Steam Query Port","Description":"Port used for Steam queries","ChildPorts":null},{"Protocol":"UDP","Port":2305,"Offset":0,"Range":1,"Ref":"RCONPort","Name":"RCON Port","Description":"Port used for RCON","ChildPorts":null}] -App.AdminPortRef=RCONPort -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=60 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=True -App.RemoteAdminPassword= -App.AdminMethod=BattlEyeRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=15 -App.RCONConnectRetrySeconds=15 -App.RCONHeartbeatMinutes=0.5 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[dayz-experimentalupdates.json] -App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -f {{$FullBaseDir}}battleye/beserver_x64_active_*.cfg'"},{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=True -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=^((WARNING|ERROR): Shader.+|Unknown command)$ -Console.AppReadyRegex=^RCon admin #\d+ \([\d\.:]+\) logged in$ -Console.UserJoinRegex=^Player #(?<sessionid>\d+?) (?<username>.+?) \((?<endpoint>.+?):(?:\d+)\) connected$ -Console.UserLeaveRegex=^Player #(?<sessionid>\d+?) (?<username>.+?) disconnected$ -Console.UserChatRegex=^$ -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/dayz-experimentalconfig.json b/dayz-experimentalconfig.json deleted file mode 100644 index 8de3f34c8..000000000 --- a/dayz-experimentalconfig.json +++ /dev/null @@ -1,954 +0,0 @@ -[ - { - "DisplayName":"Steam Query Port", - "Category":"DayZ Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"steamQueryPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"DayZ Server Settings", - "Description":"Sets the server name visible in the game browser", - "Keywords":"server,name,hostname", - "FieldName":"hostname", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"hostname", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered DayZ Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"DayZ Server Settings", - "Description":"Sets the password required to connect to the server. Default is no password", - "Keywords":"server,password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"DayZ Server Settings", - "Description":"Sets the password required for admin access to the server. Default is no password", - "Keywords":"server,admin,passwordadmin", - "FieldName":"passwordAdmin", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"passwordAdmin", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"DayZ Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password", - "FieldName":"RCONPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RCONPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Message Of The Day", - "Category":"DayZ Server Settings", - "Description":"Sets the player welcome message (MOTD). Format is \"Line1\",\"Line2\"", - "Keywords":"motd,welcome,message", - "FieldName":"motd", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"motd", - "IncludeInCommandLine":false, - "DefaultValue":"\"Welcome to DayZ\",\"Hosted using AMP by CubeCoders\"", - "EnumValues":{} - }, - { - "DisplayName":"MOTD Interval", - "Category":"DayZ Server Settings", - "Description":"Sets the time interval between between display of each line of the MOTD", - "Keywords":"motd,message,delay,interval,motdinterval", - "FieldName":"motdInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"motdInterval", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Whitelist", - "Category":"DayZ Server Settings", - "Description":"If set, enables the server whitelist. Enter Player IDs under \"Whitelisted Players\"", - "Keywords":"whitelist,userlist,allowlist,enablewhitelist", - "FieldName":"enableWhitelist", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"enableWhitelist", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Whitelisted Players", - "Category":"DayZ Server Settings", - "Description":"Sets a list of whitelisted Player IDs (44 characters long ID), which can be found in the admin log file (.ADM). Comments can be added after two forward slashes. Example: 1111111111112222222222222333333333XXXXXXAAAA //Bilbo Baggins", - "FieldName":"AdminPlayers", - - "InputType":"list", - "Special":"listfile:./dayz/1042420/whitelist.txt" - }, - { - "DisplayName":"Banned Players", - "Category":"DayZ Server Settings", - "Description":"Sets a list of banned Player IDs, in the same format as Whitelisted Players. These bans are separate to BattlEye bans", - "FieldName":"BanPlayers", - - "InputType":"list", - "Special":"listfile:./dayz/1042420/ban.txt" - }, - { - "DisplayName":"Instance ID", - "Category":"DayZ Server Settings", - "Description":"Sets the DayZ server instance ID, to identify the number of instances per box and their storage folders with persistence files", - "Keywords":"instance,id,instanceid", - "FieldName":"instanceId", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"instanceId", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Server Mission", - "Category":"DayZ Server Settings", - "Description":"Sets the mission to load on server startup. If Custom is selected, the \"Custom Mission Name\" must also be specified", - "Keywords":"mission,terrain,template", - "FieldName":"template", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"template", - "IncludeInCommandLine":false, - "DefaultValue":"dayzOffline.chernarusplus", - "EnumValues":{ - "dayzOffline.chernarusplus":"Vanilla - Chernarus Plus (default)", - "dayzOffline.enoch":"DLC - Enoch", - "{{customTemplate}}":"Custom" - } - }, - { - "DisplayName":"Custom Mission Name", - "Category":"DayZ Server Settings", - "Description":"Sets a custom mission to load on startup. Format is <MissionName>.<TerrainName>. The Custom mission type must be selected under \"Server Mission\"", - "Keywords":"mission,terrain,template,customtemplate", - "FieldName":"customTemplate", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"customTemplate", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"Expansion.ChenarusPlus", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"DayZ Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at one time", - "Keywords":"maximum,players,clients,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"maxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Login Queue Limit", - "Category":"DayZ Server Settings", - "Description":"Sets the maximum number of players that can wait in the server login queue", - "Keywords":"login,queue,loginqueuemaxplayers", - "FieldName":"loginQueueMaxPlayers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"loginQueueMaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"500", - "Placeholder":"500", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Login Queue Concurrent Players", - "Category":"DayZ Server Settings", - "Description":"Sets the number of players concurrently processed during the login process, to prevent a performance drop when many people are connecting at the same time", - "Keywords":"login,queue,loginqueueconcurrentplayers", - "FieldName":"loginQueueConcurrentPlayers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"loginQueueConcurrentPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Load Mods", - "Category":"DayZ Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", - "Keywords":"mods,addons,modding,modification,workshop,plugins,mod", - "FieldName":"mod", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"mod", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Load Server Mods", - "Category":"DayZ Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", - "Keywords":"mods,addons,modding,modification,workshop,plugins,server,servermod", - "FieldName":"serverMod", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"serverMod", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server/RCON IP Binding", - "Category":"DayZ Server Settings", - "Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", - "Keywords":"ip,binding", - "FieldName":"ip", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"ip", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable Server File Patching", - "Category":"DayZ Server Settings", - "Description":"If enabled, allows loading of unpacked data", - "Keywords":"file,patching,filepatching", - "FieldName":"filePatching", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"filePatching", - "IncludeInCommandLine":false, - "DefaultValue":"-filePatching ", - "False":"", - "True":"-filePatching " - }, - { - "DisplayName":"Allow Client File Patching", - "Category":"DayZ Server Settings", - "Description":"If enabled, clients with the \"-filePatching\" launch parameter enabled will be able to connect", - "Keywords":"file,patching,allowfilepatching", - "FieldName":"allowFilePatching", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"allowFilePatching", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Force Same Build", - "Category":"DayZ Server Settings", - "Description":"If enabled, the server will allow connections only by clients with same the build version as the server", - "Keywords":"version,build,forcesamebuild", - "FieldName":"forceSameBuild", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"forceSameBuild", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable FPS Limit", - "Category":"DayZ Server Settings", - "Description":"If enabled, the server FPS will be limited to the value set under \"FPS Limit Value\". Disabling this setting can have a severe effect on server performance", - "Keywords":"enable,frames,fps,limitfps", - "FieldName":"EnableLimitFPS", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"EnableLimitFPS", - "IncludeInCommandLine":false, - "DefaultValue":"-limitFPS={{limitFPS}} ", - "EnumValues":{ - "False":"", - "True":"-limitFPS={{limitFPS}} " - } - }, - { - "DisplayName":"FPS Limit Value", - "Category":"DayZ Server Settings", - "Description":"Sets the limit for the server FPS, to lower CPU usage of low population servers. Requires \"Enable FPS Limit\" to be set", - "Keywords":"frames,fps,value,limitfps", - "FieldName":"limitFPS", - "InputType":"number", - "MinValue":"1", - "MaxValue":"200", - "IsFlagArgument":false, - "ParamFieldName":"limitFPS", - "IncludeInCommandLine":false, - "DefaultValue":"200", - "Placeholder":"200", - "Suffix":"fps", - "EnumValues":{} - }, - { - "DisplayName":"FPS Warning Trigger Value", - "Category":"DayZ Server Settings", - "Description":"Sets the server FPS value under which the initial server FPS warning will be triggered", - "Keywords":"frames,fps,warning,trigger,serverfpswarning", - "FieldName":"serverFpsWarning", - "InputType":"number", - "MinValue":"11", - "MaxValue":"200", - "IsFlagArgument":false, - "ParamFieldName":"serverFpsWarning", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "Placeholder":"15", - "Suffix":"fps", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Ping", - "Category":"DayZ Server Settings", - "Description":"Sets the maximum ping value for clients, above which the clients will be kicked", - "Keywords":"ping,maximum,lagging,lag,kick,maxping", - "FieldName":"maxPing", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"maxPing", - "IncludeInCommandLine":false, - "DefaultValue":"500", - "Placeholder":"500", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Ping Initial Warning Trigger Value", - "Category":"DayZ Server Settings", - "Description":"Sets the ping value that will trigger the initial yellow ping warning for clients", - "Keywords":"ping,initial,yellow,warning,trigger,pingwarning", - "FieldName":"pingWarning", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"pingWarning", - "IncludeInCommandLine":false, - "DefaultValue":"200", - "Placeholder":"200", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Ping Critical Warning Trigger Value", - "Category":"DayZ Server Settings", - "Description":"Sets the ping value that will trigger the critical red ping warning for clients", - "Keywords":"ping,critical,red,warning,trigger,pingcritical", - "FieldName":"pingCritical", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"pingCritical", - "IncludeInCommandLine":false, - "DefaultValue":"250", - "Placeholder":"250", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Additional Server Startup Parameters", - "Category":"DayZ Server Settings", - "Description":"Specifies additional startup parameters that are not otherwise set by AMP. Use with care", - "Keywords":"custom,server,arguments,parameters", - "FieldName":"CustomServerArgs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomServerArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"-cpuCount=2", - "EnumValues":{} - }, - { - "DisplayName":"Disable Voice Chat", - "Category":"DayZ Gameplay Settings", - "Description":"If set, players will not be able to use in-game voice chat", - "Keywords":"voice,chat,voicechat,disablevon", - "FieldName":"disableVoN", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableVoN", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Voice Chat Quality", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the voice chat codec quality, the higher the better", - "Keywords":"voice,chat,voicechat,codec,quality,voncodecquality", - "FieldName":"vonCodecQuality", - "InputType":"number", - "MinValue":"0", - "MaxValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"vonCodecQuality", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "EnumValues":{} - }, - { - "DisplayName":"Disable Third Person View", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the third person view for players", - "Keywords":"view,3rd,third,person,camera,disable3rdperson", - "FieldName":"disable3rdPerson", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disable3rdPerson", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Crosshair", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the crosshair for players", - "Keywords":"crosshair,disablecrosshair", - "FieldName":"disableCrosshair", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableCrosshair", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Personal Light", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables personal light for all clients connected to the server", - "Keywords":"light,lighting,flashlight,torch,disablepersonallight", - "FieldName":"disablePersonalLight", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disablePersonalLight", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Darker Nights", - "Category":"DayZ Gameplay Settings", - "Description":"If enabled, nights will be darker on the server", - "Keywords":"light,lighting,dark,night,lightingconfig", - "FieldName":"lightingConfig", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"lightingConfig", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Base Damage", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the damage or destruction of fences and watchtowers", - "Keywords":"disable,base,damage,fence,watchtower,disablebasedamage", - "FieldName":"disableBaseDamage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableBaseDamage", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Container Damage", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the damage or destruction of tents, barrels, wooden crates and seachests", - "Keywords":"disable,container,damage,tent,barrel,crate,seachest,disablecontainerdamage", - "FieldName":"disableContainerDamage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableContainerDamage", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Debug Monitor", - "Category":"DayZ Gameplay Settings", - "Description":"If enabled, the server shows information about the character using a debug window in the corner of the screen", - "Keywords":"debug,monitor,character,information,enabledebugmonitor", - "FieldName":"enableDebugMonitor", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"enableDebugMonitor", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Respawn Dialog", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the respawn dialog (new characters will randomly spawn)", - "Keywords":"disable,respawn,dialog,disablerespawndialog", - "FieldName":"disableRespawnDialog", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableRespawnDialog", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Respawn Time", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the respawn delay before a player is able to get a new character on the server, when the previous one is dead", - "Keywords":"spawn,respawn,time,death,respawntime", - "FieldName":"respawnTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"respawnTime", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Server Time", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the initial in-game time of the server. \"SystemTime\" means the local time of the machine. Or set the time to some value in \"YYYY/MM/DD/HH/MM\" format, e.g \"2015/4/8/17/23\"", - "Keywords":"time,server,systemtime,servertime", - "FieldName":"serverTime", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"serverTime", - "IncludeInCommandLine":false, - "DefaultValue":"SystemTime", - "Placeholder":"SystemTime", - "EnumValues":{} - }, - { - "DisplayName":"Server Time Acceleration", - "Category":"DayZ Gameplay Settings", - "Description":"Sets a multiplier (0.1-64) for server time acceleration or deceleration. For example, if set to 24, time would move 24 times faster than normal, and an entire day would pass in one hour", - "Keywords":"time,server,daytime,cycle,servertime,servertimeacceleration", - "FieldName":"serverTimeAcceleration", - "InputType":"number", - "MinValue":"0", - "MaxValue":"64", - "IsFlagArgument":false, - "ParamFieldName":"serverTimeAcceleration", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Server Night Time Acceleration", - "Category":"DayZ Gameplay Settings", - "Description":"Sets a multiplier (0.1-64) for server night time acceleration or deceleration, which is combined with the \"Server Time Acceleration\" multiplier. For example, if set to 4 and Server Time Acceleration is set to 2, night time would move 8 times faster than normal", - "Keywords":"time,server,nighttime,cycle,servertime,servernighttimeacceleration", - "FieldName":"serverNightTimeAcceleration", - "InputType":"number", - "MinValue":"0", - "MaxValue":"64", - "IsFlagArgument":false, - "ParamFieldName":"serverNightTimeAcceleration", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Persistent Server Time", - "Category":"DayZ Gameplay Settings", - "Description":"If enabled, the actual server time is saved to storage, so the next server start will use the saved time value", - "Keywords":"time,servertime,persistent,servertimepersistent", - "FieldName":"serverTimePersistent", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"serverTimePersistent", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Maximum Terrain Render Distance", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the maximum terrain render distance on the server (if higher than \"viewDistance=\" in a client profile, the client side parameter applies)", - "Keywords":"maximum,terrain,render,distance,visibility,defaultVisibility", - "FieldName":"defaultVisibility", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"defaultVisibility", - "IncludeInCommandLine":false, - "DefaultValue":"1375", - "Placeholder":"1375", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Object Render Distance", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the maximum object render distance on the server (if higher than \"preferredObjectViewDistance=\" in a client profile, the client side parameter applies)", - "Keywords":"maximum,object,render,distance,visibility,defaultObjectViewDistance", - "FieldName":"defaultObjectViewDistance", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"defaultObjectViewDistance", - "IncludeInCommandLine":false, - "DefaultValue":"1375", - "Placeholder":"1375", - "EnumValues":{} - }, - { - "DisplayName":"Enable Gameplay Settings File", - "Category":"DayZ Gameplay Settings", - "Description":"If enabled, allows the use of cfggameplay.json to modify [gameplay settings](https://community.bistudio.com/wiki/DayZ:Gameplay_Settings)", - "Keywords":"gameplay,settings,file,cfggameplay,enablecfggameplayfile", - "FieldName":"enableCfgGameplayFile", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"enableCfgGameplayFile", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Storage Auto Fix", - "Category":"DayZ Misc Settings", - "Description":"If enabled, checks if the persistence files are corrupted and replaces corrupted ones with empty ones", - "Keywords":"storage,fix,persistence,storageautofix", - "FieldName":"storageAutoFix", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"storageAutoFix", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Player Simulation Limit", - "Category":"DayZ Misc Settings", - "Description":"Sets the limit on how much players can be simulated per frame (for server performance gains)", - "Keywords":"player,simulation,limit,simulatedPlayersBatch", - "FieldName":"simulatedPlayersBatch", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"simulatedPlayersBatch", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "EnumValues":{} - }, - { - "DisplayName":"Enable Multi-Threaded Replication", - "Category":"DayZ Misc Settings", - "Description":"If set, enables multi-threaded processing of the server's replication system. The number of worker threads is derived by the \"maxcores\" and \"reservedcores\" parameters for jobsystem in dayzsettings.xml", - "Keywords":"multi,threaded,replication,multithreadedreplication", - "FieldName":"multithreadedReplication", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"multithreadedReplication", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Speed Hack Detection Level", - "Category":"DayZ Misc Settings", - "Description":"Sets the speed back detection level. 1 = strict, 10 = benevolent", - "Keywords":"speed,hack,detection,level,speedhackdetection", - "FieldName":"speedhackDetection", - "InputType":"number", - "MinValue":"1", - "MaxValue":"10", - "IsFlagArgument":false, - "ParamFieldName":"speedhackDetection", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Close Object Spawn Distance", - "Category":"DayZ Misc Settings", - "Description":"Sets the network bubble distance for spawn of close objects with items in them (such as backpacks)", - "Keywords":"network,bubble,distance,spawn,close,objects,networkrangeclose", - "FieldName":"networkRangeClose", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"networkRangeClose", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"metres", - "EnumValues":{} - }, - { - "DisplayName":"Near Object Spawn Distance", - "Category":"DayZ Misc Settings", - "Description":"Sets the network bubble distance for spawn (despawn +10%) of near inventory item objects", - "Keywords":"network,bubble,distance,spawn,near,inventory,objects,networkrangenear", - "FieldName":"networkRangeNear", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"networkRangeNear", - "IncludeInCommandLine":false, - "DefaultValue":"150", - "Placeholder":"150", - "Suffix":"metres", - "EnumValues":{} - }, - { - "DisplayName":"Far Object Spawn Distance", - "Category":"DayZ Misc Settings", - "Description":"Sets the network bubble distance for spawn (despawn +10%) of far objects (other than inventory items)", - "Keywords":"network,bubble,distance,spawn,far,objects,networkrangefar", - "FieldName":"networkRangeFar", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"networkRangeFar", - "IncludeInCommandLine":false, - "DefaultValue":"1000", - "Placeholder":"1000", - "Suffix":"metres", - "EnumValues":{} - }, - { - "DisplayName":"Effects Spawn Distance", - "Category":"DayZ Misc Settings", - "Description":"Sets the network bubble distance for spawn of effects (curently only sound effects)", - "Keywords":"network,bubble,distance,spawn,effects,networkrangedistanteffect", - "FieldName":"networkRangeDistantEffect", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"networkRangeDistantEffect", - "IncludeInCommandLine":false, - "DefaultValue":"4000", - "Placeholder":"4000", - "Suffix":"metres", - "EnumValues":{} - }, - { - "DisplayName":"Log Time Stamp Format", - "Category":"DayZ Misc Settings", - "Description":"Sets the format of the time stamps used in the .RPT log file", - "Keywords":"log,time,stamp,format,timestampformat", - "FieldName":"timeStampFormat", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"timeStampFormat", - "IncludeInCommandLine":false, - "DefaultValue":"Short", - "EnumValues":{ - "Short":"Short (default)", - "Full":"Full" - } - }, - { - "DisplayName":"Log Server FPS", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs the average server FPS", - "Keywords":"log,average,fps,logaveragefps", - "FieldName":"logAverageFps", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"logAverageFps", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Server Memory", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs the server memory usage", - "Keywords":"log,memory,usage,logmemory", - "FieldName":"logMemory", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"logMemory", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Player Count", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs the count of currently connected players", - "Keywords":"log,connected,players,logplayers", - "FieldName":"logPlayers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"logPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Player Hits Only", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs player hits only, instead of all hits, in the admin log", - "Keywords":"log,player,hits,only,adminlogplayerhitsonly", - "FieldName":"adminLogPlayerHitsOnly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"adminLogPlayerHitsOnly", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Placement Actions", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs placement actions such as traps and tents, in the admin log", - "Keywords":"log,placement,action,adminlogplacement", - "FieldName":"adminLogPlacement", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"adminLogPlacement", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Basebuilding Actions", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs basebuilding actions (build, dismantle, destroy), in the admin log", - "Keywords":"log,basebuilding,building,action,adminlogbuildactions", - "FieldName":"adminLogBuildActions", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"adminLogBuildActions", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Player Position List", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs the position of players every 5 minutes, in the admin log", - "Keywords":"log,adminlogplayerlist", - "FieldName":"adminLogPlayerList", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"adminLogPlayerList", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - } -] \ No newline at end of file diff --git a/dayz-experimentalconvertmods.sh b/dayz-experimentalconvertmods.sh deleted file mode 100644 index fca9e584a..000000000 --- a/dayz-experimentalconvertmods.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -find ./dayz/1042420/steamapps/workshop/content/221100/ -depth -name "*[A-Z]*" -print0 |\ - xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"" -exit 0 \ No newline at end of file diff --git a/dayz-experimentalmetaconfig.json b/dayz-experimentalmetaconfig.json deleted file mode 100644 index 5c94b0e3c..000000000 --- a/dayz-experimentalmetaconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -[ - { - "ConfigFile":"./serverDZ.cfg", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"./dayz/1042420/AMP_serverDZ.cfg" - }, - { - "ConfigFile":"./battleye/beserver_x64.cfg", - "ConfigType":"kvp", - "ConfigFormat":"{0} {1}", - "Subsections":[ - { - "Heading":"$root", - "SettingMappings":{ - "RConPassword":"$RemoteAdminPassword", - "RConPort":"$RCONPort", - "RConIP":"$ApplicationIPBinding", - "RestrictRCon":"0" - } - } - ] - } -] \ No newline at end of file diff --git a/dayz-experimentalmodscript.sh b/dayz-experimentalmodscript.sh deleted file mode 100644 index 07b951067..000000000 --- a/dayz-experimentalmodscript.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -find ./dayz/1042420/steamapps/workshop/content/221100/ -depth -name "*[A-Z]*" -print0 |\ - xargs -0 -I {} bash -c "mv \"{}\" \"\`echo \"{}\" | sed 's,\(.*\)\/\(.*\),\1\/\L\2,'\`\"";\ - cd ./dayz/1042420 &&\ - find ./steamapps/workshop/content/221100 -maxdepth 1 -mindepth 1 -type d -exec ln -sf -t ./ {} + -exit 0 \ No newline at end of file diff --git a/dayz-experimentalserver.cfg b/dayz-experimentalserver.cfg deleted file mode 100644 index 07b3fb918..000000000 --- a/dayz-experimentalserver.cfg +++ /dev/null @@ -1,78 +0,0 @@ -// DO NOT edit serverDZ.cfg directly -// AMP_serverDZ.cfg controls serverDZ.cfg. Edit AMP_serverDZ.cfg if you want to add certain settings -// NOTE: -// - Do not change values in double curly braces, ie {{}}. They are set either via the AMP UI -// or are controlled by AMP itself (in particular, ports) -// - Other settings can be added as needed - see the second section below - -// Full information on settings is available at https://community.bistudio.com/wiki/DayZ:Server_Configuration - -// ******* -// SETTINGS CONTROLLED BY AMP - DO NOT TOUCH THESE!!! -// ******* -hostname = "{{hostname}}"; -password = "{{password}}"; -passwordAdmin = "{{passwordAdmin}}"; -enableWhitelist = {{enableWhitelist}}; -maxPlayers = {{maxPlayers}}; -verifySignatures = 2; // Verifies .pbos against .bisign files (only 2 is supported) -forceSameBuild = {{forceSameBuild}}; -disableVoN = {{disableVoN}}; -vonCodecQuality = {{vonCodecQuality}}; -disable3rdPerson = {{disable3rdPerson}}; -disableCrosshair = {{disableCrosshair}}; -serverTime = "{{serverTime}}"; -serverTimeAcceleration = {{serverTimeAcceleration}}; -serverNightTimeAcceleration = {{serverNightTimeAcceleration}}; -serverTimePersistent = {{serverTimePersistent}}; -guaranteedUpdates = 1; // Communication protocol used with game server (use only number 1) -loginQueueConcurrentPlayers = {{loginQueueConcurrentPlayers}}; -loginQueueMaxPlayers = {{loginQueueMaxPlayers}}; -instanceId = {{instanceId}}; -storageAutoFix = {{storageAutoFix}}; -class Missions -{ - class DayZ - { - template = "{{template}}"; - }; -}; -respawnTime = {{respawnTime}}; -motd[] = { {{motd}} }; -motdInterval = {{motdInterval}}; -timeStampFormat = "{{timeStampFormat}}"; -logAverageFps = {{logAverageFps}}; -logMemory = {{logMemory}}; -logPlayers = {{logPlayers}}; -logFile = "server_console.log"; -adminLogPlayerHitsOnly = {{adminLogPlayerHitsOnly}}; -adminLogPlacement = {{adminLogPlacement}}; -adminLogBuildActions = {{adminLogBuildActions}}; -adminLogPlayerList = {{adminLogPlayerList}}; -enableDebugMonitor = {{enableDebugMonitor}}; -steamQueryPort = {{steamQueryPort}}; -allowFilePatching = {{allowFilePatching}}; -simulatedPlayersBatch = {{simulatedPlayersBatch}}; -multithreadedReplication = {{multithreadedReplication}}; -speedhackDetection = {{speedhackDetection}}; -networkRangeClose = {{networkRangeClose}}; -networkRangeNear = {{networkRangeNear}}; -networkRangeFar = {{networkRangeFar}}; -networkRangeDistantEffect = {{networkRangeDistantEffect}}; -defaultVisibility = {{defaultVisibility}}; -defaultObjectViewDistance = {{defaultObjectViewDistance}}; -lightingConfig = {{lightingConfig}}; -disablePersonalLight = {{disablePersonalLight}}; -disableBaseDamage = {{disableBaseDamage}}; -disableContainerDamage = {{disableContainerDamage}}; -disableRespawnDialog = {{disableRespawnDialog}}; -pingWarning = {{pingWarning}}; -pingCritical = {{pingCritical}}; -maxPing = {{maxPing}}; -serverFpsWarning = {{serverFpsWarning}}; -enableCfgGameplayFile = {{enableCfgGameplayFile}}; - -// ******* -// USER CONFIGURABLE SETTINGS - ADD ADDITIONAL SETTINGS HERE -// ******* - diff --git a/dayz-experimentalupdates.json b/dayz-experimentalupdates.json deleted file mode 100644 index 5ca4a0ce3..000000000 --- a/dayz-experimentalupdates.json +++ /dev/null @@ -1,35 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1042420", - "UpdateSourceArgs":"221100", - "UpdateSourceTarget":"{{$FullBaseDir}}" - }, - { - "UpdateStageName":"Config Template Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "OverwriteExistingFiles":false, - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-experimentalserver.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceArgs":"AMP_serverDZ.cfg" - }, - { - "UpdateStageName":"Modscript Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-experimentalconvertmods.sh", - "UpdateSourceArgs":"convertmods.sh", - "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Convert Mods", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"./convertmods.sh" - } -] \ No newline at end of file diff --git a/dayz-original.kvp b/dayz-original.kvp deleted file mode 100644 index 63c42b27d..000000000 --- a/dayz-original.kvp +++ /dev/null @@ -1,91 +0,0 @@ -Meta.DisplayName=DayZ (Original) -Meta.Description=DayZ (Original) Dedicated Server -Meta.OS=Windows -Meta.Arch=x86_64 -Meta.Author=Greelan, Aperture Development, IceOfWraith -Meta.URL=https://dayz.com/ -Meta.DisplayImageSource=steam:221100 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=dayz-originalconfig.json -Meta.MetaConfigManifest=dayz-originalmetaconfig.json -Meta.ConfigRoot=dayz-original.kvp -Meta.MinAMPVersion=2.4.2.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3454?utm_source=ampcreate&utm_content=dayz -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=DayZ (Original) -App.RootDir=./dayz/ -App.BaseDirectory=./dayz/223350/ -App.ExecutableWin=223350\DayZServer_x64.exe -App.ExecutableLinux= -App.WorkingDir=223350 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} "-profiles={{$FullBaseDir}}DayZServerData" "-bepath={{$FullBaseDir}}battleye" -port={{$GamePort}} -config=serverDZ.cfg -dologs -adminlog -freezeCheck -ip={{$ApplicationIPBinding}} {{$FormattedArgs}} {{filePatching}}{{EnableLimitFPS}}"{{CustomServerArgs}}" -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"221100"} -App.CommandLineParameterFormat="-{0}={1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=#shutdown -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":2302,"Offset":0,"Range":1,"Ref":"GamePort","Name":"Game Port","Description":"Main game port used by the server","ChildPorts":null},{"Protocol":"UDP","Port":2303,"Offset":0,"Range":1,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port","ChildPorts":null},{"Protocol":"UDP","Port":2304,"Offset":0,"Range":1,"Ref":"BattlEyePort","Name":"BattlEye Port","Description":"Port for BattlEye traffic","ChildPorts":null},{"Protocol":"UDP","Port":27016,"Offset":0,"Range":1,"Ref":"QueryPort","Name":"Steam Query Port","Description":"Port used for Steam queries","ChildPorts":null},{"Protocol":"UDP","Port":2305,"Offset":0,"Range":1,"Ref":"RCONPort","Name":"RCON Port","Description":"Port used for RCON","ChildPorts":null}] -App.AdminPortRef=RCONPort -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=60 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=True -App.RemoteAdminPassword= -App.AdminMethod=BattlEyeRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=15 -App.RCONConnectRetrySeconds=15 -App.RCONHeartbeatMinutes=0.5 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[dayz-originalupdates.json] -App.PreStartStages=[{"UpdateStageName":"Delete Active File","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}battleye\\beserver_x64_active_*.cfg"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=True -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=^((WARNING|ERROR): Shader.+|Unknown command)$ -Console.AppReadyRegex=^RCon admin #\d+ \([\d\.:]+\) logged in$ -Console.UserJoinRegex=^Player #(?<sessionid>\d+?) (?<username>.+?) \((?<endpoint>.+?):(?:\d+)\) connected$ -Console.UserLeaveRegex=^Player #(?<sessionid>\d+?) (?<username>.+?) disconnected$ -Console.UserChatRegex=^$ -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/dayz-originalconfig.json b/dayz-originalconfig.json deleted file mode 100644 index 6e21f94b6..000000000 --- a/dayz-originalconfig.json +++ /dev/null @@ -1,954 +0,0 @@ -[ - { - "DisplayName":"Steam Query Port", - "Category":"DayZ Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"steamQueryPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"DayZ Server Settings", - "Description":"Sets the server name visible in the game browser", - "Keywords":"server,name,hostname", - "FieldName":"hostname", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"hostname", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered DayZ Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"DayZ Server Settings", - "Description":"Sets the password required to connect to the server. Default is no password", - "Keywords":"server,password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"DayZ Server Settings", - "Description":"Sets the password required for admin access to the server. Default is no password", - "Keywords":"server,admin,passwordadmin", - "FieldName":"passwordAdmin", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"passwordAdmin", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"DayZ Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password", - "FieldName":"RCONPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RCONPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Message Of The Day", - "Category":"DayZ Server Settings", - "Description":"Sets the player welcome message (MOTD). Format is \"Line1\",\"Line2\"", - "Keywords":"motd,welcome,message", - "FieldName":"motd", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"motd", - "IncludeInCommandLine":false, - "DefaultValue":"\"Welcome to DayZ\",\"Hosted using AMP by CubeCoders\"", - "EnumValues":{} - }, - { - "DisplayName":"MOTD Interval", - "Category":"DayZ Server Settings", - "Description":"Sets the time interval between between display of each line of the MOTD", - "Keywords":"motd,message,delay,interval,motdinterval", - "FieldName":"motdInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"motdInterval", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Whitelist", - "Category":"DayZ Server Settings", - "Description":"If set, enables the server whitelist. Enter Player IDs under \"Whitelisted Players\"", - "Keywords":"whitelist,userlist,allowlist,enablewhitelist", - "FieldName":"enableWhitelist", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"enableWhitelist", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Whitelisted Players", - "Category":"DayZ Server Settings", - "Description":"Sets a list of whitelisted Player IDs (44 characters long ID), which can be found in the admin log file (.ADM). Comments can be added after two forward slashes. Example: 1111111111112222222222222333333333XXXXXXAAAA //Bilbo Baggins", - "FieldName":"AdminPlayers", - - "InputType":"list", - "Special":"listfile:./dayz/223350/whitelist.txt" - }, - { - "DisplayName":"Banned Players", - "Category":"DayZ Server Settings", - "Description":"Sets a list of banned Player IDs, in the same format as Whitelisted Players. These bans are separate to BattlEye bans", - "FieldName":"BanPlayers", - - "InputType":"list", - "Special":"listfile:./dayz/223350/ban.txt" - }, - { - "DisplayName":"Instance ID", - "Category":"DayZ Server Settings", - "Description":"Sets the DayZ server instance ID, to identify the number of instances per box and their storage folders with persistence files", - "Keywords":"instance,id,instanceid", - "FieldName":"instanceId", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"instanceId", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Server Mission", - "Category":"DayZ Server Settings", - "Description":"Sets the mission to load on server startup. If Custom is selected, the \"Custom Mission Name\" must also be specified", - "Keywords":"mission,terrain,template", - "FieldName":"template", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"template", - "IncludeInCommandLine":false, - "DefaultValue":"dayzOffline.chernarusplus", - "EnumValues":{ - "dayzOffline.chernarusplus":"Vanilla - Chernarus Plus (default)", - "dayzOffline.enoch":"DLC - Enoch", - "{{customTemplate}}":"Custom" - } - }, - { - "DisplayName":"Custom Mission Name", - "Category":"DayZ Server Settings", - "Description":"Sets a custom mission to load on startup. Format is <MissionName>.<TerrainName>. The Custom mission type must be selected under \"Server Mission\"", - "Keywords":"mission,terrain,template,customtemplate", - "FieldName":"customTemplate", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"customTemplate", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"Expansion.ChenarusPlus", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"DayZ Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at one time", - "Keywords":"maximum,players,clients,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"maxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Login Queue Limit", - "Category":"DayZ Server Settings", - "Description":"Sets the maximum number of players that can wait in the server login queue", - "Keywords":"login,queue,loginqueuemaxplayers", - "FieldName":"loginQueueMaxPlayers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"loginQueueMaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"500", - "Placeholder":"500", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Login Queue Concurrent Players", - "Category":"DayZ Server Settings", - "Description":"Sets the number of players concurrently processed during the login process, to prevent a performance drop when many people are connecting at the same time", - "Keywords":"login,queue,loginqueueconcurrentplayers", - "FieldName":"loginQueueConcurrentPlayers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"loginQueueConcurrentPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Load Mods", - "Category":"DayZ Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of mod directories to load (not server-side only mods). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", - "Keywords":"mods,addons,modding,modification,workshop,plugins,mod", - "FieldName":"mod", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"mod", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Load Server Mods", - "Category":"DayZ Server Settings", - "Description":"Semi-colon separated list (moddir1;moddir2) of server-side only mod directories to load (the mods are not broadcast to clients). ONE LINE ONLY! Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. Otherwise, use mod directory paths relative to the server base directory or full paths", - "Keywords":"mods,addons,modding,modification,workshop,plugins,server,servermod", - "FieldName":"serverMod", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"serverMod", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server/RCON IP Binding", - "Category":"DayZ Server Settings", - "Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", - "Keywords":"ip,binding", - "FieldName":"ip", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"ip", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable Server File Patching", - "Category":"DayZ Server Settings", - "Description":"If enabled, allows loading of unpacked data", - "Keywords":"file,patching,filepatching", - "FieldName":"filePatching", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"filePatching", - "IncludeInCommandLine":false, - "DefaultValue":"-filePatching ", - "False":"", - "True":"-filePatching " - }, - { - "DisplayName":"Allow Client File Patching", - "Category":"DayZ Server Settings", - "Description":"If enabled, clients with the \"-filePatching\" launch parameter enabled will be able to connect", - "Keywords":"file,patching,allowfilepatching", - "FieldName":"allowFilePatching", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"allowFilePatching", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Force Same Build", - "Category":"DayZ Server Settings", - "Description":"If enabled, the server will allow connections only by clients with same the build version as the server", - "Keywords":"version,build,forcesamebuild", - "FieldName":"forceSameBuild", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"forceSameBuild", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable FPS Limit", - "Category":"DayZ Server Settings", - "Description":"If enabled, the server FPS will be limited to the value set under \"FPS Limit Value\". Disabling this setting can have a severe effect on server performance", - "Keywords":"enable,frames,fps,limitfps", - "FieldName":"EnableLimitFPS", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"EnableLimitFPS", - "IncludeInCommandLine":false, - "DefaultValue":"-limitFPS={{limitFPS}} ", - "EnumValues":{ - "False":"", - "True":"-limitFPS={{limitFPS}} " - } - }, - { - "DisplayName":"FPS Limit Value", - "Category":"DayZ Server Settings", - "Description":"Sets the limit for the server FPS, to lower CPU usage of low population servers. Requires \"Enable FPS Limit\" to be set", - "Keywords":"frames,fps,value,limitfps", - "FieldName":"limitFPS", - "InputType":"number", - "MinValue":"1", - "MaxValue":"200", - "IsFlagArgument":false, - "ParamFieldName":"limitFPS", - "IncludeInCommandLine":false, - "DefaultValue":"200", - "Placeholder":"200", - "Suffix":"fps", - "EnumValues":{} - }, - { - "DisplayName":"FPS Warning Trigger Value", - "Category":"DayZ Server Settings", - "Description":"Sets the server FPS value under which the initial server FPS warning will be triggered", - "Keywords":"frames,fps,warning,trigger,serverfpswarning", - "FieldName":"serverFpsWarning", - "InputType":"number", - "MinValue":"11", - "MaxValue":"200", - "IsFlagArgument":false, - "ParamFieldName":"serverFpsWarning", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "Placeholder":"15", - "Suffix":"fps", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Ping", - "Category":"DayZ Server Settings", - "Description":"Sets the maximum ping value for clients, above which the clients will be kicked", - "Keywords":"ping,maximum,lagging,lag,kick,maxping", - "FieldName":"maxPing", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"maxPing", - "IncludeInCommandLine":false, - "DefaultValue":"500", - "Placeholder":"500", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Ping Initial Warning Trigger Value", - "Category":"DayZ Server Settings", - "Description":"Sets the ping value that will trigger the initial yellow ping warning for clients", - "Keywords":"ping,initial,yellow,warning,trigger,pingwarning", - "FieldName":"pingWarning", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"pingWarning", - "IncludeInCommandLine":false, - "DefaultValue":"200", - "Placeholder":"200", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Ping Critical Warning Trigger Value", - "Category":"DayZ Server Settings", - "Description":"Sets the ping value that will trigger the critical red ping warning for clients", - "Keywords":"ping,critical,red,warning,trigger,pingcritical", - "FieldName":"pingCritical", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"pingCritical", - "IncludeInCommandLine":false, - "DefaultValue":"250", - "Placeholder":"250", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Additional Server Startup Parameters", - "Category":"DayZ Server Settings", - "Description":"Specifies additional startup parameters that are not otherwise set by AMP. Use with care", - "Keywords":"custom,server,arguments,parameters", - "FieldName":"CustomServerArgs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomServerArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"-cpuCount=2", - "EnumValues":{} - }, - { - "DisplayName":"Disable Voice Chat", - "Category":"DayZ Gameplay Settings", - "Description":"If set, players will not be able to use in-game voice chat", - "Keywords":"voice,chat,voicechat,disablevon", - "FieldName":"disableVoN", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableVoN", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Voice Chat Quality", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the voice chat codec quality, the higher the better", - "Keywords":"voice,chat,voicechat,codec,quality,voncodecquality", - "FieldName":"vonCodecQuality", - "InputType":"number", - "MinValue":"0", - "MaxValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"vonCodecQuality", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "EnumValues":{} - }, - { - "DisplayName":"Disable Third Person View", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the third person view for players", - "Keywords":"view,3rd,third,person,camera,disable3rdperson", - "FieldName":"disable3rdPerson", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disable3rdPerson", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Crosshair", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the crosshair for players", - "Keywords":"crosshair,disablecrosshair", - "FieldName":"disableCrosshair", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableCrosshair", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Personal Light", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables personal light for all clients connected to the server", - "Keywords":"light,lighting,flashlight,torch,disablepersonallight", - "FieldName":"disablePersonalLight", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disablePersonalLight", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Darker Nights", - "Category":"DayZ Gameplay Settings", - "Description":"If enabled, nights will be darker on the server", - "Keywords":"light,lighting,dark,night,lightingconfig", - "FieldName":"lightingConfig", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"lightingConfig", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Base Damage", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the damage or destruction of fences and watchtowers", - "Keywords":"disable,base,damage,fence,watchtower,disablebasedamage", - "FieldName":"disableBaseDamage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableBaseDamage", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Container Damage", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the damage or destruction of tents, barrels, wooden crates and seachests", - "Keywords":"disable,container,damage,tent,barrel,crate,seachest,disablecontainerdamage", - "FieldName":"disableContainerDamage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableContainerDamage", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Debug Monitor", - "Category":"DayZ Gameplay Settings", - "Description":"If enabled, the server shows information about the character using a debug window in the corner of the screen", - "Keywords":"debug,monitor,character,information,enabledebugmonitor", - "FieldName":"enableDebugMonitor", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"enableDebugMonitor", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Respawn Dialog", - "Category":"DayZ Gameplay Settings", - "Description":"If set, disables the respawn dialog (new characters will randomly spawn)", - "Keywords":"disable,respawn,dialog,disablerespawndialog", - "FieldName":"disableRespawnDialog", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableRespawnDialog", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Respawn Time", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the respawn delay before a player is able to get a new character on the server, when the previous one is dead", - "Keywords":"spawn,respawn,time,death,respawntime", - "FieldName":"respawnTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"respawnTime", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Server Time", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the initial in-game time of the server. \"SystemTime\" means the local time of the machine. Or set the time to some value in \"YYYY/MM/DD/HH/MM\" format, e.g \"2015/4/8/17/23\"", - "Keywords":"time,server,systemtime,servertime", - "FieldName":"serverTime", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"serverTime", - "IncludeInCommandLine":false, - "DefaultValue":"SystemTime", - "Placeholder":"SystemTime", - "EnumValues":{} - }, - { - "DisplayName":"Server Time Acceleration", - "Category":"DayZ Gameplay Settings", - "Description":"Sets a multiplier (0.1-64) for server time acceleration or deceleration. For example, if set to 24, time would move 24 times faster than normal, and an entire day would pass in one hour", - "Keywords":"time,server,daytime,cycle,servertime,servertimeacceleration", - "FieldName":"serverTimeAcceleration", - "InputType":"number", - "MinValue":"0", - "MaxValue":"64", - "IsFlagArgument":false, - "ParamFieldName":"serverTimeAcceleration", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Server Night Time Acceleration", - "Category":"DayZ Gameplay Settings", - "Description":"Sets a multiplier (0.1-64) for server night time acceleration or deceleration, which is combined with the \"Server Time Acceleration\" multiplier. For example, if set to 4 and Server Time Acceleration is set to 2, night time would move 8 times faster than normal", - "Keywords":"time,server,nighttime,cycle,servertime,servernighttimeacceleration", - "FieldName":"serverNightTimeAcceleration", - "InputType":"number", - "MinValue":"0", - "MaxValue":"64", - "IsFlagArgument":false, - "ParamFieldName":"serverNightTimeAcceleration", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Persistent Server Time", - "Category":"DayZ Gameplay Settings", - "Description":"If enabled, the actual server time is saved to storage, so the next server start will use the saved time value", - "Keywords":"time,servertime,persistent,servertimepersistent", - "FieldName":"serverTimePersistent", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"serverTimePersistent", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Maximum Terrain Render Distance", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the maximum terrain render distance on the server (if higher than \"viewDistance=\" in a client profile, the client side parameter applies)", - "Keywords":"maximum,terrain,render,distance,visibility,defaultVisibility", - "FieldName":"defaultVisibility", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"defaultVisibility", - "IncludeInCommandLine":false, - "DefaultValue":"1375", - "Placeholder":"1375", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Object Render Distance", - "Category":"DayZ Gameplay Settings", - "Description":"Sets the maximum object render distance on the server (if higher than \"preferredObjectViewDistance=\" in a client profile, the client side parameter applies)", - "Keywords":"maximum,object,render,distance,visibility,defaultObjectViewDistance", - "FieldName":"defaultObjectViewDistance", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"defaultObjectViewDistance", - "IncludeInCommandLine":false, - "DefaultValue":"1375", - "Placeholder":"1375", - "EnumValues":{} - }, - { - "DisplayName":"Enable Gameplay Settings File", - "Category":"DayZ Gameplay Settings", - "Description":"If enabled, allows the use of cfggameplay.json to modify [gameplay settings](https://community.bistudio.com/wiki/DayZ:Gameplay_Settings)", - "Keywords":"gameplay,settings,file,cfggameplay,enablecfggameplayfile", - "FieldName":"enableCfgGameplayFile", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"enableCfgGameplayFile", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Storage Auto Fix", - "Category":"DayZ Misc Settings", - "Description":"If enabled, checks if the persistence files are corrupted and replaces corrupted ones with empty ones", - "Keywords":"storage,fix,persistence,storageautofix", - "FieldName":"storageAutoFix", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"storageAutoFix", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Player Simulation Limit", - "Category":"DayZ Misc Settings", - "Description":"Sets the limit on how much players can be simulated per frame (for server performance gains)", - "Keywords":"player,simulation,limit,simulatedPlayersBatch", - "FieldName":"simulatedPlayersBatch", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"simulatedPlayersBatch", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "EnumValues":{} - }, - { - "DisplayName":"Enable Multi-Threaded Replication", - "Category":"DayZ Misc Settings", - "Description":"If set, enables multi-threaded processing of the server's replication system. The number of worker threads is derived by the \"maxcores\" and \"reservedcores\" parameters for jobsystem in dayzsettings.xml", - "Keywords":"multi,threaded,replication,multithreadedreplication", - "FieldName":"multithreadedReplication", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"multithreadedReplication", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Speed Hack Detection Level", - "Category":"DayZ Misc Settings", - "Description":"Sets the speed back detection level. 1 = strict, 10 = benevolent", - "Keywords":"speed,hack,detection,level,speedhackdetection", - "FieldName":"speedhackDetection", - "InputType":"number", - "MinValue":"1", - "MaxValue":"10", - "IsFlagArgument":false, - "ParamFieldName":"speedhackDetection", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Close Object Spawn Distance", - "Category":"DayZ Misc Settings", - "Description":"Sets the network bubble distance for spawn of close objects with items in them (such as backpacks)", - "Keywords":"network,bubble,distance,spawn,close,objects,networkrangeclose", - "FieldName":"networkRangeClose", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"networkRangeClose", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"metres", - "EnumValues":{} - }, - { - "DisplayName":"Near Object Spawn Distance", - "Category":"DayZ Misc Settings", - "Description":"Sets the network bubble distance for spawn (despawn +10%) of near inventory item objects", - "Keywords":"network,bubble,distance,spawn,near,inventory,objects,networkrangenear", - "FieldName":"networkRangeNear", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"networkRangeNear", - "IncludeInCommandLine":false, - "DefaultValue":"150", - "Placeholder":"150", - "Suffix":"metres", - "EnumValues":{} - }, - { - "DisplayName":"Far Object Spawn Distance", - "Category":"DayZ Misc Settings", - "Description":"Sets the network bubble distance for spawn (despawn +10%) of far objects (other than inventory items)", - "Keywords":"network,bubble,distance,spawn,far,objects,networkrangefar", - "FieldName":"networkRangeFar", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"networkRangeFar", - "IncludeInCommandLine":false, - "DefaultValue":"1000", - "Placeholder":"1000", - "Suffix":"metres", - "EnumValues":{} - }, - { - "DisplayName":"Effects Spawn Distance", - "Category":"DayZ Misc Settings", - "Description":"Sets the network bubble distance for spawn of effects (curently only sound effects)", - "Keywords":"network,bubble,distance,spawn,effects,networkrangedistanteffect", - "FieldName":"networkRangeDistantEffect", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"networkRangeDistantEffect", - "IncludeInCommandLine":false, - "DefaultValue":"4000", - "Placeholder":"4000", - "Suffix":"metres", - "EnumValues":{} - }, - { - "DisplayName":"Log Time Stamp Format", - "Category":"DayZ Misc Settings", - "Description":"Sets the format of the time stamps used in the .RPT log file", - "Keywords":"log,time,stamp,format,timestampformat", - "FieldName":"timeStampFormat", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"timeStampFormat", - "IncludeInCommandLine":false, - "DefaultValue":"Short", - "EnumValues":{ - "Short":"Short (default)", - "Full":"Full" - } - }, - { - "DisplayName":"Log Server FPS", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs the average server FPS", - "Keywords":"log,average,fps,logaveragefps", - "FieldName":"logAverageFps", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"logAverageFps", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Server Memory", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs the server memory usage", - "Keywords":"log,memory,usage,logmemory", - "FieldName":"logMemory", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"logMemory", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Player Count", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs the count of currently connected players", - "Keywords":"log,connected,players,logplayers", - "FieldName":"logPlayers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"logPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Player Hits Only", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs player hits only, instead of all hits, in the admin log", - "Keywords":"log,player,hits,only,adminlogplayerhitsonly", - "FieldName":"adminLogPlayerHitsOnly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"adminLogPlayerHitsOnly", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Placement Actions", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs placement actions such as traps and tents, in the admin log", - "Keywords":"log,placement,action,adminlogplacement", - "FieldName":"adminLogPlacement", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"adminLogPlacement", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Basebuilding Actions", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs basebuilding actions (build, dismantle, destroy), in the admin log", - "Keywords":"log,basebuilding,building,action,adminlogbuildactions", - "FieldName":"adminLogBuildActions", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"adminLogBuildActions", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Log Player Position List", - "Category":"DayZ Misc Settings", - "Description":"If enabled, the server logs the position of players every 5 minutes, in the admin log", - "Keywords":"log,adminlogplayerlist", - "FieldName":"adminLogPlayerList", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"adminLogPlayerList", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - } -] \ No newline at end of file diff --git a/dayz-originalmetaconfig.json b/dayz-originalmetaconfig.json deleted file mode 100644 index 965a676bc..000000000 --- a/dayz-originalmetaconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -[ - { - "ConfigFile":"./serverDZ.cfg", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"./dayz/223350/AMP_serverDZ.cfg" - }, - { - "ConfigFile":"./battleye/beserver_x64.cfg", - "ConfigType":"kvp", - "ConfigFormat":"{0} {1}", - "Subsections":[ - { - "Heading":"$root", - "SettingMappings":{ - "RConPassword":"$RemoteAdminPassword", - "RConPort":"$RCONPort", - "RConIP":"$ApplicationIPBinding", - "RestrictRCon":"0" - } - } - ] - } -] \ No newline at end of file diff --git a/dayz-originalserver.cfg b/dayz-originalserver.cfg deleted file mode 100644 index 07b3fb918..000000000 --- a/dayz-originalserver.cfg +++ /dev/null @@ -1,78 +0,0 @@ -// DO NOT edit serverDZ.cfg directly -// AMP_serverDZ.cfg controls serverDZ.cfg. Edit AMP_serverDZ.cfg if you want to add certain settings -// NOTE: -// - Do not change values in double curly braces, ie {{}}. They are set either via the AMP UI -// or are controlled by AMP itself (in particular, ports) -// - Other settings can be added as needed - see the second section below - -// Full information on settings is available at https://community.bistudio.com/wiki/DayZ:Server_Configuration - -// ******* -// SETTINGS CONTROLLED BY AMP - DO NOT TOUCH THESE!!! -// ******* -hostname = "{{hostname}}"; -password = "{{password}}"; -passwordAdmin = "{{passwordAdmin}}"; -enableWhitelist = {{enableWhitelist}}; -maxPlayers = {{maxPlayers}}; -verifySignatures = 2; // Verifies .pbos against .bisign files (only 2 is supported) -forceSameBuild = {{forceSameBuild}}; -disableVoN = {{disableVoN}}; -vonCodecQuality = {{vonCodecQuality}}; -disable3rdPerson = {{disable3rdPerson}}; -disableCrosshair = {{disableCrosshair}}; -serverTime = "{{serverTime}}"; -serverTimeAcceleration = {{serverTimeAcceleration}}; -serverNightTimeAcceleration = {{serverNightTimeAcceleration}}; -serverTimePersistent = {{serverTimePersistent}}; -guaranteedUpdates = 1; // Communication protocol used with game server (use only number 1) -loginQueueConcurrentPlayers = {{loginQueueConcurrentPlayers}}; -loginQueueMaxPlayers = {{loginQueueMaxPlayers}}; -instanceId = {{instanceId}}; -storageAutoFix = {{storageAutoFix}}; -class Missions -{ - class DayZ - { - template = "{{template}}"; - }; -}; -respawnTime = {{respawnTime}}; -motd[] = { {{motd}} }; -motdInterval = {{motdInterval}}; -timeStampFormat = "{{timeStampFormat}}"; -logAverageFps = {{logAverageFps}}; -logMemory = {{logMemory}}; -logPlayers = {{logPlayers}}; -logFile = "server_console.log"; -adminLogPlayerHitsOnly = {{adminLogPlayerHitsOnly}}; -adminLogPlacement = {{adminLogPlacement}}; -adminLogBuildActions = {{adminLogBuildActions}}; -adminLogPlayerList = {{adminLogPlayerList}}; -enableDebugMonitor = {{enableDebugMonitor}}; -steamQueryPort = {{steamQueryPort}}; -allowFilePatching = {{allowFilePatching}}; -simulatedPlayersBatch = {{simulatedPlayersBatch}}; -multithreadedReplication = {{multithreadedReplication}}; -speedhackDetection = {{speedhackDetection}}; -networkRangeClose = {{networkRangeClose}}; -networkRangeNear = {{networkRangeNear}}; -networkRangeFar = {{networkRangeFar}}; -networkRangeDistantEffect = {{networkRangeDistantEffect}}; -defaultVisibility = {{defaultVisibility}}; -defaultObjectViewDistance = {{defaultObjectViewDistance}}; -lightingConfig = {{lightingConfig}}; -disablePersonalLight = {{disablePersonalLight}}; -disableBaseDamage = {{disableBaseDamage}}; -disableContainerDamage = {{disableContainerDamage}}; -disableRespawnDialog = {{disableRespawnDialog}}; -pingWarning = {{pingWarning}}; -pingCritical = {{pingCritical}}; -maxPing = {{maxPing}}; -serverFpsWarning = {{serverFpsWarning}}; -enableCfgGameplayFile = {{enableCfgGameplayFile}}; - -// ******* -// USER CONFIGURABLE SETTINGS - ADD ADDITIONAL SETTINGS HERE -// ******* - diff --git a/dayz-originalupdates.json b/dayz-originalupdates.json deleted file mode 100644 index 8ac6e82b3..000000000 --- a/dayz-originalupdates.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"223350", - "UpdateSourceArgs":"221100", - "UpdateSourceTarget":"{{$FullBaseDir}}" - }, - { - "UpdateStageName":"Config Template Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "OverwriteExistingFiles":false, - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/dayz-originalserver.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceArgs":"AMP_serverDZ.cfg" - }, - { - "UpdateStageName":"Link Mods", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C cd .\\dayz\\223350 && for /D %G in (.\\steamapps\\workshop\\content\\221100\\*) do mklink /J %~nxG %G" - } -] \ No newline at end of file diff --git a/dont-starve-together.kvp b/dont-starve-together.kvp deleted file mode 100644 index d925a0e4a..000000000 --- a/dont-starve-together.kvp +++ /dev/null @@ -1,42 +0,0 @@ -App.AdminMethod=STDIO -App.ApplicationPort1=11000 -App.ApplicationPort2=8766 -App.ApplicationPort3=27016 -App.RemoteAdminPort=10889 -App.ApplicationReadyMode=Immediate -App.BaseDirectory=./dont-starve-together/343050/ -App.CommandLineArgs=-persistent_storage_root "../dstserver" -conf_dir "dstserver_config" -shard shard {{$FormattedArgs}} -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat=-{0} "{1}" -App.DisplayName=Don't Starve Together -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "322330"} -App.ExecutableLinux=343050/bin/dontstarve_dedicated_server_nullrenderer -App.ExecutableWin=343050\bin\dontstarve_dedicated_server_nullrenderer.exe -App.AppSettings={"console_enabled":"true","encode_user_path":"true"} -App.ExitMethod=String -App.ExitString=c_shutdown(true) -App.HasReadableConsole=true -App.HasWritableConsole=true -App.RapidStartup=false -App.RootDir=./dont-starve-together/ -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "343050"}] -App.WorkingDir=343050/bin -App.EncodeUserPath=true -App.ConsoleEnabled=true -App.MaxUsers=64 -Console.AppReadyRegex= -Console.ThrowawayMessageRegex= -Console.UserChatRegex=^\[\d+:\d+:\d+\]: \[Say\] \(.+\) (?<username>.+?): (?<message>.+?)$ -Console.UserJoinRegex=^\[\d+:\d+:\d+\]: \[Join Announcement\] (?<username>.+?)$ -Console.UserLeaveRegex=^\[\d+:\d+:\d+\]: \[Leave Announcement\] (?<username>.+?)$ -Meta.Author=IceOfWraith -Meta.ConfigManifest=dont-starve-togetherconfig.json -Meta.MetaConfigManifest=dont-starve-togethermetaconfig.json -Meta.ConfigRoot=dont-starve-together.kvp -Meta.Description= -Meta.DisplayImageSource=steam:322330 -Meta.DisplayName=Don't Starve Together -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} -Meta.OS=3 -Meta.URL=https://store.steampowered.com/app/322330/Dont_Starve_Together/ \ No newline at end of file diff --git a/dont-starve-togetherconfig.json b/dont-starve-togetherconfig.json deleted file mode 100644 index e7a23e169..000000000 --- a/dont-starve-togetherconfig.json +++ /dev/null @@ -1,340 +0,0 @@ -[ - { - "DisplayName": "Max Players", - "Category": "Cluster Settings", - "Description": "Maximum number of players in the server", - "Keywords": "max players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "max_players", - "IncludeInCommandLine": false, - "DefaultValue": "64", - "EnumValues": {}, - "MinValue":"1" - }, - { - "DisplayName": "Tick Rate", - "Category": "Server Settings", - "Description": "Force the server to run at a specific tick rate, higher is better performing but requires more bandwidth and CPU", - "Keywords": "tick rate", - "FieldName": "tickrate", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "tickrate", - "IncludeInCommandLine": true, - "DefaultValue": "60", - "EnumValues": { - "10": "10", - "15": "15", - "30": "30", - "60": "60" - } - }, - { - "DisplayName": "Lan Only", - "Category": "Server Settings", - "Description": "Set the server to LAN only mode", - "Keywords": "LAN only", - "FieldName": "dedicated_lan_server", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "dedicated_lan_server", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Master Server", - "Category": "Server Settings", - "Description": "Enable only on the master server", - "Keywords": "master server", - "FieldName": "is_master", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "is_master", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Shard Name", - "Category": "Server Settings", - "Description": "The name for the server", - "Keywords": "server description", - "FieldName": "shard_name", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "shard_name", - "IncludeInCommandLine": false, - "DefaultValue": "Master", - "EnumValues": {} - }, - { - "DisplayName": "Shard ID", - "Category": "Server Settings", - "Description": "A unique number to identify the shard in a cluster", - "Keywords": "shard id", - "FieldName": "id", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "id", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Server Description", - "Category": "Server Settings", - "Description": "The description for the server", - "Keywords": "server description", - "FieldName": "default_server_description", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "default_server_description", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Server", - "EnumValues": {} - }, - { - "DisplayName": "Enable PVP", - "Category": "Cluster Settings", - "Description": "Enable/Disable player-vs-player", - "Keywords": "pvp player vs", - "FieldName": "pvp", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "pvp", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Game Mode", - "Category": "Server Settings", - "Description": "Game mode selection", - "Keywords": "game mode", - "FieldName": "game_mode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "game_mode", - "IncludeInCommandLine": false, - "DefaultValue": "survival", - "EnumValues": { - "endless": "Endless", - "survival": "Survival", - "wilderness": "Wilderness" - } - }, - { - "DisplayName": "Cluster Intention", - "Category": "Cluster Settings", - "Description": "Cluster play style", - "Keywords": "cluster intention play style", - "FieldName": "cluster_intention", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "cluster_intention", - "IncludeInCommandLine": false, - "DefaultValue": "cooperative", - "EnumValues": { - "competitive": "Competitive", - "cooperative": "Cooperative", - "madness": "Madness", - "social": "Social" - } - }, - { - "DisplayName": "Enable Snapshots", - "Category": "Server Settings", - "Description": "Enable/Disable Snapshots", - "Keywords": "enable snapshots", - "FieldName": "enable_snapshots", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "enable_snapshots", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Autosaver", - "Category": "Server Settings", - "Description": "Enable/Disable Autosaving at the begining of each day in-game", - "Keywords": "enable autosaver", - "FieldName": "enable_autosaver", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "enable_autosaver", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Shards", - "Category": "Cluster Settings", - "Description": "Enable/Disable shards (Must be enabled for clusters)", - "Keywords": "enable shards", - "FieldName": "shard_enabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "shard_enabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Connection Timeout (ms)", - "Category": "Server Settings", - "Description": "Time in milliseconds before server drops an idle player", - "Keywords": "connection timeout", - "FieldName": "connection_timeout", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "connection_timeout", - "IncludeInCommandLine": false, - "DefaultValue": "8000", - "EnumValues": {} - }, - { - "DisplayName": "Enable Vote to Kick", - "Category": "Server Settings", - "Description": "Allow players to vote to kick other players", - "Keywords": "vote to kick enabled", - "FieldName": "vote_kick_enabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "vote_kick_enabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Pause When Empty", - "Category": "Cluster Settings", - "Description": "Pause the game when no players in session", - "Keywords": "pause when empty", - "FieldName": "pause_when_empty", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "pause_when_empty", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Cluster Description", - "Category": "Cluster Settings", - "Description": "Description for this server cluster", - "Keywords": "cluster description", - "FieldName": "cluster_description", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "cluster_description", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Cluster", - "EnumValues": {} - }, - { - "DisplayName": "Cluster Name", - "Category": "Cluster Settings", - "Description": "Name for this cluster", - "Keywords": "cluster name", - "FieldName": "cluster_name", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "cluster_name", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Cluster", - "EnumValues": {} - }, - { - "DisplayName": "Cluster Password", - "Category": "Cluster Settings", - "Description": "Password required for a shard server to join the cluster", - "Keywords": "shard cluster password", - "FieldName": "cluster_password", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "cluster_password", - "IncludeInCommandLine": false, - "DefaultValue": "Password123", - "EnumValues": {} - }, - { - "DisplayName": "Master IP", - "Category": "Cluster Settings", - "Description": "The IP of the master server (127.0.0.1 if same machine)", - "Keywords": "master ip address", - "FieldName": "master_ip", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "master_ip", - "IncludeInCommandLine": false, - "DefaultValue": "127.0.0.1", - "EnumValues": {} - }, - { - "DisplayName": "Master Port", - "Category": "Cluster Settings", - "Description": "Port of the master server (Remote Admin Port of the Master in AMP)", - "Keywords": "master server port", - "FieldName": "master_port", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "master_port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Cluster Key", - "Category": "Cluster Settings", - "Description": "Private key to allow cluster shards to communicate", - "Keywords": "cluster key password", - "FieldName": "cluster_key", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "cluster_key", - "IncludeInCommandLine": false, - "DefaultValue": "Password123", - "EnumValues": {} - }, - { - "DisplayName": "Server Cluster Token (Required)", - "Category": "Server Settings", - "Description": "Obtained from [Klei's Site](https://accounts.klei.com/account/game/servers?game=DontStarveTogether)", - "Keywords": "cluster server token", - "FieldName": "cluster_token", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "cluster_token", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - } -] \ No newline at end of file diff --git a/dont-starve-togethermetaconfig.json b/dont-starve-togethermetaconfig.json deleted file mode 100644 index 84e6cee22..000000000 --- a/dont-starve-togethermetaconfig.json +++ /dev/null @@ -1,88 +0,0 @@ -[ - { - "ConfigFile": "dstserver/dstserver_config/Cluster_1/shard/server.ini", - "Subsections": [ - { - "Heading": "NETWORK", - "SettingMappings": { - "server_port": "$ApplicationPort1", - } - }, - { - "Heading": "SHARD", - "SettingMappings": { - "is_master": "is_master", - "name": "shard_name", - "id": "id" - } - }, - { - "Heading": "STEAM", - "SettingMappings": { - "master_server_port": "$ApplicationPort2", - "authentication_port": "$ApplicationPort3" - } - }, - { - "Heading": "ACCOUNT", - "SettingMappings": { - "dedicated_lan_server": "dedicated_lan_server", - "encode_user_path": "encode_user_path" - } - } - ] - }, - { - "ConfigFile": "dstserver/dstserver_config/Cluster_1/cluster.ini", - "Subsections": [ - { - "Heading": "GAMEPLAY", - "SettingMappings": { - "game_mode": "game_mode", - "max_players": "$MaxUsers", - "pvp": "pvp", - "pause_when_empty": "pause_when_empty" - } - }, - { - "Heading": "NETWORK", - "SettingMappings": { - "cluster_description": "cluster_description", - "cluster_name": "cluster_name", - "cluster_intention": "cluster_intention", - "cluster_password": "cluster_password" - } - }, - { - "Heading": "MISC", - "SettingMappings": { - "console_enabled": "console_enabled" - } - }, - { - "Heading": "SHARD", - "SettingMappings": { - "shard_enabled": "shard_enabled", - "bind_ip": "$ApplicationIPBinding", - "master_ip": "master_ip", - "master_port": "master_port", - "cluster_key": "cluster_key" - } - } - ] - }, - { - "ConfigFile": "dstserver/dstserver_config/Cluster_1/cluster_token.txt", - "ConfigType": "kvp", - "ConfigFormat": "{0}{1}", - "Subsections": [ - { - "Heading": "$root", - "SettingMappings": { - "": "cluster_token" - } - } - - ] - } -] \ No newline at end of file diff --git a/eco.kvp b/eco.kvp deleted file mode 100644 index cb357828f..000000000 --- a/eco.kvp +++ /dev/null @@ -1,76 +0,0 @@ -Meta.DisplayName=Eco -Meta.Description=Eco Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, stroskler -Meta.URL=https://play.eco/ -Meta.DisplayImageSource=steam:382310 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=ecoconfig.json -Meta.MetaConfigManifest=ecometaconfig.json -Meta.ConfigRoot=eco.kvp -Meta.MinAMPVersion=2.3.2.8 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Eco -App.RootDir=./eco/ -App.BaseDirectory=./eco/739590/ -App.ExecutableWin=739590/EcoServer.exe -App.ExecutableLinux=739590/EcoServer -App.WorkingDir=739590 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"382310"} -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.ApplicationPort1=3000 -App.ApplicationPort2=3001 -App.ApplicationPort3=0 -App.RemoteAdminPort=3002 -App.MaxUsers=-1 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword= -App.AdminMethod=SourceRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceArgs":"382310","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceArgs":"382310","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Network Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Network.eco","UpdateSourceArgs":"./eco/739590/Configs/Network.eco.template","OverwriteExistingFiles":false}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=27015 -App.UniversalSleepSteamQueryPort=27016 -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[\d\d:\d\d:\d\d\] Server Initialization\s*\.\.\. Finished in [\d.,]*(ms| sec)$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=True -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/ecoconfig.json b/ecoconfig.json deleted file mode 100644 index 119debdbc..000000000 --- a/ecoconfig.json +++ /dev/null @@ -1,228 +0,0 @@ -[ - { - "DisplayName":"Game Server Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort1", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"GameServerPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Web Server Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort2", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"WebServerPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"RCON Server Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RemoteAdminPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"RconServerPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Name of the server as it appears in the client server browser", - "Keywords":"name", - "FieldName":"Description", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Description", - "IncludeInCommandLine":false, - "DefaultValue":"Eco Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Server Description", - "Category":"Server Settings", - "Description":"Long form description of the server when clicked on in the client server browser", - "Keywords":"description", - "FieldName":"DetailedDescription", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"DetailedDescription", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"Server Settings", - "Description":"If enabled, server will appear in the client server browser", - "Keywords":"public", - "FieldName":"PublicServer", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PublicServer", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Password required to connect to the server (except for whitelisted players). Default is no password", - "Keywords":"password", - "FieldName":"Password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"Password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password", - "FieldName":"$RemoteAdminPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RconPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Category", - "Category":"Server Settings", - "Description":"Category of the server shown when clients first select a new game", - "Keywords":"category", - "FieldName":"ServerCategory", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerCategory", - "IncludeInCommandLine":false, - "DefaultValue":"None", - "EnumValues":{ - "None":"None", - "Beginner":"Beginner", - "Established":"Established", - "BeginnerHard":"Beginner Hard", - "Strange":"Strange" - } - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server. Default is no limit (-1)", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DefaultSlots", - "IncludeInCommandLine":false, - "DefaultValue":"-1", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"-1" - }, - { - "DisplayName":"Server IP Binding", - "Category":"Server Settings", - "Description":"Internal server IP-address the server should bind to. Default is Any (all IPs on the host)", - "Keywords":"ip,binding", - "FieldName":"IPAddress", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"IPAddress", - "IncludeInCommandLine":false, - "DefaultValue":"Any", - "EnumValues":{} - }, - { - "DisplayName":"RCON IP Binding", - "Category":"Server Settings", - "Description":"Internal server IP-address the RCON server should bind to. Default is Any (all IPs on the host)", - "Keywords":"rcon,ip,binding", - "FieldName":"RconIPAddress", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"RconIPAddress", - "IncludeInCommandLine":false, - "DefaultValue":"Any", - "EnumValues":{} - }, - { - "DisplayName":"Discord Address", - "Category":"Server Settings", - "Description":"ID for a Discord server (the ID after \"discord.gg/\") to provide a link to", - "Keywords":"discord", - "FieldName":"DiscordAddress", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DiscordAddress", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"78xKTd", - "EnumValues":{} - }, - { - "DisplayName":"Enable UPnP", - "Category":"Server Settings", - "Description":"If enabled, UPnP will be enabled on the server. Requires a UPnP-enabled router to work", - "Keywords":"upnp", - "FieldName":"UPnPEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"UPnPEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Beta Branch", - "Category":"SteamCMD and Updates", - "Description":"If enabled, allows beta branches (branches other than \"public\") to be installed. Specify the branch under \"Selected Beta Branch\". NOTE: Update the server after switching branches!", - "Keywords":"enable,beta", - "FieldName":"EnableBeta", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Selected Beta Branch", - "Category":"SteamCMD and Updates", - "Description":"[Beta branch](https://steamdb.info/app/739590/depots/) to install. Requires \"Enable Beta Branch\" to be enabled. Set any required password under \"Beta Password\". NOTE: Update the server after switching branches!", - "Keywords":"beta,branch", - "FieldName":"BetaBranch", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"", - "EnumValues":{} - } -] diff --git a/ecometaconfig.json b/ecometaconfig.json deleted file mode 100755 index 23481c39d..000000000 --- a/ecometaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile": "Configs/Network.eco", - "AutoMap": true, - "ConfigType": "json" - } -] diff --git a/empyrion-galactic-survival.kvp b/empyrion-galactic-survival.kvp deleted file mode 100644 index 739a49808..000000000 --- a/empyrion-galactic-survival.kvp +++ /dev/null @@ -1,84 +0,0 @@ -Meta.DisplayName=Empyrion Galactic Survival -Meta.Description=Empyrion Galactic Survival Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Shinynecrid, IceOfWraith -Meta.URL=https://steamdb.info/app/383120/ -Meta.DisplayImageSource=steam:383120 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort} -Meta.ConfigManifest=empyrion-galactic-survivalconfig.json -Meta.MetaConfigManifest=empyrion-galactic-survivalmetaconfig.json -Meta.ConfigRoot=empyrion-galactic-survival.kvp -Meta.MinAMPVersion=2.3.3 -Meta.SpecificDockerImage=cubecoders/ampbase:wine8 -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine 7 (or later) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Empyrion Galactic Survival -App.RootDir=./empyrion-galactic-survival/ -App.BaseDirectory=./empyrion-galactic-survival/530870/ -App.ExecutableWin=530870\DedicatedServer\EmpyrionDedicated.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=530870 -App.LinuxCommandLineArgs=-a wine "./DedicatedServer/EmpyrionDedicated.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics -dedicated empyriondedicated.yaml -logFile - -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"383120","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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=@IncludeJson[empyrion-galactic-survivalports.json] -App.AdminPortRef=TelnetPort -App.PrimaryApplicationPortRef=GamePort1 -App.UniversalSleepApplicationUDPPortRef=GamePort1 -App.UniversalSleepSteamQueryPortRef=SteamQueryPort -App.MaxUsers=8 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword= -App.AdminMethod=TelnetRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=30 -App.RCONConnectRetrySeconds=15 -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[empyrion-galactic-survivalupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=wine64 -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^.*-LOG- Server started listening on port .*$ -Console.UserJoinRegex=^.*-LOG-.*Player (?<userid>.+?)\/'(?<username>.+?)' login ok$ -Console.UserLeaveRegex=^.*-LOG-.*, (?<userid>.+?)\/=\/'(?<username>.+?)' disconnected$ -Console.UserChatRegex= -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/empyrion-galactic-survivalconfig.json b/empyrion-galactic-survivalconfig.json deleted file mode 100644 index 049a2824c..000000000 --- a/empyrion-galactic-survivalconfig.json +++ /dev/null @@ -1,426 +0,0 @@ -[ - { - "DisplayName": "Server Port", - "Category": "Emp - Server Settings", - "Description": "Must be edited using the Edit Port button in ADS.", - "Keywords": "", - "FieldName": "$GamePort1", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Srv_Port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Telnet Port", - "Category": "Emp - Server Settings", - "Description": "Must be edited using the Edit Port button in ADS.", - "Keywords": "", - "FieldName": "$TelnetPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Tel_Port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Server Name", - "Category": "Emp - Server Settings", - "Description": "Name that will be shown in the Server Browser.", - "Keywords": "server,name", - "FieldName": "Srv_Name", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Srv_Name", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Server", - "EnumValues": {} - }, - { - "DisplayName": "Server Password", - "Category": "Emp - Server Settings", - "Description": "Password players will use to join the server.", - "Keywords": "server,Password", - "FieldName": "Srv_Password", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Srv_Password", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Telnet Password", - "Category": "Emp - Server Settings", - "Description": "See the Security and Privacy menu for configurable options for the server's RCON.", - "Keywords": "telnet,RCON,password", - "FieldName": "$RemoteAdminPassword", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Tel_Pwd", - "IncludeInCommandLine": false, - "EnumValues": {} - }, - { - "DisplayName": "Max Players ", - "Category": "Emp - Server Settings", - "Description": "Maximum number of player allowed to join simultaneously in the server.", - "Keywords": "Max,Players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Srv_MaxPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "8", - "EnumValues": {}, - "MinValue":"1" - }, - { - "DisplayName": "Server Description", - "Category": "Emp - Server Settings", - "Description": "Server description shown in Server Browser, can contain [b]bold[/b] text or a [u][url=empyriongame.com]link[/url][/u].", - "Keywords": "Server,Description", - "FieldName": "Srv_Description", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Srv_Description", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Empyrion Server", - "EnumValues": {} - }, - { - "DisplayName": "Reserve Playfields", - "Category": "Emp - Server Settings", - "Description": "Determines the number of playfield servers that are held in reserve. For busy public servers.", - "Keywords": "Reserve,Playfields", - "FieldName": "Srv_ReservePlayfields", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Srv_ReservePlayfields", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Public Server", - "Category": "Emp - Server Settings", - "Description": "Set the following parameter to false if you want to hide your server in the Server Browser. If server is not visible you can connect via IP or via joining a friend's game.", - "Keywords": "public,server", - "FieldName": "Srv_Public", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Srv_Public", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Stop Period", - "Category": "Emp - Server Settings", - "Description": "All playfield servers will be automatically stopped every <n> real time hours. Players will get some warning messages before.", - "Keywords": "Stop,Period", - "FieldName": "Srv_StopPeriod", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.Srv_StopPeriod", - "IncludeInCommandLine": false, - "DefaultValue": "48", - "EnumValues": {} - }, - { - "DisplayName": "Enable EAC", - "Category": "Emp - Server Settings", - "Description": "Activate Easy Anti Cheat (clients have to enable EAC via Options -> Misc to connect to a EAC protected server).", - "Keywords": "enable,EAC", - "FieldName": "EACActive", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.EACActive", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Save Directory", - "Category": "Emp - Server Settings", - "Description": "Location of save game folder.", - "Keywords": "save,directory", - "FieldName": "SaveDirectory", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.SaveDirectory", - "IncludeInCommandLine": false, - "DefaultValue": "Saves", - "EnumValues": {} - }, - { - "DisplayName": "Max Allowed Size Class", - "Category": "Emp - Server Settings", - "Description": "Restrict allowed Blueprint size class: restricted types are not allowed to be produced or spawned. 1 = allow only small blueprints, 10 = allow very large blueprints, 50 = allow gigantic blueprints, 0 = no limits. Warning: large blueprints can have very strong performance impact!", - "Keywords": "Max,Allowed,Size,Class", - "FieldName": "MaxAllowedSizeClass", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.MaxAllowedSizeClass", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "Allowed Blueprints", - "Category": "Emp - Server Settings", - "Description": "Restrict Blueprint types allowed for production in factory: None = Blueprint system completely disabled; StockOnly = only stock blueprints can be produced; All = all types allowed (default).", - "Keywords": "Allowed,Blueprints", - "FieldName": "AllowedBlueprints", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.AllowedBlueprints", - "IncludeInCommandLine": false, - "DefaultValue": "All", - "EnumValues": { - "All": "All", - "StockOnly": "Stock Only", - "None": "None" - } - }, - { - "DisplayName": "Heartbeat Server", - "Category": "Emp - Server Settings", - "Description": "Timeout in seconds after which a playfield server process will be killed (and all players on it disconnected) if it no longer sends heartbeat messages to the dedicated server. (0 to disable)", - "Keywords": "Heartbeat,Server", - "FieldName": "HeartbeatServer", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.HeartbeatServer", - "IncludeInCommandLine": false, - "DefaultValue": "15", - "suffix": "sec", - "EnumValues": {} - }, - { - "DisplayName": "Heartbeat Client", - "Category": "Emp - Server Settings", - "Description": "Timeout in seconds after which a client will be disconnected if it no longer sends heartbeat messages to the dedicated server. (0 to disable)", - "Keywords": "Heartbeat,Client", - "FieldName": "HeartbeatClient", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.HeartbeatClient", - "IncludeInCommandLine": false, - "DefaultValue": "30", - "suffix": "sec", - "EnumValues": {} - }, - { - "DisplayName": "Log Flags", - "Category": "Emp - Server Settings", - "Description": "Determines the logging level.", - "Keywords": "Log,Flags,level", - "FieldName": "LogFlags", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.LogFlags", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "0": "No Extra", - "1": "EAC", - "2": "EAC + All Details" - } - }, - { - "DisplayName": "Disable Family Sharing", - "Category": "Emp - Server Settings", - "Description": "Activate if you want to prohibit Steam Family Sharers from playing (only the game owner can then play).", - "Keywords": "Disable,Steam,Family,Sharing", - "FieldName": "DisableSteamFamilySharing", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.DisableSteamFamilySharing", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Kick Players With High Ping", - "Category": "Emp - Server Settings", - "Description": "Players with a ping higher than the value specified below will be locked out of the game. High ping can result in cheating.", - "Keywords": "Kick,Players,With,High,Ping", - "FieldName": "KickPlayerWithPing", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.KickPlayerWithPing", - "IncludeInCommandLine": false, - "DefaultValue": "300", - "suffix": "ms", - "EnumValues": {} - }, - { - "DisplayName": "Timeout to Boot Playfield Server", - "Category": "Emp - Server Settings", - "Description": "Monitors booting playfield server processes, kills them if they time out ( 0 to disabled). Note: This is a conservative default, for faster servers 60 seconds should be ok.", - "Keywords": "Timeout,Booting,Playfield,server", - "FieldName": "TimeoutBootingPfServer", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.TimeoutBootingPfServer", - "IncludeInCommandLine": false, - "DefaultValue": "90", - "suffix": "sec", - "EnumValues": {} - }, - { - "DisplayName": "Player Login Parallel Count", - "Category": "Emp - Server Settings", - "Description": "If specified, the number of parallel logins to a server are restricted to this number. This is important when you expect a big number of people to login at the same time.", - "Keywords": "Player,Login,Parallel,Count", - "FieldName": "PlayerLoginParallelCount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.PlayerLoginParallelCount", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "Player Login VIP Names", - "Category": "Emp - Server Settings", - "Description": "Add steam ids for preferred players that will get a better position in the login queue. [Find your Steam64 ID](https://steamidfinder.com/)", - "Keywords": "Player,Login,Parallel,Count", - "FieldName": "PlayerLoginVipNames", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "ServerConfig.PlayerLoginVipNames", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "123456789,123456788,123456787", - "EnumValues": {} - }, - { - "DisplayName": "Game Name", - "Category": "Emp - Game Settings", - "Description": "Determines name of the save game.", - "Keywords": "Game,Name", - "FieldName": "GameName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "GameConfig.GameName", - "IncludeInCommandLine": false, - "DefaultValue": "DediGame", - "EnumValues": {} - }, - { - "DisplayName": "Game Mode", - "Category": "Emp - Game Settings", - "Description": "Game mode for the server.", - "Keywords": "Game,Mode", - "FieldName": "Mode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "GameConfig.Mode", - "IncludeInCommandLine": false, - "DefaultValue": "Survival", - "EnumValues": { - "Survival": "Survival", - "Creative": "Creative" - } - }, - { - "DisplayName": "World Seed", - "Category": "Emp - Game Settings", - "Description": "Any number up to 7 digits (Cannot be 0). The seed determines how the world is procedurally generated - the same seed means the same world.", - "Keywords": "World,Seed", - "FieldName": "Seed", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "GameConfig.Seed", - "IncludeInCommandLine": false, - "DefaultValue": "1011345", - "EnumValues": {} - }, - { - "DisplayName": "Scenario", - "Category": "Emp - Game Settings", - "Description": "Choose from premade scenarios. If \"Custom Scenario\" is chosen, you must enter the name of the scenario in the Custom Scenario setting.", - "Keywords": "Custom,Scenario", - "FieldName": "CustomScenario", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "GameConfig.CustomScenario", - "IncludeInCommandLine": false, - "DefaultValue": "Default Multiplayer", - "EnumValues": { - "_TestBaseAttackCS": "Test Base Attack CS", - "_TestEmpyrion-SE": "Test Empyrion SE", - "_TestScenario": "Test Scenario", - "_TestScenario2": "Test Scenario 2", - "Default Akua-Omicron": "Default Akua-Omicron", - "Default Base Attack": "Default Base Attack", - "Default Creative": "Default Creative", - "Default Multiplayer": "Default Multiplayer", - "Default Random": "Default Random", - "Invader vs Defender - Conflict of Cygnus": "Invader vs Defender - Conflict of Cygnus", - "Shadows of Starlight": "Shadows of Starlight", - "Stranded at Nemesis (Survival Challenge)": "Stranded at Nemesis (Survival Challenge)", - "Tutorial": "Tutorial", - "{{CustomScenarioText}}": "Custom Scenario" - } - }, - { - "DisplayName": "Custom Scenario", - "Category": "Emp - Game Settings", - "Description": "Enter a custom scenario. Must select \"Custom Scenario\" in the Scenario drop-down. This is the same as the folder name the scenario is stored under.", - "Keywords": "Custom,Scenario", - "FieldName": "CustomScenarioText", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "CustomScenarioText", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "ReforgedEden", - "EnumValues": {} - }, - { - "DisplayName": "Release Stream", - "Category": "SteamCMD and Updates", - "Description": "\"public\" is default. Choose a custom release on [SteamDB](https://steamdb.info/app/530870/depots/).", - "Keywords": "use,experimental,release,stream", - "FieldName": "Stream", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Stream", - "IncludeInCommandLine": false, - "DefaultValue": "public", - "Placeholder": "public", - "EnumValues": {} - }, - { - "DisplayName":"Download Backup Exclude File", - "Category":"SteamCMD and Updates", - "Description":"This downloads a default backup exclude file to save space on backups by only saving specific directories. If this is disabled, you will need to manually delete the .backupExclude file it downloads.", - "Keywords":"download,backup,exclude,file", - "FieldName":"backupExclude", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"backupExclude", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - } -] \ No newline at end of file diff --git a/empyrion-galactic-survivalmetaconfig.json b/empyrion-galactic-survivalmetaconfig.json deleted file mode 100644 index b1a04faca..000000000 --- a/empyrion-galactic-survivalmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile": "empyriondedicated.yaml", - "AutoMap": true, - "ConfigType": "json" - } -] diff --git a/empyrion-galactic-survivalports.json b/empyrion-galactic-survivalports.json deleted file mode 100644 index a731d8fad..000000000 --- a/empyrion-galactic-survivalports.json +++ /dev/null @@ -1,37 +0,0 @@ -[ - { - "Protocol": "Both", - "Name": "Game Port 1", - "Description": "The port used for main game traffic", - "Port": 30000, - "Ref": "GamePort1" - }, - { - "Protocol": "Both", - "Name": "Steam Query Port", - "Description": "The port used for Steam Queries", - "Port": 30001, - "Ref": "SteamQueryPort" - }, - { - "Protocol": "Both", - "Name": "Game Port 3", - "Description": "The port used for unknown game traffic", - "Port": 30002, - "Ref": "GamePort3" - }, - { - "Protocol": "Both", - "Name": "Game Port 4", - "Description": "The port used for unknown game traffic", - "Port": 30003, - "Ref": "GamePort4" - }, - { - "Protocol": "TCP", - "Name": "Telnet Port", - "Description": "The port used for telnet console", - "Port": 30004, - "Ref": "TelnetPort" - } -] \ No newline at end of file diff --git a/empyrion-galactic-survivalupdates.json b/empyrion-galactic-survivalupdates.json deleted file mode 100644 index ae90a51ca..000000000 --- a/empyrion-galactic-survivalupdates.json +++ /dev/null @@ -1,36 +0,0 @@ -[ - { - "UpdateStageName": "SteamCMD Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "530870", - "UpdateSourceArgs":"383120", - "ForceDownloadPlatform": "Windows", - "UpdateSourceVersion": "{{Stream}}" - }, - { - "UpdateStageName": "Base Config Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/empyriondedicated.yaml", - "UpdateSourceTarget": "./530870/" - }, - { - "UpdateStageName":"Backup Exclusions Download 1", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/exclusions/.backupExclusionsEmpyrion1", - "UpdateSourceArgs":".backupExclude", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceConditionSetting": "backupExclude", - "UpdateSourceConditionValue": "true", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Initialise Wine", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" - } -] diff --git a/empyriondedicated.yaml b/empyriondedicated.yaml deleted file mode 100644 index 43b29f330..000000000 --- a/empyriondedicated.yaml +++ /dev/null @@ -1,33 +0,0 @@ -{ - "ServerConfig": { - "Srv_Port": 30000, - "Srv_Name": "AMP Powered Server", - "Srv_Password": "", - "Srv_MaxPlayers": 8, - "Srv_ReservePlayfields": 1, - "Srv_Description": "AMP Powered Empyrion Server", - "Srv_Public": true, - "Srv_StopPeriod": 48, - "Tel_Enabled": true, - "Tel_Port": 30004, - "Tel_Pwd": "", - "EACActive": true, - "SaveDirectory": "Saves", - "MaxAllowedSizeClass": 10, - "AllowedBlueprints": "All", - "HeartbeatServer": 15, - "HeartbeatClient": 30, - "LogFlags": 0, - "DisableSteamFamilySharing": false, - "KickPlayerWithPing": 300, - "TimeoutBootingPfServer": 90, - "PlayerLoginParallelCount": 5, - "PlayerLoginVipNames": "" - }, - "GameConfig": { - "GameName": "DediGame", - "Mode": "Survival", - "Seed": 1011345, - "CustomScenario": "Default Multiplayer" - } -} \ No newline at end of file diff --git a/euro-truck-simulator-2.kvp b/euro-truck-simulator-2.kvp deleted file mode 100644 index 80e82fb1d..000000000 --- a/euro-truck-simulator-2.kvp +++ /dev/null @@ -1,95 +0,0 @@ -Meta.DisplayName=Euro Truck Simulator 2 -Meta.Description=Euro Truck Simulator 2 Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=NotSupported -Meta.Arch=x86_64 -Meta.Author=IceOfWraith -Meta.URL=https://store.steampowered.com/app/227300/Euro_Truck_Simulator_2/ -Meta.DisplayImageSource=steam:227300 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort} -Meta.ConfigManifest=euro-truck-simulator-2config.json -Meta.MetaConfigManifest=euro-truck-simulator-2metaconfig.json -Meta.ConfigRoot=euro-truck-simulator-2.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnLinux, RequiredOnWindows -Meta.ContainerPolicyReason=The game server does not run properly as NETWORK SERVICE, so it must be run within Docker on Windows. -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3790?utm_source=ampcreate&utm_content=ats-ets2 -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Euro Truck Simulator 2 -App.RootDir=./euro-truck-simulator-2/ -App.BaseDirectory=./euro-truck-simulator-2/1948160/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin= -App.ExecutableLinux=1948160/bin/linux_x64/eurotrucks2_server -App.WorkingDir=1948160 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -nosingle {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"227300","XDG_DATA_HOME":"{{$FullBaseDir}}"} -App.CommandLineParameterFormat=-{0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=app_exit.lck -App.HasWriteableConsole=False -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=@IncludeJson[euro-truck-simulator-2ports.json] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=MainServerPort -App.UniversalSleepApplicationUDPPortRef=MainServerPort -App.UniversalSleepSteamQueryPortRef=QueryDedicatedPort -App.MaxUsers=8 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=False -App.RemoteAdminPassword= -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.LoginTransformPrefix= -App.RCONConnectDelaySeconds=30 -App.RCONConnectRetrySeconds=15 -App.RCONHeartbeatMinutes=0 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[euro-truck-simulator-2updates.json] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=False -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+ -Console.AppReadyRegex=^$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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/euro-truck-simulator-2.sii b/euro-truck-simulator-2.sii deleted file mode 100644 index b1e64cb3d..000000000 --- a/euro-truck-simulator-2.sii +++ /dev/null @@ -1,33 +0,0 @@ -SiiNunit -{ -server_config : _nameless.3a6.40c0 { - lobby_name: "{{lobby_name}}" - description: "{{description}}" - welcome_message: "{{welcome_message}}" - password: "{{password}}" - max_players: {{max_players}} - max_vehicles_total: {{max_vehicles_total}} - max_ai_vehicles_player: {{max_ai_vehicles_player}} - max_ai_vehicles_player_spawn: {{max_ai_vehicles_player_spawn}} - connection_virtual_port: 100 - query_virtual_port: 101 - connection_dedicated_port: {{connection_dedicated_port}} - query_dedicated_port: {{query_dedicated_port}} - server_logon_token: "{{server_logon_token}}" - player_damage: {{player_damage}} - traffic: {{traffic}} - hide_in_company: {{hide_in_company}} - hide_colliding: {{hide_colliding}} - force_speed_limiter: {{force_speed_limiter}} - mods_optioning: {{mods_optioning}} - timezones: {{timezones}} - service_no_collision: {{service_no_collision}} - in_menu_ghosting: {{in_menu_ghosting}} - name_tags: {{name_tags}} - friends_only: false - show_server: true - moderator_list: {{moderator_list1}} - {{moderator_list2}} -} - -} diff --git a/euro-truck-simulator-2config.json b/euro-truck-simulator-2config.json deleted file mode 100644 index f130219cc..000000000 --- a/euro-truck-simulator-2config.json +++ /dev/null @@ -1,340 +0,0 @@ -[ - { - "DisplayName":"Lobby Name", - "Category":"ETS - Server Settings", - "Description":"Session name, limited to 63 characters.", - "Keywords":"lobby,name", - "FieldName":"lobby_name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"lobby_name", - "IncludeInCommandLine":false, - "DefaultValue":"Euro Truck Simulator Server - Powered by AMP", - "Placeholder":"Euro Truck Simulator Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Description", - "Category":"ETS - Server Settings", - "Description":"Session description, limited to 63 characters.", - "Keywords":"lobby,description", - "FieldName":"description", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"description", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"ETS - Server Settings", - "Description":"Session welcome message, limited to 127 characters.", - "Keywords":"welcome,message", - "FieldName":"welcome_message", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"welcome_message", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Password", - "Category":"ETS - Server Settings", - "Description":"Session password, limited to 63 characters.", - "Keywords":"password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Max Players", - "Category":"ETS - Server Settings", - "Description":"Maximum players in session, limit is 8 players.", - "Keywords":"max,players", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"max_players", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "MinValue":"1", - "MaxValue":"8", - "EnumValues":{} - }, - { - "DisplayName":"Max Vehicles Total", - "Category":"ETS - Server Settings", - "Description":"", - "Keywords":"max,vehicles,total", - "FieldName":"max_vehicles_total", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"max_vehicles_total", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "MinValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Max AI Vehicles Player", - "Category":"ETS - Server Settings", - "Description":"", - "Keywords":"max,ai,vehicles,player", - "FieldName":"max_ai_vehicles_player", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"max_ai_vehicles_player", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "MinValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Max AI Vehicles Player Spawn", - "Category":"ETS - Server Settings", - "Description":"", - "Keywords":"max,ai,vehicles,player,spawn", - "FieldName":"max_ai_vehicles_player_spawn", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"max_ai_vehicles_player_spawn", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "MinValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"connection_dedicated_port", - "Category":"ETS - Server Settings", - "Description":"Port used for main game traffic", - "Keywords":"", - "FieldName":"$MainServerPort", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"connection_dedicated_port", - "IncludeInCommandLine":false, - "EnumValues":{}, - "Hidden":true - }, - { - "DisplayName":"query_dedicated_port", - "Category":"ETS - Server Settings", - "Description":"Port used for Steam Query", - "Keywords":"", - "FieldName":"$QueryDedicatedPort", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"query_dedicated_port", - "IncludeInCommandLine":false, - "EnumValues":{}, - "Hidden":true - }, - { - "DisplayName":"Server Logon Token", - "Category":"ETS - Server Settings", - "Description":"Use appid 227300 to create a [Steam Server Login Token](https://steamcommunity.com/dev/managegameservers).", - "Keywords":"server,logon,token", - "FieldName":"server_logon_token", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"server_logon_token", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"6544F7E034119F113526E96474F", - "EnumValues":{} - }, - { - "DisplayName":"Player Damage", - "Category":"ETS - Server Settings", - "Description":"Flag to allow players to receive damage from other players.", - "Keywords":"player,damage", - "FieldName":"player_damage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"player_damage", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Traffic", - "Category":"ETS - Server Settings", - "Description":"Flag to enable traffic.", - "Keywords":"traffic", - "FieldName":"traffic", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"traffic", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Hide In Company", - "Category":"ETS - Server Settings", - "Description":"Flag to enable if remote players are hidden in company area.", - "Keywords":"hide,company", - "FieldName":"hide_in_company", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"hide_in_company", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Hide Colliding", - "Category":"ETS - Server Settings", - "Description":"Flag to hide colliding vehicle after teleport. ", - "Keywords":"hide,colliding", - "FieldName":"hide_colliding", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"hide_colliding", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Force Speed Limiter", - "Category":"ETS - Server Settings", - "Description":"Flag to force speed limiter.", - "Keywords":"force,speed,limiter", - "FieldName":"force_speed_limiter", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"force_speed_limiter", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Mods Optioning", - "Category":"ETS - Server Settings", - "Description":"Flag to enable mods marked as optional, to be really optional.", - "Keywords":"mods,optioning", - "FieldName":"mods_optioning", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"mods_optioning", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Timezones", - "Category":"ETS - Server Settings", - "Description":"Sets whether the timezone updates as players change zones. It displays either the time or the time and timezone information.", - "Keywords":"timezones", - "FieldName":"timezones", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"timezones", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0": "Disabled", - "1": "Time Only", - "2": "Full Info" - } - }, - { - "DisplayName":"Service No Collision", - "Category":"ETS - Server Settings", - "Description":"Disable collisions on service area.", - "Keywords":"service,no,collision", - "FieldName":"service_no_collision", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"service_no_collision", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"In Menu Ghosting", - "Category":"ETS - Server Settings", - "Description":"Disable collisions when game paused.", - "Keywords":"in,menu,ghosting", - "FieldName":"in_menu_ghosting", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"in_menu_ghosting", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Name Tags", - "Category":"ETS - Server Settings", - "Description":"Show player name tags above vehicles.", - "Keywords":"name,tags", - "FieldName":"name_tags", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"name_tags", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - }, - { - "DisplayName":"Moderator Count", - "Category":"ETS - Server Settings", - "Description":"The number of moderators in the Moderator List setting.", - "Keywords":"moderator,count", - "FieldName":"moderator_list1", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"moderator_list1", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Moderator List", - "Category":"ETS - Server Settings", - "Description":"Enter moderators, one per line. Increment the value in [#] starting at 0. 123456789 should be replaced with the moderator's Steam64 IDs. e.g. moderator_list[0]: 123456789.", - "Keywords":"moderator,list", - "FieldName":"moderator_list2", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"moderator_list2", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - } -] \ No newline at end of file diff --git a/euro-truck-simulator-2metaconfig.json b/euro-truck-simulator-2metaconfig.json deleted file mode 100644 index 0955e670c..000000000 --- a/euro-truck-simulator-2metaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile":"Euro Truck Simulator 2/server_config.sii", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"euro-truck-simulator-2/AMP_server_config.sii" - } -] \ No newline at end of file diff --git a/euro-truck-simulator-2ports.json b/euro-truck-simulator-2ports.json deleted file mode 100644 index 4067acc8d..000000000 --- a/euro-truck-simulator-2ports.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - "Protocol": "UDP", - "Port": "27015", - "Name": "Main Server Port", - "Description": "Port used for main game traffic", - "Ref": "MainServerPort" - }, - { - "Protocol": "UDP", - "Port": "27016", - "Name": "Query Dedicated Port", - "Description": "Port used for main game traffic", - "Ref": "QueryDedicatedPort" - } -] \ No newline at end of file diff --git a/euro-truck-simulator-2updates.json b/euro-truck-simulator-2updates.json deleted file mode 100644 index 4bbe58270..000000000 --- a/euro-truck-simulator-2updates.json +++ /dev/null @@ -1,24 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourceData":"1948160", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceArgs":"227300" - }, - { - "UpdateStageName":"Settings Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}Euro Truck Simulator 2" - }, - { - "UpdateStageName":"Settings Template Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/euro-truck-simulator-2.sii", - "UpdateSourceArgs":"AMP_server_config.sii", - "UpdateSourceTarget":"{{$FullRootDir}}", - "OverwriteExistingFiles":true - } -] \ No newline at end of file diff --git a/exclusions/.backupExclusions7d2d1 b/exclusions/.backupExclusions7d2d1 deleted file mode 100644 index ad3415d6e..000000000 --- a/exclusions/.backupExclusions7d2d1 +++ /dev/null @@ -1,37 +0,0 @@ -_CommonRedist -7DaysToDieServer_Data -BepInEx -Data -doorstop_libs -Licenses -Logos -Mods -MonoBleedingEdge -steamapps -7DaysToDieServer.exe -7DaysToDieServer.x86_64 -darknessfalls.ico -DarknessFallsConfig.xml -doorstop_config.ini -libstdc++.so.6 -LICENSE -LinuxPlayer_s.debugMicrosoftGame.Config -platform.cfg -README.md -run_bepinex.sh -run_bepinex_server.sh -serverconfig.xml -startdedicated.bat -startserver.sh -steam_appid.txt -steamclient64.dll -tier0_s64.dll -UnityCrashHandler64.exe -UnityPlayer.dll -UnityPlayer.so -UnityPlayer_s.debug -UnityPlayer_Win64_mono_x64.pdb -vstdlib_s64.dll -WindowsPlayer_Master_mono_x64.pdb -WindowsPlayerHeadless.pdb -winhttp.dll diff --git a/exclusions/.backupExclusionsArk1 b/exclusions/.backupExclusionsArk1 deleted file mode 100644 index 9ef876f55..000000000 --- a/exclusions/.backupExclusionsArk1 +++ /dev/null @@ -1,17 +0,0 @@ -Engine -linux64 -steamapps -Manifest_DebugFiles.txt -vstdlib_s64.dll -vstdlib_s.dll -version.txt -tier0_s64.dll -tier0_s.dll -SteamCMDInstall.sh -steamclient64.dll -steamclient.so -steamclient.dll -ShooterGame.zip -PackageInfo.bin -Manifest_UFSFiles.txt -Manifest_NonUFSFiles.txt diff --git a/exclusions/.backupExclusionsArk2 b/exclusions/.backupExclusionsArk2 deleted file mode 100644 index e86b88bfd..000000000 --- a/exclusions/.backupExclusionsArk2 +++ /dev/null @@ -1,5 +0,0 @@ -Binaries -Config -Content -AssetRegistry.bin -ShooterGame.uproject diff --git a/exclusions/.backupExclusionsEmpyrion1 b/exclusions/.backupExclusionsEmpyrion1 deleted file mode 100644 index 2650a3e1b..000000000 --- a/exclusions/.backupExclusionsEmpyrion1 +++ /dev/null @@ -1,17 +0,0 @@ -_CommonRedist -Content -DedicatedServer -PlayfieldServer -steamapps -BuildNumber.txt -dedicated.yaml -Empyrion_Example.props -EmpyrionDedicated.cmd -EmpyrionDedicated_NoGraphics.cmd -EmpyrionLauncher.exe -steamclient.dll -steamclient64.dll -tier0_s.dll -tier0_s64.dll -vstdlib_s.dll -vstdlib_s64.dll diff --git a/exclusions/.backupExclusionsTShock b/exclusions/.backupExclusionsTShock deleted file mode 100644 index 7246f479d..000000000 --- a/exclusions/.backupExclusionsTShock +++ /dev/null @@ -1,9 +0,0 @@ -bin -dotnet -i18n -ServerPlugins -GeoIP.dat -TShock.Installer -TShock.Installer.exe -TShock.Server -TShock.Server.exe diff --git a/exclusions/.backupExclusionsTerraria b/exclusions/.backupExclusionsTerraria deleted file mode 100644 index 2ced99cb6..000000000 --- a/exclusions/.backupExclusionsTerraria +++ /dev/null @@ -1,35 +0,0 @@ -Content -lib64 -steamapps -changelog.txt -FNA.dll -FNA.dll.config -installscript.vdf -Mono.Posix.dll -Mono.Security.dll -monoconfig -monomachineconfig -mscorlib.dll -open-folder -steam_appid.txt -SteelSeriesEngineWrapper.dll -System.Configuration.dll -System.Core.dll -System.Data.dll -System.dll -System.Drawing.dll -System.Numerics.dll -System.Runtime.Serialization.dll -System.Security.dll -System.Windows.Forms.dll -System.Windows.Forms.dll.config -System.Xml.dll -System.Xml.Linq.dll -Terraria -Terraria.bin.x86_64 -Terraria.exe -Terraria.png -TerrariaServer -TerrariaServer.bin.x86_64 -TerrariaServer.exe -WindowsBase.dll diff --git a/fivem.kvp b/fivem.kvp new file mode 100644 index 000000000..e646af18a --- /dev/null +++ b/fivem.kvp @@ -0,0 +1,101 @@ +Meta.DisplayName=FiveM - Grand Theft Auto V Server +Meta.Description=FiveM Multiplayer Mod for Grand Theft Auto V +Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://fivem.net/ +Meta.DisplayImageSource=steam:271590 +Meta.EndpointURIFormat= +Meta.ConfigManifest=fivemconfig.json +Meta.MetaConfigManifest=fivemmetaconfig.json +Meta.ConfigRoot=fivem.kvp +Meta.MinAMPVersion=2.4.6.4 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.DockerBaseReadOnly=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=True +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= +App.DisplayName=FiveM +App.RootDir=./fivem/ +App.BaseDirectory=./fivem/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin=server\FXServer.exe +App.ExecutableLinux=server/alpine/opt/cfx-server/ld-musl-x86_64.so.1 +App.WorkingDir=server-data +App.LinuxCommandLineArgs=--library-path "{{$FullBaseDir}}server/alpine/usr/lib/v8/:{{$FullBaseDir}}server/alpine/lib/:{{$FullBaseDir}}server/alpine/usr/lib/" -- "{{$FullBaseDir}}server/alpine/opt/cfx-server/FXServer" +set citizen_dir "{{$FullBaseDir}}server/alpine/opt/cfx-server/citizen/" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} {{CustomArgs}} +set gamename gta5 +set rcon_password {{$RemoteAdminPassword}} +set serverProfile default {{$FormattedArgs}} +exec server.cfg +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"271590","YARN_TIMEOUT_CONFIG":"100000"} +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":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] +App.AdminPortRef=ServerPort +App.PrimaryApplicationPortRef=ServerPort +App.UniversalSleepApplicationUDPPortRef=ServerPort +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=32 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=False +App.RemoteAdminPassword= +App.AdminMethod=QuakeRCON +App.AdminLoginTransform=None +App.LoginTransformPrefix= +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[fivemupdates.json] +App.PreStartStages=[] +App.ForceUpdate=False +App.ForceUpdateReason= +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex=\[[\d;]+m|\[\d+m +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex= +Console.AppReadyRegex=^\[ citizen-server-impl\] Authenticated with cfx\.re Nucleus: .*$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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/fivemconfig.json b/fivemconfig.json new file mode 100644 index 000000000..37b701cc9 --- /dev/null +++ b/fivemconfig.json @@ -0,0 +1,418 @@ +[ + { + "DisplayName":"Server Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ServerPort", + "InputType":"number", + "Hidden":true, + "ParamFieldName":"ServerPort", + "EnumValues":{} + }, + { + "DisplayName":"Server Build", + "Category":"Server Settings", + "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", + "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", + "FieldName":"ServerBuild", + "InputType":"enum", + "ParamFieldName":"ServerBuild", + "DefaultValue":"recommended_download", + "EnumValues":{ + "recommended_download":"Recommended (default)", + "optional_download":"Optional", + "latest_download":"Latest", + "critical_download":"Critical", + "SpecificVersion":"Specific version" + } + }, + { + "DisplayName":"Specific Build Version Download URL", + "Category":"Server Settings", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Release Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", + "Keywords":"server,build,artifact,specific,version", + "FieldName":"SpecificBuildVersionURL", + "InputType":"url", + "ParamFieldName":"SpecificBuildVersionURL", + "DefaultValue":"", + "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.7z", + "EnumValues":{} + }, + { + "DisplayName":"Resource GitHub Repo", + "Category":"Server Settings", + "Description":"Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", + "Keywords":"resource,repo,repository,github", + "FieldName":"ResourceRepo", + "InputType":"enum", + "ParamFieldName":"ResourceRepo", + "DefaultValue":"https://github.com/citizenfx/cfx-server-data.git", + "EnumValues":{ + "https://github.com/citizenfx/cfx-server-data.git":"Cfx.re standard repo (default)", + "{{CustomRepo}}":"Custom repo" + } + }, + { + "DisplayName":"Custom Repo URL", + "Category":"Server Settings", + "Description":"Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", + "Keywords":"resource,custom,repo,repository,github,url", + "FieldName":"CustomRepo", + "InputType":"url", + "ParamFieldName":"CustomRepo", + "DefaultValue":"", + "Placeholder":"https://github.com/username/reponame.git", + "EnumValues":{} + }, + { + "DisplayName":"Cfx.re Licence Key", + "Category":"Server Settings", + "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", + "Keywords":"licence,license,key,keymaster,sv_licenseKey", + "FieldName":"sv_licenseKey", + "InputType":"password", + "ParamFieldName":"sv_licenseKey", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Steam Web API Key", + "Category":"Server Settings", + "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", + "Keywords":"steam,web,api,key,steam_webApiKey", + "FieldName":"steam_webApiKey", + "InputType":"password", + "ParamFieldName":"steam_webApiKey", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the name that shows when selecting the server in the server browser", + "Keywords":"server,name,hostname", + "FieldName":"sv_hostname", + "InputType":"text", + "ParamFieldName":"sv_hostname", + "DefaultValue":"AMP Powered FiveM Server", + "EnumValues":{} + }, + { + "DisplayName":"Project Name", + "Category":"Server Settings", + "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", + "Keywords":"project,name,sv_projectName", + "FieldName":"sv_projectName", + "InputType":"text", + "ParamFieldName":"sv_projectName", + "DefaultValue":"AMP Powered FiveM Server", + "EnumValues":{} + }, + { + "DisplayName":"Project Description", + "Category":"Server Settings", + "Description":"Sets the description that shows in the server browser", + "Keywords":"project,description,sv_projectDesc", + "FieldName":"sv_projectDesc", + "InputType":"text", + "ParamFieldName":"sv_projectDesc", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Tags", + "Category":"Server Settings", + "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", + "Keywords":"tags", + "FieldName":"tags", + "InputType":"text", + "ParamFieldName":"tags", + "DefaultValue":"default", + "Placeholder":"default", + "EnumValues":{} + }, + { + "DisplayName":"Server Locale", + "Category":"Server Settings", + "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", + "Keywords":"locale,language,country", + "FieldName":"locale", + "InputType":"text", + "ParamFieldName":"locale", + "DefaultValue":"en-US", + "Placeholder":"en-US", + "EnumValues":{} + }, + { + "DisplayName":"Server Icon", + "Category":"Server Settings", + "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", + "Keywords":"server,icon,load_server_icon", + "FieldName":"load_server_icon", + "InputType":"text", + "ParamFieldName":"load_server_icon", + "DefaultValue":"", + "Placeholder":"myLogo.png", + "EnumValues":{} + }, + { + "DisplayName":"Server Detail Banner Image URL", + "Category":"Server Settings", + "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", + "Keywords":"banner,detail,image,url,banner_detail", + "FieldName":"banner_detail", + "InputType":"text", + "ParamFieldName":"banner_detail", + "DefaultValue":"", + "Placeholder":"https://url.to/image.png", + "EnumValues":{} + }, + { + "DisplayName":"Connecting Banner Image URL", + "Category":"Server Settings", + "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", + "Keywords":"banner,connecting,image,url,banner_connecting", + "FieldName":"banner_connecting", + "InputType":"text", + "ParamFieldName":"banner_connecting", + "DefaultValue":"", + "Placeholder":"https://url.to/image.png", + "EnumValues":{} + }, + { + "DisplayName":"Mark Server Private", + "Category":"Server Settings", + "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", + "Keywords":"private,server,list,sv_master1", + "FieldName":"sv_master1", + "InputType":"checkbox", + "ParamFieldName":"sv_master1", + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"sv_master1 \"\" " + } + }, + { + "DisplayName":"Starting Resources", + "Category":"Server Settings", + "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", + "Keywords":"ensure,resources", + "FieldName":"ensure", + "InputType":"Textarea", + "ParamFieldName":"ensure", + "DefaultValue":"ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", + "Placeholder":"ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", + "EnumValues":{} + }, + { + "DisplayName":"Enable Endpoint Privacy", + "Category":"Server Settings", + "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", + "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", + "FieldName":"sv_endpointPrivacy", + "InputType":"checkbox", + "ParamFieldName":"sv_endpointPrivacy", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enforce Game Build", + "Category":"Server Settings", + "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", + "Keywords":"enforce,game,build,sv_enforceGameBuild", + "FieldName":"sv_enforceGameBuild", + "InputType":"enum", + "ParamFieldName":"sv_enforceGameBuild", + "DefaultValue":"1604", + "EnumValues":{ + "1604":"1604 (Arena War)", + "2060":"2060 (Los Santos Summer Special)", + "2189":"2189 (Cayo Perico Heist)", + "2372":"2372 (Los Santos Tuners)", + "2545":"2545 (The Contract)", + "2612":"2612 (mpg9ec)", + "2699":"2699 (The Criminal Enterprises)", + "2802":"2802 (Los Santos Drug Wars)", + "2944":"2944 (San Andreas Mercenaries)" + } + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", + "Keywords":"maximum,players,clients,limit,maxClients", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "MaxValue":"2048", + "ParamFieldName":"sv_maxClients", + "DefaultValue":"32", + "Placeholder":"32", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"OneSync Mode", + "Category":"Server Settings", + "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", + "Keywords":"onesync,state,awareness,system", + "FieldName":"onesync", + "InputType":"enum", + "ParamFieldName":"onesync", + "DefaultValue":"on", + "EnumValues":{ + "off":"Off", + "on":"On (default)", + "legacy":"Legacy compatibility mode" + } + }, + { + "DisplayName":"Enable OneSync Population", + "Category":"Server Settings", + "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", + "Keywords":"onesync,population,npcs,vehicles,onesync_population", + "FieldName":"onesync_population", + "InputType":"checkbox", + "ParamFieldName":"onesync_population", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable OneSync Vehicle Distance Culling", + "Category":"Server Settings", + "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", + "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", + "FieldName":"onesync_distanceCullVehicles", + "InputType":"checkbox", + "ParamFieldName":"onesync_distanceCullVehicles", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable OneSync Forced Migration", + "Category":"Server Settings", + "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", + "Keywords":"onesync,force,migration,onesync_forceMigration", + "FieldName":"onesync_forceMigration", + "InputType":"checkbox", + "ParamFieldName":"onesync_forceMigration", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable OneSync Workaround", + "Category":"Server Settings", + "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", + "Keywords":"onesync,workaround,onesync_workaround763185", + "FieldName":"onesync_workaround763185", + "InputType":"checkbox", + "ParamFieldName":"onesync_workaround763185", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Scripthook Plugins", + "Category":"Server Settings", + "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", + "Keywords":"scripthook,plugins,sv_scriptHookAllowed", + "FieldName":"sv_scriptHookAllowed", + "InputType":"checkbox", + "ParamFieldName":"sv_scriptHookAllowed", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Block Modified Client Files", + "Category":"Server Settings", + "Description":"Sets whether players will be prevented from using modified client files", + "Keywords":"modified,client,files,sv_pureLevel", + "FieldName":"sv_pureLevel", + "InputType":"enum", + "ParamFieldName":"sv_pureLevel", + "DefaultValue":"", + "EnumValues":{ + "":"No block", + "sv_pureLevel 1":"Block all except audio files and known graphics mods", + "sv_pureLevel 2":"Block all" + } + }, + { + "DisplayName":"Access Control Commands", + "Category":"Server Settings", + "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", + "Keywords":"admin,access,control", + "FieldName":"AccessControlCommands", + "InputType":"Textarea", + "ParamFieldName":"AccessControlCommands", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Enable HTTP Flood Protection", + "Category":"Server Settings", + "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", + "Keywords":"http,flood,protection,sv_requestParanoia", + "FieldName":"sv_requestParanoia", + "InputType":"enum", + "ParamFieldName":"sv_requestParanoia", + "DefaultValue":"0", + "EnumValues":{ + "0":"Off (default)", + "1":"Level 1: Blocks IPs with 'Via' header requests", + "2":"Level 2: Previous + blocks IPs with 'Upgrade-Insecure-Requests' header requests", + "3":"Level 3: Previous + closes socket on which requests submitted" + } + }, + { + "DisplayName":"Server/RCON IP Binding", + "Category":"Server Settings", + "Description":"If required, you can change the IP binding of the server and RCON 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,endpoint,endpoint_add_udp,endpoint_add_tcp", + "FieldName":"$ApplicationIPBinding", + "InputType":"hidden", + "ParamFieldName":"ApplicationIPBinding", + "EnumValues":{} + }, + { + "DisplayName":"Additional Command Line Parameters", + "Category":"Server Settings", + "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", + "Keywords":"custom,server,arguments,variables,parameters", + "FieldName":"CustomArgs", + "InputType":"Textarea", + "ParamFieldName":"CustomArgs", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Additional Server Settings", + "Category":"Server Settings", + "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", + "Keywords":"additional,settings,custom", + "FieldName":"UserSettings", + "InputType":"Textarea", + "ParamFieldName":"UserSettings", + "DefaultValue":"", + "EnumValues":{} + } +] diff --git a/fivemmetaconfig.json b/fivemmetaconfig.json new file mode 100644 index 000000000..209e0d625 --- /dev/null +++ b/fivemmetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile":"server-data/server.cfg", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"./AMP_server.cfg" + } +] diff --git a/fivemserver.cfg b/fivemserver.cfg new file mode 100644 index 000000000..956a2edd3 --- /dev/null +++ b/fivemserver.cfg @@ -0,0 +1,32 @@ +# This file is controlled by AMP. Any manual changes will be overwritten +# If you need to add any extra settings, add them through the AMP UI + +{{UserSettings}} + +endpoint_add_tcp "{{ApplicationIPBinding}}:{{ServerPort}}" +endpoint_add_udp "{{ApplicationIPBinding}}:{{ServerPort}}" +sv_licenseKey "{{sv_licenseKey}}" +set steam_webApiKey "{{steam_webApiKey}}" +sv_hostname "{{sv_hostname}}" +sets sv_projectName "{{sv_projectName}}" +sets sv_projectDesc "{{sv_projectDesc}}" +sets tags "{{tags}}" +sets locale "{{locale}}" +load_server_icon "{{load_server_icon}}" +sets banner_detail "{{banner_detail}}" +sets banner_connecting "{{banner_connecting}}" +{{sv_master1}} +{{ensure}} +sv_endpointPrivacy {{sv_endpointPrivacy}} +sv_enforceGameBuild {{sv_enforceGameBuild}} +sv_maxClients {{sv_maxClients}} +set onesync {{onesync}} +set onesync_population {{onesync_population}} +set onesync_distanceCullVehicles {{onesync_distanceCullVehicles}} +set onesync_forceMigration {{onesync_forceMigration}} +set onesync_workaround763185 {{onesync_workaround763185}} +sv_scriptHookAllowed {{sv_scriptHookAllowed}} +{{sv_pureLevel}} +sv_requestParanoia {{sv_requestParanoia}} + +{{AccessControlCommands}} diff --git a/fivemupdates.json b/fivemupdates.json new file mode 100644 index 000000000..df5cfd16d --- /dev/null +++ b/fivemupdates.json @@ -0,0 +1,176 @@ +[ + { + "UpdateStageName":"Create Server Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}server", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Data Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}server-data", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Delete Binary Directory Contents", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server/alpine/*'" + }, + { + "UpdateStageName":"Delete Binary Directory Contents", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server\\alpine\\*" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.recommended_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"recommended_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.recommended_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"recommended_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.optional_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"optional_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.optional_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"optional_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.latest_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"latest_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.latest_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"latest_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.critical_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"critical_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.critical_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"critical_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"{{SpecificBuildVersionURL}}", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"SpecificVersion", + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"{{SpecificBuildVersionURL}}", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"SpecificVersion", + }, + { + "UpdateStageName":"Server Extract", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'cd ./fivem/server && tar -xf fx.tar.xz && rm -f fx.tar.xz'" + }, + { + "UpdateStageName":"Clone Resources Repo", + "UpdateSourcePlatform":"All", + "UpdateSource":"GitRepo", + "UpdateSourceData":"{{ResourceRepo}}", + "UpdateSourceTarget":"{{$FullBaseDir}}server-data" + }, + { + "UpdateStageName":"Server.cfg Template Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/fivemredm/fivemserver.cfg", + "UpdateSourceArgs":"AMP_server.cfg", + "UpdateSourceTarget":"{{$FullInstanceDir}}", + "OverwriteExistingFiles":true + } +] diff --git a/foundry-vtt.kvp b/foundry-vtt.kvp deleted file mode 100644 index c900af336..000000000 --- a/foundry-vtt.kvp +++ /dev/null @@ -1,89 +0,0 @@ -Meta.DisplayName=Foundry Virtual Tabletop -Meta.Description=Foundry Virtual Tabletop Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Native -Meta.Arch=All -Meta.Author=Greelan -Meta.URL=https://foundryvtt.com -Meta.DisplayImageSource=url:https://foundryvtt.com/static/assets/icons/fvtt.png -Meta.EndpointURIFormat= -Meta.ConfigManifest=foundry-vttconfig.json -Meta.MetaConfigManifest=foundry-vttmetaconfig.json -Meta.ConfigRoot=foundry-vtt.kvp -Meta.MinAMPVersion=2.4.3.2 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=3951?utm_source=ampcreate&utm_content=foundryvtt -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Foundry Virtual Tabletop -App.RootDir=./foundry-vtt/ -App.BaseDirectory=./foundry-vtt/ -App.ExecutableWin=node\node.exe -App.ExecutableLinux=node/bin/node -App.WorkingDir=server -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} resources/app/main.js --port={{$ServerPort}} --dataPath="{{$FullBaseDir}}data" {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={} -App.CommandLineParameterFormat=--{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=lock -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"TCP","Name":"Server Port","Description":"Port for game traffic","Port":30000,"Ref":"ServerPort"}] -App.AdminPortRef=ServerPort -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=ServerPort -App.MaxUsers=16 -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=@IncludeJson[foundry-vttupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName=main.js -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=^FoundryVTT \| [\d-]+ [\d:]+ \| \[info\] Server started and listening on port \d+$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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/foundry-vttconfig.json b/foundry-vttconfig.json deleted file mode 100644 index 618bd6666..000000000 --- a/foundry-vttconfig.json +++ /dev/null @@ -1,59 +0,0 @@ -[ - { - "DisplayName":"Server Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"$.port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Download URL", - "Category":"Server Settings", - "Description":"Sets the full URL to download the server from. [Login](https://foundryvtt.com/) to obtain a current timed URL, then update the server before the timeout. NOTE: Make sure to select the \"Linux/NodeJS\" version", - "Keywords":"download,url", - "FieldName":"DownloadURL", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DownloadURL", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"https://foundryvtt.s3.amazonaws.com", - "EnumValues":{} - }, - { - "DisplayName":"Node.js Version", - "Category":"Server Settings", - "Description":"Sets the [Node.js release version](https://nodejs.org/download/release/) to install to run the server. Minimum v16.x required. NOTE: Specify a numbered version like v18.16.0, rather than any \"latest\" version", - "Keywords":"node,nodejs,version", - "FieldName":"NodeVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"NodeVersion", - "IncludeInCommandLine":false, - "DefaultValue":"v18.16.0", - "Placeholder":"v18.16.0", - "EnumValues":{} - }, - { - "DisplayName":"Enable UPnP", - "Category":"Server Settings", - "Description":"If set, UPnP will be enabled on the server. This functionality requires a UPnP-enabled router to work", - "Keywords":"upnp", - "FieldName":"upnp", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"upnp", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - } -] diff --git a/foundry-vttmetaconfig.json b/foundry-vttmetaconfig.json deleted file mode 100644 index 65a4567b5..000000000 --- a/foundry-vttmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"data/Config/options.json", - "AutoMap":true, - "ConfigType":"json" - } -] \ No newline at end of file diff --git a/foundry-vttupdates.json b/foundry-vttupdates.json deleted file mode 100644 index f131c3fc5..000000000 --- a/foundry-vttupdates.json +++ /dev/null @@ -1,74 +0,0 @@ -[ - { - "UpdateStageName":"Server Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}server" - }, - { - "UpdateStageName":"Data Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}data" - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"{{DownloadURL}}", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UpdateSourceArgs":"FoundryVTT.zip", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Node.js Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-x64.tar.gz", - "UpdateSourceArch":"x86_64", - "UpdateSourceTarget":"{{$FullBaseDir}}" - }, - { - "UpdateStageName":"Node.js Extract", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd foundry-vtt && rm -Rf node && tar xf node-{{NodeVersion}}-linux-x64.tar.gz && mv node-{{NodeVersion}}-linux-x64 node && rm node-{{NodeVersion}}-linux-x64.tar.gz'", - "UpdateSourceArch":"x86_64" - }, - { - "UpdateStageName":"Node.js Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-arm64.tar.gz", - "UpdateSourceArch":"aarch64", - "UpdateSourceTarget":"{{$FullBaseDir}}" - }, - { - "UpdateStageName":"Node.js Extract", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd foundry-vtt && rm -Rf node && tar xf node-{{NodeVersion}}-linux-arm64.tar.gz && mv node-{{NodeVersion}}-linux-arm64 node && rm node-{{NodeVersion}}-linux-arm64.tar.gz'", - "UpdateSourceArch":"aarch64" - }, - { - "UpdateStageName":"Node.js Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-win-x64.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Node.js Extract", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C cd foundry-vtt & rmdir /S /Q node & rename node-{{NodeVersion}}-win-x64 node" - } -] diff --git a/frozen-flame.kvp b/frozen-flame.kvp deleted file mode 100644 index 6bcec04ae..000000000 --- a/frozen-flame.kvp +++ /dev/null @@ -1,78 +0,0 @@ -Meta.DisplayName=Frozen Flame -Meta.Description=Frozen Flame Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://frozen-flame.com/ -Meta.DisplayImageSource=steam:715400 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=frozen-flameconfig.json -Meta.MetaConfigManifest=frozen-flamemetaconfig.json -Meta.ConfigRoot=frozen-flame.kvp -Meta.MinAMPVersion=2.4.0.10 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Frozen Flame -App.RootDir=./frozen-flame/ -App.BaseDirectory=./frozen-flame/1348640/ -App.ExecutableWin=1348640\FrozenFlame\Binaries\Win64\FrozenFlameServer-Win64-Shipping.exe -App.ExecutableLinux=1348640/FrozenFlame/Binaries/Linux/FrozenFlameServer-Linux-Shipping -App.WorkingDir=1348640 -App.LinuxCommandLineArgs=FrozenFlame -stdout -App.WindowsCommandLineArgs=FrozenFlame -stdout -FullStdOutLogOutput -App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} -RconPort={{$RCONPort}} -RconPassword={{$RemoteAdminPassword}} -ip={{$ExternalIP}} {{noeac}}{{PublicServer}}{{$FormattedArgs}} -LOCALLOGTIMES -App.AppSettings={} -App.EnvironmentVariables={} -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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":25575,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.AdminPortRef=RCONPort -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPort=GamePort -App.UniversalSleepSteamQueryPort=QueryPort -App.MaxUsers=10 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword=Password123 -App.AdminMethod=SourceRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=@IncludeJson[frozen-flameupdates.json] -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogRCon: \([\d\.:]+:\d+\): started connection$ -Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogGameEvent: Player \((?<username>.+?):(?<userid>.+?)\) Connected$ -Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogGameEvent: Player \((?<username>.+?):(?<userid>.+?)\) Disconnected$ -Console.UserChatRegex=^$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/frozen-flameconfig.json b/frozen-flameconfig.json deleted file mode 100644 index e44cc8034..000000000 --- a/frozen-flameconfig.json +++ /dev/null @@ -1,592 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"Frozen Flame Server Settings", - "Description":"The name of the server as it appears publicly", - "Keywords":"name,servername", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"MetaGameServerName", - "IncludeInCommandLine":true, - "DefaultValue":"AMP Powered Frozen Flame Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Frozen Flame Server Settings", - "Description":"Password to connect to the server", - "Keywords":"server,password,serverpassword", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.FGameSession.ServerPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Game Mode", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the game mode (default map)", - "Keywords":"game,mode,gamemodesurvive,heavennormal,survival,cataclysm,campaign,heaven,serverdefaultmap", - "FieldName":"ServerDefaultMap", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[/Script/EngineSettings.GameMapsSettings]:ServerDefaultMap", - "IncludeInCommandLine":true, - "DefaultValue":"/Game/FrozenFlame/Maps/Heaven/Heaven.Heaven", - "EnumValues":{ - "/Game/FrozenFlame/Maps/Heaven/Heaven.Heaven":"Heaven/Campaign mode (default)", - "/Game/GameModeSurvive/Maps/Survive/Survive.Survive":"Cataclysm/Survival mode" - } - }, - { - "DisplayName":"Make Server Public", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, the server will be made publicly visible by setting the required meta server URL and meta server secret", - "Keywords":"meta,server,url,public,metaserverurl,metaserversecret", - "FieldName":"PublicServer", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PublicServer", - "IncludeInCommandLine":false, - "DefaultValue":"-ini:Engine:[URL]:MetaServerUrl=meta.frozen-flame.xyz -ini:Engine:[URL]:MetaServerSecret=TEuj7URa2horRuENjjpm3d1rqBPtHOz4 ", - "EnumValues":{ - "False":"", - "True":"-ini:Engine:[URL]:MetaServerUrl=meta.frozen-flame.xyz -ini:Engine:[URL]:MetaServerSecret=TEuj7URa2horRuENjjpm3d1rqBPtHOz4 " - } - }, - { - "DisplayName":"Player Limit", - "Category":"Frozen Flame Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Engine.GameSession.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Disable EasyAntiCheat", - "Category":"Frozen Flame Server Settings", - "Description":"If set, the server will be started without EasyAntiCheat (EAC). Clients should also be started without it", - "Keywords":"easy,anti,cheat,eac,noeac", - "FieldName":"noeac", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"noeac", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-noeac " - } - }, - { - "DisplayName":"Skip Tutorial", - "Category":"Frozen Flame Server Settings", - "Description":"If set, the tutorial will be skipped", - "Keywords":"skip,tutorial,bskiptutorial", - "FieldName":"bSkipTutorial", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bSkipTutorial", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable PvP", - "Category":"Frozen Flame Server Settings", - "Description":"If set, PvP for non-friends will be enabled", - "Keywords":"pvp,bfreepvp", - "FieldName":"bFreePVP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bFreePVP", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Day Length", - "Category":"Frozen Flame Server Settings", - "Description":"Sets how long a day lasts on the server", - "Keywords":"day,duration,length,durationofday", - "FieldName":"DurationOfDay", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.DurationOfDay", - "IncludeInCommandLine":false, - "DefaultValue":"3600", - "Suffix":"seconds", - "Placeholder":"3600", - "EnumValues":{} - }, - { - "DisplayName":"Health Rate After Respawn", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the health rate after death/upon respawn", - "Keywords":"health,rate,respawn,healthrateafterrespawn", - "FieldName":"HealthRateAfterRespawn", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.HealthRateAfterRespawn", - "IncludeInCommandLine":false, - "DefaultValue":"0.5", - "Placeholder":"0.5", - "EnumValues":{} - }, - { - "DisplayName":"Restore Health On Level Up", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, health will be restored on level up", - "Keywords":"health,restore,level,brestorehealthonlevelup", - "FieldName":"bRestoreHealthOnLevelUp", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bRestoreHealthOnLevelUp", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Jump Stamina Cost", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the stamina cost of jumping", - "Keywords":"stamina,cost,jumping,jumpstaminacost", - "FieldName":"JumpStaminaCost", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.JumpStaminaCost", - "IncludeInCommandLine":false, - "DefaultValue":"6", - "Placeholder":"6", - "EnumValues":{} - }, - { - "DisplayName":"Sprint Stamina Cost", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the stamina cost of sprinting", - "Keywords":"stamina,cost,sprinting,sprintstaminacost", - "FieldName":"SprintStaminaCost", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.SprintStaminaCost", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Armour Durability Reduction On Death", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the amount of armour durability lost after death. Defaults: 5 (Campaign), 25 (Survival)", - "Keywords":"armour,durability,loss,reduction,armordurabilityreducementafterdeath", - "FieldName":"ArmorDurabilityReducementAfterDeath", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.ArmorDurabilityReducementAfterDeath", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "EnumValues":{} - }, - { - "DisplayName":"Default Weapon Durability Cost", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the default weapon durability loss speed. Defaults: 0.3 (Campaign), 0.5 (Survival)", - "Keywords":"weapon,durability,cost,speed,defaultweapondurabilitycost", - "FieldName":"DefaultWeaponDurabilityCost", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.DefaultWeaponDurabilityCost", - "IncludeInCommandLine":false, - "DefaultValue":"0.3", - "Placeholder":"0.3", - "EnumValues":{} - }, - { - "DisplayName":"Disable Overweight System", - "Category":"Frozen Flame Server Settings", - "Description":"If set, disables the server's overweight system", - "Keywords":"disable,overweight,system,bdisableoverweight", - "FieldName":"bDisableOverweight", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.DefaultsOverTimeEffect.bDisableOverweight", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Half Slowdown Overweight Ratio", - "Category":"Frozen Flame Server Settings", - "Description":"If the overweight system is enabled, disables sprint for a player after the relevant ratio is reached. 1 = 100% (default)", - "Keywords":"half,slowdown,overweight,ratio,halfslowdownoverweightratio", - "FieldName":"HalfSlowdownOverweightRatio", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.HalfSlowdownOverweightRatio", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Full Slowdown Overweight Ratio", - "Category":"Frozen Flame Server Settings", - "Description":"If the overweight system is enabled, disables run and getting new items after the relevant ratio is reached. 1.5 = 150% (default)", - "Keywords":"full,slowdown,overweight,ratio,fullslowdownoverweightratio", - "FieldName":"FullSlowdownOverweightRatio", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.FullSlowdownOverweightRatio", - "IncludeInCommandLine":false, - "DefaultValue":"1.5", - "Placeholder":"1.5", - "EnumValues":{} - }, - { - "DisplayName":"Allow Teleport With Overweight", - "Category":"Frozen Flame Server Settings", - "Description":"If set, teleport is allowed when the overweight system is enabled", - "Keywords":"teleport,overweight,bisallowedtoteleportwithoverweight", - "FieldName":"bIsAllowedToTeleportWithOverweight", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bIsAllowedToTeleportWithOverweight", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Flying With Overweight", - "Category":"Frozen Flame Server Settings", - "Description":"If set, flying is allowed when the overweight system is enabled", - "Keywords":"flying,glide,overweight,bisallowedtoglidewithoverweight", - "FieldName":"bIsAllowedToGlideWithOverweight", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bIsAllowedToGlideWithOverweight", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Minimal Level To Drop Item After Death", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the minimum player level for dropping items after death (assuming the relevant drop settings are enabled)", - "Keywords":"minimum,level,drop,items,death,minimalleveltodropitemafterdeath", - "FieldName":"MinimalLevelToDropItemAfterDeath", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.MinimalLevelToDropItemAfterDeath", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Drop Equipped Items", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, equipped items will be dropped after death (assuming the minimum player level is reached)", - "Keywords":"drop,equipped,items,bdropequippeditems", - "FieldName":"bDropEquippedItems", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDropEquippedItems", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Drop Equipable Items", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, equipable items will be dropped after death (assuming the minimum player level is reached)", - "Keywords":"drop,equipable,items,bdropequipableitems", - "FieldName":"bDropEquipableItems", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDropEquipableItems", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Drop Food Items", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, food items will be dropped after death (assuming the minimum player level is reached)", - "Keywords":"drop,food,items,bdropfooditems", - "FieldName":"bDropFoodItems", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDropFoodItems", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Level Up Flame Rate", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the flame rate required for the level up multiplier", - "Keywords":"level,up,flame,rate,levelupflamerate", - "FieldName":"LevelUpFlameRate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.LevelUpFlameRate", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Monsters Health Multiplier", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the monsters health multiplier", - "Keywords":"monsters,health,multiplier,monstershealthmultiplier", - "FieldName":"MonstersHealthMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.MonstersHealthMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Monsters Damage Multiplier", - "Category":"Frozen Flame Server Settings", - "Description":"Sets the monsters damage multiplier", - "Keywords":"monsters,damage,multiplier,monstersdamagemultiplier", - "FieldName":"MonstersDamageMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.MonstersDamageMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Disable Module Cost", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, building will be allowed without material costs", - "Keywords":"disable,module,building,cost,bnomodulecost", - "FieldName":"bNoModuleCost", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bNoModuleCost", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Limitless Support", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, building will be allowed without restrictions", - "Keywords":"building,module,limitless,restrictions,blimitlesssupport", - "FieldName":"bLimitlessSupport", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bLimitlessSupport", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Invulnerable Modules", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, buildings will not decay", - "Keywords":"building,module,decay,invulnerable,binvulnerablemodules", - "FieldName":"bInvulnerableModules", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bInvulnerableModules", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Demolish Resource Drop Multiplier", - "Category":"Frozen Flame Server Settings", - "Description":"Sets how many resources to return after modules/buildings are destroyed", - "Keywords":"building,module,drop,resource,bdemolishresourcedropmultiplier", - "FieldName":"bDemolishResourceDropMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDemolishResourceDropMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0.5", - "Placeholder":"0.5", - "EnumValues":{} - }, - { - "DisplayName":"Ignore Difficulty", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, difficulty settings will be ignored (for local coop only)", - "Keywords":"ignore,difficulty,local,coop,bignoredifficulty", - "FieldName":"bIgnoreDifficulty", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bIgnoreDifficulty", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Decay Threshold", - "Category":"Frozen Flame Server Settings", - "Description":"Sets a minimum durability that keeps after weather decay system damage. Defaults: 0.5 (Campaign), 0 (Survival)", - "Keywords":"decay,threshold,minimum,durability,decaythreshold", - "FieldName":"DecayThreshold", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.DecayThreshold", - "IncludeInCommandLine":false, - "DefaultValue":"0.5", - "Placeholder":"0.5", - "EnumValues":{} - }, - { - "DisplayName":"Allow Only One Sentinel", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, only a single sentinel can be built", - "Keywords":"single,one,sentinel,allowed,bonlyonesentinelallowed", - "FieldName":"bOnlyOneSentinelAllowed", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bOnlyOneSentinelAllowed", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Building Only In Active Sentinel Radius", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, only building inside an active sentinel radius will be allowed", - "Keywords":"build,active,sentinel,radius,brequireactivesentinelforbuildingmode", - "FieldName":"bRequireActiveSentinelForBuildingMode", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bRequireActiveSentinelForBuildingMode", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Disable Destruction Hammer Tool", - "Category":"Frozen Flame Server Settings", - "Description":"If set, the destruction hammer tool will be disabled", - "Keywords":"disable,destruction,hammer,tool,bdisallowtodestroymoduleswithoutownership", - "FieldName":"bDisallowToDestroyModulesWithoutOwnership", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bDisallowToDestroyModulesWithoutOwnership", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Creatures To Damage Buildings", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, creatures will be able to damage buildings", - "Keywords":"allow,creatures,damage,buildings,ballowcreaturestodamagebuildings", - "FieldName":"bAllowCreaturesToDamageBuildings", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bAllowCreaturesToDamageBuildings", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Players To Damage Buildings", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, players will be able to damage buildings", - "Keywords":"allow,players,damage,buildings,ballowplayerstodamagebuildings", - "FieldName":"bAllowPlayersToDamageBuildings", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/FrozenFlame.GameBalance.bAllowPlayersToDamageBuildings", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Apply Restrictions Inside Energy Barriers", - "Category":"Frozen Flame Server Settings", - "Description":"If enabled, sets flying and some buildings restrictions inside energy barriers", - "Keywords":"restrictions,energy,barriers,bapplyrestrictionsinsideenergybarriers", - "FieldName":"bApplyRestrictionsInsideEnergyBarriers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Game/FrozenFlame/DataTables/Variables/BP_GameBalance_Base.BP_GameBalance_Base_C.bApplyRestrictionsInsideEnergyBarriers", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - } -] diff --git a/frozen-flamegame.ini b/frozen-flamegame.ini deleted file mode 100644 index 0ed5892fc..000000000 --- a/frozen-flamegame.ini +++ /dev/null @@ -1,53 +0,0 @@ -[/Script/Engine.GameSession] -MaxPlayers=10 - -[/Script/FrozenFlame.FGameSession] -ServerPassword= - -[/Script/FrozenFlame.GameBalance] -bFreePVP=True -DurationOfDay=3600 - -HealthRateAfterRespawn=0.5 -bRestoreHealthOnLevelUp=True -JumpStaminaCost=6 -SprintStaminaCost=1 - -ArmorDurabilityReducementAfterDeath=25 -DefaultWeaponDurabilityCost=0.5 - -HalfSlowdownOverweightRatio=1 -FullSlowdownOverweightRatio=1.5 -bIsAllowedToTeleportWithOverweight=False -bIsAllowedToGlideWithOverweight=False - -MinimalLevelToDropItemAfterDeath=0 -bDropEquippedItems=False -bDropEquipableItems=False -bDropFoodItems=False - -LevelUpFlameRate=1 -MonstersHealthMultiplier=1 -MonstersDamageMultiplier=1 - -bNoModuleCost=False -bLimitlessSupport=False -bInvulnerableModules=False -bDemolishResourceDropMultiplier=0.5 - -bIgnoreDifficulty=False - -DecayThreshold=0 - -bOnlyOneSentinelAllowed=True -bRequireActiveSentinelForBuildingMode=False -bDisallowToDestroyModulesWithoutOwnership=True - -bAllowCreaturesToDamageBuildings=False -bAllowPlayersToDamageBuildings=True - -[/Script/FrozenFlame.DefaultsOverTimeEffect] -bDisableOverweight=False - -[/Game/FrozenFlame/DataTables/Variables/BP_GameBalance_Base.BP_GameBalance_Base_C] -bApplyRestrictionsInsideEnergyBarriers=True diff --git a/frozen-flamegamemodesurvive.ini b/frozen-flamegamemodesurvive.ini deleted file mode 100644 index 41ac133a4..000000000 --- a/frozen-flamegamemodesurvive.ini +++ /dev/null @@ -1,16 +0,0 @@ -[/Script/FrozenFlame.GameBalance] -bSkipTutorial=False - -HealthRateAfterRespawn=0.5 -bRestoreHealthOnLevelUp=True - -ArmorDurabilityReducementAfterDeath=25 -DefaultWeaponDurabilityCost=0.5 - -bDropEquippedItems=False -bDropEquipableItems=True -bDropFoodItems=True - -bDemolishResourceDropMultiplier=0.5 - -DecayThreshold=0 \ No newline at end of file diff --git a/frozen-flameheavennormal.ini b/frozen-flameheavennormal.ini deleted file mode 100644 index e5da9419c..000000000 --- a/frozen-flameheavennormal.ini +++ /dev/null @@ -1,18 +0,0 @@ -[/Script/FrozenFlame.GameBalance] -HealthRateAfterRespawn=0.5 -bRestoreHealthOnLevelUp=True - -JumpStaminaCost=6 -SprintStaminaCost=1.0 - -ArmorDurabilityReducementAfterDeath=5 -DefaultWeaponDurabilityCost=0.3 - -HalfSlowdownOverweightRatio=1 -FullSlowdownOverweightRatio=1.5 - -LevelUpFlameRate=1.0 - -bDemolishResourceDropMultiplier=0.5 - -DecayThreshold=0.5 \ No newline at end of file diff --git a/frozen-flamemetaconfig.json b/frozen-flamemetaconfig.json deleted file mode 100644 index eec22d4c9..000000000 --- a/frozen-flamemetaconfig.json +++ /dev/null @@ -1,38 +0,0 @@ -[ - { - "ConfigFile":"FrozenFlame/Saved/Config/WindowsServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"FrozenFlame/Saved/Config/LinuxServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"FrozenFlame/Saved/Config/WindowsServer/GameModeSurvive.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"FrozenFlame/Saved/Config/LinuxServer/GameModeSurvive.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"FrozenFlame/Saved/Config/WindowsServer/HeavenNormal.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"FrozenFlame/Saved/Config/LinuxServer/HeavenNormal.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - } -] diff --git a/frozen-flameupdates.json b/frozen-flameupdates.json deleted file mode 100644 index 0a2069cc1..000000000 --- a/frozen-flameupdates.json +++ /dev/null @@ -1,82 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1348640", - "UpdateSourceArgs":"715400" - }, - { - "UpdateStageName":"SteamCMD Component Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1007", - "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Binaries/Win64/" - }, - { - "UpdateStageName":"Config Directory Creation", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}FrozenFlame/Saved/Config/WindowsServer" - }, - { - "UpdateStageName":"Config Directory Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer" - }, - { - "UpdateStageName":"Game.ini File Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegame.ini", - "UpdateSourceArgs":"Game.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/WindowsServer/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Game.ini File Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegame.ini", - "UpdateSourceArgs":"Game.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"GameModeSurvive.ini File Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegamemodesurvive.ini", - "UpdateSourceArgs":"GameModeSurvive.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/WindowsServer/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"GameModeSurvive.ini File Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flamegamemodesurvive.ini", - "UpdateSourceArgs":"GameModeSurvive.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"HeavenNormal.ini File Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flameheavennormal.ini", - "UpdateSourceArgs":"HeavenNormal.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/WindowsServer/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"HeavenNormal.ini File Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/frozen-flameheavennormal.ini", - "UpdateSourceArgs":"HeavenNormal.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}FrozenFlame/Saved/Config/LinuxServer/", - "OverwriteExistingFiles":false - } -] diff --git a/gatekeeperv2.kvp b/gatekeeperv2.kvp deleted file mode 100644 index 995383708..000000000 --- a/gatekeeperv2.kvp +++ /dev/null @@ -1,87 +0,0 @@ -Meta.DisplayName=GatekeeperV2 Bot -Meta.Description=AMP Discord Bot created by k8thekat - https://github.com/k8thekat/GatekeeperV2 -Meta.OS=Linux -Meta.Arch=x86_64 -Meta.Author=k8thekat, IceOfWraith -Meta.URL=https://github.com/k8thekat/GatekeeperV2 -Meta.DisplayImageSource=url:https://github.com/k8thekat/GatekeeperV2/raw/main/resources/Gatekeeperv2_Banner.jpg -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=gatekeeperv2config.json -Meta.MetaConfigManifest=gatekeeperv2metaconfig.json -Meta.ConfigRoot=gatekeeperv2.kvp -Meta.MinAMPVersion= -Meta.SpecificDockerImage=cubecoders/ampbase:python3 -Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=GatekeeperV2 Bot -App.RootDir=./gatekeeperv2/ -App.BaseDirectory=./gatekeeperv2/ -App.ExecutableWin=$PATH/python3 -App.ExecutableLinux=venv/bin/python3 -App.WorkingDir=GatekeeperV2-main -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=start.py -token {{dev}}{{debug}}{{discord}}{{super}}{{command}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={} -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":"UDP","Port":4444,"Ref":"Port","Name":"Port","Description":"Dummy port"}] -App.AdminPortRef=Port -App.PrimaryApplicationPortRef=Port -App.UniversalSleepApplicationUDPPortRef=Port -App.UniversalSleepSteamQueryPortRef=Port -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=@IncludeJson[gatekeepverv2updates.json] -App.PreStartStages=[{"UpdateStageName":"Create Virtual Environment","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c \"source '{{$FullRootDir}}venv/bin/activate'\""}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=True -App.MonitorChildProcess=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex= -Console.AppReadyRegex= -Console.UserJoinRegex= -Console.UserLeaveRegex= -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/gatekeeperv2config.json b/gatekeeperv2config.json deleted file mode 100644 index 738e9c921..000000000 --- a/gatekeeperv2config.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - { - "DisplayName": "Discord Bot Token", - "Category": "Bot Settings", - "Description": "Enter your [Discord Bot Token](https://discord.com/developers/applications/).", - "Keywords": "discord,token", - "FieldName": "token", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "token", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "319/f0dsA0jk0PKge2jkpSFWEauopbvejwaioj32omoi32JIOabdsajotjewq3jr2==" - }, - { - "DisplayName": "AMP User", - "Category": "Bot Settings", - "Description": "The Login Name for the account you want the bot to use. This account must have \"Super Admin\" privilege for setup of new instances and after upgrades.", - "Keywords": "amp,user", - "FieldName": "AMPUser", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "AMPUser", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "amp-bot" - }, - { - "DisplayName": "AMP Password", - "Category": "Bot Settings", - "Description": "The password for said Login.", - "Keywords": "amp,password", - "FieldName": "AMPPassword", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "AMPPassword", - "IncludeInCommandLine": false, - "DefaultValue": "" - }, - { - "DisplayName": "AMP 2FA Token", - "Category": "Bot Settings", - "Description": "The 2Factor AUTH Code for said Login.", - "Keywords": "amp,2factor,2fa,token", - "FieldName": "AMPAuth", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "AMPAuth", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "MQ2TMMETGB4WCYJY8NRDINDEMKQTGMZTMIZDOZTFME3TSMRXGA2A" - }, - { - "DisplayName": "AMP URL", - "Category": "Bot Settings", - "Description": "The URL or IP of your AMP ADS instance.", - "Keywords": "amp,url", - "FieldName": "AMPurl", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "AMPurl", - "IncludeInCommandLine": false, - "DefaultValue": "http://127.0.0.1:8080", - "Placeholder": "http://127.0.0.1:8080" - }, - { - "DisplayName": "Super Admin", - "Category": "Bot Settings", - "Description": "The bot requires Super Admin for first time setup of new instances and after upgrades. Enable this to keep the permission intact. Use at your own risk as this poses some security risk at the expense of convenience.", - "Keywords": "super,admin", - "FieldName": "super", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "super", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "False": "", - "True": " -super" - } - }, - { - "DisplayName": "Disable Discord Integration", - "Category": "Bot Settings", - "Description": "This setting is for dev use.", - "Keywords": "discord,integration", - "FieldName": "discord", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "discord", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "False": "", - "True": " -discord" - } - }, - { - "DisplayName": "Development Print Statements", - "Category": "Bot Settings", - "Description": "This setting is for dev use.", - "Keywords": "development,print,statements", - "FieldName": "dev", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "dev", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "False": "", - "True": " -dev" - } - }, - { - "DisplayName": "Command Print Statements", - "Category": "Bot Settings", - "Description": "This setting is for displaying the Discord User who issued the slash command.", - "Keywords": "command,print,statements", - "FieldName": "command", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "command", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "False": "", - "True": " -command" - } - }, - { - "DisplayName": "Debug Logging", - "Category": "Bot Settings", - "Description": "This setting is for dev use.", - "Keywords": "debug,logging", - "FieldName": "debug", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "debug", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "False": "", - "True": " -debug" - } - } -] diff --git a/gatekeeperv2metaconfig.json b/gatekeeperv2metaconfig.json deleted file mode 100644 index 0b8269462..000000000 --- a/gatekeeperv2metaconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "ConfigFile": "GatekeeperV2-main/tokens.py", - "AutoMap": false, - "ConfigType": "kvp", - "ConfigFormat": "{0} = '{1}'", - "Subsections": [ - { - "Heading": "$root", - "SettingMappings": { - "token": "token", - "AMPUser": "AMPUser", - "AMPPassword": "AMPPassword", - "AMPAuth": "AMPAuth", - "AMPurl": "AMPurl" - } - } - ] - } -] diff --git a/gatekeepverv2updates.json b/gatekeepverv2updates.json deleted file mode 100644 index 108d5ca92..000000000 --- a/gatekeepverv2updates.json +++ /dev/null @@ -1,25 +0,0 @@ -[ - { - "UpdateStageName": "Bot Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/k8thekat/GatekeeperV2/archive/refs/heads/main.zip", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "DeleteAfterExtract": true - }, - { - "UpdateStageName": "Create Virtual Environment", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Executable", - "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"rm -rf '{{$FullRootDir}}venv' && /usr/bin/python3 -m venv '{{$FullRootDir}}venv'\"" - }, - { - "UpdateStageName": "Pip & Discord.py Script", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Executable", - "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"source '{{$FullRootDir}}venv/bin/activate' && python3 -m pip install --upgrade pip && python3 -m pip install numpy requests && git clone https://github.com/Rapptz/discord.py && cd discord.py && python3 -m pip install discord.py\"" - } -] \ No newline at end of file diff --git a/geyser.kvp b/geyser.kvp deleted file mode 100644 index 54a2c6cef..000000000 --- a/geyser.kvp +++ /dev/null @@ -1,87 +0,0 @@ -Meta.DisplayName=Geyser -Meta.Description=Geyser Minecraft Proxy -Meta.OS=Windows, Linux -Meta.AarchSupport=Native -Meta.Arch=All -Meta.Author=Greelan -Meta.URL=https://geysermc.org/ -Meta.DisplayImageSource=url:https://camo.githubusercontent.com/2c38e59629bbb0f2e632c231416baf222119b55a24803cf548e04c26e2785760/68747470733a2f2f6765797365726d632e6f72672f696d672f6765797365722d313736302d3836302e706e67 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=geyserconfig.json -Meta.MetaConfigManifest= -Meta.ConfigRoot=geyser.kvp -Meta.MinAMPVersion=2.4.3.2 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Geyser -App.RootDir=./geyser/ -App.BaseDirectory=./geyser/ -App.ExecutableWin=java\bin\java.exe -App.ExecutableLinux=java/bin/java -App.WorkingDir= -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=-Xms{{MinMemory}}M -Xmx{{MaxMemory}}M {{CustomJavaArgs}} -jar Geyser.jar {{$PlatformArgs}} --bedrock.port={{$ServerPort}} {{$FormattedArgs}} nogui -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={} -App.CommandLineParameterFormat=--{0}="{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=geyser 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":"UDP","Port":19132,"Ref":"ServerPort","Name":"Server Port","Description":"Port for server traffic"}] -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef= -App.MaxUsers=100 -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=@IncludeJson[geyserupdates.json] -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=(\[m|\[\d+?;?\d+?m) -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[[\d:]+ INFO\] Done \([\d.]+s\)! Run \/geyser help for help!$ -Console.UserJoinRegex=^\[[\d:]+ INFO\] (?<username>.+?) \(logged in as: .+\) has connected to remote java server on address (?<ip>.+?)$ -Console.UserLeaveRegex=^\[[\d:]+ INFO\] (?<username>.+?) has disconnected from remote Java server on address (?<ip>.+?) because of (?<reason>.+)$ -Console.UserChatRegex=^$ -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/geyserconfig.json b/geyserconfig.json deleted file mode 100644 index f8ac8da4e..000000000 --- a/geyserconfig.json +++ /dev/null @@ -1,58 +0,0 @@ -[ - { - "DisplayName":"Java Version", - "Category":"Java Settings", - "Description":"Sets the Java version to install. Must be a major version number only such as 17 or 20, not a subversion. Check the [Geyser wiki](https://wiki.geysermc.org/geyser/setup/) for versions compatible with Geyser, and the [Oracle website](https://www.oracle.com/java/technologies/downloads/) for available downloads. Server must be updated after changing this setting", - "Keywords":"java,version", - "FieldName":"JavaVersion", - "InputType":"number", - "MinValue":"17", - "IsFlagArgument":false, - "ParamFieldName":"JavaVersion", - "IncludeInCommandLine":false, - "DefaultValue":"17", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Memory", - "Category":"Java Settings", - "Description":"Java's minimum heap size", - "Keywords":"minimum,memory,heap", - "FieldName":"MinMemory", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MinMemory", - "IncludeInCommandLine":false, - "DefaultValue":"1024", - "Suffix":"MB", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Memory", - "Category":"Java Settings", - "Description":"Java's maximum heap size", - "Keywords":"maximum,memory,heap", - "FieldName":"MaxMemory", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxMemory", - "IncludeInCommandLine":false, - "DefaultValue":"1024", - "Suffix":"MB", - "EnumValues":{} - }, - { - "DisplayName":"Additional Java Startup Parameters", - "Category":"Java Settings", - "Description":"Additional Java arguments (not server arguments) as startup parameters that are not otherwise set by AMP. Use with care", - "Keywords":"custom,java,arguments,parameters", - "FieldName":"CustomJavaArgs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomJavaArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"-XX:+UseG1GC", - "EnumValues":{} - } -] diff --git a/geyserupdates.json b/geyserupdates.json deleted file mode 100644 index 2b59df464..000000000 --- a/geyserupdates.json +++ /dev/null @@ -1,91 +0,0 @@ -[ - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastStableBuild/artifact/bootstrap/standalone/build/libs/Geyser-Standalone.jar", - "UpdateSourceArgs":"Geyser.jar", - "UpdateSourceTarget":"{{$FullRootDir}}", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Java Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_windows-x64_bin.zip", - "UpdateSourceTarget":"{{$FullRootDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Remove Old Java Directory", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C RD /S /Q .\\geyser\\java" - }, - { - "UpdateStageName":"Java Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_linux-x64_bin.tar.gz", - "UpdateSourceArch":"x86_64", - "UpdateSourceTarget":"{{$FullRootDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Java Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.oracle.com/java/{{JavaVersion}}/latest/jdk-{{JavaVersion}}_linux-aarch64_bin.tar.gz", - "UpdateSourceArch":"aarch64", - "UpdateSourceTarget":"{{$FullRootDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Pause Update Stages", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Pause", - "UpdateSourceArgs":"1" - }, - { - "UpdateStageName":"Rename New Java Directory", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C move .\\geyser\\jdk* .\\geyser\\java" - }, - { - "UpdateStageName":"Replace Java Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm -rf ./geyser/java ; mv ./geyser/jdk* ./geyser/java ; chmod +x ./geyser/java/bin/java'" - }, - { - "UpdateStageName":"Pause Update Stages", - "UpdateSourcePlatform":"All", - "UpdateSource":"Pause", - "UpdateSourceArgs":"2" - }, - { - "UpdateStageName":"Start Server", - "UpdateSourcePlatform":"All", - "UpdateSource":"StartApplication" - }, - { - "UpdateStageName":"Wait For Server Start", - "UpdateSourcePlatform":"All", - "UpdateSource":"WaitForStartupComplete" - }, - { - "UpdateStageName":"Stop Server", - "UpdateSourcePlatform":"All", - "UpdateSource":"ShutdownApplication" - } -] \ No newline at end of file diff --git a/ground-branch.kvp b/ground-branch.kvp deleted file mode 100644 index 2f40ee431..000000000 --- a/ground-branch.kvp +++ /dev/null @@ -1,100 +0,0 @@ -Meta.DisplayName=Ground Branch -Meta.Description=Ground Branch Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://www.groundbranch.com/ -Meta.DisplayImageSource=steam:16900 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=ground-branchconfig.json -Meta.MetaConfigManifest=ground-branchmetaconfig.json -Meta.ConfigRoot=ground-branch.kvp -Meta.MinAMPVersion=2.4.4.0 -Meta.SpecificDockerImage=cubecoders/ampbase:wine8 -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine 8 to run on Linux. Using a container avoids the need to install this dependency on the host. -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -Meta.ConfigVersion=0.0.0.0 -Meta.ReleaseNotes= -Meta.BreakingReleaseNotes= -App.DisplayName=Ground Branch -App.RootDir=./ground-branch/ -App.BaseDirectory=./ground-branch/476400/ -App.SteamWorkshopDownloadLocation={{$FullBaseDir}}GroundBranch/Mods -App.ExecutableWin=476400\GroundBranch\Binaries\Win64\GroundBranchServer-Win64-Shipping.exe -App.ExecutableLinux=/usr/bin/wine -App.WorkingDir=476400 -App.LinuxCommandLineArgs="./GroundBranch/Binaries/Win64/GroundBranchServer-Win64-Shipping.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{ServerMap}}?Mission={{ServerMission}}?{{$FormattedArgs}}{{CustomServerArgs}} Port={{$GamePort}} QueryPort={{$QueryPort}} MultiHome={{$ApplicationIPBinding}} -nohomedir -stdout -FullStdOutLogOutput -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"SteamAppId":"16900","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=16 -App.UseRandomAdminPassword=True -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[ground-branchupdates.json] -App.PreStartStages=[] -App.ForceUpdate=False -App.ForceUpdateReason= -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName=GroundBranchServer-Win64-Shipping.exe -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogWorld: Bringing up level for play took: \d+\.\d+$ -Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogNet: SteamSockets: New connection \(\d+\) over listening socket accepted (?<steamid>\d+?):\d+$ -Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogNet: UChannel::CleanUp: ChIndex == \d+\. Closing connection\. (?:.*?) RemoteAddr: (?<steamid>\d+?):\d+, (?:.*?)$ -Console.UserChatRegex=^$ -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 diff --git a/ground-branchconfig.json b/ground-branchconfig.json deleted file mode 100644 index 8066122cc..000000000 --- a/ground-branchconfig.json +++ /dev/null @@ -1,727 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"Ground Branch Server", - "Description":"Sets the name of the server as shown in the server browser. Maximum 64 characters", - "Keywords":"name,servername", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Ground Branch Server", - "EnumValues":{} - }, - { - "DisplayName":"MOTD", - "Category":"Ground Branch Server", - "Description":"Sets the player welcome message (MOTD). Maximum 512 characters. <br> = line break, <b> = bold line, <h1 - 3> = heading 1, 2, 3 etc", - "Keywords":"motd,welcome,message,servermotd", - "FieldName":"ServerMOTD", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.ServerMOTD", - "IncludeInCommandLine":false, - "DefaultValue":"<h1>Welcome!<br>This is my Ground Branch server.<br><b>Enjoy!", - "Placeholder":"<h1>Welcome!<br>This is my Ground Branch server.<br><b>Enjoy!", - "EnumValues":{} - }, - { - "DisplayName":"Server Web Banner", - "Category":"Ground Branch Server", - "Description":"Sets the URL of a jpg image to act as a server banner in-game where possible. Recommended resolution = 788 x 386", - "Keywords":"web,banner,serverwebbanner", - "FieldName":"ServerWebBanner", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.ServerWebBanner", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"www.images.com/myimage.jpeg", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Ground Branch Server", - "Description":"Sets the password for players to join the server. Default is no password", - "Keywords":"server,password,serverpassword", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.ServerPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Spectator Password", - "Category":"Ground Branch Server", - "Description":"Sets the password to join the server as a permanent spectator. Default is no password", - "Keywords":"server,password,spectator,spectatoronlypassword", - "FieldName":"SpectatorOnlyPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.SpectatorOnlyPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Map List", - "Category":"Ground Branch Server", - "Description":"A map list can be specified in GroundBranch/ServerConfig/MapList.ini. Used for automatic rotation or voting selection of maps. The map list is easiest to build from the in-game Admin menu, but can also be done manually", - "Keywords":"map,list,maplist", - "FieldName":"MapList", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"MapList", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Map", - "Category":"Ground Branch Server", - "Description":"Sets the map for the server, if no map list is specified in MapList.ini. Requires the Server Mission also to be set, otherwise the Server Default map will be used. To use a map not listed in the dropdown, select Custom and set the \"Custom Map Name\"", - "Keywords":"map", - "FieldName":"ServerMap", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerMap", - "IncludeInCommandLine":false, - "DefaultValue":"747", - "EnumValues":{ - "747":"747", - "Arena":"Arena", - "Arena2":"Arena II", - "City":"City", - "Compound":"Compound", - "Creek":"Creek", - "Depot":"Depot", - "Depot_Compound":"Depot (Compound)", - "Docks":"Docks", - "Paintball":"Paintball", - "PowerStation":"Power Station", - "RunDown":"Run Down", - "Rig":"Rig", - "SmallTown":"Small Town", - "StorageFacility":"Storage Facility", - "Tanker":"Tanker", - "TheFarm":"The Farm", - "{{CustomMap}}":"Custom" - } - }, - { - "DisplayName":"Custom Map Name", - "Category":"Ground Branch Server", - "Description":"Sets a custom map for the server. Custom type must be selected under \"Server Map\"", - "Keywords":"custom,map", - "FieldName":"CustomMap", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMap", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Mission", - "Category":"Ground Branch Server", - "Description":"Sets the mission to be used with the selected map. Check missions available for a map in GroundBranch/Content/GroundBranch/Mission. To use a mission not listed in the dropdown, select Custom and set the \"Custom Mission Name\"", - "Keywords":"mission", - "FieldName":"ServerMission", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerMission", - "IncludeInCommandLine":false, - "DefaultValue":"Deathmatch", - "EnumValues":{ - "Deathmatch":"Deathmatch", - "DTAS":"Dynamic Take and Secure (DTAS)", - "HostageRescue":"Hostage Rescue", - "IntelRetrieval":"Intel Retrieval", - "LastManStanding":"Last Man Standing", - "TeamElimination":"Team Elimination", - "TerroristHunt":"Terrorist Hunt", - "Training":"Training", - "Uplink":"Uplink", - "{{CustomMission}}":"Custom" - } - }, - { - "DisplayName":"Custom Mission Name", - "Category":"Ground Branch Server", - "Description":"Sets a custom mission to be used with the selected map. Custom type must be selected under \"Server Mission\"", - "Keywords":"custom,mission", - "FieldName":"CustomMission", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMission", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"", - "EnumValues":{} - }, - { - "DisplayName":"Server IP Binding", - "Category":"Ground Branch Server", - "Description":"If required, you can change the binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", - "Keywords":"ip,binding,multihome", - "FieldName":"MultiHome", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Ground Branch Server", - "Description":"Sets the maximum number of players that may connect to the server at one time. Recommended maximums: PvE/Co-op = 8, PvP = 16", - "Keywords":"maximum,players,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "MaxValue":"16", - "IsFlagArgument":false, - "ParamFieldName":"MaxPlayers", - "IncludeInCommandLine":true, - "DefaultValue":"16", - "Placeholder":"16", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Ground Branch Server", - "Description":"", - "Keywords":"", - "FieldName":"$MaxUsers", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.MaxPlayers", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Spectator Limit", - "Category":"Ground Branch Server", - "Description":"Sets the maximum number of spectators that may connect to the server at one time", - "Keywords":"maximum,spectators,limit,maxspectators", - "FieldName":"MaxSpectators", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.MaxSpectators", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"spectators", - "EnumValues":{} - }, - { - "DisplayName":"Server Admins", - "Category":"Ground Branch Server", - "Description":"Server admins can be specified in GroundBranch/ServerConfig/Admin.ini. Each admin on a new line, in the format: Admins=(Name=\"<name>\",UniqueId=\"<uniqueid>\",ContactInfo=\"<optional>\",Group=\"<group>\")", - "Keywords":"server,admins,serveradmins", - "FieldName":"ServerAdmins", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"ServerAdmins", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Additional Command Line Options", - "Category":"Ground Branch Server", - "Description":"Specifies additional command line options (if any) that are not otherwise set by AMP. ONE LINE ONLY! Format: ?<setting>=<value> (with no spaces between settings). Use with care", - "Keywords":"custom,server,options", - "FieldName":"CustomServerArgs", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"CustomServerArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Maximum AI", - "Category":"Ground Branch Gameplay", - "Description":"Sets the maximum number of AI used in any game mode. Recommended maximum = 30", - "Keywords":"ai,maximum,maxai", - "FieldName":"MaxAI", - "InputType":"number", - "MinValue":"0", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"MaxAI", - "IncludeInCommandLine":true, - "DefaultValue":"2", - "Placeholder":"2", - "Suffix":"AI", - "EnumValues":{} - }, - { - "DisplayName":"AI Number For Intel Retrieval / Terrorist Hunt", - "Category":"Ground Branch Gameplay", - "Description":"Sets the number of AI to spawn in the Intel Retrieval and Terrorist Hunt mission types. Limited to Maximum AI", - "Keywords":"ai,spawn,opforcount", - "FieldName":"OpForCount", - "InputType":"number", - "MinValue":"1", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"OpForCount", - "IncludeInCommandLine":true, - "DefaultValue":"1", - "Placeholder":"1", - "Suffix":"AI", - "EnumValues":{} - }, - { - "DisplayName":"AI Difficulty Level", - "Category":"Ground Branch Gameplay", - "Description":"Sets the difficulty settings to use for AI in the Intel Retrieval and Terrorist Hunt mission types", - "Keywords":"ai,difficulty", - "FieldName":"Difficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Difficulty", - "IncludeInCommandLine":true, - "DefaultValue":"2", - "EnumValues":{ - "0":"Custom", - "1":"Easy", - "2":"Normal", - "3":"Hard", - "4":"Veteran" - } - }, - { - "DisplayName":"Time Limit", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period until the game ends and the map changes. 0 = disabled", - "Keywords":"time,limit,timelimit", - "FieldName":"TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"TimeLimit", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Ready Countdown Time", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period between declaring ready and everyone being sent to the play area", - "Keywords":"ready,countdown,time,readycountdowntime", - "FieldName":"ReadyCountdownTime", - "InputType":"number", - "MinValue":"5", - "IsFlagArgument":false, - "ParamFieldName":"ReadyCountdownTime", - "IncludeInCommandLine":true, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Pre Round Wait Time", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period for which players are frozen before the round begins", - "Keywords":"pre,round,wait,time,preroundwaittime", - "FieldName":"PreRoundWaitTime", - "InputType":"number", - "MinValue":"5", - "IsFlagArgument":false, - "ParamFieldName":"PreRoundWaitTime", - "IncludeInCommandLine":true, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Round Time", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period for which each round lasts", - "Keywords":"round,time,roundtime", - "FieldName":"RoundTime", - "InputType":"number", - "MinValue":"3", - "IsFlagArgument":false, - "ParamFieldName":"RoundTime", - "IncludeInCommandLine":true, - "DefaultValue":"3", - "Placeholder":"3", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Post Round Wait Time", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period after a round ends before players are sent back to the ready room", - "Keywords":"post,round,wait,time,postroundwaittime", - "FieldName":"PostRoundWaitTime", - "InputType":"number", - "MinValue":"5", - "IsFlagArgument":false, - "ParamFieldName":"PostRoundWaitTime", - "IncludeInCommandLine":true, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Default PvE/Co-op Match Type", - "Category":"Ground Branch Gameplay", - "Description":"Sets the default match type for the PvE/Co-op game mode", - "Keywords":"match,type,pve,co-op,game,mode,pvematchtype", - "FieldName":"PVEMatchType", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVEMatchType", - "IncludeInCommandLine":false, - "DefaultValue":"Continuous", - "EnumValues":{ - "Continuous":"Continuous (default)", - "BestOf":"Best Of", - "FirstTo":"First To", - "Play":"Play", - "PlayUntilWin":"Play Until Win", - "TimeLimit":"Time Limit" - } - }, - { - "DisplayName":"Default PvE/Co-op Round Limit", - "Category":"Ground Branch Gameplay", - "Description":"Sets the default number of rounds (or default number of minutes in the case of the Time Limit match type) for the PvE/Co-op game mode", - "Keywords":"round,time,limit,pve,co-op,pveroundlimit", - "FieldName":"PVERoundLimit", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVERoundLimit", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Placeholder":"2", - "Suffix":"rounds/minutes", - "EnumValues":{} - }, - { - "DisplayName":"Default PvP Match Type", - "Category":"Ground Branch Gameplay", - "Description":"Sets the default match type for the PvP game mode", - "Keywords":"match,type,game,mode,pvp,pvpmatchtype", - "FieldName":"PVPMatchType", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVPMatchType", - "IncludeInCommandLine":false, - "DefaultValue":"Continuous", - "EnumValues":{ - "Continuous":"Continuous (default)", - "BestOf":"Best Of", - "FirstTo":"First To", - "Play":"Play", - "PlayUntilWin":"Play Until Win", - "TimeLimit":"Time Limit" - } - }, - { - "DisplayName":"Default PvP Round Limit", - "Category":"Ground Branch Gameplay", - "Description":"Sets the default number of rounds (or default number of minutes in the case of the Time Limit match type) for the PvP game mode", - "Keywords":"round,time,limit,pvp,pvproundlimit", - "FieldName":"PVPRoundLimit", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVPRoundLimit", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "Suffix":"rounds/minutes", - "EnumValues":{} - }, - { - "DisplayName":"Default PvP Free-For-All Match Type", - "Category":"Ground Branch Gameplay", - "Description":"Sets the default match type for the PvP free-for-all game mode", - "Keywords":"match,type,game,mode,pvp,ffa,pvpffamatchtype", - "FieldName":"PVPFFAMatchType", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVPFFAMatchType", - "IncludeInCommandLine":false, - "DefaultValue":"Continuous", - "EnumValues":{ - "Continuous":"Continuous (default)", - "BestOf":"Best Of", - "FirstTo":"First To", - "Play":"Play", - "PlayUntilWin":"Play Until Win", - "TimeLimit":"Time Limit" - } - }, - { - "DisplayName":"Default PvP Free-For-All Round Limit", - "Category":"Ground Branch Gameplay", - "Description":"Sets the default number of rounds (or default number of minutes in the case of the Time Limit match type) for the PvP free-for-all game mode", - "Keywords":"round,time,limit,pvp,ffa,pvpffaroundlimit", - "FieldName":"PVPFFARoundLimit", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.PVPFFARoundLimit", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "Suffix":"rounds/minutes", - "EnumValues":{} - }, - { - "DisplayName":"Game Rules", - "Category":"Ground Branch Gameplay", - "Description":"Sets the default game rules for the server", - "Keywords":"game,rules,gamerules", - "FieldName":"GameRules", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKServer.GameRules", - "IncludeInCommandLine":false, - "DefaultValue":"((\"AllowCheats\", False),(\"AllowDeadChat\", True),(\"AllowUnrestrictedRadio\", False),(\"AllowUnrestrictedVoice\", False),(\"SpectateEnemies\", True),(\"SpectateForceFirstPerson\", False),(\"SpectateFreeCam\", True),(\"UseTeamRestrictions\", False))", - "Placeholder":"((\"AllowCheats\", False),(\"AllowDeadChat\", True),(\"AllowUnrestrictedRadio\", False),(\"AllowUnrestrictedVoice\", False),(\"SpectateEnemies\", True),(\"SpectateForceFirstPerson\", False),(\"SpectateFreeCam\", True),(\"UseTeamRestrictions\", False))", - "EnumValues":{} - }, - { - "DisplayName":"Time Of Day", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time of day for starting the server, in military time", - "Keywords":"time,day,timeofday", - "FieldName":"TimeOfDay", - "InputType":"number", - "MinValue":"0000", - "MaxValue":"2400", - "IsFlagArgument":false, - "ParamFieldName":"TimeOfDay", - "IncludeInCommandLine":true, - "DefaultValue":"1200", - "Placeholder":"1200", - "EnumValues":{} - }, - { - "DisplayName":"Enable Spectator Free Camera", - "Category":"Ground Branch Gameplay", - "Description":"If enabled, spectators will be able to fly around freely without following anyone", - "Keywords":"spectator,fly,free,camera,spectatefreecam", - "FieldName":"SpectateFreeCam", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SpectateFreeCam", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Allow Spectators To Follow Enemies", - "Category":"Ground Branch Gameplay", - "Description":"If enabled, spectators will be able to follow members of enemy teams", - "Keywords":"spectator,enemy,follow,spectateenemies", - "FieldName":"SpectateEnemies", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SpectateEnemies", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Force Spectator First Person View", - "Category":"Ground Branch Gameplay", - "Description":"If enabled, spectators' view mode will be forced to first-person only", - "Keywords":"spectator,view,first,person,spectateforcefirstferson", - "FieldName":"SpectateForceFirstPerson", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SpectateForceFirstPerson", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Default Ban Duration", - "Category":"Ground Branch Gameplay", - "Description":"Sets the default time period that will populate in the Ban Duration prompt when a player moves to ban someone", - "Keywords":"ban,duration,defaultbanduration", - "FieldName":"DefaultBanDuration", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKBan.DefaultBanDuration", - "IncludeInCommandLine":false, - "DefaultValue":"720", - "Placeholder":"720", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Vote Duration", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period for voting", - "Keywords":"vote,duration,voteduration", - "FieldName":"VoteDuration", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKVote.VoteDuration", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Placeholder":"30", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Successful Vote Timeout", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period that must pass after a successful vote before another vote can be called", - "Keywords":"vote,successful,timeout,votesucceededtimeout", - "FieldName":"VoteSucceededTimeout", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKVote.VoteSucceededTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Failed Vote Timeout", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period that must pass after a failed vote before another vote can be called", - "Keywords":"vote,failed,timeout,votefailedtimeout", - "FieldName":"VoteFailedTimeout", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKVote.VoteFailedTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"180", - "Placeholder":"180", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Map Vote Timeout", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period that must pass before another map vote can be called", - "Keywords":"vote,map,timeout,mapvotetimeout", - "FieldName":"MapVoteTimeout", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKVote.MapVoteTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Placeholder":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Players For Voting", - "Category":"Ground Branch Gameplay", - "Description":"Sets the minimum number of players required to cast a vote", - "Keywords":"vote,minimum,players,minplayers", - "FieldName":"MinPlayers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKVote.MinPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Allow Voting Off Map List", - "Category":"Ground Branch Gameplay", - "Description":"If enabled, players can vote for maps outside of the server map list, assuming the \"changemap\" VotingCommands is specified in Vote.ini, and subject to any PermittedGameModes restrictions in Vote.ini", - "Keywords":"vote,map,off,list,ballowvotingoffmaplist", - "FieldName":"bAllowVotingOffMapList", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKVote.bAllowVotingOffMapList", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Maximum Teamkills", - "Category":"Ground Branch Gameplay", - "Description":"Sets the threshold number of teamkills before the server automoderates by banning the relevant player", - "Keywords":"teamkill,maximum,maxteamkills", - "FieldName":"MaxTeamKills", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKTeamKill.MaxTeamKills", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "Suffix":"teamkills", - "EnumValues":{} - }, - { - "DisplayName":"Teamkill Ban Time", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period for which a player will be banned if the teamkill server automoderation is activated", - "Keywords":"teamkill,ban,time,bantime", - "FieldName":"BanTime", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKTeamKill.BanTime", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Teamkill Expire Time Period", - "Category":"Ground Branch Gameplay", - "Description":"Sets the time period after which a teamkill will not be counted towards the Maximum Teamkills number", - "Keywords":"teamkill,expire,refresh,time,teamkillexpiretime", - "FieldName":"TeamKillExpireTime", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/RBZooKeeper.ZKTeamKill.TeamKillExpireTime", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Placeholder":"30", - "Suffix":"minutes", - "EnumValues":{} - } -] diff --git a/ground-branchmetaconfig.json b/ground-branchmetaconfig.json deleted file mode 100644 index 17ce44dc1..000000000 --- a/ground-branchmetaconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - { - "ConfigFile":"./GroundBranch/ServerConfig/Server.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormat":"{0}={1}", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"./GroundBranch/ServerConfig/Vote.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormat":"{0}={1}", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"./GroundBranch/ServerConfig/Ban.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormat":"{0}={1}", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"./GroundBranch/ServerConfig/TeamKill.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormat":"{0}={1}", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - } -] diff --git a/ground-branchserver.ini b/ground-branchserver.ini deleted file mode 100644 index 70891d967..000000000 --- a/ground-branchserver.ini +++ /dev/null @@ -1,15 +0,0 @@ -[/Script/RBZooKeeper.ZKServer] -ServerName=AMP Powered Ground Branch Server -ServerMOTD=<h1>Welcome!<br>This is my Ground Branch server.<br><b>Enjoy! -ServerPassword= -SpectatorOnlyPassword= -MaxPlayers=16 -MaxSpectators=0 -ServerWebBanner= -PVEMatchType=Continuous -PVERoundLimit=2 -PVPMatchType=Continuous -PVPRoundLimit=3 -PVPFFAMatchType=Continuous -PVPFFARoundLimit=1 -GameRules=(("AllowCheats", False),("AllowDeadChat", True),("AllowUnrestrictedRadio", False),("AllowUnrestrictedVoice", False),("SpectateEnemies", True),("SpectateForceFirstPerson", False),("SpectateFreeCam", True),("UseTeamRestrictions", False)) diff --git a/ground-branchteamkill.ini b/ground-branchteamkill.ini deleted file mode 100644 index 87b4348ad..000000000 --- a/ground-branchteamkill.ini +++ /dev/null @@ -1,4 +0,0 @@ -[/Script/RBZooKeeper.ZKTeamKill] -MaxTeamKills=3 -BanTime=60 -TeamKillExpireTime=30 diff --git a/ground-branchupdates.json b/ground-branchupdates.json deleted file mode 100644 index 47df18290..000000000 --- a/ground-branchupdates.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - { - "UpdateStageName":"Ground Branch SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"476400", - "UpdateSourceArgs":"16900", - "ForceDownloadPlatform":"Windows" - }, - { - "UpdateStageName":"Create ServerConfig Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}GroundBranch/ServerConfig" - }, - { - "UpdateStageName":"Create Mods Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}GroundBranch/Mods" - }, - { - "UpdateStageName":"Server.ini File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/ground-branchserver.ini", - "UpdateSourceArgs":"Server.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}GroundBranch/ServerConfig", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Vote.ini File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/ground-branchvote.ini", - "UpdateSourceArgs":"Vote.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}GroundBranch/ServerConfig", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"TeamKill.ini File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/ground-branchteamkill.ini", - "UpdateSourceArgs":"TeamKill.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}GroundBranch/ServerConfig", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Initialise Wine", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" - } -] diff --git a/ground-branchvote.ini b/ground-branchvote.ini deleted file mode 100644 index bedc4ce29..000000000 --- a/ground-branchvote.ini +++ /dev/null @@ -1,30 +0,0 @@ -[/Script/RBZooKeeper.ZKVote] -; The following settings must be set via the AMP UI - -VoteDuration=30 -VoteSucceededTimeout=60 -VoteFailedTimeout=180 -MapVoteTimeout=300 -MinPlayers=1 -bAllowVotingOffMapList=False - -; The following settings must be set manually in this file - -; VotingCommands sets the voting commands that will be available to the users -; Only changemap, nextmap, kick, missionsettings and restartround are available -VotingCommands=changemap -VotingCommands=nextmap -VotingCommands=kick -VotingCommands=missionsettings -VotingCommands=restartround - -; PermittedGameModes allows server admins to specify particular game modes which can be selected -; (without any restriction on which missions can be selected for those modes). -; For example (multiple can be listed): -; PermittedGameModes=TerroristHunt -; PermittedGameModes=IntelRetrieval -; Custom game modes can be listed here also (use the Lua script name - without spaces) -; Specify "any" to allow all game modes -PermittedGameModes=any - -; Note: restrictions to map list and restrictions to specific game modes are cumulative, i.e. both will restrict the selection in turn \ No newline at end of file diff --git a/hurtworld.kvp b/hurtworld.kvp deleted file mode 100644 index 02a8eb5fa..000000000 --- a/hurtworld.kvp +++ /dev/null @@ -1,59 +0,0 @@ -Meta.DisplayName=Hurtworld -Meta.Description=Hurtworld Dedicated Server -Meta.OS=Windows, Linux -Meta.Author=Greelan -Meta.URL=http://hurtworld.com -Meta.DisplayImageSource=steam:405100 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=hurtworldconfig.json -Meta.MetaConfigManifest=hurtworldmetaconfig.json -Meta.ConfigRoot=hurtworld.kvp -Meta.MinAMPVersion=2.3.3 -Meta.SpecificDockerImage= -Meta.Prerequsites=[] -App.DisplayName=Hurtworld -App.RootDir=./hurtworld/ -App.BaseDirectory=./hurtworld/405100/ -App.ExecutableWin=405100\Hurtworld.exe -App.ExecutableLinux=405100/Hurtworld.x86_64 -App.WorkingDir=405100 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics -exec "host {{$GamePort}} {{map}};queryport {{$QueryPort}};{{$FormattedArgs}}" -logfile "serverlog.txt" -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"393420"} -App.CommandLineParameterFormat={0} {1} -App.CommandLineParameterDelimiter=; -App.ExitMethod=OS_CLOSE -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":"Both","Name":"Game Port","Description":"Port for game traffic","Port":12871,"Ref":"GamePort"},{"Protocol":"Both","Name":"Query Port","Description":"Port for server query traffic","Port":12881,"Ref":"QueryPort"}] -App.PrimaryApplicationPortRef=GamePort -App.MaxUsers=20 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"405100","UpdateSourceArgs":"393420"},{"UpdateStageName":"uMod Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest","UpdateSourceArgs":"$.assets[1].browser_download_url","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"uMod","UpdateSourceConditionValue":"true","DeleteAfterExtract":true},{"UpdateStageName":"uMod Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest","UpdateSourceArgs":"$.assets[0].browser_download_url","UpdateSourceTarget":"{{$FullBaseDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"UpdateSourceConditionSetting":"uMod","UpdateSourceConditionValue":"true","DeleteAfterExtract":true}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex= -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= -Console.UpdateAvailableRegex= -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} diff --git a/hurtworldconfig.json b/hurtworldconfig.json deleted file mode 100755 index 8d61d15a5..000000000 --- a/hurtworldconfig.json +++ /dev/null @@ -1,382 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"host", - "IncludeInCommandLine":false, - "DefaultValue":"12871", - "EnumValues":{} - },{ - "DisplayName":"Query Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"queryport", - "IncludeInCommandLine":false, - "DefaultValue":"12881", - "EnumValues":{} - },{ - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Server name as shown in the server browser", - "Keywords":"name", - "FieldName":"servername", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"servername", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"My Hurtworld Server", - "EnumValues":{} - },{ - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"maximum,players", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"maxplayers", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"20", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - },{ - "DisplayName":"Map", - "Category":"Server Settings", - "Description":"Sets the map to load on the server", - "Keywords":"map", - "FieldName":"map", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"map", - "IncludeInCommandLine":false, - "DefaultValue":"nullius", - "Placeholder":"nullius", - "EnumValues":{} - },{ - "DisplayName":"Enable Creative Mode", - "Category":"Server Settings", - "Description":"If enabled, creative mode will apply (free build)", - "Keywords":"creative,mode", - "FieldName":"creativemode", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"creativemode", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - },{ - "DisplayName":"Add Admin", - "Category":"Server Settings", - "Description":"Steam64 ID of server admin. [Find Steam64 IDs](https://steamidfinder.com/)", - "Keywords":"admin", - "FieldName":"addadmin", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"addadmin", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "Placeholder":"58673958674589375", - "EnumValues":{} - },{ - "DisplayName":"Install uMod", - "Category":"Server Settings", - "Description":"If enabled, auto-installs uMod when the server is updated", - "Keywords":"install,umod", - "FieldName":"uMod", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"uMod", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Load Steam Workshop Mods", - "Category":"Server Settings", - "Description":"Space-separated list of Steam Workshop mod IDs to load on the server", - "Keywords":"mods", - "FieldName":"loadmod", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"loadmod", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "Placeholder":"714026119 704019543", - "EnumValues":{} - },{ - "DisplayName":"Enable Autowipe", - "Category":"Server Settings", - "Description":"If enabled, server wipe will be enabled", - "Keywords":"autowipe,wipe", - "FieldName":"autowipe", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"autowipe", - "IncludeInCommandLine":true, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - },{ - "DisplayName":"Wipe Interval", - "Category":"Server Settings", - "Description":"Sets the server wipe schedule, as shown in the server browser. A negative number will show no wipe. Needs wipe enabled to work", - "Keywords":"wipe,interval,schedule", - "FieldName":"wipeinterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"wipeinterval", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"1209600", - "Suffix":"seconds", - "Placeholder":"1209600", - "EnumValues":{} - },{ - "DisplayName":"Player Loot Mode", - "Category":"Server Settings", - "Description":"Sets the player loot mode. Note: Alternate loot modes are experimental and may not work properly", - "Keywords":"player,loot", - "FieldName":"playerlootmode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"playerlootmode", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{ - "":"Drop everything (default)", - "1":"Drop backpack contents only", - "2":"Drop backpack and one random item", - "3":"Drop backpack and two random items", - "4":"Drop backpack and three random items", - "5":"Drop nothing", - "6":"Destroy everything" - } - },{ - "DisplayName":"Enable Autosave", - "Category":"Server Settings", - "Description":"If enabled, server will be autosaved", - "Keywords":"autosave", - "FieldName":"autosaveenabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"autosaveenabled", - "IncludeInCommandLine":true, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - },{ - "DisplayName":"Auto Backup Interval", - "Category":"Server Settings", - "Description":"Sets how often the autosave should be backed up. Specify -1 to disable backup", - "Keywords":"backup,interval", - "FieldName":"autobackupinterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"autobackupinterval", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"7200", - "Suffix":"seconds", - "Placeholder":"7200", - "EnumValues":{} - },{ - "DisplayName":"Enable Structure Decay", - "Category":"Server Settings", - "Description":"If enabled, structures will decay", - "Keywords":"structure,decay", - "FieldName":"structuredecayenabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"structuredecayenabled", - "IncludeInCommandLine":true, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - },{ - "DisplayName":"Structure Decay Frequency", - "Category":"Server Settings", - "Description":"Sets how often a structure will be damaged by decay. Low values may have a performance impact", - "Keywords":"structure,decay,frequency", - "FieldName":"structuredecayfrequency", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"structuredecayfrequency", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"600", - "Placeholder":"600", - "EnumValues":{} - },{ - "DisplayName":"Structure Decay Damage", - "Category":"Server Settings", - "Description":"Sets how much damage occurs when a structure decays. Specify one value for a set damage amount, or specify two values for a range", - "Keywords":"structure,decay,damage", - "FieldName":"structuredecaydamage", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"structuredecaydamage", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"5 10", - "Placeholder":"5 10", - "EnumValues":{} - },{ - "DisplayName":"Structure Decay Start Time", - "Category":"Server Settings", - "Description":"Sets how long a structure must be both unclaimed and unmodified, before it begins to decay", - "Keywords":"structure,decay,modify,time", - "FieldName":"structuredecaymodifytime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"structuredecaymodifytime", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"86400", - "Placeholder":"86400", - "EnumValues":{} - },{ - "DisplayName":"Display Connection/Disconnection Messages", - "Category":"Server Settings", - "Description":"If enabled, connection and disconnection messages will be displayed", - "Keywords":"connection,disconnection,message", - "FieldName":"chatconnectionmessagesenabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"chatconnectionmessagesenabled", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - },{ - "DisplayName":"Display Death Messages", - "Category":"Server Settings", - "Description":"If enabled, death messages will be displayed", - "Keywords":"death,message", - "FieldName":"chatdeathmessagesenabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"chatdeathmessagesenabled", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - },{ - "DisplayName":"Chat Spam Filter Threshold", - "Category":"Server Settings", - "Description":"Sets the chat spam filter threshold. Lower values mean players will be muted sooner", - "Keywords":"chat,spam,filter", - "FieldName":"chatspambudget", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"chatspambudget", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"200", - "Placeholder":"200", - "EnumValues":{} - },{ - "DisplayName":"Spawner Time", - "Category":"Server Settings", - "Description":"Sets how much time spawners can take", - "Keywords":"spawner,time", - "FieldName":"spawnercellupdatesperframe", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"spawnercellupdatesperframe", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"20", - "Placeholder":"20", - "EnumValues":{} - },{ - "DisplayName":"Stake Deauthorise Time", - "Category":"Server Settings", - "Description":"Sets the time a full ownership stake will take to deauthorise", - "Keywords":"stake,deauthorise", - "FieldName":"stakedeauthtime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"stakedeauthtime", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"7200", - "Suffix":"seconds", - "Placeholder":"7200", - "EnumValues":{} - },{ - "DisplayName":"Target FPS", - "Category":"Server Settings", - "Description":"Sets the target FPS for the server. Specify -1 for unlimited (not recommended)", - "Keywords":"target,fps", - "FieldName":"targetfps", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"targetfps", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"100", - "Placeholder":"100", - "EnumValues":{} - },{ - "DisplayName":"Load Balancer Resources", - "Category":"Server Settings", - "Description":"Sets how many resources the Load Balancer can use per frame", - "Keywords":"load,balancer,resources", - "FieldName":"loadbalancerframebudget", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"loadbalancerframebudget", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"100", - "Placeholder":"100", - "EnumValues":{} - },{ - "DisplayName":"Enable Load Balancer Monitoring", - "Category":"Server Settings", - "Description":"If enabled, allows monitoring of the Load Balancer (view using \"dumploadbalancer\" command). Do not leave this enabled, as it has significant overhead", - "Keywords":"monitor,load,balancer", - "FieldName":"monitorloadbalancer", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"monitorloadbalancer", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - } -] diff --git a/hurtworldmetaconfig.json b/hurtworldmetaconfig.json deleted file mode 100644 index af8bedd9d..000000000 --- a/hurtworldmetaconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "ConfigFile":"autoexec.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"{0} {1}", - "ConfigFormatRegex":"^(?<key>.+?) (?<value>.*?)$" - } -] \ No newline at end of file diff --git a/icarus.kvp b/icarus.kvp deleted file mode 100644 index 571af7690..000000000 --- a/icarus.kvp +++ /dev/null @@ -1,87 +0,0 @@ -Meta.DisplayName=Icarus -Meta.Description=Icarus Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://surviveicarus.com/ -Meta.DisplayImageSource=steam:1149460 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=icarusconfig.json -Meta.MetaConfigManifest=icarusmetaconfig.json -Meta.ConfigRoot=icarus.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage=cubecoders/ampbase:wine8 -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine 7 (or later) to run on Linux. Using a container avoids the need to install this dependency on the host. -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Icarus -App.RootDir=./icarus/ -App.BaseDirectory=./icarus/2089300/ -App.ExecutableWin=2089300/Icarus/Binaries/Win64/IcarusServer-Win64-Shipping.exe -App.ExecutableLinux=/usr/bin/wine -App.WorkingDir=2089300 -App.LinuxCommandLineArgs="./Icarus/Binaries/Win64/IcarusServer-Win64-Shipping.exe" Icarus -ini:Engine:[OnlineSubsystemSteam]:AsyncTaskTimeout={{AsyncTaskTimeout}} -App.WindowsCommandLineArgs=Icarus -App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{StartupMode}}{{$FormattedArgs}} -stdout -FullStdOutLogOutput -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1149460","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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":"UDP","Port":17777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=8 -App.UseRandomAdminPassword=False -App.PersistRandomPassword=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":"2089300","UpdateSourceVersion":"{{ServerBranch}}","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=IcarusServer-Win64-Shipping.exe -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogInit: Display: Game Engine Initialized\.$ -Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogConnectedPlayers: Display: AddConnectedPlayer - UserId: (?<userid>.+?) \| PlayerName: (?<username>.+)$ -Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: (?<userid>.+?) has been removed\.$ -Console.UserChatRegex=^$ -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 diff --git a/icarusconfig.json b/icarusconfig.json deleted file mode 100644 index 77f6ab42d..000000000 --- a/icarusconfig.json +++ /dev/null @@ -1,422 +0,0 @@ -[ - { - "DisplayName":"Load Prospect", - "Category":"Icarus Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"LoadProspect", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.LoadProspect", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Create Prospect", - "Category":"Icarus Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"CreateProspect", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.CreateProspect", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Resume Prospect", - "Category":"Icarus Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"ResumeProspect", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.ResumeProspect", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{} - }, - { - "DisplayName":"Session Name", - "Category":"Icarus Server Settings", - "Description":"Sets the session name for the server to be displayed in the server browser. Limit of 64 characters", - "Keywords":"session,name", - "FieldName":"SessionName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SteamServerName", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"AMP Powered Icarus Server", - "EnumValues":{} - }, - { - "DisplayName":"Session Name", - "Category":"Icarus Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"SessionName", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.SessionName", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Icarus Server Settings", - "Description":"Sets the password to join the server. Default is no password", - "Keywords":"server,password", - "FieldName":"JoinPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"JoinPassword", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Icarus Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"JoinPassword", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.JoinPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Icarus Server Settings", - "Description":"Sets the admin RCON password. Default is a random, strong password", - "Keywords":"rcon,admin,password", - "FieldName":"AdminPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"AdminPassword", - "IncludeInCommandLine":true, - "DefaultValue":"{{newguid()}}", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Icarus Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"AdminPassword", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.AdminPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Icarus Server Settings", - "Description":"Maximum number of players that may connect to the server at one time", - "Keywords":"players,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Server IP Binding", - "Category":"Icarus Server Settings", - "Description":"Sets the binding of the server. Default is blank (all IPs). Change to internal interface IP only if the server has issues", - "Keywords":"ip,binding,localip,address,multihome", - "FieldName":"MultiHome", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Startup Mode", - "Category":"Icarus Server Settings", - "Description":"Sets the server startup mode. For \"Load existing prospect\", the Prospect Save Name must be set and the file must exist. For \"Create and launch new prospect\", the Prospect Type must be set; if no Prospect Save Name is set, a random save name will be created for regular prospects", - "Keywords":"startup,mode,load,create,resume,startupmode", - "FieldName":"StartupMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"StartupMode", - "IncludeInCommandLine":false, - "DefaultValue":"-CreateProspect=\"{{ProspectType}} {{Difficulty}} {{Hardcore}} {{ProspectSaveName}}\" ", - "EnumValues":{ - "":"Wait in lobby", - "-CreateProspect=\"{{ProspectType}} {{Difficulty}} {{Hardcore}} {{ProspectSaveName}}\" ":"Create and launch new prospect (default)", - "-LoadProspect={{ProspectSaveName}} ":"Load existing prospect", - "-ResumeProspect ":"Resume last prospect" - } - }, - { - "DisplayName":"Prospect Save Name", - "Category":"Icarus Server Settings", - "Description":"Sets the save name of the specific prospect to be loaded or created", - "Keywords":"prospect,save,name,prospectsavename", - "FieldName":"ProspectSaveName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ProspectSaveName", - "IncludeInCommandLine":false, - "DefaultValue":"DefaultProspect01", - "EnumValues":{} - }, - { - "DisplayName":"Prospect Type", - "Category":"Icarus Server Settings", - "Description":"Sets the prospect type to create a prospect with", - "Keywords":"prospect,type,prospecttype", - "FieldName":"ProspectType", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ProspectType", - "IncludeInCommandLine":false, - "DefaultValue":"Tier1_Forest_Recon_0", - "EnumValues":{ - "STYX_C_Construction":"Construction: Alcazar", - "STYX_A_Construction":"Construction: Highrise", - "Tier1_Forest_Construction":"Construction: Homestead", - "Tier2_Glacier_Construction_0":"Construction: Influx", - "Tier3_RiverLands_Construction":"Construction: Life Line", - "Tier2_Canyon_Construction_0":"Construction: Pyramid", - "Tier4_Desert_Construction_0":"Construction: Sandbox", - "Tier3_RiverLands_Delivery":"Delivery: Fire Walk", - "STYX_D_Delivery":"Delivery: Rendezvous", - "Tier4_Arctic_Expedition_0":"Expedition: Avalanche", - "Tier2_Canyon_Expedition_0":"Expedition: Dry Run", - "Tier4_Desert_Expedition_0":"Expedition: El Camino", - "Tier2_Glacier_Expedition_0":"Expedition: Icestorm", - "STYX_B_Expedition":"Expedition: Maelstrom", - "STYX_A_Expedition":"Expedition: Omphalos", - "STYX_C_Expedition":"Expedition: Ricochet", - "STYX_E_Expedition":"Expedition: Vertigo", - "Tier3_RiverLands_Expedition_0":"Expedition: Waterfall", - "STYX_D_Expedition":"Expedition: Zephyr", - "STYX_B_Exploration":"Exploration: Adagio", - "Tier1_Forest_Exploration_0":"Exploration: Argos", - "STYX_D_Exploration":"Exploration: Cavalcade", - "STYX_E_Exploration":"Exploration: Dust", - "Tier3_RiverLands_Exploration_0":"Exploration: Edelweiss", - "STYX_A_Exploration":"Exploration: Headlong", - "Tier2_Glacier_Exploration_0":"Exploration: High Wire", - "STYX_C_Exploration":"Exploration: Kismet", - "Tier4_Desert_Exploration_0":"Exploration: Promised Land", - "Tier2_Canyon_Exploration_0":"Exploration: Sandblast", - "Tier5_Omni_Exploration_0":"Exploration: Spirit Walk", - "Tier4_Arctic_Exploration_0":"Exploration: Tundra", - "STYX_C_Extermination2":"Extermination: Augmentation", - "STYX_C_Extermination":"Extermination: Ballistic", - "Tier4_Arctic_Extermination_0":"Extermination: Clean Up", - "Tier4_Desert_Extermination_0":"Extermination: Dust Up", - "STYX_B_Extermination2":"Extermination: Encroachment", - "STYX_B_Extermination":"Extermination: Halcyon", - "STYX_A_Extermination":"Extermination: Husk", - "Tier1_Forest_Extermination_0":"Extermination: Kill List", - "Tier4_Desert_Extermination_2":"Extermination: Loose Ends", - "STYX_D_Extermination":"Extermination: Lupine", - "Tier3_RiverLands_Extermination_0":"Extermination: Wet Work", - "Tier2_Glacier_Extraction_0":"Extraction: Deep Vein", - "Tier3_RiverLands_Extraction":"Extraction: Meridian", - "Tier4_Arctic_Extraction_0":"Extraction: Payday", - "STYX_E_Extraction":"Extraction: Remnant", - "Tier1_Farming":"Hydroponics: Agriculture", - "Outpost006_Olympus":"Open World: Olympus", - "OpenWorld_Styx":"Open World: Styx", - "Outpost002_Forest":"Outpost: Arcwood", - "Outpost005_Forest":"Outpost: Holdfast", - "Outpost003_Arctic":"Outpost: Iceholm", - "Tier1_Forest_Recon_0":"Recon: Beachhead (default)", - "Tier2_Glacier_Recovery_0":"Recovery: Broken Arrow", - "Tier4_Desert_Recovery":"Recovery: Concealment", - "Tier2_Canyon_Recovery_0":"Recovery: Field Test", - "Tier1_Forest_Defence":"Recovery: Forsaken", - "Tier4_Arctic_Recovery_0":"Recovery: Snowcrash", - "Tier5_Omni_Recovery":"Recovery: Voyager", - "STYX_D_Research_2":"Research: Abyss", - "Tier2_Canyon_Research_0":"Research: Bioshock", - "Tier4_Desert_Research_2":"Research: Carapace", - "Tier5_Omni_Research_2":"Research: Cryogenic", - "STYX_E_Research":"Research: Flatline", - "STYX_D_Research":"Research: Gossamer", - "STYX_B_Research":"Research: Ironclad", - "Tier4_Desert_Research_0":"Research: Nightwatch", - "Tier2_Glacier_Research_0":"Research: Resurgence", - "Tier1_Forest_Research_0":"Research: Strange Harvest", - "Tier5_Omni_Research":"Research: Unearthed", - "Tier3_RiverLands_Research_0":"Research: Uplift", - "Tier2_Canyon_Scan_0":"Scan: Death Ray", - "Tier3_RiverLands_Scan_0":"Scan: Incursion", - "Tier1_Forest_Scan_0":"Scan: Livewire", - "Tier2_Glacier_Scan_0":"Scan: Searchlight", - "Tier4_Desert_Scan_0":"Scan: Seven Pillars", - "Tier4_Arctic_Scan_0":"Scan: Snowblind", - "Tier4_Arctic_Stockpile":"Stockpile: Advanced Order", - "Tier1_Forest_Stockpile":"Stockpile: Agriculture", - "Tier3_RiverLands_Stockpile_2":"Stockpile: Big Shot", - "STYX_B_Stockpile":"Stockpile: Opulence", - "Tier2_Canyon_Stockpile2":"Stockpile: Preservation", - "Tier3_RiverLands_Stockpile_0":"Stockpile: Ramp Up", - "Tier2_Canyon_Stockpile":"Stockpile: Solid Metal", - "Tier1_Forest_WS_Stockpile":"Stockpile: Spelunking", - "Tier3_RiverLands_Survey_0":"Survey: Clustered", - "STYX_E_Survey":"Survey: Crescendo", - "Tier1_Forest_Survey_0":"Survey: Headstone", - "Tier2_Glacier_Survey_0":"Survey: Ice Line", - "Tier4_Desert_Survey":"Survey: Migrating Sands", - "Tier5_Omni_Olympus":"Survey: Nightfall", - "Tier2_Canyon_LongSurvey_0":"Survey: Sandy Bridges", - "Tier2_Canyon_Survey_0":"Survey: Spirit Level", - "Tier4_Arctic_Survey_0":"Survey: Station To Station", - "Tier1_Forest_Range":"Training: Potshot" - } - }, - { - "DisplayName":"Difficulty Level", - "Category":"Icarus Server Settings", - "Description":"Sets the difficulty level to create a prospect with", - "Keywords":"difficulty,level", - "FieldName":"Difficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Difficulty", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "1":"Easy", - "2":"Medium / Normal (default)", - "3":"Hard", - "4":"Extreme" - } - }, - { - "DisplayName":"Enable Hardcore", - "Category":"Icarus Server Settings", - "Description":"If set, hardcore mode will be enabled when creating a prospect (respawns will be disabled)", - "Keywords":"hardcore", - "FieldName":"Hardcore", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Hardcore", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"No Join Shutdown Interval", - "Category":"Icarus Server Settings", - "Description":"Sets the period after which the server will exit a prospect and return to the lobby, if no player has joined. -1 = run indefinitely, 0 = return to lobby immediately, >0 = interval for shutdown. Note that data loss/corruption may occur if the server is shut down in AMP before returning to the lobby", - "Keywords":"shutdown,not,joined,interval,shutdownifnotjoinedfor", - "FieldName":"ShutdownIfNotJoinedFor", - "InputType":"number", - "MinValue":"-1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.ShutdownIfNotJoinedFor", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Placeholder":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Empty Shutdown Interval", - "Category":"Icarus Server Settings", - "Description":"Sets the period after which the server will exit a prospect and return to the lobby, if the server becomes empty. -1 = run indefinitely, 0 = return to lobby immediately, >0 = interval for shutdown. Note that data loss/corruption may occur if the server is shut down in AMP before returning to the lobby", - "Keywords":"shutdown,not,joined,interval,shutdownifemptyfor", - "FieldName":"ShutdownIfEmptyFor", - "InputType":"number", - "MinValue":"-1", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.ShutdownIfEmptyFor", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Placeholder":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Allow Non-Admins To Load Prospects", - "Category":"Icarus Server Settings", - "Description":"If set, anyone who joins the lobby can create a new prospect or load an existing one. Otherwise, only admins can", - "Keywords":"non,admins,create,prospects,allownonadminstolaunchprospects", - "FieldName":"AllowNonAdminsToLaunchProspects", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.AllowNonAdminsToLaunchProspects", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Allow Non-Admins To Delete Prospects", - "Category":"Icarus Server Settings", - "Description":"If set, anyone who joins the lobby can delete existing prospects from the server. Otherwise, only admins can", - "Keywords":"non,admins,delete,prospects,allownonadminstodeleteprospects", - "FieldName":"AllowNonAdminsToDeleteProspects", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Icarus.DedicatedServerSettings.AllowNonAdminsToDeleteProspects", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Async Task Timeout", - "Category":"Icarus Server Settings", - "Description":"Sets the \"AsyncTaskTimeout\" parameter for Engine.ini. This can be helpful for resolving connection issues (Linux only)", - "Keywords":"async,task,timeout,connection,asynctasktimeout", - "FieldName":"AsyncTaskTimeout", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"AsyncTaskTimeout", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Server Branch", - "Category":"SteamCMD and Updates", - "Description":"Sets the server branch to install. The client must be on the same version. NOTE: Update the server after switching branches!", - "Keywords":"server,branch,depot", - "FieldName":"ServerBranch", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerBranch", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "EnumValues":{ - "public":"Public (default)", - "experimental":"Experimental" - } - } -] diff --git a/icarusmetaconfig.json b/icarusmetaconfig.json deleted file mode 100644 index a6a5317a1..000000000 --- a/icarusmetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile":"Icarus/Saved/Config/WindowsServer/ServerSettings.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - } -] diff --git a/icarusserversettings.ini b/icarusserversettings.ini deleted file mode 100644 index 53950fcb5..000000000 --- a/icarusserversettings.ini +++ /dev/null @@ -1,13 +0,0 @@ -[/Script/Icarus.DedicatedServerSettings] -SessionName=AMP Powered Icarus Server -JoinPassword= -MaxPlayers=8 -AdminPassword=Password123 -ShutdownIfNotJoinedFor=300 -ShutdownIfEmptyFor=300 -AllowNonAdminsToLaunchProspects=True -AllowNonAdminsToDeleteProspects=False -LoadProspect= -CreateProspect= -ResumeProspect=False -LastProspectName= diff --git a/impostor.kvp b/impostor.kvp deleted file mode 100644 index 172ecd348..000000000 --- a/impostor.kvp +++ /dev/null @@ -1,89 +0,0 @@ -Meta.DisplayName=Impostor - Among Us Server -Meta.Description=Impostor Dedicated Server - an open source private server implementation for Among Us -Meta.OS=Windows, Linux -Meta.AarchSupport=Native -Meta.Arch=All -Meta.Author=Greelan -Meta.URL=https://github.com/Impostor/Impostor -Meta.DisplayImageSource=steam:945360 -Meta.EndpointURIFormat= -Meta.ConfigManifest=impostorconfig.json -Meta.MetaConfigManifest=impostormetaconfig.json -Meta.ConfigRoot=impostor.kvp -Meta.MinAMPVersion=2.4.0.10 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Impostor -App.RootDir=./impostor/ -App.BaseDirectory=./impostor/ -App.ExecutableWin=Impostor.Server.exe -App.ExecutableLinux=Impostor.Server -App.WorkingDir= -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"DOTNET_ROOT":"{{$FullBaseDir}}dotnet"} -App.CommandLineParameterFormat=-{0} {1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -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":"Both","Port":22023,"Ref":"ServerPort","Name":"Game and HTTP Port","Description":"Port for game and HTTP matchmaking traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=100 -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=login {0} -App.UpdateSources=@IncludeJson[impostorupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\[\d+:\d+:\d+ INF\] Application started\. Press Ctrl\+C to shut down\.$ -Console.UserJoinRegex=^\[\d+:\d+:\d+ INF\] (?:.+?) - Player (?<username>.+?) \((?<sessionid>.+?)\) is joining\.$ -Console.UserLeaveRegex=^\[\d+:\d+:\d+ INF\] (?:.+?) - Player (?<username>.+?) \((?<sessionid>.+?)\) has left\.$ -Console.UserChatRegex=^$ -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 diff --git a/impostorconfig.json b/impostorconfig.json deleted file mode 100644 index 1edf86757..000000000 --- a/impostorconfig.json +++ /dev/null @@ -1,213 +0,0 @@ -[ - { - "DisplayName":"Public IP", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ExternalIP", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"$.Server.PublicIp", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Public Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"$.Server.PublicPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - - "DisplayName":"Listen Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"$.Server.ListenPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"HTTP Matchmaking Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"$.HttpServer.ListenPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"IP Binding", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationIPBinding", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"$.Server.ListenIp", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Build Stream", - "Category":"Server Settings", - "Description":"Sets the build stream for the server - either the mainline release stream, or the nightly (CI) stream. The Server Version also needs to be set. Back up configuration and update the server!", - "Keywords":"build,stream", - "FieldName":"BuildStream", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"BuildStream", - "IncludeInCommandLine":false, - "DefaultValue":"Release", - "EnumValues":{ - "Release":"Mainline (Default)", - "Nightly":"Nightly" - } - }, - { - "DisplayName":"Server Version", - "Category":"Server Settings", - "Description":"Sets the server version (either a [release](https://github.com/Impostor/Impostor/releases) version or a [nightly](https://nightly.link/Impostor/Impostor/workflows/ci/master) version) to install. For nightly, you must include the build number, such as \"1.7.3-ci.513\". Back up configuration and update the server!", - "Keywords":"server,version", - "FieldName":"ServerVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerVersion", - "IncludeInCommandLine":false, - "DefaultValue":"1.8.2", - "Placeholder":"1.8.2 | 1.8.2-ci.621", - "EnumValues":{} - }, - { - "DisplayName":"Dotnet Version", - "Category":"Server Settings", - "Description":"Sets the [ASP.NET Core 7.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) to install. Back up configuration and update the server!", - "Keywords":"dotnet,version", - "FieldName":"DotnetVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DotnetVersion", - "IncludeInCommandLine":false, - "DefaultValue":"7.0.5", - "Placeholder":"7.0.5", - "EnumValues":{} - }, - { - "DisplayName":"Client and HTTP Matchmaking Configuration", - "Category":"Server Settings", - "Description":"For a player to connect to the server, they must [configure their Among Us client](https://impostor.github.io/Impostor/). In addition, from late 2022, Among Us requires [HTTP matchmaking](https://github.com/Impostor/Impostor.Http#impostorhttp) for clients to connect. Set the desired HTTP Plugin Version to download, and configure the other Impostor.Http plugin settings as needed", - "Keywords":"client,configuration,http,matchmaking,plugin", - "FieldName":"", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"HTTP Plugin Version", - "Category":"Server Settings", - "Description":"Sets the [Impostor.HTTP plugin version](https://github.com/Impostor/Impostor.Http/releases) to install. Update the server!", - "Keywords":"http,matchmaking,plugin,version", - "FieldName":"HttpPluginVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"HttpPluginVersion", - "IncludeInCommandLine":false, - "DefaultValue":"0.4.0", - "Placeholder":"0.4.0", - "EnumValues":{} - }, - { - "DisplayName":"HTTP Matchmaking Plugin Binding", - "Category":"Server Settings", - "Description":"Sets the binding of the Impostor.Http plugin server. Use 0.0.0.0 if clients will connect to the plugin server directly. Otherwise you can use 127.0.0.1 or a local IP on the host, as appropriate, if using a reverse proxy for the plugin server traffic (preferred)", - "Keywords":"http,matchmaking,plugin,binding,listenip", - "FieldName":"HttpServerListenIp", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.HttpServer.ListenIp", - "IncludeInCommandLine":false, - "DefaultValue":"0.0.0.0", - "Placeholder":"0.0.0.0", - "EnumValues":{} - }, - { - "DisplayName":"Enable HTTPS For HTTP Matchmaking Plugin", - "Category":"Server Settings", - "Description":"If set, the Impostor.Http plugin server will use its own HTTPS (encrypted HTTP) rather than plain HTTP. Requires the HTTP Matchmaking Plugin Certificate Path to be set. Using a reverse proxy to provide HTTPS is preferred instead of using this setting. Note: HTTPS is required for iOS/Android devices to connect", - "Keywords":"http,matchmaking,plugin,https,secure,usehttps", - "FieldName":"HttpServerUseHttps", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.HttpServer.UseHttps", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"HTTP Matchmaking Plugin Certificate Path", - "Category":"Server Settings", - "Description":"Sets the path to an SSL certificate (in PFX format) to enable the Impostor.Http plugin server to use its own HTTPS", - "Keywords":"http,matchmaking,plugin,https,secure,certificate,path,certificatepath", - "FieldName":"HttpServerCertificatePath", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.HttpServer.CertificatePath", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Enable Anticheat", - "Category":"Server Settings", - "Description":"If set, anticheat will be enabled", - "Keywords":"anti,cheat", - "FieldName":"AntiCheat_Enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.AntiCheat.Enabled", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Ban IP", - "Category":"Server Settings", - "Description":"If enabled, anticheat will ban a hacking player from the server rather than just kicking them. The banned player will not be able to rejoin that game", - "Keywords":"anti,cheat,ban", - "FieldName":"AntiCheat_BanIpFromGame", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.AntiCheat.BanIpFromGame", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - } -] diff --git a/impostormetaconfig.json b/impostormetaconfig.json deleted file mode 100644 index 8681949fd..000000000 --- a/impostormetaconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "ConfigFile":"config.json", - "AutoMap":true, - "ConfigType":"json" - }, - { - "ConfigFile":"config_http.json", - "AutoMap":true, - "ConfigType":"json" - } -] \ No newline at end of file diff --git a/impostorupdates.json b/impostorupdates.json deleted file mode 100644 index b62b16759..000000000 --- a/impostorupdates.json +++ /dev/null @@ -1,156 +0,0 @@ -[ - { - "UpdateStageName":"Create Dotnet Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}dotnet" - }, - { - "UpdateStageName":"Create Libraries Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}libraries" - }, - { - "UpdateStageName":"Create Plugins Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}plugins" - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz", - "UpdateSourceArch":"x86_64", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-arm64.tar.gz", - "UpdateSourceArch":"aarch64", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Impostor Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/Impostor/Impostor/releases/download/v{{ServerVersion}}/Impostor-Server_{{ServerVersion}}_win-x64.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"BuildStream", - "UpdateSourceConditionValue":"Release" - }, - { - "UpdateStageName":"Impostor Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/Impostor/Impostor/releases/download/v{{ServerVersion}}/Impostor-Server_{{ServerVersion}}_linux-x64.tar.gz", - "UpdateSourceArch":"x86_64", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"BuildStream", - "UpdateSourceConditionValue":"Release" - }, - { - "UpdateStageName":"Impostor Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/Impostor/Impostor/releases/download/v{{ServerVersion}}/Impostor-Server_{{ServerVersion}}_linux-arm64.tar.gz", - "UpdateSourceArch":"aarch64", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"BuildStream", - "UpdateSourceConditionValue":"Release" - }, - { - "UpdateStageName":"Impostor Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://nightly.link/Impostor/Impostor/workflows/ci/master/Impostor-Server_{{ServerVersion}}_win-x64.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"BuildStream", - "UpdateSourceConditionValue":"Nightly" - }, - { - "UpdateStageName":"Impostor Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://nightly.link/Impostor/Impostor/workflows/ci/master/Impostor-Server_{{ServerVersion}}_linux-x64.zip", - "UpdateSourceArch":"x86_64", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"BuildStream", - "UpdateSourceConditionValue":"Nightly" - }, - { - "UpdateStageName":"Impostor Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://nightly.link/Impostor/Impostor/workflows/ci/master/Impostor-Server_{{ServerVersion}}_linux-arm64.zip", - "UpdateSourceArch":"aarch64", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"BuildStream", - "UpdateSourceConditionValue":"Nightly" - }, - { - "UpdateStageName":"Pause Update Stages", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Pause", - "UpdateSourceArgs":"2" - }, - { - "UpdateStageName":"Set Executable Flag", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"SetExecutableFlag", - "UpdateSourceArgs":"{{$FullBaseDir}}Impostor.Server" - }, - { - "UpdateStageName":"Impostor.Http Plugin Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/Impostor/Impostor.Http/releases/download/v{{HttpPluginVersion}}/Impostor.Http.dll", - "UpdateSourceTarget":"{{$FullBaseDir}}plugins", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Impostor.Http Plugin Config File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/Impostor/Impostor.Http/main/config_http.json", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "OverwriteExistingFiles":false - } -] \ No newline at end of file diff --git a/insurgencysandstorm.kvp b/insurgencysandstorm.kvp deleted file mode 100644 index 4f8bda918..000000000 --- a/insurgencysandstorm.kvp +++ /dev/null @@ -1,41 +0,0 @@ -App.AdminMethod=SourceRCON -App.ApplicationPort1=27102 -App.ApplicationPort2=27131 -App.ApplicationReadyMode=RegexMatch -App.BaseDirectory=./insurgencysandstorm/581330/ -App.CommandLineArgs={{Map}}?Scenario="{{Scenario}}"?Lighting="{{Lighting}}"?Game="{{Game}}"?Hostname="{{Hostname}}"?MaxPlayers="{{$MaxUsers}}"?password="{{password}}" -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -Rcon -RconPassword={{$RemoteAdminPassword}} -RconListenPort={{$RemoteAdminPort}} -log -GameStats -GameStatsToken={{GameStatsToken}} -GSLTToken={{GSLTToken}} {{Mods_enabled}} {{$FormattedArgs}} -App.CommandLineParameterFormat=-{0}="{1}" -App.CommandLineParameterDelimiter= -App.DisplayName=InsurgencySandstorm -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "581320"} -App.ExecutableLinux=581330/Insurgency/Binaries/Linux/InsurgencyServer-Linux-Shipping -App.ExecutableWin=581330\Insurgency\Binaries\Win64\InsurgencyServer-Win64-Shipping.exe -App.ExitMethod=String -App.ExitString=quit -App.RCONConnectDelaySeconds=15 -App.RCONConnectRetrySeconds=45 -App.HasReadableConsole=true -App.HasWritableConsole=true -App.RapidStartup=false -App.RemoteAdminPort=27015 -App.RootDir=./insurgencysandstorm/ -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":31,"UpdateSource":4,"UpdateSourceData":"581330","UpdateSourceArgs":"581320","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./insurgencysandstorm/581330/Insurgency/Saved/Config/WindowsServer"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./insurgencysandstorm/581330/Insurgency/Saved/Config/LinuxServer"},{"UpdateStageName":"Base Config Download","UpdateSourcePlatform":31,"UpdateSource":1,"UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/InsurgencySS_Game.ini","UpdateSourceArgs":null,"UpdateSourceVersion":null,"UpdateSourceTarget":"./","UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":31,"UpdateSource":2,"UpdateSourceData":"./insurgencysandstorm/581330/Insurgency/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"./insurgencysandstorm/InsurgencySS_Game.ini","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":31,"UpdateSource":2,"UpdateSourceData":"./insurgencysandstorm/581330/Insurgency/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"./insurgencysandstorm/InsurgencySS_Game.ini","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null}] -App.WorkingDir=581330 -App.UseRandomAdminPassword=True -App.MaxUsers=32 -Console.AppReadyRegex=^.*LogSession\: Display\: OnCreateSessionComplete\:.*Result: \(1\)$ -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserJoinRegex=^LogEOSAntiCheat\: Display\: ServerRegisterClient\: Client\: \((?<userid>.+?)\) Result\: \(EOS_Success\)$ -Console.UserLeaveRegex=^LogOnlineSession\: Warning\: STEAM \(NWI\): Player (?<userid>.+?) is not part of session \(GameSession\)$ -Console.UserChatRegex=^LogChat\: Display\: .*\((?<userid>.+?)\) .*\: (?<message>.+)$ -Meta.Author=Shinynecrid,IceOfWraith -Meta.ConfigManifest=insurgencysandstormconfig.json -Meta.MetaConfigManifest=insurgencysandstormmetaconfig.json -Meta.ConfigRoot=insurgencysandstorm.kvp -Meta.Description=Insurgency Sandstorm Dedicated Server -Meta.DisplayImageSource=steam:581320 -Meta.DisplayName=Insurgency Sandstorm -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} -Meta.OS=3 -Meta.URL=https://steamdb.info/app/581330/ diff --git a/insurgencysandstormconfig.json b/insurgencysandstormconfig.json deleted file mode 100644 index 0c31d6d4b..000000000 --- a/insurgencysandstormconfig.json +++ /dev/null @@ -1,1100 +0,0 @@ -[ - { - "DisplayName": "Starting Map", - "Category": "Server Config", - "Description": "Set the server's starting map. Not all scenarios work with all maps.", - "Keywords": "Map", - "FieldName": "Map", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Map", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "": "None/Random", - "Bab": "Bab", - "Canyon": "Crossing (Canyon)", - "Citadel": "Citadel", - "Farmhouse": "Farmhouse", - "Gap": "Gap", - "Town": "Hideout (Town)", - "Sinjar": "Hillside (Sinjar)", - "Ministry": "Ministry", - "Compound": "Outskirts (Compound)", - "OilField": "Refinery (Oilfield)", - "PowerPlant": "PowerPlant", - "Precinct": "Precinct", - "Mountain": "Summit (Mountain)", - "Tell": "Tell", - "Buhriz": "Tideway (Buhriz)" - }, - "SkipIfEmpty": true - }, - { - "DisplayName": "Starting Scenario", - "Category": "Server Config", - "Description": "Set the server's starting scenario. Not all scenarios work with all maps. Must be set to None/Random if no map is chosen.", - "Keywords": "Scenario", - "FieldName": "Scenario", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Scenario", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "": "None/Random", - "Scenario_Bab_Checkpoint_Insurgents": "Scenario_Bab_Checkpoint_Insurgents", - "Scenario_Bab_Checkpoint_Security": "Scenario_Bab_Checkpoint_Security", - "Scenario_Bab_Domination": "Scenario_Bab_Domination", - "Scenario_Bab_Firefight_East": "Scenario_Bab_Firefight_East", - "Scenario_Bab_Outpost": "Scenario_Bab_Outpost", - "Scenario_Bab_Push_Insurgents": "Scenario_Bab_Push_Insurgents", - "Scenario_Bab_Push_Security": "Scenario_Bab_Push_Security", - "Scenario_Citadel_Ambush": "Scenario_Citadel_Ambush", - "Scenario_Citadel_Checkpoint_Insurgents": "Scenario_Citadel_Checkpoint_Insurgents", - "Scenario_Citadel_Checkpoint_Security": "Scenario_Citadel_Checkpoint_Security", - "Scenario_Citadel_Domination": "Scenario_Citadel_Domination", - "Scenario_Citadel_Firefight_East": "Scenario_Citadel_Firefight_East", - "Scenario_Citadel_Outpost": "Scenario_Citadel_Outpost", - "Scenario_Citadel_Push_Insurgents": "Scenario_Citadel_Push_Insurgents", - "Scenario_Citadel_Push_Security": "Scenario_Citadel_Push_Security", - "Scenario_Citadel_Survival": "Scenario_Citadel_Survival", - "Scenario_Crossing_Ambush": "Scenario_Crossing_Ambush", - "Scenario_Crossing_Checkpoint_Insurgents": "Scenario_Crossing_Checkpoint_Insurgents", - "Scenario_Crossing_Checkpoint_Security": "Scenario_Crossing_Checkpoint_Security", - "Scenario_Crossing_Domination": "Scenario_Crossing_Domination", - "Scenario_Crossing_Firefight_West": "Scenario_Crossing_Firefight_West", - "Scenario_Crossing_Frontline": "Scenario_Crossing_Frontline", - "Scenario_Crossing_Push_Insurgents": "Scenario_Crossing_Push_Insurgents", - "Scenario_Crossing_Push_Security": "Scenario_Crossing_Push_Security", - "Scenario_Crossing_Skirmish": "Scenario_Crossing_Skirmish", - "Scenario_Crossing_Team_Deathmatch": "Scenario_Crossing_Team_Deathmatch", - "Scenario_Farmhouse_Ambush": "Scenario_Farmhouse_Ambush", - "Scenario_Farmhouse_Checkpoint_Insurgents": "Scenario_Farmhouse_Checkpoint_Insurgents", - "Scenario_Farmhouse_Checkpoint_Security": "Scenario_Farmhouse_Checkpoint_Security", - "Scenario_Farmhouse_Domination": "Scenario_Farmhouse_Domination", - "Scenario_Farmhouse_Firefight_East": "Scenario_Farmhouse_Firefight_East", - "Scenario_Farmhouse_Firefight_West": "Scenario_Farmhouse_Firefight_West", - "Scenario_Farmhouse_Frontline": "Scenario_Farmhouse_Frontline", - "Scenario_Farmhouse_Push_Insurgents": "Scenario_Farmhouse_Push_Insurgents", - "Scenario_Farmhouse_Push_Security": "Scenario_Farmhouse_Push_Security", - "Scenario_Farmhouse_Skirmish": "Scenario_Farmhouse_Skirmish", - "Scenario_Farmhouse_Team_Deathmatch": "Scenario_Farmhouse_Team_Deathmatch", - "Scenario_Farmhouse_Survival": "Scenario_Farmhouse_Survival", - "Scenario_Gap_Ambush": "Scenario_Gap_Ambush", - "Scenario_Gap_Checkpoint_Insurgents": "Scenario_Gap_Checkpoint_Insurgents", - "Scenario_Gap_Checkpoint_Security": "Scenario_Gap_Checkpoint_Security", - "Scenario_Gap_Domination": "Scenario_Gap_Domination", - "Scenario_Gap_Firefight": "Scenario_Gap_Firefight", - "Scenario_Gap_Frontline": "Scenario_Gap_Frontline", - "Scenario_Gap_Outpost": "Scenario_Gap_Outpost", - "Scenario_Gap_Push_Insurgents": "Scenario_Gap_Push_Insurgents", - "Scenario_Gap_Push_Security": "Scenario_Gap_Push_Security", - "Scenario_Gap_Survival": "Scenario_Gap_Survival", - "Scenario_Hideout_Ambush": "Scenario_Hideout_Ambush", - "Scenario_Hideout_Checkpoint_Insurgents": "Scenario_Hideout_Checkpoint_Insurgents", - "Scenario_Hideout_Checkpoint_Security": "Scenario_Hideout_Checkpoint_Security", - "Scenario_Hideout_Domination": "Scenario_Hideout_Domination", - "Scenario_Hideout_Firefight_East": "Scenario_Hideout_Firefight_East", - "Scenario_Hideout_Firefight_West": "Scenario_Hideout_Firefight_West", - "Scenario_Hideout_Frontline": "Scenario_Hideout_Frontline", - "Scenario_Hideout_Push_Insurgents": "Scenario_Hideout_Push_Insurgents", - "Scenario_Hideout_Push_Security": "Scenario_Hideout_Push_Security", - "Scenario_Hideout_Skirmish": "Scenario_Hideout_Skirmish", - "Scenario_Hideout_Team_Deathmatch": "Scenario_Hideout_Team_Deathmatch", - "Scenario_Hideout_Survival": "Scenario_Hideout_Survival", - "Scenario_Hillside_Ambush": "Scenario_Hillside_Ambush", - "Scenario_Hillside_Checkpoint_Insurgents": "Scenario_Hillside_Checkpoint_Insurgents", - "Scenario_Hillside_Checkpoint_Security": "Scenario_Hillside_Checkpoint_Security", - "Scenario_Hillside_Domination": "Scenario_Hillside_Domination", - "Scenario_Hillside_Firefight_East": "Scenario_Hillside_Firefight_East", - "Scenario_Hillside_Firefight_West": "Scenario_Hillside_Firefight_West", - "Scenario_Hillside_Frontline": "Scenario_Hillside_Frontline", - "Scenario_Hillside_Push_Insurgents": "Scenario_Hillside_Push_Insurgents", - "Scenario_Hillside_Push_Security": "Scenario_Hillside_Push_Security", - "Scenario_Hillside_Skirmish": "Scenario_Hillside_Skirmish", - "Scenario_Hillside_Team_Deathmatch": "Scenario_Hillside_Team_Deathmatch", - "Scenario_Hillside_Survival": "Scenario_Hillside_Survival", - "Scenario_Ministry_Ambush": "Scenario_Ministry_Ambush", - "Scenario_Ministry_Checkpoint_Insurgents": "Scenario_Ministry_Checkpoint_Insurgents", - "Scenario_Ministry_Checkpoint_Security": "Scenario_Ministry_Checkpoint_Security", - "Scenario_Ministry_Domination": "Scenario_Ministry_Domination", - "Scenario_Ministry_Firefight_A": "Scenario_Ministry_Firefight_A", - "Scenario_Ministry_Skirmish": "Scenario_Ministry_Skirmish", - "Scenario_Ministry_Team_Deathmatch": "Scenario_Ministry_Team_Deathmatch", - "Scenario_Outskirts_Checkpoint_Insurgents": "Scenario_Outskirts_Checkpoint_Insurgents", - "Scenario_Outskirts_Checkpoint_Security": "Scenario_Outskirts_Checkpoint_Security", - "Scenario_Outskirts_Firefight_East": "Scenario_Outskirts_Firefight_East", - "Scenario_Outskirts_Firefight_West": "Scenario_Outskirts_Firefight_West", - "Scenario_Outskirts_Frontline": "Scenario_Outskirts_Frontline", - "Scenario_Outskirts_Push_Insurgents": "Scenario_Outskirts_Push_Insurgents", - "Scenario_Outskirts_Push_Security": "Scenario_Outskirts_Push_Security", - "Scenario_Outskirts_Skirmish": "Scenario_Outskirts_Skirmish", - "Scenario_Outskirts_Team_Deathmatch": "Scenario_Outskirts_Team_Deathmatch", - "Scenario_Outskirts_Survival": "Scenario_Outskirts_Survival", - "Scenario_Precinct_Ambush": "Scenario_Precinct_Ambush", - "Scenario_Precinct_Checkpoint_Insurgents": "Scenario_Precinct_Checkpoint_Insurgents", - "Scenario_Precinct_Checkpoint_Security": "Scenario_Precinct_Checkpoint_Security", - "Scenario_Precinct_Firefight_East": "Scenario_Precinct_Firefight_East", - "Scenario_Precinct_Firefight_West": "Scenario_Precinct_Firefight_West", - "Scenario_Precinct_Frontline": "Scenario_Precinct_Frontline", - "Scenario_Precinct_Push_Insurgents": "Scenario_Precinct_Push_Insurgents", - "Scenario_Precinct_Push_Security": "Scenario_Precinct_Push_Security", - "Scenario_Precinct_Skirmish": "Scenario_Precinct_Skirmish", - "Scenario_Precinct_Team_Deathmatch": "Scenario_Precinct_Team_Deathmatch", - "Scenario_Precinct_Survival": "Scenario_Precinct_Survival", - "Scenario_Refinery_Ambush": "Scenario_Refinery_Ambush", - "Scenario_Refinery_Checkpoint_Insurgents": "Scenario_Refinery_Checkpoint_Insurgents", - "Scenario_Refinery_Checkpoint_Security": "Scenario_Refinery_Checkpoint_Security", - "Scenario_Refinery_Firefight_West": "Scenario_Refinery_Firefight_West", - "Scenario_Refinery_Frontline": "Scenario_Refinery_Frontline", - "Scenario_Refinery_Push_Insurgents": "Scenario_Refinery_Push_Insurgents", - "Scenario_Refinery_Push_Security": "Scenario_Refinery_Push_Security", - "Scenario_Refinery_Skirmish": "Scenario_Refinery_Skirmish", - "Scenario_Refinery_Team_Deathmatch": "Scenario_Refinery_Team_Deathmatch", - "Scenario_Summit_Ambush": "Scenario_Summit_Ambush", - "Scenario_Summit_Checkpoint_Insurgents": "Scenario_Summit_Checkpoint_Insurgents", - "Scenario_Summit_Checkpoint_Security": "Scenario_Summit_Checkpoint_Security", - "Scenario_Summit_Firefight_East": "Scenario_Summit_Firefight_East", - "Scenario_Summit_Firefight_West": "Scenario_Summit_Firefight_West", - "Scenario_Summit_Frontline": "Scenario_Summit_Frontline", - "Scenario_Summit_Push_Insurgents": "Scenario_Summit_Push_Insurgents", - "Scenario_Summit_Push_Security": "Scenario_Summit_Push_Security", - "Scenario_Summit_Skirmish": "Scenario_Summit_Skirmish", - "Scenario_Summit_Team_Deathmatch": "Scenario_Summit_Team_Deathmatch", - "Scenario_Summit_Survival": "Scenario_Summit_Survival", - "Scenario_Powerplant_Ambush": "Scenario_Powerplant_Ambush", - "Scenario_PowerPlant_Checkpoint_Insurgents": "Scenario_PowerPlant_Checkpoint_Insurgents", - "Scenario_PowerPlant_Checkpoint_Security": "Scenario_PowerPlant_Checkpoint_Security", - "Scenario_PowerPlant_Domination": "Scenario_PowerPlant_Domination", - "Scenario_PowerPlant_Firefight_East": "Scenario_PowerPlant_Firefight_East", - "Scenario_PowerPlant_Firefight_West": "Scenario_PowerPlant_Firefight_West", - "Scenario_PowerPlant_Push_Insurgents": "Scenario_PowerPlant_Push_Insurgents", - "Scenario_PowerPlant_Push_Security": "Scenario_PowerPlant_Push_Security", - "Scenario_PowerPlant_Survival": "Scenario_PowerPlant_Survival", - "Scenario_Tell_Ambush": "Scenario_Tell_Ambush", - "Scenario_Tell_Checkpoint_Insurgents": "Scenario_Tell_Checkpoint_Insurgents", - "Scenario_Tell_Checkpoint_Security": "Scenario_Tell_Checkpoint_Security", - "Scenario_Tell_Domination": "Scenario_Tell_Domination", - "Scenario_Tell_Firefight_East": "Scenario_Tell_Firefight_East", - "Scenario_Tell_Firefight_West": "Scenario_Tell_Firefight_West", - "Scenario_Tell_Outpost": "Scenario_Tell_Outpost", - "Scenario_Tell_Push_Insurgents": "Scenario_Tell_Push_Insurgents", - "Scenario_Tell_Push_Security": "Scenario_Tell_Push_Security", - "Scenario_Tell_Survival": "Scenario_Tell_Survival", - "Scenario_Tideway_Checkpoint_Insurgents": "Scenario_Tideway_Checkpoint_Insurgents", - "Scenario_Tideway_Checkpoint_Security": "Scenario_Tideway_Checkpoint_Security", - "Scenario_Tideway_Domination": "Scenario_Tideway_Domination", - "Scenario_Tideway_Firefight_West": "Scenario_Tideway_Firefight_West", - "Scenario_Tideway_Frontline": "Scenario_Tideway_Frontline", - "Scenario_Tideway_Push_Insurgents": "Scenario_Tideway_Push_Insurgents", - "Scenario_Tideway_Push_Security": "Scenario_Tideway_Push_Security" - }, - "SkipIfEmpty": true - }, - { - "DisplayName": "Starting Lighting", - "Category": "Server Config", - "Description": "Set the server's starting lighting. Must be set to Day if no map and Scenario are chosen.", - "Keywords": "Lighting", - "FieldName": "Lighting", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Lighting", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "": "Day", - "Night": "Night" - }, - "SkipIfEmpty": true - }, - { - "DisplayName": "Starting Game Mode", - "Category": "Server Config", - "Description": "Set the server's starting game mode. Must be set to None/Random if no map and Scenario are chosen.", - "Keywords": "Gamemode", - "FieldName": "Game", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Game", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "": "None/Random", - "CaptureTheBase": "Capture The Base", - "Checkpoint": "Checkpoint", - "CheckpointHardcore": "Checkpoint Hardcore", - "CheckpointTutorial": "Checkpoint Tutorial", - "Domination": "Domination", - "Filming": "Filming", - "Firefight": "Firefight", - "Frontline": "Frontline", - "Mission": "Mission", - "Occupy": "Occupy", - "Operations": "Operations", - "Outpost": "Outpost", - "Skirmish": "Skirmish", - "TeamDeathmatch": "Team Deathmatch" - }, - "SkipIfEmpty": true - }, - { - "DisplayName": "Hostname", - "Category": "Server Config", - "Description": "Set the servers hostname", - "Keywords": "Hostname", - "FieldName": "Hostname", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Hostname", - "IncludeInCommandLine": false, - "DefaultValue": "My Server Powered by AMP", - "EnumValues": {} - }, - { - "DisplayName": "Max Players", - "Category": "Server Config", - "Description": "Set server maximum amount of players", - "Keywords": "Max Users", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaxPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "32", - "EnumValues": {}, - "MinValue":"1" - }, - { - "DisplayName": "Token", - "Category": "Server Config", - "Description": "Set the steam GSLTToken APPID 581320 [Get A GSLToken ID](https://steamcommunity.com/dev/managegameservers/)", - "Keywords": "Token", - "FieldName": "GSLTToken", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "GSLTToken", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "SkipIfEmpty": true - }, - { - "DisplayName": "Game Stats Token", - "Category": "Server Config", - "Description": "Set the game stats token for XP Gain [Get A GameStats Token ID](https://gamestats.sandstorm.game/)", - "Keywords": "Stats", - "FieldName": "GameStatsToken", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "GameStatsToken", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "SkipIfEmpty": true - }, - { - "DisplayName": "Password", - "Category": "Server Config", - "Description": "Sets a password for the server", - "Keywords": "Password", - "FieldName": "password", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "password", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "SkipIfEmpty": true - }, - { - "DisplayName": "RCON Password", - "Category": "Server Config", - "Description": "See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords": "RCON,password", - "FieldName": "RCONPassword", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "RCONPassword", - "IncludeInCommandLine": false, - "EnumValues": {} - }, - { - "DisplayName": "Mutator", - "Category": "Server Config", - "Description": "Set server mutators (comma separated)", - "Keywords": "Mutator", - "FieldName": "mutators", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "mutators", - "IncludeInCommandLine": true, - "DefaultValue": "", - "EnumValues": {}, - "Placeholder": "HotPotato,Vampirism", - "SkipIfEmpty": true - }, - { - "DisplayName": "Rule Set", - "Category": "Server Config", - "Description": "Set the rules for the server", - "Keywords": "Rules", - "FieldName": "ruleset", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "ruleset", - "IncludeInCommandLine": true, - "DefaultValue": "", - "EnumValues": { - "": "None", - "CheckpointFrenzy": "Checkpoint Frenzy", - "CompetitiveFirefight": "Competitive Firefight", - "CompetitiveTheater": "Competitive Theater", - "MatchmakingCasual": "Matchmaking Casual", - "OfficialRules": "Official Rules" - }, - "SkipIfEmpty": true - }, - { - "DisplayName": "Mods Enabled", - "Category": "Server Config", - "Description": "Enables the server to use a Modlist", - "Keywords": "Mods", - "FieldName": "Mods_enabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "Mods_enabled", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "False": "", - "True": "-Mods -ModList=Mods" - } - }, - { - "DisplayName": "Mod Travel To", - "Category": "Server Config", - "Description": "Set the Mod Travel to", - "Keywords": "Mods", - "FieldName": "ModDownloadTravelTo", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "ModDownloadTravelTo", - "IncludeInCommandLine": true, - "DefaultValue": "", - "EnumValues": {}, - "Placeholder":"Canyon?Scenario=Scenario_Crossing_Checkpoint_Security?Lighting=Day", - "SkipIfEmpty": true - }, - { - "DisplayName": "MOTD", - "Category": "Server Config", - "Description": "Set the server MOTD", - "Keywords": "MOTD", - "FieldName": "Motd", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Motd", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "SkipIfEmpty": true - }, - { - "DisplayName": "Admin Players", - "Description": "A list of Steam64 IDs for players that are in-game admins. [Find your Steam64 ID](https://steamidfinder.com/)", - "FieldName": "AdminPlayers", - "Category": "Server Config", - "InputType": "list", - "Special": "listfile:./insurgencysandstorm/581330/Insurgency/Config/Server/Admins.txt" - }, - { - "DisplayName": "Map Cycle", - "Description": "A List of map scenarios for the server to use", - "FieldName": "MapCycle", - "Category": "Server Config", - "InputType": "list", - "Special": "listfile:./insurgencysandstorm/581330/Insurgency/Config/Server/MapCycle.txt" - }, - { - "DisplayName": "Mods", - "Description": "Define a list of Mods for the server to use.", - "FieldName": "Mods", - "Category": "Server Config", - "InputType": "list", - "Special": "listfile:./insurgencysandstorm/581330/Insurgency/Config/Server/Mods.txt" - }, - { - "DisplayName": "Kill Feed Enabled", - "Category": "Game Mode", - "Description": "Is the kill feed enabled?", - "Keywords": "Kill Feed", - "FieldName": "bKillFeed", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.bKillFeed", - "DefaultValue": "False", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Kill Feed Spectator", - "Category": "Game Mode", - "Description": "Is the kill feed enabled for dedicated spectators and replays?", - "Keywords": "Kill Feed", - "FieldName": "bKillFeedSpectator", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.bKillFeedSpectator", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Display Killer Info", - "Category": "Game Mode", - "Description": "Show information about a death (killer, weapon) to the victim?", - "Keywords": "Kill Feed", - "FieldName": "bKillerInfo", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.bKillerInfo", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Kill Distance Reveal", - "Category": "Game Mode", - "Description": "Reveal distance of kills?", - "Keywords": "Kill Feed", - "FieldName": "bKillerInfoRevealDistance", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.bKillerInfoRevealDistance", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Team Kill Limit", - "Category": "Game Mode", - "Description": "Limit for the number of team kills one player can perform before being kicked.", - "Keywords": "Team", - "FieldName": "TeamKillLimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.TeamKillLimit", - "DefaultValue": "3", - "EnumValues": {} - }, - { - "DisplayName": "Team Kill Grace Timer", - "Category": "Game Mode", - "Description": "Grace timer between team killing incidents.", - "Keywords": "Team", - "FieldName": "TeamKillGrace", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.TeamKillGrace", - "DefaultValue": "0.2", - "EnumValues": {} - }, - { - "DisplayName": "Team Kill Reduce Time", - "Category": "Game Mode", - "Description": "How long until a player’s TK count reduces by 1.", - "Keywords": "Team", - "FieldName": "TeamKillReduceTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.TeamKillReduceTime", - "DefaultValue": "90", - "EnumValues": {} - }, - { - "DisplayName": "Can the dead speak?", - "Category": "Game Mode", - "Description": "Can alive players see messages from the dead?", - "Keywords": "Voice", - "FieldName": "bDeadSay", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.bDeadSay", - "DefaultValue": "False", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Can the dead speak to teammates?", - "Category": "Game Mode", - "Description": "Can alive players see messages from dead teammates using team-only chat?", - "Keywords": "Voice", - "FieldName": "bDeadSayTeam", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.bDeadSayTeam", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Allow Dead Players Voice Chat?", - "Category": "Game Mode", - "Description": "Can alive players hear voice chat from dead players?", - "Keywords": "Voice", - "FieldName": "bVoiceAllowDeadChat", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.bVoiceAllowDeadChat", - "DefaultValue": "False", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Allow enemies to hear proximity chat?", - "Category": "Game Mode", - "Description": "Can proximity voice chat be heard by enemies?", - "Keywords": "Radio", - "FieldName": "bVoiceEnemyHearsLocal", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.bVoiceEnemyHearsLocal", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Allow radio chat to broadcast on local channel", - "Category": "Game Mode", - "Description": "Can radio chat also broadcast on the local channel?", - "Keywords": "Radio", - "FieldName": "bVoiceRadioBroadcastLocal", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.bVoiceRadioBroadcastLocal", - "DefaultValue": "False", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Objective Capture Time", - "Category": "Game Mode", - "Description": "How long it takes to capture territorial objectives.", - "Keywords": "Time", - "FieldName": "ObjectiveCaptureTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.ObjectiveCaptureTime", - "DefaultValue": "30", - "EnumValues": {} - }, - { - "DisplayName": "Objective Reset Time", - "Category": "Game Mode", - "Description": "How long objective progress decays with no one on the point. Negative value disables.", - "Keywords": "Time", - "FieldName": "ObjectiveResetTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.ObjectiveResetTime", - "DefaultValue": "-1", - "EnumValues": {} - }, - { - "DisplayName": "Objective Speed Up Time", - "Category": "Game Mode", - "Description": "Additional capture speed-up for each player on the point.", - "Keywords": "Time", - "FieldName": "ObjectiveSpeedup", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.ObjectiveSpeedup", - "DefaultValue": "0.25", - "EnumValues": {} - }, - { - "DisplayName": "Objective Speed Up Players", - "Category": "Game Mode", - "Description": "Maximum players taken into account for capture speed-up.", - "Keywords": "Time,Speed", - "FieldName": "ObjectiveMaxSpeedupPlayers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSGameMode.ObjectiveMaxSpeedupPlayers", - "DefaultValue": "4", - "EnumValues": {} - }, - { - "DisplayName": "Kill Feed Game Starting Intermission time", - "Category": "Game Mode", - "Description": "How long after a round starts before showing a kill feed", - "Keywords": "Time,Speed", - "FieldName": "bKillFeedGameStartingIntermissionTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bKillFeedGameStartingIntermissionTime", - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "Game Start Intermission Timer", - "Category": "Multiplayer Mode", - "Description": "The additional time to wait for additional players during the starting intermission.", - "Keywords": "Time", - "FieldName": "GameStartingIntermissionTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.GameStartingIntermissionTime", - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "Win Time", - "Category": "Multiplayer Mode", - "Description": "How long players are frozen before transitioning to the round intermission screen.", - "Keywords": "Time", - "FieldName": "WinTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.WinTime", - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "Time Spent on Intermision Screen.", - "Category": "Multiplayer Mode", - "Description": "How long is spent on the intermission screen.", - "Keywords": "Time", - "FieldName": "PostRoundTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.PostRoundTime", - "DefaultValue": "15", - "EnumValues": {} - }, - { - "DisplayName": "Time Spent inbetween rounds", - "Category": "Multiplayer Mode", - "Description": "How much time is spent between last post round and game over.", - "Keywords": "Time", - "FieldName": "PostGameTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.PostGameTime", - "DefaultValue": "15", - "EnumValues": {} - }, - { - "DisplayName": "Auto Assign Teams?", - "Category": "Multiplayer Mode", - "Description": "Should teams be assigned on connect?", - "Keywords": "Team", - "FieldName": "bAutoAssignTeams", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bAutoAssignTeams", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Allow Friendly Fire?", - "Category": "Multiplayer Mode", - "Description": "Enables friendly fire.", - "Keywords": "Team", - "FieldName": "bAllowFriendlyFire", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bAllowFriendlyFire", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Friendly Fire Damage Modifier", - "Category": "Multiplayer Mode", - "Description": "Damage modifier for friendly fire", - "Keywords": "Damage", - "FieldName": "FriendlyFireModifier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.FriendlyFireModifier", - "DefaultValue": "0.2", - "EnumValues": {} - }, - { - "DisplayName": "Friendly Fire Reflect Damage", - "Category": "Multiplayer Mode", - "Description": "Damage modifier for friendly fire that is mirrored back at the attacker.", - "Keywords": "Damage", - "FieldName": "FriendlyFireReflect", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.FriendlyFireReflect", - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Auto Balance Teams", - "Category": "Multiplayer Mode", - "Description": "Enables auto team balancing.", - "Keywords": "Team", - "FieldName": "bAutoBalanceTeams", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bAutoBalanceTeams", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Auto Balance Delay", - "Category": "Multiplayer Mode", - "Description": "How long to wait after detecting unbalanced teams.", - "Keywords": "Team", - "FieldName": "AutoBalanceDelay", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.AutoBalanceDelay", - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "Map Voting", - "Category": "Multiplayer Mode", - "Description": "Enabled map voting at the end of each game.", - "Keywords": "Map,Voting", - "FieldName": "bMapVoting", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bMapVoting", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Enable Map Cycle", - "Category": "Multiplayer Mode", - "Description": "Enables the use of the map cycle. If disabled, the current map loops indefinitely.", - "Keywords": "Map", - "FieldName": "bUseMapCycle", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bUseMapCycle", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Allow Voice During Intermission?", - "Category": "Multiplayer Mode", - "Description": "Allow both teams to talk to each other between rounds.", - "Keywords": "Voice", - "FieldName": "bVoiceIntermissionAllowAll", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bVoiceIntermissionAllowAll", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Idle Kick Timer", - "Category": "Multiplayer Mode", - "Description": "How long a player can be idle for before being kicked.", - "Keywords": "Time", - "FieldName": "IdleLimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.IdleLimit", - "DefaultValue": "150", - "EnumValues": {} - }, - { - "DisplayName": "Low Reinforcements Idle Timer", - "Category": "Multiplayer Mode", - "Description": "How long a player can idle for when there are low reinforcements.", - "Keywords": "Time", - "FieldName": "IdleLimitLowReinforcements", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.IdleLimitLowReinforcements", - "DefaultValue": "90", - "EnumValues": {} - }, - { - "DisplayName": "Check For Idle Players Timer", - "Category": "Multiplayer Mode", - "Description": "How frequently to check for idle players.", - "Keywords": "Time", - "FieldName": "IdleCheckFrequency", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.IdleCheckFrequency", - "DefaultValue": "30", - "EnumValues": {} - }, - { - "DisplayName": "Allow 3rd Person Spectate?", - "Category": "Multiplayer Mode", - "Description": "Can Players use 3rd person spectator mode?", - "Keywords": "Spectate", - "FieldName": "bAllowThirdPersonSpectate", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bAllowThirdPersonSpectate", - "DefaultValue": "False", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Minimum Players to start the game.", - "Category": "Multiplayer Mode", - "Description": "Minimum players required on each team to start the game.", - "Keywords": "Players, Minimum", - "FieldName": "MinimumPlayers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.MinimumPlayers", - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Round Limit", - "Category": "Multiplayer Mode", - "Description": "Maximum number of rounds to play.", - "Keywords": "Rounds,Maximum", - "FieldName": "RoundLimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.RoundLimit", - "DefaultValue": "3", - "EnumValues": {} - }, - { - "DisplayName": "Win Limit", - "Category": "Multiplayer Mode", - "Description": "Number of rounds required for game victory.", - "Keywords": "Rounds", - "FieldName": "WinLimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.WinLimit", - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Game Time Limit", - "Category": "Multiplayer Mode", - "Description": "Number of rounds required for game victory.", - "Keywords": "Time", - "FieldName": "GameTimeLimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.GameTimeLimit", - "DefaultValue": "-1", - "EnumValues": {} - }, - { - "DisplayName": "Pre Round Limit", - "Category": "Multiplayer Mode", - "Description": "Amount of “freeze time” at the start of a round.", - "Keywords": "Time", - "FieldName": "PreRoundLimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.PreRoundLimit", - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "Round Time", - "Category": "Multiplayer Mode", - "Description": "Duration of the round.", - "Keywords": "Time", - "FieldName": "RoundTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.RoundTime", - "DefaultValue": "1080", - "EnumValues": {} - }, - { - "DisplayName": "Overtime", - "Category": "Multiplayer Mode", - "Description": "Amount of overtime given when there is an objective being contested after the round timer expires.", - "Keywords": "Time", - "FieldName": "OverTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.OverTime", - "DefaultValue": "60", - "EnumValues": {} - }, - { - "DisplayName": "Team Switch Time", - "Category": "Multiplayer Mode", - "Description": "Minimum additional time spent between team switches.", - "Keywords": "Time", - "FieldName": "TeamSwitchTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.TeamSwitchTime", - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "Switch Team Every Round", - "Category": "Multiplayer Mode", - "Description": "How often to switch teams. 0 = never, 1 = every round, 2 = every other round, etc.", - "Keywords": "Team,Switch", - "FieldName": "SwitchTeamsEveryRound", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.SwitchTeamsEveryRound", - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Allow Players to Switch Teams", - "Category": "Multiplayer Mode", - "Description": "Allow players to switch to the other team?", - "Keywords": "Team,Switch", - "FieldName": "bAllowPlayerTeamSelect", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bAllowPlayerTeamSelect", - "DefaultValue": "True", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Enable Bots?", - "Category": "Multiplayer Mode", - "Description": "Enables Bots", - "Keywords": "Bots", - "FieldName": "bBots", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bBots", - "DefaultValue": "False", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Bot Quota Fill", - "Category": "Multiplayer Mode", - "Description": "Bot quota to fill.", - "Keywords": "Bots", - "FieldName": "BotQuota", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.BotQuota", - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "Initial Supply Points", - "Category": "Multiplayer Mode", - "Description": "Amount of starting supply points.", - "Keywords": "Supply,Points", - "FieldName": "InitialSupply", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.InitialSupply", - "DefaultValue": "15", - "EnumValues": {} - }, - { - "DisplayName": "Maximum Supply Points", - "Category": "Multiplayer Mode", - "Description": "Maximum supply that can be earned.", - "Keywords": "Supply,Points", - "FieldName": "MaximumSupply", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.MaximumSupply", - "DefaultValue": "15", - "EnumValues": {} - }, - { - "DisplayName": "Enable Supply Gain", - "Category": "Multiplayer Mode", - "Description": "Enable supply gain throughout the round.", - "Keywords": "Supply,Points", - "FieldName": "bSupplyGainEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bSupplyGainEnabled", - "DefaultValue": "False", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Instant Supply Gain", - "Category": "Multiplayer Mode", - "Description": "Should supply gain be awarded instantly?", - "Keywords": "Supply,Points", - "FieldName": "bAwardSupplyInstantly", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.bAwardSupplyInstantly", - "DefaultValue": "False", - "EnumValues": { - "False": "False", - "True": "True" - } - }, - { - "DisplayName": "Supply Gain Frequency", - "Category": "Multiplayer Mode", - "Description": "Score threshold for earning supply.", - "Keywords": "Supply,Points", - "FieldName": "SupplyGainFrequency", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Insurgency.INSMultiplayerMode.SupplyGainFrequency", - "DefaultValue": "150", - "EnumValues": {} - } -] \ No newline at end of file diff --git a/insurgencysandstormmetaconfig.json b/insurgencysandstormmetaconfig.json deleted file mode 100644 index 216a1f9d8..000000000 --- a/insurgencysandstormmetaconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -[ - { - "ConfigFile": "Insurgency/Saved/Config/WindowsServer/Game.ini", - "AutoMap": true, - "ConfigType": "ini" - }, - { - "ConfigFile": "Insurgency/Saved/Config/LinuxServer/Game.ini", - "AutoMap": true, - "ConfigType": "ini" - }, - { - "ConfigFile": "Insurgency/Config/Server/Motd.txt", - "ConfigType": "kvp", - "ConfigFormat": "{0}{1}", - "Subsections": [ - { - "Heading": "$root", - "SettingMappings": { - "": "Motd" - } - } - ] - } -] \ No newline at end of file diff --git a/jc3mp.kvp b/jc3mp.kvp deleted file mode 100644 index e72af91d3..000000000 --- a/jc3mp.kvp +++ /dev/null @@ -1,87 +0,0 @@ -Meta.DisplayName=Just Cause 3 Multiplayer Mod -Meta.Description=Just Cause 3 Multiplayer Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=ThisIslandEarth -Meta.URL=https://just-cause.mp -Meta.DisplayImageSource=steam:619910 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$queryPort} -Meta.ConfigManifest=jc3mpconfig.json -Meta.MetaConfigManifest=jc3mpmetaconfig.json -Meta.ConfigRoot=jc3mp.kvp -Meta.MinAMPVersion=2.4.0.2 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Just Cause 3 Multiplayer Mod -App.RootDir=./jc3mp/ -App.BaseDirectory=./jc3mp/619960/ -App.ExecutableWin=619960\Server.exe -App.ExecutableLinux=619960/Server -App.WorkingDir=619960 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs= -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"619910"} -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":"TCP","Port":4200,"Ref":"port","Name":"Game Port","Description":"Port for game traffic"}, {"Protocol":"Both","Port":4201,"Ref":"queryPort","Name":"Query Port","Description":"Server query port"}, {"Protocol":"Both","Port":4202,"Ref":"steamPort","Name":"Steam Port","Description":"Steam communication port"}, {"Protocol":"Both","Port":4203,"Ref":"httpPort","Name":"HTTP Port","Description":"Client mod download port"}] -App.AdminPortRef= -App.PrimaryApplicationPortRef=port -App.UniversalSleepApplicationUDPPortRef=port -App.UniversalSleepSteamQueryPortRef=queryPort -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":"619960","UpdateSourceArgs":"619910"},{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/jc3mpserverconfig.json","UpdateSourceTarget":"../","OverwriteExistingFiles":"true"},{"UpdateStageName":"Packages Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}packages"},{"UpdateStageName":"Download Default Packages","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://unlimitedjc.files.wordpress.com/2022/09/jc3mp-default-packages.zip","UpdateSourceArgs":"jc3mpdefaultpackages.zip","UpdateSourceTarget":"{{$FullBaseDir}}packages","UnzipUpdateSource":"true","OverwriteExistingFiles":"true","DeleteAfterExtract":"true"},{"UpdateStageName":"chat-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u chat-master.zip'"},{"UpdateStageName":"command-hints-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-hints-master.zip'"},{"UpdateStageName":"command-manager-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u command-manager-master.zip'"},{"UpdateStageName":"freeroam-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u freeroam-master.zip'"},{"UpdateStageName":"spawn-menu-master Extract","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'cd jc3mp/619960/packages && unzip -u spawn-menu-master.zip'"},{"UpdateStageName":"chat-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf chat-master.zip"},{"UpdateStageName":"command-hints-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-hints-master.zip"},{"UpdateStageName":"command-manager-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf command-manager-master.zip"},{"UpdateStageName":"freeroam-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf freeroam-master.zip"},{"UpdateStageName":"spawn-menu-master Extract Windows","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C cd jc3mp\\619960\\packages && tar -xf spawn-menu-master.zip"}] -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=^\[[\d\-]+ [\d:]+\]: Server successfully started up, awaiting connects\.\.\.$ -Console.UserJoinRegex=^(?<username>.+?) has joined\.$ -Console.UserLeaveRegex=^(?<username>.+?) has left\.$ -Console.UserChatRegex=^(?<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 diff --git a/jc3mpconfig.json b/jc3mpconfig.json deleted file mode 100644 index ede1133cb..000000000 --- a/jc3mpconfig.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - { - "DisplayName": "Game Port", - "Category": "Server Settings", - "Description": "", - "FieldName": "$port", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "gport", - "IncludeInCommandLine": false, - "Hidden": true, - "DefaultValue": "4200", - "EnumValues": {} - }, - { - "DisplayName": "Host IP", - "Category": "Server Settings", - "Description": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "hostip", - "IncludeInCommandLine": false, - "Hidden": true, - "DefaultValue": "0.0.0.0", - "EnumValues": {} - }, - { - "DisplayName": "HTTP Port", - "Category": "Server Settings", - "Description": "HTTP Port", - "FieldName": "$httpPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "hport", - "IncludeInCommandLine": false, - "Hidden": true, - "DefaultValue": "4203", - "EnumValues": {} - }, - { - "DisplayName": "Query Port", - "Category": "Server Settings", - "Description": "Query Port", - "FieldName": "$queryPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "qport", - "IncludeInCommandLine": false, - "Hidden": true, - "DefaultValue": "4201", - "EnumValues": {} - }, - { - "DisplayName": "Steam Port", - "Category": "Server Settings", - "Description": "Steam Port", - "FieldName": "$steamPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sport", - "IncludeInCommandLine": false, - "Hidden": true, - "DefaultValue": "4202", - "EnumValues": {} - }, - { - "DisplayName": "Players", - "Category": "Server Settings", - "Description": "Number of players allowed to join.", - "Keywords": "players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "Required": true, - "ParamFieldName": "maxPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "20", - "EnumValues": {}, - "Suffix":"players", - "MinValue":"1" - }, - { - "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": "Description", - "Category": "Server Settings", - "Description": "Displayed in the server browser.", - "Keywords": "description", - "FieldName": "description", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "description", - "IncludeInCommandLine": false, - "DefaultValue": "Powered By Amp", - "EnumValues": {} - }, - { - "DisplayName": "Tick Rate", - "Category": "Server Settings", - "Description": "Maxium FPS for the server (default is 60).", - "Keywords": "tickrate", - "FieldName": "tickrate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "maxTickRate", - "IncludeInCommandLine": false, - "DefaultValue": "60", - "Suffix":"ticks per second", - "EnumValues": {} - }, - { - "DisplayName": "Name", - "Category": "Server Settings", - "Description": "Displayed in the server browser.", - "Keywords": "name", - "FieldName": "name", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "name", - "IncludeInCommandLine": false, - "DefaultValue": "JC3MP-AMP", - "EnumValues": {} - }, - { - "DisplayName": "Server Announce", - "Category": "Server Settings", - "Description": "Add a check here if you want to announce your server on the master server browser list.", - "Keywords": "Server Announce", - "FieldName": "announce", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "announce", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Required DLCs", - "Category": "Server Settings", - "Description": "Comma separated list of owned DLC IDs required to join. [A list is available here](https://just-cause.mp/docs/general/information/Server%20Configuration) Leave this blank to not require any DLCs to join.", - "Keywords": "dlcs", - "FieldName": "requiredDLC", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "requiredDLC", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "400551,400490,442051,401850,348880,388294,442050,488293,388290,388291,388292,442052", - "EnumValues": {} - } -] \ No newline at end of file diff --git a/jc3mpmetaconfig.json b/jc3mpmetaconfig.json deleted file mode 100644 index 7502c8c80..000000000 --- a/jc3mpmetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile": "config.json", - "AutoMap": true, - "ConfigType": "template", - "ConfigFileTemplate": "jc3mpserverconfig.json" - } - ] \ No newline at end of file diff --git a/jc3mpserverconfig.json b/jc3mpserverconfig.json deleted file mode 100644 index 0890a742d..000000000 --- a/jc3mpserverconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "announce": {{announce}}, - "description": "{{description}}", - "host": "{{hostip}}", - "httpPort": {{hport}}, - "logLevel": 7, - "logo": "", - "maxPlayers": {{maxPlayers}}, - "maxTickRate": {{maxTickRate}}, - "name": "{{name}}", - "password": "{{password}}", - "port": {{gport}}, - "queryPort": {{qport}}, - "requiredDLC": [{{requiredDLC}}], - "steamPort": {{sport}} -} \ No newline at end of file diff --git a/kaboom.kvp b/kaboom.kvp deleted file mode 100644 index f26f77907..000000000 --- a/kaboom.kvp +++ /dev/null @@ -1,48 +0,0 @@ -Meta.DisplayName=Kaboom! -Meta.Description=Dedicated server for Kaboom! - AMP Exclusive -Meta.OS=Linux -Meta.Author=CubeCoders Limited -Meta.URL=https://kaboom.gg/ -Meta.DisplayImageSource=steam:1574670 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} -Meta.ConfigManifest=kaboomconfig.json -Meta.ConfigRoot=kaboom.kvp -Meta.MinAMPVersion=2.2.2.0 -App.DisplayName=Kaboom -App.RootDir=./Kaboom/ -App.BaseDirectory=./Kaboom/1574860/ -App.ExecutableWin= -App.ExecutableLinux=1574860/LinuxHeadless_Core.x86_64 -App.WorkingDir=1574860 -App.CommandLineArgs=+ip {{$ApplicationIPBinding}} +port {{$ApplicationPort1}} +queryport {{$ApplicationPort2}} {{$FormattedArgs}} +amptoken "{{$AMPToken}}" -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "1574670"} -App.CommandLineParameterFormat=+{0} "{1}" -App.ExitMethod=String -App.ExitString=stop -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=7777 -App.ApplicationPort2=27015 -App.ApplicationPort3=0 -App.RemoteAdminPort=40100 -App.MaxUsers=8 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword= -App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName": "Steam Common Components","UpdateSourcePlatform": "Linux", "UpdateSource": "SteamCMD", "UpdateSourceData": "1007", "UpdateSourceTarget": "1574860"},{"UpdateStageName": "Game Server Download","UpdateSourcePlatform": "Linux", "UpdateSource": "SteamCMD", "UpdateSourceData": "1574860","UpdateSourceArgs":"1574670"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.SteamForceWindowsVersion=False -App.ApplicationReadyMode=RegexMatch -App.StartupAuthenticationRequired=True -App.RapidStartup=True -Console.FilterMatchRegex=^\d\d\/\d\d\/\d{4} \d\d:\d\d:\d\d: -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$|^RecordSteamInterfaceCreation|^CAppInfoCacheReadFromDiskThread|^CApplicationManagerPopulateThread|^Mirror|^\[S_API|^Warning: failed to init SDL|^Warning: failed to set thread priority|^Warning: support for elevated priorities|^Setting breakpad minidump|^Setting up 6 worker threads|^\s*Thread -> id: .+$|^The AnimationClip '|^Shader|^Found path:|^Mono|^Preloaded 'libsteam_api\.so'$|^[Subsystems]|^Forcing GfxDevice: Null$|^NullGfxDevice:$|^Version: NULL 1\.0 \[1\.0\]$|^Renderer: Null Device$|^Vendor: Unity Technologies$|^Begin MonoManager ReloadAssembly$|(DontDestroyOnLoad)$ -Console.AppReadyRegex=^Server started listening$ -Console.UserJoinRegex=^Added Player "(?<username>.+?)" \((?<userid>-?\d+)\) \[::ffff:(?<endpoint>.+?)\]$ -Console.UserLeaveRegex=^Removed Player "(?<username>.+?)" \((?<userid>-?\d+)\)$ -Console.UserChatRegex= -Console.UserActions={"Kick": "kick {{userid}}", "Ban": "ban {{userid}}", "Ban IP": "banip {{userid}}", "Smite": "smite {{userid}}"} diff --git a/kaboomconfig.json b/kaboomconfig.json deleted file mode 100644 index 5f1caeeb6..000000000 --- a/kaboomconfig.json +++ /dev/null @@ -1,204 +0,0 @@ -[ - { - "DisplayName": "Server Name", - "Description": "Server name as it appears in the server list", - "FieldName": "servername", - "InputType": "text", - "Category": "Server", - "ParamFieldName": "servername", - "IncludeInCommandLine": true, - "DefaultValue": "My Kaboom! Server" - }, - { - "DisplayName": "Server Region", - "Description": "Where in the world the server is located", - "FieldName": "region", - "Category": "Server", - "ParamFieldName": "region", - "IncludeInCommandLine": true, - "InputType": "enum", - "EnumValues": { - "0": "EU West", - "10": "EU Central", - "20": "EU Eastern", - "30": "US West", - "40": "US Central", - "50": "US Eastern", - "60": "Canada", - "70": "South America", - "80": "South East Asia", - "90": "Australia", - "210": "China", - "220": "Russia", - "999": "Other" - }, - "DefaultValue": "0" - }, - { - "DisplayName": "Bot Fill Mode", - "Description": "How should bots be used to manage server population", - "FieldName": "botmode", - "Category": "Server", - "ParamFieldName": "botmode", - "IncludeInCommandLine": true, - "InputType": "enum", - "EnumValues": { - "NoBots": "No Bots", - "MaintainMinimum": "Fill to minimum lobby size", - "FillRemainingSpaces": "Fill all remaining spaces", - "ReplaceLeaversOnly": "Only replace match leavers" - }, - "DefaultValue": "NoBots" - }, - { - "DisplayName": "Respawn Delay", - "Description": "How long the server should wait after a player is eliminated before respawning them.", - "FieldName": "respawndelay", - "Category": "Server", - "ParamFieldName": "respawndelay", - "IncludeInCommandLine": true, - "InputType": "number", - "DefaultValue": "5" - }, - { - "DisplayName": "Invulnerability Time", - "Description": "How long a player is invulnerable for after respawning.", - "FieldName": "saferespawntime", - "Category": "Server", - "ParamFieldName": "saferespawntime", - "IncludeInCommandLine": true, - "InputType": "number", - "DefaultValue": "2" - }, - { - "DisplayName": "Auto Lobby", - "Description": "Automatic lobbies do not have a lobby leader, and will start automatically once the player requirements are met.", - "FieldName": "autolobby", - "Category": "Server", - "ParamFieldName": "autolobby", - "IncludeInCommandLine": true, - "InputType": "checkbox", - "EnumValues": { - "True": "True", - "False": "False" - }, - "DefaultValue": "False" - }, - { - "DisplayName": "Allow joining mid-match", - "Description": "If enabled, players will be able to join a match that it is in progress. Otherwise they will spectate until the match is over.", - "FieldName": "joinmidmatch", - "Category": "Server", - "ParamFieldName": "joinmidmatch", - "IncludeInCommandLine": true, - "InputType": "checkbox", - "EnumValues": { - "True": "True", - "False": "False" - }, - "DefaultValue": "False" - }, - { - "DisplayName": "Start on first join", - "Description": "If enabled, the match will start automatically once the first player connects. Recommend that bots are enabled.", - "FieldName": "startonfirstjoin", - "Category": "Server", - "ParamFieldName": "startonfirstjoin", - "IncludeInCommandLine": true, - "InputType": "checkbox", - "EnumValues": { - "True": "True", - "False": "False" - }, - "DefaultValue": "False" - }, - { - "DisplayName": "Minimum lobby players", - "Description": "How many players must be present in an auto lobby before a match can be started automatically. Minimum of 2.", - "FieldName": "lobbyminplayers", - "Category": "Server", - "ParamFieldName": "lobbyminplayers", - "IncludeInCommandLine": true, - "InputType": "number", - "DefaultValue": "4", - "MinValue":"2" - }, - { - "DisplayName": "Lobby hold time", - "Description": "How long the auto lobby should wait for more players to join once the minimum is reached. This timer restarts whenever a player joins or leaves.", - "FieldName": "lobbyholdtime", - "Category": "Server", - "ParamFieldName": "lobbyholdtime", - "IncludeInCommandLine": true, - "InputType": "number", - "DefaultValue": "20" - }, - { - "DisplayName": "Lobby full delay", - "Description": "After an auto lobby fills up, how long should it wait before starting the game?", - "FieldName": "lobbyfulltime", - "Category": "Server", - "ParamFieldName": "lobbyfulltime", - "IncludeInCommandLine": true, - "InputType": "number", - "DefaultValue": "20" - }, - { - "DisplayName": "Lobby overtime timeout", - "Description": "The maximum amount of a time an auto lobby that has the minimum number of players can remain in the 'ready' state. If this time is exceeded, players joining/leaving will not reset the lobby timer. This prevents the lobby from remaining in limbo indefinitely due to the countdown timer resetting from players leaving/joining.", - "FieldName": "lobbyfulltime", - "Category": "Server", - "ParamFieldName": "lobbyovertime", - "IncludeInCommandLine": true, - "InputType": "number", - "DefaultValue": "120" - }, - { - "DisplayName": "Match length (seconds)", - "Description": "The maximum length of a match in seconds. After this time the match will end regardless of win condition", - "FieldName": "matchlength", - "Category": "Server", - "ParamFieldName": "matchlength", - "IncludeInCommandLine": true, - "InputType": "number", - "DefaultValue": "300" - }, - { - "DisplayName": "Match time low trigger (seconds)", - "Description": "When the match has this many seconds left, the 'out of time' trigger will fire and the map will change to speed up the match.", - "FieldName": "lowmatchtime", - "Category": "Server", - "ParamFieldName": "lowmatchtime", - "IncludeInCommandLine": true, - "InputType": "number", - "DefaultValue": "60" - }, - { - "DisplayName": "Allow Special Skins", - "Description": "If enabled, special players such as developers may be given special skins that make them stand out from other players.", - "FieldName": "specialskins", - "Category": "Server", - "ParamFieldName": "specialskins", - "IncludeInCommandLine": true, - "InputType": "checkbox", - "EnumValues": { - "True": "True", - "False": "False" - }, - "DefaultValue": "True" - }, - { - "DisplayName": "Enable GPU accelerated AI", - "Description": "If enabled, the server will accelerate AI for bots using any available nVidia GPU (CUDA support required). Will automatically fall back to CPU driven AI when not available.", - "FieldName": "aigpuacceleration", - "Category": "Server", - "ParamFieldName": "aigpuacceleration", - "IncludeInCommandLine": true, - "InputType": "checkbox", - "EnumValues": { - "True": "True", - "False": "False" - }, - "DefaultValue": "False" - } -] \ No newline at end of file diff --git a/killing-floor-2.kvp b/killing-floor-2.kvp deleted file mode 100644 index 8cba2c195..000000000 --- a/killing-floor-2.kvp +++ /dev/null @@ -1,77 +0,0 @@ -Meta.DisplayName=Killing Floor 2 -Meta.Description=Killing Floor 2 Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=IceOfWraith -Meta.URL=https://store.steampowered.com/app/232090/Killing_Floor_2/ -Meta.DisplayImageSource=steam:232090 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} -Meta.ConfigManifest=killing-floor-2config.json -Meta.MetaConfigManifest=killing-floor-2metaconfig.json -Meta.ConfigRoot=killing-floor-2.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=RecommendedOnWindows,SupportedOnLinux -Meta.ContainerPolicyReason=AMP's console is unable to provide console output on Windows for the Killing Floor 2 server. It is able to do so on Linux, therefore Docker is recommended on Windows. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Killing Floor 2 -App.RootDir=./killing-floor-2/ -App.BaseDirectory=./killing-floor-2/232130/ -App.ExecutableWin=232130\Binaries\Win64\KFServer.exe -App.ExecutableLinux=232130/Binaries/Win64/KFGameSteamServer.bin.x86_64 -App.WorkingDir=232130 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{Map}}?Game={{Game}}?maxplayers={{$MaxUsers}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -WebAdminPort={{$RemoteAdminPort}} -Multihome={{$ApplicationIPBinding}} {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"232090"} -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.ApplicationPort1=7777 -App.ApplicationPort2=27015 -App.ApplicationPort3=0 -App.RemoteAdminPort=8080 -App.MaxUsers=6 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "232130","UpdateSourceArgs":"232090"},{"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=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=1 -App.UniversalSleepSteamQueryPort=2 -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\[\d*\.\d*\] Log: Steam game server UID: \d*$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/killing-floor-2config.json b/killing-floor-2config.json deleted file mode 100644 index 0390bed24..000000000 --- a/killing-floor-2config.json +++ /dev/null @@ -1,256 +0,0 @@ -[ - { - "DisplayName": "Starting Map", - "Category": "Server Config", - "Description": "Set the server's starting map. Survival compatible maps denoted with \"*\".", - "Keywords": "Map", - "FieldName": "Map", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Map", - "IncludeInCommandLine": false, - "DefaultValue": "KF-Bioticslab", - "EnumValues": { - "KF-Airship": "Airship", - "KF-AshwoodAsylum": "Ashwood Asylum", - "KF-Biolapse": "Biolapse", - "KF-Bioticslab": "Biotics Lab*", - "KF-BlackForest": "Black Forest", - "KF-BurningParis": "Burning Paris*", - "KF-CarillonHamlet": "Carillon Hamlet", - "KF-Catacombs": "Catacombs", - "KF-ContainmentStation": "Containment Station", - "KF-Desolation": "Desolation", - "KF-DieSector": "DieSector", - "KF-Dystopia2029": "Dystopia 2029", - "KF-Elysium": "Elysium", - "KF-EvacuationPoint": "Evacuation Point", - "KF-Farmhouse": "Farmhouse*", - "KF-HellmarkStation": "Hellmark Station", - "KF-HostileGrounds": "Hostile Grounds", - "KF-InfernalRealm": "Infernal Realm", - "KF-KrampusLair": "Krampus Lair", - "KF-Lockdown": "Lockdown", - "KF-MonsterBall": "Monster Ball", - "KF-Moonbase": "Moonbase", - "KF-Netherhold": "Netherhold", - "KF-Nightmare": "Nightmare", - "KF-Nuked": "Nuked", - "KF-Outpost": "Outpost", - "KF-PowerCore_Holdout": "Power Core Holdout", - "KF-Prison": "Prison*", - "KF-Sanitarium": "Sanitarium", - "KF-Santasworkshop": "Santa's Workshop", - "KF-ShoppingSpree": "Shopping Spree", - "KF-Spillway": "Spillway", - "KF-SteamFortress": "Steam Fortress", - "KF-TheDescent": "The Descent", - "KF-TragicKingdom": "Tragic Kingdom", - "KF-VolterManor": "Volter Manor*", - "KF-ZedLanding": "ZedLanding" - } - }, - { - "DisplayName": "Starting Game Mode", - "Category": "Server Config", - "Description": "Set the server's starting game mode. Not all game modes work with all maps.", - "Keywords": "Game,mode", - "FieldName": "Game", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Game", - "IncludeInCommandLine": false, - "DefaultValue": "KFGameContent.KFGameInfo_Survival", - "EnumValues": { - "KFGameContent.KFGameInfo_Survival": "Survival", - "KFGameContent.KFGameInfo_WeeklySurvival": "Weekly", - "KFGameContent.KFGameInfo_VersusSurvival": "Versus", - "KFGameContent.KFGameInfo_Endless": "Endless", - "KFGameContent.KFGameInfo_Objective": "Objective" - } - }, - { - "DisplayName": "Enable Web Admin", - "Category": "Server Config", - "Description": "Allows managing the server in a browser using the IP:RemoteAdminPort (from ADS Edit Ports menu).", - "Keywords": "web,admin", - "FieldName": "bEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "IpDrv.WebServer.bEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Admin Password", - "Category": "Server Config", - "Description": "Password to become admin in-game. Username is \"admin\". Change this after install.", - "Keywords": "admin,password", - "FieldName": "AdminPassword", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "Engine.AccessControl.AdminPassword", - "IncludeInCommandLine": false, - "DefaultValue": "{{newguid()}}", - "EnumValues": {} - }, - { - "DisplayName": "Game Password", - "Category": "Server Config", - "Description": "Password to join the game. Change this after install.", - "Keywords": "game,password", - "FieldName": "GamePassword", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "Engine.AccessControl.GamePassword", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Server Name", - "Category": "Server Config", - "Description": "The name to be displayed in the server browser.", - "Keywords": "server,name", - "FieldName": "ServerName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Engine.GameReplicationInfo.ServerName", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered KF2 Server", - "EnumValues": {} - }, - { - "DisplayName": "Max Players", - "Category": "Server Config", - "Description": "Set server maximum amount of players.", - "Keywords": "Max,Users,players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "maxplayers", - "IncludeInCommandLine": false, - "DefaultValue": "6", - "EnumValues": {}, - "MinValue":"1" - }, - { - "DisplayName": "Max Spectators", - "Category": "Server Config", - "Description": "Set server maximum amount of spectators.", - "Keywords": "Max,spectators", - "FieldName": "MaxSpectators", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Engine.GameInfo.MaxSpectators", - "IncludeInCommandLine": false, - "DefaultValue": "2", - "EnumValues": {} - }, - { - "DisplayName": "Difficulty", - "Category": "Server Config", - "Description": "Sets the difficulty level.", - "Keywords": "game,difficulty", - "FieldName": "GameDifficulty", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Engine.GameInfo.GameDifficulty", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "0": "Normal", - "1": "Hard", - "2": "Suicidal", - "3": "Hell on Earth" - } - }, - { - "DisplayName": "Admin Can Pause?", - "Category": "Server Config", - "Description": "Allows the admin to pause the game.", - "Keywords": "admin,pause", - "FieldName": "bAdminCanPause", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "Engine.GameInfo.bAdminCanPause", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Change Levels?", - "Category": "Server Config", - "Description": "Whether or not the game will change levels or loop the same.", - "Keywords": "change,levels", - "FieldName": "bChangeLevels", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "Engine.GameInfo.bChangeLevels", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Clan Motto", - "Category": "Server Config", - "Description": "Clan motto displayed when a user joins.", - "Keywords": "clan,motto", - "FieldName": "ClanMotto", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "KFGame.KFGameInfo.ClanMotto", - "IncludeInCommandLine": false, - "DefaultValue": "We are the AMP clan!", - "EnumValues": {} - }, - { - "DisplayName": "MOTD", - "Category": "Server Config", - "Description": "MOTD when a user joins.", - "Keywords": "Server,MOTD", - "FieldName": "ServerMOTD", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "KFGame.KFGameInfo.ServerMOTD", - "IncludeInCommandLine": false, - "DefaultValue": "Welcome to our server. \\n \\n Have fun and good luck!", - "EnumValues": {} - }, - { - "DisplayName": "MOTD Banner Link", - "Category": "Server Config", - "Description": "Image location for MOTD banner.", - "Keywords": "Banner,Link", - "FieldName": "BannerLink", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "KFGame.KFGameInfo.BannerLink", - "IncludeInCommandLine": false, - "DefaultValue": "http://art.tripwirecdn.com/TestItemIcons/MOTDServer.png", - "EnumValues": {} - }, - { - "DisplayName": "MOTD Website Link", - "Category": "Server Config", - "Description": "Link displayed on MOTD.", - "Keywords": "Website,Link", - "FieldName": "WebsiteLink", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "KFGame.KFGameInfo.WebsiteLink", - "IncludeInCommandLine": false, - "DefaultValue": "https://cubecoders.com/AMP", - "EnumValues": {} - } -] \ No newline at end of file diff --git a/killing-floor-2metaconfig.json b/killing-floor-2metaconfig.json deleted file mode 100644 index c6bc72089..000000000 --- a/killing-floor-2metaconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -[ - { - "ConfigFile": "./KFGame/Config/PCServer-KFGame.ini", - "AutoMap": true, - "ConfigType": "ini" - }, - { - "ConfigFile": "./KFGame/Config/LinuxServer-KFGame.ini", - "AutoMap": true, - "ConfigType": "ini" - }, - { - "ConfigFile": "./KFGame/Config/KFWeb.ini", - "AutoMap": true, - "ConfigType": "ini" - } -] diff --git a/last-oasis.kvp b/last-oasis.kvp deleted file mode 100644 index 93798c134..000000000 --- a/last-oasis.kvp +++ /dev/null @@ -1,55 +0,0 @@ -Meta.DisplayName=Last Oasis -Meta.Description= -Meta.OS=Windows, Linux -Meta.Author=CubeCoders Limited -Meta.URL=https://store.steampowered.com/app/903950/Last_Oasis/ -Meta.DisplayImageSource=steam:903950 -Meta.EndpointURIFormat=steam://connect/{ip}/{GenericModule.App.ApplicationPort2} -Meta.ConfigManifest=last-oasisconfig.json -Meta.MetaConfigManifest= -Meta.ConfigRoot=last-oasis.kvp -Meta.MinAMPVersion=2.2.3.0 -App.DisplayName=Last Oasis -App.RootDir=./last-oasis/ -App.BaseDirectory=./last-oasis/920720/ -App.ExecutableWin=920720\MistServer.exe -App.ExecutableLinux=920720/Mist/Binaries/Linux/MistServer -App.WorkingDir=920720 -App.LinuxCommandLineArgs=Mist -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -force_steamclient_link -messaging -NoLiveServer -EnableCheats -backendapiurloverride="backend.last-oasis.com" -slots={{$MaxUsers}} -port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -OverrideConnectionAddress {{$FormattedArgs}} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"903950"} -App.CommandLineParameterFormat=-{0}="{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=Kill -App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=app_exit.lck -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=7777 -App.ApplicationPort2=27015 -App.ApplicationPort3=27016 -App.RemoteAdminPort=0 -App.MaxUsers=20 -App.UseRandomAdminPassword=False -App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":31,"UpdateSource":4,"UpdateSourceData":"920720","UpdateSourceArgs":"903950","UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.ApplicationReadyMode=RegexMatch -Console.FilterMatchRegex=^\[.+?\]\[.+?\] -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^(LogInit: Display: Starting Game\.)|(LogOnline: GotoState: NewState: Playing)$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 diff --git a/last-oasisconfig.json b/last-oasisconfig.json deleted file mode 100644 index 2b32cd445..000000000 --- a/last-oasisconfig.json +++ /dev/null @@ -1,55 +0,0 @@ -[ - { - "DisplayName": "Provider Key", - "Category": "Last Oasis Server", - "Description": "Your provider key from my [Last Oasis MyRealm site](https://myrealm.lastoasis.gg/).", - "Keywords": "", - "FieldName": "ProviderKey", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "ProviderKey", - "IncludeInCommandLine": true, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Customer Key", - "Category": "Last Oasis Server", - "Description": "Your customer key from my [Last Oasis MyRealm site](https://myrealm.lastoasis.gg/).", - "Keywords": "", - "FieldName": "CustomerKey", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "CustomerKey", - "IncludeInCommandLine": true, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Identifier", - "Category": "Last Oasis Server", - "Description": "A unique name for your server to identify it", - "Keywords": "", - "FieldName": "identifier", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "identifier", - "IncludeInCommandLine": true, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Maximum Players", - "Category": "Last Oasis Server", - "Description": "The number of player slots that this server can accomodate", - "Keywords": "", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "slots", - "IncludeInCommandLine": false, - "DefaultValue": "8", - "EnumValues": {}, - "MinValue":"1" - } -] diff --git a/longvinter.kvp b/longvinter.kvp deleted file mode 100644 index 6bc1cca66..000000000 --- a/longvinter.kvp +++ /dev/null @@ -1,87 +0,0 @@ -Meta.DisplayName=Longvinter -Meta.Description=Longvinter Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://longvinter.com/news -Meta.DisplayImageSource=steam:1635450 -Meta.EndpointURIFormat= -Meta.ConfigManifest=longvinterconfig.json -Meta.MetaConfigManifest=longvintermetaconfig.json -Meta.ConfigRoot=longvinter.kvp -Meta.MinAMPVersion=2.4.0.6 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux -Meta.ContainerPolicyReason=The dependency git-lfs is required for the server to be successfully downloaded on Linux. Using a container avoids the need to install this dependency on the host. -Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=2200?utm_source=ampcreate&utm_content=longvinter -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Longvinter -App.RootDir=./longvinter/ -App.BaseDirectory=./longvinter/1639880/ -App.ExecutableWin=1639880\Longvinter\Binaries\Win64\LongvinterServer-Win64-Shipping.exe -App.ExecutableLinux=1639880/Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping -App.WorkingDir=1639880 -App.LinuxCommandLineArgs=Longvinter -stdout -App.WindowsCommandLineArgs=Longvinter -stdout -FullStdOutLogOutput -App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} -MultiHome={{$ApplicationIPBinding}} {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1635450"} -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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=32 -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=@IncludeJson[longvinterupdates.json] -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogWorld: Bringing up level for play took: \d+\.\d+$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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/longvinterconfig.json b/longvinterconfig.json deleted file mode 100644 index b65de5725..000000000 --- a/longvinterconfig.json +++ /dev/null @@ -1,194 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Sets the name shown in the server browser. Don't use OFFICIAL in the name", - "Keywords":"server,name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Longvinter Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Tag", - "Category":"Server Settings", - "Description":"Sets a single tag that allows for easier search for the server. Don't use OFFICIAL", - "Keywords":"server,tag", - "FieldName":"serverTag", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.Tag", - "IncludeInCommandLine":false, - "DefaultValue":"none", - "EnumValues":{} - }, - { - "DisplayName":"Server Tag", - "Category":"Server Settings", - "Description":"Setting for legacy configs", - "Keywords":"", - "FieldName":"serverTag", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.serverTag", - "IncludeInCommandLine":false, - "DefaultValue":"none", - "EnumValues":{} - }, - { - "DisplayName":"Password", - "Category":"Server Settings", - "Description":"Sets a password for the server. Default is no password. Use only numbers and letters", - "Keywords":"server,password", - "FieldName":"Password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.Password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Admins", - "Category":"Server Settings", - "Description":"Space separated list of EOS IDs for server admins. Press ESC > Options > General in-game to find your EOS ID", - "FieldName":"AdminSteamID", - "Keywords":"admin,ids", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gm_longvinter.gm_longvinter_c.AdminSteamID", - "IncludeInCommandLine":false, - "DefaultValue":"", - "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":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"32", - "Suffix":"players", - "MinValue":"1" - }, - { - "DisplayName":"MOTD", - "Category":"Server Settings", - "Description":"Sets the server message displayed on signs around the island", - "Keywords":"motd", - "FieldName":"ServerMOTD", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.ServerMOTD", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to Longvinter Island!", - "EnumValues":{} - }, - { - "DisplayName":"Community Website", - "Category":"Server Settings", - "Description":"Sets a website that is displayed in-game alongside the MOTD. The website link can be opened in-game", - "Keywords":"community,website", - "FieldName":"CommunityWebsite", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.CommunityWebsite", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"www.longvinter.com", - "EnumValues":{} - }, - { - "DisplayName":"Enable PVP", - "Category":"Server Settings", - "Description":"If enabled, Player vs Player fights will be allowed", - "Keywords":"pvp", - "FieldName":"PVP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gm_longvinter.gm_longvinter_c.PVP", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Co-op", - "Category":"Server Settings", - "Description":"If enabled, players will spawn at the same location (as set under Co-op Spawn Location)", - "Keywords":"co-op,coop,coopplay,spawn", - "FieldName":"CoopPlay", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.CoopPlay", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Co-op Spawn Location", - "Category":"Server Settings", - "Description":"Sets the spawn point location for players if Co-op is enabled", - "Keywords":"co-op,coop,coopspawn,spawn,location", - "FieldName":"CoopSpawn", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.CoopSpawn", - "IncludeInCommandLine":false, - "DefaultValue":"0" - }, - { - "DisplayName":"Enable Tent Decay", - "Category":"Server Settings", - "Description":"If enabled, tent decay will occur, to ensure there aren't excessive abandoned tents in the server", - "Keywords":"tent,decay", - "FieldName":"TentDecay", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gm_longvinter.gm_longvinter_c.TentDecay", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Maximum Tents Allowed", - "Category":"Server Settings", - "Description":"Maximum number of tents allowed to be placed in the server", - "Keywords":"maximum,tents", - "FieldName":"MaxTents", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/game/blueprints/server/gm_longvinter.gm_longvinter_c.MaxTents", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Suffix":"tents" - }, - { - "DisplayName":"Server IP Binding", - "Category":"Server Settings", - "Description":"If required, you can change the binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", - "Keywords":"ip,binding,localip,address,multihome", - "FieldName":"MultiHome", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":false, - "EnumValues":{} - } -] \ No newline at end of file diff --git a/longvintergame.ini b/longvintergame.ini deleted file mode 100644 index 6a96cc6d7..000000000 --- a/longvintergame.ini +++ /dev/null @@ -1,15 +0,0 @@ -[/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c] -ServerName=AMP Powered Longvinter Server -MaxPlayers=32 -ServerMOTD=Welcome to Longvinter Island! -Password= -CommunityWebsite= -CoopPlay=false -CoopSpawn=0 -Tag=none - -[/game/blueprints/server/gm_longvinter.gm_longvinter_c] -AdminSteamID= -PVP=true -TentDecay=true -MaxTents=2 diff --git a/longvintermetaconfig.json b/longvintermetaconfig.json deleted file mode 100644 index 085225331..000000000 --- a/longvintermetaconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "ConfigFile":"Longvinter/Saved/Config/WindowsServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini" - }, - { - "ConfigFile":"Longvinter/Saved/Config/LinuxServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini" - } -] diff --git a/longvinterupdates.json b/longvinterupdates.json deleted file mode 100644 index 85394f986..000000000 --- a/longvinterupdates.json +++ /dev/null @@ -1,45 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1639880", - "UpdateSourceArgs":"1635450" - }, - { - "UpdateStageName":"Clone GitHub Repo", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"GitRepo", - "UpdateSourceData":"https://github.com/Uuvana-Studios/longvinter-linux-server.git", - "UpdateSourceTarget":"{{$FullBaseDir}}" - }, - { - "UpdateStageName":"Set Binary Executable Flag", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"SetExecutableFlag", - "UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping" - }, - { - "UpdateStageName":"SteamCMD Component Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1007", - "UpdateSourceTarget":"{{$FullBaseDir}}" - }, - { - "UpdateStageName":"Server Config File Copy", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini", - "UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini.default", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Server Config File Copy", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini", - "UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini.default", - "OverwriteExistingFiles":true - } -] \ No newline at end of file diff --git a/mindustry.kvp b/mindustry.kvp deleted file mode 100644 index 3e1366587..000000000 --- a/mindustry.kvp +++ /dev/null @@ -1,94 +0,0 @@ -Meta.DisplayName=Mindustry -Meta.Description=Mindustry Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Native -Meta.Arch=All -Meta.Author=Greelan -Meta.URL=https://mindustrygame.github.io/ -Meta.DisplayImageSource=steam:1127400 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=mindustryconfig.json -Meta.MetaConfigManifest= -Meta.ConfigRoot=mindustry.kvp -Meta.MinAMPVersion=2.4.3.2 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Mindustry -App.RootDir=./mindustry/ -App.BaseDirectory=./mindustry/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin=java\bin\java.exe -App.ExecutableLinux=java/bin/java -App.WorkingDir= -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{CustomJavaArgs}} -jar server-release.jar config port {{$ServerPort}},config socketInputPort {{$SocketInputPort}},{{host}}{{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"SteamAppId":"1127400"} -App.CommandLineParameterFormat={0} "{1}" -App.CommandLineParameterDelimiter=, -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=exit -App.ExitFile=app_exit.lck -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat={0} {1} -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Port":6567,"Ref":"ServerPort","Name":"Server Port","Description":"Port for server traffic"},{"Protocol":"TCP","Port":6569,"Ref":"SocketInputPort","Name":"Socket Input Port","Description":"Port for socket input traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=100 -App.UseRandomAdminPassword=True -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=App.UpdateSources=@IncludeJson[mindustryupdates.json] -App.PreStartStages=[] -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= -Console.AppReadyRegex=^\[[\d-]+ [\d:]+\] \[I\] Server loaded\. Type 'help' for help\.$ -Console.UserJoinRegex=^\[[\d-]+ [\d:]+\] \[I\] (?<username>.+?) has connected\. \[(?<sessionid>.+?)\]$ -Console.UserLeaveRegex=^\[[\d-]+ [\d:]+\] \[I\] (?<username>.+?) has disconnected\. \[(?<sessionid>.+?)\] \(.*\)$ -Console.UserChatRegex=^$ -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/mindustryconfig.json b/mindustryconfig.json deleted file mode 100644 index e20b58725..000000000 --- a/mindustryconfig.json +++ /dev/null @@ -1,506 +0,0 @@ -[ - { - "DisplayName":"Enable Logging", - "Category":"Mindustry Server Settings", - "Description":"Enables logging to files by default", - "Keywords":"", - "FieldName":"logging", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"config logging", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{} - }, - { - "DisplayName":"Server Version", - "Category":"Mindustry Server Settings", - "Description":"Sets the [server version](https://github.com/Anuken/Mindustry/tags) to install. Blank (default) = latest release. NOTE: Update the server after changing this setting", - "Keywords":"server,version,release", - "FieldName":"ServerVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerVersion", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Mindustry Server Settings", - "Description":"Sets the server name as displayed on clients. Don't include commas", - "Keywords":"server,name", - "FieldName":"name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"config name", - "IncludeInCommandLine":true, - "DefaultValue":"AMP Powered Mindustry Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Description", - "Category":"Mindustry Server Settings", - "Description":"Sets the server description, displayed under the name. Maximum 100 characters. Don't include commas", - "Keywords":"server,description,desc", - "FieldName":"desc", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"config desc", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Message Of The Day", - "Category":"Mindustry Server Settings", - "Description":"Sets the message displayed to players on connection (MOTD). Don't include commas", - "Keywords":"motd,welcome,message", - "FieldName":"motd", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"config motd", - "IncludeInCommandLine":true, - "DefaultValue":"Welcome to Mindustry!", - "EnumValues":{} - }, - { - "DisplayName":"Initial Map", - "Category":"Mindustry Server Settings", - "Description":"Sets the map to initially load, if any. None = server won't be \"opened\", and no game started (unless Load Saved Slot is set). Random = random map started in Survival mode. If Custom is selected, you must also set the Custom Map Name", - "Keywords":"host,map", - "FieldName":"host", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"host", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "":"None (default)", - "host,":"Random", - "host Ancient_Caldera {{Mode}},":"Ancient Caldera", - "host Archipelago {{Mode}},":"Archipelago", - "host Debris_Field {{Mode}},":"Debris Field", - "host Domain {{Mode}},":"Domain", - "host Fork {{Mode}},":"Fork", - "host Fortress {{Mode}},":"Fortress", - "host Glacier {{Mode}},":"Glacier", - "host Islands {{Mode}},":"Islands", - "host Labyrinth {{Mode}},":"Labyrinth", - "host Maze {{Mode}},":"Maze", - "host Molten_Lake {{Mode}},":"Molten Lake", - "host Mud_Flats {{Mode}},":"Mud Flats", - "host Passage {{Mode}},":"Passage", - "host Shattered {{Mode}},":"Shattered", - "host Tendrils {{Mode}},":"Tendrils", - "host Triad {{Mode}},":"Triad", - "host Veins {{Mode}},":"Veins", - "host Wasteland {{Mode}},":"Wasteland", - "host {{CustomMapName}} {{Mode}},":"Custom" - } - }, - { - "DisplayName":"Custom Map Name", - "Category":"Mindustry Server Settings", - "Description":"Sets the name of a custom map to initially load. The map must be included in config/maps. \"Custom\" must be selected under Initial Map", - "Keywords":"custom,map", - "FieldName":"CustomMapName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMapName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Map Shuffle Mode", - "Category":"Mindustry Server Settings", - "Description":"Sets the map shuffling mode", - "Keywords":"map,shuffle", - "FieldName":"shuffle", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"shuffle", - "IncludeInCommandLine":true, - "DefaultValue":"all", - "EnumValues":{ - "none":"No shuffling", - "all":"Shuffle all maps (default)", - "custom":"Shuffle only custom maps", - "builtin":"Shuffle only default maps" - } - }, - { - "DisplayName":"Game Mode", - "Category":"Mindustry Server Settings", - "Description":"Sets the initial game mode", - "Keywords":"game,mode", - "FieldName":"Mode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Mode", - "IncludeInCommandLine":false, - "DefaultValue":"survival", - "EnumValues":{ - "survival":"Survival (default)", - "sandbox":"Sandbox", - "attack":"Attack", - "pvp":"PvP" - } - }, - { - "DisplayName":"Load Saved Slot", - "Category":"Mindustry Server Settings", - "Description":"Sets the saved slot (as included in config/saves, without the .msav extension) to initially load. The Initial Map must be set to None for the saved slot to load, and a game cannot be running", - "Keywords":"load,save", - "FieldName":"load", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"load", - "IncludeInCommandLine":true, - "DefaultValue":"", - "SkipIfEmpty":true, - "EnumValues":{} - }, - { - "DisplayName":"Server Mods", - "Category":"Mindustry Server Settings", - "Description":"Mods can be enabled by including them in config/mods", - "Keywords":"mods", - "FieldName":"Mods", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"Mods", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Mindustry Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at one time", - "Keywords":"maximum,players,clients,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"playerlimit", - "IncludeInCommandLine":true, - "DefaultValue":"100", - "Placeholder":"100", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Enable Whitelist", - "Category":"Mindustry Server Settings", - "Description":"If set, the server whitelist will be enabled. Manage the whitelisted players from the console using \"whitelist [add/remove] [ID]\"", - "Keywords":"whitelist", - "FieldName":"whitelist", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"config whitelist", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Auto Pause When Empty", - "Category":"Mindustry Server Settings", - "Description":"If set, any running game will be paused when no player is online", - "Keywords":"auto,pause,empty,autopause", - "FieldName":"autoPause", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"config autoPause", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Autosave", - "Category":"Mindustry Server Settings", - "Description":"If enabled, the server will periodically save the map during play", - "Keywords":"save,enable,autosave", - "FieldName":"autosave", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"config autosave", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Autosave Interval", - "Category":"Mindustry Server Settings", - "Description":"Sets the time interval between autosaves, if autosave is enabled", - "Keywords":"save,autosave,interval,autosavespacing", - "FieldName":"autosaveSpacing", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"config autosaveSpacing", - "IncludeInCommandLine":true, - "DefaultValue":"300", - "Placeholder":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Autosave Quantity", - "Category":"Mindustry Server Settings", - "Description":"Sets the maximum quantity of autosaves to be retained. Older saves will be replaced when the limit is reached", - "Keywords":"maximum,autosaves,autosaveamount", - "FieldName":"autosaveAmount", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"config autosaveAmount", - "IncludeInCommandLine":true, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"autosaves", - "EnumValues":{} - }, - { - "DisplayName":"Enable Debug Logging", - "Category":"Mindustry Server Settings", - "Description":"If set, debug logging will be enabled on the server", - "Keywords":"log,logging,debug", - "FieldName":"debug", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"config debug", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Strict Mode", - "Category":"Mindustry Gameplay Settings", - "Description":"If set, strict mode will be enabled - the server will correct positions and prevent duplicate UUIDs", - "Keywords":"strict,mode", - "FieldName":"strict", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"config strict", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Custom Clients", - "Category":"Mindustry Gameplay Settings", - "Description":"If enabled, custom clients will be allowed to connect to the server", - "Keywords":"custom,clients,allowcustomclients", - "FieldName":"allowCustomClients", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"config allowCustomClients", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Show Connect/Disconnect Messages", - "Category":"Mindustry Gameplay Settings", - "Description":"If set, player connect and disconnect messages will be displayed", - "Keywords":"connect,disconnect,message,showconnectmessages", - "FieldName":"showConnectMessages", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"config showConnectMessages", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Vote Kick", - "Category":"Mindustry Gameplay Settings", - "Description":"If set, votekick will be enabled", - "Keywords":"vote,kick,enablevotekick", - "FieldName":"enableVotekick", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"config enableVotekick", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Anti-spam", - "Category":"Mindustry Gameplay Settings", - "Description":"If enabled, spammers will be automatically kicked and rate-limited", - "Keywords":"spam,spammers,antispam", - "FieldName":"antiSpam", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"config antiSpam", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Message Rate Limit", - "Category":"Mindustry Server Settings", - "Description":"Sets the message rate limit. 0 = disabled", - "Keywords":"message,rate,limit,messageratelimit", - "FieldName":"messageRateLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"config messageRateLimit", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Message Spam Kick", - "Category":"Mindustry Server Settings", - "Description":"Sets how many times a player must send a message before the cooldown to get kicked. 0 = disabled", - "Keywords":"message,spam,kick,messagespamkick", - "FieldName":"messageSpamKick", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"config messageSpamKick", - "IncludeInCommandLine":true, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Chat Spam Limit", - "Category":"Mindustry Server Settings", - "Description":"Sets the limit for the chat packet count sent within 2 seconds that will lead to a blacklist and kick. Not the same as a rate limit", - "Keywords":"chat,spam,blacklist,kick,chatspamlimit", - "FieldName":"chatSpamLimit", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"config chatSpamLimit", - "IncludeInCommandLine":true, - "DefaultValue":"20", - "Placeholder":"20", - "EnumValues":{} - }, - { - "DisplayName":"Packet Spam Limit", - "Category":"Mindustry Server Settings", - "Description":"Sets the limit for the packet count sent within 3 seconds that will lead to a blacklist and kick", - "Keywords":"packet,spam,blacklist,kick,packetspamlimit", - "FieldName":"packetSpamLimit", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"config packetSpamLimit", - "IncludeInCommandLine":true, - "DefaultValue":"300", - "Placeholder":"300", - "EnumValues":{} - }, - { - "DisplayName":"Block Interaction Rate Limit Window", - "Category":"Mindustry Server Settings", - "Description":"Sets the block interaction rate limit window", - "Keywords":"block,interaction,rate,limit,window,interactratewindow", - "FieldName":"interactRateWindow", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"config interactRateWindow", - "IncludeInCommandLine":true, - "DefaultValue":"6", - "Placeholder":"6", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Block Interaction Rate Limit", - "Category":"Mindustry Server Settings", - "Description":"Sets the block interaction rate limit", - "Keywords":"block,interaction,rate,limit,interactratelimit", - "FieldName":"interactRateLimit", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"config interactRateLimit", - "IncludeInCommandLine":true, - "DefaultValue":"25", - "Placeholder":"25", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Interactions For Kick", - "Category":"Mindustry Server Settings", - "Description":"Sets how many times a player must interact inside the window to get kicked", - "Keywords":"block,interaction,window,kick,interactratekick", - "FieldName":"interactRateKick", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"config interactRateKick", - "IncludeInCommandLine":true, - "DefaultValue":"60", - "Placeholder":"60", - "EnumValues":{} - }, - { - "DisplayName":"Client Entity Snapshot Interval", - "Category":"Mindustry Gameplay Settings", - "Description":"Sets the client entity snapshot interval", - "Keywords":"client,snapshot,interval,snapshotinterval", - "FieldName":"snapshotInterval", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"config snapshotInterval", - "IncludeInCommandLine":true, - "DefaultValue":"200", - "Placeholder":"200", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Additional Java Startup Parameters", - "Category":"Mindustry Java Settings", - "Description":"Additional Java arguments (not server arguments) as startup parameters that are not otherwise set by AMP. Use with care", - "Keywords":"custom,java,arguments,parameters", - "FieldName":"CustomJavaArgs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomJavaArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - } -] diff --git a/mindustryupdates.json b/mindustryupdates.json deleted file mode 100644 index bafc8759f..000000000 --- a/mindustryupdates.json +++ /dev/null @@ -1,89 +0,0 @@ -[ - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"GithubRelease", - "UpdateSourceArgs":"Anuken/Mindustry", - "UpdateSourceData":"server-release.jar", - "UpdateSourceVersion":"{{ServerVersion}}", - "UpdateSourceTarget":"{{$FullRootDir}}", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Java Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.zip", - "UpdateSourceTarget":"{{$FullRootDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Remove Old Java Directory", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C rd /S /Q .\\mindustry\\java" - }, - { - "UpdateStageName":"Java Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz", - "UpdateSourceArch":"x86_64", - "UpdateSourceTarget":"{{$FullRootDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Java Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.oracle.com/java/17/latest/jdk-17_linux-aarch64_bin.tar.gz", - "UpdateSourceArch":"aarch64", - "UpdateSourceTarget":"{{$FullRootDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Pause Update Stages", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Pause", - "UpdateSourceArgs":"1" - }, - { - "UpdateStageName":"Rename New Java Directory", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C move .\\mindustry\\jdk* .\\mindustry\\java" - }, - { - "UpdateStageName":"Replace Java Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm -rf ./mindustry/java ; mv ./mindustry/jdk* ./mindustry/java ; chmod +x ./mindustry/java/bin/java'" - }, - { - "UpdateStageName":"Create Maps Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}config/maps" - }, - { - "UpdateStageName":"Create Mods Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}config/mods" - }, - { - "UpdateStageName":"Create Saves Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}config/saves" - } -] \ No newline at end of file diff --git a/mordhau-config.json b/mordhau-config.json deleted file mode 100644 index 5dc8199f5..000000000 --- a/mordhau-config.json +++ /dev/null @@ -1,234 +0,0 @@ -[ - { - "DisplayName": "Server Name", - "Category": "Server Config", - "Description": "Name of the server in the browser.", - "Keywords": "Server,Name", - "FieldName": "ServerName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Mordhau.MordhauGameSession.ServerName", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Mordhau Server", - "EnumValues": {} - }, - { - "DisplayName": "Server Password", - "Category": "Server Config", - "Description": "The password users need to join the server.", - "Keywords": "Server,Password", - "FieldName": "ServerPassword", - "InputType": "Password", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Mordhau.MordhauGameSession.ServerPassword", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "RCON Password", - "Category": "Server Config", - "Description": "See the Security and Privacy menu for configurable options for the server's RCON.", - "Keywords": "Rcon,Password", - "FieldName": "$RemoteAdminPassword", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Mordhau.MordhauGameSession.RconPassword", - "IncludeInCommandLine": false, - "EnumValues": {} - }, - { - "DisplayName": "Admin Password", - "Category": "Server Config", - "Description": "The password to become admin in the server.", - "Keywords": "Admin,Password", - "FieldName": "AdminPassword", - "InputType": "Password", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Mordhau.MordhauGameSession.AdminPassword", - "IncludeInCommandLine": false, - "DefaultValue": "{{newguid()}}", - "EnumValues": {} - }, - { - "DisplayName": "Max Players", - "Category": "Server Config", - "Description": "Max players that can join at a time.", - "Keywords": "Max,players,Slots", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Mordhau.MordhauGameSession.MaxSlots", - "IncludeInCommandLine": false, - "DefaultValue": "16", - "EnumValues": {}, - "MinValue":"1" - }, - { - "DisplayName": "Advertise on Steam", - "Category": "Server Config", - "Description": "Enable to display the server in the Steam browser list.", - "Keywords": "advertise,on,steam", - "FieldName": "bAdvertiseServerViaSteam", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Mordhau.MordhauGameSession.bAdvertiseServerViaSteam", - "IncludeInCommandLine": false, - "DefaultValue": "True", - "EnumValues": { - "True":"True", - "False":"False" - } - }, - { - "DisplayName": "Starting Map & Mode", - "Category": "Server Config", - "Description": "The map and mode the server will start with: BR (Battle Royale), DU (Duel), FFA (Deathmatch), FL (Frontline), HRD (Horde), INV (Invasion), SKM (Skirmish), TDM (Team Deathmatch), TF (Teamfight)", - "Keywords": "starting,map,mode", - "FieldName": "map", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "map", - "IncludeInCommandLine": false, - "DefaultValue": "/Game/Mordhau/Maps/FeitoriaMap/BR_Feitoria", - "EnumValues": { - "/Game/Mordhau/Maps/FeitoriaMap/BR_Feitoria":"BR_Feitoria", - "/Game/Mordhau/Maps/Grad/BR_Grad":"BR_Grad", - "/Game/Mordhau/Maps/TaigaMap/BR_Taiga":"BR_Taiga", - "/Game/Mordhau/Maps/Arena_Map/DU_Arena":"DU_Arena", - "/Game/Mordhau/Maps/Contraband/DU_Contraband":"DU_Contraband", - "/Game/Mordhau/Maps/Cortile/DU_Cortile":"DU_Cortile", - "/Game/Mordhau/Maps/Highlands/DU_Highlands":"DU_Highlands", - "/Game/Mordhau/Maps/Tourney/DU_Tourney":"DU_Tourney", - "/Game/Mordhau/Maps/Truce/DU_Truce":"DU_Truce", - "/Game/Mordhau/Maps/Arena_Map/FFA_Arena":"FFA_Arena", - "/Game/Mordhau/Maps/DuelCamp/FFA_Camp":"FFA_Camp", - "/Game/Mordhau/Maps/Castello/FFA_Castello":"FFA_Castello", - "/Game/Mordhau/Maps/Castello/FFA_Castello_64":"FFA_Castello_64", - "/Game/Mordhau/Maps/Contraband/FFA_Contraband":"FFA_Contraband", - "/Game/Mordhau/Maps/Cortile/FFA_Cortile":"FFA_Cortile", - "/Game/Mordhau/Maps/Crossroads/FFA_Crossroads":"FFA_Crossroads", - "/Game/Mordhau/Maps/FeitoriaMap/FFA_Feitoria":"FFA_Feitoria", - "/Game/Mordhau/Maps/Grad/FFA_Grad":"FFA_Grad", - "/Game/Mordhau/Maps/Highlands/FFA_Highlands":"FFA_Highlands", - "/Game/Mordhau/Maps/MaxMap/FFA_MountainPeak":"FFA_MountainPeak", - "/Game/Mordhau/Maps/DesertMap/FFA_Noria":"FFA_Noria", - "/Game/Mordhau/Maps/TaigaMap/FFA_Taiga":"FFA_Taiga", - "/Game/Mordhau/Maps/ThePit/FFA_ThePit":"FFA_ThePit", - "/Game/Mordhau/Maps/Tourney/FFA_Tourney":"FFA_Tourney", - "/Game/Mordhau/Maps/Truce/FFA_Truce":"FFA_Truce", - "/Game/Mordhau/Maps/Arid/FL_Arid":"FL_Arid", - "/Game/Mordhau/Maps/DuelCamp/FL_Camp":"FL_Camp", - "/Game/Mordhau/MapsCastello/FL_Castello":"FL_Castello", - "/Game/Mordhau/Maps/Crossroads/FL_Crossroads":"FL_Crossroads", - "/Game/Mordhau/Maps/FeitoriaMap/FL_Feitoria":"FL_Feitoria", - "/Game/Mordhau/Maps/Grad/FL_Grad":"FL_Grad", - "/Game/Mordhau/Maps/MaxMap/FL_MountainPeak":"FL_MountainPeak", - "/Game/Mordhau/Maps/DesertMap/FL_Noria":"FL_Noria", - "/Game/Mordhau/Maps/TaigaMap/FL_Taiga":"FL_Taiga", - "/Game/Mordhau/Maps/DuelCamp/HRD_Camp":"HRD_Camp", - "/Game/Mordhau/Maps/Castello/HRD_Castello":"HRD_Castello", - "/Game/Mordhau/Maps/Crossroads/HRD_Crossroads":"HRD_Crossroads", - "/Game/Mordhau/Maps/FeitoriaMap/HRD_Feitoria":"HRD_Feitoria", - "/Game/Mordhau/Maps/Grad/HRD_Grad":"HRD_Grad", - "/Game/Mordhau/Maps/MaxMap/HRD_MountainPeak":"HRD_MountainPeak", - "/Game/Mordhau/Maps/DesertMap/HRD_Noria":"HRD_Noria", - "/Game/Mordhau/Maps/TaigaMap/HRD_Taiga":"HRD_Taiga", - "/Game/Mordhau/Maps/Arid/INV_Arid_1":"INV_Arid_1", - "/Game/Mordhau/Maps/DuelCamp/INV_Camp_1":"INV_Camp_1", - "/Game/Mordhau/Maps/Castello/INV_Castello_0":"INV_Castello_0", - "/Game/Mordhau/Maps/Crossroads/INV_Crossroads_0":"INV_Crossroads_0", - "/Game/Mordhau/Maps/FeitoriaMap/INV_Feitoria_0":"INV_Feitoria_0", - "/Game/Mordhau/Maps/Grad/INV_Grad_0":"INV_Grad_0", - "/Game/Mordhau/Maps/Grad/INV_Grad_1":"INV_Grad_1", - "/Game/Mordhau/Maps/DesertMap/INV_Noria_1":"INV_Noria_1", - "/Game/Mordhau/Maps/TaigaMap/INV_Taiga_0":"INV_Taiga_0", - "/Game/Mordhau/Maps/Arena_Map/SKM_Arena":"SKM_Arena", - "/Game/Mordhau/Maps/DuelCamp/SKM_Camp":"SKM_Camp", - "/Game/Mordhau/Maps/DuelCamp/SKM_Camp_64":"SKM_Camp_64", - "/Game/Mordhau/Maps/Castello/SKM_Castello":"SKM_Castello", - "/Game/Mordhau/Maps/Castello/SKM_Castello_64":"SKM_Castello_64", - "/Game/Mordhau/Maps/Contraband/SKM_Contraband":"SKM_Contraband", - "/Game/Mordhau/Maps/Cortile/SKM_Cortile":"SKM_Cortile", - "/Game/Mordhau/Maps/Crossroads/SKM_Crossroads":"SKM_Crossroads", - "/Game/Mordhau/Maps/FeitoriaMap/SKM_Feitoria":"SKM_Feitoria", - "/Game/Mordhau/Maps/FeitoriaMap/SKM_Feitoria_64":"SKM_Feitoria_64", - "/Game/Mordhau/Maps/Grad/SKM_Grad":"SKM_Grad", - "/Game/Mordhau/Maps/Grad/SKM_Grad_64":"SKM_Grad_64", - "/Game/Mordhau/Maps/Highlands/SKM_Highlands":"SKM_Highlands", - "/Game/Mordhau/Maps/MaxMap/SKM_MountainPeak":"SKM_MountainPeak", - "/Game/Mordhau/Maps/MaxMap/SKM_MountainPeak_64":"SKM_MountainPeak_64", - "/Game/Mordhau/Maps/DesertMap/SKM_Noria":"SKM_Noria", - "/Game/Mordhau/Maps/TaigaMap/SKM_Taiga":"SKM_Taiga", - "/Game/Mordhau/Maps/TaigaMap/SKM_Taiga_64":"SKM_Taiga_64", - "/Game/Mordhau/Maps/ThePit/SKM_ThePit":"SKM_ThePit", - "/Game/Mordhau/Maps/Tourney/SKM_Tourney":"SKM_Tourney", - "/Game/Mordhau/Maps/Truce/SKM_Truce":"SKM_Truce", - "/Game/Mordhau/Maps/Arena_Map/TDM_Arena":"TDM_Arena", - "/Game/Mordhau/Maps/DuelCamp/TDM_Camp":"TDM_Camp", - "/Game/Mordhau/Maps/DuelCamp/TDM_Camp_64":"TDM_Camp_64", - "/Game/Mordhau/Maps/Castello/TDM_Castello":"TDM_Castello", - "/Game/Mordhau/Maps/Contraband/TDM_Contraband":"TDM_Contraband", - "/Game/Mordhau/Maps/Cortile/TDM_Cortile":"TDM_Cortile", - "/Game/Mordhau/Maps/Crossroads/TDM_Crossroads":"TDM_Crossroads", - "/Game/Mordhau/Maps/FeitoriaMap/TDM_Feitoria":"TDM_Feitoria", - "/Game/Mordhau/Maps/FeitoriaMap/TDM_Feitoria_64":"TDM_Feitoria_64", - "/Game/Mordhau/Maps/Grad/TDM_Grad":"TDM_Grad", - "/Game/Mordhau/Maps/Highlands/TDM_Highlands":"TDM_Highlands", - "/Game/Mordhau/Maps/MaxMap/TDM_MountainPeak":"TDM_MountainPeak", - "/Game/Mordhau/Maps/DesertMap/TDM_Noria":"TDM_Noria", - "/Game/Mordhau/Maps/TaigaMap/TDM_Taiga":"TDM_Taiga", - "/Game/Mordhau/Maps/TaigaMap/TDM_Taiga_64":"TDM_Taiga_64", - "/Game/Mordhau/Maps/ThePit/TDM_ThePit":"TDM_ThePit", - "/Game/Mordhau/Maps/Tourney/TDM_Tourney":"TDM_Tourney", - "/Game/Mordhau/Maps/Truce/TDM_Truce":"TDM_Truce", - "/Game/Mordhau/Maps/Arena_Map/TF_Arena":"TF_Arena", - "/Game/Mordhau/Maps/Cortile/TF_Cortile":"TF_Cortile", - "/Game/Mordhau/Maps/Highlands/TF_Highlands":"TF_Highlands", - "/Game/Mordhau/Maps/Truce/TF_Truce":"TF_Truce", - "{{CustomMapText}}": "Custom Map" - } - }, - { - "DisplayName": "Custom Map", - "Category": "Server Config", - "Description": "Enter a custom map. Must select \"Custom Map\" in the Starting Map & Mode drop-down. This is the same as the folder name the map is stored under.", - "Keywords": "Custom,Map", - "FieldName": "CustomMapText", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "CustomMapText", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "SkrimJaw", - "EnumValues": {} - }, - { - "DisplayName": "RconPort", - "Category": "Server Config", - "Description": "RconPort", - "Keywords": "RconPort", - "FieldName": "$RemoteAdminPort", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Mordhau.MordhauGameSession.RconPort", - "IncludeInCommandLine": false, - "DefaultValue": "7778", - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "RconTimeout", - "Category": "Server Config", - "Description": "RconTimeout", - "Keywords": "RconTimeout", - "FieldName": "RconTimeout", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Mordhau.MordhauGameSession.RconTimeout", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Hidden": true, - "EnumValues": {} - } -] \ No newline at end of file diff --git a/mordhau-metaconfig.json b/mordhau-metaconfig.json deleted file mode 100644 index bbd829bfe..000000000 --- a/mordhau-metaconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "ConfigFile": "Mordhau/Saved/Config/WindowsServer/Game.ini", - "AutoMap": true, - "ConfigType": "ini" - }, - { - "ConfigFile": "Mordhau/Saved/Config/LinuxServer/Game.ini", - "AutoMap": true, - "ConfigType": "ini" - } -] \ No newline at end of file diff --git a/mordhau.kvp b/mordhau.kvp deleted file mode 100644 index ee97f1f81..000000000 --- a/mordhau.kvp +++ /dev/null @@ -1,79 +0,0 @@ -Meta.DisplayName=Mordhau -Meta.Description=Mordhau Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Moses, IceOfWraith, southnode-zac -Meta.URL=https://store.steampowered.com/app/629760/MORDHAU/ -Meta.DisplayImageSource=steam:629760 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} -Meta.ConfigManifest=mordhau-config.json -Meta.MetaConfigManifest=mordhau-metaconfig.json -Meta.ConfigRoot=mordhau.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Mordhau -App.RootDir=./mordhau/ -App.BaseDirectory=./mordhau/629800/ -App.ExecutableWin=629800\Mordhau\Binaries\Win64\MordhauServer-Win64-Shipping.exe -App.ExecutableLinux=629800/Mordhau/Binaries/Linux/MordhauServer-Linux-Shipping -App.SteamWorkshopDownloadLocation= -App.WorkingDir=629800 -App.LinuxCommandLineArgs=Mordhau -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{map}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -Beaconport={{$ApplicationPort3}} {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:./linux64:%LD_LIBRARY_PATH%","SteamAppId":"629760"} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=Shutdown -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.ApplicationPort1=7777 -App.ApplicationPort2=27015 -App.ApplicationPort3=15000 -App.RemoteAdminPort=7778 -App.MaxUsers=16 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=SourceRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=30 -App.RCONConnectRetrySeconds=15 -App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"629800","UpdateSourceArgs":"629760"},{"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=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=27015 -App.UniversalSleepSteamQueryPort=27016 -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^.*LogInit\: Display\: Starting Game.$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=True -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/nebulous-fleet-command.kvp b/nebulous-fleet-command.kvp deleted file mode 100644 index ddee7b7c8..000000000 --- a/nebulous-fleet-command.kvp +++ /dev/null @@ -1,94 +0,0 @@ -Meta.DisplayName=NEBULOUS: Fleet Command -Meta.Description=NEBULOUS: Fleet Command Dedicated Server -Meta.OS=Linux -Meta.AarchSupport=NotSupported -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://store.steampowered.com/app/887570/NEBULOUS_Fleet_Command/ -Meta.DisplayImageSource=steam:887570 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=nebulous-fleet-commandconfig.json -Meta.MetaConfigManifest=nebulous-fleet-commandmetaconfig.json -Meta.ConfigRoot=nebulous-fleet-command.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=NEBULOUS: Fleet Command -App.RootDir=./nebulous-fleet-command/ -App.BaseDirectory=./nebulous-fleet-command/2353090/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin= -App.ExecutableLinux=2353090/NebulousDedicatedServer -App.WorkingDir=2353090 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -nographics -batchmode -serverConfig ./AMPServerConfig.xml {{$FormattedArgs}} -logFile - -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"887570"} -App.CommandLineParameterFormat=-{0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=exit -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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=10 -App.UseRandomAdminPassword=True -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[nebulous-fleet-commandupdates.json] -App.PreStartStages=[] -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Dedicated server startup completed$ -Console.UserJoinRegex=^GameManager::OnServerAddPlayer: Adding player: (?<sessionid>\d+?)$ -Console.UserLeaveRegex=^GameManager::OnServerDisconnect: Removing player (?<sessionid>\d+?)$ -Console.UserChatRegex=^$ -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 diff --git a/nebulous-fleet-commandconfig.json b/nebulous-fleet-commandconfig.json deleted file mode 100644 index fb79da9e6..000000000 --- a/nebulous-fleet-commandconfig.json +++ /dev/null @@ -1,272 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"NFC Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/GamePort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Steam Query Port", - "Category":"NFC Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/QueryPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"NFC Server Settings", - "Description":"Sets the server name visible in the server browser", - "Keywords":"server,name,servername", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered NEBULOUS: Fleet Command Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"NFC Server Settings", - "Description":"Sets the password required to connect to the server. Default is no password", - "Keywords":"server,password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/Password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Admins", - "Category":"NFC Server Settings", - "Description":"Server admins can be configured in the Admins section in AMPServerConfig.xml. Admins can execute ! commands on the server without requiring a vote", - "Keywords":"admins", - "FieldName":"Admins", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Message Of The Day", - "Category":"NFC Server Settings", - "Description":"Sets the player welcome message (MOTD)", - "Keywords":"motd,welcome,message", - "FieldName":"MOTD", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/MOTD", - "IncludeInCommandLine":false, - "DefaultValue":"-- Welcome to N:FC! --\nPlay by the rules!", - "EnumValues":{} - }, - { - "DisplayName":"Server Scenario", - "Category":"NFC Server Settings", - "Description":"Sets the scenario for the server. If Custom is selected, Custom Scenario Name must also be set", - "Keywords":"scenario", - "FieldName":"Scenario", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/Scenario", - "IncludeInCommandLine":false, - "DefaultValue":"Control", - "EnumValues":{ - "Deathmatch":"Deathmatch", - "Two Flags":"Two Flags", - "Center Flag":"Center Flag", - "Control":"Control (default)", - "Station Capture":"Station Capture", - "Tug Of War":"Tug Of War", - "{{CustomScenario}}":"Custom" - } - }, - { - "DisplayName":"Custom Scenario Name", - "Category":"NFC Server Settings", - "Description":"Sets the name of a custom (modded) scenario for the server. \"Custom\" must be selected under Server Scenario", - "Keywords":"custom,scenario", - "FieldName":"CustomScenario", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomScenario", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Scenario Settings", - "Category":"NFC Server Settings", - "Description":"Scenario settings can be configured in AMPServerConfig.xml. Otherwise defaults apply", - "Keywords":"scenario,settings,scenariosettings", - "FieldName":"ScenarioSettings", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Maps", - "Category":"NFC Server Settings", - "Description":"Maps for the map rotation can be configured in the Maps section in AMPServerConfig.xml. Default map is Pillars. Modded maps must be included in the Mods section in AMPServerConfig.xml as well", - "Keywords":"map,rotation,maps", - "FieldName":"Maps", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Map Rotation Order", - "Category":"NFC Server Settings", - "Description":"Sets the order in which the server maps will be selected", - "Keywords":"map,rotation,maprotation", - "FieldName":"MapRotation", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/MapRotation", - "IncludeInCommandLine":false, - "DefaultValue":"Sequential", - "EnumValues":{ - "Sequential":"Sequential (default)", - "Random":"Random" - } - }, - { - "DisplayName":"Server Mods", - "Category":"NFC Server Settings", - "Description":"Mods can be enabled in the Mods section in AMPServerConfig.xml. The mods specified will be automatically downloaded by the server", - "Keywords":"mods", - "FieldName":"Mods", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Allow Modded Fleets", - "Category":"NFC Server Settings", - "Description":"If set, mods enabled on the server will be permitted for use on player fleets. The server will show the \"Mod Friendly\" icon", - "Keywords":"mods,modded,fleets,allowmoddedfleets", - "FieldName":"AllowModdedFleets", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/AllowModdedFleets", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Player Limit", - "Category":"NFC Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at one time. The number of players per team is still decided by the map", - "Keywords":"maximum,players,clients,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Team Size To Start", - "Category":"NFC Server Settings", - "Description":"Sets the number of players that must be present on each team before the game can start", - "Keywords":"team,size,minimum,teamsizetostart", - "FieldName":"TeamSizeToStart", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/TeamSizeToStart", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Placeholder":"2", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Enforce Uniform Team Factions", - "Category":"NFC Server Settings", - "Description":"If enabled, the server will enforce uniform factions on teams", - "Keywords":"uniform,team,factions,requireuniformteams", - "FieldName":"RequireUniformTeams", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/RequireUniformTeams", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Game Time Limit", - "Category":"NFC Server Settings", - "Description":"Sets the time limit for games. 0 = unlimited time. The value set indexes into a list of possible time settings. It is NOT a minutes value", - "Keywords":"time,limit,timelimit", - "FieldName":"TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Allow Player Voting", - "Category":"NFC Server Settings", - "Description":"If enabled, players can vote on maps, scenarios and rules", - "Keywords":"map,scenarios,rules,voting,allowmapvoting", - "FieldName":"AllowMapVoting", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SkirmishDedicatedServerConfig/AllowMapVoting", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Bot Settings", - "Category":"NFC Server Settings", - "Description":"Bots listed in the Bots section in AMPServerConfig.xml will be created each time the server returns to the lobby", - "Keywords":"bots", - "FieldName":"Bots", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "EnumValues":{} - } -] \ No newline at end of file diff --git a/nebulous-fleet-commanddedicatedserverconfig.xml b/nebulous-fleet-commanddedicatedserverconfig.xml deleted file mode 100755 index ed20beb96..000000000 --- a/nebulous-fleet-commanddedicatedserverconfig.xml +++ /dev/null @@ -1,107 +0,0 @@ -<?xml version="1.0"?> -<SkirmishDedicatedServerConfig xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - - <!-- - *************************** - Settings in this section are controlled by AMP. - *************************** - --> - - <ServerName>AMP Powered NEBULOUS: Fleet Command Server</ServerName> - <Password></Password> - <MaxPlayers>10</MaxPlayers> - <GamePort>7777</GamePort> - <QueryPort>27016</QueryPort> - <TeamSizeToStart>2</TeamSizeToStart> - <MOTD>-- Welcome to N:FC! -- - Play by the rules! - </MOTD> - <AllowMapVoting>true</AllowMapVoting> - <TimeLimit>0</TimeLimit> - <RequireUniformTeams>true</RequireUniformTeams> - <Scenario>Control</Scenario> - <MapRotation>Sequential</MapRotation> - <AllowModdedFleets>false</AllowModdedFleets> - - <!-- - *************************** - Set relevant settings in this section manually. - Don't forget to remove the comment markers before and after settings that you wish to enable! - *************************** - --> - - <!-- - Listed 64-bit Steam IDs will be registered as admins and can execute ! commands - on the server without requiring a vote. They will also have the Host badge next to - their name in the lobby. - --> - <Admins> - <!-- <unsignedLong>0</unsignedLong> --> - </Admins> - - <!-- - Change settings for the scenario here, otherwise defaults will be used. - Each setting is selected using a Key, which is the name of the setting as it appears - in the lobby settings list. - The Value field is an integer index into the list of options, starting at 0. - The example below sets the Control victory points to 1500, because it is the third option in the list. - --> - <!-- - <ScenarioSettings> - <Setting> - <Key>Victory Points</Key> - <Value>2</Value> - </Setting> - </ScenarioSettings> - --> - - <!-- List all maps in the map rotation here. Add by name or key. --> - <Maps> - <string>Pillars</string> - </Maps> - - <!-- - Enable mods for your server here. - Provide the Steam ID of the mod, which can be found in its workshop URL. - Any mod found in this list will be permitted for use in a player fleet, but only if AllowModdedFleets - is set to true. - If you intend to use modded maps in your rotation, they must be included here as well. - --> - <!-- - <Mods> - <unsignedLong>0</unsignedLong> - <unsignedLong>0</unsignedLong> - </Mods> - --> - - <!-- - Bots listed here will be created each time the server returns to the lobby. - Only the Team field is required. Everything else can be left blank and colors, fleet, and badge will - be chosen randomly for each bot. - --> - <!-- - <Bots> - <Bot> - <Team>TeamB</Team> - <Colors> - <BaseColor> - <r>1</r> - <g>1</g> - <b>1</b> - <a>1</a> - </BaseColor> - <StripeColor> - <r>1</r> - <g>1</g> - <b>1</b> - <a>1</a> - </StripeColor> - <Prefix>OSPN</Prefix> - </Colors> - <Badge>OSP_Roundel</Badge> - <Fleet>Starter Fleets - Alliance/TF Oak.fleet</Fleet> - </Bot> - </Bots> - --> - -</SkirmishDedicatedServerConfig> \ No newline at end of file diff --git a/nebulous-fleet-commandmetaconfig.json b/nebulous-fleet-commandmetaconfig.json deleted file mode 100644 index 957723a1a..000000000 --- a/nebulous-fleet-commandmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"./AMPServerConfig.xml", - "AutoMap":true, - "ConfigType":"xml" - } -] diff --git a/nebulous-fleet-commandupdates.json b/nebulous-fleet-commandupdates.json deleted file mode 100644 index 33b6f846a..000000000 --- a/nebulous-fleet-commandupdates.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"2353090", - "UpdateSourceArgs":"887570" - }, - { - "UpdateStageName":"Config File Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/nebulous-fleet-commanddedicatedserverconfig.xml", - "UpdateSourceArgs":"AMPServerConfig.xml", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "OverwriteExistingFiles":false - } -] \ No newline at end of file diff --git a/necesse.kvp b/necesse.kvp deleted file mode 100644 index bfa5905e4..000000000 --- a/necesse.kvp +++ /dev/null @@ -1,87 +0,0 @@ -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","UpdateSourceArgs":"1169040"},{"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 "(?<username>.+?)" connected on slot (.+)\.$ -Console.UserLeaveRegex=^\[[\d\-]+ [\d:]+\] Player (?<userid>\d+?) \("(?<username>.+)"\) disconnected with message: .+$ -Console.UserChatRegex=^\[[\d\-]+ [\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 diff --git a/necesseconfig.json b/necesseconfig.json deleted file mode 100644 index b54b36c58..000000000 --- a/necesseconfig.json +++ /dev/null @@ -1,133 +0,0 @@ -[ - { - "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", - "MinValue":"1", - "MaxValue":"250" - }, - { - "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 deleted file mode 100644 index 531d35a7a..000000000 --- a/necessemetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "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 deleted file mode 100644 index 6adcd51af..000000000 --- a/necesseserverconfig.cfg +++ /dev/null @@ -1,11 +0,0 @@ -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 diff --git a/night-of-the-dead.kvp b/night-of-the-dead.kvp deleted file mode 100644 index 4f635e8d2..000000000 --- a/night-of-the-dead.kvp +++ /dev/null @@ -1,78 +0,0 @@ -Meta.DisplayName=Night of the Dead -Meta.Description=Night of the Dead Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://www.nightofthedead.org/ -Meta.DisplayImageSource=steam:1377380 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=night-of-the-deadconfig.json -Meta.MetaConfigManifest=night-of-the-deadmetaconfig.json -Meta.ConfigRoot=night-of-the-dead.kvp -Meta.MinAMPVersion= -Meta.SpecificDockerImage=cubecoders/ampbase:wine8 -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine 7 (or later) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Night of the Dead -App.RootDir=./night-of-the-dead/ -App.BaseDirectory=./night-of-the-dead/1420710/ -App.ExecutableWin=1420710\LF\Binaries\Win64\LFServer.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=1420710 -App.LinuxCommandLineArgs=-a wine "./LF/Binaries/Win64/LFServer.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} ?listen -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout -FullStdOutLogOutput -CRASHREPORTS -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1377380","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPort=GamePort -App.UniversalSleepSteamQueryPort=QueryPort -App.MaxUsers=16 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","UpdateSourceArgs":"1377380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1420710/LF/Binaries/Win64","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=wine64 -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogBlueprintUserMessages: \[BP_LFGameMode_C_\d+\] Session Update success$ -Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: Adding user (?<userid>.+?):\d+ from RegisterConnection$ -Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: (?<userid>.+?) has been removed\.$ -Console.UserChatRegex=^$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/night-of-the-deadconfig.json b/night-of-the-deadconfig.json deleted file mode 100644 index 1625fe9fa..000000000 --- a/night-of-the-deadconfig.json +++ /dev/null @@ -1,983 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"NOTD Server Settings", - "Description":"Sets the name of the server to be displayed on the server list", - "Keywords":"server,name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Night of the Dead Server", - "EnumValues":{} - }, - { - "DisplayName":"Message Of The Day", - "Category":"NOTD Server Settings", - "Description":"Sets the message of the day (MOTD) displayed when players join", - "Keywords":"message,motd", - "FieldName":"DefaultMessageOfTheDay", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DefaultMessageOfTheDay", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to NOTD!", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"NOTD Server Settings", - "Description":"Sets the password to join the server. Default is no password", - "Keywords":"password", - "FieldName":"Password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"Password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"NOTD Server Settings", - "Description":"Sets the password for in-game admin commands. Default is no password", - "Keywords":"password", - "FieldName":"IngameAdminPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"IngameAdminPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"NOTD Server Settings", - "Description":"Maximum number of players allowed on the server", - "Keywords":"max,players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"16", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Save Name", - "Category":"NOTD Server Settings", - "Description":"Sets the name of the world directory to load, or to create if it does not already exist", - "Keywords":"save,name", - "FieldName":"SaveName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SaveName", - "IncludeInCommandLine":false, - "DefaultValue":"world", - "EnumValues":{} - }, - { - "DisplayName":"Save Interval", - "Category":"NOTD Server Settings", - "Description":"Sets the save interval for the server. 1 in-game hour = 5 minutes in real time", - "Keywords":"save,interval", - "FieldName":"SaveIntervalHour", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SaveIntervalHour", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "Suffix":"in-game hours", - "EnumValues":{} - }, - { - "DisplayName":"Server IP Binding", - "Category":"NOTD Server Settings", - "Description":"Sets the binding of the server (Windows only). Default is blank (all IPs). Change to internal interface IP only if the server has issues", - "Keywords":"ip,binding,localip,address,multihome", - "FieldName":"MultiHome", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Game Mode", - "Category":"NOTD Server Settings", - "Description":"Sets the game mode", - "Keywords":"game,mode", - "FieldName":"MODSelect", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"MODSelect", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "1":"PvE", - "0":"PvP" - } - }, - { - "DisplayName":"Game Difficulty", - "Category":"NOTD Server Settings", - "Description":"Sets the game difficulty level. If Custom is selected, server parameters can be set under NOTD Custom Settings", - "Keywords":"game,difficulty", - "FieldName":"Difficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Difficulty", - "IncludeInCommandLine":false, - "DefaultValue":"Normal", - "EnumValues":{ - "Peaceful":"Peaceful", - "Easy":"Easy", - "Normal":"Normal (Default)", - "Hard":"Hard", - "Survival":"Survival", - "Challenge":"Challenge", - "Legend":"Legend", - "Custom":"Custom" - } - }, - { - "DisplayName":"Enable Hardcore", - "Category":"NOTD Server Settings", - "Description":"If enabled, hardcore mode will be enabled", - "Keywords":"hardcore", - "FieldName":"Hardcore", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Hardcore", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Wave", - "Category":"NOTD Server Settings", - "Description":"If set, there will be no wave", - "Keywords":"wave", - "FieldName":"NoWave", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoWave", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Zombie Respawn", - "Category":"NOTD Server Settings", - "Description":"If set, zombies will not respawn", - "Keywords":"zombie,respawn", - "FieldName":"NoZombieRespawn", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoZombieRespawn", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Natural Objects Respawn", - "Category":"NOTD Server Settings", - "Description":"If enabled, natural objects will respawn", - "Keywords":"natural,objects,respawn", - "FieldName":"NaturalObjectRespawn", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NaturalObjectRespawn", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Synthetic Objects Respawn", - "Category":"NOTD Server Settings", - "Description":"If enabled, synthetic objects will respawn", - "Keywords":"synthetic,objects,respawn", - "FieldName":"SyntheticObjectRespawn", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SyntheticObjectRespawn", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Generator Breakdown", - "Category":"NOTD Server Settings", - "Description":"If set, generators will not break down", - "Keywords":"generator,breakdown", - "FieldName":"NoGeneratorTrouble", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoGeneratorTrouble", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Research Loss On Death", - "Category":"NOTD Server Settings", - "Description":"If set, research will not be lost on death", - "Keywords":"research,drop,loss,death", - "FieldName":"NoDeathResearchDrop", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoDeathResearchDrop", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Item Drop On Exit", - "Category":"NOTD Server Settings", - "Description":"If enabled, items will be dropped on exit", - "Keywords":"item,drop,exit", - "FieldName":"DropItemsOnExit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DropItemsOnExit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Team Kill", - "Category":"NOTD Server Settings", - "Description":"If set, team kill will be disabled", - "Keywords":"team,kill", - "FieldName":"NoTeamKill", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoTeamKill", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Ending", - "Category":"NOTD Server Settings", - "Description":"If set, ending will be disabled", - "Keywords":"ending", - "FieldName":"NoEnding", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoEnding", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Light Zombie HP", - "Category":"NOTD Custom Settings", - "Description":"Sets the light zombie HP", - "Keywords":"light,normal,zombie,health,hp", - "FieldName":"NormalZombieHealth", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"NormalZombieHealth", - "IncludeInCommandLine":false, - "DefaultValue":"17", - "Placeholder":"17", - "EnumValues":{} - }, - { - "DisplayName":"Heavy Zombie HP", - "Category":"NOTD Custom Settings", - "Description":"Sets the heavy zombie HP", - "Keywords":"heavy,special,zombie,health,hp", - "FieldName":"SpecialZombieHealth", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"SpecialZombieHealth", - "IncludeInCommandLine":false, - "DefaultValue":"17", - "Placeholder":"17", - "EnumValues":{} - }, - { - "DisplayName":"Giant Zombie HP", - "Category":"NOTD Custom Settings", - "Description":"Sets the giant zombie HP", - "Keywords":"giant,zombie,health,hp", - "FieldName":"GiantZombieHealth", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"GiantZombieHealth", - "IncludeInCommandLine":false, - "DefaultValue":"17", - "Placeholder":"17", - "EnumValues":{} - }, - { - "DisplayName":"Zombie Damage", - "Category":"NOTD Custom Settings", - "Description":"Sets the zombie damage", - "Keywords":"zombie,damage", - "FieldName":"ZombieDamage", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ZombieDamage", - "IncludeInCommandLine":false, - "DefaultValue":"18", - "Placeholder":"18", - "EnumValues":{} - }, - { - "DisplayName":"Zombie Movement Speed", - "Category":"NOTD Custom Settings", - "Description":"Sets the zombie movement speed", - "Keywords":"zombie,movement,speed", - "FieldName":"ZombieMovementSpeed", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ZombieMovementSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"35", - "Placeholder":"35", - "EnumValues":{} - }, - { - "DisplayName":"World Zombie Spawn Amount", - "Category":"NOTD Custom Settings", - "Description":"Sets the world zombie spawn amount", - "Keywords":"world,zombie,spawn,amount", - "FieldName":"WorldZombieSpawn", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"WorldZombieSpawn", - "IncludeInCommandLine":false, - "DefaultValue":"17", - "Placeholder":"17", - "EnumValues":{} - }, - { - "DisplayName":"Wave Zombie HP", - "Category":"NOTD Custom Settings", - "Description":"Sets the wave zombie HP", - "Keywords":"wave,zombie,health,hp", - "FieldName":"WaveZombieHealth", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"WaveZombieHealth", - "IncludeInCommandLine":false, - "DefaultValue":"25", - "Placeholder":"25", - "EnumValues":{} - }, - { - "DisplayName":"Light Zombie Amount", - "Category":"NOTD Custom Settings", - "Description":"Sets the light zombie wave amount", - "Keywords":"light,normal,zombie,amount", - "FieldName":"WaveNormalZombieAmount", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"WaveNormalZombieAmount", - "IncludeInCommandLine":false, - "DefaultValue":"44", - "Placeholder":"44", - "EnumValues":{} - }, - { - "DisplayName":"Heavy Zombie Amount", - "Category":"NOTD Custom Settings", - "Description":"Sets the heavy zombie wave amount", - "Keywords":"heavy,special,zombie,amount", - "FieldName":"WaveSpecialZombieAmount", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"WaveSpecialZombieAmount", - "IncludeInCommandLine":false, - "DefaultValue":"17", - "Placeholder":"17", - "EnumValues":{} - }, - { - "DisplayName":"Giant Zombie Amount", - "Category":"NOTD Custom Settings", - "Description":"Sets the giant zombie wave amount", - "Keywords":"giant,zombie,amount", - "FieldName":"WaveGiantZombieAmount", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"WaveGiantZombieAmount", - "IncludeInCommandLine":false, - "DefaultValue":"21", - "Placeholder":"21", - "EnumValues":{} - }, - { - "DisplayName":"Animal HP", - "Category":"NOTD Custom Settings", - "Description":"Sets the animal HP", - "Keywords":"animal,health,hp", - "FieldName":"AnimalHealth", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"AnimalHealth", - "IncludeInCommandLine":false, - "DefaultValue":"17", - "Placeholder":"17", - "EnumValues":{} - }, - { - "DisplayName":"Animal Attack Damage", - "Category":"NOTD Custom Settings", - "Description":"Sets the animal attack damage", - "Keywords":"animal,attack,damage", - "FieldName":"AnimalDamage", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"AnimalDamage", - "IncludeInCommandLine":false, - "DefaultValue":"18", - "Placeholder":"18", - "EnumValues":{} - }, - { - "DisplayName":"Light Zombie Respawn Time", - "Category":"NOTD Custom Settings", - "Description":"Sets the light zombie respawn time", - "Keywords":"light,normal,zombie,respawn,time", - "FieldName":"WorldNormalZombieRespawnTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"WorldNormalZombieRespawnTime", - "IncludeInCommandLine":false, - "DefaultValue":"120", - "EnumValues":{ - "30":"30", - "60":"60", - "120":"120", - "180":"180", - "240":"240" - } - }, - { - "DisplayName":"Heavy Zombie Respawn Time", - "Category":"NOTD Custom Settings", - "Description":"Sets the heavy zombie respawn time", - "Keywords":"heavy,special,zombie,respawn,time", - "FieldName":"WorldSpecialZombieRespawnTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"WorldSpecialZombieRespawnTime", - "IncludeInCommandLine":false, - "DefaultValue":"600", - "EnumValues":{ - "120":"120", - "300":"300", - "600":"600", - "900":"900", - "1200":"1200" - } - }, - { - "DisplayName":"Giant Zombie Respawn Time", - "Category":"NOTD Custom Settings", - "Description":"Sets the giant zombie respawn time", - "Keywords":"giant,zombie,respawn,time", - "FieldName":"WorldGiantZombieRespawnTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"WorldGiantZombieRespawnTime", - "IncludeInCommandLine":false, - "DefaultValue":"600", - "EnumValues":{ - "120":"120", - "300":"300", - "600":"600", - "900":"900", - "1200":"1200" - } - }, - { - "DisplayName":"Disable XP Loss On Death", - "Category":"NOTD Custom Settings", - "Description":"If set, no experience will be lost on death", - "Keywords":"experience,xp,loss,death", - "FieldName":"NoExperienceLoss", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoExperienceLoss", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disable Item Drop On Death", - "Category":"NOTD Custom Settings", - "Description":"If set, no items will be dropped on death", - "Keywords":"item,drop,death", - "FieldName":"NoDeathItemDrop", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoDeathItemDrop", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Research Data Consumption", - "Category":"NOTD Custom Settings", - "Description":"Sets research data consumption", - "Keywords":"research,data,consumption", - "FieldName":"ResearchDataConsumption", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ResearchDataConsumption", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Placeholder":"50", - "EnumValues":{} - }, - { - "DisplayName":"Fish Speed", - "Category":"NOTD Custom Settings", - "Description":"Sets fish speed", - "Keywords":"fish,speed", - "FieldName":"FishSpeed", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"FishSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"66", - "Placeholder":"66", - "EnumValues":{} - }, - { - "DisplayName":"Building HP", - "Category":"NOTD Custom Settings", - "Description":"Sets building HP", - "Keywords":"building,health,hp", - "FieldName":"BuildingHit", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"BuildingHit", - "IncludeInCommandLine":false, - "DefaultValue":"90", - "Placeholder":"90", - "EnumValues":{} - }, - { - "DisplayName":"Trap Attack Damage", - "Category":"NOTD Custom Settings", - "Description":"Sets trap attack damage", - "Keywords":"trap,attack,damage", - "FieldName":"TrapDamage", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"TrapDamage", - "IncludeInCommandLine":false, - "DefaultValue":"66", - "Placeholder":"66", - "EnumValues":{} - }, - { - "DisplayName":"Materials Return Rate", - "Category":"NOTD Custom Settings", - "Description":"Sets the materials return rate after building destruction", - "Keywords":"materials,return,rate,building,destruction", - "FieldName":"ResourcesReturnedAfterBuildingDestroyed", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ResourcesReturnedAfterBuildingDestroyed", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Placeholder":"30", - "EnumValues":{} - }, - { - "DisplayName":"Fish Power", - "Category":"NOTD Custom Settings", - "Description":"Sets fish power", - "Keywords":"fishing,gauge,increase,power", - "FieldName":"FishingGaugeDecrease", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"FishingGaugeDecrease", - "IncludeInCommandLine":false, - "DefaultValue":"40", - "Placeholder":"40", - "EnumValues":{} - }, - { - "DisplayName":"High-Grade Equipment Drop Rate", - "Category":"NOTD Custom Settings", - "Description":"Sets the high-grade equipment drop rate", - "Keywords":"superior,high,equipment,gain,multiplier,rate", - "FieldName":"SuperiorOrHigherEquipmentGainMultiplier", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"SuperiorOrHigherEquipmentGainMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"40", - "Placeholder":"40", - "EnumValues":{} - }, - { - "DisplayName":"Experience Gain Amount", - "Category":"NOTD Custom Settings", - "Description":"Sets the amount of experience gained", - "Keywords":"experience,gain", - "FieldName":"AmountOfExperienceGained", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"AmountOfExperienceGained", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "1":"1", - "2":"2", - "3":"3", - "4":"4", - "5":"5" - } - }, - { - "DisplayName":"Resources Acquisition Amount", - "Category":"NOTD Custom Settings", - "Description":"Sets the amount of resources acquired", - "Keywords":"item,resource,acquired,obtained", - "FieldName":"ResourceAcquisition", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ResourceAcquisition", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "1":"1", - "2":"2", - "3":"3" - } - }, - { - "DisplayName":"Initial Food Amount", - "Category":"NOTD Custom Settings", - "Description":"Sets the initial food amount", - "Keywords":"initial,food,amount", - "FieldName":"InitialFoodAmount", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"InitialFoodAmount", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"0", - "1":"1", - "2":"2", - "5":"5", - "10":"10", - "12":"12", - "15":"15" - } - }, - { - "DisplayName":"Natural Objects Respawn Time", - "Category":"NOTD Custom Settings", - "Description":"Sets the natural objects respawn time", - "Keywords":"natural,objects,respawn,time", - "FieldName":"NaturalObjectRespawnTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"NaturalObjectRespawnTime", - "IncludeInCommandLine":false, - "DefaultValue":"240", - "EnumValues":{ - "240":"240", - "360":"360", - "480":"480", - "720":"720", - "840":"840", - "960":"960", - "1200":"1200" - } - }, - { - "DisplayName":"Synthetic Objects Respawn Time", - "Category":"NOTD Custom Settings", - "Description":"Sets the synthetic objects respawn time", - "Keywords":"synthetic,objects,respawn,time", - "FieldName":"SyntheticObjectRespawnTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"SyntheticObjectRespawnTime", - "IncludeInCommandLine":false, - "DefaultValue":"240", - "EnumValues":{ - "240":"240", - "360":"360", - "480":"480", - "720":"720", - "840":"840", - "960":"960", - "1200":"1200" - } - }, - { - "DisplayName":"Farm Resource Production Amount", - "Category":"NOTD Custom Settings", - "Description":"Sets the farm resource production amount", - "Keywords":"farm,resource,production,amount", - "FieldName":"FarmResourceOutput", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"FarmResourceOutput", - "IncludeInCommandLine":false, - "DefaultValue":"1.25", - "EnumValues":{ - "1":"1", - "1.25":"1.25", - "1.5":"1.5", - "1.75":"1.75", - "2":"2" - } - }, - { - "DisplayName":"Machine Resource Production Amount", - "Category":"NOTD Custom Settings", - "Description":"Sets the machine resource production amount", - "Keywords":"machine,resource,production,amount", - "FieldName":"MachineResourceOutput", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"MachineResourceOutput", - "IncludeInCommandLine":false, - "DefaultValue":"1.5", - "EnumValues":{ - "0.5":"0.5", - "1":"1", - "1.5":"1.5", - "2":"2", - "2.5":"2.5" - } - }, - { - "DisplayName":"Animal Trap Time", - "Category":"NOTD Custom Settings", - "Description":"Sets the animal trap time", - "Keywords":"animal,trap,time", - "FieldName":"AnimalTrapTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"AnimalTrapTime", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0.5":"0.5", - "1":"1", - "1.5":"1.5", - "2":"2", - "2.5":"2.5" - } - }, - { - "DisplayName":"Farm Resource Production Time", - "Category":"NOTD Custom Settings", - "Description":"Sets the farm resource production time", - "Keywords":"farm,resource,production,time", - "FieldName":"FarmResourceProductionTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"FarmResourceProductionTime", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0.5":"0.5", - "1":"1", - "1.5":"1.5" - } - }, - { - "DisplayName":"Machine Resource Production Time", - "Category":"NOTD Custom Settings", - "Description":"Sets the machine resource production time", - "Keywords":"machine,resource,production,time", - "FieldName":"MachineResourceProductionTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"MachineResourceProductionTime", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0.5":"0.5", - "1":"1", - "1.5":"1.5" - } - }, - { - "DisplayName":"Power Generated", - "Category":"NOTD Custom Settings", - "Description":"Sets the power generated", - "Keywords":"power,generated,electric", - "FieldName":"ElectricGeneration", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ElectricGeneration", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0.5":"0.5", - "1":"1", - "1.5":"1.5", - "2":"2", - "2.5":"2.5" - } - }, - { - "DisplayName":"Power Consumption", - "Category":"NOTD Custom Settings", - "Description":"Sets the power consumption", - "Keywords":"power,consumption,electric", - "FieldName":"ElectricConsumption", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ElectricConsumption", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0.5":"0.5", - "1":"1", - "1.5":"1.5" - } - }, - { - "DisplayName":"Power Limit", - "Category":"NOTD Custom Settings", - "Description":"Sets the power limit", - "Keywords":"power,limit,electric", - "FieldName":"ElectricOvercurrentLimit", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ElectricOvercurrentLimit", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0.5":"0.5", - "1":"1", - "1.5":"1.5", - "2":"2", - "2.5":"2.5" - } - }, - { - "DisplayName":"Standby Power", - "Category":"NOTD Custom Settings", - "Description":"Sets the standby power", - "Keywords":"power,standby,electric", - "FieldName":"ElectricStandbyPower", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ElectricStandbyPower", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0.5":"0.5", - "1":"1", - "1.5":"1.5" - } - }, - { - "DisplayName":"Times Per Day", - "Category":"NOTD Custom Settings", - "Description":"Sets the times per day", - "Keywords":"times,day", - "FieldName":"OneDayTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"OneDayTime", - "IncludeInCommandLine":false, - "DefaultValue":"120", - "EnumValues":{ - "60":"60", - "120":"120", - "180":"180", - "240":"240", - "300":"300" - } - } -] diff --git a/night-of-the-deadmetaconfig.json b/night-of-the-deadmetaconfig.json deleted file mode 100644 index 8cbd01b74..000000000 --- a/night-of-the-deadmetaconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "ConfigFile":"ServerSettings.ini", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"night-of-the-dead/AMP_ServerSettings.ini" - }, - { - "ConfigFile":"LF/Saved/Config/ServerSettings.ini", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"night-of-the-dead/AMP_ServerSettings.ini" - } -] \ No newline at end of file diff --git a/night-of-the-deadserversettings.ini b/night-of-the-deadserversettings.ini deleted file mode 100644 index eacf0e202..000000000 --- a/night-of-the-deadserversettings.ini +++ /dev/null @@ -1,119 +0,0 @@ -; AMP controls ServerSettings.ini - do not try to edit it directly - -[ServerSettings] -ServerName={{ServerName}} -Password={{Password}} -MaxPlayers={{MaxPlayers}} - -[SystemSettings] -IngameAdminPassword={{IngameAdminPassword}} -DefaultMessageOfTheDay={{DefaultMessageOfTheDay}} - -; INSTALL_DIR/Saved/SaveGames/SAVE_NAME -SaveName={{SaveName}} - -; In-game hour, integer, Default: 1 = 5 min(realtime). -SaveIntervalHour={{SaveIntervalHour}} - -[GameSettings] -; Peaceful/Easy/Normal/Hard/Survival/Challenge/Legend/Custom -Difficulty={{Difficulty}} - -[GameSettings/General] -; 0=disable, 1=enable -NoWave={{NoWave}} -NoZombieRespawn={{NoZombieRespawn}} -NaturalObjectRespawn={{NaturalObjectRespawn}} -SyntheticObjectRespawn={{SyntheticObjectRespawn}} -NoGeneratorTrouble={{NoGeneratorTrouble}} -NoDeathResearchDrop={{NoDeathResearchDrop}} -DropItemsOnExit={{DropItemsOnExit}} -Hardcore={{Hardcore}} -NoTeamKill={{NoTeamKill}} -NoEnding={{NoEnding}} - -; 0=PvP, 1=PvE -MODSelect={{MODSelect}} - -; It works only when the difficulty is Custom. -[GameSettings/Basic] -; 0 <= value <= 100 -NormalZombieHealth={{NormalZombieHealth}} -SpecialZombieHealth={{SpecialZombieHealth}} -GiantZombieHealth={{GiantZombieHealth}} -ZombieDamage={{ZombieDamage}} -ZombieMovementSpeed={{ZombieMovementSpeed}} -WorldZombieSpawn={{WorldZombieSpawn}} -WaveZombieHealth={{WaveZombieHealth}} -WaveNormalZombieAmount={{WaveNormalZombieAmount}} -WaveSpecialZombieAmount={{WaveSpecialZombieAmount}} -WaveGiantZombieAmount={{WaveGiantZombieAmount}} -AnimalHealth={{AnimalHealth}} -AnimalDamage={{AnimalDamage}} - -; 30 / 60 / 120 / 180 / 240 -WorldNormalZombieRespawnTime={{WorldNormalZombieRespawnTime}} - -; 120 / 300 / 600 / 900 / 1200 -WorldSpecialZombieRespawnTime={{WorldSpecialZombieRespawnTime}} - -; 120 / 300 / 600 / 900 / 1200 -WorldGiantZombieRespawnTime={{WorldGiantZombieRespawnTime}} - -; It works only when the difficulty is Custom. -[GameSettings/Advanced] -; 0 = disable, 1 = enable -NoExperienceLoss={{NoExperienceLoss}} -NoDeathItemDrop={{NoDeathItemDrop}} - -; 0 <= value <= 100 -ResearchDataConsumption={{ResearchDataConsumption}} -FishSpeed={{FishSpeed}} -BuildingHit={{BuildingHit}} -TrapDamage={{TrapDamage}} -ResourcesReturnedAfterBuildingDestroyed={{ResourcesReturnedAfterBuildingDestroyed}} -FishingGaugeDecrease={{FishingGaugeDecrease}} -SuperiorOrHigherEquipmentGainMultiplier={{SuperiorOrHigherEquipmentGainMultiplier}} - -; 1 / 2 / 3 / 4 / 5 -AmountOfExperienceGained={{AmountOfExperienceGained}} - -; 1 / 2 / 3 -ResourceAcquisition={{ResourceAcquisition}} - -; 0 / 1 / 2 / 5 / 10 / 12 / 15 -InitialFoodAmount={{InitialFoodAmount}} - -; 240 / 360 / 480 / 720 / 840 / 960 / 1200 -NaturalObjectRespawnTime={{NaturalObjectRespawnTime}} -SyntheticObjectRespawnTime={{SyntheticObjectRespawnTime}} - -; 1 / 1.25 / 1.5 / 1.75 / 2 -FarmResourceOutput={{FarmResourceOutput}} - -; 0.5 / 1 / 1.5 / 2 / 2.5 -MachineResourceOutput={{MachineResourceOutput}} - -; 0.5 / 1 / 1.5 / 2 / 2.5 -AnimalTrapTime={{AnimalTrapTime}} - -; 0.5 / 1 / 1.5 -FarmResourceProductionTime={{FarmResourceProductionTime}} -MachineResourceProductionTime={{MachineResourceProductionTime}} - -; 0.5 / 1 / 1.5 / 2 / 2.5 -ElectricGeneration={{ElectricGeneration}} - -; 0.5 / 1 / 1.5 -ElectricConsumption={{ElectricConsumption}} - -; 0.5 / 1 / 1.5 / 2 / 2.5 -ElectricOvercurrentLimit={{ElectricOvercurrentLimit}} - -; 0.5 / 1 / 1.5 -ElectricStandbyPower={{ElectricStandbyPower}} - -; It works only when the difficulty is Custom. -[GameSettings/Detail] -; 60 / 120 / 180 / 240 / 300 -OneDayTime={{OneDayTime}} diff --git a/no-one-survived.kvp b/no-one-survived.kvp deleted file mode 100644 index b5c805205..000000000 --- a/no-one-survived.kvp +++ /dev/null @@ -1,92 +0,0 @@ -Meta.DisplayName=No One Survived -Meta.Description=No One Survived Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=NotSupported -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://store.steampowered.com/app/1963370/No_One_Survived/ -Meta.DisplayImageSource=steam:1963370 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=no-one-survivedconfig.json -Meta.MetaConfigManifest=no-one-survivedmetaconfig.json -Meta.ConfigRoot=no-one-survived.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage=cubecoders/ampbase:wine8 -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine 7 (or later) to run on Linux. Using a container avoids the need to install this dependency on the host. -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=No One Survived -App.RootDir=./no-one-survived/ -App.BaseDirectory=./no-one-survived/2329680/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin=2329680\WRSH\Binaries\Win64\WRSHServer.exe -App.ExecutableLinux=/usr/bin/wine -App.WorkingDir=2329680 -App.LinuxCommandLineArgs="./WRSH/Binaries/Win64/WRSHServer.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} WRSH -server -stdout -FullStdOutLogOutput -Port={{$GamePort}} -QueryPort={{$QueryPort}} -MultiHome={{$ApplicationIPBinding}} {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1963370","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=50 -App.UseRandomAdminPassword=False -App.PersistRandomPassword=False -App.RemoteAdminPassword=Password123 -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=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2329680","UpdateSourceArgs":"1963370","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=WRSHServer.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\.:]+\]\[[\d ]+\]LogBlueprintUserMessages: \[HDCKGameInstance_C_\d+\] ServerCreate$ -Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogNet: Login request: \?Name=(?<username>.+?) userId: STEAM:UNKNOWN \[(?<userid>.+?)\] platform: STEAM$ -Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogNet: UChannel::Close: Sending CloseBunch\.(?:.+?) UniqueId: STEAM:UNKNOWN \[(?<userid>.+?)\]$ -Console.UserChatRegex=^$ -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/no-one-survivedconfig.json b/no-one-survivedconfig.json deleted file mode 100644 index 8845f0628..000000000 --- a/no-one-survivedconfig.json +++ /dev/null @@ -1,394 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"NOS Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"URL.Port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Steam Query Port", - "Category":"NOS Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"OnlineSubsystemSteam.GameServerQueryPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"NOS Server Settings", - "Description":"Sets the name shown in the server browser", - "Keywords":"server,name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerSetting.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered No One Survived Server", - "EnumValues":{} - }, - { - "DisplayName":"Save Name", - "Category":"NOS Server Settings", - "Description":"Sets the name of the server save file, which will also be the save loaded by default", - "Keywords":"save,name", - "FieldName":"SaveName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerSetting.SaveName", - "IncludeInCommandLine":false, - "DefaultValue":"MySave", - "Placeholder":"MySave", - "EnumValues":{} - }, - { - "DisplayName":"Require Server Password", - "Category":"NOS Server Settings", - "Description":"If enabled, the password set under \"Server Password\" will be required to connect to the server", - "Keywords":"need,server,password,needpassword", - "FieldName":"NeedPassword", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ServerSetting.NeedPassword", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Server Password", - "Category":"NOS Server Settings", - "Description":"Sets the password for the server. Default is no password. Only applies if \"Require Server Password\" is enabled", - "Keywords":"server,password", - "FieldName":"Password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"ServerSetting.Password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"NOS Server Settings", - "Description":"Sets the server administrator password. Default is a strong random password", - "Keywords":"admin,password,adminpassword", - "FieldName":"AdminPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"ServerSetting.AdminPassword", - "IncludeInCommandLine":false, - "DefaultValue":"{{newguid()}}", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"NOS Server Settings", - "Description":"Sets the maximum number of players that can connect to the server at any given time", - "Keywords":"maximum,players,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"2", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"ServerSetting.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Placeholder":"50", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Server Region", - "Category":"NOS Server Settings", - "Description":"Sets the server region", - "Keywords":"region", - "FieldName":"Region", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerSetting.Region", - "IncludeInCommandLine":false, - "DefaultValue":"All", - "EnumValues":{ - "All":"All / Non-registered region", - "AF":"Africa", - "AS":"Asia", - "EU":"Europe", - "NA":"North America", - "OC":"Oceania", - "SA":"South America" - } - }, - { - "DisplayName":"Server IP Binding", - "Category":"NOS Server Settings", - "Description":"If required, you can change the binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", - "Keywords":"ip,binding,multihome", - "FieldName":"MultiHome", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable PvP / Disable PvE", - "Category":"NOS Gameplay Settings", - "Description":"If set, PvP mode will be enabled, and PvE mode disabled", - "Keywords":"pve,pvp", - "FieldName":"PVP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.PVP", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Zombie Attack Wave", - "Category":"NOS Gameplay Settings", - "Description":"If set, the zombie attack wave will be enabled", - "Keywords":"zombie,corpse,attack,tide,wave,zombieattack", - "FieldName":"ZombieAttack", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.ZombieAttack", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Zombie Spawn Amount", - "Category":"NOS Gameplay Settings", - "Description":"Sets the number of zombies spawned per player in the attack wave", - "Keywords":"zombie,corpse,spawn,number,amount,numofzombiespawn", - "FieldName":"NumOfZombieSpawn", - "InputType":"number", - "MinValue":"25", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ServerSetting.NumOfZombieSpawn", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Placeholder":"50", - "Suffix":"zombies", - "EnumValues":{} - }, - { - "DisplayName":"Zombie Attack Cycle", - "Category":"NOS Gameplay Settings", - "Description":"Sets the number of days between zombie attack waves", - "Keywords":"zombie,corpse,attack,cycle,zombieattackday", - "FieldName":"ZombieAttackDay", - "InputType":"number", - "MinValue":"1", - "MaxValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.ZombieAttackDay", - "IncludeInCommandLine":false, - "DefaultValue":"7", - "Placeholder":"7", - "Suffix":"days", - "EnumValues":{} - }, - { - "DisplayName":"Zombie Attack Multiplier", - "Category":"NOS Gameplay Settings", - "Description":"Sets the multiplier for the zombie attack wave", - "Keywords":"zombie,corpse,attack,scale,multiplier,attackzombienum", - "FieldName":"AttackZombieNum", - "InputType":"number", - "MinValue":"1", - "MaxValue":"5", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.AttackZombieNum", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Placeholder":"2", - "EnumValues":{} - }, - { - "DisplayName":"Zombie Respawn Multiplier", - "Category":"NOS Gameplay Settings", - "Description":"Sets the multiplier for the respawn of zombies (higher = more difficult)", - "Keywords":"zombie,corpse,respawn,multiplier,zombienum", - "FieldName":"ZombieNum", - "InputType":"number", - "MinValue":"1", - "MaxValue":"3", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.ZombieNum", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Placeholder":"2", - "EnumValues":{} - }, - { - "DisplayName":"Sprinter Zombies Proportion", - "Category":"NOS Gameplay Settings", - "Description":"Sets the proportion of sprinter zombies", - "Keywords":"zombie,corpse,running,sprinter,percentage,runzombiepercent", - "FieldName":"RunZombiePercent", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.RunZombiePercent", - "IncludeInCommandLine":false, - "DefaultValue":"0.5", - "Placeholder":"0.5", - "EnumValues":{} - }, - { - "DisplayName":"Zombie Strength", - "Category":"NOS Gameplay Settings", - "Description":"Sets the strength of zombies", - "Keywords":"zombie,strength,zombiestreng", - "FieldName":"ZombieStreng", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.ZombieStreng", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Weak", - "1":"Average (default)", - "2":"Strong", - "3":"Very strong" - } - }, - { - "DisplayName":"Year Duration", - "Category":"NOS Gameplay Settings", - "Description":"Sets the number of days in one in-game year", - "Keywords":"year,duration,day,yearday", - "FieldName":"YearDay", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.YearDay", - "IncludeInCommandLine":false, - "DefaultValue":"40", - "Placeholder":"40", - "Suffix":"days", - "EnumValues":{} - }, - { - "DisplayName":"Enable Permanent Death", - "Category":"NOS Gameplay Settings", - "Description":"If set, permanent death will be enabled", - "Keywords":"death,permanent,permanentdead", - "FieldName":"PermanentDead", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.PermanentDead", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Loot Distribution", - "Category":"NOS Gameplay Settings", - "Description":"Sets how abundant loot is", - "Keywords":"loot,material,item,quantity,distribution,materialnum", - "FieldName":"MaterialNum", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.MaterialNum", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{ - "0":"Rare", - "1":"Normal (default)", - "2":"Abundant", - "3":"Very abundant" - } - }, - { - "DisplayName":"Loot Respawn Time", - "Category":"NOS Gameplay Settings", - "Description":"Sets the number of days before loot is respawned", - "Keywords":"loot,spawn,refresh,date,itemspawn", - "FieldName":"ItemSpawn", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.ItemSpawn", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "Placeholder":"15", - "Suffix":"days", - "EnumValues":{} - }, - { - "DisplayName":"Merchant Restock Time", - "Category":"NOS Gameplay Settings", - "Description":"Sets the number of days before merchant items are restocked", - "Keywords":"merchant,item,spawn,refresh,restock,date,npcitemspawn", - "FieldName":"NPCItemSpawn", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.NPCItemSpawn", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"days", - "EnumValues":{} - }, - { - "DisplayName":"Virus Fatality Rate", - "Category":"NOS Gameplay Settings", - "Description":"Sets the virus fatality rate", - "Keywords":"virus,fatality,rate,virusfatalityrate", - "FieldName":"VirusFatalityRate", - "InputType":"number", - "MinValue":"0", - "MaxValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.VirusFatalityRate", - "IncludeInCommandLine":false, - "DefaultValue":"0.5", - "Placeholder":"0.5", - "EnumValues":{} - }, - { - "DisplayName":"Starter Kits", - "Category":"NOS Gameplay Settings", - "Description":"If set, starter kits will be enabled for novices", - "Keywords":"starter,kit,gift,bag,novice,giftbagfornovices", - "FieldName":"GiftBagForNovices", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"GameSettings.GiftBagForNovices", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - } -] \ No newline at end of file diff --git a/no-one-survivedmetaconfig.json b/no-one-survivedmetaconfig.json deleted file mode 100644 index 78fa2b089..000000000 --- a/no-one-survivedmetaconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "ConfigFile":"WRSH/Saved/Config/WindowsServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini" - }, - { - "ConfigFile":"WRSH/Saved/Config/WindowsServer/Engine.ini", - "AutoMap":true, - "ConfigType":"ini" - } -] \ No newline at end of file diff --git a/node.kvp b/node.kvp deleted file mode 100644 index 2bf2492d2..000000000 --- a/node.kvp +++ /dev/null @@ -1,89 +0,0 @@ -Meta.DisplayName=Node -Meta.Description=Node Service Instance -Meta.OS=Windows, Linux -Meta.AarchSupport=Native -Meta.Arch=All -Meta.Author=IceOfWraith -Meta.URL=https://nodejs.org -Meta.DisplayImageSource=url:https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/1200px-Node.js_logo.svg.png -Meta.EndpointURIFormat= -Meta.ConfigManifest=nodeconfig.json -Meta.MetaConfigManifest= -Meta.ConfigRoot=node.kvp -Meta.MinAMPVersion=2.4.4.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Node -App.RootDir=./node-server/ -App.BaseDirectory=./node-server/ -App.ExecutableWin=node\node.exe -App.ExecutableLinux=./node/bin/node -App.WorkingDir=app -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs="{{$FullBaseDir}}app/{{ApplicationLocation}}/{{ApplicationName}}" {{CommandLineArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=lock -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Name":"Main Port","Description":"Main port used for incoming traffic","Port":7777,"Ref":"ServerPort"}] -App.AdminPortRef=ServerPort -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=0 -App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=0 -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=@IncludeJson[nodeupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=True -App.MonitorChildProcess=False -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -Console.UpdateAvailableRegex=^$ -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 diff --git a/nodeconfig.json b/nodeconfig.json deleted file mode 100644 index 4f97b22bc..000000000 --- a/nodeconfig.json +++ /dev/null @@ -1,150 +0,0 @@ -[ - { - "DisplayName":"Application Download Type", - "Category":"Node - Settings", - "Description":"Sets where to download the application from. Be sure to enter the \"Application Download Source\", \"GitHub Release Filename\", and \"GitHub Release Version\" where applicable. Update the application after setting this value.", - "Keywords":"download,type", - "FieldName":"DownloadType", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"DownloadType", - "IncludeInCommandLine":false, - "DefaultValue":"GitRepo", - "EnumValues":{ - "DownloadURL":"Download URL", - "GithubRelease":"GitHub Release", - "GitRepo":"GitHub Repo", - "None":"None" - } - }, - { - "DisplayName":"Application Download Source", - "Category":"Node - Settings", - "Description":"Sets the source for the \"Application Download Type\". Enter the values based on the type you chose in the previous input. GitHub Repo = URL that ends in .git. GitHub Release = User/Repo. Download URL = URL to a zip file to download. Update the application after setting this value.", - "Keywords":"download,source", - "FieldName":"DownloadSource", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DownloadSource", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"https://github.com/IceOfWraith/IceBot.git", - "EnumValues":{} - }, - { - "DisplayName":"GitHub Release Filename", - "Category":"Node - Settings", - "Description":"If you chose \"GitHub Release\" for the \"Application Download Type\", you need to enter the file from the release to download.", - "Keywords":"github,release,filename", - "FieldName":"DownloadFilename", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DownloadFilename", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"discordbot.zip", - "EnumValues":{} - }, - { - "DisplayName":"GitHub Release Version", - "Category":"Node - Settings", - "Description":"If you chose \"GitHub Release\" for the \"Application Download Type\", you may enter the release version to download. Leave this blank to download the latest.", - "Keywords":"github,release,version", - "FieldName":"DownloadVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DownloadVersion", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"1.0.0", - "EnumValues":{} - }, - { - "DisplayName":"Node.js Version", - "Category":"Node - Settings", - "Description":"Sets the [Node.js release version](https://nodejs.org/download/release/) to install to run the application. NOTE: Specify a numbered version like v.18.16.0, rather than any \"latest\" version.", - "Keywords":"node,nodejs,version", - "FieldName":"NodeVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"NodeVersion", - "IncludeInCommandLine":false, - "DefaultValue":"v18.16.0", - "Placeholder":"v18.16.0", - "EnumValues":{} - }, - { - "DisplayName":"Application Name", - "Category":"Node - Settings", - "Description":"Specify name of the Node application to execute Do not specify \"node\" in front.", - "Keywords":"app,application,name", - "FieldName":"ApplicationName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ApplicationName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"index.js", - "EnumValues":{} - }, - { - "DisplayName":"Application Installation Location", - "Category":"Node - Settings", - "Description":"If the app downloads in a subfolder of \"app\" you must specify the folders here.", - "Keywords":"app,application,location", - "FieldName":"ApplicationLocation", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ApplicationLocation", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"IceBot-main", - "EnumValues":{} - }, - { - "DisplayName":"Command Line Arguments", - "Category":"Node - Settings", - "Description":"Specify any command line arguments to include.", - "Keywords":"command,line,arguments,args", - "FieldName":"CommandLineArgs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CommandLineArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"value1=foo value2=bar", - "EnumValues":{} - }, - { - "DisplayName":"npm Install Type", - "Category":"Node - Settings", - "Description":"Specify \"npm i\" to use a packages.json or specify \"npm ci\" to use a packages-lock.json. If \"Specific Packages\" is chosen you must enter the packages in the \"Specific npm Packages\" input.", - "Keywords":"npm,install,type", - "FieldName":"NpmInstallType", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"NpmInstallType", - "IncludeInCommandLine":false, - "DefaultValue":"npmi", - "EnumValues":{ - "none":"None", - "npmci":"npm ci", - "npmi":"npm i", - "specify":"Specific Packages" - } - }, - { - "DisplayName":"Specific npm Packages", - "Category":"Node - Settings", - "Description":"Specify any additional npm packages to install separated by a space. Select \"Specific Packages\" for the \"npm Install Type\".", - "Keywords":"additional,npm,packages", - "FieldName":"NpmPackages", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"NpmPackages", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"express fastify socket.io", - "EnumValues":{} - } -] \ No newline at end of file diff --git a/nodeupdates.json b/nodeupdates.json deleted file mode 100644 index 8cc2abcfc..000000000 --- a/nodeupdates.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - { - "UpdateStageName":"App Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}app" - }, - { - "UpdateStageName":"Application Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"GitRepo", - "UpdateSourceData":"{{DownloadSource}}", - "UpdateSourceTarget":"{{$FullBaseDir}}app", - "UpdateSourceConditionSetting":"DownloadType", - "UpdateSourceConditionValue":"GitRepo" - }, - { - "UpdateStageName":"Application Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"GithubRelease", - "UpdateSourceArgs":"{{DownloadSource}}", - "UpdateSourceData":"{{DownloadFilename}}", - "UpdateSourceVersion":"{{DownloadVersion}}", - "UpdateSourceTarget":"{{$FullBaseDir}}app", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"DownloadType", - "UpdateSourceConditionValue":"GithubRelease" - }, - { - "UpdateStageName":"Application Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"{{DownloadSource}}", - "UpdateSourceTarget":"{{$FullBaseDir}}app", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"DownloadType", - "UpdateSourceConditionValue":"DownloadURL" - }, - { - "UpdateStageName":"Node.js Download", - "UpdateSourcePlatform":"Linux", - "UpdateSourceArch":"x86_64", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-x64.tar.gz", - "UpdateSourceTarget":"{{$FullBaseDir}}" - }, - { - "UpdateStageName":"Node.js Extract", - "UpdateSourcePlatform":"Linux", - "UpdateSourceArch":"x86_64", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd \"{{$FullBaseDir}}\" && rm -Rf \"{{$FullBaseDir}}node/\" && tar xfv node-{{NodeVersion}}-linux-x64.tar.gz > {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && mv -v node-{{NodeVersion}}-linux-x64 node >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && rm node-{{NodeVersion}}-linux-x64.tar.gz'" - }, - { - "UpdateStageName":"Node.js Download", - "UpdateSourcePlatform":"Linux", - "UpdateSourceArch":"aarch64", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-linux-arm64.tar.gz", - "UpdateSourceTarget":"{{$FullBaseDir}}" - }, - { - "UpdateStageName":"Node.js Extract", - "UpdateSourcePlatform":"Linux", - "UpdateSourceArch":"aarch64", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd \"{{$FullBaseDir}}\" && rm -Rf \"{{$FullBaseDir}}node/\" && tar xfv node-{{NodeVersion}}-linux-arm64.tar.gz > {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && mv -v node-{{NodeVersion}}-linux-arm64 node >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1 && rm node-{{NodeVersion}}-linux-arm64.tar.gz'" - }, - { - "UpdateStageName":"Node.js Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://nodejs.org/download/release/{{NodeVersion}}/node-{{NodeVersion}}-win-x64.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Node.js Extract", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C cd \"{{$FullBaseDir}}\" & rmdir /S /Q \"{{$FullBaseDir}}node/\" & rename node-{{NodeVersion}}-win-x64 node > {{$FullBaseDir}}AMPSetupLog.txt 2>&1" - }, - { - "UpdateStageName":"npm Packages", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'export PATH=$PATH:{{$FullBaseDir}}node/bin && cd \"{{$FullBaseDir}}app/{{ApplicationLocation}}/\" && \"{{$FullBaseDir}}node/bin/node\" \"{{$FullBaseDir}}node/bin/npm\" i {{NpmPackages}} >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1'", - "UpdateSourceConditionSetting":"NpmInstallType", - "UpdateSourceConditionValue":"specify" - }, - { - "UpdateStageName":"npm Packages", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C set PATH={{$FullBaseDir}}node;%PATH% && cd \"{{$FullBaseDir}}app\\{{ApplicationLocation}}\\\" && \"{{$FullBaseDir}}node\\node\" \"{{$FullBaseDir}}node\\node_modules\\npm\\bin\\npm-cli.js\" i {{NpmPackages}} >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1", - "UpdateSourceConditionSetting":"NpmInstallType", - "UpdateSourceConditionValue":"specify" - }, - { - "UpdateStageName":"npm Packages", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'export PATH=$PATH:{{$FullBaseDir}}node/bin && cd \"{{$FullBaseDir}}app/{{ApplicationLocation}}/\" && \"{{$FullBaseDir}}node/bin/node\" \"{{$FullBaseDir}}node/bin/npm\" i >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1'", - "UpdateSourceConditionSetting":"NpmInstallType", - "UpdateSourceConditionValue":"npmi" - }, - { - "UpdateStageName":"npm Packages", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C set PATH={{$FullBaseDir}}node;%PATH% && cd \"{{$FullBaseDir}}app\\{{ApplicationLocation}}\\\" && \"{{$FullBaseDir}}node\\node\" \"{{$FullBaseDir}}node\\node_modules\\npm\\bin\\npm-cli.js\" i >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1", - "UpdateSourceConditionSetting":"NpmInstallType", - "UpdateSourceConditionValue":"npmi" - }, - { - "UpdateStageName":"npm Packages", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'export PATH=$PATH:{{$FullBaseDir}}node/bin && cd \"{{$FullBaseDir}}app/{{ApplicationLocation}}/\" && \"{{$FullBaseDir}}node/bin/node\" \"{{$FullBaseDir}}node/bin/npm\" ci >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1'", - "UpdateSourceConditionSetting":"NpmInstallType", - "UpdateSourceConditionValue":"npmci" - }, - { - "UpdateStageName":"npm Packages", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C set PATH={{$FullBaseDir}}node;%PATH% && cd \"{{$FullBaseDir}}app\\{{ApplicationLocation}}\\\" && \"{{$FullBaseDir}}node\\node\" \"{{$FullBaseDir}}node\\node_modules\\npm\\bin\\npm-cli.js\" ci >> {{$FullBaseDir}}AMPSetupLog.txt 2>&1", - "UpdateSourceConditionSetting":"NpmInstallType", - "UpdateSourceConditionValue":"npmci" - } -] \ No newline at end of file diff --git a/openttd.kvp b/openttd.kvp deleted file mode 100644 index 53bd896ad..000000000 --- a/openttd.kvp +++ /dev/null @@ -1,87 +0,0 @@ -Meta.DisplayName=OpenTTD -Meta.Description=OpenTTD Dedicated Server -Meta.OS=Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, DARKACE -Meta.URL=https://www.openttd.org/ -Meta.DisplayImageSource=steam:1536610 -Meta.EndpointURIFormat= -Meta.ConfigManifest=openttdconfig.json -Meta.MetaConfigManifest=openttdmetaconfig.json -Meta.ConfigRoot=openttd.kvp -Meta.MinAMPVersion=2.4.1.4 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnLinux -Meta.ContainerPolicyReason= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=OpenTTD -App.RootDir=./openttd/ -App.BaseDirectory=./openttd/1536610/ -App.ExecutableWin=1536610\openttd.exe -App.ExecutableLinux=1536610/openttd -App.WorkingDir=1536610 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=-D {{$ApplicationIPBinding}}:{{$ServerPort}} -c config/openttd.cfg {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1536610"} -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":"Both","Port":3979,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":3977,"Ref":"ServerAdminPort","Name":"Server Admin Port","Description":"Port for server admin interface"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=25 -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=@IncludeJson[openttdupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -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=^dbg: \[net\] Listening on [\d.:]+ \(IPv4\)$ -Console.UserJoinRegex=^‎\*\*\* (?<username>.+?) has joined the game \(Client #(?<userid>\d+?)\)$ -Console.UserLeaveRegex=^‎\*\*\* (?<username>.+?) has left the game \((?:.+?)\)$ -Console.UserChatRegex=^$ -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/openttdconfig.json b/openttdconfig.json deleted file mode 100644 index 6c6122072..000000000 --- a/openttdconfig.json +++ /dev/null @@ -1,1955 +0,0 @@ -[ - { - "DisplayName":"Server Port", - "Category":"OpenTTD Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"network.server_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Admin Port", - "Category":"OpenTTD Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerAdminPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"network.server_admin_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Public Status", - "Category":"OpenTTD Server Settings", - "Description":"Sets whether the server is local or public and, if public, whether it is included on the server list or is invite-only", - "Keywords":"local,public,invite,list,game,type,server_game_type", - "FieldName":"server_game_type", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"network.server_game_type", - "IncludeInCommandLine":false, - "DefaultValue":"local", - "EnumValues":{ - "local":"Local (default)", - "invite-only":"Public (invite only)", - "public":"Public" - } - }, - { - "DisplayName":"Server Name", - "Category":"OpenTTD Server Settings", - "Description":"Sets the name of the server as shown on the server list", - "Keywords":"server,name,server_name", - "FieldName":"server_name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"network.server_name", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered OpenTTD Server", - "EnumValues":{} - }, - { - "DisplayName":"Client Name", - "Category":"OpenTTD Server Settings", - "Description":"Name that the server uses in-game (for example, for chat messages)", - "Keywords":"client,name,client_name", - "FieldName":"client_name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"network.client_name", - "IncludeInCommandLine":false, - "DefaultValue":"AMPServer", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"OpenTTD Server Settings", - "Description":"Sets the password for clients to connect to the server. Default is no password (blank)", - "Keywords":"server,password,server_password", - "FieldName":"server_password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"network.server_password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"OpenTTD Server Settings", - "Description":"Sets the password that clients of the [admin interface](https://github.com/OpenTTD/OpenTTD/blob/master/docs/admin_network.md) need to use it. Default is no password (blank), meaning the admin interface is disabled", - "Keywords":"admin,password,admin_password", - "FieldName":"admin_password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"network.admin_password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Autosave Interval", - "Category":"OpenTTD Server Settings", - "Description":"Sets the time interval between automatic game saves", - "Keywords":"autosave", - "FieldName":"autosave", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"gui.autosave", - "IncludeInCommandLine":false, - "DefaultValue":"monthly", - "EnumValues":{ - "never":"Never (autosave disabled)", - "monthly":"Monthly (1st day of month) (default)", - "quarterly":"Quarterly (1st day of quarter)", - "2x yearly":"Twice yearly (1 January and 1 July)", - "yearly":"Yearly (1 January)" - } - }, - { - "DisplayName":"Autosave On Exit", - "Category":"OpenTTD Server Settings", - "Description":"If set, the server will autosave on exit", - "Keywords":"autosave,exit,autosave_on_exit", - "FieldName":"autosave_on_exit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"gui.autosave_on_exit", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Save Name", - "Category":"OpenTTD Server Settings", - "Description":"Sets the savename of a game to load on server start. Both saved games and scenarios can be loaded. If no game savename is specified, a new game is started. If desired, set this value to \"config/save/autosave/exit.sav\" to load the default autosave after the server has started and autosaved once", - "Keywords":"load,savegame", - "FieldName":"g", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"g", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "Placeholder":"config/save/autosave/exit.sav", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"OpenTTD Server Settings", - "Description":"Maximum number of players that may connect to the server at one time", - "Keywords":"maximum,players,limit,max_clients", - "FieldName":"max_clients", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"network.max_clients", - "IncludeInCommandLine":false, - "DefaultValue":"25", - "Placeholder":"25", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Active Players", - "Category":"OpenTTD Server Settings", - "Description":"Sets the minimum number of active players, below which the server will be automatically paused", - "Keywords":"minimum,active,players,min_active_clients", - "FieldName":"min_active_clients", - "InputType":"number", - "MinValue":"0", - "MaxValue":"255", - "IsFlagArgument":false, - "ParamFieldName":"network.min_active_clients", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"active players", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Companies", - "Category":"OpenTTD Server Settings", - "Description":"Sets the maximum number of companies on the server", - "Keywords":"maximum,companies,max_companies", - "FieldName":"max_companies", - "InputType":"number", - "MinValue":"1", - "MaxValue":"15", - "IsFlagArgument":false, - "ParamFieldName":"network.max_companies", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "EnumValues":{} - }, - { - "DisplayName":"Enable Admin Chat", - "Category":"OpenTTD Server Settings", - "Description":"Enables admin chat on the server", - "Keywords":"admin,chat,server_admin_chat", - "FieldName":"server_admin_chat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"network.server_admin_chat", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Server Currency", - "Category":"OpenTTD Server Settings", - "Description":"Sets the currency for the server. If Custom is selected, the Custom Server Currency must also be set", - "Keywords":"currency", - "FieldName":"currency", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"locale.currency", - "IncludeInCommandLine":false, - "DefaultValue":"EUR", - "EnumValues":{ - "USD":"American Dollar", - "ATS":"Austrian Shilling", - "BEF":"Belgian Franc", - "BRL":"Brazilian Real", - "GBP":"British Pound", - "CNY":"Chinese Renminbi", - "CZK":"Czech Koruna", - "DKK":"Danish Krone", - "DEM":"Deutschmark", - "NLG":"Dutch Guilder", - "EEK":"Estonian Krooni", - "EUR":"Euro (default)", - "FIM":"Finnish Markka", - "FRF":"French Franc", - "GRD":"Greek Drachma", - "HKD":"Hong Kong Dollar", - "HUF":"Hungarian Forint", - "ISK":"Icelandic Krona", - "INR":"Indian Rupee", - "IDR":"Indonesian Rupiah", - "IRR":"Iranian Rial", - "ITL":"Italian Lira", - "JPY":"Japanese Yen", - "LTL":"Lithuanian Litas", - "MYR":"Malaysian Ringgit", - "MXN":"Mexican Peso", - "RUB":"New Russian Ruble", - "NTD":"New Taiwan Dollar", - "NOK":"Norwegian Krone", - "PLN":"Polish Zloty", - "RON":"Romanian Leu", - "RUR":"Russian Rubles", - "SKK":"Slovak Koruna", - "SIT":"Slovenian Tolar", - "ZAR":"South African Rand", - "KRW":"South Korean Won", - "ESP":"Spanish Peseta", - "SEK":"Swedish Krona", - "CHF":"Swiss Franc", - "TRY":"Turkish Lira", - "{{CustomCurrency}}":"Custom" - } - }, - { - "DisplayName":"Custom Server Currency", - "Category":"OpenTTD Server Settings", - "Description":"Sets a custom currency for the server, if \"Custom\" is selected under Server Currency", - "Keywords":"currency", - "FieldName":"CustomCurrency", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomCurrency", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Display Refresh Rate", - "Category":"OpenTTD Server Settings", - "Description":"Sets the display refresh rate", - "Keywords":"refresh,rate,refresh_rate", - "FieldName":"refresh_rate", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"gui.refresh_rate", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "EnumValues":{ - "30":"30Hz", - "60":"60Hz (default)", - "75":"75Hz", - "90":"90Hz", - "100":"100Hz", - "120":"120Hz", - "144":"144Hz", - "240":"240Hz" - } - }, - { - "DisplayName":"Maximum Join Time", - "Category":"OpenTTD Server Settings", - "Description":"Sets the maximum amount of time allowed for a client to join the server. Increasing this can help clients with slower download speeds to join servers with larger maps", - "Keywords":"maximum,join,time", - "FieldName":"max_join_time", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"network.max_join_time", - "IncludeInCommandLine":false, - "DefaultValue":"500", - "Placeholder":"500", - "Suffix":"ticks", - "EnumValues":{} - }, - { - "DisplayName":"Allow Inflation", - "Category":"OpenTTD Accounting Settings", - "Description":"If set, inflation will be enabled in the economy, where costs rise slightly faster than payments", - "Keywords":"inflation", - "FieldName":"inflation", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.inflation", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Maximum Initial Loan", - "Category":"OpenTTD Accounting Settings", - "Description":"Sets the maximum initial amount a company can loan (in GBP), in multiples of £50,000. If the Server Currency is different, the amount will be converted at the relevant exchange rate. The maximum loan amount will increase over time if Inflation is enabled", - "Keywords":"maximum,initial,loan,max_loan", - "FieldName":"max_loan", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.max_loan", - "IncludeInCommandLine":false, - "DefaultValue":"300000", - "Placeholder":"300000", - "Suffix":"GBP", - "EnumValues":{} - }, - { - "DisplayName":"Initial Interest Rate", - "Category":"OpenTTD Accounting Settings", - "Description":"Sets the initial interest rate charged on loans for a new map", - "Keywords":"initial,interest,initial_interest", - "FieldName":"initial_interest", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.initial_interest", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "2":"2% (default)", - "3":"3%", - "4":"4%" - } - }, - { - "DisplayName":"Subsidy Multiplier", - "Category":"OpenTTD Accounting Settings", - "Description":"Sets the bonus multiplier for subsidies offered in-game (assuming they are not disabled)", - "Keywords":"subsidy,multiplier,subsidy_multiplier", - "FieldName":"subsidy_multiplier", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.subsidy_multiplier", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0":"1.5x normal rate", - "1":"2.0x normal rate", - "2":"3.0x normal rate (default)", - "3":"4.0x normal rate" - } - }, - { - "DisplayName":"Subsidy Duration", - "Category":"OpenTTD Accounting Settings", - "Description":"Sets the number of years for which subsidies are awarded. 0 = subsidies disabled", - "Keywords":"subsidy,duration,subsidy_duration", - "FieldName":"subsidy_duration", - "InputType":"number", - "MinValue":"0", - "MaxValue":"5000", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.subsidy_duration", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "Suffix":"years", - "EnumValues":{} - }, - { - "DisplayName":"Infrastructure Maintenance", - "Category":"OpenTTD Accounting Settings", - "Description":"If enabled, infrastructure causes maintenance costs. The cost grows in proportion to the network size, thus affecting larger companie more than smaller ones", - "Keywords":"infrastructure,maintenance,infrastructure_maintenance", - "FieldName":"infrastructure_maintenance", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.infrastructure_maintenance", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Running Costs", - "Category":"OpenTTD Accounting Settings", - "Description":"Sets the level of maintenance and running costs of vehicles and infrastructure", - "Keywords":"vehicle,infrastructure,costs,vehicle_costs", - "FieldName":"vehicle_costs", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.vehicle_costs", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Low (default)", - "1":"Medium", - "2":"High" - } - }, - { - "DisplayName":"Construction Costs", - "Category":"OpenTTD Accounting Settings", - "Description":"Sets the level of construction and purchase costs", - "Keywords":"construction,purchase,cost,construction_cost", - "FieldName":"construction_cost", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.construction_cost", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Low (default)", - "1":"Medium", - "2":"High" - } - }, - { - "DisplayName":"Allow Disasters", - "Category":"OpenTTD Incident Settings", - "Description":"If enabled, disasters can occur on a new map, which may occasionally block or destroy vehicles or infrastructure", - "Keywords":"disasters", - "FieldName":"disasters", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.disasters", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Economic Recessions", - "Category":"OpenTTD Incident Settings", - "Description":"If enabled, economic recessions can occur on new maps every few years. During recessions, all production is significantly lower", - "Keywords":"economy,recession", - "FieldName":"economy", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.economy", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Vehicle Breakdown Frequency", - "Category":"OpenTTD Incident Settings", - "Description":"Sets the frequency at which inadequately serviced vehicles break down", - "Keywords":"vehicle,breakdowns,frequency,vehicle_breakdowns", - "FieldName":"vehicle_breakdowns", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.vehicle_breakdowns", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"No breakdowns", - "1":"Reduced breakdowns (default)", - "2":"Normal breakdowns" - } - }, - { - "DisplayName":"Aircraft Crash Probability", - "Category":"OpenTTD Incident Settings", - "Description":"Sets the probability of aircraft crashes", - "Keywords":"plane,aircraft,crashes,plane_crashes", - "FieldName":"plane_crashes", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.plane_crashes", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0":"None", - "1":"Reduced", - "2":"Normal (default)" - } - }, - { - "DisplayName":"Local Authority Distance", - "Category":"OpenTTD Enviro Settings", - "Description":"Sets how far in tiles an object has to be from a town centre before it comes under the local authority jurisdiction", - "Keywords":"distance,local,authority,dist_local_authority", - "FieldName":"dist_local_authority", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"economy.dist_local_authority", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"tiles", - "EnumValues":{} - }, - { - "DisplayName":"Town Council Tolerance", - "Category":"OpenTTD Enviro Settings", - "Description":"Sets how much noise and environmental damage by companies affect their town rating and therefore further construction activity in the area", - "Keywords":"town,council,tolerance,town_council_tolerance", - "FieldName":"town_council_tolerance", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.town_council_tolerance", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Lenient (default)", - "1":"Tolerant", - "2":"Hostile", - "3":"Permissive" - } - }, - { - "DisplayName":"Town Population Noise Level Increase - Lenient", - "Category":"OpenTTD Enviro Settings", - "Description":"If Town Council Tolerance is lenient, then the town noise limit will increase from the default for every specified number of inhabitants", - "Keywords":"town,noise,population,permissive,town_noise_population[0]", - "FieldName":"town_noise_population0", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"economy.town_noise_population[0]", - "IncludeInCommandLine":false, - "DefaultValue":"800", - "Placeholder":"800", - "EnumValues":{} - }, - { - "DisplayName":"Town Population Noise Level Increase - Tolerant", - "Category":"OpenTTD Enviro Settings", - "Description":"If Town Council Tolerance is tolerant, then the town noise limit will increase from the default for every specified number of inhabitants", - "Keywords":"town,noise,population,tolerant,town_noise_population[1]", - "FieldName":"town_noise_population1", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"economy.town_noise_population[1]", - "IncludeInCommandLine":false, - "DefaultValue":"2000", - "Placeholder":"2000", - "EnumValues":{} - }, - { - "DisplayName":"Town Population Noise Level Increase - Hostile", - "Category":"OpenTTD Enviro Settings", - "Description":"If Town Council Tolerance is hostile, then the town noise limit will increase from the default for every specified number of inhabitants", - "Keywords":"town,noise,population,hostile,town_noise_population[2]", - "FieldName":"town_noise_population2", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"economy.town_noise_population[2]", - "IncludeInCommandLine":false, - "DefaultValue":"4000", - "Placeholder":"4000", - "EnumValues":{} - }, - { - "DisplayName":"Town Population Noise Level Increase - Permissive", - "Category":"OpenTTD Enviro Settings", - "Description":"If Town Council Tolerance is permissive, then the town noise limit will increase from the default for every specified number of inhabitants", - "Keywords":"town,noise,population,permissive,town_noise_population[3]", - "FieldName":"town_noise_population3", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"economy.town_noise_population[3]", - "IncludeInCommandLine":false, - "DefaultValue":"400", - "Placeholder":"400", - "EnumValues":{} - }, - { - "DisplayName":"Allow Bribes", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, companies can try to bribe local authorities to increase their rating. If noticed by an inspector, the company will not be able to act in the town for six months", - "Keywords":"bribe", - "FieldName":"bribe", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.bribe", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Exclusive Rights", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, allows buying of exclusive transport rights in the area of a local authority. Opponents' stations (passenger and cargo) will not receive any cargo for a whole year", - "Keywords":"exclusive,rights,exclusive_rights", - "FieldName":"exclusive_rights", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.exclusive_rights", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Funding Of Roads", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, allows companies to give money to towns to fund road reconstruction, in order to sabotage road-based services in the town", - "Keywords":"fund,roads,fund_roads", - "FieldName":"fund_roads", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.fund_roads", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Funding Of Buildings", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, allows companies to give money to towns to fund new houses", - "Keywords":"fund,buildings,fund_buildings", - "FieldName":"fund_buildings", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.fund_buildings", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Airport Noise Level", - "Category":"OpenTTD Enviro Settings", - "Description":"If disabled, there can only be two airports in each town. If enabled, the number of airports is limited instead by the noise acceptance of the town, which depends on population, airport size and distance", - "Keywords":"station,noise,level,station_noise_level", - "FieldName":"station_noise_level", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.station_noise_level", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Town Growth Rate", - "Category":"OpenTTD Enviro Settings", - "Description":"Sets the speed of town growth", - "Keywords":"town,growth,rate,speed,town_growth_rate", - "FieldName":"town_growth_rate", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"economy.town_growth_rate", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0":"None", - "1":"Slow", - "2":"Normal (default)", - "3":"Fast", - "4":"Very fast" - } - }, - { - "DisplayName":"Allow Town Roads", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, towns are allowed to build roads. Otherwise, players must build roads for a town to grow", - "Keywords":"town,roads,allow_town_roads", - "FieldName":"allow_town_roads", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.allow_town_roads", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Town Level Crossings", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, towns are allowed to build level crossings", - "Keywords":"town,level,crossings,allow_town_level_crossings", - "FieldName":"allow_town_level_crossings", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.allow_town_level_crossings", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Remove Useless Road Elements", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, towns will remove useless road elements during construction to clean up dead-ends", - "Keywords":"mod,road,rebuild,mod_road_rebuild", - "FieldName":"mod_road_rebuild", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.mod_road_rebuild", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Founding Of Towns", - "Category":"OpenTTD Enviro Settings", - "Description":"Sets whether towns can be founded by players during the game and, if so, whether they will use the road layout used by other towns in the game, or can have a custom layout", - "Keywords":"found,town,found_town", - "FieldName":"found_town", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"economy.found_town", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Forbidden (default)", - "1":"Allowed", - "2":"Allowed with custom town layout" - } - }, - { - "DisplayName":"Town Cargo Generation Mode", - "Category":"OpenTTD Enviro Settings", - "Description":"Sets how much cargo is produced by houses in towns, relative to the overall town population", - "Keywords":"town,cargo,generation,mode,town_cargogen_mode", - "FieldName":"town_cargogen_mode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"economy.town_cargogen_mode", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Quadratic growth (original)", - "1":"Linear growth (default)" - } - }, - { - "DisplayName":"Enable Demand-Only Cargo Generation", - "Category":"OpenTTD Enviro Settings", - "Description":"If set, cargo will only be generated at a station when a vehicle with the capacity to pick up that cargo has visited. Affects station ratings", - "Keywords":"cargo,demand,generation,selectgoods", - "FieldName":"selectgoods", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"order.selectgoods", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Multiple Industries Per Town", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, two or more industries of the same type can be built on land that comes under the jurisdiction of one town. Normally only one of each type is allowed", - "Keywords":"multiple,industry,town,multiple_industry_per_town", - "FieldName":"multiple_industry_per_town", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.multiple_industry_per_town", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Oil Refinery Limit", - "Category":"OpenTTD Enviro Settings", - "Description":"Oil refineries are only constructed near the map border (the coast for island maps). This sets the maximum allowed distance (in an even number of tiles) from the edge of the map for refineries", - "Keywords":"oil,refinery,limit,oil_refinery_limit", - "FieldName":"oil_refinery_limit", - "InputType":"number", - "MinValue":"12", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.oil_refinery_limit", - "IncludeInCommandLine":false, - "DefaultValue":"32", - "Placeholder":"32", - "Suffix":"tiles", - "EnumValues":{} - }, - { - "DisplayName":"Allow Serving Neutral Industries", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, industries with attached stations may also be served by company-owned stations built nearby. Otherwise, they can only be served by their own attached stations", - "Keywords":"serve,neutral,industries,serve_neutral_industries", - "FieldName":"serve_neutral_industries", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"station.serve_neutral_industries", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Modified Catchment Areas", - "Category":"OpenTTD Enviro Settings", - "Description":"If enabled, catchment areas will be differently sized for different types of stations and airports, and as a result be more realistic. For example, train stations have a larger catchment area than bus stations and airport catchment areas are bigger still", - "Keywords":"modified,catchment,modified_catchment", - "FieldName":"modified_catchment", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"station.modified_catchment", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Improved Loading", - "Category":"OpenTTD Enviro Settings", - "Description":"If set, only one vehicle is loaded at a time until full, before loading the next vehicle. When disabled, all vehicles in a station are loaded simultaneously, possibly needlessly blocking multiple platforms", - "Keywords":"improved,load,improved_load", - "FieldName":"improved_load", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"order.improved_load", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Gradual Loading", - "Category":"OpenTTD Enviro Settings", - "Description":"If set, vehicles will load cargo over a period of time, not full load instantly", - "Keywords":"gradual,loading,gradual_loading", - "FieldName":"gradual_loading", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"order.gradual_loading", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"AI Competitors", - "Category":"OpenTTD Competitor Settings", - "Description":"Sets the number of AI competitors to be created on the server", - "Keywords":"competitors,ai,max_no_competitors", - "FieldName":"max_no_competitors", - "InputType":"number", - "MinValue":"0", - "MaxValue":"14", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.max_no_competitors", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Competitor Speed", - "Category":"OpenTTD Competitor Settings", - "Description":"Sets the speed at which the AI competitors will build (assuming AI competitors are not disabled)", - "Keywords":"competitor,speed,ai,competitor_speed", - "FieldName":"competitor_speed", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.competitor_speed", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0":"Very slow", - "1":"Slow", - "2":"Medium (default)", - "3":"Fast", - "4":"Very fast" - } - }, - { - "DisplayName":"Allow Giving Of Money", - "Category":"OpenTTD Competitor Settings", - "Description":"If enabled, allows transfer of money between companies", - "Keywords":"give,money,give_money", - "FieldName":"give_money", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.give_money", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Buying Of Shares", - "Category":"OpenTTD Competitor Settings", - "Description":"If enabled, allows buying and selling of company shares. Shares will only be available for companies reaching a certain age", - "Keywords":"allow,shares,allow_shares", - "FieldName":"allow_shares", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"economy.allow_shares", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Minimum Age For Buying Shares", - "Category":"OpenTTD Competitor Settings", - "Description":"Sets the minimum age of a company for others to be able to buy and sell shares from them", - "Keywords":"minimum,years,age,shares,min_years_for_shares", - "FieldName":"min_years_for_shares", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"economy.min_years_for_shares", - "IncludeInCommandLine":false, - "DefaultValue":"6", - "Placeholder":"6", - "Suffix":"years", - "EnumValues":{} - }, - { - "DisplayName":"Train Acceleration Model", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the physics model for train acceleration. \"Original\" penalises slopes equally for all vehicles. \"Realistic\" penalises slopes depending on various properties, like length and tractive effort", - "Keywords":"train,acceleration,model,train_acceleration_model", - "FieldName":"train_acceleration_model", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.train_acceleration_model", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Original", - "1":"Realistic (default)" - } - }, - { - "DisplayName":"Train Slope Steepness", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the steepness of slopes for trains. Higher values make it more difficult to climb a hill. It only applies if the Realistic acceleration model is selected", - "Keywords":"train,slope,steepness,train_slope_steepness", - "FieldName":"train_slope_steepness", - "InputType":"number", - "MinValue":"0", - "MaxValue":"10", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.train_slope_steepness", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "Suffix":"%", - "EnumValues":{} - }, - { - "DisplayName":"Enable Wagon Speed Limits", - "Category":"OpenTTD Vehicle Settings", - "Description":"If enabled, the speed limits of wagons (if any) are also used to determine the maximum speed of a train", - "Keywords":"wagon,speed,limits,wagon_speed_limits", - "FieldName":"wagon_speed_limits", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.wagon_speed_limits", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Freight Trains Multiplier", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the impact of carrying freight in trains. The weight of freight trains is multiplied by this multiplier to simulate very heavy trains for more realism", - "Keywords":"freight,trains,multiplier,freight_trains", - "FieldName":"freight_trains", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.freight_trains", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Road Vehicle Acceleration Model", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the physics model for road vehicle acceleration. \"Original\" penalises slopes equally for all vehicles. \"Realistic\" penalises slopes depending on various properties of the engine, like tractive effort", - "Keywords":"road,vehicle,acceleration,model,roadveh_acceleration_model", - "FieldName":"roadveh_acceleration_model", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.roadveh_acceleration_model", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Original", - "1":"Realistic (default)" - } - }, - { - "DisplayName":"Road Vehicle Slope Steepness", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the steepness of slopes for road vehicles. Higher values make it more difficult to climb a hill. It only applies if the Realistic acceleration model is selected", - "Keywords":"road,vehicle,slope,steepness,roadveh_slope_steepness", - "FieldName":"roadveh_slope_steepness", - "InputType":"number", - "MinValue":"0", - "MaxValue":"10", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.roadveh_slope_steepness", - "IncludeInCommandLine":false, - "DefaultValue":"7", - "Placeholder":"7", - "Suffix":"%", - "EnumValues":{} - }, - { - "DisplayName":"Aircraft Speed Factor", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the relative speed of aircraft compared to other vehicle types, to reduce the amount of income of transport by aircraft", - "Keywords":"plane,aircraft,speed,plane_speed", - "FieldName":"plane_speed", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.plane_speed", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{ - "1":"1:1", - "2":"1:2", - "3":"1:3", - "4":"1:4 (default)" - } - }, - { - "DisplayName":"Disallow Train Reversing", - "Category":"OpenTTD Vehicle Settings", - "Description":"If enabled, trains can reverse at the end of line only, and not at non-terminus stations, even if there is a shorter path to their next destination when reversing", - "Keywords":"line,reverse,mode,train,line_reverse_mode", - "FieldName":"line_reverse_mode", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.line_reverse_mode", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Servicing If No Breakdowns", - "Category":"OpenTTD Vehicle Settings", - "Description":"If set, and vehicle breakdowns are disabled, vehicles will not go to depots or hangars for servicing", - "Keywords":"servicing,breakdowns,no_servicing_if_no_breakdowns", - "FieldName":"no_servicing_if_no_breakdowns", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"order.no_servicing_if_no_breakdowns", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Helicopter Servicing", - "Category":"OpenTTD Vehicle Settings", - "Description":"If enabled, a helicopter landing on a heliport or helipad will automatically be serviced", - "Keywords":"service,helicopter,heliport,helipad,serviceathelipad", - "FieldName":"serviceathelipad", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"order.serviceathelipad", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Dynamic Engines", - "Category":"OpenTTD Vehicle Settings", - "Description":"If enabled, multiple NewGRF vehicle sets will be able to exist side-by-side", - "Keywords":"dynamic,engines,dynamic_engines", - "FieldName":"dynamic_engines", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.dynamic_engines", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Extend Vehicle Life", - "Category":"OpenTTD Vehicle Settings", - "Description":"Extends every vehicle's life by the number of years specified", - "Keywords":"extend,vehicle,life,extend_vehicle_life", - "FieldName":"extend_vehicle_life", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.extend_vehicle_life", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Enable Service Interval Percentage", - "Category":"OpenTTD Vehicle Settings", - "Description":"If enabled, servicing of vehicles will be triggered by reliability dropping to a certain percentage of the maximum reliability, rather than by the time passed since the last service", - "Keywords":"service,interval,percent,servint_ispercent", - "FieldName":"servint_ispercent", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.servint_ispercent", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Train Service Interval", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the default service interval for new trains, if no explicit service interval is set for the vehicle. Increment by 15 from minimum 30", - "Keywords":"service,interval,trains,servint_trains", - "FieldName":"servint_trains", - "InputType":"number", - "MinValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.servint_trains", - "IncludeInCommandLine":false, - "DefaultValue":"150", - "Placeholder":"150", - "EnumValues":{} - }, - { - "DisplayName":"Road Vehicle Service Interval", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the default service interval for new road vehicles, if no explicit service interval is set for the vehicle. Increment by 15 from minimum 30", - "Keywords":"service,interval,road,vehicles,servint_roadveh", - "FieldName":"servint_roadveh", - "InputType":"number", - "MinValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.servint_roadveh", - "IncludeInCommandLine":false, - "DefaultValue":"150", - "Placeholder":"150", - "EnumValues":{} - }, - { - "DisplayName":"Ship Service Interval", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the default service interval for new ships, if no explicit service interval is set for the vehicle. Increment by 15 from minimum 30", - "Keywords":"service,interval,ships,servint_ships", - "FieldName":"servint_ships", - "InputType":"number", - "MinValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.servint_ships", - "IncludeInCommandLine":false, - "DefaultValue":"360", - "Placeholder":"360", - "EnumValues":{} - }, - { - "DisplayName":"Aircraft Service Interval", - "Category":"OpenTTD Vehicle Settings", - "Description":"Sets the default service interval for new aircraft, if no explicit service interval is set for the vehicle. Increment by 15 from minimum 40", - "Keywords":"service,interval,aircraft,servint_aircraft", - "FieldName":"servint_aircraft", - "InputType":"number", - "MinValue":"40", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.servint_aircraft", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Placeholder":"100", - "EnumValues":{} - }, - { - "DisplayName":"Disable Airport Expiry", - "Category":"OpenTTD Limit Settings", - "Description":"If set, each airport type will stay available forever after its introduction", - "Keywords":"never,expire,airports,never_expire_airports", - "FieldName":"never_expire_airports", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"station.never_expire_airports", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Vehicle Expiry", - "Category":"OpenTTD Limit Settings", - "Description":"If set, each vehicle model will stay available forever after its introduction", - "Keywords":"never,expire,vehicles,never_expire_vehicles", - "FieldName":"never_expire_vehicles", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.never_expire_vehicles", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Maximum Trains", - "Category":"OpenTTD Limit Settings", - "Description":"Sets the maximum number of trains that a company can have", - "Keywords":"maximum,trains,limit,max_trains", - "FieldName":"max_trains", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.max_trains", - "IncludeInCommandLine":false, - "DefaultValue":"500", - "Placeholder":"500", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Road Vehicles", - "Category":"OpenTTD Limit Settings", - "Description":"Sets the maximum number of road vehicles that a company can have", - "Keywords":"maximum,road,vehicles,limit,max_roadveh", - "FieldName":"max_roadveh", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.max_roadveh", - "IncludeInCommandLine":false, - "DefaultValue":"500", - "Placeholder":"500", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Aircraft", - "Category":"OpenTTD Limit Settings", - "Description":"Sets the maximum number of aircraft that a company can have", - "Keywords":"maximum,aircraft,limit,max_aircraft", - "FieldName":"max_aircraft", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.max_aircraft", - "IncludeInCommandLine":false, - "DefaultValue":"200", - "Placeholder":"200", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Ships", - "Category":"OpenTTD Limit Settings", - "Description":"Sets the maximum number of ships that a company can have", - "Keywords":"maximum,ships,limit,max_ships", - "FieldName":"max_ships", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.max_ships", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "Placeholder":"300", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Train Length", - "Category":"OpenTTD Limit Settings", - "Description":"Sets the maximum length of a train", - "Keywords":"maximum,train,length,max_train_length", - "FieldName":"max_train_length", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.max_train_length", - "IncludeInCommandLine":false, - "DefaultValue":"7", - "Placeholder":"7", - "Suffix":"tiles", - "EnumValues":{} - }, - { - "DisplayName":"Station Spread", - "Category":"OpenTTD Limit Settings", - "Description":"Sets the maximum area that parts of a station may be spread out over. High values will slow the game", - "Keywords":"station,spread,station_spread", - "FieldName":"station_spread", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"station.station_spread", - "IncludeInCommandLine":false, - "DefaultValue":"12", - "Placeholder":"12", - "Suffix":"tiles", - "EnumValues":{} - }, - { - "DisplayName":"Allow Building Adjacent Stations", - "Category":"OpenTTD Limit Settings", - "Description":"If enabled, allows building a station directly adjacent to another one to create a new station instead of merging the new tile(s) with the existing station", - "Keywords":"adjacent,stations,adjacent_stations", - "FieldName":"adjacent_stations", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"station.adjacent_stations", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Joining Distant Stations", - "Category":"OpenTTD Limit Settings", - "Description":"If enabled, players building a new station have the option of merging it with an existing station within the catchment area or creating a new station", - "Keywords":"distant,join,stations,distant_join_stations", - "FieldName":"distant_join_stations", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"station.distant_join_stations", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Electric Tracks Requirement", - "Category":"OpenTTD Limit Settings", - "Description":"If set, tracks will not be required to be electrified to enable electric engines to run on them", - "Keywords":"disable,electric,rails,tracks,disable_elrails", - "FieldName":"disable_elrails", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.disable_elrails", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Map Seed", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the random seed for creating a new map", - "Keywords":"map,seed,generation_seed", - "FieldName":"G", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"G", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"970327061", - "Placeholder":"970327061", - "EnumValues":{} - }, - { - "DisplayName":"Map Seed", - "Category":"OpenTTD Creation Settings", - "Description":"", - "Keywords":"", - "FieldName":"G", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"game_creation.generation_seed", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Map Size - X Axis", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the size of the map's X axis (in tiles)", - "Keywords":"map,x,axis", - "FieldName":"map_x", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.map_x", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{ - "6":"64", - "7":"128", - "8":"256 (default)", - "9":"512", - "10":"1024", - "11":"2048", - "12":"4096" - } - }, - { - "DisplayName":"Map Size - Y Axis", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the size of the map's Y axis (in tiles)", - "Keywords":"map,y,axis", - "FieldName":"map_y", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.map_y", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{ - "6":"64", - "7":"128", - "8":"256 (default)", - "9":"512", - "10":"1024", - "11":"2048", - "12":"4096" - } - }, - { - "DisplayName":"Landscape", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the landscape for the server, which determines basic gameplay scenarios with different cargoes and town growth requirements", - "Keywords":"landscape", - "FieldName":"landscape", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.landscape", - "IncludeInCommandLine":false, - "DefaultValue":"temperate", - "EnumValues":{ - "arctic":"Arctic", - "temperate":"Temperate (default)", - "toyland":"Toyland", - "tropic":"Tropic" - } - }, - { - "DisplayName":"Land Generation System", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the land generation system for the server. The Original generator depends on the base graphics set, and composes fixed landscape shapes. TerraGeneris is a Perlin noise-based generator with finer control settings", - "Keywords":"land,generator,generation,system,land_generator", - "FieldName":"land_generator", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.land_generator", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Original", - "1":"TerraGenesis Perlin (TGP) (default)" - } - }, - { - "DisplayName":"Terrain Type (TGP Only)", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the terrain type (hilliness of the landscape) for generating a new map", - "Keywords":"terrain,type,tgp,terrain_type", - "FieldName":"terrain_type", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.terrain_type", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Very flat", - "1":"Flat (default)", - "2":"Hilly", - "3":"Mountainous", - "4":"Alpinist", - } - }, - { - "DisplayName":"Terrain Smoothness (TGP Only)", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the smoothness of the map, ie the frequency of hills", - "Keywords":"tgen,tgp,terrain,smoothness,tgen_smoothness", - "FieldName":"tgen_smoothness", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.tgen_smoothness", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0":"Very smooth", - "1":"Smooth (default)", - "2":"Rough", - "3":"Very rough" - } - }, - { - "DisplayName":"Variety Distribution (TGP Only)", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the extent to which the map should contain mountainous areas in addition to flat areas", - "Keywords":"variety,tgp", - "FieldName":"variety", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.variety", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"None (default)", - "1":"Very low", - "2":"Low", - "3":"Medium", - "4":"High", - "5":"Very high" - } - }, - { - "DisplayName":"Snow Coverage", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the approximate amount of snow on the sub-arctic landscape. Snow affects industry generation and town growth requirements. Land just above sea level is always without snow", - "Keywords":"snow,coverage,snow_coverage", - "FieldName":"snow_coverage", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.snow_coverage", - "IncludeInCommandLine":false, - "DefaultValue":"40", - "EnumValues":{ - "0":"None", - "10":"10%", - "20":"20%", - "30":"30%", - "40":"40% (default)", - "50":"50%", - "60":"60%", - "70":"70%", - "80":"80%", - "90":"90%", - "100":"100%" - } - }, - { - "DisplayName":"Snow Line Height", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the altitude (in tiles) at which snow starts in sub-arctic landscapes. Snow affects industry generation and town growth requirements", - "Keywords":"snow,line,height,altitude,snow_line_height", - "FieldName":"snow_line_height", - "InputType":"number", - "MinValue":"2", - "MaxValue":"253", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.snow_line_height", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "EnumValues":{} - }, - { - "DisplayName":"Desert Coverage", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the approximate amount of desert on the tropical landscape. Desert affects industry generation", - "Keywords":"desert,coverage,desert_coverage", - "FieldName":"desert_coverage", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.desert_coverage", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "EnumValues":{ - "0":"None", - "10":"10%", - "20":"20%", - "30":"30%", - "40":"40%", - "50":"50% (default)", - "60":"60%", - "70":"70%", - "80":"80%", - "90":"90%", - "100":"100%" - } - }, - { - "DisplayName":"Sea Level (TGP Only)", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the sea level, and as a result the size of the area covered by seas and lakes on a new map. If \"Custom\" is selected, Custom Sea Level must also be set", - "Keywords":"quantity,sea,lakes,level,tgp,quantity_sea_lakes", - "FieldName":"quantity_sea_lakes", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.quantity_sea_lakes", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Very low (default)", - "1":"Low", - "2":"Medium", - "3":"High", - "4":"Custom" - } - }, - { - "DisplayName":"Custom Sea Level", - "Category":"OpenTTD Creation Settings", - "Description":"If \"Custom\" is selected for Sea Level, sets roughly the percentage area covered by seas and lakes on a new map", - "Keywords":"custom,sea,level,custom_sea_level", - "FieldName":"custom_sea_level", - "InputType":"number", - "MinValue":"1", - "MaxValue":"90", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.custom_sea_level", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Quantity Of Rivers", - "Category":"OpenTTD Creation Settings", - "Description":"Sets how many rivers are generated", - "Keywords":"amount,rivers,amount_of_rivers", - "FieldName":"amount_of_rivers", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.amount_of_rivers", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0":"None", - "1":"Few", - "2":"Medium (default)", - "3":"Many" - } - }, - { - "DisplayName":"Minimum River Length", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the minimum length (in tiles) of rivers", - "Keywords":"minimum,river,length,min_river_length", - "FieldName":"min_river_length", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.min_river_length", - "IncludeInCommandLine":false, - "DefaultValue":"16", - "Placeholder":"16", - "Suffix":"tiles", - "EnumValues":{} - }, - { - "DisplayName":"Tree Placing", - "Category":"OpenTTD Creation Settings", - "Description":"Sets how trees are distributed on the map. Original = uniformly scattered. Improved = planted in groups", - "Keywords":"tree,placer,placing,tree_placer", - "FieldName":"tree_placer", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.tree_placer", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0":"No tree placing", - "1":"Original tree placing", - "2":"Improved tree placing (default)" - } - }, - { - "DisplayName":"Town Quantity", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the quantity of towns created on a new map. If \"Custom\" is selected, Custom Town Quantity must also be set", - "Keywords":"number,towns,number_towns", - "FieldName":"number_towns", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.number_towns", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0":"Very low", - "1":"Low", - "2":"Normal (default)", - "3":"High", - "4":"Custom" - } - }, - { - "DisplayName":"Custom Town Quantity", - "Category":"OpenTTD Creation Settings", - "Description":"If \"Custom\" is selected for Town Quantity, sets the exact number of towns to be created on a new map", - "Keywords":"custom,town,number,custom_town_number", - "FieldName":"custom_town_number", - "InputType":"number", - "MinValue":"1", - "MaxValue":"5000", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.custom_town_number", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Larger Towns Proportion", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the proportion of towns that will grow to become cities. For example, if 4 is specified, 1 in 4 (25%) will become cities. 0 = disabled", - "Keywords":"larger,towns,larger_towns", - "FieldName":"larger_towns", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"economy.larger_towns", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "Placeholder":"4", - "EnumValues":{} - }, - { - "DisplayName":"Initial City Size Multiplier", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the average initial size of cities relative to towns", - "Keywords":"initial,city,size,multiplier,initial_city_size", - "FieldName":"initial_city_size", - "InputType":"number", - "MinValue":"1", - "MaxValue":"10", - "IsFlagArgument":false, - "ParamFieldName":"economy.initial_city_size", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{} - }, - { - "DisplayName":"Industry Density", - "Category":"OpenTTD Creation Settings", - "Description":"Sets how many industries should be generated and what level should be maintained during the game", - "Keywords":"industry,density,industry_density", - "FieldName":"industry_density", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty.industry_density", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{ - "0":"None (funding only)", - "1":"Minimal", - "2":"Very low", - "3":"Low", - "4":"Normal (default)", - "5":"High" - } - }, - { - "DisplayName":"Town Layout", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the layout for the road network of towns", - "Keywords":"town,layout,road,town_layout", - "FieldName":"town_layout", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"economy.town_layout", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Original (default)", - "1":"Better roads", - "2":"2x2 grid", - "3":"3x3 grid", - "4":"Random" - } - }, - { - "DisplayName":"Vehicle Driving Side", - "Category":"OpenTTD Creation Settings", - "Description":"Sets which side of the road vehicles drive on", - "Keywords":"road,side,drive,road_side", - "FieldName":"road_side", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"vehicle.road_side", - "IncludeInCommandLine":false, - "DefaultValue":"right", - "EnumValues":{ - "right":"Drive on right (default)", - "left":"Drive on left" - } - }, - { - "DisplayName":"Starting Year", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the starting year for the game. 1925 appears to be the earliest year", - "Keywords":"starting,year,starting_year", - "FieldName":"t", - "InputType":"number", - "MinValue":"1925", - "IsFlagArgument":false, - "ParamFieldName":"t", - "IncludeInCommandLine":true, - "DefaultValue":"1950", - "Placeholder":"1950", - "EnumValues":{} - }, - { - "DisplayName":"Starting Year", - "Category":"OpenTTD Creation Settings", - "Description":"", - "Keywords":"", - "FieldName":"t", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"game_creation.starting_year", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Restart Year", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the year when the server will restart automatically (on 1 January). 0 = no automatic restart", - "Keywords":"restart,year,restart_game_year", - "FieldName":"restart_game_year", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"network.restart_game_year", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Town Name Nationality", - "Category":"OpenTTD Creation Settings", - "Description":"Sets the nationality that town names are sourced from in randomly generated games. If Other is selected, Custom Town Name Nationality must also be set", - "Keywords":"town,name,nationality,country,language,town_name", - "FieldName":"town_name", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game_creation.town_name", - "IncludeInCommandLine":false, - "DefaultValue":"english", - "EnumValues":{ - "american":"American", - "austrian":"Austrian", - "english":"English (default)", - "catalan":"Catalan", - "czech":"Czech", - "danish":"Danish", - "dutch":"Dutch", - "finnish":"Finnish", - "french":"French", - "german":"German", - "hungarian":"Hungarian", - "italian":"Italian", - "latin":"Latin", - "norwegian":"Norwegian", - "polish":"Polish", - "romanian":"Romanian", - "silly":"Silly", - "slovakish":"Slovakish", - "swedish":"Swedish", - "swiss":"Swiss", - "turkish":"Turkish", - "{{CustomTownName}}":"Other" - } - }, - { - "DisplayName":"Custom Town Name Nationality", - "Category":"OpenTTD Creation Settings", - "Description":"Sets a custom NewGRF source for random town names, if \"Other\" is selected under Town Name Nationality. The NewGRF file must be installed in the newgrf directory", - "Keywords":"town,name,nationality,country,language", - "FieldName":"CustomTownName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomTownName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Branch", - "Category":"SteamCMD and Updates", - "Description":"Sets the server branch to install. NOTE: Update the server after switching branches!", - "Keywords":"server,branch,depot", - "FieldName":"ServerBranch", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerBranch", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "EnumValues":{ - "public":"Public (default)", - "testing":"Testing (beta and RC)", - "nightly":"Nightly" - } - } -] diff --git a/openttdmetaconfig.json b/openttdmetaconfig.json deleted file mode 100644 index 4ffe0b002..000000000 --- a/openttdmetaconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -[ - { - "ConfigFile":"config/openttd.cfg", - "ConfigType":"ini", - "AutoMap":true, - "ConfigFormat":"{0} = {1}", - "ConfigFormatRegex":"^(?<key>.+?) = (?<value>.*?)$" - - }, - { - "ConfigFile":"config/private.cfg", - "ConfigType":"ini", - "AutoMap":true, - "ConfigFormat":"{0} = {1}", - "ConfigFormatRegex":"^(?<key>.+?) = (?<value>.*?)$" - }, - { - "ConfigFile":"config/secrets.cfg", - "ConfigType":"ini", - "AutoMap":true, - "ConfigFormat":"{0} = {1}", - "ConfigFormatRegex":"^(?<key>.+?) = (?<value>.*?)$" - } -] \ No newline at end of file diff --git a/openttdopenttd.cfg b/openttdopenttd.cfg deleted file mode 100644 index 9f1af264a..000000000 --- a/openttdopenttd.cfg +++ /dev/null @@ -1,468 +0,0 @@ -[network] -commands_per_frame = 2 -max_commands_in_queue = 16 -bytes_per_frame = 8 -bytes_per_frame_burst = 256 -max_init_time = 100 -max_join_time = 500 -max_download_time = 1000 -max_password_time = 2000 -max_lag_time = 500 -pause_on_join = true -server_port = 3979 -server_admin_port = 3977 -server_admin_chat = true -server_game_type = local -autoclean_companies = false -autoclean_unprotected = 12 -autoclean_protected = 36 -autoclean_novehicles = 0 -max_companies = 15 -max_clients = 25 -restart_game_year = 0 -min_active_clients = 0 -reload_cfg = false -no_http_content_downloads = false -use_relay_service = ask - -[misc] -display_opt = SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION|FULL_DETAIL|WAYPOINTS|SHOW_COMPETITOR_SIGNS -fullscreen = false -video_hw_accel = true -video_vsync = false -support8bpp = no -graphicsset = -soundsset = -musicset = -videodriver = -musicdriver = -sounddriver = -blitter = -language = english.lng -resolution = 640,480 -screenshot_format = -savegame_format = -rightclick_emulate = false -small_font = -medium_font = -large_font = -mono_font = -small_size = 0 -medium_size = 0 -large_size = 0 -mono_size = 0 -small_aa = false -medium_aa = false -large_aa = false -mono_aa = false -sprite_cache_size_px = 128 -player_face = 0 -transparency_options = 0 -transparency_locks = 0 -invisibility_options = 0 -keyboard = -keyboard_caps = -last_newgrf_count = 0 -gui_scale = -1 - -[difficulty] -max_no_competitors = 0 -number_towns = 2 -industry_density = 4 -max_loan = 300000 -initial_interest = 2 -vehicle_costs = 0 -competitor_speed = 2 -vehicle_breakdowns = 1 -subsidy_multiplier = 2 -subsidy_duration = 1 -construction_cost = 0 -terrain_type = 1 -quantity_sea_lakes = 0 -economy = false -line_reverse_mode = false -disasters = false -town_council_tolerance = 0 - -[economy] -town_layout = 0 -allow_town_roads = true -found_town = 0 -allow_town_level_crossings = true -town_cargogen_mode = 1 -station_noise_level = false -inflation = false -multiple_industry_per_town = false -bribe = true -exclusive_rights = true -fund_buildings = true -fund_roads = true -give_money = true -type = 1 -allow_shares = false -min_years_for_shares = 6 -feeder_payment_share = 75 -town_growth_rate = 2 -larger_towns = 4 -initial_city_size = 2 -mod_road_rebuild = true -dist_local_authority = 20 -town_noise_population[0] = 800 -town_noise_population[1] = 2000 -town_noise_population[2] = 4000 -town_noise_population[3] = 400 -infrastructure_maintenance = false - -[order] -no_servicing_if_no_breakdowns = true -improved_load = true -selectgoods = true -serviceathelipad = true -gradual_loading = true - -[station] -never_expire_airports = false -station_spread = 12 -modified_catchment = true -serve_neutral_industries = true -adjacent_stations = true -distant_join_stations = true - -[vehicle] -road_side = right -train_acceleration_model = 1 -roadveh_acceleration_model = 1 -train_slope_steepness = 3 -roadveh_slope_steepness = 7 -max_train_length = 7 -smoke_amount = 1 -never_expire_vehicles = false -max_trains = 500 -max_roadveh = 500 -max_aircraft = 200 -max_ships = 300 -wagon_speed_limits = true -disable_elrails = false -freight_trains = 1 -plane_speed = 4 -dynamic_engines = true -plane_crashes = 2 -extend_vehicle_life = 0 -servint_ispercent = false -servint_trains = 150 -servint_roadveh = 150 -servint_ships = 360 -servint_aircraft = 100 - -[gui] -autosave = monthly -threaded_saves = true -date_format_in_default_names = iso -show_finances = true -auto_scrolling = 0 -scroll_mode = 2 -smooth_scroll = false -right_mouse_wnd_close = false -measure_tooltip = true -errmsg_duration = 5 -hover_delay_ms = 250 -osk_activation = double -toolbar_pos = 1 -statusbar_pos = 1 -window_snap_radius = 10 -window_soft_limit = 20 -zoom_min = 0 -zoom_max = 5 -sprite_zoom_min = 0 -population_in_label = true -link_terraform_toolbar = false -smallmap_land_colour = 0 -linkgraph_colours = 0 -liveries = 2 -starting_colour = 16 -auto_remove_signals = false -prefer_teamchat = false -scrollwheel_scrolling = 0 -scrollwheel_multiplier = 5 -pause_on_newgame = false -advanced_vehicle_list = 1 -timetable_in_ticks = false -timetable_arrival_departure = true -quick_goto = true -loading_indicators = 1 -default_rail_type = 0 -signal_gui_mode = 0 -default_signal_type = 5 -coloured_news_year = 2000 -cycle_signal_types = 0 -drag_signals_density = 4 -drag_signals_fixed_distance = false -semaphore_build_before = 1950 -vehicle_income_warn = true -order_review_system = 2 -lost_vehicle_warn = true -new_nonstop = true -stop_location = 2 -keep_all_autosave = false -autosave_on_exit = false -autosave_on_network_disconnect = true -max_num_autosaves = 16 -auto_euro = true -news_message_timeout = 2 -show_track_reservation = true -station_numtracks = 1 -station_platlength = 5 -station_dragdrop = true -station_show_coverage = false -persistent_buildingtools = true -station_gui_group_order = 0 -station_gui_sort_by = 0 -station_gui_sort_order = 0 -missing_strings_threshold = 25 -graph_line_thickness = 3 -show_newgrf_name = false -show_cargo_in_vehicle_lists = false -show_date_in_logs = false -settings_restriction_mode = 0 -developer = 1 -newgrf_developer_tools = false -ai_developer_tools = false -scenario_developer = false -newgrf_show_old_versions = false -newgrf_default_palette = 1 -console_backlog_timeout = 100 -console_backlog_length = 100 -refresh_rate = 60 -fast_forward_speed_limit = 2500 -network_chat_box_width_pct = 40 -network_chat_box_height = 25 -network_chat_timeout = 20 -scale_bevels = true - -[linkgraph] -recalc_interval = 4 -recalc_time = 16 -distribution_pax = 0 -distribution_mail = 0 -distribution_armoured = 0 -distribution_default = 0 -accuracy = 16 -demand_distance = 100 -demand_size = 100 -short_path_saturation = 80 - -[locale] -currency = GBP -units_velocity = metric -units_power = metric -units_weight = metric -units_volume = metric -units_force = si -units_height = metric -digit_group_separator = -digit_group_separator_currency = -digit_decimal_separator = - -[sound] -news_ticker = true -news_full = true -new_year = true -confirm = true -click_beep = true -disaster = true -vehicle = true -ambient = true - -[music] -playlist = 0 -music_vol = 50 -effect_vol = 100 -custom_1 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -custom_2 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -playing = true -shuffle = false - -[news_display] -arrival_player = full -arrival_other = summarized -accident = full -accident_other = full -company_info = full -open = summarized -close = summarized -economy = full -production_player = summarized -production_other = off -production_nobody = off -advice = full -new_vehicles = full -acceptance = full -subsidies = summarized -general = full - -[pf] -forbid_90_deg = false -roadveh_queue = true -pathfinder_for_trains = 2 -pathfinder_for_roadvehs = 2 -pathfinder_for_ships = 2 -reverse_at_signals = false -wait_oneway_signal = 15 -wait_twoway_signal = 41 -wait_for_pbs_path = 30 -reserve_paths = false -path_backoff_interval = 20 -npf.npf_max_search_nodes = 10000 -npf.npf_rail_firstred_penalty = 1000 -npf.npf_rail_firstred_exit_penalty = 10000 -npf.npf_rail_lastred_penalty = 1000 -npf.npf_rail_station_penalty = 100 -npf.npf_rail_slope_penalty = 100 -npf.npf_rail_curve_penalty = 100 -npf.npf_rail_depot_reverse_penalty = 5000 -npf.npf_rail_pbs_cross_penalty = 300 -npf.npf_rail_pbs_signal_back_penalty = 1500 -npf.npf_buoy_penalty = 200 -npf.npf_water_curve_penalty = 100 -npf.npf_road_curve_penalty = 100 -npf.npf_crossing_penalty = 300 -npf.npf_road_drive_through_penalty = 800 -npf.npf_road_dt_occupied_penalty = 800 -npf.npf_road_bay_occupied_penalty = 1500 -npf.maximum_go_to_depot_penalty = 2000 -yapf.disable_node_optimization = false -yapf.max_search_nodes = 10000 -yapf.rail_firstred_twoway_eol = true -yapf.rail_firstred_penalty = 1000 -yapf.rail_firstred_exit_penalty = 10000 -yapf.rail_lastred_penalty = 1000 -yapf.rail_lastred_exit_penalty = 10000 -yapf.rail_station_penalty = 1000 -yapf.rail_slope_penalty = 200 -yapf.rail_curve45_penalty = 100 -yapf.rail_curve90_penalty = 600 -yapf.rail_depot_reverse_penalty = 5000 -yapf.rail_crossing_penalty = 300 -yapf.rail_look_ahead_max_signals = 10 -yapf.rail_look_ahead_signal_p0 = 500 -yapf.rail_look_ahead_signal_p1 = -100 -yapf.rail_look_ahead_signal_p2 = 5 -yapf.rail_pbs_cross_penalty = 300 -yapf.rail_pbs_station_penalty = 800 -yapf.rail_pbs_signal_back_penalty = 1500 -yapf.rail_doubleslip_penalty = 100 -yapf.rail_longer_platform_penalty = 800 -yapf.rail_longer_platform_per_tile_penalty = 0 -yapf.rail_shorter_platform_penalty = 4000 -yapf.rail_shorter_platform_per_tile_penalty = 0 -yapf.road_slope_penalty = 200 -yapf.road_curve_penalty = 100 -yapf.road_crossing_penalty = 300 -yapf.road_stop_penalty = 800 -yapf.road_stop_occupied_penalty = 800 -yapf.road_stop_bay_occupied_penalty = 1500 -yapf.maximum_go_to_depot_penalty = 2000 -yapf.ship_curve45_penalty = 100 -yapf.ship_curve90_penalty = 600 - -[script] -settings_profile = easy -script_max_opcode_till_suspend = 10000 -script_max_memory_megabytes = 1024 - -[ai] -ai_in_multiplayer = true -ai_disable_veh_train = false -ai_disable_veh_roadveh = false -ai_disable_veh_aircraft = false -ai_disable_veh_ship = false - -[game_creation] -town_name = english -landscape = temperate -heightmap_height = 30 -snow_line_height = 10 -snow_coverage = 40 -desert_coverage = 50 -starting_year = 1950 -ending_year = 2050 -land_generator = 1 -oil_refinery_limit = 32 -tgen_smoothness = 1 -variety = 0 -generation_seed = 970327061 -tree_placer = 2 -heightmap_rotation = 0 -se_flat_world_height = 1 -map_x = 8 -map_y = 8 -water_borders = 15 -custom_town_number = 1 -custom_industry_number = 1 -custom_terrain_type = 30 -custom_sea_level = 1 -min_river_length = 16 -river_route_random = 5 -amount_of_rivers = 2 - -[construction] -map_height_limit = 0 -build_on_slopes = true -command_pause_level = 1 -terraform_per_64k_frames = 4194304 -terraform_frame_burst = 4096 -clear_per_64k_frames = 4194304 -clear_frame_burst = 4096 -tree_per_64k_frames = 4194304 -tree_frame_burst = 4096 -build_object_per_64k_frames = 2097152 -build_object_frame_burst = 2048 -autoslope = true -extra_dynamite = true -max_bridge_length = 64 -max_bridge_height = 12 -max_tunnel_length = 64 -train_signal_side = 1 -road_stop_on_town_road = true -road_stop_on_competitor_road = true -raw_industry_construction = 0 -industry_platform = 1 -freeform_edges = true -extra_tree_placement = 2 - -[currency] -rate = 1 -separator = "." -to_euro = 0 -prefix = -suffix = " credits" - -[company] -engine_renew = true -engine_renew_months = 6 -engine_renew_money = 100000 -renew_keep_length = false - -[newgrf] - -[newgrf-static] - -[ai_players] -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 -none = start_date=730 - -[game_scripts] -none = diff --git a/openttdprivate.cfg b/openttdprivate.cfg deleted file mode 100644 index 6a1a95afe..000000000 --- a/openttdprivate.cfg +++ /dev/null @@ -1,15 +0,0 @@ -; This file possibly contains private information which can identify you as person. -[private] - -[network] -client_name = AMPServer -server_name = AMP Powered OpenTTD Server -connect_to_ip = -last_joined = - -[server_bind_addresses] -0.0.0.0 = - -[servers] - -[bans] diff --git a/openttdsecrets.cfg b/openttdsecrets.cfg deleted file mode 100644 index 954c23bfd..000000000 --- a/openttdsecrets.cfg +++ /dev/null @@ -1,12 +0,0 @@ -; Do not share this file with others, not even if they claim to be technical support. -; This file contains saved passwords and other secrets that should remain private to you! -[secrets] - -[network] -server_password = -rcon_password = -admin_password = -default_company_pass = -network_id = -server_invite_code = -server_invite_code_secret = diff --git a/openttdupdates.json b/openttdupdates.json deleted file mode 100644 index 4e9f3f1cb..000000000 --- a/openttdupdates.json +++ /dev/null @@ -1,44 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1536610", - "UpdateSourceArgs":"1536610", - "UpdateSourceVersion":"{{ServerBranch}}" - }, - { - "UpdateStageName":"Create Config Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}config", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Openttd.cfg Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/openttdopenttd.cfg", - "UpdateSourceArgs":"openttd.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}config", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Private.cfg Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/openttdprivate.cfg", - "UpdateSourceArgs":"private.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}config", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Secrets.cfg Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/openttdsecrets.cfg", - "UpdateSourceArgs":"secrets.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}config", - "OverwriteExistingFiles":false - } -] \ No newline at end of file diff --git a/path-of-titans.kvp b/path-of-titans.kvp deleted file mode 100644 index 51e09c5c1..000000000 --- a/path-of-titans.kvp +++ /dev/null @@ -1,79 +0,0 @@ -Meta.DisplayName=Path of Titans -Meta.Description=Path of Titans Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://pathoftitans.com/ -Meta.DisplayImageSource=url:https://pathoftitans.com/images/logo-large.png -Meta.EndpointURIFormat= -Meta.ConfigManifest=path-of-titansconfig.json -Meta.MetaConfigManifest=path-of-titansmetaconfig.json -Meta.ConfigRoot=path-of-titans.kvp -Meta.MinAMPVersion=2.4.1.4 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Path of Titans -App.RootDir=./path-of-titans/ -App.BaseDirectory=./path-of-titans/ -App.ExecutableWin=PathOfTitans\Binaries\Win64\PathOfTitansServer-Win64-Shipping.exe -App.ExecutableLinux=PathOfTitans/Binaries/Linux/PathOfTitansServer-Linux-Shipping -App.WorkingDir= -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=PathOfTitans {{ServerMap}}?ServerName="{{ServerName}}" {{$PlatformArgs}} -log -Port={{$GamePort}} -QueryPort={{$QueryPort}} -RconPort={{$RCONPort}} -RconPassword="{{$RemoteAdminPassword}}" -MultiHome={{$ApplicationIPBinding}} {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=200 -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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":7778,"Ref":"ReservedPort","Name":"Reserved Port","Description":"Reserved port"},{"Protocol":"Both","Port":7779,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"},{"Protocol":"Both","Port":7780,"Ref":"StatsPort","Name":"Stats Port","Description":"Port for stats traffic"},{"Protocol":"UDP","Port":7781,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"}] -App.AdminPortRef=RCONPort -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=100 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=True -App.RemoteAdminPassword= -App.AdminMethod=SourceRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=@IncludeJson[path-of-titansupdates.json] -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?LogGameMode: Display: Match State Changed from WaitingToStart to InProgress$ -Console.UserJoinRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?TitansNetwork: AIGameMode::InitNewPlayer\(\?EncryptionToken=(?:.+?)==\?Name=(?<username>.+?)\?\?PID=(?<userid>.+?)\?PT=\d+\?OS=\d+\?SplitscreenCount=\d+\)$ -Console.UserLeaveRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?AlderonLog: IAlderonCommon:UnregisterPlayer\(\) Request: {"player_id":(?<userid>.+?),"platform":"(?:.+?)"(?:.*?)}$ -Console.UserChatRegex=^(?:\[[\d\.]+-[\d\.:]+\]\[[\d ]+\])?TitansOnline: Chat: \[(?:.+?)\] (?<username>.+?) \((?:.+?)\): (?<message>.+)$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/path-of-titansconfig.json b/path-of-titansconfig.json deleted file mode 100644 index a2338c7c5..000000000 --- a/path-of-titansconfig.json +++ /dev/null @@ -1,1255 +0,0 @@ -[ - { - "DisplayName":"Enable RCON", - "Category":"POT Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"SourceRCONbEnabled", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[SourceRCON]:bEnabled", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{} - }, - { - "DisplayName":"RCON Binding", - "Category":"POT Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationIPBinding", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[SourceRCON]:IP", - "IncludeInCommandLine":true, - "EnumValues":{} - }, - { - "DisplayName":"Automatic Restarts", - "Category":"POT Server Settings", - "Description":"Disables automatic server restarts to avoid conflicts with AMP", - "Keywords":"", - "FieldName":"bServerAutoRestart", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAutoRestart", - "IncludeInCommandLine":true, - "DefaultValue":"false" - }, - { - "DisplayName":"Auth Token", - "Category":"POT Server Settings", - "Description":"Sets the [auth token](https://alderongames.com/oauth/hosting-token) to install and run the server. The associated account must have access to the game", - "Keywords":"auth,token,authtoken", - "FieldName":"AuthToken", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"AuthToken", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server GUID", - "Category":"POT Server Settings", - "Description":"Sets the required GUID for the server. Must be in UUIDv4 format. Default is a random GUID", - "Keywords":"guid,serverguid", - "FieldName":"ServerGUID", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerGUID", - "IncludeInCommandLine":true, - "DefaultValue":"{{newguid()}}", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"POT Server Settings", - "Description":"Sets the public name of the server. To include spaces in the name displayed in the server list, you MUST use underscores to represent those spaces", - "Keywords":"name,servername", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP_Powered_POT_Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Rules", - "Category":"POT Server Settings", - "Description":"Sets the server rules displayed and that must be accepted when players first join the server. Refer to these [formatting instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Setting-up-Rules#formatting)", - "Keywords":"rules", - "FieldName":"Rules", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"Rules", - "IncludeInCommandLine":false, - "DefaultValue":"<title>Server Rules</>\n<red>1 - Please only attack Camptos.</>\nCamptosauruses are very evil!\n\n<orange>2 - Corpse Cove is closed due to dirty water.</>\n\nThese are the only rules on this server!\n<large>Thanks, and have fun!</>", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"POT Server Settings", - "Description":"Sets the welcome message displayed when players join the server. Refer to these [formatting instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Setting-up-Message-of-the-Day-(MOTD%29#formatting)", - "Keywords":"welcome,message,motd", - "FieldName":"MOTD", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"MOTD", - "IncludeInCommandLine":false, - "DefaultValue":"<title>Welcome to Path of Titans Server - powered by AMP!</>\n<large>Have fun!</>", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"POT Server Settings", - "Description":"Sets the password to connect to the server", - "Keywords":"server,password,serverpassword", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"ServerPassword", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"POT Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"ServerPassword", - "InputType":"password", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/PathOfTitans.IGameSession.ServerPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"POT Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password", - "FieldName":"RCONPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RCONPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable BattlEye Anti-Cheat", - "Category":"POT Server Settings", - "Description":"If set, enables BattlEye Anti-Cheat", - "Keywords":"battleye,anti,cheat", - "FieldName":"BattlEyeAntiCheatbEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[BattlEye]:bEnabled", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Server Map", - "Category":"POT Server Settings", - "Description":"Sets the map for the server. If using a modded map, select Custom and set the \"Custom Map Name\"", - "Keywords":"map", - "FieldName":"ServerMap", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerMap", - "IncludeInCommandLine":false, - "DefaultValue":"Panjura", - "EnumValues":{ - "Panjura":"Panjura (default)", - "Island":"Gondwa", - "{{CustomMap}}":"Custom" - } - }, - { - "DisplayName":"Custom Map Name", - "Category":"POT Server Settings", - "Description":"Sets a custom map for the server. Custom type must be selected under \"Server Map\". GameUserSettings.ini also needs to be configured. Refer to these [instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Setting-up-Mods)", - "Keywords":"custom,map", - "FieldName":"CustomMap", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMap", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"Jangwa", - "EnumValues":{} - }, - { - "DisplayName":"Enable Full Map", - "Category":"POT Server Settings", - "Description":"If set, enables the full map for the entire server", - "Keywords":"full,map,bserverallowmap", - "FieldName":"bServerAllowMap", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAllowMap", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Minimap", - "Category":"POT Server Settings", - "Description":"If set, enables the minimap for the entire server", - "Keywords":"mini,map,bserverallowminimap", - "FieldName":"bServerAllowMinimap", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAllowMinimap", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Server/RCON IP Binding", - "Category":"POT Server Settings", - "Description":"If required, you can change the binding of the server and Source RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first. AMP itself must be able to reach the set IP, otherwise it will not be able to connect to RCON", - "Keywords":"ip,binding,multihome,rcon,sourcercon", - "FieldName":"MultiHome", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Broadcast IP", - "Category":"POT Server Settings", - "Description":"If needed, sets the IPv4 address of the server shown on the public server list. Useful for players to connect via a different IP, such as through a relay or via DDoS protection", - "Keywords":"broadcast,ip,serverlistip", - "FieldName":"ServerListIP", - "InputType":"text", - "IsFlagArgument":false, - "SkipIfEmpty":true, - "ParamFieldName":"ServerListIP", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"POT Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at one time. Actual number allowed may be higher as a result of reserved slots for admins (default 20)", - "Keywords":"maximum,players,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxPlayers", - "IncludeInCommandLine":true, - "DefaultValue":"100", - "Placeholder":"100", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Reserved Slots", - "Category":"POT Server Settings", - "Description":"Sets the number of reserved slots for admin players, above the player limit", - "Keywords":"reserved,slots,admin,reservedslots", - "FieldName":"ReservedSlots", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:ReservedSlots", - "IncludeInCommandLine":true, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"admin players", - "EnumValues":{} - }, - { - "DisplayName":"Server Admins", - "Category":"POT Server Settings", - "Description":"Server admins can be specified in Game.ini by their Alderon Games IDs. Format is \"ServerAdmins=123-456-789\" (don't include quotes) in the [/Script/PathOfTitans.IGameSession] section. Add the section heading if needed. One admin per line", - "Keywords":"server,admins,serveradmins", - "FieldName":"POTServerAdmins", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"POTServerAdmins", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Maximum Group Slots", - "Category":"POT Server Settings", - "Description":"Sets the maximum number of slots allowed for player groups", - "Keywords":"player,group,slots,maximum,maxgroupsize", - "FieldName":"MaxGroupSize", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxGroupSize", - "IncludeInCommandLine":true, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"group slots", - "EnumValues":{} - }, - { - "DisplayName":"Allow Paid Users Only", - "Category":"POT Server Settings", - "Description":"If enabled, free-to-play users will not be able to join the server", - "Keywords":"free,play,paid,users,bserverpaidusersonly", - "FieldName":"bServerPaidUsersOnly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerPaidUsersOnly", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Idle Player Kick Time", - "Category":"POT Server Settings", - "Description":"Sets the amount of time before a player will be automatically disconnected from the server if they are idle/AFK. 0 = idle player kick disabled", - "Keywords":"player,kick,time,afk,disconnect,afkdisconnecttime", - "FieldName":"AFKDisconnectTime", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:AFKDisconnectTime", - "IncludeInCommandLine":true, - "DefaultValue":"600", - "Placeholder":"600", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Client Ping Time", - "Category":"POT Server Settings", - "Description":"Sets the maximum client ping time before auto-disconnecting a player from the server. 0 = disabled", - "Keywords":"maximum,client,ping,time,maxclientpingms", - "FieldName":"MaxClientPingMs", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxClientPingMs", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Client Ping Duration", - "Category":"POT Server Settings", - "Description":"Sets the period that a player's ping time must be above the Maximum Client Ping Time before being disconnected", - "Keywords":"maximum,client,ping,duration,maxclientpingduration", - "FieldName":"MaxClientPingDuration", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxClientPingDuration", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Server Logout Time", - "Category":"POT Server Settings", - "Description":"Sets the amount of time required to be on the logout menu before a player safe logs. 0 = instant logout", - "Keywords":"logout,time,safe,log,serverlogouttime", - "FieldName":"ServerLogoutTime", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:ServerLogoutTime", - "IncludeInCommandLine":true, - "DefaultValue":"120", - "Placeholder":"120", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Allow Chat", - "Category":"POT Server Settings", - "Description":"If set, enables text chat for the entire server", - "Keywords":"text,chat,bserverallowchat", - "FieldName":"bServerAllowChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAllowChat", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Global Chat", - "Category":"POT Server Settings", - "Description":"If set, enables the global chat channel on the server", - "Keywords":"global,chat,bserverglobalchat", - "FieldName":"bServerGlobalChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerGlobalChat", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Database Location", - "Category":"POT Server Settings", - "Description":"Sets whether to use a local or remote database. Local is recommended unless connecting shared character data between servers is required", - "Keywords":"database", - "FieldName":"Database", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Database", - "IncludeInCommandLine":true, - "DefaultValue":"Local", - "EnumValues":{ - "Local":"Local", - "Remote":"Remote" - } - }, - { - "DisplayName":"Selected Beta Branch", - "Category":"POT Server Settings", - "Description":"Sets which beta branch to install. \"Production\" is recommended. Use [\"Public Test\"](https://alderongames.com/public-test-branch-desktop) at your own risk. NOTE: Update the server after switching branches!", - "Keywords":"beta,branch,branchkey", - "FieldName":"BranchKey", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"BranchKey", - "IncludeInCommandLine":true, - "DefaultValue":"production", - "EnumValues":{ - "production":"Production", - "demo-public-test":"Public Test" - } - }, - { - "DisplayName":"Discord Server", - "Category":"POT Server Settings", - "Description":"Sets the connected community Discord server. Include only the letters/numbers after the discord.gg part of the server invite link", - "Keywords":"discord,server,serverdiscord", - "FieldName":"ServerDiscord", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:ServerDiscord", - "IncludeInCommandLine":true, - "DefaultValue":"", - "Placeholder":"aY5CzgZk", - "EnumValues":{} - }, - { - "DisplayName":"Enable RCON Logging", - "Category":"POT Server Settings", - "Description":"If set, enables RCON logging", - "Keywords":"rcon,logging", - "FieldName":"SourceRCONbLogging", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[SourceRCON]:bLogging", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Failed RCON Login Limit", - "Category":"POT Server Settings", - "Description":"Sets the limit on failed RCON login attempts", - "Keywords":"rcon,login,failed,limit", - "FieldName":"SourceRCONMaxFailedAttempts", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[SourceRCON]:MaxFailedAttempts", - "IncludeInCommandLine":true, - "DefaultValue":"5", - "Placeholder":"5", - "EnumValues":{} - }, - { - "DisplayName":"RCON Login Timeout", - "Category":"POT Server Settings", - "Description":"Sets the maximum time for an RCON login to succeed", - "Keywords":"rcon,login,time,maximum,limit", - "FieldName":"SourceRCONTimeout", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[SourceRCON]:Timeout", - "IncludeInCommandLine":true, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum RCON Logins Per IP", - "Category":"POT Server Settings", - "Description":"Sets the maximum connections to RCON per IP", - "Keywords":"rcon,login,maximum,connections", - "FieldName":"SourceRCONMaxConnectionsPerIP", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[SourceRCON]:MaxConnectionsPerIP", - "IncludeInCommandLine":true, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Server Starting Time", - "Category":"POT Gameplay Settings", - "Description":"Sets the in-game time of day the server begins at after a restart. Examples: 100 = 1:00 AM, 1200 = 12:00 PM, and 1800 = 6:00 PM", - "Keywords":"server,starting,time,restart,serverstartingtime", - "FieldName":"ServerStartingTime", - "InputType":"number", - "MinValue":"0", - "MaxValue":"2400", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameMode]:ServerStartingTime", - "IncludeInCommandLine":true, - "DefaultValue":"1350", - "Placeholder":"1350", - "EnumValues":{} - }, - { - "DisplayName":"Time Of Day Type", - "Category":"POT Gameplay Settings", - "Description":"Sets whether the server uses a fixed or dynamic time of day", - "Keywords":"time,day,fixed,dynamic,bserverdynamictimeofday", - "FieldName":"bServerDynamicTimeOfDay", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameMode]:bServerDynamicTimeOfDay", - "IncludeInCommandLine":true, - "DefaultValue":"1", - "EnumValues":{ - "0":"Fixed", - "1":"Dynamic (default)" - } - }, - { - "DisplayName":"Full Day Cycle Length", - "Category":"POT Gameplay Settings", - "Description":"Sets the length of a full day cycle", - "Keywords":"length,full,day,cycle,serverdaylength", - "FieldName":"ServerDayLength", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameMode]:ServerDayLength", - "IncludeInCommandLine":true, - "DefaultValue":"240", - "Placeholder":"240", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Allow Fish Spawning", - "Category":"POT Gameplay Settings", - "Description":"If set, enables fish spawning", - "Keywords":"fish,spawn,spawning,bserverfish", - "FieldName":"bServerFish", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerFish", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Dinosaur Disabling", - "Category":"POT Gameplay Settings", - "Description":"If desired, all dinosaurs except certain listed dinosaurs can be disabled on the server, by including relevant entries in Game.ini. As per [these instructions](https://github.com/Alderon-Games/pot-community-servers/wiki/Enabling-and-Disabling-Dinosaurs), format is \"AllowedCharacters=DinosaurName\" (don't include quotes or + at the beginning) in the [/Script/PathOfTitans.IGameSession] section. Add the section heading if needed. One dinosaur per line", - "Keywords":"disable,dinosaurs,allowed,characters,allowedcharacters", - "FieldName":"AllowedCharacters", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"AllowedCharacters", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable Water Quality System", - "Category":"POT Gameplay Settings", - "Description":"If set, enables the water quality system", - "Keywords":"water,quality,system,bserverwaterqualitysystem", - "FieldName":"bServerWaterQualitySystem", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerWaterQualitySystem", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Overriding Water Regeneration", - "Category":"POT Gameplay Settings", - "Description":"If set, enables overriding water regeneration. If disabled, the server will use the default values", - "Keywords":"water,override,regeneration,boverridewaterregeneration", - "FieldName":"bOverrideWaterRegeneration", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bOverrideWaterRegeneration", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Water Regeneration", - "Category":"POT Gameplay Settings", - "Description":"If enabled, water will naturally regenerate over time. If disabled, you must ensure water restoration quests are on the servermap, otherwise water will eventually run out", - "Keywords":"water,generation,benablewaterregeneration", - "FieldName":"bEnableWaterRegeneration", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bEnableWaterRegeneration", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Water Regeneration Rate Multiplier Update", - "Category":"POT Gameplay Settings", - "Description":"Sets the water regeneration rate multiplier update", - "Keywords":"water,regeneration,rate,multiplier,update,waterregenerationratemultiplierupdate", - "FieldName":"WaterRegenerationRateMultiplierUpdate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:WaterRegenerationRateMultiplierUpdate", - "IncludeInCommandLine":true, - "DefaultValue":"180", - "Placeholder":"180", - "EnumValues":{} - }, - { - "DisplayName":"Water Regeneration Rate", - "Category":"POT Gameplay Settings", - "Description":"Sets the amount of time before water applies a regeneration amount. Setting this value too low makes the server update water more frequently and can cause lag", - "Keywords":"water,regeneration,rate,waterregenerationrate", - "FieldName":"WaterRegenerationRate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:WaterRegenerationRate", - "IncludeInCommandLine":true, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Water Regeneration Amount", - "Category":"POT Gameplay Settings", - "Description":"Sets the amount of water regenerated every cycle. This scales depending on how large the body of water is", - "Keywords":"water,regeneration,amount,value,waterregenerationvalue", - "FieldName":"WaterRegenerationValue", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:WaterRegenerationValue", - "IncludeInCommandLine":true, - "DefaultValue":"10", - "Placeholder":"10", - "EnumValues":{} - }, - { - "DisplayName":"Water Regeneration Rain Multiplier", - "Category":"POT Gameplay Settings", - "Description":"Sets a multiplier that increases the amount of water restored when it rains", - "Keywords":"water,regeneration,rain,restoration,multiplier,waterrainregenerationincrement", - "FieldName":"WaterRainRegenerationIncrement", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:WaterRainRegenerationIncrement", - "IncludeInCommandLine":true, - "DefaultValue":"20.0", - "Placeholder":"20.0", - "EnumValues":{} - }, - { - "DisplayName":"Enable Waystone Cooldown", - "Category":"POT Gameplay Settings", - "Description":"If set, enables players to spend marks to insta-cooldown Waystones", - "Keywords":"waystone,cooldown,removal,bserverwaystonecooldownremoval", - "FieldName":"bServerWaystoneCooldownRemoval", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerWaystoneCooldownRemoval", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Waystone Cooldown Timer Override", - "Category":"POT Gameplay Settings", - "Description":"Sets the duration of the cooldown timer for Waystones. -1 will use the default cooldown timer", - "Keywords":"waystone,cooldown,timer,overridewaystonecooldown", - "FieldName":"OverrideWaystoneCooldown", - "InputType":"number", - "MinValue":"-1", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:OverrideWaystoneCooldown", - "IncludeInCommandLine":true, - "DefaultValue":"-1", - "Placeholder":"-1", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Quests Required For Completion", - "Category":"POT Gameplay Settings", - "Description":"Sets how many quests must be completed within a POI before it is \"completed\"", - "Keywords":"quests,complete,location,poi,maxcompletequestsinlocation", - "FieldName":"MaxCompleteQuestsInLocation", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxCompleteQuestsInLocation", - "IncludeInCommandLine":true, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Enable Fall Damage", - "Category":"POT Gameplay Settings", - "Description":"If set, enables fall damage for all users on the server", - "Keywords":"fall,damage,bserverfalldamage", - "FieldName":"bServerFallDamage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerFallDamage", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Dead Body Period", - "Category":"POT Gameplay Settings", - "Description":"Sets how long a dead body will persist in the server. 0 = persists forever", - "Keywords":"dead,body,persist,period,serverdeadbodytime", - "FieldName":"ServerDeadBodyTime", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:ServerDeadBodyTime", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Home Caves", - "Category":"POT Gameplay Settings", - "Description":"If set, enables home caves on the server", - "Keywords":"home,caves,bserverhomecaves", - "FieldName":"bServerHomeCaves", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerHomeCaves", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Ability Editing In Home Caves Only", - "Category":"POT Gameplay Settings", - "Description":"If set, players can only edit abilities in their home caves. If disabled, players can edit their abilities anywhere so long as they are sleeping. Recommended to be enabled if Home Caves are enabled", - "Keywords":"home,caves,editing,edit,ability,bservereditabilitiesinhomecaves", - "FieldName":"bServerEditAbilitiesInHomeCaves", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerEditAbilitiesInHomeCaves", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Hatchling Caves Tutorial", - "Category":"POT Gameplay Settings", - "Description":"If set, enables the tutorial Hatchling Caves. Players will spawn in a tutorial area at 0 growth, and completing quests will bring them to 0.3 growth by the time they exit. If disabled, players will spawn in the world at 0.3 growth and completely skip the tutorial", - "Keywords":"hatchling,caves,tutorial,bserverhatchlingcaves", - "FieldName":"bServerHatchlingCaves", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerHatchlingCaves", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Cave Hunger And Thirst", - "Category":"POT Gameplay Settings", - "Description":"If set, enables hunger and thirst in caves. If disabled, dinosaurs will not lose hunger or thirst in caves and will take no damage if they have no food or water", - "Keywords":"hunger,thirst,caves,bserverhungerthirstincaves", - "FieldName":"bServerHungerThirstInCaves", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerHungerThirstInCaves", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Growth", - "Category":"POT Gameplay Settings", - "Description":"If set, enables growth on the server. If disabled, all dinosaurs will spawn as adults, and all existing characters will be bumped up to adult", - "Keywords":"growth,bservergrowth", - "FieldName":"bServerGrowth", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerGrowth", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Additional Passive Growth", - "Category":"POT Gameplay Settings", - "Description":"Adds additional passive growth to all dinosaurs equally. Full growth = 1 so a good value for this might be 0.005, which means a player would take 200 minutes (3.3 hours) to reach adulthood. 0 = passive growth disabled", - "Keywords":"additional,passive,growth,globalpassivegrowthperminute", - "FieldName":"GlobalPassiveGrowthPerMinute", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:GlobalPassiveGrowthPerMinute", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"growth per minute", - "EnumValues":{} - }, - { - "DisplayName":"Quest Completion Growth Multiplier", - "Category":"POT Gameplay Settings", - "Description":"Allows the rate of growth earned by players when they complete quests to be adjusted. 0 = growth from quests disabled", - "Keywords":"growth,quest,completion,multiplier,questgrowthmultiplier", - "FieldName":"QuestGrowthMultiplier", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:QuestGrowthMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Quest Completion Marks Multiplier", - "Category":"POT Gameplay Settings", - "Description":"Sets the multiplier used when rewarding marks for quest completion", - "Keywords":"marks,quest,completion,multiplier,questmarksmultiplier", - "FieldName":"QuestMarksMultiplier", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:QuestMarksMultiplier", - "IncludeInCommandLine":true, - "DefaultValue":"1.0", - "Placeholder":"1.0", - "EnumValues":{} - }, - { - "DisplayName":"Enable Quest Cooldown Timer Override", - "Category":"POT Gameplay Settings", - "Description":"If set, allows the time it takes for a local quest to cooldown after completion to be overridden", - "Keywords":"quest,cooldown,override,boverridelocalquestcooldown", - "FieldName":"bOverrideLocalQuestCooldown", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bOverrideLocalQuestCooldown", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Quest Cooldown Timer", - "Category":"POT Gameplay Settings", - "Description":"Sets the time it takes for a quest to cooldown before it can be completed again", - "Keywords":"quest,cooldown,timer,localquestcooldown", - "FieldName":"LocalQuestCooldown", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:LocalQuestCooldown", - "IncludeInCommandLine":true, - "DefaultValue":"3600", - "Placeholder":"3600", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable POI Completion Reward Timer Override", - "Category":"POT Gameplay Settings", - "Description":"If set, allows the time it takes for the POI completion reward to reset after reaching 100% to be overriden", - "Keywords":"poi,completion,reward,timer,reset,override,boverridelocationquestcooldown", - "FieldName":"bOverrideLocationQuestCooldown", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bOverrideLocationQuestCooldown", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"POI Completion Reward Timer", - "Category":"POT Gameplay Settings", - "Description":"Sets the time it takes for the POI completion reward to reset before it can be completed again", - "Keywords":"poi,completion,reward,timer,locationquestcooldown", - "FieldName":"LocationQuestCooldown", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:LocationQuestCooldown", - "IncludeInCommandLine":true, - "DefaultValue":"3600", - "Placeholder":"3600", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Rewards Limit", - "Category":"POT Gameplay Settings", - "Description":"If set, rewards will be limited to the amount set under Rewards Limit", - "Keywords":"rewards,limit,maximum,benablemaxunclaimedrewards", - "FieldName":"bEnableMaxUnclaimedRewards", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bEnableMaxUnclaimedRewards", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Rewards Limit", - "Category":"POT Gameplay Settings", - "Description":"Sets the maximum amount of rewards allowed. Requires Enable Rewards Limit to be set", - "Keywords":"rewards,limit,maximum,maxunclaimedrewards", - "FieldName":"MaxUnclaimedRewards", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxUnclaimedRewards", - "IncludeInCommandLine":true, - "DefaultValue":"", - "Placeholder":"", - "Suffix":"rewards", - "EnumValues":{} - }, - { - "DisplayName":"Enable Quest Loss On Death", - "Category":"POT Gameplay Settings", - "Description":"If enabled, unclaimed quests will be lost on death", - "Keywords":"unclaimed,quest,loss,death,bloseunclaimedquestsondeath", - "FieldName":"bLoseUnclaimedQuestsOnDeath", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bLoseUnclaimedQuestsOnDeath", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Item Collection Within POI Only", - "Category":"POT Gameplay Settings", - "Description":"If set, items must be collected within a POI", - "Keywords":"item,collection,collect,poi,bmustcollectitemswithinpoi", - "FieldName":"bMustCollectItemsWithinPOI", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bMustCollectItemsWithinPOI", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Growth Loss", - "Category":"POT Gameplay Settings", - "Description":"If set, allows players to lose growth past juvenile/adolescent/sub-adult/adult growth states when they die", - "Keywords":"growth,loss,lose,past,stages,blosegrowthpastgrowthstages", - "FieldName":"bLoseGrowthPastGrowthStages", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bLoseGrowthPastGrowthStages", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Marks Loss On Combat Death", - "Category":"POT Gameplay Settings", - "Description":"Sets the percentage of total marks a player will lose when they die from combat", - "Keywords":"combat,marks,loss,death,penalty,percent,combatdeathmarkspenaltypercent", - "FieldName":"CombatDeathMarksPenaltyPercent", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:CombatDeathMarksPenaltyPercent", - "IncludeInCommandLine":true, - "DefaultValue":"25", - "Placeholder":"25", - "Suffix":"%", - "EnumValues":{} - }, - { - "DisplayName":"Growth Loss On Combat Death", - "Category":"POT Gameplay Settings", - "Description":"Sets the percentage of growth a player will lose when they die from combat", - "Keywords":"combat,growth,loss,death,penalty,percent,combatdeathgrowthpenaltypercent", - "FieldName":"CombatDeathGrowthPenaltyPercent", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:CombatDeathGrowthPenaltyPercent", - "IncludeInCommandLine":true, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"%", - "EnumValues":{} - }, - { - "DisplayName":"Marks Loss On Fall Death", - "Category":"POT Gameplay Settings", - "Description":"Sets the percentage of total marks a player will lose when they die from fall damage", - "Keywords":"fall,damage,marks,loss,death,penalty,percent,falldeathmarkspenaltypercent", - "FieldName":"FallDeathMarksPenaltyPercent", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:FallDeathMarksPenaltyPercent", - "IncludeInCommandLine":true, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"%", - "EnumValues":{} - }, - { - "DisplayName":"Growth Loss On Fall Death", - "Category":"POT Gameplay Settings", - "Description":"Sets the percentage of growth a player will lose when they die from fall damage", - "Keywords":"fall,damage,growth,loss,death,penalty,percent,falldeathgrowthpenaltypercent", - "FieldName":"FallDeathGrowthPenaltyPercent", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:FallDeathGrowthPenaltyPercent", - "IncludeInCommandLine":true, - "DefaultValue":"2", - "Placeholder":"2", - "Suffix":"%", - "EnumValues":{} - }, - { - "DisplayName":"Marks Loss On Survival Death", - "Category":"POT Gameplay Settings", - "Description":"Sets the percentage of total marks a player will lose when they die from starvation, thirst or drowning", - "Keywords":"starvation,thirst,drowning,marks,loss,death,penalty,percent,survivaldeathmarkspenaltypercent", - "FieldName":"SurvivalDeathMarksPenaltyPercent", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:SurvivalDeathMarksPenaltyPercent", - "IncludeInCommandLine":true, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"%", - "EnumValues":{} - }, - { - "DisplayName":"Growth Loss On Survival Death", - "Category":"POT Gameplay Settings", - "Description":"Sets the percentage of growth a player will lose when they die from starvation, thirst or drowning", - "Keywords":"starvation,thirst,drowning,growth,loss,death,penalty,percent,survivaldeathgrowthpenaltypercent", - "FieldName":"SurvivalDeathGrowthPenaltyPercent", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:SurvivalDeathGrowthPenaltyPercent", - "IncludeInCommandLine":true, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"%", - "EnumValues":{} - }, - { - "DisplayName":"Enable Anti-Revenge Kill Lockout", - "Category":"POT Gameplay Settings", - "Description":"If enabled, when a player is killed, any of their other characters within a certain radius are flagged with a 10 minute timer, which prevents those specific characters from logging back in right away. Currently only works with remote databases, for hived servers", - "Keywords":"anti,revenge,kill,lockout,bserverantirevengekill", - "FieldName":"bServerAntiRevengeKill", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerAntiRevengeKill", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Anti-Revenge Kill Lockout Radius", - "Category":"POT Gameplay Settings", - "Description":"Sets the radius of the Anti-Revenge Kill Lockout distance", - "Keywords":"anti,revenge,kill,lockout,radius,distance,revengekilldistance", - "FieldName":"RevengeKillDistance", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:RevengeKillDistance", - "IncludeInCommandLine":true, - "DefaultValue":"100000", - "Placeholder":"100000", - "Suffix":"centimetres", - "EnumValues":{} - }, - { - "DisplayName":"Speed Hack Detection Action", - "Category":"POT Gameplay Settings", - "Description":"Sets the action taken when speed hacks are detected. A PlayerHack webhook will also be sent for the log, kick and ban actions", - "Keywords":"speed,hack,detection,action,speedhackdetection", - "FieldName":"SpeedhackDetection", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:SpeedhackDetection", - "IncludeInCommandLine":true, - "DefaultValue":"1", - "EnumValues":{ - "0":"No action", - "1":"Log (default)", - "2":"Kick", - "3":"Ban" - } - }, - { - "DisplayName":"Speed Hack Detection Threshold", - "Category":"POT Gameplay Settings", - "Description":"Sets the amount of speedhack detections that will be allowed per minute before the Speed Hack Detection Action is taken. Helps to minimise false positives due to packet loss or lag. 0 = disabled", - "Keywords":"speed,hack,detection,threshold,speedhackthreshold", - "FieldName":"SpeedhackThreshold", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:SpeedhackThreshold", - "IncludeInCommandLine":true, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"per minute", - "EnumValues":{} - }, - { - "DisplayName":"Restrict Carnivore Grouping", - "Category":"POT Gameplay Settings", - "Description":"If enabled, the server will restrict carnivore grouping to the same species", - "Keywords":"carnivore,grouping,species,bserverrestrictcarnivoregrouping", - "FieldName":"bServerRestrictCarnivoreGrouping", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:bServerRestrictCarnivoreGrouping", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Group Communication Distance", - "Category":"POT Gameplay Settings", - "Description":"Sets the distance for players to be able to see their other group members", - "Keywords":"player,group,distance,communication,maxgroupleadercommunicationdistance", - "FieldName":"MaxGroupLeaderCommunicationDistance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/PathOfTitans.IGameSession]:MaxGroupLeaderCommunicationDistance", - "IncludeInCommandLine":true, - "DefaultValue":"50000", - "Placeholder":"50000", - "Suffix":"metres", - "EnumValues":{} - } -] diff --git a/path-of-titansmetaconfig.json b/path-of-titansmetaconfig.json deleted file mode 100644 index db9e57769..000000000 --- a/path-of-titansmetaconfig.json +++ /dev/null @@ -1,40 +0,0 @@ -[ - { - "ConfigFile":"PathOfTitans/Saved/Config/WindowsServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"PathOfTitans/Saved/Config/LinuxServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"PathOfTitans/Saved/MOTD.txt", - "ConfigType":"kvp", - "ConfigFormat":"{0}{1}", - "Subsections":[ - { - "Heading":"$root", - "SettingMappings":{ - "":"MOTD" - } - } - ] - }, - { - "ConfigFile":"PathOfTitans/Saved/Rules.txt", - "ConfigType":"kvp", - "ConfigFormat":"{0}{1}", - "Subsections":[ - { - "Heading":"$root", - "SettingMappings":{ - "":"Rules" - } - } - ] - } -] diff --git a/path-of-titansupdates.json b/path-of-titansupdates.json deleted file mode 100644 index dcacaeaba..000000000 --- a/path-of-titansupdates.json +++ /dev/null @@ -1,84 +0,0 @@ -[ - { - "UpdateStageName":"AlderonGamesCmd Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://launcher-cdn.alderongames.com/AlderonGamesCmd-Win64.exe", - "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"AlderonGamesCmd Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://launcher-cdn.alderongames.com/AlderonGamesCmd-Linux-x64", - "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Make AlderonGamesCmd Executable", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"SetExecutableFlag", - "UpdateSourceArgs":"{{$FullInstanceDir}}AlderonGamesCmd-Linux-x64" - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"{{$FullInstanceDir}}AlderonGamesCmd-Win64.exe", - "UpdateSourceArgs":"--game path-of-titans --server true --beta-branch {{BranchKey}} --auth-token {{AuthToken}} --install-dir {{$FullRootDir}}" - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c '{{$FullInstanceDir}}AlderonGamesCmd-Linux-x64 --game path-of-titans --server true --beta-branch {{BranchKey}} --auth-token {{AuthToken}} --install-dir {{$FullRootDir}} && chmod u+x {{$FullBaseDir}}PathOfTitans/Binaries/Linux/PathOfTitansServer-Linux-Shipping'" - }, - { - "UpdateStageName":"Create Saved Directory", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/WindowsServer", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Saved Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/LinuxServer", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Game.ini", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"CreateFile", - "UpdateSourceData":"", - "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/WindowsServer/Game.ini", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Game.ini", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateFile", - "UpdateSourceData":"", - "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/LinuxServer/Game.ini", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Commands.ini", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"CreateFile", - "UpdateSourceData":"", - "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/WindowsServer/Commands.ini", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Commands.ini", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateFile", - "UpdateSourceData":"", - "UpdateSourceArgs":"{{$FullBaseDir}}PathOfTitans/Saved/Config/LinuxServer/Commands.ini", - "OverwriteExistingFiles":false - } -] diff --git a/pavlov-vr.kvp b/pavlov-vr.kvp deleted file mode 100755 index 37759f984..000000000 --- a/pavlov-vr.kvp +++ /dev/null @@ -1,98 +0,0 @@ -Meta.DisplayName=Pavlov VR -Meta.Description=Pavlov VR Dedicated Server -Meta.OS=Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://pavlov-vr.com -Meta.DisplayImageSource=steam:555160 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=pavlov-vrconfig.json -Meta.MetaConfigManifest=pavlov-vrmetaconfig.json -Meta.ConfigRoot=pavlov-vr.kvp -Meta.MinAMPVersion=2.4.3.6 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -Meta.ConfigVersion=0.0.0.0 -Meta.ReleaseNotes= -Meta.BreakingReleaseNotes= -App.DisplayName=Pavlov VR -App.RootDir=./pavlovserver/ -App.BaseDirectory=./pavlovserver/622970/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin= -App.ExecutableLinux=622970/Pavlov/Binaries/Linux/PavlovServer-Linux-Shipping -App.WorkingDir=622970 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=Pavlov -PORT={{$ApplicationPort1}} {{$FormattedArgs}} -stdout -forcelogflush -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"555160"} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=SIGTERM -App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=app_exit.lck -App.HasWriteableConsole=False -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Port":7777,"Ref":"ApplicationPort1","Name":"Main Game Port","Description":"Main port for game traffic"},{"Protocol":"Both","Port":8177,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Secondary Game Port","Description":"Secondary port for game traffic"},{"Protocol":"TCP","Port":9100,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=ApplicationPort1 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=ApplicationPort2 -App.MaxUsers=10 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=True -App.RemoteAdminPassword= -App.AdminMethod=TelnetRCON -App.AdminLoginTransform=MD5_Lower -App.LoginTransformPrefix= -App.RCONConnectDelaySeconds=0 -App.RCONConnectRetrySeconds=5 -App.RCONHeartbeatMinutes=0 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[pavlov-vrupdates.json] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=False -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex=(\[0m|\[33m) -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|.*PavlovOnlineLog: Warning: \[EOS\] Failed to copy IdToken$ -Console.AppReadyRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\](LogGameState|LogGameMode: Display): Match State Changed from WaitingToStart to InProgress$ -Console.UserJoinRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]PavlovLog: Player (?<userid>.+?) Joined, current bot Num = \d+$ -Console.UserLeaveRegex=^\[[\d.]+-[\d.]+:\d+\]\[[\d ]+\]LogNet: UChannel::Close: Sending CloseBunch\. (?:.*?) UniqueId: NULL:(?<userid>.+?)$ -Console.UserChatRegex=^$ -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 diff --git a/pavlov-vrconfig.json b/pavlov-vrconfig.json deleted file mode 100755 index c8f5e28fd..000000000 --- a/pavlov-vrconfig.json +++ /dev/null @@ -1,300 +0,0 @@ -[ - { - "DisplayName": "Server Name", - "Category": "Server Settings", - "Description": "Sets the server name visible in the server list. Maximum 35 characters (approx)", - "Keywords": "server,name,servername", - "FieldName": "ServerName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.ServerName", - "IncludeInCommandLine": false, - "DefaultValue": "Pavlov VR Server - Powered by AMP", - "EnumValues": {} - }, - { - "DisplayName": "Include In Server List", - "Category": "Server Settings", - "Description": "", - "Keywords": "", - "FieldName": "bEnabled", - "InputType": "text", - "Hidden": true, - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.bEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": {} - }, - { - "DisplayName": "API Key", - "Category": "Server Settings", - "Description": "Sets a unique API key to allow the server to appear in the server list. [Get your API key](https://pavlov-ms.vankrupt.com/servers/v1/key)", - "Keywords": "api,key,apikey", - "FieldName": "ApiKey", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.ApiKey", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Server Password", - "Category": "Server Settings", - "Description": "Sets a four digit PIN to connect to the server. NOTE: Change this after installing the server", - "Keywords": "password,pin", - "FieldName": "Password", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.Password", - "IncludeInCommandLine": false, - "DefaultValue": "{{randomdigits(4)}}", - "EnumValues": {} - }, - { - "DisplayName": "RCON Password", - "Category": "Server Settings", - "Description": "See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords": "rcon,password", - "FieldName": "RCONPassword", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "RCONPassword", - "IncludeInCommandLine": false, - "EnumValues":{} - }, - { - "DisplayName": "Enable Valve Anti-Cheat (Steam VAC)", - "Category": "Server Settings", - "Description": "", - "Keywords": "anti-cheat,vac,cheat,bsecured", - "FieldName": "bSecured", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.bSecured", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Enable Custom Server", - "Category": "Server Settings", - "Description": "If enabled, activates new modding tools. Required for blacklist functionality", - "Keywords": "custom,bcustomserver", - "FieldName": "bCustomServer", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.bCustomServer", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Enable Competitive Mode", - "Category": "Server Settings", - "Description": "If enabled, sets the server to competitive mode for SND", - "Keywords": "competitive,bcompetitive", - "FieldName": "bCompetitive", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.bCompetitive", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Player Limit", - "Category": "Server Settings", - "Description": "Sets the maximum number of players that may connect to the server. No more than 20 to 24 recommended for large maps", - "Keywords": "players,limit,maxplayers", - "FieldName": "$MaxUsers", - "InputType": "number", - "MinValue":"1", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.MaxPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "Placeholder": "10", - "Suffix": "players", - "EnumValues": {} - }, - { - "DisplayName": "Enable Whitelist", - "Category": "Server Settings", - "Description": "If enabled, only whitelisted players can join", - "Keywords": "whitelist,bwhitelist", - "FieldName": "bWhitelist", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.bWhitelist", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Whitelisted Players", - "Category": "Server Settings", - "Description": "List of [Steam64 IDs](https://steamidfinder.com/) for whitelisted players", - "Keywords": "whitelist", - "FieldName": "whitelist", - "InputType": "list", - "IsFlagArgument": false, - "ParamFieldName": "whitelist", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Special": "listfile:./pavlovserver/622970/Pavlov/Saved/Config/whitelist.txt", - "EnumValues": {} - }, - { - "DisplayName": "Blacklisted Players", - "Category": "Server Settings", - "Description": "List of [Steam64 IDs](https://steamidfinder.com/) for blacklisted players", - "Keywords": "blacklist,banned", - "FieldName": "blacklist", - "InputType": "list", - "IsFlagArgument": false, - "ParamFieldName": "blacklist", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Special": "listfile:./pavlovserver/622970/Pavlov/Saved/Config/blacklist.txt", - "EnumValues": {} - }, - { - "DisplayName": "Server Moderators", - "Category": "Server Settings", - "Description": "List of [Steam64 IDs](https://steamidfinder.com/) for server moderators/admins (functionality may currently be limited)", - "Keywords": "moderators,admins,mods", - "FieldName": "mods", - "InputType": "list", - "IsFlagArgument": false, - "ParamFieldName": "mods", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Special": "listfile:./pavlovserver/622970/Pavlov/Saved/Config/mods.txt", - "EnumValues": {} - }, - { - "DisplayName": "Refresh Interval", - "Category": "Server Settings", - "Description": "Sets how often the server checks for updates in whitelist/blacklist/modlist", - "Keywords": "refresh,list,refreshlisttime", - "FieldName": "RefreshListTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.RefreshListTime", - "IncludeInCommandLine": false, - "DefaultValue": "120", - "Suffix": "seconds", - "EnumValues": {} - }, - { - "DisplayName": "Server Tick Rate", - "Category": "Server Settings", - "Description": "Sets the server tickrate. Between 50 and 120 is most stable", - "Keywords": "tick,rate,tickrate", - "FieldName": "TickRate", - "InputType": "number", - "MinValue":"1", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.TickRate", - "IncludeInCommandLine": false, - "DefaultValue": "90", - "Placeholder": "90", - "EnumValues": {} - }, - { - "DisplayName": "Map Time Limit", - "Category": "Server Settings", - "Description": "Sets the time limit for each map", - "Keywords": "map,time,limit,timelimit", - "FieldName": "TimeLimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.TimeLimit", - "IncludeInCommandLine": false, - "DefaultValue": "60", - "Placeholder": "60", - "EnumValues": {} - }, - { - "DisplayName": "Balance Table URL", - "Category": "Server Settings", - "Description": "Reference for custom balance table on GitHub. [Follow the instructions](https://github.com/vankruptgames/BalancingTable) to create your own. Note: You may need to use the Beta_5.1 branch on GitHub for server builds based on Unity 5", - "Keywords": "balance,table,URL,balancetableurl", - "FieldName": "BalanceTableURL", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.BalanceTableURL", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "vankruptgames/BalancingTable/main", - "EnumValues": {} - }, - { - "DisplayName": "Limited Ammo Mode", - "Category": "Server Settings", - "Description": "", - "Keywords": "limited,ammo,limitedammotype", - "FieldName": "LimitedAmmoType", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.LimitedAmmoType", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "0": "Unlimited", - "1": "Limited Generic", - "2": "Limited Specific", - "3": "Custom (for modders)", - "4": "Limited Special", - "5": "Boxless Mode" - } - }, - { - "DisplayName": "Enable Verbose Logging", - "Category": "Server Settings", - "Description": "If enabled, logging will be significantly increased, mostly with detailed statistics", - "Keywords": "verbose,logging,statistics,bverboselogging", - "FieldName": "bVerboseLogging", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/Script/Pavlov.DedicatedServer.bVerboseLogging", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Server Release Version", - "Category": "SteamCMD and Updates", - "Description": "Sets the server release version to install. NOTE: Update the server after changing this setting!", - "Keywords": "server,version,pc,shack,beta,rc", - "FieldName": "ServerVersion", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "", - "IncludeInCommandLine": false, - "DefaultValue": "public", - "EnumValues": { - "public": "PC Server (Non-Beta)", - "beta_server": "PC Beta", - "shack": "Shack Live (Quest)", - "shack_beta": "Shack RC (Quest)" - } - } -] diff --git a/pavlov-vrconfigfile.ini b/pavlov-vrconfigfile.ini deleted file mode 100755 index 6caad6e40..000000000 --- a/pavlov-vrconfigfile.ini +++ /dev/null @@ -1,19 +0,0 @@ -[/Script/Pavlov.DedicatedServer] -bEnabled=true -ServerName=Pavlov VR Server - Powered by AMP -MaxPlayers=10 -ApiKey= -bSecured=true -bCustomServer=true -bVerboseLogging=false -bCompetitive=false -bWhitelist=false -RefreshListTime=120 -LimitedAmmoType=0 -TickRate=90 -TimeLimit=60 -Password=0000 -BalanceTableURL= -#MapRotation=(MapId="UGC1758245796", GameMode="GUN") -#MapRotation=(MapId="datacenter", GameMode="SND") -#MapRotation=(MapId="sand", GameMode="DM") diff --git a/pavlov-vrmetaconfig.json b/pavlov-vrmetaconfig.json deleted file mode 100755 index 40dd8ed2b..000000000 --- a/pavlov-vrmetaconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -[ - { - "ConfigFile": "Pavlov/Saved/Config/LinuxServer/Game.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile": "Pavlov/Saved/Config/RconSettings.txt", - "ConfigType": "kvp", - "ConfigFormat": "{0}={1}", - "Subsections": [ - { - "Heading": "$root", - "SettingMappings": { - "Password" : "$RemoteAdminPassword", - "Port" : "$RemoteAdminPort" - } - } - ] - } -] diff --git a/pavlov-vrupdates.json b/pavlov-vrupdates.json deleted file mode 100755 index 2050117c7..000000000 --- a/pavlov-vrupdates.json +++ /dev/null @@ -1,47 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"622970", - "UpdateSourceArgs":"555160", - "UpdateSourceVersion":"{{ServerVersion}}" - }, - { - "UpdateStageName":"Create Logs Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/Logs", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Config Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/Config/LinuxServer", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Maps Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}Pavlov/Saved/maps", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Config File Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/pavlov-vrconfigfile.ini", - "UpdateSourceArgs":"Game.ini", - "UpdateSourceTarget":"{{$FullBaseDir}}Pavlov/Saved/Config/LinuxServer", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Shared Library Symlink Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/ln", - "UpdateSourceArgs":"-sf /usr/lib/x86_64-linux-gnu/libc++.so.1 \"{{$FullBaseDir}}linux64/libc++.so\"" - } -] diff --git a/portal-knights.kvp b/portal-knights.kvp deleted file mode 100644 index 394dc3268..000000000 --- a/portal-knights.kvp +++ /dev/null @@ -1,84 +0,0 @@ -Meta.DisplayName=Portal Knights -Meta.Description=Portal Knights Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=IceOfWraith -Meta.URL=https://store.steampowered.com/app/374040/Portal_Knights/ -Meta.DisplayImageSource=steam:374040 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=portal-knightsconfig.json -Meta.MetaConfigManifest=portal-knightsmetaconfig.json -Meta.ConfigRoot=portal-knights.kvp -Meta.MinAMPVersion= -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Portal Knights -App.RootDir=./portal-knights/ -App.BaseDirectory=./portal-knights/374040/ -App.ExecutableWin=374040\pk_dedicated_server.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=374040 -App.LinuxCommandLineArgs=-a wine "./pk_dedicated_server.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -config "{{$FullBaseDir}}server_config.json" -log Server.log -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"374040","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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":2,"Port":28001,"Offset":0,"Range":1,"Ref":"GamePort","Name":"Game Port","Description":"Main game port","ChildPorts":null}] -App.AdminPortRef= -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef= -App.UniversalSleepSteamQueryPortRef= -App.MaxUsers=4 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "374040","UpdateSourceArgs":"374040", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Windows", "UpdateSource": "Executable", "UpdateSourceData": "cmd.exe", "UpdateSourceArgs": "/C cd portal-knights\\374040 && tar -xf dedicated_server.zip"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", "UpdateSourceArgs": "-c 'cd portal-knights/374040 && unzip -u dedicated_server.zip'"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/portal-knightsserver_config.json","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceArgs":"server_config.json","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=3000 -App.MonitorChildProcessName=wine64 -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^.*\'ReadyToServe\'\:\:Execute .*$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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/portal-knightsconfig.json b/portal-knightsconfig.json deleted file mode 100644 index b4aed9961..000000000 --- a/portal-knightsconfig.json +++ /dev/null @@ -1,438 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"PK - Server Settings", - "Description":"The name that your dedicated server will display.", - "Keywords":"server,name", - "FieldName":"name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.basicServerData.name", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Portal Knights Server", - "EnumValues":{} - }, - { - "DisplayName":"Game IP", - "Category":"PK - Server Settings", - "Description":"The local network IP address of your dedicated server. The address 0.0.0.0 allows the host computer to listen to all local network traffic. You probably won't need to change this unless you're setting up your server to work on a specific network card or interface.", - "Keywords":"", - "FieldName":"$ApplicationIPBinding", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"$.basicServerData.ipv4", - "IncludeInCommandLine":false - }, - { - "DisplayName":"Game Port", - "Category":"PK - Server Settings", - "Description":"The port for the dedicated server.", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"$.basicServerData.port", - "IncludeInCommandLine":false - }, - { - "DisplayName":"Save Folder Path", - "Category":"PK - Server Settings", - "Description":"This is the location where save data will be written.", - "Keywords":"Save,folder,path", - "FieldName":"saveFolderPath", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.basicServerData.saveFolderPath", - "IncludeInCommandLine":false, - "DefaultValue":"./savedata" - }, - { - "DisplayName":"Gameplay Mode", - "Category":"PK - Server Settings", - "Description":"The game play mode for the dedicated server.", - "Keywords":"gameplay,Mode", - "FieldName":"gameplayMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"$.gameplayMode", - "IncludeInCommandLine":false, - "DefaultValue":"Adventure", - "EnumValues":{ - "Adventure": "Adventure", - "Creative": "Creative" - } - }, - { - "DisplayName":"Universe Size", - "Category":"PK - Server Settings", - "Description":"The universe size for the dedicated server.", - "Keywords":"universe,Size", - "FieldName":"universeSize", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"$.universeSize", - "IncludeInCommandLine":false, - "DefaultValue":"Normal", - "EnumValues":{ - "Small": "Normal", - "Normal": "Large", - "Large": "Huge" - } - }, - { - "DisplayName":"Universe ID", - "Category":"PK - Server Settings", - "Description":"The world slot used when accessing this dedicated server.", - "Keywords":"universe,Id", - "FieldName":"universeId", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.universeId", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Hide Console Window", - "Category":"PK - Server Settings", - "Description":"This will hide the console window and break the console in AMP if changed.", - "Keywords":"", - "FieldName":"hideConsoleWindow", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.hideConsoleWindow", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{}, - "Hidden": true - }, - { - "DisplayName":"Admin Password", - "Category":"PK - Server Settings", - "Description":"Choose the password used to access your dedicated server by the Admin user group.", - "Keywords":"admin,password", - "FieldName":"adminscredentialspassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"$.admins.credentials.password", - "IncludeInCommandLine":false, - "DefaultValue":"{{newguid()}}", - "EnumValues":{} - }, - { - "DisplayName":"Admin Can Login", - "Category":"PK - Server Settings", - "Description":"Defines whether Admins can log in.", - "Keywords":"admin,Login", - "FieldName":"adminscanLogin", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.admins.canLogin", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Admin Can Kick Players", - "Category":"PK - Server Settings", - "Description":"Defines whether Admins can kick other players from the server.", - "Keywords":"admin,Kick,Players", - "FieldName":"adminscanKickPlayers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.admins.canKickPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Admin Can Modify World", - "Category":"PK - Server Settings", - "Description":"Defines whether Admins can mine/build blocks/props.", - "Keywords":"admin,Modify,World", - "FieldName":"adminscanModifyWorld", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.admins.canModifyWorld", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Admin Can Interact With Crafting Stations", - "Category":"PK - Server Settings", - "Description":"Defines whether Admins can interact with crafting stations.", - "Keywords":"admin,Interact,Crafting,Stations", - "FieldName":"adminscanInteractWithCraftingStations", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.admins.canInteractWithCraftingStations", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Admin Can Interact With Chests", - "Category":"PK - Server Settings", - "Description":"Defines whether Admins can interact with chests. Should be used together with \"Admin Can Modify World\" in order to also prevent mining of chests.", - "Keywords":"admin,Interact,Chests", - "FieldName":"adminscanInteractWithChests", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.admins.canInteractWithChests", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Admin Can Interact With NPCs", - "Category":"PK - Server Settings", - "Description":"Defines whether Admins can interact with NPCs.", - "Keywords":"admin,Interact,NPCs", - "FieldName":"adminscanInteractWithNPCs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.admins.canInteractWithNPCs", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"User Password", - "Category":"PK - Server Settings", - "Description":"Choose the password used to access your dedicated server by the User user group.", - "Keywords":"user,password", - "FieldName":"userscredentialspassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"$.users.credentials.password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"User Can Login", - "Category":"PK - Server Settings", - "Description":"Defines whether Users can log in.", - "Keywords":"users,Login", - "FieldName":"userscanLogin", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.users.canLogin", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"User Can Kick Players", - "Category":"PK - Server Settings", - "Description":"Defines whether Users can kick other players from the server.", - "Keywords":"users,Kick,Players", - "FieldName":"userscanKickPlayers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.users.canKickPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"User Can Modify World", - "Category":"PK - Server Settings", - "Description":"Defines whether Users can mine/build blocks/props.", - "Keywords":"users,Modify,World", - "FieldName":"userscanModifyWorld", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.users.canModifyWorld", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"User Can Interact With Crafting Stations", - "Category":"PK - Server Settings", - "Description":"Defines whether Users can interact with crafting stations.", - "Keywords":"users,Interact,Crafting,Stations", - "FieldName":"userscanInteractWithCraftingStations", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.users.canInteractWithCraftingStations", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"User Can Interact With Chests", - "Category":"PK - Server Settings", - "Description":"Defines whether Users can interact with chests. Should be used together with \"User Can Modify World\" in order to also prevent mining of chests.", - "Keywords":"users,Interact,Chests", - "FieldName":"userscanInteractWithChests", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.users.canInteractWithChests", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"User Can Interact With NPCs", - "Category":"PK - Server Settings", - "Description":"Defines whether Users can interact with NPCs.", - "Keywords":"users,Interact,NPCs", - "FieldName":"userscanInteractWithNPCs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.users.canInteractWithNPCs", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Guest Password", - "Category":"PK - Server Settings", - "Description":"Choose the password used to access your dedicated server by the Guest user group.", - "Keywords":"guests,password", - "FieldName":"guestscredentialspassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"$.guests.credentials.password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Guest Can Login", - "Category":"PK - Server Settings", - "Description":"Defines whether Guests can log in.", - "Keywords":"guests,Login", - "FieldName":"guestscanLogin", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.guests.canLogin", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Guest Can Kick Players", - "Category":"PK - Server Settings", - "Description":"Defines whether Guests can kick other players from the server.", - "Keywords":"guests,Kick,Players", - "FieldName":"guestscanKickPlayers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.guests.canKickPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Guest Can Modify World", - "Category":"PK - Server Settings", - "Description":"Defines whether Guests can mine/build blocks/props.", - "Keywords":"guests,Modify,World", - "FieldName":"guestscanModifyWorld", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.guests.canModifyWorld", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Guest Can Interact With Crafting Stations", - "Category":"PK - Server Settings", - "Description":"Defines whether Guests can interact with crafting stations.", - "Keywords":"guests,Interact,Crafting,Stations", - "FieldName":"guestscanInteractWithCraftingStations", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.guests.canInteractWithCraftingStations", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Guest Can Interact With Chests", - "Category":"PK - Server Settings", - "Description":"Defines whether Guests can interact with chests. Should be used together with \"Guest Can Modify World\" enabled in order to also prevent mining of chests.", - "Keywords":"guests,Interact,Chests", - "FieldName":"guestscanInteractWithChests", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.guests.canInteractWithChests", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Guest Can Interact With NPCs", - "Category":"PK - Server Settings", - "Description":"Defines whether Guests can interact with NPCs.", - "Keywords":"guests,Interact,NPCs", - "FieldName":"guestscanInteractWithNPCs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.guests.canInteractWithNPCs", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True": "true", - "False": "false" - } - } -] \ No newline at end of file diff --git a/portal-knightsmetaconfig.json b/portal-knightsmetaconfig.json deleted file mode 100644 index a1480ebeb..000000000 --- a/portal-knightsmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile": "server_config.json", - "AutoMap": true, - "ConfigType": "json" - } -] \ No newline at end of file diff --git a/portal-knightsserver_config.json b/portal-knightsserver_config.json deleted file mode 100644 index e0982595b..000000000 --- a/portal-knightsserver_config.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "basicServerData": { - "name": "AMP Powered Portal Knights Server", - "ipv4": "0.0.0.0", - "port": 28001, - "saveFolderPath": "./savedata" - }, - "gameplayMode": "Adventure", - "universeSize": "Normal", - "universeId": 0, - "hideConsoleWindow": false, - "admins": { - "credentials": { - "password": "admin_password_please_change" - }, - "canLogin": true, - "canKickPlayers": true, - "canModifyWorld": true, - "canInteractWithCraftingStations": true, - "canInteractWithChests": true, - "canInteractWithNPCs": true - }, - "users": { - "credentials": { - "password": "" - }, - "canLogin": true, - "canKickPlayers": false, - "canModifyWorld": true, - "canInteractWithCraftingStations": true, - "canInteractWithChests": true, - "canInteractWithNPCs": true - }, - "guests": { - "credentials": { - "password": "" - }, - "canLogin": false, - "canKickPlayers": false, - "canModifyWorld": false, - "canInteractWithCraftingStations": false, - "canInteractWithChests": false, - "canInteractWithNPCs": false - } - } \ No newline at end of file diff --git a/post-scriptum.kvp b/post-scriptum.kvp deleted file mode 100644 index 8dd4e76fd..000000000 --- a/post-scriptum.kvp +++ /dev/null @@ -1,88 +0,0 @@ -Meta.DisplayName=Post Scriptum -Meta.Description=Post Scriptum Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=Southnode -Meta.URL=http://postscriptumgame.com/ -Meta.DisplayImageSource=steam:736220 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=post-scriptumconfig.json -Meta.MetaConfigManifest=post-scriptummetaconfig.json -Meta.ConfigRoot=post-scriptum.kvp -Meta.MinAMPVersion=2.4.3.2 -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Post Scriptum -App.RootDir=./post-scriptum-server/ -App.BaseDirectory=./post-scriptum-server/746200/ -App.SteamWorkshopDownloadLocation={{$FullBaseDir}}PostScriptum/Plugins/Mods -App.ExecutableWin=746200\PostScriptum\Binaries\Win64\PostScriptumServer.exe -App.ExecutableLinux=746200/PostScriptum/Binaries/Linux/PostScriptumServer -App.WorkingDir=746200 -App.CommandLineArgs=MULTIHOME={{$ApplicationIPBinding}} Port={{$GamePort}} QueryPort={{$QueryPort}} RCONPORT={{$RCONPort}} RCONPASSWORD={{$RemoteAdminPassword}} FIXEDMAXTICKRATE={{MaxTPS}} RANDOM={{MapRandom}} -log -fullcrashdump -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"736220"} -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":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27025,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":25575,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.AdminPortRef=RCONPort -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPort=GamePort -App.UniversalSleepSteamQueryPort=QueryPort -App.MaxUsers=80 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=True -App.RemoteAdminPassword= -App.AdminMethod=SourceRCON -App.AdminLoginTransform=None -App.LoginTransformPrefix= -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=60 -App.RCONHeartbeatMinutes=0 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"746200","UpdateSourceArgs":"736220"}] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=False -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^(LogInit: Display: Starting Game\.)|(LogOnline: GotoState: NewState: Playing)$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^\[Chat.*\] \[SteamID\:(?<userid>-?\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=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 \ No newline at end of file diff --git a/post-scriptumconfig.json b/post-scriptumconfig.json deleted file mode 100644 index 1484d9a16..000000000 --- a/post-scriptumconfig.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - { - "DisplayName":"RCON Password", - "Category":"Server Config", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password", - "FieldName":"RCONPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RCONPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName": "Server Name", - "Category": "Server Config", - "Description": "Set the Name for the server in the Server Browser", - "Keywords": "server name, name", - "FieldName": "ServerName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "ServerName", - "IncludeInCommandLine": false, - "DefaultValue": "A new Post Scriptum Server!" - }, - { - "DisplayName": "Max Players", - "Category": "Server Config", - "Description": "Set the max players allowed on the server (minus reserved slots)", - "Keywords": "max players, players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaxPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "80", - "Suffix":"players", - "MinValue":"1" - }, - { - "DisplayName": "Max TPS", - "Category": "Server Config", - "Description": "Set the maximum tickrate for the server (Set below 45 for best stability)", - "Keywords": "tps, tickrate", - "FieldName": "MaxTPS", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaxTPS", - "IncludeInCommandLine": false, - "DefaultValue": "40", - "Suffix":"tps", - "MinValue":"10" - }, - { - "DisplayName": "LAN Mode", - "Category": "Server Config", - "Description": "Set the server to LAN mode", - "Keywords": "Lan,Server", - "FieldName": "IsLANMatch", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "IsLANMatch", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Should Advertise", - "Category": "Server Config", - "Description": "Control visibility in the server browser - disabling removes the server from the Server Browser", - "Keywords": "Visibility,Server", - "FieldName": "ShouldAdvertise", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "ShouldAdvertise", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Number of Reserved Slots", - "Category": "Server Config", - "Description": "Number of reserved slots for admins within the Admins.cfg file with the 'reserved' group permission", - "Keywords": "reserved players, players", - "FieldName": "NumReservedSlots", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "NumReservedSlots", - "IncludeInCommandLine": false, - "DefaultValue": "0" - }, - { - "DisplayName": "Server Map Randomisation", - "Category": "Server Config", - "Description": "Set whether the server map rotation is randomised when the server starts. ALWAYS randomises all the maps in MapRotation.cfg, FIRST will select a first map at random from the list and proceed through the list in order.", - "Keywords": "Map Rotation,Rotation,Random", - "FieldName": "MapRandom", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "MapRandom", - "IncludeInCommandLine": false, - "DefaultValue": "None", - "EnumValues": { - "ALWAYS": "Always", - "FIRST": "First", - "NONE": "None" - } - }, - { - "DisplayName": "Randomize At Start", - "Category": "Server Config", - "Description": "Should the Map/Layer rotations list be randomized at start?", - "Keywords": "Map Rotation,Rotation", - "FieldName": "RandomizeAtStart", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "RandomizeAtStart", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Enforce Team Balance", - "Category": "Server Config", - "Description": "Enable to force joining players to the side with less players, or randomly if teams are balanced", - "Keywords": "Balance, Enforce, Enable Balance", - "FieldName": "EnforceTeamBalance", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "EnforceTeamBalance", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Allow Team Change", - "Category": "Server Config", - "Description": "Completly Allow or Disallow Team change to all players. Only users with 'balance' permission within Admins.cfg can bypass this flag", - "Keywords": "Layer,Vote", - "FieldName": "AllowTeamChanges", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowTeamChanges", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Prevent Team Change If Unbalanced", - "Category": "Server Config", - "Description": "If set to false, players can change teams regardless of team balance. Otherwise, the NumPlayersDiffForTeamChanges Value is used", - "Keywords": "Layer,Vote", - "FieldName": "PreventTeamChangeIfUnbalanced", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "PreventTeamChangeIfUnbalanced", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Max Allowed Difference in player count", - "Category": "Server Config", - "Description": "Maximum Allowed difference in player count between teams. This takes into account the team the player leaves and the team the player joins", - "Keywords": "queue,players", - "FieldName": "NumPlayersDiffForTeamChanges", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "NumPlayersDiffForTeamChanges", - "IncludeInCommandLine": false, - "DefaultValue": "3" - }, - { - "DisplayName": "Rejoin Squad Delay After Kick", - "Category": "Server Config", - "Description": "Sets the delay after which a player is allowed to rejoin a squad after being kicked.", - "Keywords": "delay,players,kick", - "FieldName": "RejoinSquadDelayAfterKick", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "RejoinSquadDelayAfterKick", - "IncludeInCommandLine": false, - "DefaultValue": "180", - "Suffix":"seconds" - }, - { - "DisplayName": "Map Voting", - "Category": "Server Config", - "Description": "Enable Map Voting at the end of a round", - "Keywords": "map, voting", - "FieldName": "MapVoting", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "MapVoting", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Server Message Interval", - "Category": "Server Config", - "Description": "Frequency in which the server displays the information inside the ServerMessages.cfg file as a broadcast to all players", - "Keywords": "Interval, Message", - "FieldName": "ServerMessageInterval", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerMessageInterval", - "IncludeInCommandLine": false, - "DefaultValue": "300", - "Suffix":"seconds" - }, - { - "DisplayName": "Team Kill Auto Kick Enabled", - "Category": "Server Config", - "Description": "Enable Auto Kick for teamkilling", - "Keywords": "Kick,Auto,Team,Kill", - "FieldName": "TKAutoKickEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "TKAutoKickEnabled", - "DefaultValue": "True", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Vehicle Kit Requirement Disabled", - "Category": "Server Config", - "Description": "Toggle to disable vehicle kit requirement", - "Keywords": "Vehicle,Kit", - "FieldName": "VehicleKitRequirementDisabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "VehicleKitRequirementDisabled", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Allow Community Admin Access", - "Category": "Server Config", - "Description": "Enable QA Admin Access", - "Keywords": "Admin", - "FieldName": "AllowCommunityAdminAccess", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowCommunityAdminAccess", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Offworld Developers only Admin", - "Category": "Server Config", - "Description": "Allow Offworld Industries QA Dev Profiling", - "Keywords": "Admin", - "FieldName": "AllowDevProfiling", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowDevProfiling", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Allow QA", - "Category": "Server Config", - "Description": "Allow Offworld Industries QA", - "Keywords": "QA", - "FieldName": "AllowQA", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowQA", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Vehicle Claiming Disabled", - "Category": "Server Config", - "Description": "Disable Vehicle Claiming", - "Keywords": "Vehicle", - "FieldName": "VehicleClaimingDisabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "VehicleClaimingDisabled", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - } -] \ No newline at end of file diff --git a/post-scriptummetaconfig.json b/post-scriptummetaconfig.json deleted file mode 100644 index a84180386..000000000 --- a/post-scriptummetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile": "./PostScriptum/ServerConfig/Server.cfg", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormat": "{0}=\"{1}\"" - } -] \ No newline at end of file diff --git a/project-zomboid.kvp b/project-zomboid.kvp deleted file mode 100644 index 57f120492..000000000 --- a/project-zomboid.kvp +++ /dev/null @@ -1,88 +0,0 @@ -Meta.DisplayName=Project Zomboid -Meta.Description=Project Zomboid Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, IceOfWraith, Dhraz -Meta.URL=https://projectzomboid.com -Meta.DisplayImageSource=steam:108600 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort1} -Meta.ConfigManifest=project-zomboidconfig.json -Meta.MetaConfigManifest=project-zomboidmetaconfig.json -Meta.ConfigRoot=project-zomboid.kvp -Meta.MinAMPVersion=2.3.2.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Project Zomboid -App.RootDir=./project-zomboid/ -App.BaseDirectory=./project-zomboid/380870/ -App.ExecutableWin=380870\jre64\bin\java.exe -App.ExecutableLinux=380870/ProjectZomboid64 -App.WorkingDir=380870 -App.LinuxCommandLineArgs=-Dfile.encoding=UTF-8 -Dzomboid.steam={{SteamInt}} -Duser.home=./ -Xmx{{MaxMemory}}m {{CustomJavaArgs}} -- -App.WindowsCommandLineArgs=-Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dzomboid.znetlog=1 -Dzomboid.steam={{SteamInt}} -Duser.home=./ -Xmx{{MaxMemory}}m {{JavaGCAlgo}} -XX:-CreateCoredumpOnCrash -XX:-OmitStackTraceInFastThrow -Djava.library.path=natives/;natives/win64/;. {{CustomJavaArgs}} -cp java/*;java/ zombie.network.GameServer -statistic 0 -- -App.CommandLineArgs={{$PlatformArgs}} -port {{$ApplicationPort1}} -udpport {{$ApplicationPort2}} {{CustomServerArgs}} {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"PATH":"./jre64/bin:%PATH%","LD_LIBRARY_PATH":"./linux64:./natives:./:./jre64/lib/amd64:%LD_LIBRARY_PATH%","LD_PRELOAD":"./jre64/lib/libjsig.so","PZ_CLASSPATH":"java/*;java/","SteamAppId":"108600"} -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":16261,"Ref":"ApplicationPort1","Name":"Steam Port","Description":"Port for Steam client connections"},{"Protocol":"UDP","Port":16262,"Ref":"ApplicationPort2","Name":"Direct Port","Description":"Port for direct client connections"},{"Protocol":"TCP","Port":27015,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=ApplicationPort1 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=ApplicationPort1 -App.MaxUsers=32 -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":"380870","UpdateSourceArgs":"108600","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"380870","UpdateSourceArgs":"108600","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Mods Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Zomboid/mods","OverwriteExistingFiles":false}] -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^LOG\s+: Network\s+, \d+>.*> \*+ SERVER STARTED \*+$ -Console.UserJoinRegex=^LOG\s+: Network\s+, \d+>(?:.+?)> \[(?:.+?)\] > ConnectionManager: \[fully-connected\] (?:.+?) steam-id=(?<userid>.+?) (?:.+?) username="(?<username>.+?)" (?:.+?)$ -Console.UserLeaveRegex=^LOG\s+: Network\s+, \d+>.*> Disconnected player "(?<username>.+?)" (?<userid>.+?)$ -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/project-zomboidconfig.json b/project-zomboidconfig.json deleted file mode 100755 index a110c50d8..000000000 --- a/project-zomboidconfig.json +++ /dev/null @@ -1,962 +0,0 @@ -[ - { - "DisplayName":"Steam Port", - "Category":"PZ Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort1", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"DefaultPort", - "IncludeInCommandLine":false, - "DefaultValue":"16261", - "EnumValues":{} - }, - { - "DisplayName":"Direct Port", - "Category":"PZ Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort2", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"UDPPort", - "IncludeInCommandLine":false, - "DefaultValue":"16262", - "EnumValues":{} - }, - { - "DisplayName":"RCON Port", - "Category":"PZ Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RemoteAdminPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"RCONPort", - "IncludeInCommandLine":false, - "DefaultValue":"27015", - "EnumValues":{} - }, - { - "DisplayName":"Server Public Name", - "Category":"PZ Server Settings", - "Description":"Server name as shown in the in-game and/or Steam browsers", - "Keywords":"public,name", - "FieldName":"PublicName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"PublicName", - "IncludeInCommandLine":false, - "DefaultValue":"My PZ Server", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"PZ Server Settings", - "Description":"If enabled, the server will be visible in the in-game browser (Steam-enabled servers are always visible in the Steam server browser)", - "Keywords":"public,steam", - "FieldName":"Public", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Public", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Server Public Description", - "Category":"PZ Server Settings", - "Description":"Description displayed in the in-game browser. Use \"\\n\" to create a new line in the description", - "Keywords":"public,description", - "FieldName":"PublicDescription", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"PublicDescription", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"PZ Server Settings", - "Description":"Password to connect to the server. Default is no password", - "Keywords":"password", - "FieldName":"Password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"Password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"PZ Server Settings", - "Description":"In-game \"admin\" user password (not the server password). Set before first running the server, or you will be prompted to do so in the console", - "Keywords":"admin,password", - "FieldName":"adminpassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"adminpassword", - "IncludeInCommandLine":true, - "DefaultValue":"", - "SkipIfEmpty":true, - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"PZ Server Settings", - "Description":"Password to connect to RCON. Default is a random, strong password", - "Keywords":"rcon,password", - "FieldName":"RCONPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"RCONPassword", - "IncludeInCommandLine":false, - "DefaultValue":"{{newguid()}}", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"PZ Server Settings", - "Description":"Welcome message when players join the server", - "Keywords":"welcome,message,motd", - "FieldName":"ServerWelcomeMessage", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"ServerWelcomeMessage", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to Project Zomboid Multiplayer! <LINE> <LINE> To interact with the Chat panel: press Tab, T, or Enter. <LINE> <LINE> The Tab key will change the target stream of the message. <LINE> <LINE> Global Streams: /all <LINE> Local Streams: /say, /yell <LINE> Special Streams: /whisper, /safehouse, /faction. <LINE> <LINE> Press the Up arrow to cycle through your message history. Click the Gear icon to customize chat. <LINE> <LINE> Happy surviving!", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"PZ Server Settings", - "Description":"Maximum number of players that may be on the server at one time (excluding admins). Player counts above 32 may affect performance", - "Keywords":"maximum,players", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"32", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Enable Open Server", - "Category":"PZ Server Settings", - "Description":"If enabled, players may join the server without already being included in the whitelist", - "Keywords":"whitelist,open", - "FieldName":"Open", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Open", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Automatically Whitelist Players", - "Category":"PZ Server Settings", - "Description":"Automatically add players to the whitelist (for open servers)", - "Keywords":"whitelist,add,automatic", - "FieldName":"AutoCreateUserInWhiteList", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AutoCreateUserInWhiteList", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Memory Limit", - "Category":"PZ Server Settings", - "Description":"Java's maximum heap size", - "Keywords":"maximum,memory,limit", - "FieldName":"MaxMemory", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxMemory", - "IncludeInCommandLine":false, - "DefaultValue":"4096", - "Suffix":"MB", - "EnumValues":{} - }, - { - "DisplayName":"Java Garbage Collection Algorithm (Windows)", - "Category":"PZ Server Settings", - "Description":"Default Java garbage collection algorithm is ZGC, but G1GC can be selected for older Windows versions that cannot use ZGC", - "Keywords":"garbage,collection,algorithm", - "FieldName":"JavaGCAlgo", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"JavaGCAlgo", - "IncludeInCommandLine":false, - "DefaultValue":"-XX:+UseZGC", - "EnumValues":{ - "-XX:+UseZGC":"ZGC Algorithm (default)", - "-XX:+UseG1GC":"G1GC Algorithm" - } - }, - { - "DisplayName":"Enable Valve Anti-cheat (Steam VAC)", - "Category":"PZ Server Settings", - "Description":"", - "Keywords":"VAC,cheat", - "FieldName":"SteamVAC", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SteamVAC", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Steam Integration", - "Category":"PZ Server Settings", - "Description":"Enable Steam integration", - "Keywords":"steam,integration", - "FieldName":"SteamInt", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SteamInt", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Maps", - "Category":"PZ Server Settings", - "Description":"Semi-colon separated list of maps to load on the server. \"Muldraugh, KY\" should be last in the list", - "Keywords":"map", - "FieldName":"Map", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"Map", - "IncludeInCommandLine":false, - "DefaultValue":"Muldraugh, KY", - "EnumValues":{} - }, - { - "DisplayName":"Load Mods", - "Category":"PZ Server Settings", - "Description":"Semi-colon separated list of mod IDs (eg 67commando;86oshkoshP19A) to load. To install them, the workshop IDs for the mods also need to be added to Install Workshop Items", - "Keywords":"mods", - "FieldName":"Mods", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"Mods", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Install Workshop Items", - "Category":"PZ Server Settings", - "Description":"Semi-colon separated list of IDs of workshop items (eg 2478247379;2566953935) to install. To load them, the mod IDs also need to be added to Load Mods. NOTE: Don't use \"Steam workshop items\" under SteamCMD and Updates", - "Keywords":"workshop,items", - "FieldName":"WorkshopItems", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"WorkshopItems", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Display Player Usernames", - "Category":"PZ Server Settings", - "Description":"If enabled, display players' usernames above their heads in-game", - "Keywords":"display,name", - "FieldName":"DisplayUserName", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DisplayUserName", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Display Player Character Names", - "Category":"PZ Server Settings", - "Description":"If enabled, display players' first and last names above their heads in-game instead of usernames", - "Keywords":"display,character,name", - "FieldName":"ShowFirstAndLastName", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ShowFirstAndLastName", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Steam Scoreboard", - "Category":"PZ Server Settings", - "Description":"Sets whether steam usernames and avatars are shown in the player list", - "Keywords":"steam,scoreboard", - "FieldName":"SteamScoreboard", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"SteamScoreboard", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "true":"Shown to everyone", - "false":"Shown to no-one", - "admins":"Shown to admins only" - } - }, - { - "DisplayName":"Pause When Empty", - "Category":"PZ Server Settings", - "Description":"If enabled, game time stops when there are no players online", - "Keywords":"pause,empty", - "FieldName":"PauseEmpty", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PauseEmpty", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Auto World Save Interval", - "Category":"PZ Server Settings", - "Description":"Time between each automatic save of loaded parts of the map (0 = never)", - "Keywords":"save,interval", - "FieldName":"SaveWorldEveryMinutes", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SaveWorldEveryMinutes", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Enable UPnP", - "Category":"PZ 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":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Additional Java Startup Parameters", - "Category":"PZ Server Settings", - "Description":"Additional Java arguments (not server arguments) as startup parameters that are not otherwise set by AMP. Use with care", - "Keywords":"custom,java,arguments,parameters", - "FieldName":"CustomJavaArgs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomJavaArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"-Ddebug", - "EnumValues":{} - }, - { - "DisplayName":"Server Local Name", - "Category":"PZ Server Settings", - "Description":"Server name as stored locally. WARNING: Do not change unless you know what you are doing! Also update the server if this is changed", - "Keywords":"server,name", - "FieldName":"servername", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"servername", - "IncludeInCommandLine":true, - "DefaultValue":"servertest", - "EnumValues":{} - }, - { - "DisplayName":"Additional Server Startup Parameters", - "Category":"PZ Server Settings", - "Description":"Additional server arguments (not Java arguments) as startup parameters that are not otherwise set by AMP. Use with care", - "Keywords":"custom,server,arguments,parameters", - "FieldName":"CustomServerArgs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomServerArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"-ip 192.168.1.10", - "EnumValues":{} - }, - { - "DisplayName":"Set Spawn Point", - "Category":"PZ Gameplay Settings", - "Description":"Sets the spawn point for every new player. Default is 0,0,0. [Find desired coordinates](https://map.projectzomboid.com/)", - "Keywords":"spawnpoint,map", - "FieldName":"SpawnPoint", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SpawnPoint", - "IncludeInCommandLine":false, - "DefaultValue":"0,0,0", - "EnumValues":{} - }, - { - "DisplayName":"Spawn Items", - "Category":"PZ Gameplay Settings", - "Description":"Comma separated list of item types that new players spawn with", - "Keywords":"spawn,items", - "FieldName":"SpawnItems", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SpawnItems", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"Base.BaseballBat,Base.WaterBottleFull", - "EnumValues":{} - }, - { - "DisplayName":"Allow PvP", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, players can hurt and kill other players", - "Keywords":"pvp", - "FieldName":"PVP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PVP", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Enable PvP Toggle (Safety System)", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, allows players to enter and leave PvP mode on an individual basis. Requires \"Allow PvP\" to be enabled", - "Keywords":"safetysystem,pvp", - "FieldName":"SafetySystem", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SafetySystem", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Show Player PvP Status", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, displays a skull icon above the heads of players in PvP mode", - "Keywords":"pvp,status,safety", - "FieldName":"ShowSafety", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ShowSafety", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"PvP Toggle Timer", - "Category":"PZ Gameplay Settings", - "Description":"Time taken for a player to enter and leave PvP mode", - "Keywords":"safetysystem,pvp,timer", - "FieldName":"SafetyToggleTimer", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SafetyToggleTimer", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"PvP Cooldown Timer", - "Category":"PZ Gameplay Settings", - "Description":"Delay before a player can enter or leave PvP mode again", - "Keywords":"safetysystem,pvp,timer,cooldown", - "FieldName":"SafetyCooldownTimer", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SafetyCooldownTimer", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Factions", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, factions can be created and used", - "Keywords":"factions", - "FieldName":"Faction", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Faction", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Game Days For Factions", - "Category":"PZ Gameplay Settings", - "Description":"Number of in-game days that a player must survive for before they can create a faction", - "Keywords":"factions", - "FieldName":"FactionDaySurvivedToCreate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"FactionDaySurvivedToCreate", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"days", - "EnumValues":{} - }, - { - "DisplayName":"Enable Global Chat", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, players can communicate with everyone (using the /all command in chat)", - "Keywords":"chat,global", - "FieldName":"GlobalChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"GlobalChat", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Nighttime Length", - "Category":"PZ Gameplay Settings", - "Description":"Sets how long nighttime lasts depending on daytime: 0.5 means twice as long, 2 means half the normal time", - "Keywords":"nighttime,night", - "FieldName":"nightlengthmodifier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"nightlengthmodifier", - "IncludeInCommandLine":false, - "DefaultValue":"1.0", - "EnumValues":{} - }, - { - "DisplayName":"Don't Allow Fire", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, fires are not allowed (except campfires). Enable if fires cause problems for your server", - "Keywords":"fire", - "FieldName":"NoFire", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"NoFire", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Announce Player Death", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, a global message is displayed in the chat when a player dies", - "Keywords":"announce,death", - "FieldName":"AnnounceDeath", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AnnounceDeath", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Minutes Per Book Page", - "Category":"PZ Gameplay Settings", - "Description":"Sets the number of in-game minutes it takes to read one page of a book", - "Keywords":"minutes,book,page", - "FieldName":"MinutesPerPage", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MinutesPerPage", - "IncludeInCommandLine":false, - "DefaultValue":"1.0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Period for Loot Respawn", - "Category":"PZ Gameplay Settings", - "Description":"Sets the in-game hours after which all containers that have been looted once will respawn loot (0 = never)", - "Keywords":"loot,respawn", - "FieldName":"HoursForLootRespawn", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"HoursForLootRespawn", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"hours", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Items for Loot Respawn", - "Category":"PZ Gameplay Settings", - "Description":"Sets the maximum number of items that containers can hold to be allowed to respawn. If the number of items is less than or equal to the number set, loot will respawn", - "Keywords":"loot,respawn,maximum", - "FieldName":"MaxItemsForLootRespawn", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MaxItemsForLootRespawn", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "Suffix":"items", - "EnumValues":{} - }, - { - "DisplayName":"Construction Prevents Respawn", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, items will not respawn in buildings that players have barricaded or built in", - "Keywords":"loot,respawn,construction", - "FieldName":"ConstructionPreventsLootRespawn", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ConstructionPreventsLootRespawn", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow Player Safehouses", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, both admins and players can claim safehouses", - "Keywords":"safehouse", - "FieldName":"PlayerSafehouse", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PlayerSafehouse", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow Admin Safehouses", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, only admins can claim safehouses", - "Keywords":"safehouse", - "FieldName":"AdminSafehouse", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AdminSafehouse", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow Safehouse Trespass", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, non-members can enter a safehouse without being invited", - "Keywords":"safehouse,trespass", - "FieldName":"SafehouseAllowTrepass", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SafehouseAllowTrepass", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow Safehouse Trespass", - "Category":"PZ Gameplay Settings", - "Description":"[Backup setting given typo in config key, to future proof for correction]", - "Keywords":"", - "FieldName":"SafehouseAllowTrepass", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"SafehouseAllowTrespass", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Allow Safehouse Fire", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, safehouses can be damaged by fire", - "Keywords":"safehouse,fire", - "FieldName":"SafehouseAllowFire", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SafehouseAllowFire", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow Safehouse Loot", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, non-members can loot safehouses", - "Keywords":"safehouse,loot", - "FieldName":"SafehouseAllowLoot", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SafehouseAllowLoot", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow Safehouse Respawn", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, players will respawn in a safehouse they were a member of before death", - "Keywords":"safehouse,respawn", - "FieldName":"SafehouseAllowRespawn", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SafehouseAllowRespawn", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Game Days For Safehouse", - "Category":"PZ Gameplay Settings", - "Description":"Number of in-game days that a player must survive for before they can claim a safehouse", - "Keywords":"safehouse,days", - "FieldName":"SafehouseDaySurvivedToClaim", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SafehouseDaySurvivedToClaim", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"days", - "EnumValues":{} - }, - { - "DisplayName":"Safehouse Removal Period", - "Category":"PZ Gameplay Settings", - "Description":"Players are automatically removed from a safehouse they have not visited for this many real-time hours", - "Keywords":"safehouse,house,removal", - "FieldName":"SafeHouseRemovalTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SafeHouseRemovalTime", - "IncludeInCommandLine":false, - "DefaultValue":"144", - "Suffix":"hours", - "EnumValues":{} - }, - { - "DisplayName":"Allow Sledgehammer Destruction", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, players can destroy world objects with sledgehammers", - "Keywords":"sledgehammer,destruction", - "FieldName":"AllowDestructionBySledgehammer", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AllowDestructionBySledgehammer", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow Only Safehouse Sledgehammers", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, players can destroy world objects with sledgehammers only in their safehouse. Requires \"Allow Sledgehammer Destruction\" to be enabled", - "Keywords":"sledgehammer,destruction", - "FieldName":"SledgehammerOnlyInSafehouse", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SledgehammerOnlyInSafehouse", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow Sleep", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, players are allowed to sleep when tired, but do not need to", - "Keywords":"sleep", - "FieldName":"SleepAllowed", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SleepAllowed", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Require Sleep", - "Category":"PZ Gameplay Settings", - "Description":"If enabled, players become tired and need to sleep. Requires \"Allow Sleep\" to be enabled", - "Keywords":"sleep", - "FieldName":"SleepNeeded", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SleepNeeded", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Enable Discord Integration", - "Category":"PZ Discord Settings", - "Description":"If enabled, allows global text chat integration with a Discord channel. Requires a valid bot token to be set under \"Discord Token\"", - "Keywords":"discord", - "FieldName":"DiscordEnable", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DiscordEnable", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Discord Token", - "Category":"PZ Discord Settings", - "Description":"Bot token to access the Discord servers", - "Keywords":"discord,token", - "FieldName":"DiscordToken", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"DiscordToken", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Discord Channel", - "Category":"PZ Discord Settings", - "Description":"Name of the Discord channel to integrate with. Use \"Discord ID\" if this does not work", - "Keywords":"discord,channel", - "FieldName":"DiscordChannel", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DiscordChannel", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Discord Channel ID", - "Category":"PZ Discord Settings", - "Description":"ID of the Discord channel to integrate with. Use this if \"Discord Channel\" does not work", - "Keywords":"discord,channel,id", - "FieldName":"DiscordChannelID", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"DiscordChannelID", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"475182341782896651", - "EnumValues":{} - }, - { - "DisplayName":"Enable Beta Branch", - "Category":"SteamCMD and Updates", - "Description":"If enabled, allows beta branches (branches other than \"public\") to be installed. Specify the branch under \"Selected Beta Branch\". NOTE: Update the server after switching branches!", - "Keywords":"enable,beta", - "FieldName":"EnableBeta", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Selected Beta Branch", - "Category":"SteamCMD and Updates", - "Description":"[Beta branch](https://steamdb.info/app/380870/depots/) to install. Requires \"Enable Beta Branch\" to be enabled. Set any required password under \"Beta Password\". NOTE: Update the server after switching branches!", - "Keywords":"beta,branch", - "FieldName":"BetaBranch", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"", - "EnumValues":{} - } -] diff --git a/project-zomboidmetaconfig.json b/project-zomboidmetaconfig.json deleted file mode 100644 index a3b26a643..000000000 --- a/project-zomboidmetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile": "Zomboid/Server/{{servername}}.ini", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - } -] \ No newline at end of file diff --git a/project5-sightseer.kvp b/project5-sightseer.kvp deleted file mode 100644 index a6fae08a5..000000000 --- a/project5-sightseer.kvp +++ /dev/null @@ -1,87 +0,0 @@ -Meta.DisplayName=Project 5: Sightseer -Meta.Description=Project 5: Sightseer Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, DARKACE -Meta.URL=https://project-5-sightseer.fandom.com/wiki/Project_5:_Sightseer_Wiki -Meta.DisplayImageSource=steam:655780 -Meta.EndpointURIFormat= -Meta.ConfigManifest=project5-sightseerconfig.json -Meta.MetaConfigManifest=project5-sightseermetaconfig.json -Meta.ConfigRoot=project5-sightseer.kvp -Meta.MinAMPVersion=2.4.0.10 -Meta.SpecificDockerImage=cubecoders/ampbase:mono -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=Project 5: Sightseer 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=Project 5: Sightseer -App.RootDir=./project5-sightseer/ -App.BaseDirectory=./project5-sightseer/655780/ -App.ExecutableWin=655780\P5SServer.exe -App.ExecutableLinux=/usr/bin/mono -App.WorkingDir=655780 -App.LinuxCommandLineArgs=./P5SServer.exe -App.CommandLineArgs={{$PlatformArgs}} -port {{$GamePort}} -http -localPath {{$FormattedArgs}} {{public}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"655780"} -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":5190,"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":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"655780","UpdateSourceArgs":"655780"},{"UpdateStageName":"Create ServerConfig Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}ServerConfig","OverwriteExistingFiles":false},{"UpdateStageName":"Create Ban File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceArgs":"{{$FullBaseDir}}ServerConfig/ban.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Pause Update Stages","UpdateSourcePlatform":"All","UpdateSource":"Pause","UpdateSourceArgs":"10"},{"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=True -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName=P5SServer.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:]+\] (?<username>.+?) \((?:[\d\.:]+?), (?:.+?), (?<userid>.+?)\): Passed a ban check: (?:.+)$ -Console.UserLeaveRegex=^\[[\d\/]+ [\d:]+\] (?<username>.+?) \((?:[\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/project5-sightseerconfig.json b/project5-sightseerconfig.json deleted file mode 100644 index cd40f7a76..000000000 --- a/project5-sightseerconfig.json +++ /dev/null @@ -1,61 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"P5S 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 Project 5: Sightseer Server", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"P5S 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 Save Name", - "Category":"P5S Server Settings", - "Description":"Sets the name of the world save to load (if it already exists) or to create. If the world save does not already exist, an admin must create it in-game after connecting to the server", - "Keywords":"world,name,save", - "FieldName":"fn", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"fn", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"World.dat", - "Placeholder":"World.dat", - "EnumValues":{} - }, - { - "DisplayName":"Server Admins", - "Category":"P5S 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:./project5-sightseer/655780/ServerConfig/admin.txt", - "EnumValues": {} - } -] diff --git a/quake3-arenabase.cfg b/quake3-arenabase.cfg deleted file mode 100644 index 24b49fb70..000000000 --- a/quake3-arenabase.cfg +++ /dev/null @@ -1,42 +0,0 @@ -// This file is controlled by AMP -// Use server.cfg for any other desired settings - -exec server.cfg - -seta sv_hostname "AMP Powered Quake III Arena Server" -seta g_motd "Welcome to Quake III Arena!" -seta sv_maxclients "16" -seta g_needpass "0" -seta g_password "" -seta sv_privatePassword "" -seta sv_pure "1" -seta sv_cheats "0" -seta g_gametype "0" -seta sv_maxclients "8" -seta g_maxGameClients "0" -seta sv_privateClients "0" -seta sv_allowDownload "0" -seta sv_fps "20" -seta sv_minRate "0" -seta sv_maxRate "0" -seta sv_minPing "0" -seta sv_maxPing "0" -seta bot_enable "1" -seta g_spskill "4" -seta bot_minplayers "5" -seta bot_nochat "1" -seta g_friendlyFire "1" -seta fraglimit "0" -seta timelimit "0" -seta capturelimit "8" -seta g_teamAutoJoin "0" -seta g_teamForceBalance "0" -seta g_forcerespawn "0" -seta g_allowVote "1" -seta g_quadfactor "3" -seta g_weaponrespawn "5" -seta g_inactivity "0" -seta g_syncronousclients "0" -seta sv_floodProtect "1" -seta logfile "3" -seta g_log "server.log" diff --git a/quake3-arenaconfig.json b/quake3-arenaconfig.json deleted file mode 100644 index e15ec8447..000000000 --- a/quake3-arenaconfig.json +++ /dev/null @@ -1,657 +0,0 @@ -[ - { - "DisplayName":"Enable Log File", - "Category":"Q3A Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"logfile", - "InputType":"number", - "Hidden":true, - "ParamFieldName":"logfile", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{} - }, - { - "DisplayName":"Log File Name", - "Category":"Q3A Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"g_log", - "InputType":"text", - "Hidden":true, - "ParamFieldName":"g_log", - "IncludeInCommandLine":false, - "DefaultValue":"server.log", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Q3A Server Settings", - "Description":"Sets the name of the server that appears in the server list", - "Keywords":"server,name,sv_hostname", - "FieldName":"sv_hostname", - "InputType":"text", - "ParamFieldName":"sv_hostname", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered Quake III Arena Server", - "EnumValues":{} - }, - { - "DisplayName":"Message Of The Day", - "Category":"Q3A Server Settings", - "Description":"Sets the message of the day (MOTD) displayed when players join", - "Keywords":"message,motd,g_motd", - "FieldName":"g_motd", - "InputType":"text", - "ParamFieldName":"g_motd", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to Quake III Arena!", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"Q3A Server Settings", - "Description":"If enabled, the server will be visible publicly. Otherwise it will only be accessible from the LAN", - "Keywords":"public,visible,dedicated", - "FieldName":"dedicated", - "InputType":"checkbox", - "ParamFieldName":"dedicated", - "IncludeInCommandLine":true, - "DefaultValue":"2", - "EnumValues":{ - "False":"1", - "True":"2" - } - }, - { - "DisplayName":"Require Server Password", - "Category":"Q3A Server Settings", - "Description":"If enabled, the server will notify clients that it requires a password to connect. The password must be set under Server Password", - "Keywords":"server,password,g_needpass", - "FieldName":"g_needpass", - "InputType":"checkbox", - "ParamFieldName":"g_needpass", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Server Password", - "Category":"Q3A Server Settings", - "Description":"Sets the password required to connect to the server. Default is no password. Require Server Password must also be enabled", - "Keywords":"server,password,g_password", - "FieldName":"g_password", - "InputType":"password", - "ParamFieldName":"g_password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Q3A Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password,rconpassword", - "FieldName":"$RemoteAdminPassword", - "InputType":"hidden", - "ParamFieldName":"rconpassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Private Client Password", - "Category":"Q3A Server Settings", - "Description":"Sets the password for private clients, if any, to connect to the server. Specify the required number of private clients under Private Client Number. Server Password should not be set", - "Keywords":"private,client,password,sv_privatepassword", - "FieldName":"sv_privatePassword", - "InputType":"password", - "ParamFieldName":"sv_privatePassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Enable Pure Server", - "Category":"Q3A Server Settings", - "Description":"If set, only unmodified pak files that are also installed on the server can be used by clients, as a hacking and cheat protection", - "Keywords":"pure,server,cheat,hack,integrity,sv_pure", - "FieldName":"sv_pure", - "InputType":"checkbox", - "ParamFieldName":"sv_pure", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Allow Cheats", - "Category":"Q3A Server Settings", - "Description":"If set, cheats will be allowed on the server", - "Keywords":"allow,cheat,hack,integrity,sv_cheats", - "FieldName":"sv_cheats", - "InputType":"checkbox", - "ParamFieldName":"sv_cheats", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Initial Game Type", - "Category":"Q3A Server Settings", - "Description":"Sets the game type to start the server with", - "Keywords":"game,type,g_gametype", - "FieldName":"g_gametype", - "InputType":"enum", - "ParamFieldName":"g_gametype", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Deathmatch / Free For All (default)", - "1":"Tourney / One on One", - "3":"Team Deathmatch", - "4":"Capture The Flag" - } - }, - { - "DisplayName":"Initial Map", - "Category":"Q3A Server Settings", - "Description":"Sets the map to start the server with. If \"Custom\" is selected, Custom Initial Map must also be specified. This setting will be overridden if map rotation is configured in baseq3/server.cfg", - "Keywords":"map", - "FieldName":"map_name", - "InputType":"enum", - "ParamFieldName":"map_name", - "IncludeInCommandLine":false, - "DefaultValue":"q3dm0", - "EnumValues":{ - "q3dm0":"Introduction (default) (Tier 0)", - "q3dm1":"Arena Gate (Tier 1, Level 1, DM, TDM)", - "q3dm2":"House of Pain (Tier 1, Level 2, DM, TDM)", - "q3dm3":"Arena of Death (Tier 1, Level 3, DM, TDM)", - "q3tourney1":"Powerstation (Tier 1, Tourney)", - "q3dm4":"The Place of Many Deaths (Tier 2, Level 1, DM, TDM)", - "q3dm5":"The Forgotten Place (Tier 2, Level 2, DM, TDM)", - "q3dm6":"The Camping Grounds (Tier 2, Level 3, DM, TDM)", - "q3tourney2":"The Proving Grounds (Tier 2, Tourney)", - "q3dm7":"Temple of Retribution (Tier 3, Level 1, DM, TDM)", - "q3dm8":"Brimstone Abbey (Tier 3, Level 2, DM, TDM)", - "q3dm9":"Hero's Keep (Tier 3, Level 3, DM, TDM)", - "q3tourney3":"Hell's Gate (Tier 3, Tourney)", - "q3dm10":"The Nameless Place (Tier 4, Level 1, DM, TDM)", - "q3dm11":"Deva Statio (Tier 4, Level 2, DM, TDM)", - "q3dm12":"The Dredwerkz (Tier 4, Level 3, DM, TDM)", - "q3tourney4":"Vertical Vengeance (Tier 4, Tourney)", - "q3dm13":"Lost World (Tier 5, Level 1, DM, TDM)", - "q3dm14":"Grim Dungeons (Tier 5, Level 2, DM, TDM)", - "q3dm15":"Demon Keep (Tier 5, Level 3, DM, TDM)", - "q3tourney5":"Fatal Instinct (Tier 5, Tourney)", - "q3dm16":"Bouncy Map (Tier 6, Level 1, DM, TDM)", - "q3dm17":"The Longest Yard (Tier 6, Level 2, DM, TDM)", - "q3dm18":"Space Chamber (Tier 6, Level 3, DM, TDM)", - "q3dm19":"Apocalypse Void (Tier 6, Level 4, DM, TDM)", - "q3tourney6":"The Very End of You (Tier 7, Tourney)", - "q3ctf1":"Dueling Keeps (Level 1, CTF)", - "q3ctf2":"Troubled Waters (Level 2, CTF)", - "q3ctf3":"The Stronghold (Level 3, CTF)", - "q3ctf4":"Space CTF (Level 4, CTF)", - "q3tourney6_ctf":"Across Space (Tier 7, Tourney, Level 5, CTF)", - "pro_q3dm6":"Pro: The Camping Grounds (Tier 2, Level 3, DM, TDM)", - "pro_q3dm13":"Pro: Lost World (Tier 5, Level 1, DM, TDM)", - "pro_q3tourney2":"Pro: The Proving Grounds (Tier 2, Tourney)", - "pro_q3tourney4":"Pro: Vertical Vengeance (Tier 4, Tourney)", - "{{CustomMap}}":"Custom" - } - }, - { - "DisplayName":"Custom Initial Map", - "Category":"Q3A Server Settings", - "Description":"Sets a custom map to use for the Initial Map, if \"Custom\" is selected", - "Keywords":"custom,map", - "FieldName":"CustomMap", - "InputType":"text", - "ParamFieldName":"CustomMap", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Initial Map Type", - "Category":"Q3A Server Settings", - "Description":"Sets whether the Initial Map allows cheats or not. Allow Cheats must also be enabled to use cheats", - "Keywords":"initial,map,type,devmap,cheats", - "FieldName":"map_type", - "InputType":"enum", - "ParamFieldName":"map_type", - "IncludeInCommandLine":false, - "DefaultValue":"map", - "EnumValues":{ - "map":"No cheats (default)", - "devmap":"Allow cheats" - } - }, - { - "DisplayName":"Client Limit", - "Category":"Q3A Server Settings", - "Description":"Sets the maximum number of players and spectators allowed on the server at one time", - "Keywords":"max,maximum,players,spectators,clients,limit,sv_maxclients", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "MaxValue":"32", - "ParamFieldName":"sv_maxclients", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "Placeholder":"8", - "Suffix":"clients", - "EnumValues":{} - }, - { - "DisplayName":"Game Player Limit", - "Category":"Q3A Server Settings", - "Description":"Sets the maximum number of players (out of the Client Limit) that are able to join the game, while the rest will be spectators. 0 = disabled", - "Keywords":"max,maximum,game,players,limit,g_maxgameclients", - "FieldName":"g_maxGameClients", - "InputType":"number", - "MinValue":"0", - "MaxValue":"32", - "ParamFieldName":"g_maxGameClients", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Private Client Number", - "Category":"Q3A Server Settings", - "Description":"Sets the number of slots (out of the Client Limit) reserved for private players on a public server. 0 = disabled. Private Client Password must also be set", - "Keywords":"sv_privateClients", - "FieldName":"sv_privateClients", - "InputType":"number", - "MinValue":"0", - "MaxValue":"32", - "ParamFieldName":"sv_privateClients", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"private players", - "EnumValues":{} - }, - { - "DisplayName":"Allow Download From Server", - "Category":"Q3A Server Settings", - "Description":"If set, clients will be allowed to download content (maps, models, etc) from the server", - "Keywords":"allow,download,content,map,model,sv_allowdownload", - "FieldName":"sv_allowDownload", - "InputType":"checkbox", - "ParamFieldName":"sv_allowDownload", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Server FPS", - "Category":"Q3A Server Settings", - "Description":"Sets the maximum frames per second (FPS) that the server sends to clients", - "Keywords":"frames,second,fps,sv_fps", - "FieldName":"sv_fps", - "InputType":"number", - "ParamFieldName":"sv_fps", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"frames/second", - "EnumValues":{} - }, - { - "DisplayName":"Server Memory Allocation", - "Category":"Q3A Server Settings", - "Description":"Sets the amount of memory allocated for map and item loading", - "Keywords":"ram,memory,com_hunkmegs", - "FieldName":"com_hunkMegs", - "InputType":"number", - "ParamFieldName":"com_hunkMegs", - "IncludeInCommandLine":true, - "DefaultValue":"128", - "Placeholder":"128", - "Suffix":"MB", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Client Rate", - "Category":"Q3A Server Settings", - "Description":"Sets the minimum allowable rate a client may have set when connected to the server. 0 = no minimum (default)", - "Keywords":"minimum,bandwidth,rate,sv_minrate", - "FieldName":"sv_minRate", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"sv_minRate", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"bytes/second", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Client Rate", - "Category":"Q3A Server Settings", - "Description":"Sets the maximum allowable rate a client may have set when connected to the server. 0 = no limit (default). Otherwise recommended to be 8000 - 10000 if slower clients are having issues", - "Keywords":"maximum,bandwidth,rate,sv_maxrate", - "FieldName":"sv_maxRate", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"sv_maxRate", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"bytes/second", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Client Ping", - "Category":"Q3A Server Settings", - "Description":"Sets the minimum ping clients can have on the server. 0 = disabled", - "Keywords":"minimum,ping,sv_minPing", - "FieldName":"sv_minPing", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"sv_minPing", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Client Ping", - "Category":"Q3A Server Settings", - "Description":"Sets the maximum ping clients can have on the server. 0 = disabled", - "Keywords":"maximum,ping,sv_maxPing", - "FieldName":"sv_maxPing", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"sv_maxPing", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Additional Console Variables", - "Category":"Q3A Server Settings", - "Description":"Additional console variables that are not otherwise set by AMP can be specified in baseq3/server.cfg", - "Keywords":"custom,server,variables,cvars,convars,parameters", - "FieldName":"CustomConVars", - "InputType":"hidden", - "ParamFieldName":"CustomConVars", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable Bots", - "Category":"Q3A Gameplay Settings", - "Description":"If set, bots will be enabled on the server", - "Keywords":"enable,bots,bot_enable", - "FieldName":"bot_enable", - "InputType":"checkbox", - "ParamFieldName":"bot_enable", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Difficulty Level", - "Category":"Q3A Gameplay Settings", - "Description":"Sets the default difficulty level (skill level of bots) on the server", - "Keywords":"bot,skill,level,difficulty,g_spskill", - "FieldName":"g_spskill", - "InputType":"enum", - "ParamFieldName":"g_spskill", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "Placeholder":"4", - "EnumValues":{ - "1":"I Can Win", - "2":"Bring It On", - "3":"Hurt Me Plenty", - "4":"Hardcore", - "5":"Nightmare" - } - }, - { - "DisplayName":"Bot Minimum Players", - "Category":"Q3A Gameplay Settings", - "Description":"Bots will added to or removed from the server to ensure that the number of players on the server meets the minimum set (subject to client/player limits)", - "Keywords":"bot,minimum,players,bot_minplayers", - "FieldName":"bot_minplayers", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"bot_minplayers", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "EnumValues":{} - }, - { - "DisplayName":"Disable Bot Chat", - "Category":"Q3A Gameplay Settings", - "Description":"If set, bots will be silenced", - "Keywords":"bot,disable,chat,mute,silence,bot_nochat", - "FieldName":"bot_nochat", - "InputType":"checkbox", - "ParamFieldName":"bot_nochat", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Friendly Fire", - "Category":"Q3A Gameplay Settings", - "Description":"If enabled, friendly fire will be allowed, so players can damage their own teammates. Standard defaults: TDM - true, CTF - false. No effect for FFA and Tourney game types", - "Keywords":"friendly,fire,g_friendlyfire", - "FieldName":"g_friendlyFire", - "InputType":"checkbox", - "ParamFieldName":"g_friendlyFire", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Frag Limit", - "Category":"Q3A Gameplay Settings", - "Description":"Sets the number of frags (or kills) that must be reached before a game ends and the next game starts. 0 = no frag limit. Standard defaults: FFA - 15, TDM - 25, CTF - 0", - "Keywords":"frag,limit,fraglimit", - "FieldName":"fraglimit", - "InputType":"number", - "ParamFieldName":"fraglimit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"frags", - "EnumValues":{} - }, - { - "DisplayName":"Time Limit", - "Category":"Q3A Gameplay Settings", - "Description":"Sets the game time limit, after which a game ends and the next game starts. 0 = no time limit. Standard defaults: FFA - 10, TDM - 15, CTF - 30", - "Keywords":"time,limit,timelimit", - "FieldName":"timelimit", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"timelimit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Capture Limit", - "Category":"Q3A Gameplay Settings", - "Description":"Sets the number of flags that must be captured for the CTF game type before a game ends and the next game starts", - "Keywords":"capture,limit,ctf,flag,capturelimit", - "FieldName":"capturelimit", - "InputType":"number", - "ParamFieldName":"capturelimit", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "Placeholder":"8", - "Suffix":"flags", - "EnumValues":{} - }, - { - "DisplayName":"Enable Auto Team Joining", - "Category":"Q3A Gameplay Settings", - "Description":"If set, a new player will automatically join a team when connecting to the server (TDM or CTF game types). Otherwise they will go into spectator mode", - "Keywords":"team,auto,join,joining,spectator,g_teamautojoin", - "FieldName":"g_teamAutoJoin", - "InputType":"checkbox", - "ParamFieldName":"g_teamAutoJoin", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Forced Team Balancing", - "Category":"Q3A Gameplay Settings", - "Description":"If set, forces a new player onto the smallest or losing team (TDM or CTF game types). Otherwise, the player can select freely which team to join. Standard defaults: TDM - true, CTF - false", - "Keywords":"team,force,balance,balancing,selection,g_teamforcebalance", - "FieldName":"g_teamForceBalance", - "InputType":"checkbox", - "ParamFieldName":"g_teamForceBalance", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Respawn Time Period", - "Category":"Q3A Gameplay Settings", - "Description":"Sets the respawn time period. 0 = no forced respawn", - "Keywords":"force,respawn,time,period,manual,g_forcerespawn", - "FieldName":"g_forcerespawn", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"g_forcerespawn", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Allow Voting", - "Category":"Q3A Gameplay Settings", - "Description":"If set, connected players can call for and vote on changes including: map, map restart, kick, and game type", - "Keywords":"vote,voting,g_allowvote", - "FieldName":"g_allowVote", - "InputType":"checkbox", - "ParamFieldName":"g_allowVote", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Quad Damage Powerup Multiple", - "Category":"Q3A Gameplay Settings", - "Description":"Sets multiples of damage caused by the quad damage powerup. 3 = default, 1 = no quad damage powerup. Decimals may be used", - "Keywords":"quad,damage,power,multiple,g_quadfactor", - "FieldName":"g_quadfactor", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"g_quadfactor", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Weapon Respawn Time Period", - "Category":"Q3A Gameplay Settings", - "Description":"Sets the time period between when a weapon is picked up and when it respawns. Only recommended to be changed from default (5) in FFA servers with a large number of players, in which case it can be lowered slightly. Otherwise not recommended to be modified or set to 0 (weapons stay)", - "Keywords":"weapon,respawn,time,available,g_weaponrespawn", - "FieldName":"g_weaponrespawn", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"g_weaponrespawn", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Inactivity Kick Time", - "Category":"Q3A Gameplay Settings", - "Description":"Sets the time period after which inactive players will be kicked from the server. 0 = disabled", - "Keywords":"inactive,afk,idle,kick,g_inactivity", - "FieldName":"g_inactivity", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"g_inactivity", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Synchronous Clients", - "Category":"Q3A Gameplay Settings", - "Description":"If set, all clients movements are synced to allow demo recording. Recommended to keep off to allow smoother play", - "Keywords":"synchronous,clients,demo,recording,g_syncronousclients", - "FieldName":"g_syncronousclients", - "InputType":"checkbox", - "ParamFieldName":"g_syncronousclients", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Enable Flood Protection", - "Category":"Q3A Gameplay Settings", - "Description":"If set, the server will be protected from being flooded by players via chat", - "Keywords":"flood,protect,protection,sv_floodprotect", - "FieldName":"sv_floodProtect", - "InputType":"checkbox", - "ParamFieldName":"sv_floodProtect", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - } -] diff --git a/quake3-arenametaconfig.json b/quake3-arenametaconfig.json deleted file mode 100644 index 1736a3f5f..000000000 --- a/quake3-arenametaconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - { - "ConfigFile":"baseq3/base.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"set {0} \"{1}\"", - "ConfigFormatRegex":"^set (?<key>.+?) \"?(?<value>.*?)\"?$" - }, - { - "ConfigFile":"baseq3/base.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"seta {0} \"{1}\"", - "ConfigFormatRegex":"^seta (?<key>.+?) \"?(?<value>.*?)\"?$" - }, - { - "ConfigFile":"baseq3/server.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"set {0} \"{1}\"", - "ConfigFormatRegex":"^set (?<key>.+?) \"?(?<value>.*?)\"?$" - }, - { - "ConfigFile":"baseq3/server.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"seta {0} \"{1}\"", - "ConfigFormatRegex":"^seta (?<key>.+?) \"?(?<value>.*?)\"?$" - } -] \ No newline at end of file diff --git a/quake3-arenaserver.cfg b/quake3-arenaserver.cfg deleted file mode 100644 index 9aa80ef5d..000000000 --- a/quake3-arenaserver.cfg +++ /dev/null @@ -1,45 +0,0 @@ -// This file can be used to set desired settings -// not otherwise set by AMP, including map rotation - -// Map rotation - -// DM/FFA rotation (example) -set m1 "map q3dm1; set nextmap vstr m2" -set m2 "map q3dm2; set nextmap vstr m3" -set m3 "map q3dm3; set nextmap vstr m4" -set m4 "map q3dm4; set nextmap vstr m5" -set m5 "map q3dm5; set nextmap vstr m6" -set m6 "map q3dm6; set nextmap vstr m7" -set m7 "map q3dm7; set nextmap vstr m8" -set m8 "map q3dm8; set nextmap vstr m9" -set m9 "map q3dm9; set nextmap vstr m10" -set m10 "map q3dm10; set nextmap vstr m1" -vstr m1 - -// CTF rotation (example) -//set m1 "map q3ctf1; set nextmap vstr m2" -//set m2 "map q3ctf2; set nextmap vstr m3" -//set m3 "map q3ctf3; set nextmap vstr m4" -//set m4 "map q3ctf4; set nextmap vstr m1" -//vstr m1 - -// Manual adding of bots. Syntax: -// addbot name [skill] [team] [delay] - -//addbot doom 4 blue 10 -//addbot bones 4 blue 10 -//addbot slash 4 blue 10 -//addbot orbb 4 red 10 -//addbot major 4 red 10 -//addbot hunter 4 red 10 -//addbot bitterman 4 red 10 -//addbot keel 4 red 10 - -// Miscellaneous - -set vm_game "2" -set vm_cgame "2" -set vm_ui "2" -seta snaps "40" -seta cl_maxpackets "40" -seta cl_packetdup "1" \ No newline at end of file diff --git a/quake3-arenaupdates.json b/quake3-arenaupdates.json deleted file mode 100644 index f86ec3181..000000000 --- a/quake3-arenaupdates.json +++ /dev/null @@ -1,100 +0,0 @@ -[ - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://files.ioquake3.org/Windows.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://files.ioquake3.org/Linux.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Server Files Extract", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C cd quake3-arena\\server\\ && tar -xf release-mingw64-x86_64.zip && rm release-mingw64-x86_64.zip" - }, - { - "UpdateStageName":"Server Files Extract", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd ./quake3-arena/server/ && unzip -ao release-linux-x86_64.zip && rm -f release-linux-x86_64.zip && chmod +x ioq3ded.x86_64'" - }, - { - "UpdateStageName":"SteamCMD Game Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"2200", - "UpdateSourceTarget":"{{$FullRootDir}}client", - "ForceDownloadPlatform":"Windows" - }, - { - "UpdateStageName":"Client File Copy", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C xcopy /E /Y /I quake3-arena\\client\\baseq3\\pak0.pk3 quake3-arena\\server\\baseq3\\ && rmdir /Q /S quake3-arena\\client\\" - }, - { - "UpdateStageName":"Client File Copy", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c '\\cp -rf ./quake3-arena/client/baseq3/pak0.pk3 ./quake3-arena/server/baseq3/ && rm -rf ./quake3-arena/client/'" - }, - { - "UpdateStageName":"Patch Files Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://files.ioquake3.org/quake3-latest-pk3s.zip", - "UpdateSourceTarget":"{{$FullRootDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Patch Files Copy", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C xcopy /E /Y /I quake3-arena\\quake3-latest-pk3s\\baseq3\\*.pk3 quake3-arena\\server\\baseq3\\ && xcopy /E /Y /I quake3-arena\\quake3-latest-pk3s\\missionpack\\*.pk3 quake3-arena\\server\\missionpack\\ && rmdir /Q /S quake3-arena\\quake3-latest-pk3s\\" - }, - { - "UpdateStageName":"Patch Files Copy", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c '\\cp -rf ./quake3-arena/quake3-latest-pk3s//baseq3/*.pk3 ./quake3-arena/server/baseq3/ && \\cp -rf ./quake3-arena/quake3-latest-pk3s/missionpack/*.pk3 ./quake3-arena/server/missionpack/ && rm -rf ./quake3-arena/quake3-latest-pk3s/'" - }, - { - "UpdateStageName":"Base.cfg Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/quake3-arenabase.cfg", - "UpdateSourceArgs":"base.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}baseq3", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Server.cfg Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/quake3-arenaserver.cfg", - "UpdateSourceArgs":"server.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}baseq3", - "OverwriteExistingFiles":false - } -] \ No newline at end of file diff --git a/quake3-arena.kvp b/redm.kvp similarity index 53% rename from quake3-arena.kvp rename to redm.kvp index 67baae252..d3748f190 100644 --- a/quake3-arena.kvp +++ b/redm.kvp @@ -1,16 +1,16 @@ -Meta.DisplayName=Quake III Arena -Meta.Description=Quake III Arena Dedicated Server +Meta.DisplayName=RedM - Red Dead Redemption 2 Server +Meta.Description=RedM Multiplayer Mod for Red Dead Redemption 2 Meta.OS=Windows, Linux -Meta.AarchSupport=NotSupported +Meta.AarchSupport=Unknown Meta.Arch=x86_64 Meta.Author=Greelan -Meta.URL=https://www.idsoftware.com/en-gb#section-games -Meta.DisplayImageSource=steam:2200 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=quake3-arenaconfig.json -Meta.MetaConfigManifest=quake3-arenametaconfig.json -Meta.ConfigRoot=quake3-arena.kvp -Meta.MinAMPVersion=2.4.6.0 +Meta.URL=https://redm.gg/ +Meta.DisplayImageSource=steam:1174180 +Meta.EndpointURIFormat= +Meta.ConfigManifest=redmconfig.json +Meta.MetaConfigManifest=redmmetaconfig.json +Meta.ConfigRoot=redm.kvp +Meta.MinAMPVersion=2.4.6.4 Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.DockerBaseReadOnly=False @@ -20,42 +20,42 @@ Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False +Meta.NoCommercialUsage=True Meta.ConfigVersion=0.0.0.0 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= -App.DisplayName=Quake III Arena -App.RootDir=./quake3-arena/ -App.BaseDirectory=./quake3-arena/server/ +App.DisplayName=RedM +App.RootDir=./redm/ +App.BaseDirectory=./redm/ App.SteamWorkshopDownloadLocation= -App.ExecutableWin=server\ioq3ded.x86_64.exe -App.ExecutableLinux=server/ioq3ded.x86_64 -App.WorkingDir=server -App.LinuxCommandLineArgs= +App.ExecutableWin=server\FXServer.exe +App.ExecutableLinux=server/alpine/opt/cfx-server/ld-musl-x86_64.so.1 +App.WorkingDir=server-data +App.LinuxCommandLineArgs=--library-path "{{$FullBaseDir}}server/alpine/usr/lib/v8/:{{$FullBaseDir}}server/alpine/lib/:{{$FullBaseDir}}server/alpine/usr/lib/" -- "{{$FullBaseDir}}server/alpine/opt/cfx-server/FXServer" +set citizen_dir "{{$FullBaseDir}}server/alpine/opt/cfx-server/citizen/" App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} +set fs_homepath "{{$FullBaseDir}}" +set net_port {{$ServerPort}} +set net_ip {{$ApplicationIPBinding}} +{{map_type}} {{map_name}} +set rconpassword "{{$RemoteAdminPassword}}" {{$FormattedArgs}} +exec base.cfg +App.CommandLineArgs={{$PlatformArgs}} {{CustomArgs}} +set gamename rdr3 +set rcon_password {{$RemoteAdminPassword}} +set serverProfile default {{$FormattedArgs}} +exec server.cfg App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"2200"} -App.CommandLineParameterFormat=+set {0} "{1}" +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1174180","YARN_TIMEOUT_CONFIG":"100000"} +App.CommandLineParameterFormat=+{0} {1} App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE +App.ExitMethod=String App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=lock +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":"Both","Port":27960,"Name":"Server Port","Description":"Port for game and RCON traffic","Ref":"ServerPort"}] +App.Ports=[{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] App.AdminPortRef=ServerPort App.PrimaryApplicationPortRef=ServerPort App.UniversalSleepApplicationUDPPortRef=ServerPort App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=8 +App.MaxUsers=32 App.UseRandomAdminPassword=True -App.PersistRandomPassword=True +App.PersistRandomPassword=False App.RemoteAdminPassword= App.AdminMethod=QuakeRCON App.AdminLoginTransform=None @@ -65,13 +65,13 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[quake3-arenaupdates.json] +App.UpdateSources=@IncludeJson[redmupdates.json] App.PreStartStages=[] App.ForceUpdate=False App.ForceUpdateReason= App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=True +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False App.RapidStartup=False App.MonitorChildProcess=False App.DumpFullChildProcessTree=False @@ -81,10 +81,10 @@ App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= +Console.FilterMatchRegex=\[[\d;]+m|\[\d+m Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^AAS initialized\.$ +Console.ThrowawayMessageRegex= +Console.AppReadyRegex=^\[ citizen-server-impl\] Authenticated with cfx\.re Nucleus: .*$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ diff --git a/redmconfig.json b/redmconfig.json new file mode 100644 index 000000000..b9a6f5a1f --- /dev/null +++ b/redmconfig.json @@ -0,0 +1,413 @@ +[ + { + "DisplayName":"Server Port", + "Category":"Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$ServerPort", + "InputType":"number", + "Hidden":true, + "ParamFieldName":"ServerPort", + "EnumValues":{} + }, + { + "DisplayName":"Server Build", + "Category":"Server Settings", + "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", + "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", + "FieldName":"ServerBuild", + "InputType":"enum", + "ParamFieldName":"ServerBuild", + "DefaultValue":"recommended_download", + "EnumValues":{ + "recommended_download":"Recommended (default)", + "optional_download":"Optional", + "latest_download":"Latest", + "critical_download":"Critical", + "SpecificVersion":"Specific version" + } + }, + { + "DisplayName":"Specific Build Version Download URL", + "Category":"Server Settings", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Release Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", + "Keywords":"server,build,artifact,specific,version", + "FieldName":"SpecificBuildVersionURL", + "InputType":"url", + "ParamFieldName":"SpecificBuildVersionURL", + "DefaultValue":"", + "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.7z", + "EnumValues":{} + }, + { + "DisplayName":"Resource GitHub Repo", + "Category":"Server Settings", + "Description":"Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", + "Keywords":"resource,repo,repository,github", + "FieldName":"ResourceRepo", + "InputType":"enum", + "ParamFieldName":"ResourceRepo", + "DefaultValue":"https://github.com/citizenfx/cfx-server-data.git", + "EnumValues":{ + "https://github.com/citizenfx/cfx-server-data.git":"Cfx.re standard repo (default)", + "{{CustomRepo}}":"Custom repo" + } + }, + { + "DisplayName":"Custom Repo URL", + "Category":"Server Settings", + "Description":"Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", + "Keywords":"resource,custom,repo,repository,github,url", + "FieldName":"CustomRepo", + "InputType":"url", + "ParamFieldName":"CustomRepo", + "DefaultValue":"", + "Placeholder":"https://github.com/username/reponame.git", + "EnumValues":{} + }, + { + "DisplayName":"Cfx.re Licence Key", + "Category":"Server Settings", + "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", + "Keywords":"licence,license,key,keymaster,sv_licenseKey", + "FieldName":"sv_licenseKey", + "InputType":"password", + "ParamFieldName":"sv_licenseKey", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Steam Web API Key", + "Category":"Server Settings", + "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", + "Keywords":"steam,web,api,key,steam_webApiKey", + "FieldName":"steam_webApiKey", + "InputType":"password", + "ParamFieldName":"steam_webApiKey", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"Server Settings", + "Description":"Sets the name that shows when selecting the server in the server browser", + "Keywords":"server,name,hostname", + "FieldName":"sv_hostname", + "InputType":"text", + "ParamFieldName":"sv_hostname", + "DefaultValue":"AMP Powered RedM Server", + "EnumValues":{} + }, + { + "DisplayName":"Project Name", + "Category":"Server Settings", + "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", + "Keywords":"project,name,sv_projectName", + "FieldName":"sv_projectName", + "InputType":"text", + "ParamFieldName":"sv_projectName", + "DefaultValue":"AMP Powered RedM Server", + "EnumValues":{} + }, + { + "DisplayName":"Project Description", + "Category":"Server Settings", + "Description":"Sets the description that shows in the server browser", + "Keywords":"project,description,sv_projectDesc", + "FieldName":"sv_projectDesc", + "InputType":"text", + "ParamFieldName":"sv_projectDesc", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Tags", + "Category":"Server Settings", + "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", + "Keywords":"tags", + "FieldName":"tags", + "InputType":"text", + "ParamFieldName":"tags", + "DefaultValue":"default", + "Placeholder":"default", + "EnumValues":{} + }, + { + "DisplayName":"Server Locale", + "Category":"Server Settings", + "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", + "Keywords":"locale,language,country", + "FieldName":"locale", + "InputType":"text", + "ParamFieldName":"locale", + "DefaultValue":"en-US", + "Placeholder":"en-US", + "EnumValues":{} + }, + { + "DisplayName":"Server Icon", + "Category":"Server Settings", + "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", + "Keywords":"server,icon,load_server_icon", + "FieldName":"load_server_icon", + "InputType":"text", + "ParamFieldName":"load_server_icon", + "DefaultValue":"", + "Placeholder":"myLogo.png", + "EnumValues":{} + }, + { + "DisplayName":"Server Detail Banner Image URL", + "Category":"Server Settings", + "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", + "Keywords":"banner,detail,image,url,banner_detail", + "FieldName":"banner_detail", + "InputType":"text", + "ParamFieldName":"banner_detail", + "DefaultValue":"", + "Placeholder":"https://url.to/image.png", + "EnumValues":{} + }, + { + "DisplayName":"Connecting Banner Image URL", + "Category":"Server Settings", + "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", + "Keywords":"banner,connecting,image,url,banner_connecting", + "FieldName":"banner_connecting", + "InputType":"text", + "ParamFieldName":"banner_connecting", + "DefaultValue":"", + "Placeholder":"https://url.to/image.png", + "EnumValues":{} + }, + { + "DisplayName":"Mark Server Private", + "Category":"Server Settings", + "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", + "Keywords":"private,server,list,sv_master1", + "FieldName":"sv_master1", + "InputType":"checkbox", + "ParamFieldName":"sv_master1", + "DefaultValue":"", + "EnumValues":{ + "False":"", + "True":"sv_master1 \"\" " + } + }, + { + "DisplayName":"Starting Resources", + "Category":"Server Settings", + "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", + "Keywords":"ensure,resources", + "FieldName":"ensure", + "InputType":"Textarea", + "ParamFieldName":"ensure", + "DefaultValue":"ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", + "Placeholder":"ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", + "EnumValues":{} + }, + { + "DisplayName":"Enable Endpoint Privacy", + "Category":"Server Settings", + "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", + "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", + "FieldName":"sv_endpointPrivacy", + "InputType":"checkbox", + "ParamFieldName":"sv_endpointPrivacy", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enforce Game Build", + "Category":"Server Settings", + "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", + "Keywords":"enforce,game,build,sv_enforceGameBuild", + "FieldName":"sv_enforceGameBuild", + "InputType":"enum", + "ParamFieldName":"sv_enforceGameBuild", + "DefaultValue":"1311", + "EnumValues":{ + "1311":"1311 (Mid 2020 update)", + "1355":"1355 (December 2020 update)", + "1436":"1436 (July 2021 update)", + "1491":"1491 (September 2022 update)" + } + }, + { + "DisplayName":"Player Limit", + "Category":"Server Settings", + "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", + "Keywords":"maximum,players,clients,limit,maxClients", + "FieldName":"$MaxUsers", + "InputType":"number", + "MinValue":"1", + "MaxValue":"2048", + "ParamFieldName":"sv_maxClients", + "DefaultValue":"32", + "Placeholder":"32", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"OneSync Mode", + "Category":"Server Settings", + "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", + "Keywords":"onesync,state,awareness,system", + "FieldName":"onesync", + "InputType":"enum", + "ParamFieldName":"onesync", + "DefaultValue":"on", + "EnumValues":{ + "off":"Off", + "on":"On (default)", + "legacy":"Legacy compatibility mode" + } + }, + { + "DisplayName":"Enable OneSync Population", + "Category":"Server Settings", + "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", + "Keywords":"onesync,population,npcs,vehicles,onesync_population", + "FieldName":"onesync_population", + "InputType":"checkbox", + "ParamFieldName":"onesync_population", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable OneSync Vehicle Distance Culling", + "Category":"Server Settings", + "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", + "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", + "FieldName":"onesync_distanceCullVehicles", + "InputType":"checkbox", + "ParamFieldName":"onesync_distanceCullVehicles", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable OneSync Forced Migration", + "Category":"Server Settings", + "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", + "Keywords":"onesync,force,migration,onesync_forceMigration", + "FieldName":"onesync_forceMigration", + "InputType":"checkbox", + "ParamFieldName":"onesync_forceMigration", + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Enable OneSync Workaround", + "Category":"Server Settings", + "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", + "Keywords":"onesync,workaround,onesync_workaround763185", + "FieldName":"onesync_workaround763185", + "InputType":"checkbox", + "ParamFieldName":"onesync_workaround763185", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Allow Scripthook Plugins", + "Category":"Server Settings", + "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", + "Keywords":"scripthook,plugins,sv_scriptHookAllowed", + "FieldName":"sv_scriptHookAllowed", + "InputType":"checkbox", + "ParamFieldName":"sv_scriptHookAllowed", + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Block Modified Client Files", + "Category":"Server Settings", + "Description":"Sets whether players will be prevented from using modified client files", + "Keywords":"modified,client,files,sv_pureLevel", + "FieldName":"sv_pureLevel", + "InputType":"enum", + "ParamFieldName":"sv_pureLevel", + "DefaultValue":"", + "EnumValues":{ + "":"No block", + "sv_pureLevel 1":"Block all except audio files and known graphics mods", + "sv_pureLevel 2":"Block all" + } + }, + { + "DisplayName":"Access Control Commands", + "Category":"Server Settings", + "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", + "Keywords":"admin,access,control", + "FieldName":"AccessControlCommands", + "InputType":"Textarea", + "ParamFieldName":"AccessControlCommands", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Enable HTTP Flood Protection", + "Category":"Server Settings", + "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", + "Keywords":"http,flood,protection,sv_requestParanoia", + "FieldName":"sv_requestParanoia", + "InputType":"enum", + "ParamFieldName":"sv_requestParanoia", + "DefaultValue":"0", + "EnumValues":{ + "0":"Off (default)", + "1":"Level 1: Blocks IPs with 'Via' header requests", + "2":"Level 2: Previous + blocks IPs with 'Upgrade-Insecure-Requests' header requests", + "3":"Level 3: Previous + closes socket on which requests submitted" + } + }, + { + "DisplayName":"Server/RCON IP Binding", + "Category":"Server Settings", + "Description":"If required, you can change the IP binding of the server and RCON 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,endpoint,endpoint_add_udp,endpoint_add_tcp", + "FieldName":"$ApplicationIPBinding", + "InputType":"hidden", + "ParamFieldName":"ApplicationIPBinding", + "EnumValues":{} + }, + { + "DisplayName":"Additional Command Line Parameters", + "Category":"Server Settings", + "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", + "Keywords":"custom,server,arguments,variables,parameters", + "FieldName":"CustomArgs", + "InputType":"Textarea", + "ParamFieldName":"CustomArgs", + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Additional Server Settings", + "Category":"Server Settings", + "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", + "Keywords":"additional,settings,custom", + "FieldName":"UserSettings", + "InputType":"Textarea", + "ParamFieldName":"UserSettings", + "DefaultValue":"", + "EnumValues":{} + } +] diff --git a/redmmetaconfig.json b/redmmetaconfig.json new file mode 100644 index 000000000..209e0d625 --- /dev/null +++ b/redmmetaconfig.json @@ -0,0 +1,8 @@ +[ + { + "ConfigFile":"server-data/server.cfg", + "AutoMap":true, + "ConfigType":"template", + "ConfigFileTemplate":"./AMP_server.cfg" + } +] diff --git a/redmserver.cfg b/redmserver.cfg new file mode 100644 index 000000000..956a2edd3 --- /dev/null +++ b/redmserver.cfg @@ -0,0 +1,32 @@ +# This file is controlled by AMP. Any manual changes will be overwritten +# If you need to add any extra settings, add them through the AMP UI + +{{UserSettings}} + +endpoint_add_tcp "{{ApplicationIPBinding}}:{{ServerPort}}" +endpoint_add_udp "{{ApplicationIPBinding}}:{{ServerPort}}" +sv_licenseKey "{{sv_licenseKey}}" +set steam_webApiKey "{{steam_webApiKey}}" +sv_hostname "{{sv_hostname}}" +sets sv_projectName "{{sv_projectName}}" +sets sv_projectDesc "{{sv_projectDesc}}" +sets tags "{{tags}}" +sets locale "{{locale}}" +load_server_icon "{{load_server_icon}}" +sets banner_detail "{{banner_detail}}" +sets banner_connecting "{{banner_connecting}}" +{{sv_master1}} +{{ensure}} +sv_endpointPrivacy {{sv_endpointPrivacy}} +sv_enforceGameBuild {{sv_enforceGameBuild}} +sv_maxClients {{sv_maxClients}} +set onesync {{onesync}} +set onesync_population {{onesync_population}} +set onesync_distanceCullVehicles {{onesync_distanceCullVehicles}} +set onesync_forceMigration {{onesync_forceMigration}} +set onesync_workaround763185 {{onesync_workaround763185}} +sv_scriptHookAllowed {{sv_scriptHookAllowed}} +{{sv_pureLevel}} +sv_requestParanoia {{sv_requestParanoia}} + +{{AccessControlCommands}} diff --git a/redmupdates.json b/redmupdates.json new file mode 100644 index 000000000..68d4fda9c --- /dev/null +++ b/redmupdates.json @@ -0,0 +1,176 @@ +[ + { + "UpdateStageName":"Create Server Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}server", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Data Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}server-data", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Delete Binary Directory Contents", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server/alpine/*'" + }, + { + "UpdateStageName":"Delete Binary Directory Contents", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"Executable", + "UpdateSourceData":"cmd.exe", + "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server\\alpine\\*" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.recommended_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"recommended_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.recommended_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"recommended_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.optional_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"optional_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.optional_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"optional_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.latest_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"latest_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.latest_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"latest_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.critical_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"critical_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.critical_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"critical_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"{{SpecificBuildVersionURL}}", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"SpecificVersion", + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"{{SpecificBuildVersionURL}}", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"SpecificVersion", + }, + { + "UpdateStageName":"Server Extract", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'cd ./redm/server && tar -xf fx.tar.xz && rm -f fx.tar.xz'" + }, + { + "UpdateStageName":"Clone Resources Repo", + "UpdateSourcePlatform":"All", + "UpdateSource":"GitRepo", + "UpdateSourceData":"{{ResourceRepo}}", + "UpdateSourceTarget":"{{$FullBaseDir}}server-data" + }, + { + "UpdateStageName":"Server.cfg Template Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"FetchURL", + "UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/fivemredm/redmserver.cfg", + "UpdateSourceArgs":"AMP_server.cfg", + "UpdateSourceTarget":"{{$FullInstanceDir}}", + "OverwriteExistingFiles":true + } +] diff --git a/risk-of-rain-2.kvp b/risk-of-rain-2.kvp deleted file mode 100644 index d65cd31ee..000000000 --- a/risk-of-rain-2.kvp +++ /dev/null @@ -1,85 +0,0 @@ -Meta.DisplayName=Risk of Rain 2 -Meta.Description=Risk of Rain 2 Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=IceOfWraith, Greelan -Meta.URL=https://store.steampowered.com/app/632360/Risk_of_Rain_2/ -Meta.DisplayImageSource=steam:632360 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2} -Meta.ConfigManifest=risk-of-rain-2config.json -Meta.MetaConfigManifest=risk-of-rain-2metaconfig.json -Meta.ConfigRoot=risk-of-rain-2.kvp -Meta.MinAMPVersion=2.3.3.0 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine (ideally Wine 8) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Risk of Rain 2 -App.RootDir=./risk-of-rain-2/ -App.BaseDirectory=./risk-of-rain-2/1180760/ -App.ExecutableWin=1180760\Risk of Rain 2.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=1180760 -App.LinuxCommandLineArgs=-a wine "./Risk of Rain 2.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"{{$SteamAppID}}","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDLLOVERRIDES":"winhttp=n,b","WINEDEBUG":"-all"} -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":2,"Port":27015,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic","ChildPorts":null},{"Protocol":2,"Port":27016,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Steam Query Port","Description":"Port for Steam query traffic","ChildPorts":null},{"Protocol":2,"Port":27017,"Offset":0,"Range":1,"Ref":"ApplicationPort3","Name":"Steam Port","Description":"Port for Steam traffic","ChildPorts":null}] -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=ApplicationPort1 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=ApplicationPort2 -App.MaxUsers=4 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[risk-of-rain-2updates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=wine64 -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^.*Couldn't create a Convex Mesh from source mesh.*$|^.*Shader .* fallback shader .* not found.*$|^.*\[RoR2\.Audio\.NetworkSoundEventCatalog\] Error during network sound registration.*does not exist.*$|^.*\(Filename:.*Line: \d+\).*|Fallback handler could not load library .*$ -Console.AppReadyRegex=^.*Press Enter to chat.*$ -Console.UserJoinRegex=^.*NetworkManagerSystem\.AddPlayerInternal\(conn=hostId: \d+ connectionId: (?<sessionid>\d+) .*$ -Console.UserLeaveRegex=^.*Log: connection \{(?<sessionid>\d+)\} has been disconnected by timeout.*$ -Console.UserChatRegex=^\[\d\d:\d\d:\d\d\] \[CHAT\] <(?<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=100 - diff --git a/risk-of-rain-2config.json b/risk-of-rain-2config.json deleted file mode 100644 index 39e2d67a6..000000000 --- a/risk-of-rain-2config.json +++ /dev/null @@ -1,170 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort1", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"sv_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Steam Query Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort2", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"steam_server_query_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Steam Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort3", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"steam_server_steam_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Host Name", - "Category":"Server Settings", - "Description":"Sets the name of the server displayed publicly", - "Keywords":"host,name,server,sv_hostname", - "FieldName":"sv_hostname", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"sv_hostname", - "IncludeInCommandLine":false, - "DefaultValue":"ROR2 - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Custom Tags", - "Category":"Server Settings", - "Description":"Comma separated list of tags to display in the server browser", - "Keywords":"custom,tags,sv_custom_tags", - "FieldName":"sv_custom_tags", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"sv_custom_tags", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Sets the password for players to join the server. Default is no password", - "Keywords":"server,password,users,sv_password", - "FieldName":"sv_password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"sv_password", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Sets the maximum number of players that may join the server at one time", - "Keywords":"max,players,sv_maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"sv_maxplayers", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{} - }, - { - "DisplayName":"Advertise Server", - "Category":"Server Settings", - "Description":"If enabled, the server will be advertised on the server list", - "Keywords":"advertise,server,list,steam,heartbeat,steam_server_heartbeat_enabled", - "FieldName":"steam_server_heartbeat_enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"steam_server_heartbeat_enabled", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "True":"1", - "False":"0" - } - }, - { - "DisplayName":"Game Mode", - "Category":"Server Settings", - "Description":"Sets the game mode for the server", - "Keywords":"game,mode,gamemode", - "FieldName":"gamemode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"gamemode", - "IncludeInCommandLine":false, - "DefaultValue":"ClassicRun", - "EnumValues":{ - "EclipseRun":"Eclipse", - "ClassicRun":"Normal (default)", - "InfiniteTowerRun":"Simulacrum" - } - }, - { - "DisplayName":"Additional Server Settings", - "Category":"Server Settings", - "Description":"Specifies additional [settings](https://riskofrain2.fandom.com/wiki/Developer_Console) to include in \"server.cfg\". Each setting must be on a separate line and end with a semi-colon (;)", - "Keywords":"additional,settings,custom", - "FieldName":"UserSettings", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"UserSettings", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Install BepInEx", - "Category":"SteamCMD and Updates", - "Description":"Installs BepInEx. You must also select the \"BepInEx Version\" in the next field. NOTE: Update the server after enabling this option", - "Keywords":"install,bepinex", - "FieldName":"BepInExInstall", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"BepInExInstall", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"BepInEx Version", - "Category":"SteamCMD and Updates", - "Description":"The version of BepInEx to download. You can find the latest version on [Thunderstore.io](https://thunderstore.io/package/bbepis/BepInExPack/). NOTE: Update the server after editing this option", - "Keywords":"install,bepinex,version", - "FieldName":"BepInExVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"BepInExVersion", - "IncludeInCommandLine":false, - "DefaultValue":"5.4.2109", - "Placeholder":"5.4.2109", - "EnumValues":{} - } -] \ No newline at end of file diff --git a/risk-of-rain-2metaconfig.json b/risk-of-rain-2metaconfig.json deleted file mode 100644 index 0bda8ee8e..000000000 --- a/risk-of-rain-2metaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile":"Risk of Rain 2_Data/Config/server.cfg", - "ConfigType":"template", - "AutoMap":true, - "ConfigFileTemplate":"risk-of-rain-2/AMP_server.cfg" - } -] \ No newline at end of file diff --git a/risk-of-rain-2server.cfg b/risk-of-rain-2server.cfg deleted file mode 100644 index d900af9aa..000000000 --- a/risk-of-rain-2server.cfg +++ /dev/null @@ -1,13 +0,0 @@ -// This file is controlled by AMP and -// must be configured via AMP - -sv_maxplayers {{sv_maxplayers}}; -steam_server_heartbeat_enabled {{steam_server_heartbeat_enabled}}; -sv_hostname "{{sv_hostname}}"; -sv_port {{sv_port}}; -steam_server_query_port {{steam_server_query_port}}; -steam_server_steam_port {{steam_server_steam_port}}; -sv_password "{{sv_password}}"; -sv_custom_tags "{{sv_custom_tags}}"; -gamemode "{{gamemode}}"; -{{UserSettings}} \ No newline at end of file diff --git a/risk-of-rain-2updates.json b/risk-of-rain-2updates.json deleted file mode 100644 index 35f7f077e..000000000 --- a/risk-of-rain-2updates.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1180760", - "UpdateSourceArgs":"632360", - "ForceDownloadPlatform":"Windows" - }, - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1007", - "UpdateSourceTarget":"1180760", - "ForceDownloadPlatform":"Windows" - }, - { - "UpdateStageName":"Server Config Template File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/risk-of-rain-2server.cfg", - "UpdateSourceArgs":"AMP_server.cfg", - "UpdateSourceTarget":"{{$FullRootDir}}", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Download BepInEx From Thunderstore", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://gcdn.thunderstore.io/live/repository/packages/bbepis-BepInExPack-{{BepInExVersion}}.zip", - "UpdateSourceArgs":"bbepis-BepInExPack-{{BepInExVersion}}.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceConditionSetting":"BepInExInstall", - "UpdateSourceConditionValue":"true", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"BepInEx Copy", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C xcopy /E /Y /I risk-of-rain-2\\1180760\\BepInExPack\\* risk-of-rain-2\\1180760\\ && rmdir /Q /S risk-of-rain-2\\1180760\\BepInExPack", - "UpdateSourceConditionSetting":"BepInExInstall", - "UpdateSourceConditionValue":"true" - }, - { - "UpdateStageName":"BepInEx Copy", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c '\\cp -rf ./risk-of-rain-2/1180760/BepInExPack/* ./risk-of-rain-2/1180760/ && rm -rf ./risk-of-rain-2/1180760/BepInExPack/'", - "UpdateSourceConditionSetting":"BepInExInstall", - "UpdateSourceConditionValue":"true" - }, - { - "UpdateStageName":"Initialise Wine", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" - } -] diff --git a/satisfactory.kvp b/satisfactory.kvp deleted file mode 100644 index b55698c92..000000000 --- a/satisfactory.kvp +++ /dev/null @@ -1,100 +0,0 @@ -Meta.DisplayName=Satisfactory -Meta.Description=Satisfactory Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=Greelan, CubeCoders Limited -Meta.URL=https://www.satisfactorygame.com/ -Meta.DisplayImageSource=steam:526870 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort3} -Meta.ConfigManifest=satisfactoryconfig.json -Meta.MetaConfigManifest=satisfactorymetaconfig.json -Meta.ConfigRoot=satisfactory.kvp -Meta.MinAMPVersion=2.3.4.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -Meta.ConfigVersion=0.0.0.0 -Meta.ReleaseNotes= -Meta.BreakingReleaseNotes= -App.DisplayName=Satisfactory -App.RootDir=./satisfactory/ -App.BaseDirectory=./satisfactory/1690800/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin=1690800\Engine\Binaries\Win64\UE4Server-Win64-Shipping.exe -App.ExecutableLinux=1690800/Engine/Binaries/Linux/UE4Server-Linux-Shipping -App.WorkingDir=1690800 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} FactoryGame -MultiHome={{$ApplicationIPBinding}} -Port={{$ApplicationPort1}} -BeaconPort={{$ApplicationPort2}} -ServerQueryPort={{$ApplicationPort3}} {{$FormattedArgs}} -log -unattended -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"526870"} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=10 -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":"UDP","Port":15777,"Offset":0,"Range":1,"Ref":"ApplicationPort3","Name":"Server Query Port","Description":"Port used to connect to server in-game","ChildPorts":null},{"Protocol":"UDP","Port":15000,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Beacon Port","Description":"","ChildPorts":null},{"Protocol":"UDP","Port":7777,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for main game traffic","ChildPorts":null}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=ApplicationPort3 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=ApplicationPort3 -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[satisfactoryupdates.json] -App.PreStartStages=[] -App.ForceUpdate=False -App.ForceUpdateReason= -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=False -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex=^\[.+?\]\[.+?\] -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^LogWorld: Bringing up level for play took: [\d\.]+|LogInit: Display: Starting Game\.$ -Console.UserJoinRegex=^User (?<username>.+?) \((?<userid>-?d+)\) connected from \[::ffff:(?<endpoint>.+?)\]$ -Console.UserLeaveRegex=^User (?<username>.+?) \((?<userid>-?d+)\) disconnected\. Reason: (.+?)$ -Console.UserChatRegex=^$ -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/satisfactoryconfig.json b/satisfactoryconfig.json deleted file mode 100644 index 41be43bb5..000000000 --- a/satisfactoryconfig.json +++ /dev/null @@ -1,173 +0,0 @@ -[ - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at one time", - "Keywords":"maximum,players,limit,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"ini:Game:[/Script/Engine.GameSession]:MaxPlayers", - "IncludeInCommandLine":true, - "DefaultValue":"4", - "Placeholder":"4", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Initial Connection Timeout", - "Category":"Server Settings", - "Description":"Sets the amount of time to wait for a new network connection to be established before destroying the connection. May assist with connection issues for client systems with older hardware or slower networks", - "Keywords":"initial,connect,connection,timeout,initialconnecttimeout", - "FieldName":"InitialConnectTimeout", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:InitialConnectTimeout", - "IncludeInCommandLine":true, - "DefaultValue":"30", - "Placeholder":"30", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Established Connection Timeout", - "Category":"Server Settings", - "Description":"Sets the amount of time to wait before considering an established connection timed out. Typically shorter than the Initial Connection Timeout. May assist with connection issues for client systems with older hardware or slower networks", - "Keywords":"established,connection,timeout,connectiontimeout", - "FieldName":"ConnectionTimeout", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:ConnectionTimeout", - "IncludeInCommandLine":true, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Tick Rate", - "Category":"Server Settings", - "Description":"Sets the maximum tick rate for the server", - "Keywords":"maximum,tick,rate,netmaxtickrate,lanmaxtickrate", - "FieldName":"MaxTickRate", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:NetServerMaxTickRate", - "IncludeInCommandLine":true, - "DefaultValue":"30", - "Placeholder":"30", - "Suffix":"ticks per second", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Tick Rate", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"MaxTickRate", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:LanServerMaxTickRate", - "IncludeInCommandLine":true, - "EnumValues":{} - }, - { - "DisplayName":"Maximum Tick Rate", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"MaxTickRate", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[/Script/SocketSubsystemEpic.EpicNetDriver]:NetServerMaxTickRate", - "IncludeInCommandLine":true, - "EnumValues":{} - }, - { - "DisplayName":"Maximum Tick Rate", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"MaxTickRate", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[/Script/SocketSubsystemEpic.EpicNetDriver]:LanServerMaxTickRate", - "IncludeInCommandLine":true, - "EnumValues":{} - }, - { - "DisplayName":"Maximum Tick Rate", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"MaxTickRate", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[/Script/Engine.Engine]:NetClientTicksPerSecond", - "IncludeInCommandLine":true, - "EnumValues":{} - }, - { - "DisplayName":"Server IP Binding", - "Category":"Server Settings", - "Description":"If required, you can change the binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", - "Keywords":"ip,binding,multihome", - "FieldName":"MultiHome", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Maximum Autosaves", - "Category":"Server Settings", - "Description":"Sets the maximum number of autosaves created before rotation by the server", - "Keywords":"maximum,autosaves,rotation,mnumrotatingautosaves", - "FieldName":"mNumRotatingAutosaves", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[/Script/FactoryGame.FGSaveSession]:mNumRotatingAutosaves", - "IncludeInCommandLine":true, - "DefaultValue":"3", - "Placeholder":"3", - "Suffix":"autosaves", - "EnumValues":{} - }, - { - "DisplayName":"Enable Crash Reports Upload (Linux Only)", - "Category":"Server Settings", - "Description":"If enabled, crash reports will be automatically uploaded to the Satisfactory developers", - "Keywords":"crash,reports,upload,bimplicitsend", - "FieldName":"bImplicitSend", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ini:Engine:[CrashReportClient]:bImplicitSend", - "IncludeInCommandLine":true, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Server Release Stream", - "Category":"SteamCMD and Updates", - "Description":"Sets the server release stream to install. Note: Update the server after changing this setting", - "Keywords":"release,stream,beta,version", - "FieldName":"releasestream", - "InputType":"enum", - "ParamFieldName":"releasestream", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "EnumValues":{ - "public":"Public/Early Access (default)", - "experimental":"Experimental" - } - } -] diff --git a/satisfactorymetaconfig.json b/satisfactorymetaconfig.json deleted file mode 100644 index fe51488c7..000000000 --- a/satisfactorymetaconfig.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/satisfactoryupdates.json b/satisfactoryupdates.json deleted file mode 100644 index c3bd76893..000000000 --- a/satisfactoryupdates.json +++ /dev/null @@ -1,59 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1690800", - "UpdateSourceArgs":"526870", - "UpdateSourceVersion":"{{releasestream}}" - }, - { - "UpdateStageName":"SteamCMD Component Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1007", - "UpdateSourceTarget":"1690800/FactoryGame/Binaries/Win64" - }, - { - "UpdateStageName":"Create Experimental Binary Copy", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}Engine/Binaries/Linux/UE4Server-Linux-Shipping", - "UpdateSourceArgs":"{{$FullBaseDir}}Engine/Binaries/Linux/UnrealServer-Linux-Shipping", - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"releasestream", - "UpdateSourceConditionValue":"experimental" - }, - { - "UpdateStageName":"Create Experimental Binary Copy", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}Engine/Binaries/Win64/UE4Server-Win64-Shipping.exe", - "UpdateSourceArgs":"{{$FullBaseDir}}Engine/Binaries/Win64/UnrealServer-Win64-Shipping.exe", - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"releasestream", - "UpdateSourceConditionValue":"experimental" - }, - { - "UpdateStageName":"Saves Directory Creation", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'mkdir -p ~/.config/Epic/FactoryGame/Saved/SaveGames ; mkdir -p \"{{$FullBaseDir}}FactoryGame/Saved\" ; ln -sf ~/.config/Epic/FactoryGame/Saved/SaveGames \"{{$FullBaseDir}}FactoryGame/Saved/\"'" - }, - { - "UpdateStageName":"Saves Directory Creation", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C mkdir \"%LocalAppData%\\FactoryGame\\Saved\\SaveGames\" & mkdir \"{{$FullBaseDir}}FactoryGame\\Saved\" & mklink /J \"{{$FullBaseDir}}FactoryGame\\Saved\\SaveGames\" \"%LocalAppData%\\FactoryGame\\Saved\\SaveGames\"" - }, - { - "UpdateStageName":"Create Readme File", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateFile", - "UpdateSourceArgs":"{{$FullBaseDir}}FactoryGame/Saved/SaveGames/README.txt", - "UpdateSourceData":"WARNING: This directory may include the save data of multiple Satisfactory servers\nrun on this system.\n\nIf viewing this directory from AMP’s ADS File Manager/SFTP, you will see the\nsave data of all Satisfactory servers run on this system, other than those run by\nAMP in Docker.\n\nYou will see the same save data if viewing this directory from AMP’s File Manager/SFTP\nfor a particular Satisfactory instance that is NOT run in Docker.\n\nIf viewing this directory from AMP’s File Manager/SFTP for a particular Satisfactory\ninstance that IS run in Docker, you will only see the save data of that instance.\n\nYou can also use the ADS File Manager/SFTP to view the save data of a Satisfactory\ninstance that is run in Docker by navigating to the following directory in the\ninstance’s datastore: .virtualhome/.config/Epic/FactoryGame/Saved/SaveGames.\n\nThe save data for a specific instance is linked to its port (as part of the\nServerSettings file name) and its session name (as part of the autosave file names\nin the server subdirectory).\n\nSave data will not be automatically deleted when a non-Docker Satisfactory server is\nremoved, so you may need to delete the ServerSettings file and/or autosave files\nif later creating a new Satisfactory server with the same port and/or session name.\n\nTake care when managing files in this directory or its subdirectory!", - "OverwriteExistingFiles":true - } -] diff --git a/scp-secret-laboratory.kvp b/scp-secret-laboratory.kvp deleted file mode 100644 index 5f0e15a9b..000000000 --- a/scp-secret-laboratory.kvp +++ /dev/null @@ -1,101 +0,0 @@ -Meta.DisplayName=SCP: Secret Laboratory -Meta.Description=SCP: Secret Laboratory Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://scpslgame.com/ -Meta.DisplayImageSource=steam:700330 -Meta.EndpointURIFormat= -Meta.ConfigManifest=scp-secret-laboratoryconfig.json -Meta.MetaConfigManifest=scp-secret-laboratorymetaconfig.json -Meta.ConfigRoot=scp-secret-laboratory.kvp -Meta.MinAMPVersion=2.4.6.2 -Meta.SpecificDockerImage=cubecoders/ampbase:mono -Meta.DockerRequired=False -Meta.DockerBaseReadOnly=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server 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=SCP: Secret Laboratory -App.RootDir=./scp-secret-laboratory/ -App.BaseDirectory=./scp-secret-laboratory/996560/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin=996560\LocalAdmin.exe -App.ExecutableLinux=996560/LocalAdmin -App.WorkingDir=996560 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$GamePort}} --useDefault --skipHomeCheck --noSetCursor {{CustomLocalAdminArgs}} -- -silent-crashes {{CustomServerArgs}} -logFile {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"700330"} -App.CommandLineParameterFormat=-{0} {1} -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=exit -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":7777,"Ref":"GamePort","Name":"Game and Query Port","Description":"Port for game and query traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=20 -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[scp-secret-laboratoryupdates.json] -App.PreStartStages=[] -App.ForceUpdate=False -App.ForceUpdateReason= -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=False -App.DumpFullChildProcessTree=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= -Console.AppReadyRegex=^\[[\d-]+ [\d:.]+ (\+|-)[\d:]+\] Waiting for players\.\.\.$ -Console.UserJoinRegex=^\[[\d-]+ [\d:.]+ (\+|-)[\d:]+\] Nickname of (?<userid>.+?)@steam is now (?<username>.+?)\.$ -Console.UserLeaveRegex=^\[[\d-]+ [\d:.]+ (\+|-)[\d:]+\] (?<username>.+?) \((?<userid>.+?)@steam\) disconnected from IP address (?<endpoint>.+?)\. Last class: (?:.*?)\.$ -Console.UserChatRegex=^$ -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/scp-secret-laboratoryconfig.json b/scp-secret-laboratoryconfig.json deleted file mode 100644 index 0678d8059..000000000 --- a/scp-secret-laboratoryconfig.json +++ /dev/null @@ -1,1248 +0,0 @@ -[ - { - "DisplayName":"Server Public IP", - "Category":"SCP SL Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ExternalIP", - "InputType":"text", - "Hidden":true, - "ParamFieldName":"server_ip", - "EnumValues":{} - }, - { - "DisplayName":"Query Port Shift", - "Category":"SCP SL Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"query_port_shift", - "InputType":"number", - "Hidden":true, - "ParamFieldName":"query_port_shift", - "DefaultValue":"0", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"SCP SL Server Settings", - "Description":"Sets the name of the server as shown on the public server list. [Unity Rich Text](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/StyledText.html) formatting is allowed. The server must be [verified](https://scpsl.notion.site/How-do-I-verify-my-server-A-step-by-step-guide-34235d219dce43c7bf47b7c158fa069d) to appear on the list", - "Keywords":"name,servername,server_name", - "FieldName":"server_name", - "InputType":"text", - "ParamFieldName":"server_name", - "DefaultValue":"AMP Powered SCP:SL Server", - "EnumValues":{} - }, - { - "DisplayName":"Player List Server Title", - "Category":"SCP SL Server Settings", - "Description":"Sets the server title (name) displayed only in the player list. Specify \"default\" to use the Server Name", - "Keywords":"player,list,title,name,player_list_title", - "FieldName":"player_list_title", - "InputType":"text", - "ParamFieldName":"player_list_title", - "DefaultValue":"default", - "Placeholder":"default", - "EnumValues":{} - }, - { - "DisplayName":"Player List Server Title Rate", - "Category":"SCP SL Server Settings", - "Description":"Sets the time interval between refreshes of the server title in the player list. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"player,list,title,name,refresh,rate,player_list_title_rate", - "FieldName":"player_list_title_rate", - "InputType":"text", - "ParamFieldName":"player_list_title_rate", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Server Info Pastebin ID", - "Category":"SCP SL Server Settings", - "Description":"Sets the pastebin ID used for the info tab on the server browser. The ID can be found in your browser's web address bar when creating a new file on pastebin. Required for the server to be included on the public server list", - "Keywords":"server,info,pastebin,id,serverinfo_pastebin_id", - "FieldName":"serverinfo_pastebin_id", - "InputType":"text", - "ParamFieldName":"serverinfo_pastebin_id", - "DefaultValue":"7wV681fT", - "Placeholder":"7wV681fT", - "EnumValues":{} - }, - { - "DisplayName":"Contact Email", - "Category":"SCP SL Server Settings", - "Description":"Sets the contact email address of the server owner or adminstrator, as used to verify the server. Required for the server to be included on the public server list", - "Keywords":"contact,email,server,list,contact_email", - "FieldName":"contact_email", - "InputType":"text", - "ParamFieldName":"contact_email", - "DefaultValue":"default", - "Placeholder":"default", - "EnumValues":{} - }, - { - "DisplayName":"Hide From Public List", - "Category":"SCP SL Server Settings", - "Description":"If set, the server will be hidden from the public server list, even if otherwise verified and accessible", - "Keywords":"hide,public,server,list,hide_from_public_list", - "FieldName":"hide_from_public_list", - "InputType":"checkbox", - "ParamFieldName":"hide_from_public_list", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Online Mode", - "Category":"SCP SL Server Settings", - "Description":"If set, enables the server to connect to the central servers. Otherwise, UserID based bans, reserved slots, the whitelist, and remote admin authentication will also be disabled", - "Keywords":"online,mode,central,server,online_mode", - "FieldName":"online_mode", - "InputType":"checkbox", - "ParamFieldName":"online_mode", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Display Custom Whitelist Status", - "Category":"SCP SL Server Settings", - "Description":"If set, the public server list will show the server as using a whitelist. ONLY enable this if the server is verified and uses a plugin or modification that provides a custom whitelist. See the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf) for details", - "Keywords":"public,server,list,whitelist,custom_whitelist", - "FieldName":"custom_whitelist", - "InputType":"checkbox", - "ParamFieldName":"custom_whitelist", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Display Access Restriction Status", - "Category":"SCP SL Server Settings", - "Description":"If set, the public server list will show the server as having access restrictions. ONLY enable this if the server is verified and uses a plugin or modification that restricts access other than by whitelist (such as password). See the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf) for details", - "Keywords":"public,server,list,access,restriction,server_access_restriction", - "FieldName":"server_access_restriction", - "InputType":"checkbox", - "ParamFieldName":"server_access_restriction", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Player Limit", - "Category":"SCP SL Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at one time. Cannot generally exceed 60 for a server to be included on the public server list", - "Keywords":"maximum,players,limit,max_players", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "ParamFieldName":"max_players", - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Enable Player Whitelist", - "Category":"SCP SL Server Settings", - "Description":"If set, only whitelisted players will be able to join, as specified in config/UserIDWhitelist.txt", - "Keywords":"whitelist,enable_whitelist", - "FieldName":"enable_whitelist", - "InputType":"checkbox", - "ParamFieldName":"enable_whitelist", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"IP Banning", - "Category":"SCP SL Server Settings", - "Description":"If set, IP banning will be enabled. Disable this if the server is behind a proxy, firewall, or anti-DDoS system that changes IP addresses from players to own", - "Keywords":"ip,banning,ip_banning", - "FieldName":"ip_banning", - "InputType":"checkbox", - "ParamFieldName":"ip_banning", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Server Tickrate", - "Category":"SCP SL Server Settings", - "Description":"Sets the server tickrate (fps)", - "Keywords":"server,tickrate,fps,server_tickrate", - "FieldName":"server_tickrate", - "InputType":"number", - "MinValue":"1", - "ParamFieldName":"server_tickrate", - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"frames per second", - "EnumValues":{} - }, - { - "DisplayName":"Lobby Waiting Time", - "Category":"SCP SL Server Settings", - "Description":"Sets the waiting time before the game starts. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"lobby,waiting,time,lobby_waiting_time", - "FieldName":"lobby_waiting_time", - "InputType":"text", - "ParamFieldName":"lobby_waiting_time", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Use Reserved Slots", - "Category":"SCP SL Server Settings", - "Description":"If set, reserved slots will be enabled", - "Keywords":"use,reserved,slots,use_reserved_slots", - "FieldName":"use_reserved_slots", - "InputType":"checkbox", - "ParamFieldName":"use_reserved_slots", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Query Protocol", - "Category":"SCP SL Server Settings", - "Description":"Enables the server's query protocol", - "Keywords":"enable,query,protocol,enable_query", - "FieldName":"enable_query", - "InputType":"checkbox", - "ParamFieldName":"enable_query", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Query Protocol Over IPv6", - "Category":"SCP SL Server Settings", - "Description":"If set, the query protocol will be enabled over IPv6", - "Keywords":"query,protocol,ipv6,query_use_IPv6", - "FieldName":"query_use_IPv6", - "InputType":"checkbox", - "ParamFieldName":"query_use_IPv6", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Administrator Query Password", - "Category":"SCP SL Server Settings", - "Description":"Sets the administrator password for the query protocol", - "Keywords":"administrator,query,password,administrator_query_password", - "FieldName":"administrator_query_password", - "InputType":"text", - "ParamFieldName":"administrator_query_password", - "DefaultValue":"none", - "Placeholder":"none", - "EnumValues":{} - }, - { - "DisplayName":"Map Seed", - "Category":"SCP SL Server Settings", - "Description":"Forces a single map seed for all rounds. -1 = random", - "Keywords":"map,seed,map_seed", - "FieldName":"map_seed", - "InputType":"text", - "ParamFieldName":"map_seed", - "DefaultValue":"-1", - "Placeholder":"-1", - "EnumValues":{} - }, - { - "DisplayName":"IPv4 Server Binding", - "Category":"SCP SL Server Settings", - "Description":"Sets the IPv4 binding of the server. Default is 0.0.0.0 (all IPs). Change to a specific IPv4 address on the host if really needed", - "Keywords":"ipv4,binding,ip,address,ipv4_bind_ip", - "FieldName":"ipv4_bind_ip", - "InputType":"text", - "ParamFieldName":"ipv4_bind_ip", - "DefaultValue":"0.0.0.0", - "Placeholder":"0.0.0.0", - "EnumValues":{} - }, - { - "DisplayName":"IPv6 Server Binding", - "Category":"SCP SL Server Settings", - "Description":"Sets the IPv6 binding of the server. Default is :: (all IPs). Change to a specific IPv6 address on the host if really needed", - "Keywords":"ipv6,binding,ip,address,ipv6_bind_ip", - "FieldName":"ipv6_bind_ip", - "InputType":"text", - "ParamFieldName":"ipv6_bind_ip", - "DefaultValue":"::", - "Placeholder":"::", - "EnumValues":{} - }, - { - "DisplayName":"Server Plugins", - "Category":"SCP SL Server Settings", - "Description":"Server plugins must be downloaded to the AppData/SCP Secret Laboratory/PluginAPI/plugins/<GamePort> directory in the instance datastore. More [information on plugins](https://scpsl.notion.site/How-do-I-install-plugins-on-my-server-e7a64ab5b0e541a59333ffbaab2f52c5)", - "Keywords":"plugins", - "FieldName":"Plugins", - "InputType":"hidden", - "ParamFieldName":"Plugins", - "EnumValues":{} - }, - { - "DisplayName":"Enable Sync Command Binding", - "Category":"SCP SL Server Settings", - "Description":"", - "Keywords":"enable,sync,command,binding,enable_sync_command_binding", - "FieldName":"enable_sync_command_binding", - "InputType":"checkbox", - "ParamFieldName":"enable_sync_command_binding", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Rate Limit Kick", - "Category":"SCP SL Server Settings", - "Description":"If set, the server will kick a player after they exceed the command rate limits. Otherwise, command execution will just be disabled", - "Keywords":"command,rate,limit,kick,ratelimit_kick", - "FieldName":"ratelimit_kick", - "InputType":"checkbox", - "ParamFieldName":"ratelimit_kick", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Prevent Same Account Joining", - "Category":"SCP SL Server Settings", - "Description":"If set, prevents players with the same account from joining the server simultaneously", - "Keywords":"same,account,joining,same_account_joining", - "FieldName":"same_account_joining", - "InputType":"checkbox", - "ParamFieldName":"same_account_joining", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Anticheat Console Output", - "Category":"SCP SL Server Settings", - "Description":"If set, anticheat-related messages will be displayed in the server console", - "Keywords":"anticheat,logging,console,anticheat_console_output", - "FieldName":"anticheat_console_output", - "InputType":"checkbox", - "ParamFieldName":"anticheat_console_output", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Display Pre-authentication Logs", - "Category":"SCP SL Server Settings", - "Description":"If enabled, logs related to pre-authentication will be displayed in the server console", - "Keywords":"display,pre-authentication,logs,logging,display_preauth_logs", - "FieldName":"display_preauth_logs", - "InputType":"checkbox", - "ParamFieldName":"display_preauth_logs", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Rejection Logging Suppression Threshold", - "Category":"SCP SL Server Settings", - "Description":"Sets the time period before a new rejection is logged (when using the Query Response System)", - "Keywords":"rejection,suppression,threshold,rejection_suppression_threshold", - "FieldName":"rejection_suppression_threshold", - "InputType":"number", - "ParamFieldName":"rejection_suppression_threshold", - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Challenge Issuance Logging Suppression Threshold", - "Category":"SCP SL Server Settings", - "Description":"Sets the time period before a new challenge issuance is logged", - "Keywords":"challenge,issuance,suppression,time,period,logs,logging,challenge_issuance_suppression_threshold", - "FieldName":"challenge_issuance_suppression_threshold", - "InputType":"number", - "ParamFieldName":"challenge_issuance_suppression_threshold", - "DefaultValue":"50", - "Placeholder":"50", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable UPnP", - "Category":"SCP SL Server Settings", - "Description":"If enabled, the server will automatically create port mappings on UPnP enabled routers", - "Keywords":"upnp,forward,ports,forward_ports", - "FieldName":"forward_ports", - "InputType":"checkbox", - "ParamFieldName":"forward_ports", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Additional LocalAdmin Startup Parameters", - "Category":"SCP SL Server Settings", - "Description":"Specifies additional LocalAdmin (not server binary) startup parameters that are not otherwise set by AMP. Use with care (don't set any path arguments)", - "Keywords":"custom,localadmin,arguments,parameters", - "FieldName":"CustomLocalAdminArgs", - "InputType":"text", - "ParamFieldName":"CustomLocalAdminArgs", - "DefaultValue":"", - "Placeholder":"--logLengthLimit 5G", - "EnumValues":{} - }, - { - "DisplayName":"Additional Server Startup Parameters", - "Category":"SCP SL Server Settings", - "Description":"Specifies additional server binary (not LocalAdmin) startup parameters that are not otherwise set by AMP. Use with care (don't set any path arguments)", - "Keywords":"custom,server,arguments,parameters", - "FieldName":"CustomServerArgs", - "InputType":"text", - "ParamFieldName":"CustomServerArgs", - "DefaultValue":"", - "Placeholder":"-disableconfigvalidation", - "EnumValues":{} - }, - { - "DisplayName":"Server Forced Class", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the forced class on round start. -1 = random", - "Keywords":"server,forced,class,server_forced_class", - "FieldName":"server_forced_class", - "InputType":"number", - "MinValue":"-1", - "ParamFieldName":"server_forced_class", - "DefaultValue":"-1", - "Placeholder":"-1", - "EnumValues":{} - }, - { - "DisplayName":"Player Information Range", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the default range that the player information text appears on clients", - "Keywords":"player,info,information,range,player_info_range", - "FieldName":"player_info_range", - "InputType":"number", - "MinValue":"1", - "ParamFieldName":"player_info_range", - "DefaultValue":"10", - "Placeholder":"10", - "EnumValues":{} - }, - { - "DisplayName":"Stamina Balance Use", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the percentage of stamina used per second while sprinting. Express as a decimal, eg: 0.05 = 5%, 0.33 = 33%. Stamina is currently only utilised on humans. 0 = disabled, but this will cause weirdness with status effects and other mechanics", - "Keywords":"stamina,balance,use,sprinting,stamina_balance_use", - "FieldName":"stamina_balance_use", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"stamina_balance_use", - "DefaultValue":"0.05", - "Placeholder":"0.05", - "EnumValues":{} - }, - { - "DisplayName":"Stamina Balance Immunity", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the period during which newly-spawned players can sprint without consuming stamina. Used to reduce visual artifacts. Recommended minimum = 2", - "Keywords":"stamina,balance,immunity,sprinting,stamina_balance_immunity", - "FieldName":"stamina_balance_immunity", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"stamina_balance_immunity", - "DefaultValue":"3", - "Placeholder":"3", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Stamina Balance Regeneration Cooldown", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the period that must pass before stamina starts regenerating after the player stops sprinting. Lower values are more likely to be exploited by players. Higher higher can be annoying to players", - "Keywords":"stamina,balance,regeneration,cooldown,sprinting,period,stamina_balance_regen_cd", - "FieldName":"stamina_balance_regen_cd", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"stamina_balance_regen_cd", - "DefaultValue":"1", - "Placeholder":"1", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Stamina Balance Regeneration Speed", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets how fast the stamina regenerates. This is a multiplier for the default setting, which is based on a curve - not a specific value", - "Keywords":"stamina,balance,regeneration,speed,multiplier,stamina_balance_regen_speed", - "FieldName":"stamina_balance_regen_speed", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"stamina_balance_regen_speed", - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"AFK Period Before Kick", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets how long a player can be AFK in their spawn location before being kicked by the server. 0 = disabled", - "Keywords":"afk,away,time,period,kick,afk_time", - "FieldName":"afk_time", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"afk_time", - "DefaultValue":"90", - "Placeholder":"90", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Constantly Check AFK Status", - "Category":"SCP SL Gameplay Settings", - "Description":"If set, the server will constantly check AFK status", - "Keywords":"constantly,check,afk,status,away,constantly_check_afk", - "FieldName":"constantly_check_afk", - "InputType":"checkbox", - "ParamFieldName":"constantly_check_afk", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"AFK Kick Message", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the message shown to a player when kicked for AFK", - "Keywords":"afk,away,kick,message,afk_kick_message", - "FieldName":"afk_kick_message", - "InputType":"text", - "ParamFieldName":"afk_kick_message", - "DefaultValue":"AFK", - "Placeholder":"AFK", - "EnumValues":{} - }, - { - "DisplayName":"Intercom Cooldown Period", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the intercom cooldown period after use", - "Keywords":"intercom,cooldown,period,", - "FieldName":"intercom_cooldown", - "InputType":"number", - "ParamFieldName":"intercom_cooldown", - "DefaultValue":"120", - "Placeholder":"120", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Intercom Maximum Speech Time", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the maximum period that a player can use the intercom at one time", - "Keywords":"intercom,max,maximum,speech,time,period,intercom_max_speech_time", - "FieldName":"intercom_max_speech_time", - "InputType":"number", - "ParamFieldName":"intercom_max_speech_time", - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Auto Round Restart Delay", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the time period after a round has ended for the round to restart", - "Keywords":"auto,round,restart,time,period,auto_round_restart_time", - "FieldName":"auto_round_restart_time", - "InputType":"number", - "ParamFieldName":"auto_round_restart_time", - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Fast Round Restart", - "Category":"SCP SL Gameplay Settings", - "Description":"If set, enables faster round restart after a round has ended", - "Keywords":"enable,fast,round,restart,enable_fast_round_restart", - "FieldName":"enable_fast_round_restart", - "InputType":"checkbox", - "ParamFieldName":"enable_fast_round_restart", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Fast Round Restart Delay", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the length of time after a round has ended for the round to restart", - "Keywords":"fast,round,restart,delay,fast_round_restart_delay", - "FieldName":"fast_round_restart_delay", - "InputType":"number", - "ParamFieldName":"fast_round_restart_delay", - "DefaultValue":"3.2", - "Placeholder":"3.2", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Friendly Fire", - "Category":"SCP SL Gameplay Settings", - "Description":"If set, friendly fire for humans will be enabled", - "Keywords":"enable,friendly,fire,friendly_fire", - "FieldName":"friendly_fire", - "InputType":"checkbox", - "ParamFieldName":"friendly_fire", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Friendly Fire Multiplier", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the friendly fire multiplier", - "Keywords":"friendly,fire,multiplier,friendly_fire_multiplier", - "FieldName":"friendly_fire_multiplier", - "InputType":"number", - "ParamFieldName":"friendly_fire_multiplier", - "DefaultValue":"0.4", - "Placeholder":"0.4", - "EnumValues":{} - }, - { - "DisplayName":"Warhead Detonation Countdown Timer", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the countdown timer until the warhead detonates", - "Keywords":"warhead,detonation,timer,countdown,warhead_tminus_start_duration", - "FieldName":"warhead_tminus_start_duration", - "InputType":"number", - "MinValue":"70", - "MaxValue":"120", - "ParamFieldName":"warhead_tminus_start_duration", - "DefaultValue":"90", - "Placeholder":"90", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Force Gates Open During Detonation Timer", - "Category":"SCP SL Gameplay Settings", - "Description":"If enabled, the entrance gates will be forced open when the warhead is counting down", - "Keywords":"warhead,countdown,lock,gates,open,lock_gates_on_countdown", - "FieldName":"lock_gates_on_countdown", - "InputType":"checkbox", - "ParamFieldName":"lock_gates_on_countdown", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Lock Checkpoints During Detonation Timer", - "Category":"SCP SL Gameplay Settings", - "Description":"If enabled, all checkpoints will be locked when the warhead is counting down, thereby isolating zones", - "Keywords":"warhead,countdown,lock,checkpoints,isolate,zones,isolate_zones_on_countdown", - "FieldName":"isolate_zones_on_countdown", - "InputType":"checkbox", - "ParamFieldName":"isolate_zones_on_countdown", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Force Doors/Checkpoints Open During Detonation Timer", - "Category":"SCP SL Gameplay Settings", - "Description":"If enabled, all normal doors and checkpoints will be foced open when the warhead is counting down", - "Keywords":"warhead,countdown,open,doors,checkpoints,open_doors_on_countdown", - "FieldName":"open_doors_on_countdown", - "InputType":"checkbox", - "ParamFieldName":"open_doors_on_countdown", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Keep Items After Escaping", - "Category":"SCP SL Gameplay Settings", - "Description":"If enabled, when a player escapes they will keep old items, rather than the items falling on the ground", - "Keywords":"keep,items,escape,escaping,keep_items_after_escaping", - "FieldName":"keep_items_after_escaping", - "InputType":"checkbox", - "ParamFieldName":"keep_items_after_escaping", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Playing As Tutorial", - "Category":"SCP SL Gameplay Settings", - "Description":"If set, players will be able to play as the tutorial class", - "Keywords":"allow,play,playing,tutorial,class,allow_playing_as_tutorial", - "FieldName":"allow_playing_as_tutorial", - "InputType":"checkbox", - "ParamFieldName":"allow_playing_as_tutorial", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Decontamination", - "Category":"SCP SL Gameplay Settings", - "Description":"If set, disables the decontamination process in the facility", - "Keywords":"disable,facility,decontamination,disable_decontamination", - "FieldName":"disable_decontamination", - "InputType":"checkbox", - "ParamFieldName":"disable_decontamination", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow SCP-096 To Destroy Locked Doors", - "Category":"SCP SL Gameplay Settings", - "Description":"If enabled, locked doors can be destroyed by SCP-096", - "Keywords":"destroy,locked,doors,scp-096,096_destroy_locked_doors", - "FieldName":"096_destroy_locked_doors", - "InputType":"checkbox", - "ParamFieldName":"096_destroy_locked_doors", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Holidays", - "Category":"SCP SL Gameplay Settings", - "Description":"If set, disables the holidays and other generation events (like Halloween)", - "Keywords":"disable,holidays,generation,events,no_holidays", - "FieldName":"no_holidays", - "InputType":"checkbox", - "ParamFieldName":"no_holidays", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Disarmed Interaction", - "Category":"SCP SL Gameplay Settings", - "Description":"If set, handcuffed players will be able to interact with doors or elevators", - "Keywords":"allow,disarmed,handcuffed,interaction,allow_disarmed_interaction", - "FieldName":"allow_disarmed_interaction", - "InputType":"checkbox", - "ParamFieldName":"allow_disarmed_interaction", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"SCP-914 Mode", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets how SCP-914 operates on players", - "Keywords":"scp-914,914,mode,914_mode", - "FieldName":"914_mode", - "InputType":"enum", - "ParamFieldName":"914_mode", - "DefaultValue":"default", - "EnumValues":{ - "default":"Default", - "DroppedAndPlayerTeleport":"Dropped and player teleport", - "Inventory":"Inventory", - "DroppedAndInventory":"Dropped and inventory", - "Held":"Held", - "DroppedAndHeld":"Dropped and held", - "Dropped":"Dropped" - } - }, - { - "DisplayName":"Sinkhole Slow Amount", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets how much the sinkhole makes a player slower", - "Keywords":"sinkhole,player,slow,amount,sinkhole_slow_amount", - "FieldName":"sinkhole_slow_amount", - "InputType":"number", - "ParamFieldName":"sinkhole_slow_amount", - "DefaultValue":"30", - "Placeholder":"30", - "EnumValues":{} - }, - { - "DisplayName":"Sinkhole Spawn Chance", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the chance of spawning a sinkhole. 0 = disabled", - "Keywords":"sinkhole,spawn,chance,sinkhole_spawn_chance", - "FieldName":"sinkhole_spawn_chance", - "InputType":"number", - "MinValue":"0", - "ParamFieldName":"sinkhole_spawn_chance", - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Enable Disconnect Drop", - "Category":"SCP SL Gameplay Settings", - "Description":"If enabled, disconnecting players will drop their items", - "Keywords":"disconnect,drop,items,disconnect_drop", - "FieldName":"disconnect_drop", - "InputType":"checkbox", - "ParamFieldName":"disconnect_drop", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"End Round On One Player", - "Category":"SCP SL Gameplay Settings", - "Description":"If enabled, a round ends when there is only one player left", - "Keywords":"end,round,last,player,end_round_on_one_player", - "FieldName":"end_round_on_one_player", - "InputType":"checkbox", - "ParamFieldName":"end_round_on_one_player", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Change Teams For Handcuffed Escapees", - "Category":"SCP SL Gameplay Settings", - "Description":"If enabled, handcuffed escapees will change teams", - "Keywords":"handcuffed,cuffed,escapee,change,team,cuffed_escapee_change_team", - "FieldName":"cuffed_escapee_change_team", - "InputType":"checkbox", - "ParamFieldName":"cuffed_escapee_change_team", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Pocket Dimension Exit Count", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the number of exits in the pocket dimension", - "Keywords":"pocket,dimension,exit,count,number,pd_exit_count", - "FieldName":"pd_exit_count", - "InputType":"number", - "ParamFieldName":"pd_exit_count", - "DefaultValue":"2", - "Placeholder":"2", - "Suffix":"exits", - "EnumValues":{} - }, - { - "DisplayName":"Broadcast Kicks", - "Category":"SCP SL Gameplay Settings", - "Description":"If set, enables broadcasts for player kicks", - "Keywords":"broadcast,kicks,broadcast_kicks", - "FieldName":"broadcast_kicks", - "InputType":"checkbox", - "ParamFieldName":"broadcast_kicks", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Broadcast Kick Text", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the text that is displayed when a player gets kicked", - "Keywords":"broadcast,kick,text,message,broadcast_kick_text", - "FieldName":"broadcast_kick_text", - "InputType":"text", - "ParamFieldName":"broadcast_kick_text", - "DefaultValue":"%nick% has been kicked from this server.", - "EnumValues":{} - }, - { - "DisplayName":"Broadcast Kick Duration", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the broadcast kick message duration", - "Keywords":"broadcast,kick,message,duration,broadcast_kick_duration", - "FieldName":"broadcast_kick_duration", - "InputType":"number", - "ParamFieldName":"broadcast_kick_duration", - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Broadcast Bans", - "Category":"SCP SL Gameplay Settings", - "Description":"If set, enables broadcasts for player bans", - "Keywords":"broadcast,bans,broadcast_bans", - "FieldName":"broadcast_bans", - "InputType":"checkbox", - "ParamFieldName":"broadcast_bans", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Broadcast Ban Text", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the text that is displayed when a player gets banned", - "Keywords":"broadcast,ban,text,message,broadcast_ban_text", - "FieldName":"broadcast_ban_text", - "InputType":"text", - "ParamFieldName":"broadcast_ban_text", - "DefaultValue":"%nick% has been banned from this server.", - "EnumValues":{} - }, - { - "DisplayName":"Broadcast Ban Duration", - "Category":"SCP SL Gameplay Settings", - "Description":"Sets the broadcast ban message duration", - "Keywords":"broadcast,ban,message,duration,broadcast_ban_duration", - "FieldName":"broadcast_ban_duration", - "InputType":"number", - "ParamFieldName":"broadcast_ban_duration", - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Spawn Protection", - "Category":"SCP SL Spawn Settings", - "Description":"If set, enables spawn protection for newly spawned players", - "Keywords":"spawn,protection,enable,spawn_protect_enabled", - "FieldName":"spawn_protect_enabled", - "InputType":"checkbox", - "FieldName":"spawn_protect_enabled", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Spawn Protection Duration", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the duration of spawn protection for newly spawned players. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"spawn,protection,duration,time,spawn_protection_duration", - "FieldName":"spawn_protect_time", - "InputType":"text", - "ParamFieldName":"spawn_protect_time", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Allow Shooting During Spawn Protection", - "Category":"SCP SL Spawn Settings", - "Description":"If set, allows spawn protected players to shoot", - "Keywords":"spawn,protection,shoot,spawn_protect_can_shoot", - "FieldName":"spawn_protect_can_shoot", - "InputType":"checkbox", - "ParamFieldName":"spawn_protect_can_shoot", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Team Spawn Protection", - "Category":"SCP SL Spawn Settings", - "Description":"Sets spawn protection for the selected team(s). Specify the teams in a comma-separated list in square brackets", - "Keywords":"spawn,protection,team,spawn_protect_team", - "FieldName":"spawn_protect_team", - "InputType":"text", - "ParamFieldName":"spawn_protect_team", - "DefaultValue":"[1, 2]", - "Placeholder":"[1, 2]", - "EnumValues":{} - }, - { - "DisplayName":"Minimum MTF Time To Spawn", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the minimum time it can take from the last wave for a new one to spawn", - "Keywords":"minimum,mtf,time,spawn,minimum_mtf_time_to_spawn", - "FieldName":"minimum_MTF_time_to_spawn", - "InputType":"number", - "ParamFieldName":"minimum_MTF_time_to_spawn", - "DefaultValue":"280", - "Placeholder":"280", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum MTF Time To Spawn", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the maximum time it can take from the last wave for a new one to spawn", - "Keywords":"maximum,mtf,time,spawn,maximum_MTF_time_to_spawn", - "FieldName":"maximum_MTF_time_to_spawn", - "InputType":"number", - "ParamFieldName":"maximum_MTF_time_to_spawn", - "DefaultValue":"350", - "Placeholder":"350", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum MTF Respawn Amount", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the number of players who can respawn as MTF", - "Keywords":"maximum,mtf,respawn,amount,maximum_MTF_respawn_amount", - "FieldName":"maximum_MTF_respawn_amount", - "InputType":"number", - "ParamFieldName":"maximum_MTF_respawn_amount", - "DefaultValue":"15", - "Placeholder":"15", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Maximum CI Respawn Amount", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the number of players who can respawn as Chaos Insurgents", - "Keywords":"maximum,ci,chaos,insurgent,respawn,amount,maximum_CI_respawn_amount", - "FieldName":"maximum_CI_respawn_amount", - "InputType":"number", - "ParamFieldName":"maximum_CI_respawn_amount", - "DefaultValue":"15", - "Placeholder":"15", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Prioritise MTF Respawn", - "Category":"SCP SL Spawn Settings", - "Description":"If set, MTF will be a top priority for a respawn team", - "Keywords":"priority,mtf,respawn,priority_mtf_respawn", - "FieldName":"priority_mtf_respawn", - "InputType":"checkbox", - "ParamFieldName":"priority_mtf_respawn", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Use Crypto RNG", - "Category":"SCP SL Spawn Settings", - "Description":"If set, enables better generation randomness by using a cryptographic random number generator (RNG). Note: Uses more CPU to generate numbers", - "Keywords":"crypto,rng,cryptographic,random,generator,use_crypto_rng", - "FieldName":"use_crypto_rng", - "InputType":"checkbox", - "ParamFieldName":"use_crypto_rng", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Team Respawn Queue", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the pattern in which the classes spawn at round start. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"team,respawn,queue,team_respawn_queue", - "FieldName":"team_respawn_queue", - "InputType":"text", - "ParamFieldName":"team_respawn_queue", - "DefaultValue":"default", - "Placeholder":"default", - "EnumValues":{} - }, - { - "DisplayName":"Enable Respawn Tickets", - "Category":"SCP SL Spawn Settings", - "Description":"If set, enables the respawn tickets system. Each MTF or CI player spawned in consumes one ticket. Recommended for game balance. Even if disabled, the MTF:CI ticket ratio will still determine their spawn chance", - "Keywords":"enable,respawn,tickets,respawn_tickets_enable", - "FieldName":"respawn_tickets_enable", - "InputType":"checkbox", - "ParamFieldName":"respawn_tickets_enable", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Initial MTF Respawn Tickets Count", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the starting count for MTF respawn tickets. The ratio of MTF:CI tickets directly determines which team has a higher chance of spawning", - "Keywords":"mtf,respawn,tickets,initial,count,respawn_tickets_mtf_initial_count", - "FieldName":"respawn_tickets_mtf_initial_count", - "InputType":"number", - "ParamFieldName":"respawn_tickets_mtf_initial_count", - "DefaultValue":"24", - "Placeholder":"24", - "Suffix":"tickets", - "EnumValues":{} - }, - { - "DisplayName":"Initial CI Respawn Tickets Count", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the starting count for Chaos Insurgents respawn tickets. The ratio of MTF:CI tickets directly determines which team has a higher chance of spawning", - "Keywords":"ci,respawn,tickets,chaos,insurgents,initial,count,respawn_tickets_ci_initial_count", - "FieldName":"respawn_tickets_ci_initial_count", - "InputType":"number", - "ParamFieldName":"respawn_tickets_ci_initial_count", - "DefaultValue":"18", - "Placeholder":"18", - "Suffix":"tickets", - "EnumValues":{} - }, - { - "DisplayName":"MTF Respawn Tickets Class D Cuffed Escape Count", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the number of tickets MTF get for letting a Disarmed Class D escape. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"respawn,tickets,mtf,classd,cuffed,escape,count,respawn_tickets_mtf_classd_cuffed_escape_count", - "FieldName":"respawn_tickets_mtf_classd_cuffed_escape_count", - "InputType":"text", - "ParamFieldName":"respawn_tickets_mtf_classd_cuffed_escape_count", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"tickets", - "EnumValues":{} - }, - { - "DisplayName":"MTF Respawn Tickets Scientist Escape Count", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the number of tickets MTF get for letting a Scientist escape. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"respawn,tickets,mtf,scientist,escape,count,respawn_tickets_mtf_scientist_escape_count", - "FieldName":"respawn_tickets_mtf_scientist_escape_count", - "InputType":"text", - "ParamFieldName":"respawn_tickets_mtf_scientist_escape_count", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"tickets", - "EnumValues":{} - }, - { - "DisplayName":"MTF Respawn Tickets SCP Damage Escape Count", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the number of tickets MTF get for damaging an SCP. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"respawn,tickets,mtf,scp,hurt,escape ,count,respawn_tickets_mtf_scp_hurt_escape_count", - "FieldName":"respawn_tickets_mtf_scp_hurt_escape_count", - "InputType":"text", - "ParamFieldName":"respawn_tickets_mtf_scp_hurt_escape_count", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"tickets", - "EnumValues":{} - }, - { - "DisplayName":"CI Respawn Tickets Class D Escape Count", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the number of tickets CI get for letting a Class D escape. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"respawn,tickets,ci,classd,escape,count,respawn_tickets_ci_classd_escape_count", - "FieldName":"respawn_tickets_ci_classd_escape_count", - "InputType":"text", - "ParamFieldName":"respawn_tickets_ci_classd_escape_count", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"tickets", - "EnumValues":{} - }, - { - "DisplayName":"CI Respawn Tickets Scientist Cuffed Escape Count", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the number of tickets CI get for letting a Disarmed Scientist escape. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"respawn,tickets,ci,scientist,cuffed ,escape,count,respawn_tickets_ci_scientist_cuffed_escape_count", - "FieldName":"respawn_tickets_ci_scientist_cuffed_escape_count", - "InputType":"text", - "ParamFieldName":"respawn_tickets_ci_scientist_cuffed_escape_count", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"tickets", - "EnumValues":{} - }, - { - "DisplayName":"CI Respawn Tickets Scientist Killing Count", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the number of tickets CI get for killing a Scientist. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"respawn,tickets,ci,scientist,kill,,count,respawn_tickets_ci_scientist_died_count", - "FieldName":"respawn_tickets_ci_scientist_died_count", - "InputType":"text", - "ParamFieldName":"respawn_tickets_ci_scientist_died_count", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"tickets", - "EnumValues":{} - }, - { - "DisplayName":"CI Respawn Tickets SCP Item Count", - "Category":"SCP SL Spawn Settings", - "Description":"Sets the number of tickets CI get when a Class D or Chaos Insurgent uses an SCP item. Specify \"default\" instead of a number to use the default set by the server", - "Keywords":"respawn,tickets,ci,scp,item,count,respawn_tickets_ci_scp_item_count", - "FieldName":"respawn_tickets_ci_scp_item_count", - "InputType":"text", - "ParamFieldName":"respawn_tickets_ci_scp_item_count", - "DefaultValue":"default", - "Placeholder":"default", - "Suffix":"tickets", - "EnumValues":{} - } -] diff --git a/scp-secret-laboratorymetaconfig.json b/scp-secret-laboratorymetaconfig.json deleted file mode 100644 index e81ca5f85..000000000 --- a/scp-secret-laboratorymetaconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - "ConfigFile":"AppData/config/{{$GamePort}}/config_gameplay.txt", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"{0}: {1}", - "ConfigFormatRegex":"^(?<key>.+?): (?<value>.*?)$" - }, - { - "ConfigFile":"AppData/config/{{$GamePort}}/config_remoteadmin.txt", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"{0}: {1}", - "ConfigFormatRegex":"^(?<key>.+?): (?<value>.*?)$" - } -] \ No newline at end of file diff --git a/scp-secret-laboratoryupdates.json b/scp-secret-laboratoryupdates.json deleted file mode 100644 index 1ed0f984b..000000000 --- a/scp-secret-laboratoryupdates.json +++ /dev/null @@ -1,39 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Server Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"996560", - "UpdateSourceArgs":"700330" - }, - { - "UpdateStageName":"Config Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}AppData/config/{{$GamePort}}" - }, - { - "UpdateStageName":"Gameplay Config Template Copy", - "UpdateSourcePlatform":"All", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}AppData/config/{{$GamePort}}/config_gameplay.txt", - "UpdateSourceArgs":"{{$FullBaseDir}}ConfigTemplates/config_gameplay.template.txt", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Remoteadmin Config Template Copy", - "UpdateSourcePlatform":"All", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}AppData/config/{{$GamePort}}/config_remoteadmin.txt", - "UpdateSourceArgs":"{{$FullBaseDir}}ConfigTemplates/config_remoteadmin.template.txt", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Hoster Policy File Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateFile", - "UpdateSourceData":"gamedir_for_configs: true", - "UpdateSourceArgs":"{{$FullBaseDir}}hoster_policy.txt", - "OverwriteExistingFiles":true - } -] \ No newline at end of file diff --git a/seven-days-settings-undead-legacy-experimental.xml b/seven-days-settings-undead-legacy-experimental.xml deleted file mode 100644 index ff6ddbd68..000000000 --- a/seven-days-settings-undead-legacy-experimental.xml +++ /dev/null @@ -1,208 +0,0 @@ -<?xml version="1.0"?> -<ServerSettings> - <!-- GENERAL SERVER SETTINGS --> - <!-- Server representation --> - <property name="ServerName" value="My Amp Host" /> - <!-- Whatever you want the name of the server to be. --> - <property name="ServerDescription" value="An AMP Powered 7 Days to Die server" /> - <!-- Whatever you want the server description to be, will be shown in the server browser. --> - <property name="ServerWebsiteURL" value="https://cubecoders.com/AMP" /> - <!-- Website URL for the server, will be shown in the serverbrowser as a clickable link --> - <property name="ServerPassword" value="" /> - <!-- Password to gain entry to the server --> - <property name="ServerLoginConfirmationText" value="" /> - <!-- If set the user will see the message during joining the server and has to confirm it before continuing. For more complex changes to this window you can change the "serverjoinrulesdialog" window in XUi --> - <property name="Region" value="NorthAmericaEast" /> - <!-- The region this server is in. Values: NorthAmericaEast, NorthAmericaWest, CentralAmerica, SouthAmerica, Europe, Russia, Asia, MiddleEast, Africa, Oceania --> - <property name="Language" value="English" /> - <!-- Primary language for players on this server. Values: Use any language name that you would users expect to search for. Should be the English name of the language, e.g. not "Deutsch" but "German" --> - <!-- Networking --> - <property name="ServerPort" value="26904" /> - <!-- Port you want the server to listen on. Keep it in the ranges 26900 to 26905 or 27015 to 27020 if you want PCs on the same LAN to find it as a LAN server. --> - <property name="ServerVisibility" value="2" /> - <!-- Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP. --> - <property name="ServerDisabledNetworkProtocols" value="SteamNetworking" /> - <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly --> - <property name="ServerMaxWorldTransferSpeedKiBs" value="512" /> - <!-- Maximum (!) speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value. --> - <!-- Slots --> - <property name="ServerMaxPlayerCount" value="8" /> - <!-- Maximum Concurrent Players --> - <property name="ServerReservedSlots" value="0" /> - <!-- Out of the MaxPlayerCount this many slots can only be used by players with a specific permission level --> - <property name="ServerReservedSlotsPermission" value="100" /> - <!-- Required permission level to use reserved slots above --> - <property name="ServerAdminSlots" value="0" /> - <!-- This many admins can still join even if the server has reached MaxPlayerCount --> - <property name="ServerAdminSlotsPermission" value="0" /> - <!-- Required permission level to use the admin slots above --> - <!-- Admin interfaces --> - <property name="ControlPanelEnabled" value="false" /> - <!-- Enable/Disable the web control panel --> - <property name="ControlPanelPort" value="26910" /> - <!-- Port of the control panel webpage --> - <property name="ControlPanelPassword" value="CHANGEME" /> - <!-- Password to gain entry to the control panel --> - <property name="TelnetEnabled" value="true" /> - <!-- Enable/Disable the telnet --> - <property name="TelnetPort" value="27022" /> - <!-- Port of the telnet server --> - <property name="TelnetPassword" value="Password123" /> - <!-- Password to gain entry to telnet interface. If no password is set the server will only listen on the local loopback interface --> - <property name="TelnetFailedLoginLimit" value="10" /> - <!-- After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface --> - <property name="TelnetFailedLoginsBlocktime" value="10" /> - <!-- How long will the block persist (in seconds) --> - <property name="TerminalWindowEnabled" value="true" /> - <!-- Show a terminal window for log output / command input (Windows only) --> - <!-- Folder and file locations --> - <property name="AdminFileName" value="serveradmin.xml" /> - <!-- Server admin file name. Path relative to the SaveGameFolder --> - <property name="UserDataFolder" value="User" /> - <!-- Use this to override where the server stores all generated data, including RWG generated worlds. Do not forget to uncomment the entry! --> - <!-- <property name="SaveGameFolder" value="Saves" /> --> - <!-- Use this to only override the save game path. Do not forget to uncomment the entry! --> - <!-- Other technical settings --> - <property name="EACEnabled" value="true" /> - <!-- Enables/Disables EasyAntiCheat --> - <property name="HideCommandExecutionLog" value="0" /> - <!-- Hide logging of command execution. 0 = show everything, 1 = hide only from Telnet/ControlPanel, 2 = also hide from remote game clients, 3 = hide everything --> - <property name="MaxUncoveredMapChunksPerPlayer" value="131072" /> - <!-- Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time --> - <property name="PersistentPlayerProfiles" value="false" /> - <!-- If disabled a player can join with any selected profile. If true they will join with the last profile they joined with --> - <!-- GAMEPLAY --> - <!-- World --> - <property name="GameWorld" value="Navezgane" /> - <!-- "RWG" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with e.g. "Navezgane", "PREGEN01", ...) --> - <property name="WorldGenSeed" value="AMP" /> - <!-- If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it --> - <property name="WorldGenSize" value="6144" /> - <!-- If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load --> - <property name="GameName" value="My AMP Game" /> - <!-- Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world --> - <property name="GameMode" value="GameModeSurvival" /> - <!-- GameModeSurvival --> - <!-- Difficulty --> - <property name="GameDifficulty" value="2" /> - <!-- 0 - 5, 0=easiest, 5=hardest --> - <property name="BlockDamagePlayer" value="100" /> - <!-- How much damage do players to blocks (percentage in whole numbers) --> - <property name="BlockDamageAI" value="100" /> - <!-- How much damage do AIs to blocks (percentage in whole numbers) --> - <property name="BlockDamageAIBM" value="100" /> - <!-- How much damage do AIs during blood moons to blocks (percentage in whole numbers) --> - <property name="XPMultiplier" value="100" /> - <!-- XP gain multiplier (percentage in whole numbers) --> - <property name="PlayerSafeZoneLevel" value="5" /> - <!-- If a player is less or equal this level he will create a safe zone (no enemies) when spawned --> - <property name="PlayerSafeZoneHours" value="5" /> - <!-- Hours in world time this safe zone exists --> - <!-- --> - <property name="BuildCreate" value="false" /> - <!-- cheat mode on/off --> - <property name="DayNightLength" value="60" /> - <!-- real time minutes per in game day: 60 minutes --> - <property name="DayLightLength" value="18" /> - <!-- in game hours the sun shines per day: 18 hours day light per in game day --> - <property name="DropOnDeath" value="1" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all --> - <property name="DropOnQuit" value="0" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only --> - <property name="BedrollDeadZoneSize" value="15" /> - <!-- Size (box "radius", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared. --> - <property name="BedrollExpiryTime" value="45" /> - <!-- Number of real world days a bedroll stays active after owner was last online --> - <!-- Performance related --> - <property name="MaxSpawnedZombies" value="64" /> - <!-- This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance. --> - <property name="MaxSpawnedAnimals" value="50" /> - <!-- If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it. --> - <property name="ServerMaxAllowedViewDistance" value="12" /> - <!-- Max viewdistance a client may request (6 - 12). High impact on memory usage and performance. --> - <!-- Zombie settings --> - <property name="EnemySpawnMode" value="true" /> - <!-- Enable/Disable enemy spawning --> - <property name="EnemyDifficulty" value="0" /> - <!-- 0 = Normal, 1 = Feral --> - <property name="ZombieFeralSense" value="0" /> - <!-- 0-3 (Off, Day, Night, All) --> - <property name="ZombieMove" value="0" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieMoveNight" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieFeralMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieBMMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="BloodMoonFrequency" value="7" /> - <!-- What frequency (in days) should a blood moon take place. Set to "0" for no blood moons --> - <property name="BloodMoonRange" value="0" /> - <!-- How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in BloodMoonFrequency --> - <property name="BloodMoonWarning" value="8" /> - <!-- The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show. --> - <property name="BloodMoonEnemyCount" value="8" /> - <!-- This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance. --> - <!-- Loot --> - <property name="LootAbundance" value="100" /> - <!-- percentage in whole numbers --> - <property name="LootRespawnDays" value="7" /> - <!-- days in whole numbers --> - <property name="AirDropFrequency" value="72" /> - <!-- How often airdrop occur in game-hours, 0 == never --> - <property name="AirDropMarker" value="false" /> - <!-- Sets if a marker is added to map/compass for air drops. --> - <!-- Multiplayer --> - <property name="PartySharedKillRange" value="100" /> - <!-- The distance you must be within to receive party shared kill xp and quest party kill objective credit. --> - <property name="PlayerKillingMode" value="3" /> - <!-- Player Killing Settings (0 = No Killing, 1 = Kill Allies Only, 2 = Kill Strangers Only, 3 = Kill Everyone) --> - <!-- Land claim options --> - <property name="LandClaimCount" value="1" /> - <!-- Maximum allowed land claims per player. --> - <property name="LandClaimSize" value="41" /> - <!-- Size in blocks that is protected by a keystone --> - <property name="LandClaimDeadZone" value="30" /> - <!-- Keystones must be this many blocks apart (unless you are friends with the other player) --> - <property name="LandClaimExpiryTime" value="7" /> - <!-- The number of real world days a player can be offline before their claims expire and are no longer protected --> - <property name="LandClaimDecayMode" value="0" /> - <!-- Controls how offline players land claims decay. 0=Slow (Linear) , 1=Fast (Exponential), 2=None (Full protection until claim is expired). --> - <property name="LandClaimOnlineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDelay" value="0" /> - <!-- The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0 --> - <property name="DynamicMeshEnabled" value="true" /> - <!-- Is Dynamic Mesh system enabled --> - <property name="DynamicMeshLandClaimOnly" value="true" /> - <!-- Is Dynamic Mesh system only active in player LCB areas --> - <property name="DynamicMeshLandClaimBuffer" value="3" /> - <!-- Dynamic Mesh LCB chunk radius --> - <property name="DynamicMeshMaxItemCache" value="3" /> - <!-- How many items can be processed concurrently, higher values use more RAM --> - <property name="TwitchServerPermission" value="90" /> - <!-- Required permission level to use twitch integration on the server --> - <property name="TwitchBloodMoonAllowed" value="false" /> - <!-- If the server allows twitch actions during a blood moon. This could cause server lag with extra zombies being spawned during blood moon. --> - <!-- There are several game settings that you cannot change when starting a new game. - You can use console commands to change at least some of them ingame. - setgamepref BedrollDeadZoneSize 30 --> - <!-- RecipeFilter: 0 - Shows all recipes 1 - Shows unknown recipes, search limited by workstation 2 - Shows only known and workstation relevant recipes --> - <property name="RecipeFilter" value="0"/> - <!-- StarterQuestEnabled: True or False - determines if you trigger the tutorial quest upon first spawning on the server --> - <property name="StarterQuestEnabled" value="true"/> - <!-- WanderingHordFrequency: After how many in-game hours a wandering horde would occur. On top of this value 1 to 4 additional hours may be added depending on spawn conditions. Minimum Value: 1 --> - <property name="WanderingHordeFrequency" value="16"/> - <!-- WanderingHordeRange: Additional random hours added to Wandering Horde Frequency to add randomness to hours between spawns. For example, Frequency: 5, Frequency RNG Range: 10, then wandering horde will spawn anywhere between 5 to 15 (5+10) in-game hours + additional hours if special conditions occur (No players alive, etc). --> - <property name="WanderingHordeRange" value="8"/> - <!-- WanderingHordeEnemyCount: Fixed zombie count, that will spawn in a Wandering horde. Minimum Value: 2. Zombies + Zombie RNG Range value must not exceed: 64 --> - <property name="WanderingHordeEnemyCount" value="10"/> - <!-- WanderingHordeEnemyRange: This value determines up to how many additional zombies can spawn for Wandering Horde. For example, Zombies: 5, Zombies RNG Range: 10, then wandering horde will spawn anywhere between 5 to 15 (5+10) zombies. Combined value must not exceed: 64 --> - <property name="WanderingHordeEnemyRange" value="10"/> - <!-- DeathPenalty: Sets what will be the consequences to your progression when you die in the game: 0 - No penalty (you will not get XP debt as well as no debuff, that lowers your Attributes) 1 - Beginner, near Death Trauma debuff (Vanilla like experience) 2 - Moderate, same as beginner, but also with loss of random Action skills 3 - Standard, same as moderate, but also you will respawn with partial health, food and water --> - <property name="DeathPenalty" value="3"/> - <!-- POITierLootScale: Multiplier determining how important a POI Tier is when scaling Loot Stage. 0% - Disabled (Default), 100% Vanilla Scaling. Acceptable values are integers from 0 to 100 --> - <property name="POITierLootScale" value="0"/> -</ServerSettings> diff --git a/seven-days-settings-undead-legacy-stable.xml b/seven-days-settings-undead-legacy-stable.xml deleted file mode 100644 index ff6ddbd68..000000000 --- a/seven-days-settings-undead-legacy-stable.xml +++ /dev/null @@ -1,208 +0,0 @@ -<?xml version="1.0"?> -<ServerSettings> - <!-- GENERAL SERVER SETTINGS --> - <!-- Server representation --> - <property name="ServerName" value="My Amp Host" /> - <!-- Whatever you want the name of the server to be. --> - <property name="ServerDescription" value="An AMP Powered 7 Days to Die server" /> - <!-- Whatever you want the server description to be, will be shown in the server browser. --> - <property name="ServerWebsiteURL" value="https://cubecoders.com/AMP" /> - <!-- Website URL for the server, will be shown in the serverbrowser as a clickable link --> - <property name="ServerPassword" value="" /> - <!-- Password to gain entry to the server --> - <property name="ServerLoginConfirmationText" value="" /> - <!-- If set the user will see the message during joining the server and has to confirm it before continuing. For more complex changes to this window you can change the "serverjoinrulesdialog" window in XUi --> - <property name="Region" value="NorthAmericaEast" /> - <!-- The region this server is in. Values: NorthAmericaEast, NorthAmericaWest, CentralAmerica, SouthAmerica, Europe, Russia, Asia, MiddleEast, Africa, Oceania --> - <property name="Language" value="English" /> - <!-- Primary language for players on this server. Values: Use any language name that you would users expect to search for. Should be the English name of the language, e.g. not "Deutsch" but "German" --> - <!-- Networking --> - <property name="ServerPort" value="26904" /> - <!-- Port you want the server to listen on. Keep it in the ranges 26900 to 26905 or 27015 to 27020 if you want PCs on the same LAN to find it as a LAN server. --> - <property name="ServerVisibility" value="2" /> - <!-- Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP. --> - <property name="ServerDisabledNetworkProtocols" value="SteamNetworking" /> - <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly --> - <property name="ServerMaxWorldTransferSpeedKiBs" value="512" /> - <!-- Maximum (!) speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value. --> - <!-- Slots --> - <property name="ServerMaxPlayerCount" value="8" /> - <!-- Maximum Concurrent Players --> - <property name="ServerReservedSlots" value="0" /> - <!-- Out of the MaxPlayerCount this many slots can only be used by players with a specific permission level --> - <property name="ServerReservedSlotsPermission" value="100" /> - <!-- Required permission level to use reserved slots above --> - <property name="ServerAdminSlots" value="0" /> - <!-- This many admins can still join even if the server has reached MaxPlayerCount --> - <property name="ServerAdminSlotsPermission" value="0" /> - <!-- Required permission level to use the admin slots above --> - <!-- Admin interfaces --> - <property name="ControlPanelEnabled" value="false" /> - <!-- Enable/Disable the web control panel --> - <property name="ControlPanelPort" value="26910" /> - <!-- Port of the control panel webpage --> - <property name="ControlPanelPassword" value="CHANGEME" /> - <!-- Password to gain entry to the control panel --> - <property name="TelnetEnabled" value="true" /> - <!-- Enable/Disable the telnet --> - <property name="TelnetPort" value="27022" /> - <!-- Port of the telnet server --> - <property name="TelnetPassword" value="Password123" /> - <!-- Password to gain entry to telnet interface. If no password is set the server will only listen on the local loopback interface --> - <property name="TelnetFailedLoginLimit" value="10" /> - <!-- After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface --> - <property name="TelnetFailedLoginsBlocktime" value="10" /> - <!-- How long will the block persist (in seconds) --> - <property name="TerminalWindowEnabled" value="true" /> - <!-- Show a terminal window for log output / command input (Windows only) --> - <!-- Folder and file locations --> - <property name="AdminFileName" value="serveradmin.xml" /> - <!-- Server admin file name. Path relative to the SaveGameFolder --> - <property name="UserDataFolder" value="User" /> - <!-- Use this to override where the server stores all generated data, including RWG generated worlds. Do not forget to uncomment the entry! --> - <!-- <property name="SaveGameFolder" value="Saves" /> --> - <!-- Use this to only override the save game path. Do not forget to uncomment the entry! --> - <!-- Other technical settings --> - <property name="EACEnabled" value="true" /> - <!-- Enables/Disables EasyAntiCheat --> - <property name="HideCommandExecutionLog" value="0" /> - <!-- Hide logging of command execution. 0 = show everything, 1 = hide only from Telnet/ControlPanel, 2 = also hide from remote game clients, 3 = hide everything --> - <property name="MaxUncoveredMapChunksPerPlayer" value="131072" /> - <!-- Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time --> - <property name="PersistentPlayerProfiles" value="false" /> - <!-- If disabled a player can join with any selected profile. If true they will join with the last profile they joined with --> - <!-- GAMEPLAY --> - <!-- World --> - <property name="GameWorld" value="Navezgane" /> - <!-- "RWG" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with e.g. "Navezgane", "PREGEN01", ...) --> - <property name="WorldGenSeed" value="AMP" /> - <!-- If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it --> - <property name="WorldGenSize" value="6144" /> - <!-- If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load --> - <property name="GameName" value="My AMP Game" /> - <!-- Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world --> - <property name="GameMode" value="GameModeSurvival" /> - <!-- GameModeSurvival --> - <!-- Difficulty --> - <property name="GameDifficulty" value="2" /> - <!-- 0 - 5, 0=easiest, 5=hardest --> - <property name="BlockDamagePlayer" value="100" /> - <!-- How much damage do players to blocks (percentage in whole numbers) --> - <property name="BlockDamageAI" value="100" /> - <!-- How much damage do AIs to blocks (percentage in whole numbers) --> - <property name="BlockDamageAIBM" value="100" /> - <!-- How much damage do AIs during blood moons to blocks (percentage in whole numbers) --> - <property name="XPMultiplier" value="100" /> - <!-- XP gain multiplier (percentage in whole numbers) --> - <property name="PlayerSafeZoneLevel" value="5" /> - <!-- If a player is less or equal this level he will create a safe zone (no enemies) when spawned --> - <property name="PlayerSafeZoneHours" value="5" /> - <!-- Hours in world time this safe zone exists --> - <!-- --> - <property name="BuildCreate" value="false" /> - <!-- cheat mode on/off --> - <property name="DayNightLength" value="60" /> - <!-- real time minutes per in game day: 60 minutes --> - <property name="DayLightLength" value="18" /> - <!-- in game hours the sun shines per day: 18 hours day light per in game day --> - <property name="DropOnDeath" value="1" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all --> - <property name="DropOnQuit" value="0" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only --> - <property name="BedrollDeadZoneSize" value="15" /> - <!-- Size (box "radius", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared. --> - <property name="BedrollExpiryTime" value="45" /> - <!-- Number of real world days a bedroll stays active after owner was last online --> - <!-- Performance related --> - <property name="MaxSpawnedZombies" value="64" /> - <!-- This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance. --> - <property name="MaxSpawnedAnimals" value="50" /> - <!-- If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it. --> - <property name="ServerMaxAllowedViewDistance" value="12" /> - <!-- Max viewdistance a client may request (6 - 12). High impact on memory usage and performance. --> - <!-- Zombie settings --> - <property name="EnemySpawnMode" value="true" /> - <!-- Enable/Disable enemy spawning --> - <property name="EnemyDifficulty" value="0" /> - <!-- 0 = Normal, 1 = Feral --> - <property name="ZombieFeralSense" value="0" /> - <!-- 0-3 (Off, Day, Night, All) --> - <property name="ZombieMove" value="0" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieMoveNight" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieFeralMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieBMMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="BloodMoonFrequency" value="7" /> - <!-- What frequency (in days) should a blood moon take place. Set to "0" for no blood moons --> - <property name="BloodMoonRange" value="0" /> - <!-- How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in BloodMoonFrequency --> - <property name="BloodMoonWarning" value="8" /> - <!-- The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show. --> - <property name="BloodMoonEnemyCount" value="8" /> - <!-- This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance. --> - <!-- Loot --> - <property name="LootAbundance" value="100" /> - <!-- percentage in whole numbers --> - <property name="LootRespawnDays" value="7" /> - <!-- days in whole numbers --> - <property name="AirDropFrequency" value="72" /> - <!-- How often airdrop occur in game-hours, 0 == never --> - <property name="AirDropMarker" value="false" /> - <!-- Sets if a marker is added to map/compass for air drops. --> - <!-- Multiplayer --> - <property name="PartySharedKillRange" value="100" /> - <!-- The distance you must be within to receive party shared kill xp and quest party kill objective credit. --> - <property name="PlayerKillingMode" value="3" /> - <!-- Player Killing Settings (0 = No Killing, 1 = Kill Allies Only, 2 = Kill Strangers Only, 3 = Kill Everyone) --> - <!-- Land claim options --> - <property name="LandClaimCount" value="1" /> - <!-- Maximum allowed land claims per player. --> - <property name="LandClaimSize" value="41" /> - <!-- Size in blocks that is protected by a keystone --> - <property name="LandClaimDeadZone" value="30" /> - <!-- Keystones must be this many blocks apart (unless you are friends with the other player) --> - <property name="LandClaimExpiryTime" value="7" /> - <!-- The number of real world days a player can be offline before their claims expire and are no longer protected --> - <property name="LandClaimDecayMode" value="0" /> - <!-- Controls how offline players land claims decay. 0=Slow (Linear) , 1=Fast (Exponential), 2=None (Full protection until claim is expired). --> - <property name="LandClaimOnlineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDelay" value="0" /> - <!-- The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0 --> - <property name="DynamicMeshEnabled" value="true" /> - <!-- Is Dynamic Mesh system enabled --> - <property name="DynamicMeshLandClaimOnly" value="true" /> - <!-- Is Dynamic Mesh system only active in player LCB areas --> - <property name="DynamicMeshLandClaimBuffer" value="3" /> - <!-- Dynamic Mesh LCB chunk radius --> - <property name="DynamicMeshMaxItemCache" value="3" /> - <!-- How many items can be processed concurrently, higher values use more RAM --> - <property name="TwitchServerPermission" value="90" /> - <!-- Required permission level to use twitch integration on the server --> - <property name="TwitchBloodMoonAllowed" value="false" /> - <!-- If the server allows twitch actions during a blood moon. This could cause server lag with extra zombies being spawned during blood moon. --> - <!-- There are several game settings that you cannot change when starting a new game. - You can use console commands to change at least some of them ingame. - setgamepref BedrollDeadZoneSize 30 --> - <!-- RecipeFilter: 0 - Shows all recipes 1 - Shows unknown recipes, search limited by workstation 2 - Shows only known and workstation relevant recipes --> - <property name="RecipeFilter" value="0"/> - <!-- StarterQuestEnabled: True or False - determines if you trigger the tutorial quest upon first spawning on the server --> - <property name="StarterQuestEnabled" value="true"/> - <!-- WanderingHordFrequency: After how many in-game hours a wandering horde would occur. On top of this value 1 to 4 additional hours may be added depending on spawn conditions. Minimum Value: 1 --> - <property name="WanderingHordeFrequency" value="16"/> - <!-- WanderingHordeRange: Additional random hours added to Wandering Horde Frequency to add randomness to hours between spawns. For example, Frequency: 5, Frequency RNG Range: 10, then wandering horde will spawn anywhere between 5 to 15 (5+10) in-game hours + additional hours if special conditions occur (No players alive, etc). --> - <property name="WanderingHordeRange" value="8"/> - <!-- WanderingHordeEnemyCount: Fixed zombie count, that will spawn in a Wandering horde. Minimum Value: 2. Zombies + Zombie RNG Range value must not exceed: 64 --> - <property name="WanderingHordeEnemyCount" value="10"/> - <!-- WanderingHordeEnemyRange: This value determines up to how many additional zombies can spawn for Wandering Horde. For example, Zombies: 5, Zombies RNG Range: 10, then wandering horde will spawn anywhere between 5 to 15 (5+10) zombies. Combined value must not exceed: 64 --> - <property name="WanderingHordeEnemyRange" value="10"/> - <!-- DeathPenalty: Sets what will be the consequences to your progression when you die in the game: 0 - No penalty (you will not get XP debt as well as no debuff, that lowers your Attributes) 1 - Beginner, near Death Trauma debuff (Vanilla like experience) 2 - Moderate, same as beginner, but also with loss of random Action skills 3 - Standard, same as moderate, but also you will respawn with partial health, food and water --> - <property name="DeathPenalty" value="3"/> - <!-- POITierLootScale: Multiplier determining how important a POI Tier is when scaling Loot Stage. 0% - Disabled (Default), 100% Vanilla Scaling. Acceptable values are integers from 0 to 100 --> - <property name="POITierLootScale" value="0"/> -</ServerSettings> diff --git a/seven-days-settings184.xml b/seven-days-settings184.xml deleted file mode 100644 index c83530ee5..000000000 --- a/seven-days-settings184.xml +++ /dev/null @@ -1,174 +0,0 @@ -<?xml version="1.0"?> -<ServerSettings> - <!-- GENERAL SERVER SETTINGS --> - <!-- Server representation --> - <property name="ServerName" value="My Amp Host" /> - <!-- Whatever you want the name of the server to be. --> - <property name="ServerDescription" value="An AMP Powered 7 Days to Die server" /> - <!-- Whatever you want the server description to be, will be shown in the server browser. --> - <property name="ServerWebsiteURL" value="https://cubecoders.com/AMP" /> - <!-- Website URL for the server, will be shown in the serverbrowser as a clickable link --> - <property name="ServerPassword" value="" /> - <!-- Password to gain entry to the server --> - <property name="ServerLoginConfirmationText" value="" /> - <!-- If set the user will see the message during joining the server and has to confirm it before continuing. For more complex changes to this window you can change the "serverjoinrulesdialog" window in XUi --> - <!-- Networking --> - <property name="ServerPort" value="26904" /> - <!-- Port you want the server to listen on. Keep it in the ranges 26900 to 26905 or 27015 to 27020 if you want PCs on the same LAN to find it as a LAN server. --> - <property name="ServerVisibility" value="2" /> - <!-- Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP. --> - <property name="ServerDisabledNetworkProtocols" value="SteamNetworking" /> - <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly --> - <property name="ServerMaxWorldTransferSpeedKiBs" value="512" /> - <!-- Maximum (!) speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value. --> - <!-- Slots --> - <property name="ServerMaxPlayerCount" value="8" /> - <!-- Maximum Concurrent Players --> - <property name="ServerReservedSlots" value="0" /> - <!-- Out of the MaxPlayerCount this many slots can only be used by players with a specific permission level --> - <property name="ServerReservedSlotsPermission" value="100" /> - <!-- Required permission level to use reserved slots above --> - <property name="ServerAdminSlots" value="0" /> - <!-- This many admins can still join even if the server has reached MaxPlayerCount --> - <property name="ServerAdminSlotsPermission" value="0" /> - <!-- Required permission level to use the admin slots above --> - <!-- Admin interfaces --> - <property name="ControlPanelEnabled" value="false" /> - <!-- Enable/Disable the web control panel --> - <property name="ControlPanelPort" value="26910" /> - <!-- Port of the control panel webpage --> - <property name="ControlPanelPassword" value="CHANGEME" /> - <!-- Password to gain entry to the control panel --> - <property name="TelnetEnabled" value="true" /> - <!-- Enable/Disable the telnet --> - <property name="TelnetPort" value="27022" /> - <!-- Port of the telnet server --> - <property name="TelnetPassword" value="Password123" /> - <!-- Password to gain entry to telnet interface. If no password is set the server will only listen on the local loopback interface --> - <property name="TelnetFailedLoginLimit" value="10" /> - <!-- After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface --> - <property name="TelnetFailedLoginsBlocktime" value="10" /> - <!-- How long will the block persist (in seconds) --> - <property name="TerminalWindowEnabled" value="true" /> - <!-- Show a terminal window for log output / command input (Windows only) --> - <!-- Folder and file locations --> - <property name="AdminFileName" value="serveradmin.xml" /> - <!-- Server admin file name. Path relative to the SaveGameFolder --> - <property name="UserDataFolder" value="User" /> - <!-- Use this to override where the server stores all generated data, including RWG generated worlds. Do not forget to uncomment the entry! --> - <!-- <property name="SaveGameFolder" value="Saves" /> --> - <!-- Use this to only override the save game path. Do not forget to uncomment the entry! --> - <!-- Other technical settings --> - <property name="EACEnabled" value="true" /> - <!-- Enables/Disables EasyAntiCheat --> - <property name="HideCommandExecutionLog" value="0" /> - <!-- Hide logging of command execution. 0 = show everything, 1 = hide only from Telnet/ControlPanel, 2 = also hide from remote game clients, 3 = hide everything --> - <property name="MaxUncoveredMapChunksPerPlayer" value="131072" /> - <!-- Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time --> - <property name="PersistentPlayerProfiles" value="false" /> - <!-- If disabled a player can join with any selected profile. If true they will join with the last profile they joined with --> - <!-- GAMEPLAY --> - <!-- World --> - <property name="GameWorld" value="Navezgane" /> - <!-- "RWG" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with e.g. "Navezgane", "PREGEN01", ...) --> - <property name="WorldGenSeed" value="AMP" /> - <!-- If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it --> - <property name="WorldGenSize" value="6144" /> - <!-- If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load --> - <property name="GameName" value="My AMP Game" /> - <!-- Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world --> - <property name="GameMode" value="GameModeSurvival" /> - <!-- GameModeSurvival --> - <!-- Difficulty --> - <property name="GameDifficulty" value="2" /> - <!-- 0 - 5, 0=easiest, 5=hardest --> - <property name="BlockDamagePlayer" value="100" /> - <!-- How much damage do players to blocks (percentage in whole numbers) --> - <property name="BlockDamageAI" value="100" /> - <!-- How much damage do AIs to blocks (percentage in whole numbers) --> - <property name="BlockDamageAIBM" value="100" /> - <!-- How much damage do AIs during blood moons to blocks (percentage in whole numbers) --> - <property name="XPMultiplier" value="100" /> - <!-- XP gain multiplier (percentage in whole numbers) --> - <property name="PlayerSafeZoneLevel" value="5" /> - <!-- If a player is less or equal this level he will create a safe zone (no enemies) when spawned --> - <property name="PlayerSafeZoneHours" value="5" /> - <!-- Hours in world time this safe zone exists --> - <!-- --> - <property name="BuildCreate" value="false" /> - <!-- cheat mode on/off --> - <property name="DayNightLength" value="60" /> - <!-- real time minutes per in game day: 60 minutes --> - <property name="DayLightLength" value="18" /> - <!-- in game hours the sun shines per day: 18 hours day light per in game day --> - <property name="DropOnDeath" value="1" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all --> - <property name="DropOnQuit" value="0" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only --> - <property name="BedrollDeadZoneSize" value="15" /> - <!-- Size (box "radius", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared. --> - <property name="BedrollExpiryTime" value="45" /> - <!-- Number of real world days a bedroll stays active after owner was last online --> - <!-- Performance related --> - <property name="MaxSpawnedZombies" value="64" /> - <!-- This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance. --> - <property name="MaxSpawnedAnimals" value="50" /> - <!-- If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it. --> - <property name="ServerMaxAllowedViewDistance" value="12" /> - <!-- Max viewdistance a client may request (6 - 12). High impact on memory usage and performance. --> - <!-- Zombie settings --> - <property name="EnemySpawnMode" value="true" /> - <!-- Enable/Disable enemy spawning --> - <property name="EnemyDifficulty" value="0" /> - <!-- 0 = Normal, 1 = Feral --> - <property name="ZombieMove" value="0" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieMoveNight" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieFeralMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieBMMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="BloodMoonFrequency" value="7" /> - <!-- What frequency (in days) should a blood moon take place. Set to "0" for no blood moons --> - <property name="BloodMoonRange" value="0" /> - <!-- How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in BloodMoonFrequency --> - <property name="BloodMoonWarning" value="8" /> - <!-- The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show. --> - <property name="BloodMoonEnemyCount" value="8" /> - <!-- This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance. --> - <!-- Loot --> - <property name="LootAbundance" value="100" /> - <!-- percentage in whole numbers --> - <property name="LootRespawnDays" value="7" /> - <!-- days in whole numbers --> - <property name="AirDropFrequency" value="72" /> - <!-- How often airdrop occur in game-hours, 0 == never --> - <property name="AirDropMarker" value="false" /> - <!-- Sets if a marker is added to map/compass for air drops. --> - <!-- Multiplayer --> - <property name="PartySharedKillRange" value="100" /> - <!-- The distance you must be within to receive party shared kill xp and quest party kill objective credit. --> - <property name="PlayerKillingMode" value="3" /> - <!-- Player Killing Settings (0 = No Killing, 1 = Kill Allies Only, 2 = Kill Strangers Only, 3 = Kill Everyone) --> - <!-- Land claim options --> - <property name="LandClaimCount" value="1" /> - <!-- Maximum allowed land claims per player. --> - <property name="LandClaimSize" value="41" /> - <!-- Size in blocks that is protected by a keystone --> - <property name="LandClaimDeadZone" value="30" /> - <!-- Keystones must be this many blocks apart (unless you are friends with the other player) --> - <property name="LandClaimExpiryTime" value="7" /> - <!-- The number of real world days a player can be offline before their claims expire and are no longer protected --> - <property name="LandClaimDecayMode" value="0" /> - <!-- Controls how offline players land claims decay. 0=Slow (Linear) , 1=Fast (Exponential), 2=None (Full protection until claim is expired). --> - <property name="LandClaimOnlineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDelay" value="0" /> - <!-- The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0 --> - <!-- There are several game settings that you cannot change when starting a new game. - You can use console commands to change at least some of them ingame. - setgamepref BedrollDeadZoneSize 30 --> -</ServerSettings> \ No newline at end of file diff --git a/seven-days-settings196.xml b/seven-days-settings196.xml deleted file mode 100644 index d52ef1efb..000000000 --- a/seven-days-settings196.xml +++ /dev/null @@ -1,178 +0,0 @@ -<?xml version="1.0"?> -<ServerSettings> - <!-- GENERAL SERVER SETTINGS --> - <!-- Server representation --> - <property name="ServerName" value="My Amp Host" /> - <!-- Whatever you want the name of the server to be. --> - <property name="ServerDescription" value="An AMP Powered 7 Days to Die server" /> - <!-- Whatever you want the server description to be, will be shown in the server browser. --> - <property name="ServerWebsiteURL" value="https://cubecoders.com/AMP" /> - <!-- Website URL for the server, will be shown in the serverbrowser as a clickable link --> - <property name="ServerPassword" value="" /> - <!-- Password to gain entry to the server --> - <property name="ServerLoginConfirmationText" value="" /> - <!-- If set the user will see the message during joining the server and has to confirm it before continuing. For more complex changes to this window you can change the "serverjoinrulesdialog" window in XUi --> - <!-- Networking --> - <property name="ServerPort" value="26904" /> - <!-- Port you want the server to listen on. Keep it in the ranges 26900 to 26905 or 27015 to 27020 if you want PCs on the same LAN to find it as a LAN server. --> - <property name="ServerVisibility" value="2" /> - <!-- Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP. --> - <property name="ServerDisabledNetworkProtocols" value="SteamNetworking" /> - <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly --> - <property name="ServerMaxWorldTransferSpeedKiBs" value="512" /> - <!-- Maximum (!) speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value. --> - <!-- Slots --> - <property name="ServerMaxPlayerCount" value="8" /> - <!-- Maximum Concurrent Players --> - <property name="ServerReservedSlots" value="0" /> - <!-- Out of the MaxPlayerCount this many slots can only be used by players with a specific permission level --> - <property name="ServerReservedSlotsPermission" value="100" /> - <!-- Required permission level to use reserved slots above --> - <property name="ServerAdminSlots" value="0" /> - <!-- This many admins can still join even if the server has reached MaxPlayerCount --> - <property name="ServerAdminSlotsPermission" value="0" /> - <!-- Required permission level to use the admin slots above --> - <!-- Admin interfaces --> - <property name="ControlPanelEnabled" value="false" /> - <!-- Enable/Disable the web control panel --> - <property name="ControlPanelPort" value="26910" /> - <!-- Port of the control panel webpage --> - <property name="ControlPanelPassword" value="CHANGEME" /> - <!-- Password to gain entry to the control panel --> - <property name="TelnetEnabled" value="true" /> - <!-- Enable/Disable the telnet --> - <property name="TelnetPort" value="27022" /> - <!-- Port of the telnet server --> - <property name="TelnetPassword" value="Password123" /> - <!-- Password to gain entry to telnet interface. If no password is set the server will only listen on the local loopback interface --> - <property name="TelnetFailedLoginLimit" value="10" /> - <!-- After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface --> - <property name="TelnetFailedLoginsBlocktime" value="10" /> - <!-- How long will the block persist (in seconds) --> - <property name="TerminalWindowEnabled" value="true" /> - <!-- Show a terminal window for log output / command input (Windows only) --> - <!-- Folder and file locations --> - <property name="AdminFileName" value="serveradmin.xml" /> - <!-- Server admin file name. Path relative to the SaveGameFolder --> - <property name="UserDataFolder" value="User" /> - <!-- Use this to override where the server stores all generated data, including RWG generated worlds. Do not forget to uncomment the entry! --> - <!-- <property name="SaveGameFolder" value="Saves" /> --> - <!-- Use this to only override the save game path. Do not forget to uncomment the entry! --> - <!-- Other technical settings --> - <property name="EACEnabled" value="true" /> - <!-- Enables/Disables EasyAntiCheat --> - <property name="HideCommandExecutionLog" value="0" /> - <!-- Hide logging of command execution. 0 = show everything, 1 = hide only from Telnet/ControlPanel, 2 = also hide from remote game clients, 3 = hide everything --> - <property name="MaxUncoveredMapChunksPerPlayer" value="131072" /> - <!-- Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time --> - <property name="PersistentPlayerProfiles" value="false" /> - <!-- If disabled a player can join with any selected profile. If true they will join with the last profile they joined with --> - <!-- GAMEPLAY --> - <!-- World --> - <property name="GameWorld" value="Navezgane" /> - <!-- "RWG" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with e.g. "Navezgane", "PREGEN01", ...) --> - <property name="WorldGenSeed" value="AMP" /> - <!-- If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it --> - <property name="WorldGenSize" value="6144" /> - <!-- If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load --> - <property name="GameName" value="My AMP Game" /> - <!-- Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world --> - <property name="GameMode" value="GameModeSurvival" /> - <!-- GameModeSurvival --> - <!-- Difficulty --> - <property name="GameDifficulty" value="2" /> - <!-- 0 - 5, 0=easiest, 5=hardest --> - <property name="BlockDamagePlayer" value="100" /> - <!-- How much damage do players to blocks (percentage in whole numbers) --> - <property name="BlockDamageAI" value="100" /> - <!-- How much damage do AIs to blocks (percentage in whole numbers) --> - <property name="BlockDamageAIBM" value="100" /> - <!-- How much damage do AIs during blood moons to blocks (percentage in whole numbers) --> - <property name="XPMultiplier" value="100" /> - <!-- XP gain multiplier (percentage in whole numbers) --> - <property name="PlayerSafeZoneLevel" value="5" /> - <!-- If a player is less or equal this level he will create a safe zone (no enemies) when spawned --> - <property name="PlayerSafeZoneHours" value="5" /> - <!-- Hours in world time this safe zone exists --> - <!-- --> - <property name="BuildCreate" value="false" /> - <!-- cheat mode on/off --> - <property name="DayNightLength" value="60" /> - <!-- real time minutes per in game day: 60 minutes --> - <property name="DayLightLength" value="18" /> - <!-- in game hours the sun shines per day: 18 hours day light per in game day --> - <property name="DropOnDeath" value="1" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all --> - <property name="DropOnQuit" value="0" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only --> - <property name="BedrollDeadZoneSize" value="15" /> - <!-- Size (box "radius", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared. --> - <property name="BedrollExpiryTime" value="45" /> - <!-- Number of real world days a bedroll stays active after owner was last online --> - <!-- Performance related --> - <property name="MaxSpawnedZombies" value="64" /> - <!-- This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance. --> - <property name="MaxSpawnedAnimals" value="50" /> - <!-- If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it. --> - <property name="ServerMaxAllowedViewDistance" value="12" /> - <!-- Max viewdistance a client may request (6 - 12). High impact on memory usage and performance. --> - <!-- Zombie settings --> - <property name="EnemySpawnMode" value="true" /> - <!-- Enable/Disable enemy spawning --> - <property name="EnemyDifficulty" value="0" /> - <!-- 0 = Normal, 1 = Feral --> - <property name="ZombieMove" value="0" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieMoveNight" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieFeralMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieBMMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="BloodMoonFrequency" value="7" /> - <!-- What frequency (in days) should a blood moon take place. Set to "0" for no blood moons --> - <property name="BloodMoonRange" value="0" /> - <!-- How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in BloodMoonFrequency --> - <property name="BloodMoonWarning" value="8" /> - <!-- The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show. --> - <property name="BloodMoonEnemyCount" value="8" /> - <!-- This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance. --> - <!-- Loot --> - <property name="LootAbundance" value="100" /> - <!-- percentage in whole numbers --> - <property name="LootRespawnDays" value="7" /> - <!-- days in whole numbers --> - <property name="AirDropFrequency" value="72" /> - <!-- How often airdrop occur in game-hours, 0 == never --> - <property name="AirDropMarker" value="false" /> - <!-- Sets if a marker is added to map/compass for air drops. --> - <!-- Multiplayer --> - <property name="PartySharedKillRange" value="100" /> - <!-- The distance you must be within to receive party shared kill xp and quest party kill objective credit. --> - <property name="PlayerKillingMode" value="3" /> - <!-- Player Killing Settings (0 = No Killing, 1 = Kill Allies Only, 2 = Kill Strangers Only, 3 = Kill Everyone) --> - <!-- Land claim options --> - <property name="LandClaimCount" value="1" /> - <!-- Maximum allowed land claims per player. --> - <property name="LandClaimSize" value="41" /> - <!-- Size in blocks that is protected by a keystone --> - <property name="LandClaimDeadZone" value="30" /> - <!-- Keystones must be this many blocks apart (unless you are friends with the other player) --> - <property name="LandClaimExpiryTime" value="7" /> - <!-- The number of real world days a player can be offline before their claims expire and are no longer protected --> - <property name="LandClaimDecayMode" value="0" /> - <!-- Controls how offline players land claims decay. 0=Slow (Linear) , 1=Fast (Exponential), 2=None (Full protection until claim is expired). --> - <property name="LandClaimOnlineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDelay" value="0" /> - <!-- The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0 --> - <property name="TwitchServerPermission" value="90" /> - <!-- Required permission level to use twitch integration on the server --> - <property name="TwitchBloodMoonAllowed" value="false" /> - <!-- If the server allows twitch actions during a blood moon. This could cause server lag with extra zombies being spawned during blood moon. --> - <!-- There are several game settings that you cannot change when starting a new game. - You can use console commands to change at least some of them ingame. - setgamepref BedrollDeadZoneSize 30 --> -</ServerSettings> \ No newline at end of file diff --git a/seven-days-settings200-203.xml b/seven-days-settings200-203.xml deleted file mode 100644 index 7b8bf73b1..000000000 --- a/seven-days-settings200-203.xml +++ /dev/null @@ -1,188 +0,0 @@ -<?xml version="1.0"?> -<ServerSettings> - <!-- GENERAL SERVER SETTINGS --> - <!-- Server representation --> - <property name="ServerName" value="My Amp Host" /> - <!-- Whatever you want the name of the server to be. --> - <property name="ServerDescription" value="An AMP Powered 7 Days to Die server" /> - <!-- Whatever you want the server description to be, will be shown in the server browser. --> - <property name="ServerWebsiteURL" value="https://cubecoders.com/AMP" /> - <!-- Website URL for the server, will be shown in the serverbrowser as a clickable link --> - <property name="ServerPassword" value="" /> - <!-- Password to gain entry to the server --> - <property name="ServerLoginConfirmationText" value="" /> - <!-- If set the user will see the message during joining the server and has to confirm it before continuing. For more complex changes to this window you can change the "serverjoinrulesdialog" window in XUi --> - <!-- Networking --> - <property name="ServerPort" value="26904" /> - <!-- Port you want the server to listen on. Keep it in the ranges 26900 to 26905 or 27015 to 27020 if you want PCs on the same LAN to find it as a LAN server. --> - <property name="ServerVisibility" value="2" /> - <!-- Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP. --> - <property name="ServerDisabledNetworkProtocols" value="SteamNetworking" /> - <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly --> - <property name="ServerMaxWorldTransferSpeedKiBs" value="512" /> - <!-- Maximum (!) speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value. --> - <!-- Slots --> - <property name="ServerMaxPlayerCount" value="8" /> - <!-- Maximum Concurrent Players --> - <property name="ServerReservedSlots" value="0" /> - <!-- Out of the MaxPlayerCount this many slots can only be used by players with a specific permission level --> - <property name="ServerReservedSlotsPermission" value="100" /> - <!-- Required permission level to use reserved slots above --> - <property name="ServerAdminSlots" value="0" /> - <!-- This many admins can still join even if the server has reached MaxPlayerCount --> - <property name="ServerAdminSlotsPermission" value="0" /> - <!-- Required permission level to use the admin slots above --> - <!-- Admin interfaces --> - <property name="ControlPanelEnabled" value="false" /> - <!-- Enable/Disable the web control panel --> - <property name="ControlPanelPort" value="26910" /> - <!-- Port of the control panel webpage --> - <property name="ControlPanelPassword" value="CHANGEME" /> - <!-- Password to gain entry to the control panel --> - <property name="TelnetEnabled" value="true" /> - <!-- Enable/Disable the telnet --> - <property name="TelnetPort" value="27022" /> - <!-- Port of the telnet server --> - <property name="TelnetPassword" value="Password123" /> - <!-- Password to gain entry to telnet interface. If no password is set the server will only listen on the local loopback interface --> - <property name="TelnetFailedLoginLimit" value="10" /> - <!-- After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface --> - <property name="TelnetFailedLoginsBlocktime" value="10" /> - <!-- How long will the block persist (in seconds) --> - <property name="TerminalWindowEnabled" value="true" /> - <!-- Show a terminal window for log output / command input (Windows only) --> - <!-- Folder and file locations --> - <property name="AdminFileName" value="serveradmin.xml" /> - <!-- Server admin file name. Path relative to the SaveGameFolder --> - <property name="UserDataFolder" value="User" /> - <!-- Use this to override where the server stores all generated data, including RWG generated worlds. Do not forget to uncomment the entry! --> - <!-- <property name="SaveGameFolder" value="Saves" /> --> - <!-- Use this to only override the save game path. Do not forget to uncomment the entry! --> - <!-- Other technical settings --> - <property name="EACEnabled" value="true" /> - <!-- Enables/Disables EasyAntiCheat --> - <property name="HideCommandExecutionLog" value="0" /> - <!-- Hide logging of command execution. 0 = show everything, 1 = hide only from Telnet/ControlPanel, 2 = also hide from remote game clients, 3 = hide everything --> - <property name="MaxUncoveredMapChunksPerPlayer" value="131072" /> - <!-- Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time --> - <property name="PersistentPlayerProfiles" value="false" /> - <!-- If disabled a player can join with any selected profile. If true they will join with the last profile they joined with --> - <!-- GAMEPLAY --> - <!-- World --> - <property name="GameWorld" value="Navezgane" /> - <!-- "RWG" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with e.g. "Navezgane", "PREGEN01", ...) --> - <property name="WorldGenSeed" value="AMP" /> - <!-- If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it --> - <property name="WorldGenSize" value="6144" /> - <!-- If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load --> - <property name="GameName" value="My AMP Game" /> - <!-- Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world --> - <property name="GameMode" value="GameModeSurvival" /> - <!-- GameModeSurvival --> - <!-- Difficulty --> - <property name="GameDifficulty" value="2" /> - <!-- 0 - 5, 0=easiest, 5=hardest --> - <property name="BlockDamagePlayer" value="100" /> - <!-- How much damage do players to blocks (percentage in whole numbers) --> - <property name="BlockDamageAI" value="100" /> - <!-- How much damage do AIs to blocks (percentage in whole numbers) --> - <property name="BlockDamageAIBM" value="100" /> - <!-- How much damage do AIs during blood moons to blocks (percentage in whole numbers) --> - <property name="XPMultiplier" value="100" /> - <!-- XP gain multiplier (percentage in whole numbers) --> - <property name="PlayerSafeZoneLevel" value="5" /> - <!-- If a player is less or equal this level he will create a safe zone (no enemies) when spawned --> - <property name="PlayerSafeZoneHours" value="5" /> - <!-- Hours in world time this safe zone exists --> - <!-- --> - <property name="BuildCreate" value="false" /> - <!-- cheat mode on/off --> - <property name="DayNightLength" value="60" /> - <!-- real time minutes per in game day: 60 minutes --> - <property name="DayLightLength" value="18" /> - <!-- in game hours the sun shines per day: 18 hours day light per in game day --> - <property name="DropOnDeath" value="1" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all --> - <property name="DropOnQuit" value="0" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only --> - <property name="BedrollDeadZoneSize" value="15" /> - <!-- Size (box "radius", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared. --> - <property name="BedrollExpiryTime" value="45" /> - <!-- Number of real world days a bedroll stays active after owner was last online --> - <!-- Performance related --> - <property name="MaxSpawnedZombies" value="64" /> - <!-- This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance. --> - <property name="MaxSpawnedAnimals" value="50" /> - <!-- If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it. --> - <property name="ServerMaxAllowedViewDistance" value="12" /> - <!-- Max viewdistance a client may request (6 - 12). High impact on memory usage and performance. --> - <!-- Zombie settings --> - <property name="EnemySpawnMode" value="true" /> - <!-- Enable/Disable enemy spawning --> - <property name="EnemyDifficulty" value="0" /> - <!-- 0 = Normal, 1 = Feral --> - <property name="ZombieFeralSense" value="0" /> - <!-- 0-3 (Off, Day, Night, All) --> - <property name="ZombieMove" value="0" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieMoveNight" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieFeralMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieBMMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="BloodMoonFrequency" value="7" /> - <!-- What frequency (in days) should a blood moon take place. Set to "0" for no blood moons --> - <property name="BloodMoonRange" value="0" /> - <!-- How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in BloodMoonFrequency --> - <property name="BloodMoonWarning" value="8" /> - <!-- The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show. --> - <property name="BloodMoonEnemyCount" value="8" /> - <!-- This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance. --> - <!-- Loot --> - <property name="LootAbundance" value="100" /> - <!-- percentage in whole numbers --> - <property name="LootRespawnDays" value="7" /> - <!-- days in whole numbers --> - <property name="AirDropFrequency" value="72" /> - <!-- How often airdrop occur in game-hours, 0 == never --> - <property name="AirDropMarker" value="false" /> - <!-- Sets if a marker is added to map/compass for air drops. --> - <!-- Multiplayer --> - <property name="PartySharedKillRange" value="100" /> - <!-- The distance you must be within to receive party shared kill xp and quest party kill objective credit. --> - <property name="PlayerKillingMode" value="3" /> - <!-- Player Killing Settings (0 = No Killing, 1 = Kill Allies Only, 2 = Kill Strangers Only, 3 = Kill Everyone) --> - <!-- Land claim options --> - <property name="LandClaimCount" value="1" /> - <!-- Maximum allowed land claims per player. --> - <property name="LandClaimSize" value="41" /> - <!-- Size in blocks that is protected by a keystone --> - <property name="LandClaimDeadZone" value="30" /> - <!-- Keystones must be this many blocks apart (unless you are friends with the other player) --> - <property name="LandClaimExpiryTime" value="7" /> - <!-- The number of real world days a player can be offline before their claims expire and are no longer protected --> - <property name="LandClaimDecayMode" value="0" /> - <!-- Controls how offline players land claims decay. 0=Slow (Linear) , 1=Fast (Exponential), 2=None (Full protection until claim is expired). --> - <property name="LandClaimOnlineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDelay" value="0" /> - <!-- The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0 --> - <property name="DynamicMeshEnabled" value="true" /> - <!-- Is Dynamic Mesh system enabled --> - <property name="DynamicMeshLandClaimOnly" value="true" /> - <!-- Is Dynamic Mesh system only active in player LCB areas --> - <property name="DynamicMeshLandClaimBuffer" value="3" /> - <!-- Dynamic Mesh LCB chunk radius --> - <property name="DynamicMeshMaxItemCache" value="3" /> - <!-- How many items can be processed concurrently, higher values use more RAM --> - <property name="TwitchServerPermission" value="90" /> - <!-- Required permission level to use twitch integration on the server --> - <property name="TwitchBloodMoonAllowed" value="false" /> - <!-- If the server allows twitch actions during a blood moon. This could cause server lag with extra zombies being spawned during blood moon. --> - <!-- There are several game settings that you cannot change when starting a new game. - You can use console commands to change at least some of them ingame. - setgamepref BedrollDeadZoneSize 30 --> -</ServerSettings> \ No newline at end of file diff --git a/seven-days-settings204.xml b/seven-days-settings204.xml deleted file mode 100644 index be3f8ea26..000000000 --- a/seven-days-settings204.xml +++ /dev/null @@ -1,192 +0,0 @@ -<?xml version="1.0"?> -<ServerSettings> - <!-- GENERAL SERVER SETTINGS --> - <!-- Server representation --> - <property name="ServerName" value="My Amp Host" /> - <!-- Whatever you want the name of the server to be. --> - <property name="ServerDescription" value="An AMP Powered 7 Days to Die server" /> - <!-- Whatever you want the server description to be, will be shown in the server browser. --> - <property name="ServerWebsiteURL" value="https://cubecoders.com/AMP" /> - <!-- Website URL for the server, will be shown in the serverbrowser as a clickable link --> - <property name="ServerPassword" value="" /> - <!-- Password to gain entry to the server --> - <property name="ServerLoginConfirmationText" value="" /> - <!-- If set the user will see the message during joining the server and has to confirm it before continuing. For more complex changes to this window you can change the "serverjoinrulesdialog" window in XUi --> - <property name="Region" value="NorthAmericaEast" /> - <!-- The region this server is in. Values: NorthAmericaEast, NorthAmericaWest, CentralAmerica, SouthAmerica, Europe, Russia, Asia, MiddleEast, Africa, Oceania --> - <property name="Language" value="English" /> - <!-- Primary language for players on this server. Values: Use any language name that you would users expect to search for. Should be the English name of the language, e.g. not "Deutsch" but "German" --> - <!-- Networking --> - <property name="ServerPort" value="26904" /> - <!-- Port you want the server to listen on. Keep it in the ranges 26900 to 26905 or 27015 to 27020 if you want PCs on the same LAN to find it as a LAN server. --> - <property name="ServerVisibility" value="2" /> - <!-- Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP. --> - <property name="ServerDisabledNetworkProtocols" value="SteamNetworking" /> - <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly --> - <property name="ServerMaxWorldTransferSpeedKiBs" value="512" /> - <!-- Maximum (!) speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value. --> - <!-- Slots --> - <property name="ServerMaxPlayerCount" value="8" /> - <!-- Maximum Concurrent Players --> - <property name="ServerReservedSlots" value="0" /> - <!-- Out of the MaxPlayerCount this many slots can only be used by players with a specific permission level --> - <property name="ServerReservedSlotsPermission" value="100" /> - <!-- Required permission level to use reserved slots above --> - <property name="ServerAdminSlots" value="0" /> - <!-- This many admins can still join even if the server has reached MaxPlayerCount --> - <property name="ServerAdminSlotsPermission" value="0" /> - <!-- Required permission level to use the admin slots above --> - <!-- Admin interfaces --> - <property name="ControlPanelEnabled" value="false" /> - <!-- Enable/Disable the web control panel --> - <property name="ControlPanelPort" value="26910" /> - <!-- Port of the control panel webpage --> - <property name="ControlPanelPassword" value="CHANGEME" /> - <!-- Password to gain entry to the control panel --> - <property name="TelnetEnabled" value="true" /> - <!-- Enable/Disable the telnet --> - <property name="TelnetPort" value="27022" /> - <!-- Port of the telnet server --> - <property name="TelnetPassword" value="Password123" /> - <!-- Password to gain entry to telnet interface. If no password is set the server will only listen on the local loopback interface --> - <property name="TelnetFailedLoginLimit" value="10" /> - <!-- After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface --> - <property name="TelnetFailedLoginsBlocktime" value="10" /> - <!-- How long will the block persist (in seconds) --> - <property name="TerminalWindowEnabled" value="true" /> - <!-- Show a terminal window for log output / command input (Windows only) --> - <!-- Folder and file locations --> - <property name="AdminFileName" value="serveradmin.xml" /> - <!-- Server admin file name. Path relative to the SaveGameFolder --> - <property name="UserDataFolder" value="User" /> - <!-- Use this to override where the server stores all generated data, including RWG generated worlds. Do not forget to uncomment the entry! --> - <!-- <property name="SaveGameFolder" value="Saves" /> --> - <!-- Use this to only override the save game path. Do not forget to uncomment the entry! --> - <!-- Other technical settings --> - <property name="EACEnabled" value="true" /> - <!-- Enables/Disables EasyAntiCheat --> - <property name="HideCommandExecutionLog" value="0" /> - <!-- Hide logging of command execution. 0 = show everything, 1 = hide only from Telnet/ControlPanel, 2 = also hide from remote game clients, 3 = hide everything --> - <property name="MaxUncoveredMapChunksPerPlayer" value="131072" /> - <!-- Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time --> - <property name="PersistentPlayerProfiles" value="false" /> - <!-- If disabled a player can join with any selected profile. If true they will join with the last profile they joined with --> - <!-- GAMEPLAY --> - <!-- World --> - <property name="GameWorld" value="Navezgane" /> - <!-- "RWG" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with e.g. "Navezgane", "PREGEN01", ...) --> - <property name="WorldGenSeed" value="AMP" /> - <!-- If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it --> - <property name="WorldGenSize" value="6144" /> - <!-- If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load --> - <property name="GameName" value="My AMP Game" /> - <!-- Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world --> - <property name="GameMode" value="GameModeSurvival" /> - <!-- GameModeSurvival --> - <!-- Difficulty --> - <property name="GameDifficulty" value="2" /> - <!-- 0 - 5, 0=easiest, 5=hardest --> - <property name="BlockDamagePlayer" value="100" /> - <!-- How much damage do players to blocks (percentage in whole numbers) --> - <property name="BlockDamageAI" value="100" /> - <!-- How much damage do AIs to blocks (percentage in whole numbers) --> - <property name="BlockDamageAIBM" value="100" /> - <!-- How much damage do AIs during blood moons to blocks (percentage in whole numbers) --> - <property name="XPMultiplier" value="100" /> - <!-- XP gain multiplier (percentage in whole numbers) --> - <property name="PlayerSafeZoneLevel" value="5" /> - <!-- If a player is less or equal this level he will create a safe zone (no enemies) when spawned --> - <property name="PlayerSafeZoneHours" value="5" /> - <!-- Hours in world time this safe zone exists --> - <!-- --> - <property name="BuildCreate" value="false" /> - <!-- cheat mode on/off --> - <property name="DayNightLength" value="60" /> - <!-- real time minutes per in game day: 60 minutes --> - <property name="DayLightLength" value="18" /> - <!-- in game hours the sun shines per day: 18 hours day light per in game day --> - <property name="DropOnDeath" value="1" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all --> - <property name="DropOnQuit" value="0" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only --> - <property name="BedrollDeadZoneSize" value="15" /> - <!-- Size (box "radius", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared. --> - <property name="BedrollExpiryTime" value="45" /> - <!-- Number of real world days a bedroll stays active after owner was last online --> - <!-- Performance related --> - <property name="MaxSpawnedZombies" value="64" /> - <!-- This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance. --> - <property name="MaxSpawnedAnimals" value="50" /> - <!-- If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it. --> - <property name="ServerMaxAllowedViewDistance" value="12" /> - <!-- Max viewdistance a client may request (6 - 12). High impact on memory usage and performance. --> - <!-- Zombie settings --> - <property name="EnemySpawnMode" value="true" /> - <!-- Enable/Disable enemy spawning --> - <property name="EnemyDifficulty" value="0" /> - <!-- 0 = Normal, 1 = Feral --> - <property name="ZombieFeralSense" value="0" /> - <!-- 0-3 (Off, Day, Night, All) --> - <property name="ZombieMove" value="0" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieMoveNight" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieFeralMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieBMMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="BloodMoonFrequency" value="7" /> - <!-- What frequency (in days) should a blood moon take place. Set to "0" for no blood moons --> - <property name="BloodMoonRange" value="0" /> - <!-- How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in BloodMoonFrequency --> - <property name="BloodMoonWarning" value="8" /> - <!-- The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show. --> - <property name="BloodMoonEnemyCount" value="8" /> - <!-- This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance. --> - <!-- Loot --> - <property name="LootAbundance" value="100" /> - <!-- percentage in whole numbers --> - <property name="LootRespawnDays" value="7" /> - <!-- days in whole numbers --> - <property name="AirDropFrequency" value="72" /> - <!-- How often airdrop occur in game-hours, 0 == never --> - <property name="AirDropMarker" value="false" /> - <!-- Sets if a marker is added to map/compass for air drops. --> - <!-- Multiplayer --> - <property name="PartySharedKillRange" value="100" /> - <!-- The distance you must be within to receive party shared kill xp and quest party kill objective credit. --> - <property name="PlayerKillingMode" value="3" /> - <!-- Player Killing Settings (0 = No Killing, 1 = Kill Allies Only, 2 = Kill Strangers Only, 3 = Kill Everyone) --> - <!-- Land claim options --> - <property name="LandClaimCount" value="1" /> - <!-- Maximum allowed land claims per player. --> - <property name="LandClaimSize" value="41" /> - <!-- Size in blocks that is protected by a keystone --> - <property name="LandClaimDeadZone" value="30" /> - <!-- Keystones must be this many blocks apart (unless you are friends with the other player) --> - <property name="LandClaimExpiryTime" value="7" /> - <!-- The number of real world days a player can be offline before their claims expire and are no longer protected --> - <property name="LandClaimDecayMode" value="0" /> - <!-- Controls how offline players land claims decay. 0=Slow (Linear) , 1=Fast (Exponential), 2=None (Full protection until claim is expired). --> - <property name="LandClaimOnlineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDelay" value="0" /> - <!-- The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0 --> - <property name="DynamicMeshEnabled" value="true" /> - <!-- Is Dynamic Mesh system enabled --> - <property name="DynamicMeshLandClaimOnly" value="true" /> - <!-- Is Dynamic Mesh system only active in player LCB areas --> - <property name="DynamicMeshLandClaimBuffer" value="3" /> - <!-- Dynamic Mesh LCB chunk radius --> - <property name="DynamicMeshMaxItemCache" value="3" /> - <!-- How many items can be processed concurrently, higher values use more RAM --> - <property name="TwitchServerPermission" value="90" /> - <!-- Required permission level to use twitch integration on the server --> - <property name="TwitchBloodMoonAllowed" value="false" /> - <!-- If the server allows twitch actions during a blood moon. This could cause server lag with extra zombies being spawned during blood moon. --> - <!-- There are several game settings that you cannot change when starting a new game. - You can use console commands to change at least some of them ingame. - setgamepref BedrollDeadZoneSize 30 --> -</ServerSettings> \ No newline at end of file diff --git a/seven-days-settings210.xml b/seven-days-settings210.xml deleted file mode 100644 index 1586fa103..000000000 --- a/seven-days-settings210.xml +++ /dev/null @@ -1,202 +0,0 @@ -<?xml version="1.0"?> -<ServerSettings> - <!-- GENERAL SERVER SETTINGS --> - <!-- Server representation --> - <property name="ServerName" value="My Amp Host" /> - <!-- Whatever you want the name of the server to be. --> - <property name="ServerDescription" value="An AMP Powered 7 Days to Die server" /> - <!-- Whatever you want the server description to be, will be shown in the server browser. --> - <property name="ServerWebsiteURL" value="https://cubecoders.com/AMP" /> - <!-- Website URL for the server, will be shown in the serverbrowser as a clickable link --> - <property name="ServerPassword" value="" /> - <!-- Password to gain entry to the server --> - <property name="ServerLoginConfirmationText" value="" /> - <!-- If set the user will see the message during joining the server and has to confirm it before continuing. For more complex changes to this window you can change the "serverjoinrulesdialog" window in XUi --> - <property name="Region" value="NorthAmericaEast" /> - <!-- The region this server is in. Values: NorthAmericaEast, NorthAmericaWest, CentralAmerica, SouthAmerica, Europe, Russia, Asia, MiddleEast, Africa, Oceania --> - <property name="Language" value="English" /> - <!-- Primary language for players on this server. Values: Use any language name that you would users expect to search for. Should be the English name of the language, e.g. not "Deutsch" but "German" --> - <!-- Networking --> - <property name="ServerPort" value="26900" /> - <!-- Port you want the server to listen on. Keep it in the ranges 26900 to 26905 or 27015 to 27020 if you want PCs on the same LAN to find it as a LAN server. --> - <property name="ServerVisibility" value="2" /> - <!-- Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP. --> - <property name="ServerDisabledNetworkProtocols" value="SteamNetworking" /> - <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly --> - <property name="ServerMaxWorldTransferSpeedKiBs" value="512" /> - <!-- Maximum (!) speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value. --> - <!-- Slots --> - <property name="ServerMaxPlayerCount" value="8" /> - <!-- Maximum Concurrent Players --> - <property name="ServerReservedSlots" value="0" /> - <!-- Out of the MaxPlayerCount this many slots can only be used by players with a specific permission level --> - <property name="ServerReservedSlotsPermission" value="100" /> - <!-- Required permission level to use reserved slots above --> - <property name="ServerAdminSlots" value="0" /> - <!-- This many admins can still join even if the server has reached MaxPlayerCount --> - <property name="ServerAdminSlotsPermission" value="0" /> - <!-- Required permission level to use the admin slots above --> - <!-- Admin interfaces --> - <property name="WebDashboardEnabled" value="false"/> - <!-- Enable/disable the web dashboard --> - <property name="WebDashboardPort" value="8080"/> - <!-- Port of the web dashboard --> - <property name="WebDashboardUrl" value=""/> - <!-- External URL to the web dashboard if not just using the public IP of the server, e.g. if the web dashboard is behind a reverse proxy. Needs to be the full URL, like "https://domainOfReverseProxy.tld:1234/". Can be left empty if directly using the public IP and dashboard port --> - <property name="EnableMapRendering" value="false"/> - <!-- Enable/disable rendering of the map to tile images while exploring it. This is used e.g. by the web dashboard to display a view of the map. --> - <property name="TelnetEnabled" value="true" /> - <!-- Enable/Disable the telnet --> - <property name="TelnetPort" value="8081" /> - <!-- Port of the telnet server --> - <property name="TelnetPassword" value="Password123" /> - <!-- Password to gain entry to telnet interface. If no password is set the server will only listen on the local loopback interface --> - <property name="TelnetFailedLoginLimit" value="10" /> - <!-- After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface --> - <property name="TelnetFailedLoginsBlocktime" value="10" /> - <!-- How long will the block persist (in seconds) --> - <property name="TerminalWindowEnabled" value="true" /> - <!-- Show a terminal window for log output / command input (Windows only) --> - <!-- Folder and file locations --> - <property name="AdminFileName" value="serveradmin.xml" /> - <!-- Server admin file name. Path relative to the SaveGameFolder --> - <property name="UserDataFolder" value="User" /> - <!-- Use this to override where the server stores all generated data, including RWG generated worlds. Do not forget to uncomment the entry! --> - <!-- <property name="SaveGameFolder" value="Saves" /> --> - <!-- Use this to only override the save game path. Do not forget to uncomment the entry! --> - <!-- Other technical settings --> - <property name="EACEnabled" value="true" /> - <!-- Enables/Disables EasyAntiCheat --> - <property name="HideCommandExecutionLog" value="0" /> - <!-- Hide logging of command execution. 0 = show everything, 1 = hide only from Telnet/ControlPanel, 2 = also hide from remote game clients, 3 = hide everything --> - <property name="MaxUncoveredMapChunksPerPlayer" value="131072" /> - <!-- Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time --> - <property name="PersistentPlayerProfiles" value="false" /> - <!-- If disabled a player can join with any selected profile. If true they will join with the last profile they joined with --> - <!-- GAMEPLAY --> - <!-- World --> - <property name="GameWorld" value="Navezgane" /> - <!-- "RWG" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with e.g. "Navezgane", "PREGEN01", ...) --> - <property name="WorldGenSeed" value="AMP" /> - <!-- If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it --> - <property name="WorldGenSize" value="6144" /> - <!-- If RWG this controls the width and height of the created world. It is also used in combination with WorldGenSeed to create the internal RWG seed thus also creating a unique map name even if using the same WorldGenSeed. Has to be a multiple of 2048 between 2048 and 16384, though large map sizes will take long to generate / download / load --> - <property name="GameName" value="My AMP Game" /> - <!-- Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world --> - <property name="GameMode" value="GameModeSurvival" /> - <!-- GameModeSurvival --> - <!-- Difficulty --> - <property name="GameDifficulty" value="2" /> - <!-- 0 - 5, 0=easiest, 5=hardest --> - <property name="BlockDamagePlayer" value="100" /> - <!-- How much damage do players to blocks (percentage in whole numbers) --> - <property name="BlockDamageAI" value="100" /> - <!-- How much damage do AIs to blocks (percentage in whole numbers) --> - <property name="BlockDamageAIBM" value="100" /> - <!-- How much damage do AIs during blood moons to blocks (percentage in whole numbers) --> - <property name="XPMultiplier" value="100" /> - <!-- XP gain multiplier (percentage in whole numbers) --> - <property name="PlayerSafeZoneLevel" value="5" /> - <!-- If a player is less or equal this level he will create a safe zone (no enemies) when spawned --> - <property name="PlayerSafeZoneHours" value="5" /> - <!-- Hours in world time this safe zone exists --> - <!-- --> - <property name="BuildCreate" value="false" /> - <!-- cheat mode on/off --> - <property name="DayNightLength" value="60" /> - <!-- real time minutes per in game day: 60 minutes --> - <property name="DayLightLength" value="18" /> - <!-- in game hours the sun shines per day: 18 hours day light per in game day --> - <property name="DropOnDeath" value="1" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all --> - <property name="DropOnQuit" value="0" /> - <!-- 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only --> - <property name="BedrollDeadZoneSize" value="15" /> - <!-- Size (box "radius", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared. --> - <property name="BedrollExpiryTime" value="45" /> - <!-- Number of real world days a bedroll stays active after owner was last online --> - <property name="AllowSpawnNearBackpack" value="false"/> - <!-- Allow players to respawn near their last dropped backpack when they die --> - <!-- Performance related --> - <property name="MaxSpawnedZombies" value="64" /> - <!-- This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance. --> - <property name="MaxSpawnedAnimals" value="50" /> - <!-- If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it. --> - <property name="ServerMaxAllowedViewDistance" value="12" /> - <!-- Max viewdistance a client may request (6 - 12). High impact on memory usage and performance. --> - <property name="MaxQueuedMeshLayers" value="1000" /> - <!-- Maximum amount of Chunk mesh layers that can be enqueued during mesh generation. Reducing this will improve memory usage but may increase Chunk generation time --> - <!-- Zombie settings --> - <property name="EnemySpawnMode" value="true" /> - <!-- Enable/Disable enemy spawning --> - <property name="EnemyDifficulty" value="0" /> - <!-- 0 = Normal, 1 = Feral --> - <property name="ZombieFeralSense" value="0" /> - <!-- 0-3 (Off, Day, Night, All) --> - <property name="ZombieMove" value="0" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieMoveNight" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieFeralMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="ZombieBMMove" value="3" /> - <!-- 0-4 (walk, jog, run, sprint, nightmare) --> - <property name="BloodMoonFrequency" value="7" /> - <!-- What frequency (in days) should a blood moon take place. Set to "0" for no blood moons --> - <property name="BloodMoonRange" value="0" /> - <!-- How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in BloodMoonFrequency --> - <property name="BloodMoonWarning" value="8" /> - <!-- The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show. --> - <property name="BloodMoonEnemyCount" value="8" /> - <!-- This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance. --> - <!-- Loot --> - <property name="LootAbundance" value="100" /> - <!-- percentage in whole numbers --> - <property name="LootRespawnDays" value="7" /> - <!-- days in whole numbers --> - <property name="AirDropFrequency" value="72" /> - <!-- How often airdrop occur in game-hours, 0 == never --> - <property name="AirDropMarker" value="true" /> - <!-- Sets if a marker is added to map/compass for air drops. --> - <!-- Multiplayer --> - <property name="PartySharedKillRange" value="100" /> - <!-- The distance you must be within to receive party shared kill xp and quest party kill objective credit. --> - <property name="PlayerKillingMode" value="3" /> - <!-- Player Killing Settings (0 = No Killing, 1 = Kill Allies Only, 2 = Kill Strangers Only, 3 = Kill Everyone) --> - <!-- Land claim options --> - <property name="LandClaimCount" value="3" /> - <!-- Maximum allowed land claims per player. --> - <property name="LandClaimSize" value="41" /> - <!-- Size in blocks that is protected by a keystone --> - <property name="LandClaimDeadZone" value="30" /> - <!-- Keystones must be this many blocks apart (unless you are friends with the other player) --> - <property name="LandClaimExpiryTime" value="7" /> - <!-- The number of real world days a player can be offline before their claims expire and are no longer protected --> - <property name="LandClaimDecayMode" value="0" /> - <!-- Controls how offline players land claims decay. 0=Slow (Linear) , 1=Fast (Exponential), 2=None (Full protection until claim is expired). --> - <property name="LandClaimOnlineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDurabilityModifier" value="4" /> - <!-- How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x --> - <property name="LandClaimOfflineDelay" value="0" /> - <!-- The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0 --> - <property name="DynamicMeshEnabled" value="true" /> - <!-- Is Dynamic Mesh system enabled --> - <property name="DynamicMeshLandClaimOnly" value="true" /> - <!-- Is Dynamic Mesh system only active in player LCB areas --> - <property name="DynamicMeshLandClaimBuffer" value="3" /> - <!-- Dynamic Mesh LCB chunk radius --> - <property name="DynamicMeshMaxItemCache" value="3" /> - <!-- How many items can be processed concurrently, higher values use more RAM --> - <property name="TwitchServerPermission" value="90" /> - <!-- Required permission level to use twitch integration on the server --> - <property name="TwitchBloodMoonAllowed" value="false" /> - <!-- If the server allows twitch actions during a blood moon. This could cause server lag with extra zombies being spawned during blood moon. --> - <property name="MaxChunkAge" value="-1"/> - <!-- The number of in-game days which must pass since visiting a chunk before it will reset to its original state if not revisited or protected (e.g. by a land claim or bedroll being in close proximity). --> - <property name="SaveDataLimit" value="-1"/> - <!-- The maximum disk space allowance for each saved game in megabytes (MB). Saved chunks may be forceably reset to their original states to free up space when this limit is reached. Negative values disable the limit. --> - <!-- There are several game settings that you cannot change when starting a new game. - You can use console commands to change at least some of them ingame. - setgamepref BedrollDeadZoneSize 30 --> -</ServerSettings> \ No newline at end of file diff --git a/seven-days-to-die.kvp b/seven-days-to-die.kvp deleted file mode 100644 index d0f712679..000000000 --- a/seven-days-to-die.kvp +++ /dev/null @@ -1,78 +0,0 @@ -Meta.DisplayName=Seven Days To Die -Meta.Description=Seven Days to Die Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=IceOfWraith, Shinynecrid, GKuba -Meta.URL=https://steamdb.info/app/251570/ -Meta.DisplayImageSource=steam:251570 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=seven-days-to-dieconfig.json -Meta.MetaConfigManifest=seven-days-to-diemetaconfig.json -Meta.ConfigRoot=seven-days-to-die.kvp -Meta.MinAMPVersion= -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Seven Days To Die -App.RootDir=./seven-days-to-die/ -App.BaseDirectory=./seven-days-to-die/294420/ -App.ExecutableWin=294420\7DaysToDieServer.exe -App.ExecutableLinux=294420/7DaysToDieServer.x86_64 -App.WorkingDir=294420 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=-quit -batchmode -nographics -configfile={{ConfigFile}}.xml {{$FormattedArgs}} -dedicated -App.AppSettings={} -App.EnvironmentVariables={"DOORSTOP_ENABLE":"TRUE","DOORSTOP_INVOKE_DLL_PATH":"./BepInEx/core/BepInEx.Preloader.dll","DOORSTOP_CORLIB_OVERRIDE_PATH":"./BepInEx/core","LD_LIBRARY_PATH":"./doorstop_libs:{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","LD_PRELOAD":"libdoorstop_x64.so","SteamAppId":"251570"} -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":26900,"Offset":0,"Range":1,"Ref":"ServerPort","Name":"Server and Steam Port","Description":"Main game traffic and Steam Query port","ChildPorts":null},{"Protocol":"TCP","Port":26901,"Offset":0,"Range":1,"Ref":"ControlPanelPort","Name":"Control Panel Port","Description":"Web panel access port","ChildPorts":null},{"Protocol":"TCP","Port":26902,"Offset":0,"Range":1,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"RCON traffic port","ChildPorts":null}] -App.MaxUsers=8 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword= -App.AdminMethod=TelnetRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=30 -App.RCONConnectRetrySeconds=30 -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJSON[seven-days-to-dieupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=ServerPort -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^.*Logon successful.$|^.*INF StartGame done$ -Console.UserJoinRegex=^.*INF PlayerSpawnedInWorld \(reason: JoinMultiplayer.*OwnerID='(?<userid>-?.*)'.*PlayerName='(?<username>.+?)'.*$|^.*INF PlayerSpawnedInWorld \(reason: EnterMultiplayer.*OwnerID='(?<userid>-?.*)'.*PlayerName='(?<username>.+?)'.*$ -Console.UserLeaveRegex=^.*INF Player (?<username>.+?) disconnected after.*$ -Console.UserChatRegex=^.*INF Chat \(from '(?<userid>-?.*)', entity id '.*', to '.*'\): .*'(?<username>.+?)': (?<message>.+)$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -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 \ No newline at end of file diff --git a/seven-days-to-dieconfig.json b/seven-days-to-dieconfig.json deleted file mode 100644 index 6d4d0eef0..000000000 --- a/seven-days-to-dieconfig.json +++ /dev/null @@ -1,1408 +0,0 @@ -[ - { - "DisplayName":"Server Name", - "Category":"7d2d - Server Settings", - "Description":"Whatever you want the name of the server to be.", - "Keywords":"server,name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerName']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"My Amp Host", - "EnumValues":{} - },{ - "DisplayName":"Server Description", - "Category":"7d2d - Server Settings", - "Description":"Whatever you want the server description to be, will be shown in the server browser.", - "Keywords":"Server,Description", - "FieldName":"ServerDescription", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerDescription']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"An AMP Powered 7 Days to Die server", - "EnumValues":{} - },{ - "DisplayName":"Server Website URL", - "Category":"7d2d - Server Settings", - "Description":"Website URL for the server, will be shown in the serverbrowser as a clickable link.", - "Keywords":"Server,Website,URL", - "FieldName":"ServerWebsiteURL", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerWebsiteURL']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"https://cubecoders.com/AMP", - "EnumValues":{} - },{ - "DisplayName":"Server Password", - "Category":"7d2d - Server Settings", - "Description":"Password to gain entry to the server.", - "Keywords":"Server,Password", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerPassword']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - },{ - "DisplayName":"Server Login Confirmation Text", - "Category":"7d2d - Server Settings", - "Description":"If set the user will see the message during joining the server and has to confirm it before continuing.", - "Keywords":"Server,Login,Confirmation,Text", - "FieldName":"ServerLoginConfirmationText", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerLoginConfirmationText']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - },{ - "DisplayName":"Region", - "Category":"7d2d - Server Settings", - "Description":"The region this server is in.", - "Keywords":"Region", - "FieldName":"Region", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='Region']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"NorthAmericaEast", - "EnumValues":{ - "NorthAmericaEast": "North America East", - "NorthAmericaWest": "North America West", - "CentralAmerica": "Central America", - "SouthAmerica": "South America", - "Europe": "Europe", - "Russia": "Russia", - "Asia": "Asia", - "MiddleEast": "Middle East", - "Africa": "Africa", - "Oceania": "Oceania" - } - },{ - "DisplayName":"Language", - "Category":"7d2d - Server Settings", - "Description":"Primary language for players on this server. Should be the English name of the language, e.g. not \"Deutsch\" but \"German\"", - "Keywords":"Language", - "FieldName":"Language", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='Language']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"English", - "EnumValues":{} - },{ - "DisplayName":"Server Port", - "Category":"7d2d - Server Settings", - "Description":"Whatever you want the name of the server to be.", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerPort']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"26900", - "EnumValues":{}, - "Hidden": true - },{ - "DisplayName":"Server Visibility", - "Category":"7d2d - Server Settings", - "Description":"As you are never a friend of a dedicated server, setting this to \"Only shown to friends\" will only work when the first player connects manually by IP.", - "Keywords":"Server,Visibility", - "FieldName":"ServerVisibility", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerVisibility']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "2": "Public", - "1": "Only shown to friends", - "0": "Not listed" - } - },{ - "DisplayName":"Server Disabled Network Protocols", - "Category":"7d2d - Server Settings", - "Description":"Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly.", - "Keywords":"Server,Disabled,Network,Protocols", - "FieldName":"ServerDisabledNetworkProtocols", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerDisabledNetworkProtocols']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "": "None", - "SteamNetworking": "SteamNetworking", - "LiteNetLib": "LiteNetLib", - "LiteNetLib,SteamNetworking": "Both" - } - },{ - "DisplayName":"Server Max World Transfer Speed", - "Category":"7d2d - Server Settings", - "Description":"Maximum speed in kiB/s the world is transferred at to a client on first connect if it does not have the world yet. Maximum is about 1300 kiB/s, even if you set a higher value.", - "Keywords":"Server,Max,World,Transfer,Speed,KiBs", - "FieldName":"ServerMaxWorldTransferSpeedKiBs", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerMaxWorldTransferSpeedKiBs']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"512", - "EnumValues":{}, - "Suffix": "KiBs" - },{ - "DisplayName":"Server Max Player Count", - "Category":"7d2d - Server Settings", - "Description":"Maximum Concurrent Players.", - "Keywords":"Server,Max,Player,Count", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerMaxPlayerCount']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{}, - "Suffix":"players", - "MinValue":"1" - },{ - "DisplayName":"Server Reserved Slots", - "Category":"7d2d - Server Settings", - "Description":"Out of the Max Player Count this many slots can only be used by players with a specific permission level.", - "Keywords":"Server,Reserved,Slots", - "FieldName":"ServerReservedSlots", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerReservedSlots']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "slots" - },{ - "DisplayName":"Server Reserved Slots Permission", - "Category":"7d2d - Server Settings", - "Description":"Required permission level to use the admin slots above.", - "Keywords":"Server,Reserved,Slots,Permission", - "FieldName":"ServerReservedSlotsPermission", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerReservedSlotsPermission']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "EnumValues":{}, - "Suffix": "level" - },{ - "DisplayName":"Persistent Player Profiles", - "Category":"7d2d - Server Settings", - "Description":"Enable/Disable players joining with the same profile they last logged in with.", - "Keywords":"Profile,Persistent,Enabled", - "FieldName":"PersistentPlayerProfiles", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='PersistentPlayerProfiles']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Control Panel / Web Dashboard Enabled", - "Category":"7d2d - Server Settings", - "Description":"Enable/Disable the web control panel / web dashboard.", - "Keywords":"Control,Panel,Web,Dashboard,Enabled", - "FieldName":"ControlPanelEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ControlPanelEnabled']/@value | /ServerSettings/property[@name='WebDashboardEnabled']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Control Panel / Web Dashboard Port", - "Category":"7d2d - Server Settings", - "Description":"Port of the control panel / web dashboard webpage.", - "Keywords":"", - "FieldName":"$ControlPanelPort", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ControlPanelPort']/@value | /ServerSettings/property[@name='WebDashboardPort']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"8080", - "EnumValues":{}, - "Hidden": true - },{ - "DisplayName":"Control Panel Password", - "Category":"7d2d - Server Settings", - "Description":"Password to gain entry to the control panel. This only applies to game version 20.7 and below.", - "Keywords":"Control,Panel,Password", - "FieldName":"ControlPanelPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ControlPanelPassword']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"{{newguid()}}", - "EnumValues":{} - },{ - "DisplayName":"Web Dashboard URL", - "Category":"7d2d - Server Settings", - "Description":"External URL to the web dashboard if not just using the public IP of the server, e.g. if the web dashboard is behind a reverse proxy. Needs to be the full URL, like \"https://domainOfReverseProxy.tld:1234/\". Can be left empty if directly using the public IP and dashboard port. Only applies to game version 21.0 and above.", - "Keywords":"Web,Dashboard,URL", - "FieldName":"WebDashboardUrl", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='WebDashboardUrl']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"https://domainOfReverseProxy.tld:1234/", - "EnumValues":{} - },{ - "DisplayName":"Web Dashboard Map Rendering Enabled", - "Category":"7d2d - Server Settings", - "Description":"Enable/disable rendering of the map to tile images while exploring it. This is used e.g. by the web dashboard to display a view of the map.", - "Keywords":"Web,Dashboard,Map,Rendering", - "FieldName":"EnableMapRendering", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='EnableMapRendering']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Telnet Enabled", - "Category":"7d2d - Server Settings", - "Description":"Enable/Disable the telnet.", - "Keywords":"", - "FieldName":"TelnetEnabled", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='TelnetEnabled']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{}, - "Hidden": true - },{ - "DisplayName":"Telnet Port", - "Category":"7d2d - Server Settings", - "Description":"Port of the telnet server.", - "Keywords":"", - "FieldName":"$RemoteAdminPort", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='TelnetPort']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"8081", - "EnumValues":{}, - "Hidden": true - },{ - "DisplayName":"Telnet Password", - "Category":"7d2d - Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the password to the server's telnet interface (RCON).", - "Keywords":"Telnet,Password", - "FieldName":"$RemoteAdminPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='TelnetPassword']/@value", - "IncludeInCommandLine":false, - "EnumValues":{} - },{ - "DisplayName":"Telnet Failed Login Limit", - "Category":"7d2d - Server Settings", - "Description":"After this many wrong passwords from a single remote client the client will be blocked from connecting to the Telnet interface.", - "Keywords":"Telnet,Failed,Login,Limit", - "FieldName":"TelnetFailedLoginLimit", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='TelnetFailedLoginLimit']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "attempts" - },{ - "DisplayName":"Telnet Failed Logins Block Time", - "Category":"7d2d - Server Settings", - "Description":"How long will the block persist.", - "Keywords":"Telnet,Failed,Logins,Block,time", - "FieldName":"TelnetFailedLoginsBlocktime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='TelnetFailedLoginsBlocktime']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Admin File Name", - "Category":"7d2d - Server Settings", - "Description":"Server admin file name. Path relative to the Save Game Folder.", - "Keywords":"Admin,File,Name", - "FieldName":"AdminFileName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='AdminFileName']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"serveradmin.xml", - "EnumValues":{} - },{ - "DisplayName":"EAC Enabled", - "Category":"7d2d - Server Settings", - "Description":"Enables/Disables EasyAntiCheat.", - "Keywords":"EAC,Enabled", - "FieldName":"EACEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='EACEnabled']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Hide Command Execution Log", - "Category":"7d2d - Server Settings", - "Description":"Hide logging of command execution..", - "Keywords":"Hide,Command,Execution,Log", - "FieldName":"HideCommandExecutionLog", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='HideCommandExecutionLog']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0": "Show everything", - "1": "Hide only from Telnet/ControlPanel", - "2": "Also hide from remote game clients", - "3": "Hide everything" - } - },{ - "DisplayName":"Max Uncovered Map Chunks Per Player", - "Category":"7d2d - Server Settings", - "Description":"Override how many chunks can be uncovered on the ingame map by each player. Resulting max map file size limit per player is (x * 512 Bytes), uncovered area is (x * 256 m²). Default 131072 means max 32 km² can be uncovered at any time.", - "Keywords":"Max,Uncovered,Map,Chunks,Per,Player", - "FieldName":"MaxUncoveredMapChunksPerPlayer", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='MaxUncoveredMapChunksPerPlayer']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"131072", - "EnumValues":{}, - "Suffix": "chunks" - },{ - "DisplayName":"Game World", - "Category":"7d2d - Gameplay Settings", - "Description":"\"RWG\" (see WorldGenSeed and WorldGenSize options below) or any already existing world name in the Worlds folder (currently shipping with: \"Navezgane\", \"PREGEN6k\", \"PREGEN8k\", \"PREGEN10k\").", - "Keywords":"Game,World", - "FieldName":"GameWorld", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='GameWorld']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"Navezgane", - "EnumValues":{} - },{ - "DisplayName":"World Gen Seed", - "Category":"7d2d - Gameplay Settings", - "Description":"If RWG this is the seed for the generation of the new world. If a world with the resulting name already exists it will simply load it.", - "Keywords":"World,Gen,Seed", - "FieldName":"WorldGenSeed", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='WorldGenSeed']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"AMP", - "EnumValues":{} - },{ - "DisplayName":"World Gen Size", - "Category":"7d2d - Gameplay Settings", - "Description":"If RWG, this controls the width and height of the created world. Officially supported sizes are between 6144 and 10240 and must be a multiple of 2048, e.g. 6144, 8192, 10240.", - "Keywords":"World,Gen,Size", - "FieldName":"WorldGenSize", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='WorldGenSize']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"6144", - "EnumValues":{} - },{ - "DisplayName":"Game Name", - "Category":"7d2d - Gameplay Settings", - "Description":"Whatever you want the game name to be. This affects the save game name as well as the seed used when placing decoration (trees etc) in the world. It does not control the generic layout of the world if creating an RWG world.`", - "Keywords":"Game,Name", - "FieldName":"GameName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='GameName']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"My AMP Game", - "EnumValues":{} - },{ - "DisplayName":"Game Mode", - "Category":"7d2d - Gameplay Settings", - "Description":"Only one game mode available at this time. Placeholder for future options.", - "Keywords":"Game,Mode", - "FieldName":"GameMode", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='GameMode']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"GameModeSurvival", - "EnumValues":{} - },{ - "DisplayName":"Game Difficulty", - "Category":"7d2d - Gameplay Settings", - "Description":"Whatever you want the name of the server to be.", - "Keywords":"Game,Difficulty", - "FieldName":"GameDifficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='GameDifficulty']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "0": "Scavenger - Easiest", - "1": "Adventurer - Easy", - "2": "Nomad - Normal", - "3": "Warrior - Hard", - "4": "Survivalist - Harder", - "5": "Insane - Hardest" - } - },{ - "DisplayName":"Player Block Damage", - "Category":"7d2d - Gameplay Settings", - "Description":"How much damage do players to blocks (percentage in whole numbers).", - "Keywords":"Block,Damage,Player", - "FieldName":"BlockDamagePlayer", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BlockDamagePlayer']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"AI Block Damage", - "Category":"7d2d - Gameplay Settings", - "Description":"How much damage do AIs do to blocks (percentage in whole numbers).", - "Keywords":"Block,Damage,AI", - "FieldName":"BlockDamageAI", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BlockDamageAI']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"AI Block Damage Blood Moon", - "Category":"7d2d - Gameplay Settings", - "Description":"How much damage do AIs do during blood moons to blocks (percentage in whole numbers).", - "Keywords":"Block,Damage,AI,Blood,Moon", - "FieldName":"BlockDamageAIBM", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BlockDamageAIBM']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"XP Multiplier", - "Category":"7d2d - Gameplay Settings", - "Description":"XP gain multiplier (percentage in whole numbers)", - "Keywords":"XP,Multiplier", - "FieldName":"XPMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='XPMultiplier']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Player Safe Zone Level", - "Category":"7d2d - Gameplay Settings", - "Description":"If a player is less or equal this level he will create a safe zone (no enemies).", - "Keywords":"Player,Safe,Zone,Level", - "FieldName":"PlayerSafeZoneLevel", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='PlayerSafeZoneLevel']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "EnumValues":{}, - "Suffix": "level" - },{ - "DisplayName":"Player Safe Zone Hours", - "Category":"7d2d - Gameplay Settings", - "Description":"Hours in world time this safe zone exists.", - "Keywords":"Player,Safe,Zone,Hours", - "FieldName":"PlayerSafeZoneHours", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='PlayerSafeZoneHours']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "EnumValues":{}, - "Suffix": "hours" - },{ - "DisplayName":"Build Create", - "Category":"7d2d - Gameplay Settings", - "Description":"cheat mode on/off.", - "Keywords":"Build,Create,cheat,mode", - "FieldName":"BuildCreate", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BuildCreate']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Day Night Length", - "Category":"7d2d - Gameplay Settings", - "Description":"Real time minutes per in game day: 60 minutes.", - "Keywords":"Day,Night,Length", - "FieldName":"DayNightLength", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='DayNightLength']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "EnumValues":{}, - "Suffix": "minutes" - },{ - "DisplayName":"Day Light Length", - "Category":"7d2d - Gameplay Settings", - "Description":"In game hours the sun shines per day: 18 hours day light per in game day.", - "Keywords":"Day,Light,Length", - "FieldName":"DayLightLength", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='DayLightLength']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"18", - "EnumValues":{}, - "Suffix": "hours" - },{ - "DisplayName":"Drop On Death", - "Category":"7d2d - Gameplay Settings", - "Description":"What a player drops upon death", - "Keywords":"Drop,On,Death", - "FieldName":"DropOnDeath", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='DropOnDeath']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "0": "Nothing", - "1": "Everything", - "2": "Toolbelt Only", - "3": "Backpack Only", - "4": "Delete All" - } - },{ - "DisplayName":"Drop On Quit", - "Category":"7d2d - Gameplay Settings", - "Description":"What a player drops when quitting", - "Keywords":"Drop,On,Quit", - "FieldName":"DropOnQuit", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='DropOnQuit']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0": "Nothing", - "1": "Everything", - "2": "Toolbelt Only", - "3": "Backpack Only" - } - },{ - "DisplayName":"Bedroll Dead Zone Size", - "Category":"7d2d - Gameplay Settings", - "Description":"Size (box \"radius\", so a box with 2 times the given value for each side's length) of bedroll deadzone, no zombies will spawn inside this area, and any cleared sleeper volumes that touch a bedroll deadzone will not spawn after they've been cleared.", - "Keywords":"Bedroll,Dead,Zone,Size", - "FieldName":"BedrollDeadZoneSize", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BedrollDeadZoneSize']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "EnumValues":{}, - "Suffix": "blocks" - },{ - "DisplayName":"Bedroll Expiry Time", - "Category":"7d2d - Gameplay Settings", - "Description":"Number of real world days a bedroll stays active after owner was last online.", - "Keywords":"Bedroll Expiry Time", - "FieldName":"BedrollExpiryTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BedrollExpiryTime']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"45", - "EnumValues":{}, - "Suffix": "minutes" - },{ - "DisplayName":"Allow Spawn Near Backpack", - "Category":"7d2d - Gameplay Settings", - "Description":"Allow players to respawn near their last dropped backpack when they die.", - "Keywords":"Allow,Spawn,Near,Backpack", - "FieldName":"AllowSpawnNearBackpack", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='AllowSpawnNearBackpack']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Max Spawned Zombies", - "Category":"7d2d - Gameplay Settings", - "Description":"This setting covers the entire map. There can only be this many zombies on the entire map at one time. Changing this setting has a huge impact on performance.", - "Keywords":"Max,Spawned,Zombies", - "FieldName":"MaxSpawnedZombies", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='MaxSpawnedZombies']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"64", - "EnumValues":{}, - "Suffix": "zombies" - },{ - "DisplayName":"Max Spawned Animals", - "Category":"7d2d - Gameplay Settings", - "Description":"If your server has a large number of players you can increase this limit to add more wildlife. Animals don't consume as much CPU as zombies. NOTE: That this doesn't cause more animals to spawn arbitrarily: The biome spawning system only spawns a certain number of animals in a given area, but if you have lots of players that are all spread out then you may be hitting the limit and can increase it.", - "Keywords":"Max,Spawned,Animals", - "FieldName":"MaxSpawnedAnimals", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='MaxSpawnedAnimals']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "EnumValues":{}, - "Suffix": "animals" - },{ - "DisplayName":"Server Max Allowed View Distance", - "Category":"7d2d - Gameplay Settings", - "Description":"Max viewdistance a client may request (6 - 12). High impact on memory usage and performance.", - "Keywords":"Server,Max,Allowed,View,Distance", - "FieldName":"ServerMaxAllowedViewDistance", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ServerMaxAllowedViewDistance']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"12", - "EnumValues":{ - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "10": "10", - "11": "11", - "12": "12" - } - },{ - "DisplayName":"Max Queued Mesh Layers", - "Category":"7d2d - Gameplay Settings", - "Description":"Maximum amount of Chunk mesh layers that can be enqueued during mesh generation. Reducing this will improve memory usage but may increase Chunk generation time.", - "Keywords":"Max,Queued,Mesh,Layers", - "FieldName":"MaxQueuedMeshLayers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='MaxQueuedMeshLayers']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"1000", - "Placeholder":"1000", - "EnumValues":{}, - "Suffix": "chunks" - },{ - "DisplayName":"Enemy Spawn Mode", - "Category":"7d2d - Gameplay Settings", - "Description":"Enable/Disable enemy spawning.", - "Keywords":"Enemy,Spawn,Mode", - "FieldName":"EnemySpawnMode", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='EnemySpawnMode']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Enemy Difficulty", - "Category":"7d2d - Gameplay Settings", - "Description":"Difficulty of the enemies.", - "Keywords":"Enemy,Difficulty", - "FieldName":"EnemyDifficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='EnemyDifficulty']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0": "Normal", - "1": "Feral" - } - },{ - "DisplayName":"Zombie Feral Sense", - "Category":"7d2d - Gameplay Settings", - "Description":"When zombies should have feral sense.", - "Keywords":"Zombie,Feral,Sense", - "FieldName":"ZombieFeralSense", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ZombieFeralSense']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0": "Off", - "1": "Day", - "2": "Night", - "3": "All" - } - },{ - "DisplayName":"Zombie Move Day", - "Category":"7d2d - Gameplay Settings", - "Description":"Zombie movement speed during the day.", - "Keywords":"Zombie,Move", - "FieldName":"ZombieMove", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ZombieMove']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0": "Walk", - "1": "Jog", - "2": "Run", - "3": "Sprint", - "4": "Nightmare" - } - },{ - "DisplayName":"Zombie Move Night", - "Category":"7d2d - Gameplay Settings", - "Description":"Zombie movement speed during the night.", - "Keywords":"Zombie,Move,Night", - "FieldName":"ZombieMoveNight", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ZombieMoveNight']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{ - "0": "Walk", - "1": "Jog", - "2": "Run", - "3": "Sprint", - "4": "Nightmare" - } - },{ - "DisplayName":"Zombie Feral Move", - "Category":"7d2d - Gameplay Settings", - "Description":"Zombie movement speed of feral zombies.", - "Keywords":"Zombie,Feral,Move", - "FieldName":"ZombieFeralMove", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ZombieFeralMove']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{ - "0": "Walk", - "1": "Jog", - "2": "Run", - "3": "Sprint", - "4": "Nightmare" - } - },{ - "DisplayName":"Zombie Move Blood Moon", - "Category":"7d2d - Gameplay Settings", - "Description":"Zombie movement speed during a blood moon.", - "Keywords":"Zombie,Move,blood,moon", - "FieldName":"ZombieBMMove", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='ZombieBMMove']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{ - "0": "Walk", - "1": "Jog", - "2": "Run", - "3": "Sprint", - "4": "Nightmare" - } - },{ - "DisplayName":"Blood Moon Frequency", - "Category":"7d2d - Gameplay Settings", - "Description":"What frequency (in days) should a blood moon take place. Set to \"0\" for no blood moons.", - "Keywords":"Blood,Moon,Frequency", - "FieldName":"BloodMoonFrequency", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BloodMoonFrequency']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"7", - "EnumValues":{}, - "Suffix": "days" - },{ - "DisplayName":"Blood Moon Range", - "Category":"7d2d - Gameplay Settings", - "Description":"How many days can the actual blood moon day randomly deviate from the above setting. Setting this to 0 makes blood moons happen exactly each Nth day as specified in Blood Moon Frequency.", - "Keywords":"Blood,Moon,Range", - "FieldName":"BloodMoonRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BloodMoonRange']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "days" - },{ - "DisplayName":"Blood Moon Warning", - "Category":"7d2d - Gameplay Settings", - "Description":"The Hour number that the red day number begins on a blood moon day. Setting this to -1 makes the red never show.", - "Keywords":"Blood,Moon,Warning", - "FieldName":"BloodMoonWarning", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BloodMoonWarning']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{}, - "Suffix": "hour" - },{ - "DisplayName":"Blood Moon Enemy Count", - "Category":"7d2d - Gameplay Settings", - "Description":"This is the number of zombies that can be alive (spawned at the same time) at any time PER PLAYER during a blood moon horde, however, MaxSpawnedZombies overrides this number in multiplayer games. Also note that your game stage sets the max number of zombies PER PARTY. Low game stage values can result in lower number of zombies than the BloodMoonEnemyCount setting. Changing this setting has a huge impact on performance.", - "Keywords":"Blood,Moon,Enemy,Count", - "FieldName":"BloodMoonEnemyCount", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='BloodMoonEnemyCount']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{}, - "Suffix": "zombies" - },{ - "DisplayName":"Loot Abundance", - "Category":"7d2d - Gameplay Settings", - "Description":"Percentage of loot in whole numbers.", - "Keywords":"Loot,Abundance", - "FieldName":"LootAbundance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LootAbundance']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Loot Respawn Days", - "Category":"7d2d - Gameplay Settings", - "Description":"Days in whole numbers for loot to respawn.", - "Keywords":"Loot,Respawn,Days", - "FieldName":"LootRespawnDays", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LootRespawnDays']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"7", - "EnumValues":{}, - "Suffix": "days" - },{ - "DisplayName":"Air Drop Frequency", - "Category":"7d2d - Gameplay Settings", - "Description":"How often airdrop occur in game-hours, 0 = never.", - "Keywords":"Air,Drop,Frequency", - "FieldName":"AirDropFrequency", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='AirDropFrequency']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"72", - "EnumValues":{}, - "Suffix": "hours" - },{ - "DisplayName":"Air Drop Marker", - "Category":"7d2d - Gameplay Settings", - "Description":"Sets if a marker is added to map/compass for air drops.", - "Keywords":"Air,Drop,Marker", - "FieldName":"AirDropMarker", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='AirDropMarker']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Party Shared Kill Range", - "Category":"7d2d - Gameplay Settings", - "Description":"The distance you must be within to receive party shared kill xp and quest party kill objective credit.", - "Keywords":"Party,Shared,Kill,Range", - "FieldName":"PartySharedKillRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='PartySharedKillRange']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "EnumValues":{}, - "Suffix": "blocks" - },{ - "DisplayName":"Player Killing Mode", - "Category":"7d2d - Gameplay Settings", - "Description":"Player Killing Settings.", - "Keywords":"Player,Killing,Mode", - "FieldName":"PlayerKillingMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='PlayerKillingMode']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{ - "0": "No Killing", - "1": "Kill Allies Only", - "2": "Kill Strangers Only", - "3": "Kill Everyone" - } - },{ - "DisplayName":"Land Claim Count", - "Category":"7d2d - Gameplay Settings", - "Description":"Maximum allowed land claims per player.", - "Keywords":"Land,Claim,Count", - "FieldName":"LandClaimCount", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LandClaimCount']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{}, - "Suffix": "claims" - },{ - "DisplayName":"Land Claim Size", - "Category":"7d2d - Gameplay Settings", - "Description":"Size in blocks that is protected by a keystone.", - "Keywords":"Land,Claim,Size", - "FieldName":"LandClaimSize", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LandClaimSize']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"41", - "EnumValues":{}, - "Suffix": "blocks" - },{ - "DisplayName":"Land Claim Dead Zone", - "Category":"7d2d - Gameplay Settings", - "Description":"Keystones must be this many blocks apart (unless you are friends with the other player).", - "Keywords":"Land,Claim,Dead,Zone", - "FieldName":"LandClaimDeadZone", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LandClaimDeadZone']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "EnumValues":{}, - "Suffix": "blocks" - },{ - "DisplayName":"Land Claim Expiry Time", - "Category":"7d2d - Gameplay Settings", - "Description":"The number of real world days a player can be offline before their claims expire and are no longer protected.", - "Keywords":"Land,Claim,Expiry,Time", - "FieldName":"LandClaimExpiryTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LandClaimExpiryTime']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"7", - "EnumValues":{}, - "Suffix": "days" - },{ - "DisplayName":"Land Claim Decay Mode", - "Category":"7d2d - Gameplay Settings", - "Description":"Controls how offline players land claims decay.", - "Keywords":"Land,Claim,Decay,Mode", - "FieldName":"LandClaimDecayMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LandClaimDecayMode']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0": "Slow (Linear)", - "1": "Fast (Exponential)", - "2": "None (Full protection until claim is expired)" - } - },{ - "DisplayName":"Land Claim Online Durability Modifier", - "Category":"7d2d - Gameplay Settings", - "Description":"How much protected claim area block hardness is increased when a player is online. 0 means infinite (no damage will ever be taken). Default is 4x.", - "Keywords":"Land,Claim,Online,Durability,Modifier", - "FieldName":"LandClaimOnlineDurabilityModifier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LandClaimOnlineDurabilityModifier']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{}, - "Suffix": "X" - },{ - "DisplayName":"Land Claim Offline Durability Modifier", - "Category":"7d2d - Gameplay Settings", - "Description":"How much protected claim area block hardness is increased when a player is offline. 0 means infinite (no damage will ever be taken). Default is 4x.", - "Keywords":"Land,Claim,Offline,Durability,Modifier", - "FieldName":"LandClaimOfflineDurabilityModifier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LandClaimOfflineDurabilityModifier']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{}, - "Suffix": "X" - },{ - "DisplayName":"Land Claim Offline Delay", - "Category":"7d2d - Gameplay Settings", - "Description":"The number of minutes after a player logs out that the land claim area hardness transitions from online to offline. Default is 0.", - "Keywords":"Land,Claim,Offline,Delay", - "FieldName":"LandClaimOfflineDelay", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='LandClaimOfflineDelay']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "minutes" - },{ - "DisplayName":"Dynamic Mesh Enabled", - "Category":"7d2d - Gameplay Settings", - "Description":"Is Dynamic Mesh system enabled?", - "Keywords":"Dynamic,Mesh,Enabled", - "FieldName":"DynamicMeshEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='DynamicMeshEnabled']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Dynamic Mesh Land Claim Only", - "Category":"7d2d - Gameplay Settings", - "Description":"Is Dynamic Mesh system only active in player LCB areas?", - "Keywords":"Dynamic,Mesh,Land,Claim,Only", - "FieldName":"DynamicMeshLandClaimOnly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='DynamicMeshLandClaimOnly']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Dynamic Mesh Land Claim Buffer", - "Category":"7d2d - Gameplay Settings", - "Description":"Dynamic Mesh LCB chunk radius.", - "Keywords":"Dynamic Mesh Land Claim Buffer", - "FieldName":"DynamicMeshLandClaimBuffer", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='DynamicMeshLandClaimBuffer']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{}, - "Suffix": "blocks" - },{ - "DisplayName":"Dynamic Mesh Max Item Cache", - "Category":"7d2d - Gameplay Settings", - "Description":"How many items can be processed concurrently, higher values use more RAM.", - "Keywords":"Dynamic,Mesh,Max,Item,Cache", - "FieldName":"DynamicMeshMaxItemCache", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='DynamicMeshMaxItemCache']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{}, - "Suffix": "items" - },{ - "DisplayName":"Twitch Server Permission Level", - "Category":"7d2d - Gameplay Settings", - "Description":"Required permission level to use twitch integration on the server.", - "Keywords":"Twitch,Server,Permission,Level", - "FieldName":"TwitchServerPermission", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='TwitchServerPermission']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"90", - "EnumValues":{}, - "Suffix": "level" - },{ - "DisplayName":"Twitch Blood Moon Allowed", - "Category":"7d2d - Gameplay Settings", - "Description":"If the server allows twitch actions during a blood moon. This could cause server lag with extra zombies being spawned during blood moon.", - "Keywords":"Twitch,Blood,Moon,Allowed", - "FieldName":"TwitchBloodMoonAllowed", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='TwitchBloodMoonAllowed']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Max Chunk Age", - "Category":"7d2d - Server Settings", - "Description":"The number of in-game days which must pass since visiting a chunk before it will reset to its original state if not revisited or protected (e.g. by a land claim or bedroll being in close proximity).", - "Keywords":"Max,Chunk,Age", - "FieldName":"MaxChunkAge", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='MaxChunkAge']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"-1", - "Placeholder":"-1", - "MinValue":"-1", - "EnumValues":{}, - "Suffix": "days" - },{ - "DisplayName":"Save Data Limit", - "Category":"7d2d - Server Settings", - "Description":"The maximum disk space allowance for each saved game in megabytes (MB). Saved chunks may be forceably reset to their original states to free up space when this limit is reached. Negative values disable the limit.", - "Keywords":"Save,Data,Limit", - "FieldName":"SaveDataLimit", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='SaveDataLimit']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"-1", - "Placeholder":"-1", - "MinValue":"-1", - "EnumValues":{}, - "Suffix": "mb" - },{ - "DisplayName":"Release Stream", - "Category":"SteamCMD and Updates", - "Description":"\"public\" is default. Choose a custom release on [SteamDB](https://steamdb.info/app/294420/depots/).", - "Keywords":"use,experimental,release,stream", - "FieldName":"Stream", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Stream", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "Placeholder":"public", - "EnumValues":{} - },{ - "DisplayName":"Config File Version", - "Category":"SteamCMD and Updates", - "Description":"Select which config file to download. Must match the version of the Release Stream. Check required Undead Legacy Version [here](https://ul.subquake.com/download).", - "Keywords":"config,file,version", - "FieldName":"ConfigFile", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ConfigFile", - "IncludeInCommandLine":false, - "DefaultValue":"seven-days-settings210", - "EnumValues":{ - "seven-days-settings184": "18.4", - "seven-days-settings196": "19.6", - "seven-days-settings200-203": "20.0 to 20.3", - "seven-days-settings204": "20.4 to 20.7", - "seven-days-settings210": "21.0 and Higher", - "seven-days-settings-undead-legacy-stable": "Undead Legacy Stable", - "seven-days-settings-undead-legacy-experimental": "Undead Legacy Experimental" - } - },{ - "DisplayName":"Install UMOD", - "Category":"SteamCMD and Updates", - "Description":"Auto-installs UMod when the server is updated.", - "Keywords":"install,umod", - "FieldName":"UMOD", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"UMOD", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Install Darkness Falls", - "Category":"SteamCMD and Updates", - "Description":"Auto-installs Darkness Falls when the server is updated. This is the Stable branch.", - "Keywords":"install,DarknessFalls", - "FieldName":"DarknessFalls", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"DarknessFalls", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Download Backup Exclude File", - "Category":"SteamCMD and Updates", - "Description":"This downloads a default backup exclude file to save space on backups by only saving specific directories. If this is disabled, you will need to manually delete the .backupExclude file it downloads.", - "Keywords":"download,backup,exclude,file", - "FieldName":"backupExclude", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"backupExclude", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Please Read!", - "Category":"7d2d - Undead Legacy Settings", - "Description":"If you would like to install Undead Legacy you need to pick either the Stable or Experimental config under the \"SteamCMD and Updates\" section. This will then grab the appropriate Undead Legacy version when you click update.", - "Keywords":"Read,Please,Info", - "FieldName":"PleaseRead", - "InputType":"hidden" - },{ - "DisplayName":"Recipe Filter", - "Category":"7d2d - Undead Legacy Settings", - "Description":"Controls how recipes are displayed.", - "Keywords":"Recipe,Filter", - "FieldName":"RecipeFilter", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='RecipeFilter']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0": "Shows all recipes", - "1": "Shows unknown recipes, search limited by workstation", - "2": "Shows only known and workstation relevant recipes" - } - },{ - "DisplayName":"Starter Quest Enabled", - "Category":"7d2d - Undead Legacy Settings", - "Description":"Determines if you trigger the tutorial quest upon first spawning on the server.", - "Keywords":"Quest,Starter,Tutorial", - "FieldName":"StarterQuestEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"StarterQuestEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Wandering Horde Frequency", - "Category":"7d2d - Undead Legacy Settings", - "Description":"After how many in-game hours a wandering horde would occur. On top of this value 1 to 4 additional hours may be added depending on spawn conditions. Minimum Value: 1", - "Keywords":"Wandering,Horde,Frequency", - "FieldName":"WanderingHordeFrequency", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='WanderingHordeFrequency']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"16", - "EnumValues":{}, - "Suffix": "hours" - },{ - "DisplayName":"Wandering Horde Range", - "Category":"7d2d - Undead Legacy Settings", - "Description":"Additional random hours added to Wandering Horde Frequency to add randomness to hours between spawns. For example, Frequency: 5, Frequency RNG Range: 10, then wandering horde will spawn anywhere between 5 to 15 (5+10) in-game hours + additional hours if special conditions occur (No players alive, etc).", - "Keywords":"Wandering,Horde,Range", - "FieldName":"WanderingHordeRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='WanderingHordeRange']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{}, - "Suffix": "hours" - },{ - "DisplayName":"Wandering Horde Count", - "Category":"7d2d - Undead Legacy Settings", - "Description":"Fixed zombie count, that will spawn in a Wandering horde. Minimum Value: 2. Zombies + Zombie RNG Range value must not exceed: 64", - "Keywords":"Wandering,Horde,Count", - "FieldName":"WanderingHordeEnemyCount", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='WanderingHordeEnemyCount']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "zombies" - },{ - "DisplayName":"Wandering Horde Range", - "Category":"7d2d - Undead Legacy Settings", - "Description":"This value determines up to how many additional zombies can spawn for Wandering Horde. For example, Zombies: 5, Zombies RNG Range: 10, then wandering horde will spawn anywhere between 5 to 15 5+10 zombies. Combined value must not exceed: 64", - "Keywords":"Wandering,Horde,Range", - "FieldName":"WanderingHordeEnemyRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='WanderingHordeEnemyRange']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "zombies" - },{ - "DisplayName":"Death Penalty", - "Category":"7d2d - Undead Legacy Settings", - "Description":"Sets what will be the consequences to your progression when you die in the game: No penalty - you will not get XP debt as well as no debuff, that lowers your Attributes. Beginner - near Death Trauma debuff Vanilla like experience. Moderate - same as beginner, but also with loss of random Action skills. Standard - same as moderate, but also you will respawn with partial health, food and water.", - "Keywords":"Death,Penalty", - "FieldName":"DeathPenalty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='DeathPenalty']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{ - "0": "No penalty", - "1": "Beginner", - "2": "Moderate", - "3": "Standard" - } - },{ - "DisplayName":"POI Tier Loot Scale", - "Category": "7d2d - Undead Legacy Settings", - "Description":"Multiplier determining how important a POI Tier is when scaling Loot Stage. 0% - Disabled Default, 100% Vanilla Scaling. Acceptable values are integers from 0 to 100", - "Keywords":"POI,Tier,Loot,Scale", - "FieldName":"POITierLootScale", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/ServerSettings/property[@name='POITierLootScale']/@value", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - } -] diff --git a/seven-days-to-diemetaconfig.json b/seven-days-to-diemetaconfig.json deleted file mode 100644 index b1b5f784b..000000000 --- a/seven-days-to-diemetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile": "{{ConfigFile}}.xml", - "AutoMap": true, - "ConfigType": "xml" - } -] \ No newline at end of file diff --git a/seven-days-to-dieupdates.json b/seven-days-to-dieupdates.json deleted file mode 100644 index 7d4bdcda1..000000000 --- a/seven-days-to-dieupdates.json +++ /dev/null @@ -1,154 +0,0 @@ -[ - { - "UpdateStageName": "SteamCMD Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "294420", - "UpdateSourceArgs":"251570", - "UpdateSourceVersion": "{{Stream}}" - }, - { - "UpdateStageName":"Create Mod Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}Mods" - }, - { - "UpdateStageName": "Settings File Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/{{ConfigFile}}.xml", - "UpdateSourceTarget": "./294420", - "OverwriteExistingFiles": false, - }, - { - "UpdateStageName": "UMOD Windows", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "FetchURLFromJQ", - "UpdateSourceData": "https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest", - "UpdateSourceArgs": "$.assets[1].browser_download_url", - "UpdateSourceTarget": "{{$FullBaseDir}}", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "UMOD", - "UpdateSourceConditionValue": "true", - "DeleteAfterExtract": true - }, - { - "UpdateStageName": "UMOD Linux", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "FetchURLFromJQ", - "UpdateSourceData": "https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest", - "UpdateSourceArgs": "$.assets[0].browser_download_url", - "UpdateSourceTarget": "{{$FullBaseDir}}", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "UMOD", - "UpdateSourceConditionValue": "true", - "DeleteAfterExtract": true - }, - { - "UpdateStageName": "Download Undead Legacy Stable", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://ul.subquake.com/dl?v=stable", - "UpdateSourceArgs":"UndeadLegacyStable.zip", - "UpdateSourceTarget": "{{$FullBaseDir}}", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-stable", - "DeleteAfterExtract": true - }, - { - "UpdateStageName": "Download Undead Legacy Experimental", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://ul.subquake.com/dl?v=exp", - "UpdateSourceArgs":"UndeadLegacyExperimental.zip", - "UpdateSourceTarget": "{{$FullBaseDir}}", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-experimental", - "DeleteAfterExtract": true - }, - { - "UpdateStageName": "Undead Legacy Stable Copy", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "Executable", - "UpdateSourceData": "cmd.exe", - "UpdateSourceArgs": "/C move seven-days-to-die\\294420\\UndeadLegacyStable* seven-days-to-die\\294420\\UndeadLegacyStable && xcopy /E /Y /I seven-days-to-die\\294420\\UndeadLegacyStable\\* seven-days-to-die\\294420\\ && rmdir /Q /S seven-days-to-die\\294420\\UndeadLegacyStable", - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-stable" - }, - { - "UpdateStageName": "Undead Legacy Stable Copy", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Executable", - "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"cp -rf ./seven-days-to-die/294420/UndeadLegacyStable*/* ./seven-days-to-die/294420/ && rm -rf ./seven-days-to-die/294420/UndeadLegacyStable*/\"", - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-stable" - }, - { - "UpdateStageName": "Undead Legacy Experimental Copy", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "Executable", - "UpdateSourceData": "cmd.exe", - "UpdateSourceArgs": "/C move seven-days-to-die\\294420\\UndeadLegacyExperimental* seven-days-to-die\\294420\\UndeadLegacyExperimental && xcopy /E /Y /I seven-days-to-die\\294420\\UndeadLegacyExperimental\\* seven-days-to-die\\294420\\ && rmdir /Q /S seven-days-to-die\\294420\\UndeadLegacyExperimental", - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-experimental" - }, - { - "UpdateStageName": "Undead Legacy Experimental Copy", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Executable", - "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"cp -rf ./seven-days-to-die/294420/UndeadLegacyExperimental*/* ./seven-days-to-die/294420/ && rm -rf ./seven-days-to-die/294420/UndeadLegacyExperimental*/\"", - "UpdateSourceConditionSetting": "ConfigFile", - "UpdateSourceConditionValue": "seven-days-settings-undead-legacy-experimental" - }, - { - "UpdateStageName":"Download Darkness Falls", - "UpdateSourcePlatform":"All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://gitlab.com/KhaineGB/darkness-falls-a20/-/archive/main/darkness-falls-a20-main.zip", - "UpdateSourceArgs":"darkness-falls-a20-main.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "DarknessFalls", - "UpdateSourceConditionValue": "true", - "DeleteAfterExtract": true - }, - { - "UpdateStageName": "Darkness Falls Copy", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "Executable", - "UpdateSourceData": "cmd.exe", - "UpdateSourceArgs": "/C xcopy /E /Y /I seven-days-to-die\\294420\\darkness-falls-a20-main\\* seven-days-to-die\\294420\\ && rmdir /Q /S seven-days-to-die\\294420\\darkness-falls-a20-main", - "UpdateSourceConditionSetting": "DarknessFalls", - "UpdateSourceConditionValue": "true" - }, - { - "UpdateStageName": "Darkness Falls Copy", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Executable", - "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"cp -rf ./seven-days-to-die/294420/darkness-falls-a20-main/* ./seven-days-to-die/294420/ && rm -rf ./seven-days-to-die/294420/darkness-falls-a20-main*/\"", - "UpdateSourceConditionSetting": "DarknessFalls", - "UpdateSourceConditionValue": "true" - }, - { - "UpdateStageName":"Backup Exclusions Download 1", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/exclusions/.backupExclusions7d2d1", - "UpdateSourceArgs":".backupExclude", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceConditionSetting": "backupExclude", - "UpdateSourceConditionValue": "true", - "OverwriteExistingFiles":false - } -] diff --git a/sons-of-the-forest.kvp b/sons-of-the-forest.kvp deleted file mode 100644 index f31decab5..000000000 --- a/sons-of-the-forest.kvp +++ /dev/null @@ -1,90 +0,0 @@ -Meta.DisplayName=Sons Of The Forest -Meta.Description=Sons Of The Forest Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=IceOfWraith -Meta.URL=https://store.steampowered.com/app/1326470/Sons_Of_The_Forest/ -Meta.DisplayImageSource=steam:1326470 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort} -Meta.ConfigManifest=sons-of-the-forestconfig.json -Meta.MetaConfigManifest=sons-of-the-forestmetaconfig.json -Meta.ConfigRoot=sons-of-the-forest.kvp -Meta.MinAMPVersion=2.4.5.0 -Meta.SpecificDockerImage=cubecoders/ampbase:wine8 -Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine 8 (or later) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Sons Of The Forest -App.RootDir=./sons-of-the-forest/ -App.BaseDirectory=./sons-of-the-forest/2465200/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin=2465200\SonsOfTheForestDS.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=2465200 -App.LinuxCommandLineArgs=-a wine "./SonsOfTheForestDS.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -dedicatedserver.IpAddress "{{$ApplicationIPBinding}}" -dedicatedserver.GamePort "{{$GamePort}}" -dedicatedserver.QueryPort "{{$SteamQueryPort}}" -dedicatedserver.BlobSyncPort "{{$BlobSyncPort}}" -userdatapath "{{$FullBaseDir}}saves" {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"1326470","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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=@IncludeJson[sons-of-the-forestports.json] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=SteamQueryPort -App.MaxUsers=8 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=False -App.RemoteAdminPassword= -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.LoginTransformPrefix= -App.RCONConnectDelaySeconds=30 -App.RCONConnectRetrySeconds=15 -App.RCONHeartbeatMinutes=0 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJson[sons-of-the-forestupdates.json] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=wine64 -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|Couldn't create a Convex Mesh from source mesh.*|No mesh data available for mesh.*|ALSA lib.*|\[FMOD\] Error \(ERR_INVALID_HANDLE\): An invalid object handle was used\.$ -Console.AppReadyRegex=^#DSL Dedicated server loaded.|#DSE \[Self-Tests\] Please restart the server.$ -Console.UserJoinRegex=^#DSL Steam auth successful for client \d+ with steam id (?<userid>.+?). username (?<username>.+?)$ -Console.UserLeaveRegex=^#DSL Unregistering client \d+ with steam id (?<userid>.+?). username (?<username>.+?)$ -Console.UserChatRegex=^$ -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/sons-of-the-forestconfig.json b/sons-of-the-forestconfig.json deleted file mode 100644 index ebba49aea..000000000 --- a/sons-of-the-forestconfig.json +++ /dev/null @@ -1,596 +0,0 @@ -[ - { - "DisplayName": "GamePort", - "Category": "Server Settings", - "Description": "UDP port used for gameplay netcode (Bolt).", - "Keywords": "", - "FieldName": "$GamePort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$.GamePort", - "IncludeInCommandLine": false, - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "QueryPort", - "Category": "Server Settings", - "Description": "UDP port used by Steam to list the server and enable the discovery services.", - "Keywords": "", - "FieldName": "$SteamQueryPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$.QueryPort", - "IncludeInCommandLine": false, - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "BlobSyncPort", - "Category": "Server Settings", - "Description": "BlobSyncPort UDP port used by the BlobSync system to initialize game systems and exchange data.", - "Keywords": "", - "FieldName": "$BlobSyncPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$.BlobSyncPort", - "IncludeInCommandLine": false, - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "Server Name", - "Category": "SotF - Server Settings", - "Description": "Name of the server visible in the server list, and in the Steam contacts.", - "Keywords": "server,name", - "FieldName": "ServerName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "$.ServerName", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Sons Of The Forest Server", - "Placeholder": "AMP Powered Sons Of The Forest Server", - "EnumValues": {} - }, - { - "DisplayName": "Max Players", - "Category": "SotF - Server Settings", - "Description": "The maximum number of players allowed simultaneously on the server.", - "Keywords": "max,players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$.MaxPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "8", - "Placeholder": "8", - "Suffix": "players", - "EnumValues": {} - }, - { - "DisplayName": "Password", - "Category": "SotF - Server Settings", - "Description": "Adds a password to make your server \"private\". Upon connection, this password will be requested before the client can proceed.", - "Keywords": "password", - "FieldName": "Password", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "$.Password", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "LAN Only", - "Category": "SotF - Server Settings", - "Description": "Allows or restricts the server visibility to LAN only.", - "Keywords": "lan,only", - "FieldName": "LanOnly", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.LanOnly", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Save Slot", - "Category": "SotF - Server Settings", - "Description": "When creating a new save, this number will be the id of the save.", - "Keywords": "save,slot", - "FieldName": "SaveSlot", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$.SaveSlot", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "Placeholder": "1", - "EnumValues": {} - }, - { - "DisplayName": "Save Mode", - "Category": "SotF - Server Settings", - "Description": "\"Continue\" will create a new save if it doesn’t exist, or load it if it exists. \"New\" will create a new game and overwrite any game save on the SaveSlot. The save will be overwritten as long as the mode is set to \"New\".", - "Keywords": "save,mode", - "FieldName": "SaveMode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.SaveMode", - "IncludeInCommandLine": false, - "DefaultValue": "continue", - "EnumValues": { - "Continue": "Continue", - "New": "New" - } - }, - { - "DisplayName": "Game Mode", - "Category": "SotF - Server Settings", - "Description": "Sets the game mode when creating a new save. This is ignored if loading a save. If set to \"custom\", the custom game mode settings will be read from \"SotF - Game Settings\".", - "Keywords": "game,mode", - "FieldName": "GameMode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.GameMode", - "IncludeInCommandLine": false, - "DefaultValue": "normal", - "EnumValues": { - "Normal": "Normal", - "Hard": "Hard", - "Hardsurvival": "Hard Survival", - "Peaceful": "Peaceful", - "Custom": "Custom" - } - }, - { - "DisplayName": "Save Interval", - "Category": "SotF - Server Settings", - "Description": "How often the game server automatically saves the game to SaveSlot, in seconds.", - "Keywords": "save,interval", - "FieldName": "SaveInterval", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$.SaveInterval", - "IncludeInCommandLine": false, - "DefaultValue": "600", - "Placeholder": "600", - "Suffix": "seconds", - "EnumValues": {} - }, - { - "DisplayName": "Idle Day Cycle Speed", - "Category": "SotF - Server Settings", - "Description": "A multiplier to how quickly the time passes compared to normal gameplay when the server is considered idle (no player connected).", - "Keywords": "idle,day,cycle,speed", - "FieldName": "IdleDayCycleSpeed", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$.IdleDayCycleSpeed", - "IncludeInCommandLine": false, - "DefaultValue": "0.0", - "Placeholder": "0.0", - "Suffix": "multiplier", - "EnumValues": {} - }, - { - "DisplayName": "Idle Target Framerate", - "Category": "SotF - Server Settings", - "Description": "Target framerate of the server when it’s considered idle (no player connected).", - "Keywords": "idle,target,framerate", - "FieldName": "IdleTargetFramerate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$.IdleTargetFramerate", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "Placeholder": "5", - "Suffix": "fps", - "EnumValues": {} - }, - { - "DisplayName": "Active Target Framerate", - "Category": "SotF - Server Settings", - "Description": "Target framerate of the server when it’s NOT considered idle (one or more player connected).", - "Keywords": "active,target,framerate", - "FieldName": "ActiveTargetFramerate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$.ActiveTargetFramerate", - "IncludeInCommandLine": false, - "DefaultValue": "60", - "Placeholder": "60", - "Suffix": "fps", - "EnumValues": {} - }, - { - "DisplayName": "Log Files Enabled", - "Category": "SotF - Server Settings", - "Description": "Defines if the logs will be written to files.", - "Keywords": "log,files,enabled", - "FieldName": "LogFilesEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.LogFilesEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Timestamp Log Filenames", - "Category": "SotF - Server Settings", - "Description": "Every server start will create a new timestamped file. If disabled, the previous log will be overwritten.", - "Keywords": "timestamp,log,filenames", - "FieldName": "TimestampLogFilenames", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.TimestampLogFilenames", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Timestamp Log Entries", - "Category": "SotF - Server Settings", - "Description": "Enables each log entry written to file to be timestamped.", - "Keywords": "timestamp,log,entries", - "FieldName": "TimestampLogEntries", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.TimestampLogEntries", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Skip Network Accessibility Test", - "Category": "SotF - Server Settings", - "Description": "Skips a port test that can cause the server to fail to start. This test can be a sign of incorrect port forwarding, but sometimes has false positives.", - "Keywords": "skip,network,accessibility,test", - "FieldName": "SkipNetworkAccessibilityTest", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.SkipNetworkAccessibilityTest", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName":"Server Owners", - "Category":"SotF - Server Settings", - "Description":"Add the Steam64 IDs of every server owner, one steam id per line. Use # to comment out a line to keep track of SteamIDs. Include their name in the line above. [Find Steam64 IDs](https://steamidfinder.com/)", - "Keywords":"server,owners,admins", - "FieldName":"ServerOwners", - "InputType":"list", - "IsFlagArgument":false, - "ParamFieldName":"ServerOwners", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Special":"listfile:./sons-of-the-forest/2465200/saves/ownerswhitelist.txt", - "EnumValues": {} - }, - { - "DisplayName": "Server IP Binding", - "Category": "SotF - Server Settings", - "Description": "If required, you can change the binding of the server to an internal interface IP by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first.", - "Keywords": "binding,ip", - "FieldName": "$ApplicationIPBinding", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "$.IpAddress", - "IncludeInCommandLine": false, - "EnumValues": {} - }, - { - "DisplayName": "Game Mode Info", - "Category": "SotF - Game Settings", - "Description": "In order for these settings to take effect, you should choose \"Custom\" for the Gmae Mode in \"SotF - Server Settings\".", - "Keywords": "game,mode,info", - "FieldName": "GameModeInfo", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "$.GameModeInfo", - "IncludeInCommandLine": false, - "EnumValues": {} - }, - { - "DisplayName": "Tree Regrowth", - "Category": "SotF - Game Settings", - "Description": "Enable automatic tree regrowth, triggered when sleeping.", - "Keywords": "tree,regrowth", - "FieldName": "TreeRegrowth", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.GameSettings['Gameplay.TreeRegrowth']", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Structure Damage", - "Category": "SotF - Game Settings", - "Description": "Allow buildings to be damaged.", - "Keywords": "structure,damage", - "FieldName": "StructureDamage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.GameSettings['Structure.Damage']", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enemy Spawn", - "Category": "SotF - Game Settings", - "Description": "Enable enemies spawning.", - "Keywords": "enemy,spawn", - "FieldName": "EnemySpawn", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemySpawn']", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enemy Health", - "Category": "SotF - Game Settings", - "Description": "Adjust enemy starting health.", - "Keywords": "enemy,health", - "FieldName": "EnemyHealth", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyHealth']", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Low": "Low", - "Normal": "Normal", - "High": "High" - } - }, - { - "DisplayName": "Enemy Damage", - "Category": "SotF - Game Settings", - "Description": "Adjust damage enemies can do.", - "Keywords": "enemy,damage", - "FieldName": "EnemyDamage", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyDamage']", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Low": "Low", - "Normal": "Normal", - "High": "High" - } - }, - { - "DisplayName": "Enemy Armour", - "Category": "SotF - Game Settings", - "Description": "Adjust enemies armour strength.", - "Keywords": "enemy,armour,armor", - "FieldName": "EnemyArmour", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyArmour']", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Low": "Low", - "Normal": "Normal", - "High": "High" - } - }, - { - "DisplayName": "Enemy Aggression", - "Category": "SotF - Game Settings", - "Description": "Adjust enemy aggression level.", - "Keywords": "enemy,aggression", - "FieldName": "EnemyAggression", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyAggression']", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Low": "Low", - "Normal": "Normal", - "High": "High" - } - }, - { - "DisplayName": "Animal Spawn Rate", - "Category": "SotF - Game Settings", - "Description": "Adjust animal spawn rate.", - "Keywords": "animal,spawn,rate", - "FieldName": "AnimalSpawnRate", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.AnimalSpawnRate']", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Low": "Low", - "Normal": "Normal", - "High": "High" - } - }, - { - "DisplayName": "Starting Season", - "Category": "SotF - Game Settings", - "Description": "Set environmental starting season.", - "Keywords": "starting,season", - "FieldName": "StartingSeason", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.StartingSeason']", - "IncludeInCommandLine": false, - "DefaultValue": "Spring", - "EnumValues": { - "Spring": "Spring", - "Summer": "Summer", - "Autumn": "Autumn", - "Winter": "Winter" - } - }, - { - "DisplayName": "Season Length", - "Category": "SotF - Game Settings", - "Description": "Adjust season length.", - "Keywords": "season,length", - "FieldName": "SeasonLength", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.SeasonLength']", - "IncludeInCommandLine": false, - "DefaultValue": "Default", - "EnumValues": { - "Short": "Short", - "Default": "Default", - "Long": "Long", - "Realistic": "Realistic" - } - }, - { - "DisplayName": "Day Length", - "Category": "SotF - Game Settings", - "Description": "Adjust day length.", - "Keywords": "day,length", - "FieldName": "DayLength", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.DayLength']", - "IncludeInCommandLine": false, - "DefaultValue": "Default", - "EnumValues": { - "Short": "Short", - "Default": "Default", - "Long": "Long", - "Realistic": "Realistic" - } - }, - { - "DisplayName": "Precipitation Frequency", - "Category": "SotF - Game Settings", - "Description": "Adjust the frequency of rain and snow.", - "Keywords": "precipitation,frequency", - "FieldName": "PrecipitationFrequency", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.PrecipitationFrequency']", - "IncludeInCommandLine": false, - "DefaultValue": "Default", - "EnumValues": { - "Low": "Low", - "Default": "Default", - "High": "High" - } - }, - { - "DisplayName": "Consumable Effects", - "Category": "SotF - Game Settings", - "Description": "Enable damage taken when low hydration and low fullness.", - "Keywords": "consumable,effects", - "FieldName": "ConsumableEffects", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.ConsumableEffects']", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Normal": "Normal", - "Hard": "Hard" - } - }, - { - "DisplayName": "Player Stats Damage", - "Category": "SotF - Game Settings", - "Description": "Enable damage from each bad or rotten food and drink.", - "Keywords": "player,stats,damage", - "FieldName": "PlayerStatsDamage", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.PlayerStatsDamage']", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Off": "Off", - "Normal": "Normal", - "Hard": "Hard" - } - }, - { - "DisplayName": "Cold Penalties", - "Category": "SotF - Game Settings", - "Description": "Adjusts the severity that cold will affect health and stamina regeneration.", - "Keywords": "cold,penalties", - "FieldName": "ColdPenalties", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.ColdPenalties']", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Off": "Off", - "Normal": "Normal", - "Hard": "Hard" - } - }, - { - "DisplayName": "Reduced Food In Containers", - "Category": "SotF - Game Settings", - "Description": "Reduces the amount of food found in containers.", - "Keywords": "reduced,food,in,containers", - "FieldName": "ReducedFoodInContainers", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.ReducedFoodInContainers']", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Single Use Containers", - "Category": "SotF - Game Settings", - "Description": "Containers can only be opened once.", - "Keywords": "single,use,containers", - "FieldName": "SingleUseContainers", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.SingleUseContainers']", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - } -] diff --git a/sons-of-the-forestdedicatedserver.cfg b/sons-of-the-forestdedicatedserver.cfg deleted file mode 100644 index 18e898aab..000000000 --- a/sons-of-the-forestdedicatedserver.cfg +++ /dev/null @@ -1,42 +0,0 @@ -{ - "IpAddress": "0.0.0.0", - "GamePort": 8766, - "QueryPort": 27016, - "BlobSyncPort": 9700, - "ServerName": "AMP Powered Sons Of The Forest Server", - "MaxPlayers": 8, - "Password": "", - "LanOnly": false, - "SaveSlot": 1, - "SaveMode": "Continue", - "GameMode": "Normal", - "SaveInterval": 600, - "IdleDayCycleSpeed": 0.0, - "IdleTargetFramerate": 5, - "ActiveTargetFramerate": 60, - "LogFilesEnabled": false, - "TimestampLogFilenames": true, - "TimestampLogEntries": true, - "SkipNetworkAccessibilityTest": false, - "GameSettings": { - "Gameplay.TreeRegrowth": true, - "Structure.Damage": true - }, - "CustomGameModeSettings": { - "GameSetting.Vail.EnemySpawn": true, - "GameSetting.Vail.EnemyHealth": "Normal", - "GameSetting.Vail.EnemyDamage": "Normal", - "GameSetting.Vail.EnemyArmour": "Normal", - "GameSetting.Vail.EnemyAggression": "Normal", - "GameSetting.Vail.AnimalSpawnRate": "Normal", - "GameSetting.Environment.StartingSeason": "Summer", - "GameSetting.Environment.SeasonLength": "Default", - "GameSetting.Environment.DayLength": "Default", - "GameSetting.Environment.PrecipitationFrequency": "Default", - "GameSetting.Survival.ConsumableEffects": "Normal", - "GameSetting.Survival.PlayerStatsDamage": "Off", - "GameSetting.Survival.ColdPenalties": "Off", - "GameSetting.Survival.ReducedFoodInContainers": false, - "GameSetting.Survival.SingleUseContainers": false - } -} \ No newline at end of file diff --git a/sons-of-the-forestmetaconfig.json b/sons-of-the-forestmetaconfig.json deleted file mode 100644 index 8c2537c88..000000000 --- a/sons-of-the-forestmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile": "saves/dedicatedserver.cfg", - "AutoMap": true, - "ConfigType": "json" - } -] \ No newline at end of file diff --git a/sons-of-the-forestports.json b/sons-of-the-forestports.json deleted file mode 100644 index 4e78c52d0..000000000 --- a/sons-of-the-forestports.json +++ /dev/null @@ -1,23 +0,0 @@ -[ - { - "Protocol": "UDP", - "Port": "8766", - "Name": "Game Port", - "Description": "UDP port used for gameplay netcode (Bolt).", - "Ref": "GamePort" - }, - { - "Protocol": "UDP", - "Port": "27016", - "Name": "Steam Query Port", - "Description": "UDP port used by Steam to list the server and enable the discovery services.", - "Ref": "SteamQueryPort" - }, - { - "Protocol": "UDP", - "Port": "9700", - "Name": "Blob Sync Port", - "Description": "BlobSyncPort UDP port used by the BlobSync system to initialize game systems and exchange data.", - "Ref": "BlobSyncPort" - } -] \ No newline at end of file diff --git a/sons-of-the-forestupdates.json b/sons-of-the-forestupdates.json deleted file mode 100644 index 8c1447101..000000000 --- a/sons-of-the-forestupdates.json +++ /dev/null @@ -1,41 +0,0 @@ -[ - { - "UpdateStageName": "SteamCMD Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "2465200", - "UpdateSourceArgs": "1326470", - "UpdateSourceVersion": "", - "UpdateSourceTarget": "", - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false, - "ForceDownloadPlatform": "Windows", - "UpdateSourceConditionSetting": null, - "UpdateSourceConditionValue": null, - "DeleteAfterExtract": true, - "OneShot": false - }, - { - "UpdateStageName":"Create Config Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}saves", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Base Config Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/sons-of-the-forestdedicatedserver.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}saves", - "UpdateSourceArgs":"dedicatedserver.cfg", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Initialise Wine", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" - } -] \ No newline at end of file diff --git a/space-engineers-dedicated.cfg b/space-engineers-dedicated.cfg deleted file mode 100644 index c39af42b1..000000000 --- a/space-engineers-dedicated.cfg +++ /dev/null @@ -1,184 +0,0 @@ -<?xml version="1.0"?> -<MyConfigDedicated xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <SessionSettings> - <GameMode>Survival</GameMode> - <InventorySizeMultiplier>3</InventorySizeMultiplier> - <BlocksInventorySizeMultiplier>1</BlocksInventorySizeMultiplier> - <AssemblerSpeedMultiplier>3</AssemblerSpeedMultiplier> - <AssemblerEfficiencyMultiplier>3</AssemblerEfficiencyMultiplier> - <RefinerySpeedMultiplier>3</RefinerySpeedMultiplier> - <OnlineMode>PUBLIC</OnlineMode> - <MaxPlayers>4</MaxPlayers> - <MaxFloatingObjects>56</MaxFloatingObjects> - <TotalBotLimit>32</TotalBotLimit> - <MaxBackupSaves>5</MaxBackupSaves> - <MaxGridSize>0</MaxGridSize> - <MaxBlocksPerPlayer>0</MaxBlocksPerPlayer> - <TotalPCU>100000</TotalPCU> - <PiratePCU>50000</PiratePCU> - <MaxFactionsCount>0</MaxFactionsCount> - <BlockLimitsEnabled>GLOBALLY</BlockLimitsEnabled> - <EnableRemoteBlockRemoval>true</EnableRemoteBlockRemoval> - <EnvironmentHostility>SAFE</EnvironmentHostility> - <AutoHealing>true</AutoHealing> - <EnableCopyPaste>false</EnableCopyPaste> - <WeaponsEnabled>true</WeaponsEnabled> - <ShowPlayerNamesOnHud>true</ShowPlayerNamesOnHud> - <ThrusterDamage>true</ThrusterDamage> - <CargoShipsEnabled>true</CargoShipsEnabled> - <EnableSpectator>false</EnableSpectator> - <WorldSizeKm>0</WorldSizeKm> - <RespawnShipDelete>false</RespawnShipDelete> - <ResetOwnership>false</ResetOwnership> - <WelderSpeedMultiplier>2</WelderSpeedMultiplier> - <GrinderSpeedMultiplier>2</GrinderSpeedMultiplier> - <RealisticSound>false</RealisticSound> - <HackSpeedMultiplier>0.33</HackSpeedMultiplier> - <PermanentDeath>false</PermanentDeath> - <AutoSaveInMinutes>5</AutoSaveInMinutes> - <EnableSaving>true</EnableSaving> - <InfiniteAmmo>false</InfiniteAmmo> - <EnableContainerDrops>false</EnableContainerDrops> - <SpawnShipTimeMultiplier>0</SpawnShipTimeMultiplier> - <ProceduralDensity>0.35</ProceduralDensity> - <ProceduralSeed>0</ProceduralSeed> - <DestructibleBlocks>true</DestructibleBlocks> - <EnableIngameScripts>false</EnableIngameScripts> - <ViewDistance>15000</ViewDistance> - <EnableToolShake>true</EnableToolShake> - <VoxelGeneratorVersion>4</VoxelGeneratorVersion> - <EnableOxygen>true</EnableOxygen> - <EnableOxygenPressurization>true</EnableOxygenPressurization> - <Enable3rdPersonView>true</Enable3rdPersonView> - <EnableEncounters>true</EnableEncounters> - <EnableConvertToStation>true</EnableConvertToStation> - <StationVoxelSupport>false</StationVoxelSupport> - <EnableSunRotation>true</EnableSunRotation> - <EnableRespawnShips>true</EnableRespawnShips> - <ScenarioEditMode>false</ScenarioEditMode> - <Scenario>false</Scenario> - <CanJoinRunning>false</CanJoinRunning> - <PhysicsIterations>8</PhysicsIterations> - <SunRotationIntervalMinutes>119.999992</SunRotationIntervalMinutes> - <EnableJetpack>true</EnableJetpack> - <SpawnWithTools>true</SpawnWithTools> - <StartInRespawnScreen>false</StartInRespawnScreen> - <EnableVoxelDestruction>true</EnableVoxelDestruction> - <MaxDrones>5</MaxDrones> - <EnableDrones>true</EnableDrones> - <EnableWolfs>false</EnableWolfs> - <EnableSpiders>false</EnableSpiders> - <FloraDensityMultiplier>1</FloraDensityMultiplier> - <EnableStructuralSimulation>false</EnableStructuralSimulation> - <MaxActiveFracturePieces>50</MaxActiveFracturePieces> - <BlockTypeLimits> - <dictionary /> - </BlockTypeLimits> - <EnableScripterRole>false</EnableScripterRole> - <MinDropContainerRespawnTime>5</MinDropContainerRespawnTime> - <MaxDropContainerRespawnTime>20</MaxDropContainerRespawnTime> - <EnableTurretsFriendlyFire>false</EnableTurretsFriendlyFire> - <EnableSubgridDamage>false</EnableSubgridDamage> - <SyncDistance>3000</SyncDistance> - <ExperimentalMode>false</ExperimentalMode> - <AdaptiveSimulationQuality>true</AdaptiveSimulationQuality> - <EnableVoxelHand>true</EnableVoxelHand> - <RemoveOldIdentitiesH>0</RemoveOldIdentitiesH> - <TrashRemovalEnabled>true</TrashRemovalEnabled> - <StopGridsPeriodMin>15</StopGridsPeriodMin> - <TrashFlagsValue>1562</TrashFlagsValue> - <AFKTimeountMin>0</AFKTimeountMin> - <BlockCountThreshold>20</BlockCountThreshold> - <PlayerDistanceThreshold>500</PlayerDistanceThreshold> - <OptimalGridCount>0</OptimalGridCount> - <PlayerInactivityThreshold>0</PlayerInactivityThreshold> - <PlayerCharacterRemovalThreshold>15</PlayerCharacterRemovalThreshold> - <VoxelTrashRemovalEnabled>false</VoxelTrashRemovalEnabled> - <VoxelPlayerDistanceThreshold>5000</VoxelPlayerDistanceThreshold> - <VoxelGridDistanceThreshold>5000</VoxelGridDistanceThreshold> - <VoxelAgeThreshold>24</VoxelAgeThreshold> - <EnableResearch>true</EnableResearch> - <EnableGoodBotHints>true</EnableGoodBotHints> - <OptimalSpawnDistance>16000</OptimalSpawnDistance> - <EnableAutorespawn>true</EnableAutorespawn> - <EnableBountyContracts>true</EnableBountyContracts> - <EnableSupergridding>false</EnableSupergridding> - <EnableEconomy>false</EnableEconomy> - <DepositsCountCoefficient>2</DepositsCountCoefficient> - <DepositSizeDenominator>30</DepositSizeDenominator> - <WeatherSystem>true</WeatherSystem> - <HarvestRatioMultiplier>1</HarvestRatioMultiplier> - <TradeFactionsCount>15</TradeFactionsCount> - <StationsDistanceInnerRadius>10000000</StationsDistanceInnerRadius> - <StationsDistanceOuterRadiusStart>10000000</StationsDistanceOuterRadiusStart> - <StationsDistanceOuterRadiusEnd>30000000</StationsDistanceOuterRadiusEnd> - <EconomyTickInSeconds>1200</EconomyTickInSeconds> - <SimplifiedSimulation>false</SimplifiedSimulation> - <SuppressedWarnings /> - <EnablePcuTrading>true</EnablePcuTrading> - <FamilySharing>true</FamilySharing> - <EnableSelectivePhysicsUpdates>false</EnableSelectivePhysicsUpdates> - <PredefinedAsteroids>false</PredefinedAsteroids> - <UseConsolePCU>true</UseConsolePCU> - <MaxPlanets>3</MaxPlanets> - <OffensiveWordsFiltering>true</OffensiveWordsFiltering> - <AdjustableMaxVehicleSpeed>true</AdjustableMaxVehicleSpeed> - <EnableMatchComponent>false</EnableMatchComponent> - <PreMatchDuration>0</PreMatchDuration> - <MatchDuration>0</MatchDuration> - <PostMatchDuration>0</PostMatchDuration> - <EnableFriendlyFire>true</EnableFriendlyFire> - <EnableTeamBalancing>false</EnableTeamBalancing> - <CharacterSpeedMultiplier>1</CharacterSpeedMultiplier> - <EnableRecoil>true</EnableRecoil> - <EnvironmentDamageMultiplier>1</EnvironmentDamageMultiplier> - <EnableGamepadAimAssist>false</EnableGamepadAimAssist> - <BackpackDespawnTimer>5</BackpackDespawnTimer> - <EnableFactionPlayerNames>false</EnableFactionPlayerNames> - <EnableTeamScoreCounters>true</EnableTeamScoreCounters> - </SessionSettings> - <IP>0.0.0.0</IP> - <SteamPort>8766</SteamPort> - <ServerPort>27016</ServerPort> - <AsteroidAmount>0</AsteroidAmount> - <Administrators /> - <Banned /> - <GroupID>0</GroupID> - <ServerName>AMP Powered Server</ServerName> - <WorldName>World</WorldName> - <VerboseNetworkLogging>false</VerboseNetworkLogging> - <PauseGameWhenEmpty>false</PauseGameWhenEmpty> - <MessageOfTheDay>Welcome to my Space Engineers Server, powered by AMP!</MessageOfTheDay> - <MessageOfTheDayUrl>https://cubecoders.com/AMP</MessageOfTheDayUrl> - <AutoRestartEnabled>true</AutoRestartEnabled> - <AutoRestatTimeInMin>0</AutoRestatTimeInMin> - <AutoRestartSave>true</AutoRestartSave> - <AutoUpdateEnabled>false</AutoUpdateEnabled> - <AutoUpdateCheckIntervalInMin>10</AutoUpdateCheckIntervalInMin> - <AutoUpdateRestartDelayInMin>15</AutoUpdateRestartDelayInMin> - <AutoUpdateSteamBranch>public</AutoUpdateSteamBranch> - <AutoUpdateBranchPassword /> - <IgnoreLastSession>false</IgnoreLastSession> - <PremadeCheckpointPath>./Content/CustomWorlds/Star System</PremadeCheckpointPath> - <ServerDescription /> - <ServerPasswordHash></ServerPasswordHash> - <ServerPasswordSalt></ServerPasswordSalt> - <Reserved /> - <RemoteApiEnabled>false</RemoteApiEnabled> - <RemoteSecurityKey></RemoteSecurityKey> - <RemoteApiPort>8080</RemoteApiPort> - <Plugins /> - <WatcherInterval>30</WatcherInterval> - <WatcherSimulationSpeedMinimum>0.05</WatcherSimulationSpeedMinimum> - <ManualActionDelay>5</ManualActionDelay> - <ManualActionChatMessage>Server will be shut down in {0} min(s).</ManualActionChatMessage> - <AutodetectDependencies>true</AutodetectDependencies> - <SaveChatToLog>false</SaveChatToLog> - <NetworkType>steam</NetworkType> - <ConsoleCompatibility>false</ConsoleCompatibility> - <NetworkParameters /> - <ChatAntiSpamEnabled>true</ChatAntiSpamEnabled> - <SameMessageTimeout>30</SameMessageTimeout> - <SpamMessagesTime>0.5</SpamMessagesTime> - <SpamMessagesTimeout>60</SpamMessagesTimeout> -</MyConfigDedicated> \ No newline at end of file diff --git a/space-engineers-generic.kvp b/space-engineers-generic.kvp deleted file mode 100644 index 144c86399..000000000 --- a/space-engineers-generic.kvp +++ /dev/null @@ -1,98 +0,0 @@ -Meta.DisplayName=Space Engineers -Meta.Description=Space Engineers Dedicated Server -Meta.OS=Windows, Linux -Meta.AarchSupport=Unknown -Meta.Arch=x86_64 -Meta.Author=IceOfWraith, Greelan, CubeCoders(base) -Meta.URL=https://store.steampowered.com/app/244850/Space_Engineers/ -Meta.DisplayImageSource=steam:244850 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort1} -Meta.ConfigManifest=space-engineers-genericconfig.json -Meta.MetaConfigManifest=space-engineers-genericmetaconfig.json -Meta.ConfigRoot=space-engineers-generic.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.SpecificDockerImage=cubecoders/ampbase:wine8 -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine 8 (or later), Xvfb and cabextract to install and run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -Meta.ConfigVersion=0.0.0.0 -Meta.ReleaseNotes= -Meta.BreakingReleaseNotes= -App.DisplayName=Space Engineers -App.RootDir=./space-engineers-generic/ -App.BaseDirectory=./space-engineers-generic/298740/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin=298740\DedicatedServer64\SpaceEngineersDedicated.exe -App.ExecutableLinux=/usr/bin/wine -App.WorkingDir=298740/DedicatedServer64 -App.LinuxCommandLineArgs="./SpaceEngineersDedicated.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -console -path "{{$FullBaseDir}}servers" {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"244850","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -App.CommandLineParameterFormat=-{0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=taskkill /IM -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":27016,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Server Port","Description":"Port used for main game traffic","ChildPorts":null},{"Protocol":"UDP","Port":8766,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Steam Port","Description":"Port used for Steam communications","ChildPorts":null},{"Protocol":"Both","Port":8777,"Offset":0,"Range":1,"Ref":"RemoteAdminPort","Name":"Remote API Port","Description":"Port used to access the API","ChildPorts":null}] -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=ApplicationPort1 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=ApplicationPort2 -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[space-engineers-genericupdates.json] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=SpaceEngineersDedicated.exe -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|.+\|WARN\|GameAnalyticsSDK\.Net\.Logging\.GALogger\|Warning\/GameAnalytics: Event queue: Failed to send events to collector - Retrying next time$ -Console.AppReadyRegex=^\d+\-\d+\-\d+ \d+\:\d+\:\d+.\d+\: Game ready.*$ -Console.UserJoinRegex=^\d+\-\d+\-\d+ \d+\:\d+\:\d+.\d+\: World request received: (?<username>.+?)$ -Console.UserLeaveRegex=^\d+\-\d+\-\d+ \d+\:\d+\:\d+.\d+\: User left (?<username>.+?)$ -Console.UserChatRegex=^\[\d\d:\d\d:\d\d\] \[CHAT\] <(?<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=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 diff --git a/space-engineers-genericconfig.json b/space-engineers-genericconfig.json deleted file mode 100644 index b77062c59..000000000 --- a/space-engineers-genericconfig.json +++ /dev/null @@ -1,2520 +0,0 @@ -[ - { - "DisplayName": "Binding IP", - "Category": "Hidden Settings", - "Description": "Must match AMP's Binding IP", - "Keywords": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/IP", - "IncludeInCommandLine": false, - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Server Port", - "Category": "Hidden Settings", - "Description": "Must match AMP's Application Port 1", - "Keywords": "", - "FieldName": "$ApplicationPort1", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ServerPort", - "IncludeInCommandLine": false, - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Steam Port", - "Category": "Hidden Settings", - "Description": "Must match AMP's Application Port 2", - "Keywords": "", - "FieldName": "$ApplicationPort2", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SteamPort", - "IncludeInCommandLine": false, - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Remote API Port", - "Category": "Hidden Settings", - "Description": "Must match AMP's Remote Admin Port", - "Keywords": "", - "FieldName": "$RemoteAdminPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/RemoteApiPort", - "IncludeInCommandLine": false, - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Server Release Stream", - "Category": "SteamCMD and Updates", - "Description": "Which release stream should be used to update the server. Choose a custom release on [SteamDB](https://steamdb.info/app/298740/depots/) and enter the Branch Name below.", - "Keywords": "server,release,stream", - "FieldName": "Stream", - "ParamFieldName": "Stream", - "IncludeInCommandLine": false, - "InputType": "text", - "EnumValues": {}, - "DefaultValue": "public", - "Placeholder": "public" - }, - { - "DisplayName": "Block Limits Mode", - "Category": "SE - Block Limits", - "Description": "Defines block limits mode.", - "Keywords": "Block,Limits,Enabled", - "FieldName": "BlockLimitsEnabled", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/BlockLimitsEnabled | /MyObjectBuilder_WorldConfiguration/Settings/BlockLimitsEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "GLOBALLY", - "EnumValues": { - "NONE": "None", - "GLOBALLY": "Globally", - "PER_FACTION": "Per Faction", - "PER_PLAYER": "Per Player" - } - }, - { - "DisplayName": "Max Blocks Per Player", - "Category": "SE - Block Limits", - "Description": "The maximum number of blocks per player. (0 - 2147483647)", - "Keywords": "Max,Blocks,Per,Player", - "FieldName": "MaxBlocksPerPlayer", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxBlocksPerPlayer | /MyObjectBuilder_WorldConfiguration/Settings/MaxBlocksPerPlayer", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "MinValue": "0", - "MaxValue": "2147483647", - "Suffix": "Blocks", - "EnumValues": {} - }, - { - "DisplayName": "Max Factions Count", - "Category": "SE - Block Limits", - "Description": "The maximum number of existing factions in the world. (0 - 2147483647)", - "Keywords": "Max,Factions,Count", - "FieldName": "MaxFactionsCount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxFactionsCount | /MyObjectBuilder_WorldConfiguration/Settings/MaxFactionsCount", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "MinValue": "0", - "MaxValue": "2147483647", - "Suffix": "Factions", - "EnumValues": {} - }, - { - "DisplayName": "Max Grid Blocks", - "Category": "SE - Block Limits", - "Description": "The maximum number of blocks in one grid. (0 - 2147483647)", - "Keywords": "Max,Grid,Size", - "FieldName": "MaxGridSize", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxGridSize | /MyObjectBuilder_WorldConfiguration/Settings/MaxGridSize", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "MinValue": "0", - "MaxValue": "2147483647", - "Suffix": "Blocks", - "EnumValues": {} - }, - { - "DisplayName": "Pirate PCU", - "Category": "SE - Block Limits", - "Description": "Number of Performance Cost Units allocated for pirate faction. (0 - 2147483647)", - "Keywords": "Pirate,PCU", - "FieldName": "PiratePCU", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PiratePCU | /MyObjectBuilder_WorldConfiguration/Settings/PiratePCU", - "IncludeInCommandLine": false, - "DefaultValue": "50000", - "Placeholder": "50000", - "MinValue": "0", - "MaxValue": "2147483647", - "Suffix": "Units", - "EnumValues": {} - }, - { - "DisplayName": "World PCU", - "Category": "SE - Block Limits", - "Description": "The total number of Performance Cost Units in the world. (0 - 2147483647)", - "Keywords": "Total,PCU", - "FieldName": "TotalPCU", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/TotalPCU | /MyObjectBuilder_WorldConfiguration/Settings/TotalPCU", - "IncludeInCommandLine": false, - "DefaultValue": "100000", - "Placeholder": "100000", - "MinValue": "0", - "MaxValue": "2147483647", - "Suffix": "Units", - "EnumValues": {} - }, - { - "DisplayName": "Enable Destructible Blocks", - "Category": "SE - Environment", - "Description": "Enables destruction feature for the blocks.", - "Keywords": "enable,destructible,blocks", - "FieldName": "DestructibleBlocks", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/DestructibleBlocks | /MyObjectBuilder_WorldConfiguration/Settings/DestructibleBlocks", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Oxygen", - "Category": "SE - Environment", - "Description": "Enables oxygen in the world.", - "Keywords": "Enable,Oxygen", - "FieldName": "EnableOxygen", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableOxygen | /MyObjectBuilder_WorldConfiguration/Settings/EnableOxygen", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Airtightness", - "Category": "SE - Environment", - "Description": "Enables airtightness in the world.", - "Keywords": "Enable,airtightness,Oxygen,Pressurization", - "FieldName": "EnableOxygenPressurization", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableOxygenPressurization | /MyObjectBuilder_WorldConfiguration/Settings/EnableOxygenPressurization", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Sub-Grid Damage", - "Category": "SE - Environment", - "Description": "Enables sub-grid damage.", - "Keywords": "Enable,Subgrid,Damage", - "FieldName": "EnableSubgridDamage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSubgridDamage | /MyObjectBuilder_WorldConfiguration/Settings/EnableSubgridDamage", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Sun Rotation", - "Category": "SE - Environment", - "Description": "Enables sun rotation.", - "Keywords": "Enable,Sun,Rotation", - "FieldName": "EnableSunRotation", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSunRotation | /MyObjectBuilder_WorldConfiguration/Settings/EnableSunRotation", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Friendly Missile Damage", - "Category": "SE - Environment", - "Description": "Enables explosion damage from missiles being applied to its own grid.", - "Keywords": "Enable,missile,damage,Turrets,Friendly,Fire", - "FieldName": "EnableTurretsFriendlyFire", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableTurretsFriendlyFire | /MyObjectBuilder_WorldConfiguration/Settings/EnableTurretsFriendlyFire", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Voxel Destruction", - "Category": "SE - Environment", - "Description": "Enables voxel destructions.", - "Keywords": "Enable,Voxel,Destruction", - "FieldName": "EnableVoxelDestruction", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableVoxelDestruction | /MyObjectBuilder_WorldConfiguration/Settings/EnableVoxelDestruction", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Environment Hostility", - "Category": "SE - Environment", - "Description": "Defines hostility of the environment.", - "Keywords": "Environment,Hostility", - "FieldName": "EnvironmentHostility", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnvironmentHostility | /MyObjectBuilder_WorldConfiguration/Settings/EnvironmentHostility", - "IncludeInCommandLine": false, - "DefaultValue": "SAFE", - "EnumValues": { - "SAFE": "Safe", - "NORMAL": "Normal", - "CATACLYSM": "Cataclysm", - "CATACLYSM_UNREAL": "Cataclysm - Unreal" - } - }, - { - "DisplayName": "Max Floating Objects", - "Category": "SE - Environment", - "Description": "The maximum number of existing floating objects. (2 - 1024)", - "Keywords": "Max,Floating,Objects", - "FieldName": "MaxFloatingObjects", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxFloatingObjects | /MyObjectBuilder_WorldConfiguration/Settings/MaxFloatingObjects", - "IncludeInCommandLine": false, - "DefaultValue": "56", - "Placeholder": "56", - "MinValue": "2", - "MaxValue": "1024", - "Suffix": "Objects", - "EnumValues": {} - }, - { - "DisplayName": "Physics Iterations", - "Category": "SE - Environment", - "Description": "Defines the number of physics iterations. (2 - 32)", - "Keywords": "Physics,Iterations", - "FieldName": "PhysicsIterations", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PhysicsIterations | /MyObjectBuilder_WorldConfiguration/Settings/PhysicsIterations", - "IncludeInCommandLine": false, - "DefaultValue": "8", - "Placeholder": "8", - "MinValue": "2", - "MaxValue": "32", - "Suffix": "Iterations", - "EnumValues": {} - }, - { - "DisplayName": "Enable Realistic Sound", - "Category": "SE - Environment", - "Description": "Enable realistic sounds.", - "Keywords": "Realistic,Sound", - "FieldName": "RealisticSound", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/RealisticSound | /MyObjectBuilder_WorldConfiguration/Settings/RealisticSound", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Unsupported Stations", - "Category": "SE - Environment", - "Description": "By enabling this option grids will no longer turn dynamic when disconnected from static grids.", - "Keywords": "unsupported,Station,Voxel,Support", - "FieldName": "StationVoxelSupport", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationVoxelSupport | /MyObjectBuilder_WorldConfiguration/Settings/StationVoxelSupport", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Sun Rotation Interval", - "Category": "SE - Environment", - "Description": "Defines interval of one rotation of the sun. (0 - 1440)", - "Keywords": "Sun,Rotation,Interval,Minutes", - "FieldName": "SunRotationIntervalMinutes", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/SunRotationIntervalMinutes | /MyObjectBuilder_WorldConfiguration/Settings/SunRotationIntervalMinutes", - "IncludeInCommandLine": false, - "DefaultValue": "119.999992", - "Placeholder": "119.999992", - "MinValue": "0", - "MaxValue": "1440", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Sync Distance", - "Category": "SE - Environment", - "Description": "Defines synchronization distance in multiplayer. High distance can slow down server drastically. Use with caution. (1000 - 20000)", - "Keywords": "Sync,Distance", - "FieldName": "SyncDistance", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/SyncDistance | /MyObjectBuilder_WorldConfiguration/Settings/SyncDistance", - "IncludeInCommandLine": false, - "DefaultValue": "3000", - "Placeholder": "3000", - "MinValue": "1000", - "MaxValue": "20000", - "Suffix": "Meters", - "EnumValues": {} - }, - { - "DisplayName": "Bot Limit", - "Category": "SE - Environment", - "Description": "Maximum number of organic bots in the world. (16 - 1024)", - "Keywords": "bot,limit", - "FieldName": "TotalBotLimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/TotalBotLimit | /MyObjectBuilder_WorldConfiguration/Settings/TotalBotLimit", - "IncludeInCommandLine": false, - "DefaultValue": "32", - "Placeholder": "32", - "MinValue": "16", - "MaxValue": "1024", - "Suffix": "Bots", - "EnumValues": {} - }, - { - "DisplayName": "Voxel Generator Version", - "Category": "SE - Environment", - "Description": "Selects the voxel generator version.", - "Keywords": "Voxel,Generator,Version", - "FieldName": "VoxelGeneratorVersion", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelGeneratorVersion | /MyObjectBuilder_WorldConfiguration/Settings/VoxelGeneratorVersion", - "IncludeInCommandLine": false, - "DefaultValue": "4", - "EnumValues": { - "0": "0", - "1": "1", - "2": "2", - "3": "3", - "4": "4" - } - }, - { - "DisplayName": "Enable Weather System", - "Category": "SE - Environment", - "Description": "Enables automatic weather generation on planets.", - "Keywords": "Weather,System", - "FieldName": "WeatherSystem", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/WeatherSystem | /MyObjectBuilder_WorldConfiguration/Settings/WeatherSystem", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "World Size", - "Category": "SE - Environment", - "Description": "Defines the size of the world. (0 - 2147483647)", - "Keywords": "World,Size,Km", - "FieldName": "WorldSizeKm", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/WorldSizeKm | /MyObjectBuilder_WorldConfiguration/Settings/WorldSizeKm", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "MinValue": "0", - "MaxValue": "2147483647", - "Suffix": "Kilometers", - "EnumValues": {} - }, - { - "DisplayName": "Server Name", - "Category": "SE - General", - "Description": "Server Name displayed in the server browser.", - "Keywords": "Server,Name", - "FieldName": "ServerName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ServerName", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Server", - "Placeholder": "AMP Powered Server", - "EnumValues": {} - }, - { - "DisplayName": "World Name", - "Category": "SE - General", - "Description": "World Name displayed in server browser.", - "Keywords": "World,Name", - "FieldName": "WorldName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/WorldName", - "IncludeInCommandLine": false, - "DefaultValue": "World", - "Placeholder": "World", - "EnumValues": {} - }, - { - "DisplayName": "Steam Group ID", - "Category": "SE - General", - "Description": "Steam Group ID for friends only", - "Keywords": "Group,ID", - "FieldName": "GroupID", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/GroupID", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "123456789012345678", - "EnumValues": {} - }, - { - "DisplayName": "Server Password Hash", - "Category": "SE - General", - "Description": "Generate the password hash using the [Password Generator](https://sepg.einarjegorov.com/)", - "Keywords": "server,password,hash", - "FieldName": "ServerPasswordHash", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ServerPasswordHash", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Server Password Salt", - "Category": "SE - General", - "Description": "Generate the password salt using the [Password Generator](https://sepg.einarjegorov.com/)", - "Keywords": "server,password,salt", - "FieldName": "ServerPasswordSalt", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ServerPasswordSalt", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Pause Game When Empty", - "Category": "SE - General", - "Description": "", - "Keywords": "Pause,Game,When,Empty", - "FieldName": "PauseGameWhenEmpty", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/PauseGameWhenEmpty", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Ignore Last Session", - "Category": "SE - General", - "Description": "This will ignore the save file and load based on the config every time. This should not be used for survival mode, but can be useful to provide a new world each start for battle sessions.", - "Keywords": "Ignore,Last,Session", - "FieldName": "IgnoreLastSession", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/IgnoreLastSession", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Remote API", - "Category": "SE - General", - "Description": "Enable/Disable the remote API to manage the server from a browser. ***Does not work in AMP on Windows in service mode***", - "Keywords": "Remote,API,Enabled", - "FieldName": "RemoteApiEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/RemoteApiEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Remote API Security Key", - "Category": "SE - General", - "Description": "The password used to access the Remote API.", - "Keywords": "Remote,API,security,key", - "FieldName": "RemoteSecurityKey", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/RemoteSecurityKey", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Server Description", - "Category": "SE - General", - "Description": "Server Description displayed in the server browser.", - "Keywords": "Server,Description", - "FieldName": "ServerDescription", - "InputType": "Textarea", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ServerDescription", - "IncludeInCommandLine": false, - "DefaultValue": "My AMP Powered Space Engineers Server", - "Placeholder": "My AMP Powered Space Engineers Server", - "EnumValues": {} - }, - { - "DisplayName": "Verbose Network Logging", - "Category": "SE - General", - "Description": "Enables additional network logging.", - "Keywords": "Verbose,Network,Logging", - "FieldName": "VerboseNetworkLogging", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/VerboseNetworkLogging | /MyObjectBuilder_WorldConfiguration/VerboseNetworkLogging", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Console Compatibility", - "Category": "SE - General", - "Description": "Enables console players to cross-play with PC. Ensure \"Networking Type\" is set to EOS.", - "Keywords": "console,compatibility", - "FieldName": "ConsoleCompatibility", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ConsoleCompatibility", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Networking Type", - "Category": "SE - General", - "Description": "EOS must be selected for cross-platform play. Use in-game server browser filters to display Steam or EOS server lists.", - "Keywords": "Networking,Type", - "FieldName": "NetworkType", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/NetworkType | /MyObjectBuilder_WorldConfiguration/NetworkType", - "IncludeInCommandLine": false, - "DefaultValue": "steam", - "EnumValues": { - "steam": "Steam", - "eos": "EOS" - } - }, - { - "DisplayName": "Enable Chat Anti-Spam", - "Category": "SE - General", - "Description": "Enables anti-spam measures for in-game chat.", - "Keywords": "Chat,AntiSpam,Enabled", - "FieldName": "ChatAntiSpamEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/ChatAntiSpamEnabled | /MyObjectBuilder_WorldConfiguration/ChatAntiSpamEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Same Message Timeout", - "Category": "SE - General", - "Description": "Time between sending the same message before getting timed out.", - "Keywords": "Same,Message,Timeout", - "FieldName": "SameMessageTimeout", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SameMessageTimeout | /MyObjectBuilder_WorldConfiguration/SameMessageTimeout", - "IncludeInCommandLine": false, - "DefaultValue": "30", - "Placeholder": "30", - "Suffix": "Seconds", - "EnumValues": {} - }, - { - "DisplayName": "Spam Messages Time", - "Category": "SE - General", - "Description": "Time between sending multiple messages before getting timed out.", - "Keywords": "Spam,Messages,Time", - "FieldName": "SpamMessagesTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SpamMessagesTime | /MyObjectBuilder_WorldConfiguration/SpamMessagesTime", - "IncludeInCommandLine": false, - "DefaultValue": "0.5", - "Placeholder": "0.5", - "Suffix": "Seconds", - "EnumValues": {} - }, - { - "DisplayName": "Spam Messages Timeout", - "Category": "SE - General", - "Description": "How long to time out a user for spamming.", - "Keywords": "Spam,Messages,Timeout", - "FieldName": "SpamMessagesTimeout", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SpamMessagesTimeout | /MyObjectBuilder_WorldConfiguration/SpamMessagesTimeout", - "IncludeInCommandLine": false, - "DefaultValue": "60", - "Placeholder": "60", - "Suffix": "Seconds", - "EnumValues": {} - }, - { - "DisplayName": "Autodetect Mod Dependencies", - "Category": "SE - General", - "Description": "The server will detect mod dependencies and automatically download on startup.", - "Keywords": "Autodetect,mod,Dependencies", - "FieldName": "AutodetectDependencies", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/AutodetectDependencies | /MyObjectBuilder_WorldConfiguration/AutodetectDependencies", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Message Of The Day", - "Category": "SE - General", - "Description": "", - "Keywords": "Message,Of,The,Day", - "FieldName": "MessageOfTheDay", - "InputType": "Textarea", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/MessageOfTheDay", - "IncludeInCommandLine": false, - "DefaultValue": "Welcome to my Space Engineers Server, powered by AMP!", - "Placeholder": "Welcome to my Space Engineers Server, powered by AMP!", - "EnumValues": {} - }, - { - "DisplayName": "Message Of The Day URL", - "Category": "SE - General", - "Description": "", - "Keywords": "Message,Of,The,Day,Url", - "FieldName": "MessageOfTheDayUrl", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/MessageOfTheDayUrl", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "https://cubecoders.com/AMP", - "EnumValues": {} - }, - { - "DisplayName": "Log Chat", - "Category": "SE - General", - "Description": "Save chat messages to the log file.", - "Keywords": "Save,Chat,Log", - "FieldName": "SaveChatToLog", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SaveChatToLog", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Select World or Scenario", - "Category": "SE - General", - "Description": "Sets the World or Scenario to base the game on. If \"Custom\" is chosen, you must also fill in the Custom World or Custom Scenario fields.", - "Keywords": "select,scenario,premade,checkpoint,path", - "FieldName": "PremadeCheckpointPath", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/PremadeCheckpointPath", - "IncludeInCommandLine": false, - "DefaultValue": "../Content/CustomWorlds/Star System", - "EnumValues": { - "../Content/CustomWorlds/Alien Planet/PC": "Alien Planet [PC]", - "../Content/CustomWorlds/Alien System/XBox": "Alien System [XBOX]", - "../Content/CustomWorlds/Asteroid Armory": "Asteroid Armory", - "../Content/CustomWorlds/Crashed Red Ship": "Crashed Red Ship", - "../Content/CustomWorlds/{{CustomWorld}}": "Custom World", - "../Content/CustomWorlds/{{CustomScenario}}": "Custom Scenario", - "../Content/CustomWorlds/Dead Drop Arena": "Dead Drop Arena [PC]", - "../Content/CustomWorlds/Distant Moons": "Distant Moons [XBOX]", - "../Content/CustomWorlds/Earth Planet/PC": "Earth Planet [PC]", - "../Content/CustomWorlds/Earth Planet/XBox": "Earth Planet [XBOX]", - "../Content/CustomWorlds/Empty World": "Empty World", - "../Content/CustomWorlds/Green Station": "Green Station", - "../Content/CustomWorlds/Home System": "Home System", - "../Content/Scenarios/Learning to Survive": "Learning to Survive [Scenario]", - "../Content/CustomWorlds/Lone Survivor": "Lone Survivor", - "../Content/Scenarios/Lost Colony/PC": "Lost Colony [Scenario] [PC]", - "../Content/CustomWorlds/Mars Planet/PC": "Mars Planet [PC]", - "../Content/CustomWorlds/Mars Planet/XBox": "Mars Planet [XBOX]", - "../Content/CustomWorlds/Moon Base/PC": "Moon Base [PC]", - "../Content/CustomWorlds/Moon Base/XBox": "Moon Base [XBOX]", - "../Content/Scenarios/Never Surrender": "Never Surrender [Scenario]", - "../Content/CustomWorlds/Petram Orbiter": "Petram Orbiter", - "../Content/CustomWorlds/Red Ship": "Red Ship", - "../Content/CustomWorlds/Rival Platforms": "Rival Platforms", - "../Content/Scenarios/Scrap Race/PC": "Scrap Race [Scenario] [PC]", - "../Content/Scenarios/Scrap Race/XBox": "Scrap Race [Scenario] [XBOX]", - "../Content/Scenarios/Sparks of the Future/PC": "Sparks of the Future [Scenario] [PC]", - "../Content/Scenarios/Sparks of the Future/XBox": "Sparks of the Future [Scenario] [XBOX]", - "../Content/CustomWorlds/Star System": "Star System", - "../Content/Scenarios/The First Jump": "The First Jump [Scenario]", - "../Content/Scenarios/Warfare": "Warfare [Scenario]" - } - }, - { - "DisplayName": "Custom World", - "Category": "SE - General", - "Description": "Set this to the name of the folder you created under the \"CustomWorlds\" directory.", - "Keywords": "custom,world", - "FieldName": "CustomWorld", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "CustomWorld", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Custom Scenario", - "Category": "SE - General", - "Description": "Set this to the name of the folder you created under the \"Scenarios\" directory.", - "Keywords": "custom,scenario", - "FieldName": "CustomScenario", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "CustomScenario", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "View Distance", - "Category": "SE - General", - "Description": "Set the distance of how far each client can see objects.", - "Keywords": "View,Distance", - "FieldName": "ViewDistance", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ViewDistance | /MyObjectBuilder_WorldConfiguration/Settings/ViewDistance", - "IncludeInCommandLine": false, - "DefaultValue": "15000", - "Placeholder": "15000", - "Suffix": "Meters", - "EnumValues": {} - }, - { - "DisplayName": "Procedural Density", - "Category": "SE - General", - "Description": "Defines density of the procedurally generated content.", - "Keywords": "Procedural,Density", - "FieldName": "ProceduralDensity", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ProceduralDensity | /MyObjectBuilder_WorldConfiguration/Settings/ProceduralDensity", - "IncludeInCommandLine": false, - "DefaultValue": "0.35", - "Placeholder": "0.35", - "EnumValues": {} - }, - { - "DisplayName": "Procedural Seed", - "Category": "SE - General", - "Description": "Defines unique starting seed for the procedurally generated content.", - "Keywords": "Procedural,Seed", - "FieldName": "ProceduralSeed", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ProceduralSeed | /MyObjectBuilder_WorldConfiguration/Settings/ProceduralSeed", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "Scenario Edit Mode", - "Category": "SE - General", - "Description": "", - "Keywords": "Scenario,Edit,Mode", - "FieldName": "ScenarioEditMode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ScenarioEditMode | /MyObjectBuilder_WorldConfiguration/Settings/ScenarioEditMode", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Scenario", - "Category": "SE - General", - "Description": "The left side of the screen presents various options for the starting conditions of the world.", - "Keywords": "Scenario", - "FieldName": "Scenario", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/Scenario | /MyObjectBuilder_WorldConfiguration/Settings/Scenario", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Can Join Running", - "Category": "SE - General", - "Description": "Whether players can join a running server.", - "Keywords": "Can,Join,Running", - "FieldName": "CanJoinRunning", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/CanJoinRunning | /MyObjectBuilder_WorldConfiguration/Settings/CanJoinRunning", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Start In Respawn Screen", - "Category": "SE - General", - "Description": "", - "Keywords": "Start,Respawn,Screen", - "FieldName": "StartInRespawnScreen", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StartInRespawnScreen | /MyObjectBuilder_WorldConfiguration/Settings/StartInRespawnScreen", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Flora Density Multiplier", - "Category": "SE - General", - "Description": "", - "Keywords": "Flora Density Multiplier", - "FieldName": "FloraDensityMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/FloraDensityMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/FloraDensityMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "Placeholder": "1", - "Suffix": "x", - "EnumValues": {} - }, - { - "DisplayName": "Enable Structural Simulation", - "Category": "SE - General", - "Description": "", - "Keywords": "Enable,Structural,Simulation", - "FieldName": "EnableStructuralSimulation", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableStructuralSimulation | /MyObjectBuilder_WorldConfiguration/Settings/EnableStructuralSimulation", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Max Active Fracture Pieces", - "Category": "SE - General", - "Description": "", - "Keywords": "Max,Active,Fracture,Pieces", - "FieldName": "MaxActiveFracturePieces", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxActiveFracturePieces | /MyObjectBuilder_WorldConfiguration/Settings/MaxActiveFracturePieces", - "IncludeInCommandLine": false, - "DefaultValue": "50", - "Placeholder": "50", - "Suffix": "Pieces", - "EnumValues": {} - }, - { - "DisplayName": "Deposits Count Coefficient", - "Category": "SE - General", - "Description": "", - "Keywords": "Deposits,Count,Coefficient", - "FieldName": "DepositsCountCoefficient", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/DepositsCountCoefficient | /MyObjectBuilder_WorldConfiguration/Settings/DepositsCountCoefficient", - "IncludeInCommandLine": false, - "DefaultValue": "2", - "Placeholder": "2", - "EnumValues": {} - }, - { - "DisplayName": "Deposit Size Denominator", - "Category": "SE - General", - "Description": "", - "Keywords": "Deposit,Size,Denominator", - "FieldName": "DepositSizeDenominator", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/DepositSizeDenominator | /MyObjectBuilder_WorldConfiguration/Settings/DepositSizeDenominator", - "IncludeInCommandLine": false, - "DefaultValue": "30", - "Placeholder": "30", - "EnumValues": {} - }, - { - "DisplayName": "Adjustable Max Vehicle Speed", - "Category": "SE - General", - "Description": "", - "Keywords": "Adjustable,Max,Vehicle,Speed", - "FieldName": "AdjustableMaxVehicleSpeed", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AdjustableMaxVehicleSpeed | /MyObjectBuilder_WorldConfiguration/Settings/AdjustableMaxVehicleSpeed", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Faction Player Names", - "Category": "SE - General", - "Description": "", - "Keywords": "Enable,Faction,Player,Names", - "FieldName": "EnableFactionPlayerNames", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableFactionPlayerNames | /MyObjectBuilder_WorldConfiguration/Settings/EnableFactionPlayerNames", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Asteroid Amount", - "Category": "SE - General", - "Description": "", - "Keywords": "Asteroid,Amount", - "FieldName": "AsteroidAmount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/AsteroidAmount", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "Suffix": "Asteroids", - "EnumValues": {} - }, - { - "DisplayName": "Assembler Efficiency", - "Category": "SE - Multipliers", - "Description": "The multiplier for assembler efficiency. (1 - 100)", - "Keywords": "Assembler,Efficiency,Multiplier", - "FieldName": "AssemblerEfficiencyMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AssemblerEfficiencyMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/AssemblerEfficiencyMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "3", - "Placeholder": "3", - "MinValue": "1", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Assembler Speed", - "Category": "SE - Multipliers", - "Description": "The multiplier for assembler speed. (1 - 100)", - "Keywords": "Assembler,speed,Multiplier", - "FieldName": "AssemblerSpeedMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AssemblerSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/AssemblerSpeedMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "3", - "Placeholder": "3", - "MinValue": "1", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Blocks Inventory Size", - "Category": "SE - Multipliers", - "Description": "The multiplier for inventory size for the blocks. (1 - 100)", - "Keywords": "Blocks,Inventory,Size,Multiplier", - "FieldName": "BlocksInventorySizeMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/BlocksInventorySizeMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/BlocksInventorySizeMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "Placeholder": "1", - "MinValue": "1", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Grinder Speed", - "Category": "SE - Multipliers", - "Description": "The multiplier for grinder speed. (0 - 100)", - "Keywords": "Grinder,Speed,Multiplier", - "FieldName": "GrinderSpeedMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/GrinderSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/GrinderSpeedMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "2", - "Placeholder": "2", - "MinValue": "0", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Hacking Speed", - "Category": "SE - Multipliers", - "Description": "The multiplier for hacking speed. (0 - 100)", - "Keywords": "Hacking,Speed,Multiplier", - "FieldName": "HackSpeedMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/HackSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/HackSpeedMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "0.33", - "Placeholder": "0.33", - "MinValue": "0", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Harvest Ratio Multiplier", - "Category": "SE - Multipliers", - "Description": "The ratio multiplier for drills. (0 - 100)", - "Keywords": "Harvest,Ratio,Multiplier", - "FieldName": "HarvestRatioMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/HarvestRatioMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/HarvestRatioMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "Placeholder": "1", - "MinValue": "0", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Character Inventory Size", - "Category": "SE - Multipliers", - "Description": "The multiplier for the inventory size for the characters. (1 - 100)", - "Keywords": "character,inventory,Size,Multiplier", - "FieldName": "InventorySizeMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/InventorySizeMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/InventorySizeMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "3", - "Placeholder": "3", - "MinValue": "1", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Refinery Speed", - "Category": "SE - Multipliers", - "Description": "The multiplier for refinery speed. (1 - 100)", - "Keywords": "Refinery,Speed,Multiplier", - "FieldName": "RefinerySpeedMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/RefinerySpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/RefinerySpeedMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "3", - "Placeholder": "3", - "MinValue": "1", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Welder Speed", - "Category": "SE - Multipliers", - "Description": "The multiplier for welder speed. (0 - 100)", - "Keywords": "Welder,Speed,Multiplier", - "FieldName": "WelderSpeedMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/WelderSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/WelderSpeedMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "2", - "Placeholder": "2", - "MinValue": "0", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Enable Cargo Ships", - "Category": "SE - NPCs", - "Description": "Enables spawning of cargo ships.", - "Keywords": "Cargo,Ships,Enabled", - "FieldName": "CargoShipsEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/CargoShipsEnabled | /MyObjectBuilder_WorldConfiguration/Settings/CargoShipsEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Economy Tick Time", - "Category": "SE - NPCs", - "Description": "Time period between two economy updates. (300 - 3600)", - "Keywords": "Economy,Tick,In,Seconds", - "FieldName": "EconomyTickInSeconds", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EconomyTickInSeconds | /MyObjectBuilder_WorldConfiguration/Settings/EconomyTickInSeconds", - "IncludeInCommandLine": false, - "DefaultValue": "1200", - "Placeholder": "1200", - "MinValue": "300", - "MaxValue": "3600", - "Suffix": "Seconds", - "EnumValues": {} - }, - { - "DisplayName": "Enable Drones", - "Category": "SE - NPCs", - "Description": "Enable spawning of drones in the world.", - "Keywords": "Enable,Drones", - "FieldName": "EnableDrones", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableDrones | /MyObjectBuilder_WorldConfiguration/Settings/EnableDrones", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Max Drones", - "Category": "SE - General", - "Description": "", - "Keywords": "Max,Drones", - "FieldName": "MaxDrones", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxDrones | /MyObjectBuilder_WorldConfiguration/Settings/MaxDrones", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "Placeholder": "5", - "Suffix": "Drones", - "EnumValues": {} - }, - { - "DisplayName": "Enable Economy", - "Category": "SE - NPCs", - "Description": "Enables economy features.", - "Keywords": "Enable,Economy", - "FieldName": "EnableEconomy", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableEconomy | /MyObjectBuilder_WorldConfiguration/Settings/EnableEconomy", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Encounters", - "Category": "SE - NPCs", - "Description": "Enables random encounters in the world.", - "Keywords": "Enable,Encounters", - "FieldName": "EnableEncounters", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableEncounters | /MyObjectBuilder_WorldConfiguration/Settings/EnableEncounters", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Spiders", - "Category": "SE - NPCs", - "Description": "Enables spawning of spiders in the world.", - "Keywords": "Enable,Spiders", - "FieldName": "EnableSpiders", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSpiders | /MyObjectBuilder_WorldConfiguration/Settings/EnableSpiders", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Wolves", - "Category": "SE - NPCs", - "Description": "Enables spawning of wolves in the world.", - "Keywords": "Enable,Wolves", - "FieldName": "EnableWolfs", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableWolfs | /MyObjectBuilder_WorldConfiguration/Settings/EnableWolfs", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Stations Inner Radius", - "Category": "SE - NPCs", - "Description": "The inner radius [m] (center is in 0,0,0), where stations can spawn. Does not affect planet-bound stations (Surface Outposts and Orbital Stations). (200000 - 9223372036854780000)", - "Keywords": "Stations,Distance,Inner,Radius", - "FieldName": "StationsDistanceInnerRadius", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationsDistanceInnerRadius | /MyObjectBuilder_WorldConfiguration/Settings/StationsDistanceInnerRadius", - "IncludeInCommandLine": false, - "DefaultValue": "10000000", - "Placeholder": "10000000", - "MinValue": "200000", - "Suffix": "Meters", - "EnumValues": {} - }, - { - "DisplayName": "Stations Outer Radius Start", - "Category": "SE - NPCs", - "Description": "The outer radius [m] (center is in 0,0,0), where stations can spawn. Does not affect planet-bound stations (Surface Outposts and Orbital Stations). (500000 - 9223372036854780000)", - "Keywords": "Stations,Distance,Outer,Radius,Start", - "FieldName": "StationsDistanceOuterRadiusStart", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationsDistanceOuterRadiusStart | /MyObjectBuilder_WorldConfiguration/Settings/StationsDistanceOuterRadiusStart", - "IncludeInCommandLine": false, - "DefaultValue": "10000000", - "Placeholder": "10000000", - "MinValue": "500000", - "Suffix": "Meters", - "EnumValues": {} - }, - { - "DisplayName": "Stations Outer Radius End", - "Category": "SE - NPCs", - "Description": "The outer radius [m] (center is in 0,0,0), where stations can spawn. Does not affect planet-bound stations (Surface Outposts and Orbital Stations). (1000000 - 9223372036854780000)", - "Keywords": "Stations,Distance,Outer,Radius,End", - "FieldName": "StationsDistanceOuterRadiusEnd", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StationsDistanceOuterRadiusEnd | /MyObjectBuilder_WorldConfiguration/Settings/StationsDistanceOuterRadiusEnd", - "IncludeInCommandLine": false, - "DefaultValue": "30000000", - "Placeholder": "30000000", - "MinValue": "1000000", - "Suffix": "Meters", - "EnumValues": {} - }, - { - "DisplayName": "NPC Factions Count", - "Category": "SE - NPCs", - "Description": "The number of NPC factions generated on the start of the world. (8 - 100)", - "Keywords": "Trade,Factions,Count", - "FieldName": "TradeFactionsCount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/TradeFactionsCount | /MyObjectBuilder_WorldConfiguration/Settings/TradeFactionsCount", - "IncludeInCommandLine": false, - "DefaultValue": "15", - "Placeholder": "15", - "MinValue": "8", - "MaxValue": "100", - "Suffix": "Factions", - "EnumValues": {} - }, - { - "DisplayName": "Adaptive Simulation Quality", - "Category": "SE - Others", - "Description": "Enables adaptive simulation quality system. This system is useful if you have a lot of voxel deformations in the world and a low simulation speed.", - "Keywords": "Adaptive,Simulation,Quality", - "FieldName": "AdaptiveSimulationQuality", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AdaptiveSimulationQuality | /MyObjectBuilder_WorldConfiguration/Settings/AdaptiveSimulationQuality", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Autosave Interval", - "Category": "SE - Others", - "Description": "Defines autosave interval.", - "Keywords": "Autosave,interval", - "FieldName": "AutoSaveInMinutes", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AutoSaveInMinutes | /MyObjectBuilder_WorldConfiguration/Settings/AutoSaveInMinutes", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "Placeholder": "5", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Enable Drop Containers", - "Category": "SE - Others", - "Description": "Enable drop containers (unknown signals).", - "Keywords": "Enable,Container,Drops", - "FieldName": "EnableContainerDrops", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableContainerDrops | /MyObjectBuilder_WorldConfiguration/Settings/EnableContainerDrops", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Convert To Station", - "Category": "SE - Others", - "Description": "Enables possibility of converting grid to station.", - "Keywords": "Enable,Convert,Station", - "FieldName": "EnableConvertToStation", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableConvertToStation | /MyObjectBuilder_WorldConfiguration/Settings/EnableConvertToStation", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Good.bot Hints", - "Category": "SE - Others", - "Description": "Enables Good.bot hints in the world. If user has diabled hints, this will not override that.", - "Keywords": "Enable,Good,Bot,Hints", - "FieldName": "EnableGoodBotHints", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableGoodBotHints | /MyObjectBuilder_WorldConfiguration/Settings/EnableGoodBotHints", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Ingame Scripts", - "Category": "SE - Others", - "Description": "Allows scripts loaded from in game computer terminals to work.", - "Keywords": "Enable,Ingame,Scripts", - "FieldName": "EnableIngameScripts", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableIngameScripts | /MyObjectBuilder_WorldConfiguration/Settings/EnableIngameScripts", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Scripter Role", - "Category": "SE - Others", - "Description": "Adds a Scritper role, only Scripters and higher ranks will be able to paste and modify scripts.", - "Keywords": "Enable,Scripter,Role", - "FieldName": "EnableScripterRole", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableScripterRole | /MyObjectBuilder_WorldConfiguration/Settings/EnableScripterRole", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Match", - "Category": "SE - Others", - "Description": "Enable component handling the match.", - "Keywords": "Enable,Match,Component", - "FieldName": "EnableMatchComponent", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableMatchComponent | /MyObjectBuilder_WorldConfiguration/Settings/EnableMatchComponent", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Remote Grid Removal", - "Category": "SE - Others", - "Description": "Enables possibility to remove grid remotely from the world by an author.", - "Keywords": "Enable,Remote,Grid,Block,Removal", - "FieldName": "EnableRemoteBlockRemoval", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableRemoteBlockRemoval | /MyObjectBuilder_WorldConfiguration/Settings/EnableRemoteBlockRemoval", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Progression", - "Category": "SE - Others", - "Description": "Enables research progression.", - "Keywords": "Enable,Progression,Research", - "FieldName": "EnableResearch", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableResearch | /MyObjectBuilder_WorldConfiguration/Settings/EnableResearch", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Respawn Ships", - "Category": "SE - Others", - "Description": "Enables respawn ships.", - "Keywords": "Enable,Respawn,Ships", - "FieldName": "EnableRespawnShips", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableRespawnShips | /MyObjectBuilder_WorldConfiguration/Settings/EnableRespawnShips", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Saving From Menu", - "Category": "SE - Others", - "Description": "Enables saving from the menu.", - "Keywords": "Enable,Saving,from,menu", - "FieldName": "EnableSaving", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSaving | /MyObjectBuilder_WorldConfiguration/Settings/EnableSaving", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Selective Physics Updates", - "Category": "SE - Others", - "Description": "When enabled game will update physics only in the specific clusters, which are necessary.", - "Keywords": "Enable,Selective,Physics,Updates", - "FieldName": "EnableSelectivePhysicsUpdates", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSelectivePhysicsUpdates | /MyObjectBuilder_WorldConfiguration/Settings/EnableSelectivePhysicsUpdates", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Spectator Camera", - "Category": "SE - Others", - "Description": "Enables spectator camera.", - "Keywords": "Enable,Spectator,camera", - "FieldName": "EnableSpectator", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSpectator | /MyObjectBuilder_WorldConfiguration/Settings/EnableSpectator", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Supergridding", - "Category": "SE - Others", - "Description": "Allows super gridding exploit to be used.", - "Keywords": "Enable,Supergridding", - "FieldName": "EnableSupergridding", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableSupergridding | /MyObjectBuilder_WorldConfiguration/Settings/EnableSupergridding", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Team Score Counters", - "Category": "SE - Others", - "Description": "Show team scores at the top of the screen.", - "Keywords": "Enable,team,score,counters", - "FieldName": "EnableTeamScoreCounters", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableTeamScoreCounters | /MyObjectBuilder_WorldConfiguration/Settings/EnableTeamScoreCounters", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Voxel Hand", - "Category": "SE - Others", - "Description": "Enables voxel hand.", - "Keywords": "Enable,Voxel,Hand", - "FieldName": "EnableVoxelHand", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableVoxelHand | /MyObjectBuilder_WorldConfiguration/Settings/EnableVoxelHand", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Experimental Mode", - "Category": "SE - Others", - "Description": "Enables experimental mode.", - "Keywords": "Experimental,Mode", - "FieldName": "ExperimentalMode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ExperimentalMode | /MyObjectBuilder_WorldConfiguration/Settings/ExperimentalMode", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Game Mode", - "Category": "SE - Others", - "Description": "The type of the game mode.", - "Keywords": "Game,Mode", - "FieldName": "GameMode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/GameMode | /MyObjectBuilder_WorldConfiguration/Settings/GameMode", - "IncludeInCommandLine": false, - "DefaultValue": "Survival", - "EnumValues": { - "Creative": "Creative", - "Survival": "Survival" - } - }, - { - "DisplayName": "Enable Infinite Ammunition in Survival", - "Category": "SE - Others", - "Description": "Enables infinite ammunition in survival game mode.", - "Keywords": "Infinite,Ammo,ammunition", - "FieldName": "InfiniteAmmo", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/InfiniteAmmo | /MyObjectBuilder_WorldConfiguration/Settings/InfiniteAmmo", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "PreMatch Duration", - "Category": "SE - Others", - "Description": "Duration of PreMatch phase of the match. (0 - 60000)", - "Keywords": "PreMatch,Duration", - "FieldName": "PreMatchDuration", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PreMatchDuration | /MyObjectBuilder_WorldConfiguration/Settings/PreMatchDuration", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "MinValue": "0", - "MaxValue": "60000", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Match Duration", - "Category": "SE - Others", - "Description": "Duration of Match phase of the match. (0 - 60000)", - "Keywords": "Match,Duration", - "FieldName": "MatchDuration", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MatchDuration | /MyObjectBuilder_WorldConfiguration/Settings/MatchDuration", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "MinValue": "0", - "MaxValue": "60000", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Post Match Duration", - "Category": "SE - Others", - "Description": "Duration of Post Match phase of the match. (0 - 60000)", - "Keywords": "Post,Match,Duration", - "FieldName": "PostMatchDuration", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PostMatchDuration | /MyObjectBuilder_WorldConfiguration/Settings/PostMatchDuration", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "MinValue": "0", - "MaxValue": "60000", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Max Backup Saves", - "Category": "SE - Others", - "Description": "Max number of backups", - "Keywords": "Max,Backup,Saves", - "FieldName": "MaxBackupSaves", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxBackupSaves | /MyObjectBuilder_WorldConfiguration/Settings/MaxBackupSaves", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "Placeholder": "5", - "Suffix": "Saves", - "EnumValues": {} - }, - { - "DisplayName": "Min Drop Container Respawn Time", - "Category": "SE - Others", - "Description": "Defines minimum respawn time for drop containers.", - "Keywords": "Min,Drop,Container,Respawn,Time", - "FieldName": "MinDropContainerRespawnTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MinDropContainerRespawnTime | /MyObjectBuilder_WorldConfiguration/Settings/MinDropContainerRespawnTime", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "Placeholder": "5", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Max Drop Container Respawn Time", - "Category": "SE - Others", - "Description": "Defines maximum respawn time for drop containers.", - "Keywords": "Max,Drop,Container,Respawn,Time", - "FieldName": "MaxDropContainerRespawnTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxDropContainerRespawnTime | /MyObjectBuilder_WorldConfiguration/Settings/MaxDropContainerRespawnTime", - "IncludeInCommandLine": false, - "DefaultValue": "20", - "Placeholder": "20", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Max Planet Types", - "Category": "SE - Others", - "Description": "Limit maximum number of types of planets in the world.", - "Keywords": "Max,Planets", - "FieldName": "MaxPlanets", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxPlanets | /MyObjectBuilder_WorldConfiguration/Settings/MaxPlanets", - "IncludeInCommandLine": false, - "DefaultValue": "99", - "Placeholder": "99", - "Suffix": "Types", - "EnumValues": {} - }, - { - "DisplayName": "Offensive Words Filtering", - "Category": "SE - Others", - "Description": "Filter offensive words from all input methods.", - "Keywords": "Offensive,Words,Filtering", - "FieldName": "OffensiveWordsFiltering", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/OffensiveWordsFiltering | /MyObjectBuilder_WorldConfiguration/Settings/OffensiveWordsFiltering", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Predefined Asteroids", - "Category": "SE - Others", - "Description": "To conserve memory, predefined asteroids has to be disabled on consoles.", - "Keywords": "Predefined,Asteroids", - "FieldName": "PredefinedAsteroids", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PredefinedAsteroids | /MyObjectBuilder_WorldConfiguration/Settings/PredefinedAsteroids", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Remove Respawn Ships on Logoff", - "Category": "SE - Others", - "Description": "When enabled respawn ship is removed after player logout.", - "Keywords": "Respawn,Ship,Delete", - "FieldName": "RespawnShipDelete", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/RespawnShipDelete | /MyObjectBuilder_WorldConfiguration/Settings/RespawnShipDelete", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Thruster Damage", - "Category": "SE - Others", - "Description": "Enables thruster damage.", - "Keywords": "Thruster,Damage", - "FieldName": "ThrusterDamage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ThrusterDamage | /MyObjectBuilder_WorldConfiguration/Settings/ThrusterDamage", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Use Console PCU", - "Category": "SE - Others", - "Description": "To conserve memory, some of the blocks have different PCU values for consoles.", - "Keywords": "Use,Console,PCU", - "FieldName": "UseConsolePCU", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/UseConsolePCU | /MyObjectBuilder_WorldConfiguration/Settings/UseConsolePCU", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Weapons", - "Category": "SE - Others", - "Description": "Enables weapons.", - "Keywords": "Weapons,Enabled", - "FieldName": "WeaponsEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/WeaponsEnabled | /MyObjectBuilder_WorldConfiguration/Settings/WeaponsEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Auto Healing", - "Category": "SE - Players", - "Description": "Auto-healing heals players only in oxygen environments and during periods of not taking damage.", - "Keywords": "Auto,Healing", - "FieldName": "AutoHealing", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AutoHealing | /MyObjectBuilder_WorldConfiguration/Settings/AutoHealing", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Backpack Despawn Timer", - "Category": "SE - Players", - "Description": "Sets the timer (minutes) for the backup to be removed from the world. Default is 5 minutes. (0 - 10)", - "Keywords": "Backpack,Despawn,Timer", - "FieldName": "BackpackDespawnTimer", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/BackpackDespawnTimer | /MyObjectBuilder_WorldConfiguration/Settings/BackpackDespawnTimer", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "Placeholder": "5", - "MinValue": "0", - "MaxValue": "10", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Character Speed Multiplier", - "Category": "SE - Players", - "Description": "Character speed multiplier. (.75 - 1)", - "Keywords": "Character,Speed,Multiplier", - "FieldName": "CharacterSpeedMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/CharacterSpeedMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/CharacterSpeedMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "Placeholder": "1", - "MinValue": "0", - "MaxValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "Enable 3rd Person Camera", - "Category": "SE - Players", - "Description": "Enables 3rd person camera.", - "Keywords": "Enable,3rd,Person,View", - "FieldName": "Enable3rdPersonView", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/Enable3rdPersonView | /MyObjectBuilder_WorldConfiguration/Settings/Enable3rdPersonView", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Autorespawn", - "Category": "SE - Players", - "Description": "Enables automatic respawn at nearest available respawn point.", - "Keywords": "Enable,Autorespawn", - "FieldName": "EnableAutorespawn", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableAutorespawn | /MyObjectBuilder_WorldConfiguration/Settings/EnableAutorespawn", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Bounty Contracts", - "Category": "SE - Players", - "Description": "If enabled bounty contracts will be available on stations.", - "Keywords": "Enable,Bounty,Contracts", - "FieldName": "EnableBountyContracts", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableBountyContracts | /MyObjectBuilder_WorldConfiguration/Settings/EnableBountyContracts", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Copy & Paste", - "Category": "SE - Players", - "Description": "Allows players to copy a ship, rover, station, and paste the copy into the world.", - "Keywords": "Enable,Copy,Paste", - "FieldName": "EnableCopyPaste", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableCopyPaste | /MyObjectBuilder_WorldConfiguration/Settings/EnableCopyPaste", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Gamepad Aim Assist", - "Category": "SE - Players", - "Description": "Enables aim assist for gamepad.", - "Keywords": "Enable,Gamepad,Aim,Assist", - "FieldName": "EnableGamepadAimAssist", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableGamepadAimAssist | /MyObjectBuilder_WorldConfiguration/Settings/EnableGamepadAimAssist", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Jetpack", - "Category": "SE - Players", - "Description": "Enables jetpack.", - "Keywords": "Enable,Jetpack", - "FieldName": "EnableJetpack", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableJetpack | /MyObjectBuilder_WorldConfiguration/Settings/EnableJetpack", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable PCU Trading", - "Category": "SE - Players", - "Description": "Enables trading of PCUs between players or factions depending on PCU settings.", - "Keywords": "Enable,PCU,Trading", - "FieldName": "EnablePcuTrading", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnablePcuTrading | /MyObjectBuilder_WorldConfiguration/Settings/EnablePcuTrading", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Weapon Recoil", - "Category": "SE - Players", - "Description": "Enables weapon recoil.", - "Keywords": "Enable,Recoil", - "FieldName": "EnableRecoil", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableRecoil | /MyObjectBuilder_WorldConfiguration/Settings/EnableRecoil", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Tool Shake", - "Category": "SE - Players", - "Description": "Enables tool shake feature.", - "Keywords": "Enable,Tool,Shake", - "FieldName": "EnableToolShake", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableToolShake | /MyObjectBuilder_WorldConfiguration/Settings/EnableToolShake", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Environment Damage Multiplier", - "Category": "SE - Players", - "Description": "This multiplier only applies for damage caused to the player by the environment. (max 2)", - "Keywords": "Environment,Damage,Multiplier", - "FieldName": "EnvironmentDamageMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnvironmentDamageMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/EnvironmentDamageMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "MaxValue": "2", - "EnumValues": {} - }, - { - "DisplayName": "Enable Family Sharing", - "Category": "SE - Players", - "Description": "Enables shared accounts to join multiplayer games.", - "Keywords": "Family,Sharing", - "FieldName": "FamilySharing", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/FamilySharing | /MyObjectBuilder_WorldConfiguration/Settings/FamilySharing", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Max Players", - "Category": "SE - Players", - "Description": "The maximum number of connected players. (2 - 64)", - "Keywords": "Max,Players,users", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/MaxPlayers | /MyObjectBuilder_WorldConfiguration/Settings/MaxPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "4", - "Placeholder": "4", - "MinValue": "2", - "MaxValue": "64", - "Suffix": "Players", - "EnumValues": {} - }, - { - "DisplayName": "Optimal Respawn Distance", - "Category": "SE - Players", - "Description": "Sets optimal distance in meters the game should take into consideration when spawning new player near others.", - "Keywords": "Optimal,Respawn,Distance", - "FieldName": "OptimalSpawnDistance", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/OptimalSpawnDistance | /MyObjectBuilder_WorldConfiguration/Settings/OptimalSpawnDistance", - "IncludeInCommandLine": false, - "DefaultValue": "16000", - "Placeholder": "16000", - "Suffix": "Meters", - "EnumValues": {} - }, - { - "DisplayName": "Permanent Death", - "Category": "SE - Players", - "Description": "Enables permanent death.", - "Keywords": "permanent,death", - "FieldName": "PermanentDeath", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PermanentDeath | /MyObjectBuilder_WorldConfiguration/Settings/PermanentDeath", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Reset Ownership", - "Category": "SE - Players", - "Description": "Reset ownership of all blocks to nobody.", - "Keywords": "Reset,Ownership", - "FieldName": "ResetOwnership", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ResetOwnership | /MyObjectBuilder_WorldConfiguration/Settings/ResetOwnership", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Show Player Names On HUD", - "Category": "SE - Players", - "Description": "If enabled, nearby players will have their names displayed.", - "Keywords": "Show,Player,Names,Hud", - "FieldName": "ShowPlayerNamesOnHud", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/ShowPlayerNamesOnHud | /MyObjectBuilder_WorldConfiguration/Settings/ShowPlayerNamesOnHud", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Respawn Ship Time Multiplier", - "Category": "SE - Players", - "Description": "The multiplier for respawn ship timer. (0 - 100)", - "Keywords": "Spawn,Ship,Time,Multiplier", - "FieldName": "SpawnShipTimeMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/SpawnShipTimeMultiplier | /MyObjectBuilder_WorldConfiguration/Settings/SpawnShipTimeMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "MinValue": "0", - "MaxValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "Spawn With Tools", - "Category": "SE - Players", - "Description": "Enables spawning with tools in the inventory.", - "Keywords": "Spawn,Tools", - "FieldName": "SpawnWithTools", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/SpawnWithTools | /MyObjectBuilder_WorldConfiguration/Settings/SpawnWithTools", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Friendly Fire", - "Category": "SE - PvP", - "Description": "Enables friendly fire damage.", - "Keywords": "Enable,Friendly,Fire", - "FieldName": "EnableFriendlyFire", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableFriendlyFire | /MyObjectBuilder_WorldConfiguration/Settings/EnableFriendlyFire", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Team Balancing", - "Category": "SE - PvP", - "Description": "Enables automatic team balancing.", - "Keywords": "Enable,Team,Balancing", - "FieldName": "EnableTeamBalancing", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/EnableTeamBalancing | /MyObjectBuilder_WorldConfiguration/Settings/EnableTeamBalancing", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "AFK Timeout", - "Category": "SE - Trash Removal", - "Description": "Defines time in minutes after which inactive players will be kicked. 0 is off.", - "Keywords": "AFK,Timeout,minutes", - "FieldName": "AFKTimeountMin", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/AFKTimeountMin | /MyObjectBuilder_WorldConfiguration/Settings/AFKTimeountMin", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Block Count Threshold", - "Category": "SE - Trash Removal", - "Description": "Defines block count threshold for trash removal system.", - "Keywords": "Block,Count,Threshold", - "FieldName": "BlockCountThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/BlockCountThreshold | /MyObjectBuilder_WorldConfiguration/Settings/BlockCountThreshold", - "IncludeInCommandLine": false, - "DefaultValue": "20", - "Placeholder": "20", - "Suffix": "Blocks", - "EnumValues": {} - }, - { - "DisplayName": "Optimal Grid Count", - "Category": "SE - Trash Removal", - "Description": "By setting this, server will keep number of grids around this value. !WARNING! It ignores Powered and Fixed flags, Block count and lowers Distance from player. Set to 0 to disable.", - "Keywords": "Optimal,Grid,Count", - "FieldName": "OptimalGridCount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/OptimalGridCount | /MyObjectBuilder_WorldConfiguration/Settings/OptimalGridCount", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "Suffix": "Grids", - "EnumValues": {} - }, - { - "DisplayName": "Character Removal Threshold", - "Category": "SE - Trash Removal", - "Description": "Defines character removal threshold for trash removal system. If player disconnects it will remove their character after this time. Set to 0 to disable.", - "Keywords": "Player,Character,Removal,Threshold", - "FieldName": "PlayerCharacterRemovalThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PlayerCharacterRemovalThreshold | /MyObjectBuilder_WorldConfiguration/Settings/PlayerCharacterRemovalThreshold", - "IncludeInCommandLine": false, - "DefaultValue": "15", - "Placeholder": "15", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Player Distance Threshold", - "Category": "SE - Trash Removal", - "Description": "Defines Player Distance Threshold for trash removal system.", - "Keywords": "Player,Distance,Threshold", - "FieldName": "PlayerDistanceThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PlayerDistanceThreshold | /MyObjectBuilder_WorldConfiguration/Settings/PlayerDistanceThreshold", - "IncludeInCommandLine": false, - "DefaultValue": "500", - "Placeholder": "500", - "Suffix": "Meters", - "EnumValues": {} - }, - { - "DisplayName": "Player Inactivity Threshold", - "Category": "SE - Trash Removal", - "Description": "Defines player inactivity (time from logout) threshold for trash removal system. !WARNING! This will remove all grids of the player. Set to 0 to disable.", - "Keywords": "Player,Inactivity,Threshold", - "FieldName": "PlayerInactivityThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/PlayerInactivityThreshold | /MyObjectBuilder_WorldConfiguration/Settings/PlayerInactivityThreshold", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "Suffix": "Hours", - "EnumValues": {} - }, - { - "DisplayName": "Remove Old Identities", - "Category": "SE - Trash Removal", - "Description": "Defines time in hours after which inactive identities that do not own any grids will be removed. Set to 0 to disable.", - "Keywords": "Remove,Old,Identities", - "FieldName": "RemoveOldIdentitiesH", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/RemoveOldIdentitiesH | /MyObjectBuilder_WorldConfiguration/Settings/RemoveOldIdentitiesH", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "Suffix": "Hours", - "EnumValues": {} - }, - { - "DisplayName": "Stop Grids Period", - "Category": "SE - Trash Removal", - "Description": "Defines time in minutes after which grids will be stopped if far from player. Set to 0 to disable.", - "Keywords": "Stop,Grids,Period", - "FieldName": "StopGridsPeriodMin", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/StopGridsPeriodMin | /MyObjectBuilder_WorldConfiguration/Settings/StopGridsPeriodMin", - "IncludeInCommandLine": false, - "DefaultValue": "15", - "Placeholder": "15", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Trash Removal Flags Value", - "Category": "SE - Trash Removal", - "Description": "Determined by the combination of checkboxes chosen from the Server Launcher.", - "Keywords": "Trash,Flags,Value", - "FieldName": "TrashFlagsValue", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/TrashFlagsValue | /MyObjectBuilder_WorldConfiguration/Settings/TrashFlagsValue", - "IncludeInCommandLine": false, - "DefaultValue": "1562", - "Placeholder": "1562", - "EnumValues": {} - }, - { - "DisplayName": "Trash Removal Enabled", - "Category": "SE - Trash Removal", - "Description": "Enable trash removal system.", - "Keywords": "Trash,Removal,Enabled", - "FieldName": "TrashRemovalEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/TrashRemovalEnabled | /MyObjectBuilder_WorldConfiguration/Settings/TrashRemovalEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Voxel Age", - "Category": "SE - Trash Removal", - "Description": "Only voxel chunks that have been modified longer than this time may be reverted.", - "Keywords": "Voxel,Age,Threshold", - "FieldName": "VoxelAgeThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelAgeThreshold | /MyObjectBuilder_WorldConfiguration/Settings/VoxelAgeThreshold", - "IncludeInCommandLine": false, - "DefaultValue": "24", - "Placeholder": "24", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Distance Voxel From Grid", - "Category": "SE - Trash Removal", - "Description": "Only voxel chunks that are further from grid will be reverted.", - "Keywords": "Voxel,Grid,Distance,Threshold", - "FieldName": "VoxelGridDistanceThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelGridDistanceThreshold | /MyObjectBuilder_WorldConfiguration/Settings/VoxelGridDistanceThreshold", - "IncludeInCommandLine": false, - "DefaultValue": "5000", - "Placeholder": "5000", - "Suffix": "Meters", - "EnumValues": {} - }, - { - "DisplayName": "Distance Voxel From Player", - "Category": "SE - Trash Removal", - "Description": "Only voxel chunks that are further from player will be reverted.", - "Keywords": "Voxel,Player,distance,Threshold", - "FieldName": "VoxelPlayerDistanceThreshold", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelPlayerDistanceThreshold | /MyObjectBuilder_WorldConfiguration/Settings/VoxelPlayerDistanceThreshold", - "IncludeInCommandLine": false, - "DefaultValue": "5000", - "Placeholder": "5000", - "Suffix": "Meters", - "EnumValues": {} - }, - { - "DisplayName": "Voxel Reverting Enabled", - "Category": "SE - Trash Removal", - "Description": "Enables system for voxel removal", - "Keywords": "Voxel,Trash,Removal,Reverting,Enabled", - "FieldName": "VoxelTrashRemovalEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "/MyConfigDedicated/SessionSettings/VoxelTrashRemovalEnabled | /MyObjectBuilder_WorldConfiguration/Settings/VoxelTrashRemovalEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - } -] \ No newline at end of file diff --git a/space-engineers-genericmetaconfig.json b/space-engineers-genericmetaconfig.json deleted file mode 100644 index 9251b21a2..000000000 --- a/space-engineers-genericmetaconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "ConfigFile": "./servers/SpaceEngineers-Dedicated.cfg", - "AutoMap": true, - "ConfigType": "xml" - }, - { - "ConfigFile": "./servers/Saves/{{WorldName}}/Sandbox_config.sbc", - "AutoMap": true, - "ConfigType": "xml" - } -] diff --git a/space-engineers-genericupdates.json b/space-engineers-genericupdates.json deleted file mode 100644 index 52ddebbfe..000000000 --- a/space-engineers-genericupdates.json +++ /dev/null @@ -1,74 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"298740", - "UpdateSourceArgs":"244850", - "UpdateSourceVersion":"{{Stream}}", - "ForceDownloadPlatform":"Windows" - }, - { - "UpdateStageName":"Create Config Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}servers", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Base Config Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/space-engineers-dedicated.cfg", - "UpdateSourceTarget":"{{$FullBaseDir}}servers", - "UpdateSourceArgs":"SpaceEngineers-Dedicated.cfg", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Mods Workaround 1", - "UpdateSourcePlatform":"All", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}DedicatedServer64/steamclient64.dll", - "UpdateSourceArgs":"{{$FullBaseDir}}steamclient64.dll", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Mods Workaround 2", - "UpdateSourcePlatform":"All", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}DedicatedServer64/tier0_s64.dll", - "UpdateSourceArgs":"{{$FullBaseDir}}tier0_s64.dll", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Mods Workaround 3", - "UpdateSourcePlatform":"All", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}DedicatedServer64/vstdlib_s64.dll", - "UpdateSourceArgs":"{{$FullBaseDir}}vstdlib_s64.dll", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Initialise Wine", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 WINEDEBUG=-all WINEDLLOVERRIDES=\"mscoree,mshtml=\" /usr/bin/wineboot --init --update'" - }, - { - "UpdateStageName":"Winescript Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/space-engineers-genericwinescript.sh", - "UpdateSourceArgs":"winescript.sh", - "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Install Windows Components", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"./winescript.sh" - } -] diff --git a/space-engineers-genericwinescript.sh b/space-engineers-genericwinescript.sh deleted file mode 100644 index 16f13037f..000000000 --- a/space-engineers-genericwinescript.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -SCRIPT_NAME=$(echo \"$0\" | xargs readlink -f) -SCRIPTDIR=$(dirname "$SCRIPT_NAME") - -exec 6>display.log -/usr/bin/Xvfb -displayfd 6 & -XVFB_PID=$! -while [[ ! -s display.log ]]; do - sleep 1 -done -read -r DPY_NUM < display.log -rm display.log - -wget -N https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks -chmod +x winetricks - -export WINEPREFIX="$SCRIPTDIR/space-engineers-generic/.wine" -export WINEDLLOVERRIDES="mscoree,mshtml=" -export WINEARCH=win64 -export WINEDEBUG=fixme-all -export DISPLAY=:$DPY_NUM -./winetricks corefonts > winescript_log.txt 2>&1 -./winetricks sound=disabled >> winescript_log.txt 2>&1 -./winetricks -q vcrun2013 >> winescript_log.txt 2>&1 -./winetricks -q vcrun2019 >> winescript_log.txt 2>&1 -./winetricks -q dotnet48 >> winescript_log.txt 2>&1 -rm -rf ~/.cache/winetricks ~/.cache/fontconfig - -exec 6>&- -kill $XVFB_PID - -exit 0 diff --git a/squad-dedicated-server.kvp b/squad-dedicated-server.kvp deleted file mode 100644 index f581251f9..000000000 --- a/squad-dedicated-server.kvp +++ /dev/null @@ -1,43 +0,0 @@ -App.AdminMethod=SourceRCON -App.ApplicationPort1=7787 -App.ApplicationPort2=27165 -App.ApplicationPort3=0 -App.ApplicationReadyMode=RegexMatch -App.BaseDirectory=./squad-dedicated-server/403240/ -App.CommandLineArgs=MULTIHOME={{$ApplicationIPBinding}} Port={{$ApplicationPort1}} QueryPort={{$ApplicationPort2}} RCONPORT={{$RemoteAdminPort}} RCONPASSWORD={{$RemoteAdminPassword}} FIXEDMAXTICKRATE={{MaxTPS}} -log -fullcrashdump -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat={0}="{1}" -App.DisplayName=Squad Dedicated Server -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}403240/linux64:%LD_LIBRARY_PATH%","SteamAppId":"393380"} -App.ExecutableLinux=403240/SquadGame/Binaries/Linux/SquadGameServer -App.ExecutableWin=403240\SquadGame\Binaries\Win64\SquadGameServer.exe -App.ExitMethod=OS_CLOSE -App.ExitString=stop -App.RCONConnectDelaySeconds=15 -App.RCONConnectRetrySeconds=45 -App.HasReadableConsole=true -App.HasWritableConsole=false -App.RapidStartup=false -App.RemoteAdminPort=21114 -App.RootDir=./squad-dedicated-server/ -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "403240", "UpdateSourceArgs": "393380"}] -App.WorkingDir=403240 -App.SteamWorkshopDownloadLocation={{$FullBaseDir}}SquadGame/Plugins/Mods -App.UseRandomAdminPassword=True -Console.AppReadyRegex=^(LogInit: Display: Starting Game\.)|(LogOnline: GotoState: NewState: Playing)$ -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserChatRegex=^\[Chat.*\] \[SteamID\:(?<userid>-?\d+)\] (?<username>.+?) \: (?<message>.+)$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Meta.Author=Shinynecrid,IceOfWraith,Southnode-Arc -Meta.ConfigManifest=squad-dedicated-serverconfig.json -Meta.MetaConfigManifest=squad-dedicated-servermetaconfig.json -Meta.ConfigRoot=squad-dedicated-server.kvp -Meta.MinAMPVersion=2.4.3.0 -Meta.Description=Squad Dedicated Server -Meta.DisplayImageSource=steam:393380 -Meta.DisplayName=Squad Dedicated Server -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} -Meta.OS=3 -Meta.URL=https://steamdb.info/app/403240/ diff --git a/squad-dedicated-serverconfig.json b/squad-dedicated-serverconfig.json deleted file mode 100644 index b35c469dd..000000000 --- a/squad-dedicated-serverconfig.json +++ /dev/null @@ -1,413 +0,0 @@ -[ - { - "DisplayName":"RCON Password", - "Category":"Server Config", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password", - "FieldName":"RCONPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"RCONPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName": "Server Name", - "Category": "Server Config", - "Description": "Set the Name for the server in the Server Browser", - "Keywords": "server name, name", - "FieldName": "ServerName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "ServerName", - "IncludeInCommandLine": false, - "DefaultValue": "A Squad Server Powered by AMP" - }, - { - "DisplayName": "Max Players", - "Category": "Server Config", - "Description": "Set the max players allowed on the server (minus reserved slots)", - "Keywords": "max players, players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaxPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "100", - "Suffix":"players", - "MinValue":"1" - }, - { - "DisplayName": "Max TPS", - "Category": "Server Config", - "Description": "Set the maximum tickrate for the server (Set below 45 for best stability)", - "Keywords": "tps, tickrate", - "FieldName": "MaxTPS", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaxTPS", - "IncludeInCommandLine": false, - "DefaultValue": "40", - "Suffix":"tps", - "MinValue":"10" - }, - { - "DisplayName": "LAN Mode", - "Category": "Server Config", - "Description": "Set the server to LAN mode", - "Keywords": "Lan,Server", - "FieldName": "IsLANMatch", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "IsLANMatch", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Should Advertise", - "Category": "Server Config", - "Description": "Control visibility in the server browser - disabling removes the server from the Server Browser", - "Keywords": "Visibility,Server", - "FieldName": "ShouldAdvertise", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "ShouldAdvertise", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Number of Reserved Slots", - "Category": "Server Config", - "Description": "Number of reserved slots for admins within the Admins.cfg file with the 'reserved' group permission", - "Keywords": "reserved players, players", - "FieldName": "NumReservedSlots", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "NumReservedSlots", - "IncludeInCommandLine": false, - "DefaultValue": "0" - }, - { - "DisplayName": "Public Queue Limit", - "Category": "Server Config", - "Description": "Size of the server queuing, for regular user (Setting this to 0 disables the ability for players to join the server)", - "Keywords": "queue,players", - "FieldName": "PublicQueueLimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "PublicQueueLimit", - "IncludeInCommandLine": false, - "DefaultValue": "25" - }, - { - "DisplayName": "Map Rotation Mode", - "Category": "Server Config", - "Description": "Map rotation mode: Can Be, Level ListLevelList(use order in level rotation config file),LayerList (use order in layer rotation config file) or LevelList_Randomized,LayerList_Randomized ", - "Keywords": "Map Rotation,Rotation", - "FieldName": "MapRotationMode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "MapRotationMode", - "IncludeInCommandLine": false, - "DefaultValue": "LayerList", - "EnumValues": { - "LevelList": "LevelList", - "LayerList": "LayerList", - "LevelList_Randomized": "LevelList_Randomized", - "LayerList_Randomized": "LayerList_Randomized" - }, - "SkipIfEmpty": false - }, - { - "DisplayName": "Randomize At Start", - "Category": "Server Config", - "Description": "Should the Map/Layer rotations list be randomized at start?", - "Keywords": "Map Rotation,Rotation", - "FieldName": "RandomizeAtStart", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "RandomizeAtStart", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Use Vote Factions", - "Category": "Server Config", - "Description": "Should Faction be voted for on generic layers?", - "Keywords": "Factions,Vote", - "FieldName": "UseVoteFactions", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "UseVoteFactions", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Vote for map at end of round", - "Category": "Server Config", - "Description": "Should next Map be voted for at end of round?", - "Keywords": "Map,Vote", - "FieldName": "UseVoteLevel", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "UseVoteLevel", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Vote for layer at end of round", - "Category": "Server Config", - "Description": "Should next Layer be voted for at end of round?", - "Keywords": "Layer,Vote", - "FieldName": "UseVoteLayer", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "UseVoteLayer", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Allow Team Change", - "Category": "Server Config", - "Description": "Completly Allow or Disallow Team change to all players. Only users with 'balance' permission within Admins.cfg can bypass this flag", - "Keywords": "Layer,Vote", - "FieldName": "AllowTeamChanges", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowTeamChanges", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Prevent Team Change If Unbalanced", - "Category": "Server Config", - "Description": "If set to false, players can change teams regardless of team balance. Otherwise, the NumPlayersDiffForTeamChanges Value is used", - "Keywords": "Layer,Vote", - "FieldName": "PreventTeamChangeIfUnbalanced", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "PreventTeamChangeIfUnbalanced", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Max Allowed Difference in player count", - "Category": "Server Config", - "Description": "Maximum Allowed difference in player count between teams. This takes into account the team the player leaves and the team the player joins", - "Keywords": "queue,players", - "FieldName": "NumPlayersDiffForTeamChanges", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "NumPlayersDiffForTeamChanges", - "IncludeInCommandLine": false, - "DefaultValue": "3" - }, - { - "DisplayName": "Rejoin Squad Delay After Kick", - "Category": "Server Config", - "Description": "Sets the delay after which a player is allowed to rejoin a squad after being kicked.", - "Keywords": "delay,players,kick", - "FieldName": "RejoinSquadDelayAfterKick", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "RejoinSquadDelayAfterKick", - "IncludeInCommandLine": false, - "DefaultValue": "180", - "Suffix":"seconds" - }, - { - "DisplayName": "Record Demos - Server", - "Category": "Server Config", - "Description": "Enable Demo Recording Server-side - the server will save a demo of every match", - "Keywords": "Record,Demo", - "FieldName": "RecordDemos", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "RecordDemos", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Record Demos - Client", - "Category": "Server Config", - "Description": "Enable Demo Recording Client-side, allowing players to record demos of matches", - "Keywords": "Record,Demo", - "FieldName": "AllowPublicClientsToRecord", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowPublicClientsToRecord", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Server Message Interval", - "Category": "Server Config", - "Description": "Frequency in which the server displays the information inside the ServerMessages.cfg file as a broadcast to all players", - "Keywords": "Interval, Message", - "FieldName": "ServerMessageInterval", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerMessageInterval", - "IncludeInCommandLine": false, - "DefaultValue": "300", - "Suffix":"seconds" - }, - { - "DisplayName": "Force Server Non-Seamless Travel", - "Category": "Server Config", - "Description": "Forces the server to do non-seamless travel (disconnect when changing maps) every X seconds", - "Keywords": "travel", - "FieldName": "ForceNonSeamlessTravelIntervalSeconds", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ForceNonSeamlessTravelIntervalSeconds", - "IncludeInCommandLine": false, - "DefaultValue": "43200", - "SkipIfEmpty": true - }, - { - "DisplayName": "Team Kill Auto Kick Enabled", - "Category": "Server Config", - "Description": "Enable Auto Kick for teamkilling", - "Keywords": "Kick,Auto,Team,Kill", - "FieldName": "TKAutoKickEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "TKAutoKickEnabled", - "DefaultValue": "True", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Auto Team Kill Ban Number", - "Category": "Server Config", - "Description": "Maximum allowed teamkills before an automatic ban", - "Keywords": "Interval, Message", - "FieldName": "AutoTKBanNumberTKs", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "AutoTKBanNumberTKs", - "IncludeInCommandLine": false, - "DefaultValue": "7" - }, - { - "DisplayName": "Auto Team Kill Ban Timer", - "Category": "Server Config", - "Description": "Time a teamkiling player is banned for before being allowed to rejoin match.", - "Keywords": "Interval,Message,Time", - "FieldName": "AutoTKBanTime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "AutoTKBanTime", - "IncludeInCommandLine": false, - "DefaultValue": "300", - "Suffix":"seconds" - }, - { - "DisplayName": "Vehicle Kit Requirement Disabled", - "Category": "Server Config", - "Description": "Toggle to disable vehicle kit requirement", - "Keywords": "Vehicle,Kit", - "FieldName": "VehicleKitRequirementDisabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "VehicleKitRequirementDisabled", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Allow Community Admin Access", - "Category": "Server Config", - "Description": "Enable QA Admin Access (Required for Licensed Servers)", - "Keywords": "Admin", - "FieldName": "AllowCommunityAdminAccess", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowCommunityAdminAccess", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Offworld Developers only Admin", - "Category": "Server Config", - "Description": "Allow Offworld Industries QA Dev Profiling (Required for Licensed Servers)", - "Keywords": "Admin", - "FieldName": "AllowDevProfiling", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowDevProfiling", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Allow QA", - "Category": "Server Config", - "Description": "Allow Offworld Industries QA (Required for Licensed Servers)", - "Keywords": "QA", - "FieldName": "AllowQA", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowQA", - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" - } - }, - { - "DisplayName": "Vehicle Claiming Disabled", - "Category": "Server Config", - "Description": "Disable Vehicle Claiming", - "Keywords": "Vehicle", - "FieldName": "VehicleClaimingDisabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "VehicleClaimingDisabled", - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - } -] diff --git a/squad-dedicated-servermetaconfig.json b/squad-dedicated-servermetaconfig.json deleted file mode 100644 index f8b63d3ac..000000000 --- a/squad-dedicated-servermetaconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "ConfigFile": "./SquadGame/ServerConfig/Server.cfg", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormat": "{0}=\"{1}\"" - }, - { - "ConfigFile": "./SquadGame/ServerConfig/VoteConfig.cfg", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormat": "{0}=\"{1}\"" - } -] \ No newline at end of file diff --git a/starbound.kvp b/starbound.kvp deleted file mode 100644 index 45492387a..000000000 --- a/starbound.kvp +++ /dev/null @@ -1,83 +0,0 @@ -Meta.DisplayName=Starbound -Meta.Description=Starbound Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=IceOfWraith -Meta.URL=https://store.steampowered.com/app/211820/Starbound/ -Meta.DisplayImageSource=steam:211820 -Meta.EndpointURIFormat= -Meta.ConfigManifest=starboundconfig.json -Meta.MetaConfigManifest=starboundmetaconfig.json -Meta.ConfigRoot=starbound.kvp -Meta.MinAMPVersion=2.3.3.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Starbound -App.RootDir=./starbound/ -App.BaseDirectory=./starbound/211820/ -App.ExecutableWin=211820\win64\starbound_server.exe -App.ExecutableLinux=211820/win64/starbound_server -App.WorkingDir=211820/win64 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs= -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "533830"} -App.CommandLineParameterFormat=-{0} {1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString= -App.ExitFile=lock -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":21025,"Offset":0,"Range":1,"Ref":"gameServerPort","Name":"Game and Query Port","Description":"Port for game and query traffic","ChildPorts":null},{"Protocol":"Both","Port":21026,"Offset":0,"Range":1,"Ref":"rconServerPort","Name":"RCON ServerPort","Description":"Port for RCON traffic","ChildPorts":null}] -App.AdminPortRef=rconServerPort -App.PrimaryApplicationPortRef=gameServerPort -App.UniversalSleepApplicationUDPPortRef=gameServerPort -App.UniversalSleepSteamQueryPortRef=gameServerPort -App.MaxUsers=8 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword=Password123 -App.AdminMethod=SourceRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "211820", "UpdateSourceArgs": "533830"},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./starbound/211820/storage","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/starbound_server.config","UpdateSourceTarget":"{{$FullBaseDir}}storage/","OverwriteExistingFiles":false},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s '{{$FullBaseDir}}linux' '{{$FullBaseDir}}win64'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=True -App.RapidStartup=False -App.MonitorChildProcess=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^\[Info\] UniverseServer\: listening for incoming TCP connections on \d+\.\d+\.\d+\.\d+:\d+$ -Console.UserJoinRegex=^\[Info\] UniverseServer\: Logged in account.*as player '(?<username>.+?)' from address.*$ -Console.UserLeaveRegex=^\[Info\] UniverseServer\: Client '(?<username>.+?)'.*disconnected for reason.*$ -Console.UserChatRegex=^\[Info\] Chat: \<(?<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 diff --git a/starbound_server.config b/starbound_server.config deleted file mode 100644 index 10746781f..000000000 --- a/starbound_server.config +++ /dev/null @@ -1,50 +0,0 @@ -{ - "allowAdminCommands" : true, - "allowAdminCommandsFromAnyone" : false, - "allowAnonymousConnections" : true, - "allowAssetsMismatch" : true, - "anonymousConnectionsAreAdmin" : false, - "bannedIPs" : [], - "bannedUuids" : [], - "checkAssetsDigest" : false, - "clearPlayerFiles" : false, - "clearUniverseFiles" : false, - "clientIPJoinable" : false, - "clientP2PJoinable" : true, - "configurationVersion" : { - "basic" : 2, - "server" : 4 - }, - "crafting" : { - "filterHaveMaterials" : false - }, - "gameServerBind" : "*", - "gameServerPort" : 21025, - "interactiveHighlight" : true, - "inventory" : { - "pickupToActionBar" : true - }, - "maxPlayers" : 8, - "maxTeamSize" : 4, - "monochromeLighting" : false, - "playerBackupFileCount" : 3, - "queryServerBind" : "*", - "queryServerPort" : 21025, - "rconServerBind" : "*", - "rconServerPassword" : "da5f3159ca5f404fb1fff9ce522a17c3", - "rconServerPort" : 21026, - "rconServerTimeout" : 0, - "runQueryServer" : false, - "runRconServer" : true, - "safeScripts" : true, - "scriptInstructionLimit" : 10000000, - "scriptInstructionMeasureInterval" : 10000, - "scriptProfilingEnabled" : false, - "scriptRecursionLimit" : 100, - "serverFidelity" : "automatic", - "serverName" : "AMP Starbound Server", - "serverOverrideAssetsDigest" : null, - "serverUsers" : { - }, - "tutorialMessages" : true -} \ No newline at end of file diff --git a/starboundconfig.json b/starboundconfig.json deleted file mode 100644 index 782183a9b..000000000 --- a/starboundconfig.json +++ /dev/null @@ -1,143 +0,0 @@ -[ - { - "DisplayName": "Server Name", - "Category": "Starbound - Settings", - "Description": "The name of the server.", - "Keywords": "Server, name", - "FieldName": "Name", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "serverName", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Starbound Server", - "EnumValues": {} - }, - { - "DisplayName": "Max Players", - "Category": "Starbound - Settings", - "Description": "Max number of players connected at one time.", - "Keywords": "max,players,users", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "maxPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "8", - "Placeholder": "8", - "MinValue":"1" - }, - { - "DisplayName": "RCON Password", - "Category": "Starbound - Settings", - "Description": "See the Security and Privacy menu for configurable options for the server's RCON.", - "Keywords": "rcon,password", - "FieldName": "$RemoteAdminPassword", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "rconServerPassword", - "IncludeInCommandLine": false, - "EnumValues": {} - }, - { - "DisplayName": "Server Port", - "Category": "Hidden Settings", - "Description": "UDP port for game traffic.", - "Keywords": "", - "FieldName": "$gameServerPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "gameServerPort", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query Port", - "Category": "Hidden Settings", - "Description": "UDP port for Steam server list features.", - "Keywords": "", - "FieldName": "$gameServerPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "queryServerPort", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "RCON Port", - "Category": "Hidden Settings", - "Description": "UDP port for RCON connection.", - "Keywords": "", - "FieldName": "$rconServerPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "rconServerPort", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "RCON Enabled", - "Category": "Hidden Settings", - "Description": "Allows RCON connectivity.", - "Keywords": "", - "FieldName": "runRconServer", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "runRconServer", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "RCON Timeout", - "Category": "Hidden Settings", - "Description": "RCON Timeout.", - "Keywords": "", - "FieldName": "rconServerTimeout", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "rconServerTimeout", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Admin Commands", - "Category": "Starbound - Settings", - "Description": "Allows the usage of administrator commands on the server.", - "Keywords": "admin,commands", - "FieldName": "allowAdminCommands", - "InputType": "checkbox", - "DefaultValue": "true", - "IsFlagArgument": false, - "ParamFieldName": "allowAdminCommands", - "IncludeInCommandLine": false, - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Admin Commands for Anyone", - "Category": "Starbound - Settings", - "Description": "Allows anyone logged into the server to have access to the administrator console.", - "Keywords": "admin,commands,for,anyone", - "FieldName": "allowAdminCommandsFromAnyone", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "allowAdminCommandsFromAnyone", - "DefaultValue": "false", - "IncludeInCommandLine": false, - "EnumValues": { - "True": "true", - "False": "false" - } - } -] \ No newline at end of file diff --git a/starboundmetaconfig.json b/starboundmetaconfig.json deleted file mode 100644 index b1fff46c8..000000000 --- a/starboundmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile": "storage/starbound_server.config", - "AutoMap": true, - "ConfigType": "json" - } -] \ No newline at end of file diff --git a/starmade.kvp b/starmade.kvp deleted file mode 100644 index 500f03694..000000000 --- a/starmade.kvp +++ /dev/null @@ -1,36 +0,0 @@ -App.AdminMethod=STDIO -App.ApplicationPort1=4242 -App.ApplicationReadyMode=RegexMatch -App.BaseDirectory=./starmade/244770 -App.CommandLineArgs=-Xmx{{MaxHeap}}M -Xincgc -Xshare:off -jar StarMade.jar -server -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat=-{0} "{1}" -App.DisplayName=StarMade -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "244770"} -App.ExecutableLinux=244770/dep/java/jre1.7.0_80/bin/java -App.ExecutableWin=244770\dep\java\jre1.7.0_80\bin\java.exe -App.ExitMethod=OS_CLOSE -App.ExitString=/shutdown 0 -App.HasReadableConsole=true -App.HasWritableConsole=true -App.RapidStartup=false -App.RootDir=./starmade/ -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "244770", "UpdateSourceArgs": "244770"}] -App.WorkingDir=244770/StarMade -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=True -Console.AppReadyRegex=^\[SERVER\] SERVER INIT FINISHED$ -Console.ThrowawayMessageRegex= -Console.UserChatRegex=^\[CHANNELROUTER\] RECEIVED MESSAGE ON Server\(\d+\): \[CHAT\]\[sender=(?<username>.+?)\].*\[message=(?<message>.+?)\]$ -Console.UserJoinRegex=^\[CONTROLLER\]\[ADD-UNIT\] \(Server\(\d+\)\): PlS\[(?<username>.+?) ; id.*Added to controllers: PlayerCharacter\[\(ENTITY_PLAYERCHARACTER.*\)\(\d+\)\]$ -Console.UserLeaveRegex=^\[SERVERLOG\] \[DISCONNECT\] Client 'RegisteredClient: (?<username>.+?) \(\d+\).*HAS BEEN DISCONNECTED.*$ -Meta.Author=Shinynecrid, IceOfWraith -Meta.ConfigManifest=starmadeconfig.json -Meta.ConfigRoot=starmade.kvp -Meta.Description=Starmade Dedicated Server -Meta.DisplayImageSource=steam:244770 -Meta.DisplayName=Starmade -Meta.EndpointURIFormat= -Meta.OS=3 -Meta.URL=https://steamdb.info/app/244770/ diff --git a/starmadeconfig.json b/starmadeconfig.json deleted file mode 100644 index e612fa2a5..000000000 --- a/starmadeconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "DisplayName": "Memory Limit (MB)", - "Category": "Server Settings", - "Description": "Java's maximum heap size", - "Keywords": "max ram heap", - "FieldName": "MaxHeap", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaxHeap", - "IncludeInCommandLine": false, - "DefaultValue": "1024", - "EnumValues": {} - } -] \ No newline at end of file diff --git a/stationeers.kvp b/stationeers.kvp deleted file mode 100644 index d9e55a9bb..000000000 --- a/stationeers.kvp +++ /dev/null @@ -1,75 +0,0 @@ -Meta.DisplayName=Stationeers -Meta.Description=Stationeers Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=IceOfWraith, Greelan -Meta.URL=https://store.steampowered.com/app/544550/Stationeers/ -Meta.DisplayImageSource=steam:544550 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$UpdatePort} -Meta.ConfigManifest=stationeersconfig.json -Meta.MetaConfigManifest=stationeersmetaconfig.json -Meta.ConfigRoot=stationeers.kvp -Meta.MinAMPVersion=2.4.0.2 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Stationeers -App.RootDir=./stationeers/ -App.BaseDirectory=./stationeers/600760/ -App.ExecutableWin=600760\rocketstation_DedicatedServer.exe -App.ExecutableLinux=600760/rocketstation_DedicatedServer.x86_64 -App.WorkingDir=600760 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=-{{LoadMode}} "{{SaveName}}" {{WorldType}} -noclear -settings StartLocalHost true GamePort {{$GamePort}} UpdatePort {{$UpdatePort}} SavePath "{{$FullBaseDir}}saves" {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"544550"} -App.CommandLineParameterFormat={0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=15 -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","Name":"Game Port","Description":"Port for game traffic","Port":27016,"Ref":"GamePort"},{"Protocol":"UDP","Name":"Update Port","Description":"Port for Steam updates","Port":27015,"Ref":"UpdatePort"}] -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPort=GamePort -App.UniversalSleepSteamQueryPort=UpdatePort -App.MaxUsers=10 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760","UpdateSourceArgs":"544550","UpdateSourceVersion":"{{ServerBranch}}"},{"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=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^(?:> )*?[\d:]+ (Started new game in world .+?|World\s+loaded)$ -Console.UserJoinRegex=^(?:> )*?[\d:]+ Client (?<username>.+?) \((?<userid>.+?)\) is ready!$ -Console.UserLeaveRegex=^(?:> )*?[\d:]+ Client disconnected: .* \| (?<username>.+?)\s+connectTime: \d+.\d+s, ClientId: (?<userid>.+?)$ -Console.UserChatRegex=^$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=False -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/stationeersconfig.json b/stationeersconfig.json deleted file mode 100644 index 459124390..000000000 --- a/stationeersconfig.json +++ /dev/null @@ -1,275 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"GamePort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Update Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$UpdatePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"UpdatePort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Sets the name of the server to be displayed on the server list.", - "Keywords":"server,name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerName", - "IncludeInCommandLine":true, - "DefaultValue":"AMP Powered Stationeers Server", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"Server Settings", - "Description":"If enabled, the server will be visible in the in-game server list.", - "Keywords":"public,visible", - "FieldName":"ServerVisible", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ServerVisible", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Sets the password to join the server.", - "Keywords":"password", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"ServerPassword", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Auth Secret", - "Category":"Server Settings", - "Description":"Sets the authorisation secret to allow server commands to be run from a client. Requires the same \"ServerAuthSecret\" to be set on the client.", - "Keywords":"auth,secret,commands", - "FieldName":"ServerAuthSecret", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"ServerAuthSecret", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"The maximum number of players allowed on the server.", - "Keywords":"max,players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"ServerMaxPlayers", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"10", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Load Mode", - "Category":"Server Settings", - "Description":"Sets the mode for loading world saves based on the Save Name. \"Load Manual Save\" loads the last manual save. \"Load Latest Save\" loads the latest save, whether manual or auto. If there is no save, a new world is created.", - "Keywords":"load,latest", - "FieldName":"LoadMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"LoadMode", - "IncludeInCommandLine":false, - "DefaultValue":"loadlatest", - "EnumValues":{ - "load":"Load Manual Save", - "loadlatest":"Load Latest Save" - } - }, - { - "DisplayName":"Save Name", - "Category":"Server Settings", - "Description":"Sets the name of the world directory to load, or to create if it does not already exist.", - "Keywords":"save,name", - "FieldName":"SaveName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"SaveName", - "IncludeInCommandLine":false, - "DefaultValue":"world", - "EnumValues":{} - }, - { - "DisplayName":"Map", - "Category":"Server Settings", - "Description":"Sets the type of world (map) to be created. Default is moon.", - "Keywords":"world,type,map", - "FieldName":"WorldType", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"WorldType", - "IncludeInCommandLine":false, - "DefaultValue":"moon", - "EnumValues":{ - "moon":"Moon", - "mars":"Mars", - "europa":"Europa", - "europa2":"Europa2", - "mimas":"Mimas", - "vulcan":"Vulcan", - "vulcan2":"Vulcan2", - "space":"Space", - "loulan":"Loulan", - "venus":"Venus" - } - }, - { - "DisplayName":"Enable Autosave", - "Category":"Server Settings", - "Description":"If enabled, the world will be autosaved at the interval set under \"Autosave Interval\".", - "Keywords":"autosave", - "FieldName":"AutoSave", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AutoSave", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Autosave Interval", - "Category":"Server Settings", - "Description":"Sets how frequently the server will save the world if autosave is enabled.", - "Keywords":"autosave,interval", - "FieldName":"SaveInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SaveInterval", - "IncludeInCommandLine":true, - "DefaultValue":"300", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Enable Autopause", - "Category":"Server Settings", - "Description":"If enabled, the server will be paused when no player is connected.", - "Keywords":"autopause", - "FieldName":"AutoPauseServer", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AutoPauseServer", - "IncludeInCommandLine":true, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Show Framerate", - "Category":"Server Settings", - "Description":"If enabled, shows the framerate of the server.", - "Keywords":"framerate,fps", - "FieldName":"ShowFps", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ShowFps", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Show Latency", - "Category":"Server Settings", - "Description":"If enabled, shows the latency of the server.", - "Keywords":"latency", - "FieldName":"ShowLatency", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ShowLatency", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Server IP Binding", - "Category":"Server Settings", - "Description":"Sets the binding of the server. Default is blank (all IPs). Change to internal interface IP only if the server has issues.", - "Keywords":"ip,binding,localip,address", - "FieldName":"LocalIpAddress", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"LocalIpAddress", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Enable UPnP", - "Category":"Server Settings", - "Description":"If enabled, the server will attempt to configure automatic port forwarding on a compatible router.", - "Keywords":"upnp", - "FieldName":"UPNPEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"UPNPEnabled", - "IncludeInCommandLine":true, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Server Branch", - "Category":"SteamCMD and Updates", - "Description":"Sets the server branch to install. The client must be on the same version. NOTE: Update the server after switching branches!", - "Keywords":"server,branch,depot", - "FieldName":"ServerBranch", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerBranch", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "EnumValues":{ - "public":"Public (default)", - "beta":"Beta", - "previous":"Previous" - } - } -] diff --git a/stationeersmetaconfig.json b/stationeersmetaconfig.json deleted file mode 100644 index 9e4442837..000000000 --- a/stationeersmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"setting.xml", - "AutoMap":true, - "ConfigType":"xml" - } -] \ No newline at end of file diff --git a/staxel.kvp b/staxel.kvp deleted file mode 100644 index c7cea4a72..000000000 --- a/staxel.kvp +++ /dev/null @@ -1,98 +0,0 @@ -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 diff --git a/staxelconfig.json b/staxelconfig.json deleted file mode 100644 index 80eba8da7..000000000 --- a/staxelconfig.json +++ /dev/null @@ -1,169 +0,0 @@ -[ - { - "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" - } - } -] \ No newline at end of file diff --git a/staxelmetaconfig.json b/staxelmetaconfig.json deleted file mode 100644 index 0637a088a..000000000 --- a/staxelmetaconfig.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/staxelupdates.json b/staxelupdates.json deleted file mode 100644 index 29c5198d8..000000000 --- a/staxelupdates.json +++ /dev/null @@ -1,17 +0,0 @@ -[ - { - "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'" - } -] \ No newline at end of file diff --git a/sven-co-op.kvp b/sven-co-op.kvp deleted file mode 100644 index 6edfb9d99..000000000 --- a/sven-co-op.kvp +++ /dev/null @@ -1,36 +0,0 @@ -App.AdminMethod=SourceRCON -App.ApplicationPort1=27015 -App.ApplicationPort2=26900 -App.ApplicationReadyMode=RegexMatch -App.BaseDirectory=./sven-co-op/276060/ -App.CommandLineArgs=-console +ip {{$ApplicationIPBinding}} -port {{$ApplicationPort1}} -sport {{$ApplicationPort2}} +rcon_password "{{$RemoteAdminPassword}}" {{$FormattedArgs}} -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat=+{0} "{1}" -App.DisplayName=Sven Co-op -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "225840"} -App.ExecutableLinux=276060/svends_run -App.ExecutableWin=276060\svends.exe -App.ExitMethod=OS_CLOSE -App.ExitString=stop -App.HasReadableConsole=true -App.HasWritableConsole=true -App.RapidStartup=true -App.RootDir=./sven-co-op/ -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "276060", "UpdateSourceArgs": "225840"}] -App.WorkingDir=276060 -Console.AppReadyRegex=^Connection to Steam servers successful.*$ -Console.ThrowawayMessageRegex= -Console.UserChatRegex=^"(?<username>.+?)<.*" say "(?<message>.+)"$ -Console.UserJoinRegex=^"(?<username>.+?)<.*(entered|connected)$ -Console.UserLeaveRegex=^"(?<username>.+?)<.*disconnected$ -Meta.Author=IceOfWraith, UVClay -Meta.ConfigManifest=sven-co-opconfig.json -Meta.MetaConfigManifest=sven-co-opmetaconfig.json -Meta.ConfigRoot=sven-co-op.kvp -Meta.Description= -Meta.DisplayImageSource=steam:225840 -Meta.DisplayName=Sven Co-op -Meta.EndpointURIFormat= -Meta.OS=3 -Meta.URL=https://store.steampowered.com/app/225840/Sven_Coop/ diff --git a/sven-co-opconfig.json b/sven-co-opconfig.json deleted file mode 100644 index c88f43803..000000000 --- a/sven-co-opconfig.json +++ /dev/null @@ -1,1901 +0,0 @@ -[ - { - "DisplayName": "Host Name", - "Category": "Server Settings", - "Description": "hostname", - "Keywords": "hostname", - "FieldName": "hostname", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "hostname", - "IncludeInCommandLine": true, - "DefaultValue": "AMP Powered Sven Server", - "EnumValues": {} - }, - { - "DisplayName": "Max Players", - "Category": "Server Settings", - "Description": "maxplayers", - "Keywords": "maxplayers,limit", - "FieldName": "$MaxUsers", - "InputType": "number", - "MinValue": "2", - "MaxValue": "32", - "IsFlagArgument": false, - "ParamFieldName": "maxplayers", - "IncludeInCommandLine": true, - "DefaultValue": "12", - "Suffix": "players", - "EnumValues": {} - }, - { - "DisplayName": "Map", - "Category": "Server Settings", - "Description": "Initial Map", - "Keywords": "map level", - "FieldName": "map", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "map", - "IncludeInCommandLine": true, - "DefaultValue": "_server_start", - "EnumValues": {} - }, - { - "DisplayName": "Logging", - "Category": "Server Settings", - "Description": "Logging on?", - "Keywords": "logging", - "FieldName": "log", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "log", - "IncludeInCommandLine": false, - "DefaultValue": "on", - "EnumValues": { - "True": "on", - "False": "off" - } - }, - { - "DisplayName": "Server config file", - "Category": "Server Files", - "Description": "servercfgfile", - "Keywords": "servercfgfile", - "FieldName": "servercfgfile", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "servercfgfile", - "IncludeInCommandLine": false, - "DefaultValue": "server.cfg", - "EnumValues": {} - }, - { - "DisplayName": "Listen Server config file", - "Category": "Server Files", - "Description": "lservercfgfile", - "Keywords": "lservercfgfile", - "FieldName": "lservercfgfile", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "lservercfgfile", - "IncludeInCommandLine": false, - "DefaultValue": "listenserver.cfg", - "EnumValues": {} - }, - { - "DisplayName": "Map vote config file", - "Category": "Server Files", - "Description": "mapvotecfgfile", - "Keywords": "mapvotecfgfile", - "FieldName": "mapvotecfgfile", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "mapvotecfgfile", - "IncludeInCommandLine": false, - "DefaultValue": "mapvote.cfg", - "EnumValues": {} - }, - { - "DisplayName": "Skill config file", - "Category": "Server Files", - "Description": "skillcfgfile", - "Keywords": "skillcfgfile", - "FieldName": "skillcfgfile", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "skillcfgfile", - "IncludeInCommandLine": false, - "DefaultValue": "skill.cfg", - "EnumValues": {} - }, - { - "DisplayName": "Banned config file", - "Category": "Server Files", - "Description": "bannedcfgfile", - "Keywords": "bannedcfgfile", - "FieldName": "bannedcfgfile", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "bannedcfgfile", - "IncludeInCommandLine": false, - "DefaultValue": "banned.cfg", - "EnumValues": {} - }, - { - "DisplayName": "Whitelist IP config file", - "Category": "Server Files", - "Description": "listipcfgfile", - "Keywords": "listipcfgfile", - "FieldName": "listipcfgfile", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "listipcfgfile", - "IncludeInCommandLine": false, - "DefaultValue": "listip.cfg", - "EnumValues": {} - }, - { - "DisplayName": "MOTD config file", - "Category": "Server Files", - "Description": "motdfile", - "Keywords": "motdfile", - "FieldName": "motdfile", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "motdfile", - "IncludeInCommandLine": false, - "DefaultValue": "motd.txt", - "EnumValues": {} - }, - { - "DisplayName": "Map Cycle config file", - "Category": "Server Files", - "Description": "mapcyclefile", - "Keywords": "mapcyclefile", - "FieldName": "mapcyclefile", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "mapcyclefile", - "IncludeInCommandLine": false, - "DefaultValue": "mapcycle.txt", - "EnumValues": {} - }, - { - "DisplayName": "Admins config file", - "Category": "Server Files", - "Description": "adminsfile", - "Keywords": "adminsfile", - "FieldName": "adminsfile", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "adminsfile", - "IncludeInCommandLine": false, - "DefaultValue": "admins.txt", - "EnumValues": {} - }, - { - "DisplayName": "Log Directory", - "Category": "Server Files", - "Description": "logsdir", - "Keywords": "logsdir", - "FieldName": "logsdir", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "logsdir", - "IncludeInCommandLine": false, - "DefaultValue": "logs", - "EnumValues": {} - }, - { - "DisplayName": "Server Password", - "Category": "Server Settings", - "Description": "sv_password", - "Keywords": "sv_password", - "FieldName": "sv_password", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "sv_password", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Spectator Password", - "Category": "Server Settings", - "Description": "sv_spectator_password", - "Keywords": "sv_spectator_password", - "FieldName": "sv_spectator_password", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "sv_spectator_password", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "sys_ticrate", - "Category": "Server Settings", - "Description": "sys_ticrate", - "Keywords": "sys_ticrate", - "FieldName": "sys_ticrate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sys_ticrate", - "IncludeInCommandLine": false, - "DefaultValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "fps_max", - "Category": "Server Settings", - "Description": "fps_max", - "Keywords": "fps_max", - "FieldName": "fps_max", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "fps_max", - "IncludeInCommandLine": false, - "DefaultValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "developer", - "Category": "Server Settings", - "Description": "developer", - "Keywords": "developer", - "FieldName": "developer", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "developer", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_region", - "Category": "Server Settings", - "Description": "sv_region", - "Keywords": "sv_region", - "FieldName": "sv_region", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_region", - "IncludeInCommandLine": false, - "DefaultValue": "255", - "EnumValues": {} - }, - { - "DisplayName": "sv_contact", - "Category": "Server Settings", - "Description": "sv_contact", - "Keywords": "sv_contact", - "FieldName": "sv_contact", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "sv_contact", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "sv_downloadurl", - "Category": "Server Settings", - "Description": "sv_downloadurl", - "Keywords": "sv_downloadurl", - "FieldName": "sv_downloadurl", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "sv_downloadurl", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "allow_spectators", - "Category": "Server Settings", - "Description": "allow_spectators", - "Keywords": "allow_spectators", - "FieldName": "allow_spectators", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "allow_spectators", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "deathmatch", - "Category": "Server Settings", - "Description": "deathmatch", - "Keywords": "deathmatch", - "FieldName": "deathmatch", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "deathmatch", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "decalfrequency", - "Category": "Server Settings", - "Description": "decalfrequency", - "Keywords": "decalfrequency", - "FieldName": "decalfrequency", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "decalfrequency", - "IncludeInCommandLine": false, - "DefaultValue": "30", - "EnumValues": {} - }, - { - "DisplayName": "hpk_maxsize", - "Category": "Server Settings", - "Description": "hpk_maxsize", - "Keywords": "hpk_maxsize", - "FieldName": "hpk_maxsize", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "hpk_maxsize", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "pausable", - "Category": "Server Settings", - "Description": "pausable", - "Keywords": "pausable", - "FieldName": "pausable", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "pausable", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "skill", - "Description": "skill", - "FieldName": "skill", - "Category": "Server Settings", - "ParamFieldName": "skill", - "IncludeInCommandLine": false, - "InputType": "enum", - "EnumValues": { - "0": "Map Choice", - "1": "Easy", - "2": "Hard", - "3": "Realistic" - }, - "DefaultValue": "3" - }, - { - "DisplayName": "sv_accelerate", - "Category": "Server Settings", - "Description": "sv_accelerate", - "Keywords": "sv_accelerate", - "FieldName": "sv_accelerate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_accelerate", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "sv_aim", - "Category": "Server Settings", - "Description": "sv_aim", - "Keywords": "sv_aim", - "FieldName": "sv_aim", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_aim", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_airaccelerate", - "Category": "Server Settings", - "Description": "sv_airaccelerate", - "Keywords": "sv_airaccelerate", - "FieldName": "sv_airaccelerate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_airaccelerate", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "sv_allowdownload", - "Category": "Server Settings", - "Description": "sv_allowdownload", - "Keywords": "sv_allowdownload", - "FieldName": "sv_allowdownload", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_allowdownload", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_alltalk", - "Category": "Server Settings", - "Description": "sv_alltalk", - "Keywords": "sv_alltalk", - "FieldName": "sv_alltalk", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_alltalk", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_allowupload", - "Category": "Server Settings", - "Description": "sv_allowupload", - "Keywords": "sv_allowupload", - "FieldName": "sv_allowupload", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_allowupload", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_bounce", - "Category": "Server Settings", - "Description": "sv_bounce", - "Keywords": "sv_bounce", - "FieldName": "sv_bounce", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_bounce", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_challengetime", - "Category": "Server Settings", - "Description": "sv_challengetime", - "Keywords": "sv_challengetime", - "FieldName": "sv_challengetime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_challengetime", - "IncludeInCommandLine": false, - "DefaultValue": "15", - "EnumValues": {} - }, - { - "DisplayName": "sv_cheats", - "Category": "Server Settings", - "Description": "sv_cheats", - "Keywords": "sv_cheats", - "FieldName": "sv_cheats", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_cheats", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_clienttrace", - "Category": "Server Settings", - "Description": "sv_clienttrace", - "Keywords": "sv_clienttrace", - "FieldName": "sv_clienttrace", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_clienttrace", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_clipmode", - "Category": "Server Settings", - "Description": "sv_clipmode", - "Keywords": "sv_clipmode", - "FieldName": "sv_clipmode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_clipmode", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_enableoldqueries", - "Category": "Server Settings", - "Description": "sv_enableoldqueries", - "Keywords": "sv_enableoldqueries", - "FieldName": "sv_enableoldqueries", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_enableoldqueries", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_failuretime", - "Category": "Server Settings", - "Description": "sv_failuretime", - "Keywords": "sv_failuretime", - "FieldName": "sv_failuretime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_failuretime", - "IncludeInCommandLine": false, - "DefaultValue": "0.5", - "EnumValues": {} - }, - { - "DisplayName": "sv_filetransfercompression", - "Category": "Server Settings", - "Description": "sv_filetransfercompression", - "Keywords": "sv_filetransfercompression", - "FieldName": "sv_filetransfercompression", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_filetransfercompression", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_filterban", - "Category": "Server Settings", - "Description": "sv_filterban", - "Keywords": "sv_filterban", - "FieldName": "sv_filterban", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_filterban", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_friction", - "Category": "Server Settings", - "Description": "sv_friction", - "Keywords": "sv_friction", - "FieldName": "sv_friction", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_friction", - "IncludeInCommandLine": false, - "DefaultValue": "4", - "EnumValues": {} - }, - { - "DisplayName": "sv_gravity", - "Category": "Server Settings", - "Description": "sv_gravity", - "Keywords": "sv_gravity", - "FieldName": "sv_gravity", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_gravity", - "IncludeInCommandLine": false, - "DefaultValue": "800", - "EnumValues": {} - }, - { - "DisplayName": "sv_instancedbaseline", - "Category": "Server Settings", - "Description": "sv_instancedbaseline", - "Keywords": "sv_instancedbaseline", - "FieldName": "sv_instancedbaseline", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_instancedbaseline", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_lagcompensation", - "Category": "Server Settings", - "Description": "sv_lagcompensation", - "Keywords": "sv_lagcompensation", - "FieldName": "sv_lagcompensation", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_lagcompensation", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "sv_lan", - "Category": "Server Settings", - "Description": "sv_lan", - "Keywords": "sv_lan", - "FieldName": "sv_lan", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_lan", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_lan_rate", - "Category": "Server Settings", - "Description": "sv_lan_rate", - "Keywords": "sv_lan_rate", - "FieldName": "sv_lan_rate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_lan_rate", - "IncludeInCommandLine": false, - "DefaultValue": "100000", - "EnumValues": {} - }, - { - "DisplayName": "sv_log_client_commands", - "Category": "Server Settings", - "Description": "sv_log_client_commands", - "Keywords": "sv_log_client_commands", - "FieldName": "sv_log_client_commands", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_log_client_commands", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_log_monster_damage", - "Category": "Server Settings", - "Description": "sv_log_monster_damage", - "Keywords": "sv_log_monster_damage", - "FieldName": "sv_log_monster_damage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_log_monster_damage", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_log_monster_monster_kills", - "Category": "Server Settings", - "Description": "sv_log_monster_monster_kills", - "Keywords": "sv_log_monster_monster_kills", - "FieldName": "sv_log_monster_monster_kills", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_log_monster_monster_kills", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_log_onefile", - "Category": "Server Settings", - "Description": "sv_log_onefile", - "Keywords": "sv_log_onefile", - "FieldName": "sv_log_onefile", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_log_onefile", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_log_player_frequency", - "Category": "Server Settings", - "Description": "sv_log_player_frequency", - "Keywords": "sv_log_player_frequency", - "FieldName": "sv_log_player_frequency", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_log_player_frequency", - "IncludeInCommandLine": false, - "DefaultValue": "30", - "EnumValues": {} - }, - { - "DisplayName": "sv_log_singleplayer", - "Category": "Server Settings", - "Description": "sv_log_singleplayer", - "Keywords": "sv_log_singleplayer", - "FieldName": "sv_log_singleplayer", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_log_singleplayer", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_logbans", - "Category": "Server Settings", - "Description": "sv_logbans", - "Keywords": "sv_logbans", - "FieldName": "sv_logbans", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_logbans", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_logblocks", - "Category": "Server Settings", - "Description": "sv_logblocks", - "Keywords": "sv_logblocks", - "FieldName": "sv_logblocks", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_logblocks", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_logrelay", - "Category": "Server Settings", - "Description": "sv_logrelay", - "Keywords": "sv_logrelay", - "FieldName": "sv_logrelay", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_logrelay", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_maxrate", - "Category": "Server Settings", - "Description": "sv_maxrate", - "Keywords": "sv_maxrate", - "FieldName": "sv_maxrate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_maxrate", - "IncludeInCommandLine": false, - "DefaultValue": "100000", - "EnumValues": {} - }, - { - "DisplayName": "sv_maxspectators", - "Category": "Server Settings", - "Description": "sv_maxspectators", - "Keywords": "sv_maxspectators", - "FieldName": "sv_maxspectators", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_maxspectators", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "sv_maxspeed", - "Category": "Server Settings", - "Description": "sv_maxspeed", - "Keywords": "sv_maxspeed", - "FieldName": "sv_maxspeed", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_maxspeed", - "IncludeInCommandLine": false, - "DefaultValue": "270", - "EnumValues": {} - }, - { - "DisplayName": "sv_maxunlag", - "Category": "Server Settings", - "Description": "sv_maxunlag", - "Keywords": "sv_maxunlag", - "FieldName": "sv_maxunlag", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_maxunlag", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "sv_maxupdaterate", - "Category": "Server Settings", - "Description": "sv_maxupdaterate", - "Keywords": "sv_maxupdaterate", - "FieldName": "sv_maxupdaterate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_maxupdaterate", - "IncludeInCommandLine": false, - "DefaultValue": "50", - "EnumValues": {} - }, - { - "DisplayName": "sv_maxvelocity", - "Category": "Server Settings", - "Description": "sv_maxvelocity", - "Keywords": "sv_maxvelocity", - "FieldName": "sv_maxvelocity", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_maxvelocity", - "IncludeInCommandLine": false, - "DefaultValue": "2000", - "EnumValues": {} - }, - { - "DisplayName": "sv_minrate", - "Category": "Server Settings", - "Description": "sv_minrate", - "Keywords": "sv_minrate", - "FieldName": "sv_minrate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_minrate", - "IncludeInCommandLine": false, - "DefaultValue": "4000", - "EnumValues": {} - }, - { - "DisplayName": "sv_minupdaterate", - "Category": "Server Settings", - "Description": "sv_minupdaterate", - "Keywords": "sv_minupdaterate", - "FieldName": "sv_minupdaterate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_minupdaterate", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "sv_newunit", - "Category": "Server Settings", - "Description": "sv_newunit", - "Keywords": "sv_newunit", - "FieldName": "sv_newunit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_newunit", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "sv_notransition", - "Category": "Server Settings", - "Description": "sv_notransition", - "Keywords": "sv_notransition", - "FieldName": "sv_notransition", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_notransition", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_outofdatetime", - "Category": "Server Settings", - "Description": "sv_outofdatetime", - "Keywords": "sv_outofdatetime", - "FieldName": "sv_outofdatetime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_outofdatetime", - "IncludeInCommandLine": false, - "DefaultValue": "1800", - "EnumValues": {} - }, - { - "DisplayName": "sv_proxies", - "Category": "Server Settings", - "Description": "sv_proxies", - "Keywords": "sv_proxies", - "FieldName": "sv_proxies", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_proxies", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "sv_rcon_banpenalty", - "Category": "Server Settings", - "Description": "sv_rcon_banpenalty", - "Keywords": "sv_rcon_banpenalty", - "FieldName": "sv_rcon_banpenalty", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_rcon_banpenalty", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "sv_rcon_maxfailures", - "Category": "Server Settings", - "Description": "sv_rcon_maxfailures", - "Keywords": "sv_rcon_maxfailures", - "FieldName": "sv_rcon_maxfailures", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_rcon_maxfailures", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "sv_rcon_minfailures", - "Category": "Server Settings", - "Description": "sv_rcon_minfailures", - "Keywords": "sv_rcon_minfailures", - "FieldName": "sv_rcon_minfailures", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_rcon_minfailures", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "sv_rcon_minfailuretime", - "Category": "Server Settings", - "Description": "sv_rcon_minfailuretime", - "Keywords": "sv_rcon_minfailuretime", - "FieldName": "sv_rcon_minfailuretime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_rcon_minfailuretime", - "IncludeInCommandLine": false, - "DefaultValue": "30", - "EnumValues": {} - }, - { - "DisplayName": "sv_send_logos", - "Category": "Server Settings", - "Description": "sv_send_logos", - "Keywords": "sv_send_logos", - "FieldName": "sv_send_logos", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_send_logos", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_send_resources", - "Category": "Server Settings", - "Description": "sv_send_resources", - "Keywords": "sv_send_resources", - "FieldName": "sv_send_resources", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_send_resources", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_sendvelocity", - "Category": "Server Settings", - "Description": "sv_sendvelocity", - "Keywords": "sv_sendvelocity", - "FieldName": "sv_sendvelocity", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_sendvelocity", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_spectatormaxspeed", - "Category": "Server Settings", - "Description": "sv_spectatormaxspeed", - "Keywords": "sv_spectatormaxspeed", - "FieldName": "sv_spectatormaxspeed", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_spectatormaxspeed", - "IncludeInCommandLine": false, - "DefaultValue": "600", - "EnumValues": {} - }, - { - "DisplayName": "sv_spectalk", - "Category": "Server Settings", - "Description": "sv_spectalk", - "Keywords": "sv_spectalk", - "FieldName": "sv_spectalk", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_spectalk", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_stats", - "Category": "Server Settings", - "Description": "sv_stats", - "Keywords": "sv_stats", - "FieldName": "sv_stats", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_stats", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_stepsize", - "Category": "Server Settings", - "Description": "sv_stepsize", - "Keywords": "sv_stepsize", - "FieldName": "sv_stepsize", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_stepsize", - "IncludeInCommandLine": false, - "DefaultValue": "18", - "EnumValues": {} - }, - { - "DisplayName": "sv_stopspeed", - "Category": "Server Settings", - "Description": "sv_stopspeed", - "Keywords": "sv_stopspeed", - "FieldName": "sv_stopspeed", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_stopspeed", - "IncludeInCommandLine": false, - "DefaultValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "sv_timeout", - "Category": "Server Settings", - "Description": "sv_timeout", - "Keywords": "sv_timeout", - "FieldName": "sv_timeout", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_timeout", - "IncludeInCommandLine": false, - "DefaultValue": "90", - "EnumValues": {} - }, - { - "DisplayName": "sv_unlag", - "Category": "Server Settings", - "Description": "sv_unlag", - "Keywords": "sv_unlag", - "FieldName": "sv_unlag", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_unlag", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_unlagpush", - "Category": "Server Settings", - "Description": "sv_unlagpush", - "Keywords": "sv_unlagpush", - "FieldName": "sv_unlagpush", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_unlagpush", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_unlagsamples", - "Category": "Server Settings", - "Description": "sv_unlagsamples", - "Keywords": "sv_unlagsamples", - "FieldName": "sv_unlagsamples", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_unlagsamples", - "IncludeInCommandLine": false, - "DefaultValue": "2", - "EnumValues": {} - }, - { - "DisplayName": "sv_uploadmax", - "Category": "Server Settings", - "Description": "sv_uploadmax", - "Keywords": "sv_uploadmax", - "FieldName": "sv_uploadmax", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_uploadmax", - "IncludeInCommandLine": false, - "DefaultValue": "0.5", - "EnumValues": {} - }, - { - "DisplayName": "sv_voiceenable", - "Category": "Server Settings", - "Description": "sv_voiceenable", - "Keywords": "sv_voiceenable", - "FieldName": "sv_voiceenable", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "sv_voiceenable", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "sv_wateraccelerate", - "Category": "Server Settings", - "Description": "sv_wateraccelerate", - "Keywords": "sv_wateraccelerate", - "FieldName": "sv_wateraccelerate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_wateraccelerate", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "sv_wateramp", - "Category": "Server Settings", - "Description": "sv_wateramp", - "Keywords": "sv_wateramp", - "FieldName": "sv_wateramp", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_wateramp", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "sv_waterfriction", - "Category": "Server Settings", - "Description": "sv_waterfriction", - "Keywords": "sv_waterfriction", - "FieldName": "sv_waterfriction", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_waterfriction", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": {} - }, - { - "DisplayName": "sv_zmax", - "Category": "Server Settings", - "Description": "sv_zmax", - "Keywords": "sv_zmax", - "FieldName": "sv_zmax", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "sv_zmax", - "IncludeInCommandLine": false, - "DefaultValue": "32768", - "EnumValues": {} - }, - { - "DisplayName": "mp_allowmonsters", - "Category": "Multiplayer Settings", - "Description": "mp_allowmonsters", - "Keywords": "mp_allowmonsters", - "FieldName": "mp_allowmonsters", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_allowmonsters", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_autocrosshair", - "Category": "Multiplayer Settings", - "Description": "mp_autocrosshair", - "Keywords": "mp_autocrosshair", - "FieldName": "mp_autocrosshair", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_autocrosshair", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_consistency", - "Category": "Multiplayer Settings", - "Description": "mp_consistency", - "Keywords": "mp_consistency", - "FieldName": "mp_consistency", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_consistency", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_decals", - "Category": "Multiplayer Settings", - "Description": "mp_decals", - "Keywords": "mp_decals", - "FieldName": "mp_decals", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_decals", - "IncludeInCommandLine": false, - "DefaultValue": "2048", - "EnumValues": {} - }, - { - "DisplayName": "mp_disablegaussjump", - "Category": "Multiplayer Settings", - "Description": "mp_disablegaussjump", - "Keywords": "mp_disablegaussjump", - "FieldName": "mp_disablegaussjump", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_disablegaussjump", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_falldamage", - "Category": "Multiplayer Settings", - "Description": "mp_falldamage", - "Keywords": "mp_falldamage", - "FieldName": "mp_falldamage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_falldamage", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_flashlight", - "Category": "Multiplayer Settings", - "Description": "mp_flashlight", - "Keywords": "mp_flashlight", - "FieldName": "mp_flashlight", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_flashlight", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_footsteps", - "Category": "Multiplayer Settings", - "Description": "mp_footsteps", - "Keywords": "mp_footsteps", - "FieldName": "mp_footsteps", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_footsteps", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_forcerespawn", - "Category": "Multiplayer Settings", - "Description": "mp_forcerespawn", - "Keywords": "mp_forcerespawn", - "FieldName": "mp_forcerespawn", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_forcerespawn", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_fraglimit", - "Category": "Multiplayer Settings", - "Description": "mp_fraglimit", - "Keywords": "mp_fraglimit", - "FieldName": "mp_fraglimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_fraglimit", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": {} - }, - { - "DisplayName": "mp_friendlyfire", - "Category": "Multiplayer Settings", - "Description": "mp_friendlyfire", - "Keywords": "mp_friendlyfire", - "FieldName": "mp_friendlyfire", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_friendlyfire", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_logdetail", - "Category": "Multiplayer Settings", - "Description": "mp_logdetail", - "Keywords": "mp_logdetail", - "FieldName": "mp_logdetail", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_logdetail", - "IncludeInCommandLine": false, - "DefaultValue": "3", - "EnumValues": {} - }, - { - "DisplayName": "mp_logfile", - "Category": "Multiplayer Settings", - "Description": "mp_logfile", - "Keywords": "mp_logfile", - "FieldName": "mp_logfile", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_logfile", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_teamplay", - "Category": "Multiplayer Settings", - "Description": "mp_teamplay", - "Keywords": "mp_teamplay", - "FieldName": "mp_teamplay", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_teamplay", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_telefrag", - "Category": "Multiplayer Settings", - "Description": "mp_telefrag", - "Keywords": "mp_telefrag", - "FieldName": "mp_telefrag", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_telefrag", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_timelimit", - "Category": "Multiplayer Settings", - "Description": "mp_timelimit", - "Keywords": "mp_timelimit", - "FieldName": "mp_timelimit", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_timelimit", - "IncludeInCommandLine": false, - "DefaultValue": "60", - "EnumValues": {} - }, - { - "DisplayName": "mp_weaponstay", - "Category": "Multiplayer Settings", - "Description": "mp_weaponstay", - "Keywords": "mp_weaponstay", - "FieldName": "mp_weaponstay", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_weaponstay", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_allowmonsterinfo", - "Category": "Multiplayer Settings", - "Description": "mp_allowmonsterinfo", - "Keywords": "mp_allowmonsterinfo", - "FieldName": "mp_allowmonsterinfo", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_allowmonsterinfo", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_banana", - "Category": "Multiplayer Settings", - "Description": "mp_banana", - "Keywords": "mp_banana", - "FieldName": "mp_banana", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_banana", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_timelimit_empty", - "Category": "Multiplayer Settings", - "Description": "mp_timelimit_empty", - "Keywords": "mp_timelimit_empty", - "FieldName": "mp_timelimit_empty", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_timelimit_empty", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "EnumValues": {} - }, - { - "DisplayName": "mp_chattime", - "Category": "Multiplayer Settings", - "Description": "mp_chattime", - "Keywords": "mp_chattime", - "FieldName": "mp_chattime", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_chattime", - "IncludeInCommandLine": false, - "DefaultValue": "8", - "EnumValues": {} - }, - { - "DisplayName": "mp_disable_autoclimb", - "Category": "Multiplayer Settings", - "Description": "mp_disable_autoclimb", - "Keywords": "mp_disable_autoclimb", - "FieldName": "mp_disable_autoclimb", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_disable_autoclimb", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_disable_pcbalancing", - "Category": "Multiplayer Settings", - "Description": "mp_disable_pcbalancing", - "Keywords": "mp_disable_pcbalancing", - "FieldName": "mp_disable_pcbalancing", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_disable_pcbalancing", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_disable_player_rappel", - "Category": "Multiplayer Settings", - "Description": "mp_disable_player_rappel", - "Keywords": "mp_disable_player_rappel", - "FieldName": "mp_disable_player_rappel", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_disable_player_rappel", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_dropweapons", - "Category": "Multiplayer Settings", - "Description": "mp_dropweapons", - "Keywords": "mp_dropweapons", - "FieldName": "mp_dropweapons", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_dropweapons", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_grapple_mode", - "Category": "Multiplayer Settings", - "Description": "mp_grapple_mode", - "Keywords": "mp_grapple_mode", - "FieldName": "mp_grapple_mode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_grapple_mode", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_multiplespawn", - "Category": "Multiplayer Settings", - "Description": "mp_multiplespawn", - "Keywords": "mp_multiplespawn", - "FieldName": "mp_multiplespawn", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_multiplespawn", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_no_akimbo_uzis", - "Category": "Multiplayer Settings", - "Description": "mp_no_akimbo_uzis", - "Keywords": "mp_no_akimbo_uzis", - "FieldName": "mp_no_akimbo_uzis", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_no_akimbo_uzis", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_noblastgibs", - "Category": "Multiplayer Settings", - "Description": "mp_noblastgibs", - "Keywords": "mp_noblastgibs", - "FieldName": "mp_noblastgibs", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_noblastgibs", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_npckill", - "Category": "Multiplayer Settings", - "Description": "mp_npckill", - "Keywords": "mp_npckill", - "FieldName": "mp_npckill", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_npckill", - "IncludeInCommandLine": false, - "DefaultValue": "2", - "EnumValues": {} - }, - { - "DisplayName": "mp_playervotedelay", - "Category": "Multiplayer Settings", - "Description": "mp_playervotedelay", - "Keywords": "mp_playervotedelay", - "FieldName": "mp_playervotedelay", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_playervotedelay", - "IncludeInCommandLine": false, - "DefaultValue": "300", - "EnumValues": {} - }, - { - "DisplayName": "mp_respawndelay", - "Category": "Multiplayer Settings", - "Description": "mp_respawndelay", - "Keywords": "mp_respawndelay", - "FieldName": "mp_respawndelay", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_respawndelay", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "EnumValues": {} - }, - { - "DisplayName": "mp_voteallow", - "Category": "Multiplayer Settings", - "Description": "mp_voteallow", - "Keywords": "mp_voteallow", - "FieldName": "mp_voteallow", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "mp_voteallow", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "mp_votebanrequired", - "Category": "Multiplayer Settings", - "Description": "mp_votebanrequired", - "Keywords": "mp_votebanrequired", - "FieldName": "mp_votebanrequired", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_votebanrequired", - "IncludeInCommandLine": false, - "DefaultValue": "100", - "EnumValues": {} - }, - { - "DisplayName": "mp_votekickrequired", - "Category": "Multiplayer Settings", - "Description": "mp_votekickrequired", - "Keywords": "mp_votekickrequired", - "FieldName": "mp_votekickrequired", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_votekickrequired", - "IncludeInCommandLine": false, - "DefaultValue": "66", - "EnumValues": {} - }, - { - "DisplayName": "mp_votekill_respawndelay", - "Category": "Multiplayer Settings", - "Description": "mp_votekill_respawndelay", - "Keywords": "mp_votekill_respawndelay", - "FieldName": "mp_votekill_respawndelay", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_votekill_respawndelay", - "IncludeInCommandLine": false, - "DefaultValue": "15", - "EnumValues": {} - }, - { - "DisplayName": "mp_votekillrequired", - "Category": "Multiplayer Settings", - "Description": "mp_votekillrequired", - "Keywords": "mp_votekillrequired", - "FieldName": "mp_votekillrequired", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_votekillrequired", - "IncludeInCommandLine": false, - "DefaultValue": "51", - "EnumValues": {} - }, - { - "DisplayName": "mp_votemaprequired", - "Category": "Multiplayer Settings", - "Description": "mp_votemaprequired", - "Keywords": "mp_votemaprequired", - "FieldName": "mp_votemaprequired", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_votemaprequired", - "IncludeInCommandLine": false, - "DefaultValue": "66", - "EnumValues": {} - }, - { - "DisplayName": "mp_votetimebetween", - "Category": "Multiplayer Settings", - "Description": "mp_votetimebetween", - "Keywords": "mp_votetimebetween", - "FieldName": "mp_votetimebetween", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_votetimebetween", - "IncludeInCommandLine": false, - "DefaultValue": "60", - "EnumValues": {} - }, - { - "DisplayName": "mp_votetimecheck", - "Category": "Multiplayer Settings", - "Description": "mp_votetimecheck", - "Keywords": "mp_votetimecheck", - "FieldName": "mp_votetimecheck", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "mp_votetimecheck", - "IncludeInCommandLine": false, - "DefaultValue": "20", - "EnumValues": {} - } -] diff --git a/sven-co-opmetaconfig.json b/sven-co-opmetaconfig.json deleted file mode 100644 index 47f6c6293..000000000 --- a/sven-co-opmetaconfig.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - { - "ConfigFile": "svencoop/server.cfg", - "ConfigType": "kvp", - "ConfigFormat": "{0} \"{1}\"", - "Subsections": [ - { - "Heading": "$root", - "SettingMappings": { - "hostname": "hostname", - "log": "log", - "rcon_password": "$RemoteAdminPassword", - "maxplayers": "$MaxUsers", - "servercfgfile": "servercfgfile", - "lservercfgfile": "lservercfgfile", - "mapvotecfgfile": "mapvotecfgfile", - "skillcfgfile": "skillcfgfile", - "bannedcfgfile": "bannedcfgfile", - "listipcfgfile": "listipcfgfile", - "motdfile": "motdfile", - "mapcyclefile": "mapcyclefile", - "adminsfile": "adminsfile", - "logsdir": "logsdir", - "sv_password": "sv_password", - "sv_spectator_password": "sv_spectator_password", - "sys_ticrate": "sys_ticrate", - "fps_max": "fps_max", - "developer": "developer", - "sv_region": "sv_region", - "sv_contact": "sv_contact", - "sv_downloadurl": "sv_downloadurl", - "allow_spectators": "allow_spectators", - "deathmatch": "deathmatch", - "decalfrequency": "decalfrequency", - "hpk_maxsize": "hpk_maxsize", - "pausable": "pausable", - "skill": "skill", - "sv_accelerate": "sv_accelerate", - "sv_aim": "sv_aim", - "sv_airaccelerate": "sv_airaccelerate", - "sv_allowdownload": "sv_allowdownload", - "sv_alltalk": "sv_alltalk", - "sv_allowupload": "sv_allowupload", - "sv_bounce": "sv_bounce", - "sv_challengetime": "sv_challengetime", - "sv_cheats": "sv_cheats", - "sv_clienttrace": "sv_clienttrace", - "sv_clipmode": "sv_clipmode", - "sv_enableoldqueries": "sv_enableoldqueries", - "sv_failuretime": "sv_failuretime", - "sv_filetransfercompression": "sv_filetransfercompression", - "sv_filterban": "sv_filterban", - "sv_friction": "sv_friction", - "sv_gravity": "sv_gravity", - "sv_instancedbaseline": "sv_instancedbaseline", - "sv_lagcompensation": "sv_lagcompensation", - "sv_lan": "sv_lan", - "sv_lan_rate": "sv_lan_rate", - "sv_log_client_commands": "sv_log_client_commands", - "sv_log_monster_damage": "sv_log_monster_damage", - "sv_log_monster_monster_kills": "sv_log_monster_monster_kills", - "sv_log_onefile": "sv_log_onefile", - "sv_log_player_frequency": "sv_log_player_frequency", - "sv_log_singleplayer": "sv_log_singleplayer", - "sv_logbans": "sv_logbans", - "sv_logblocks": "sv_logblocks", - "sv_logrelay": "sv_logrelay", - "sv_maxrate": "sv_maxrate", - "sv_maxspectators": "sv_maxspectators", - "sv_maxspeed": "sv_maxspeed", - "sv_maxunlag": "sv_maxunlag", - "sv_maxupdaterate": "sv_maxupdaterate", - "sv_maxvelocity": "sv_maxvelocity", - "sv_minrate": "sv_minrate", - "sv_minupdaterate": "sv_minupdaterate", - "sv_newunit": "sv_newunit", - "sv_notransition": "sv_notransition", - "sv_outofdatetime": "sv_outofdatetime", - "sv_proxies": "sv_proxies", - "sv_rcon_banpenalty": "sv_rcon_banpenalty", - "sv_rcon_maxfailures": "sv_rcon_maxfailures", - "sv_rcon_minfailures": "sv_rcon_minfailures", - "sv_rcon_minfailuretime": "sv_rcon_minfailuretime", - "sv_send_logos": "sv_send_logos", - "sv_send_resources": "sv_send_resources", - "sv_sendvelocity": "sv_sendvelocity", - "sv_spectatormaxspeed": "sv_spectatormaxspeed", - "sv_spectalk": "sv_spectalk", - "sv_stats": "sv_stats", - "sv_stepsize": "sv_stepsize", - "sv_stopspeed": "sv_stopspeed", - "sv_timeout": "sv_timeout", - "sv_unlag": "sv_unlag", - "sv_unlagpush": "sv_unlagpush", - "sv_unlagsamples": "sv_unlagsamples", - "sv_uploadmax": "sv_uploadmax", - "sv_voiceenable": "sv_voiceenable", - "sv_wateraccelerate": "sv_wateraccelerate", - "sv_wateramp": "sv_wateramp", - "sv_waterfriction": "sv_waterfriction", - "sv_zmax": "sv_zmax", - "mp_allowmonsters": "mp_allowmonsters", - "mp_autocrosshair": "mp_autocrosshair", - "mp_consistency": "mp_consistency", - "mp_decals": "mp_decals", - "mp_disablegaussjump": "mp_disablegaussjump", - "mp_falldamage": "mp_falldamage", - "mp_flashlight": "mp_flashlight", - "mp_footsteps": "mp_footsteps", - "mp_forcerespawn": "mp_forcerespawn", - "mp_fraglimit": "mp_fraglimit", - "mp_friendlyfire": "mp_friendlyfire", - "mp_logdetail": "mp_logdetail", - "mp_logfile": "mp_logfile", - "mp_teamplay": "mp_teamplay", - "mp_telefrag": "mp_telefrag", - "mp_timelimit": "mp_timelimit", - "mp_timelimit_empty": "mp_timelimit_empty", - "mp_weaponstay": "mp_weaponstay", - "mp_allowmonsterinfo": "mp_allowmonsterinfo", - "mp_banana": "mp_banana", - "mp_chattime": "mp_chattime", - "mp_disable_autoclimb": "mp_disable_autoclimb", - "mp_disable_pcbalancing": "mp_disable_pcbalancing", - "mp_disable_player_rappel": "mp_disable_player_rappel", - "mp_dropweapons": "mp_dropweapons", - "mp_grapple_mode": "mp_grapple_mode", - "mp_multiplespawn": "mp_multiplespawn", - "mp_no_akimbo_uzis": "mp_no_akimbo_uzis", - "mp_noblastgibs": "mp_noblastgibs", - "mp_npckill": "mp_npckill", - "mp_playervotedelay": "mp_playervotedelay", - "mp_respawndelay": "mp_respawndelay", - "mp_voteallow": "mp_voteallow", - "mp_votebanrequired": "mp_votebanrequired", - "mp_votekickrequired": "mp_votekickrequired", - "mp_votekill_respawndelay": "mp_votekill_respawndelay", - "mp_votekillrequired": "mp_votekillrequired", - "mp_votemaprequired": "mp_votemaprequired", - "mp_votetimebetween": "mp_votetimebetween", - "mp_votetimecheck": "mp_votetimecheck", - "exec": "bannedcfgfile", - "exec": "listipcfgfile" - } - } - ] - } -] - diff --git a/teamspeak3.kvp b/teamspeak3.kvp deleted file mode 100644 index 2954c658d..000000000 --- a/teamspeak3.kvp +++ /dev/null @@ -1,74 +0,0 @@ -Meta.DisplayName=TeamSpeak 3 -Meta.Description=TeamSpeak 3 Server -Meta.OS=Windows, Linux -Meta.Author=IceOfWraith, YamiKaitou (base) -Meta.URL=https://teamspeak.com -Meta.DisplayImageSource=url:https://www.teamspeak.com/user/themes/teamspeak/images/logo_inverse.svg -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=teamspeak3config.json -Meta.MetaConfigManifest=teamspeak3metaconfig.json -Meta.ConfigRoot=teamspeak3.kvp -Meta.MinAMPVersion=2.3.4.4 -Meta.SpecificDockerImage= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=TeamSpeak 3 -App.RootDir=./ts3/ -App.BaseDirectory=./ts3/ -App.ExecutableWin=teamspeak3-server_win64\ts3server.exe -App.ExecutableLinux=teamspeak3-server_win64/ts3server -App.WorkingDir=teamspeak3-server_win64 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} inifile=teamspeak3server.ini license_accepted=1 {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={} -App.CommandLineParameterFormat={0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=app_exit.lck -App.HasWriteableConsole=False -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"UDP","Port":9987,"Offset":0,"Range":1,"Ref":"Voice","Name":"Voice Port","Description":"Port for voice communications","ChildPorts":null},{"Protocol":"TCP","Port":30033,"Offset":0,"Range":1,"Ref":"Filetransfer","Name":"File Transfer Port","Description":"Port for file transfers","ChildPorts":null},{"Protocol":"TCP","Port":10011,"Offset":0,"Range":1,"Ref":"ServerQueryRAW","Name":"Telnet Port","Description":"Port for Telnet administration","ChildPorts":null},{"Protocol":"TCP","Port":10022,"Offset":0,"Range":1,"Ref":"ServerQuerySSH","Name":"SSH Port","Description":"Port for SSH administration","ChildPorts":null},{"Protocol":"TCP","Port":10080,"Offset":0,"Range":1,"Ref":"WebQueryHTTP","Name":"HTTP Port","Description":"Port for HTTP administration","ChildPorts":null},{"Protocol":"TCP","Port":10443,"Offset":0,"Range":1,"Ref":"WebQueryHTTPS","Name":"HTTPS Port","Description":"Port for HTTPS administration","ChildPorts":null}] -App.AdminPortRef=ServerQueryRAW -App.PrimaryApplicationPortRef=Voice -App.UniversalSleepApplicationUDPPortRef= -App.UniversalSleepSteamQueryPortRef= -App.MaxUsers=32 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword= -App.AdminMethod=STDIO -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"TeamSpeak 3 Windows","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['windows']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"TeamSpeak 3 Linux","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURLFromJQ","UpdateSourceData":"https://teamspeak.com/versions/server.json","UpdateSourceArgs":"$['linux']['x86_64']['mirrors']['teamspeak.com']","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s {{$FullBaseDir}}teamspeak3-server_linux_amd64 {{$FullBaseDir}}teamspeak3-server_win64"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/teamspeak3server.ini","UpdateSourceTarget":"{{$FullBaseDir}}teamspeak3-server_win64/","OverwriteExistingFiles":false}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=0 -App.UniversalSleepSteamQueryPort=0 -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^$ -Console.AppReadyRegex=^$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -Console.UpdateAvailableRegex=^$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=True -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/teamspeak3config.json b/teamspeak3config.json deleted file mode 100644 index 6c57bf0a7..000000000 --- a/teamspeak3config.json +++ /dev/null @@ -1,489 +0,0 @@ -[ - { - "DisplayName": "Voice IP", - "Description": "", - "Category": "Hidden Settings", - "Keywords": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "voice_ip", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "File Transfer IP", - "Description": "", - "Category": "Hidden Settings", - "Keywords": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "filetransfer_ip", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query IP", - "Description": "", - "Category": "Hidden Settings", - "Keywords": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "query_ip", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query SSH IP", - "Description": "", - "Category": "Hidden Settings", - "Keywords": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "query_ssh_ip", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query HTTP IP", - "Description": "", - "Category": "Hidden Settings", - "Keywords": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "query_http_ip", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query HTTPS IP", - "Description": "", - "Category": "Hidden Settings", - "Keywords": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "query_https_ip", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Default Voice Port", - "Description": "", - "Category": "Hidden Settings", - "Keywords": "", - "FieldName": "$Voice", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "default_voice_port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "File Transfer Port", - "Description": "", - "Category": "Hidden Settings", - "Keywords": "", - "FieldName": "$Filetransfer", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "filetransfer_port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query Port (Telnet/RAW)", - "Description": "", - "Category": "Server Settings", - "Keywords": "", - "FieldName": "$ServerQueryRAW", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "query_port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query Port (SSH)", - "Description": "", - "Category": "Server Settings", - "Keywords": "", - "FieldName": "$ServerQuerySSH", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "query_ssh_port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query Port (HTTP)", - "Description": "", - "Category": "Server Settings", - "Keywords": "", - "FieldName": "$WebQueryHTTP", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "query_http_port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query Port (HTTPS)", - "Description": "", - "Category": "Server Settings", - "Keywords": "", - "FieldName": "$WebQueryHTTPS", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "query_https_port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Machine ID", - "Description": "Optional name of this server process to identify a group of servers with the same ID.", - "Category": "Server Settings", - "Keywords": "machine,id", - "FieldName": "machine_id", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "machine_id", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "License File Path", - "Description": "The physical path where your license file is located. You must replace the existing \"licensekey.dat\" file with the one provided after purchasing. This file can be found in File Manager inside the instance.", - "Category": "Server Settings", - "Keywords": "license,path", - "FieldName": "licensepath", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "licensepath", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Query Protocols", - "Category": "Server Settings", - "Description": "Protocols that can be used to connect to the ServerQuery. You must choose a Telnet option for AMP console to function fully.", - "Keywords": "query,protocols", - "FieldName": "query_protocols", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "query_protocols", - "IncludeInCommandLine": false, - "DefaultValue": "raw", - "EnumValues": { - "": "none", - "http": "HTTP", - "raw": "Telnet", - "raw,http": "Telnet, HTTP", - "raw,ssh": "Telnet, SSH", - "raw,ssh,http": "Telnet, SSH, HTTP", - "ssh": "SSH", - "ssh,http": "SSH, HTTP" - } - }, - { - "DisplayName": "Query Timeout", - "Description": "Number of seconds before a query connection is disconnected because of user inactivity.", - "Category": "Server Settings", - "Keywords": "query,timeout", - "FieldName": "query_timeout", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "query_timeout", - "IncludeInCommandLine": false, - "DefaultValue": "300", - "Suffix": "seconds", - "EnumValues": {} - }, - { - "DisplayName": "Query Pool Size (2-32)", - "Description": "The number of threads to use for the query pool. Advanced users with large slot counts or high query usage may wish to try higher numbers here.", - "Category": "Server Settings", - "Keywords": "query,pool,size", - "FieldName": "query_pool_size", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "query_pool_size", - "IncludeInCommandLine": false, - "DefaultValue": "2", - "Suffix": "threads", - "EnumValues": {} - }, - { - "DisplayName": "Query Buffer Size (1-20)", - "Description": "Server Query connections have a combined maximum buffer size. When this limit is exceeded, the connection using the most memory is closed.", - "Category": "Server Settings", - "Keywords": "query,buffer,size,mb", - "FieldName": "query_buffer_mb", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "query_buffer_mb", - "IncludeInCommandLine": false, - "DefaultValue": "20", - "Suffix": "MB", - "EnumValues": {} - }, - { - "DisplayName": "Permit Query Access", - "Description": "A list of IP addresses permitted to access the query methods.", - "Keywords": "permit,query,access", - "FieldName": "query_ip_allowlist_list", - "Category": "Server Settings", - "InputType": "list", - "Special": "listfile:./ts3/teamspeak3-server_win64/query_ip_allowlist.txt" - }, - { - "DisplayName": "Deny Query Access", - "Description": "A list of IP addresses permitted to access the query methods.", - "Keywords": "deny,query,access", - "FieldName": "query_ip_denylist_list", - "Category": "Server Settings", - "InputType": "list", - "Special": "listfile:./ts3/teamspeak3-server_win64/query_ip_denylist.txt" - }, - { - "DisplayName": "DB Plugin", - "Category": "Server Settings", - "Description": "Name of the database plugin library used by the server instance.", - "Keywords": "db,database,plugin", - "FieldName": "dbplugin", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "dbplugin", - "IncludeInCommandLine": false, - "DefaultValue": "ts3db_sqlite3", - "EnumValues": { - "ts3db_mariadb": "MariaDB/MySQL", - "ts3db_postgresql": "PostgreSQL", - "ts3db_sqlite3": "SQLite3" - } - }, - { - "DisplayName": "DB Plugin Parameter", - "Description": "A custom parameter passed to the database plugin library. For example, the MariaDB database plugin supports a parameter to specify the physical path of the plugins configuration file.", - "Category": "Server Settings", - "Keywords": "db,database,plugin,parameter", - "FieldName": "dbpluginparameter", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "dbpluginparameter", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "DB SQL Path", - "Description": "The physical path where your SQL script files are located.", - "Category": "Server Settings", - "Keywords": "db,database,sql,path", - "FieldName": "dbsqlpath", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "dbsqlpath", - "IncludeInCommandLine": false, - "DefaultValue": "sql/", - "EnumValues": {} - }, - { - "DisplayName": "DB SQL Create Path", - "Description": "The physical path where your SQL installation files are located. Note that this path will be added to the value of the 'dbsqlpath' parameter.", - "Category": "Server Settings", - "Keywords": "db,database,sql,path", - "FieldName": "dbsqlcreatepath", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "dbsqlcreatepath", - "IncludeInCommandLine": false, - "DefaultValue": "create_sqlite/", - "EnumValues": {} - }, - { - "DisplayName": "DB Connections (2-100)", - "Description": "The number of database connections used by the server. Please note that changing this value can have an affect on your servers performance. Possible values are 2-100.", - "Category": "Server Settings", - "Keywords": "db,database,connections", - "FieldName": "dbconnections", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "dbconnections", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "Suffix": "connections", - "EnumValues": {} - }, - { - "DisplayName": "RCON (Admin) Password", - "Description": "See the Security and Privacy menu for configurable options for the server's RCON.", - "Category": "Server Settings", - "Keywords": "admin,RCON,password", - "FieldName": "$RemoteAdminPassword", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "serveradmin_password", - "IncludeInCommandLine": false, - "EnumValues": {} - }, - { - "DisplayName": "Log Path", - "Description": "The physical path where the server will create logfiles.", - "Category": "Server Settings", - "Keywords": "log,path", - "FieldName": "logpath", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "logpath", - "IncludeInCommandLine": false, - "DefaultValue": "logs/", - "EnumValues": {} - }, - { - "DisplayName": "Log Query Commands", - "Description": "The server will log every ServerQuery command executed by clients.", - "Category": "Server Settings", - "Keywords": "log,query,commands", - "FieldName": "logquerycommands", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "logquerycommands", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "Log Query Timing Interval", - "Description": "Defines the number of seconds before ServerQuery command timing is reported.", - "Category": "Server Settings", - "Keywords": "db,client,keep,days", - "FieldName": "logquerytiminginterval", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "logquerytiminginterval", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "DB Client Keep Days", - "Description": "Defines how many days to keep unused client identities. Auto-pruning is triggered on every start and on every new month while the server is running.", - "Category": "Server Settings", - "Keywords": "db,client,keep,days", - "FieldName": "dbclientkeepdays", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "dbclientkeepdays", - "IncludeInCommandLine": false, - "DefaultValue": "90", - "EnumValues": {} - }, - { - "DisplayName": "Log Append", - "Description": "The server will not create a new logfile on every start. Instead, the log output will be appended to the previous logfile.", - "Category": "Server Settings", - "Keywords": "log,append", - "FieldName": "logappend", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "logappend", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "Skip Brute Force Check", - "Description": "The server will skip and bruteforce protection for whitelisted Ip addresses for the ServerQuery interface.", - "Category": "Server Settings", - "Keywords": "disable,skip,brute,force,check", - "FieldName": "query_skipbruteforcecheck", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "query_skipbruteforcecheck", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "EnumValues": { - "True": "1", - "False": "0" - } - }, - { - "DisplayName": "HTTP Proxy", - "Description": "If set, the server will use the specified proxy to contact the accounting server over http.", - "Category": "Server Settings", - "Keywords": "http,proxy", - "FieldName": "http_proxy", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "http_proxy", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Server Query Docs Path", - "Description": "Physical location where the server is looking for the documents used for the help command in ServerQuery.", - "Category": "Server Settings", - "Keywords": "server,query,docs,path", - "FieldName": "serverquerydocs_path", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "serverquerydocs_path", - "IncludeInCommandLine": false, - "DefaultValue": "serverquerydocs/", - "EnumValues": {} - }, - { - "DisplayName": "MMDB Path", - "Description": "Set to the path of an MMDB file to use this as a source for GeoIP lookups. Requires libmaxminddb installed, which can be found in most Linux distributions as a package. Windows users can use the .dll found in the redist folder.", - "Category": "Server Settings", - "Keywords": "mmdb,file,path,geoip,lookups", - "FieldName": "mmdbpath", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "mmdbpath", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - } -] \ No newline at end of file diff --git a/teamspeak3metaconfig.json b/teamspeak3metaconfig.json deleted file mode 100644 index 6f34ced30..000000000 --- a/teamspeak3metaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile": "teamspeak3-server_win64/teamspeak3server.ini", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - } -] \ No newline at end of file diff --git a/teamspeak3server.ini b/teamspeak3server.ini deleted file mode 100644 index fff839abc..000000000 --- a/teamspeak3server.ini +++ /dev/null @@ -1,37 +0,0 @@ -machine_id= -default_voice_port=9987 -voice_ip=0.0.0.0 -licensepath= -filetransfer_port=30033 -filetransfer_ip=0.0.0.0 -query_port=10011 -query_ip=0.0.0.0 -query_ip_allowlist=query_ip_allowlist.txt -query_ip_denylist=query_ip_denylist.txt -serveradmin_password= -dbplugin=ts3db_sqlite3 -dbpluginparameter= -dbsqlpath=sql/ -dbsqlcreatepath=create_sqlite/ -dbconnections=10 -logpath=logs/ -logquerycommands=0 -dbclientkeepdays=90 -logappend=0 -query_skipbruteforcecheck=0 -query_buffer_mb=20 -http_proxy= -license_accepted=1 -serverquerydocs_path=serverquerydocs/ -query_ssh_ip=0.0.0.0 -query_ssh_port=10022 -query_protocols=raw -query_ssh_rsa_host_key=ssh_host_rsa_key -query_timeout=300 -query_http_ip=0.0.0.0 -query_http_port=10080 -query_https_ip=0.0.0.0 -query_https_port=10443 -query_pool_size=2 -mmdbpath= -logquerytiminginterval=0 \ No newline at end of file diff --git a/terraria.kvp b/terraria.kvp deleted file mode 100644 index 404beed78..000000000 --- a/terraria.kvp +++ /dev/null @@ -1,63 +0,0 @@ -Meta.DisplayName=Terraria -Meta.Description=Terraria generic module with support for various options. -Meta.Author=JasperFirecai2, EnderWolf, IceOfWraith -Meta.MetaConfigManifest=terrariametaconfig.json -Meta.ConfigRoot=terraria.kvp -Meta.ConfigManifest=terrariaconfig.json -Meta.DisplayImageSource=steam:105600 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.OS=Windows, Linux -Meta.URL=https://store.steampowered.com/app/105600/Terraria/ -Meta.MinAMPVersion=2.4.3.2 -Meta.ContainerPolicy=SupportedOnLinux, RecommendedOnWindows -Meta.ContainerPolicyReason=AMP's console is unable to provide console input on Windows for the Terraria server. It is able to do so on Linux, therefore Docker is recommended on Windows. -App.DisplayName=Terraria -App.RootDir=./Terraria/ -App.BaseDirectory=./Terraria/serverfiles -App.ExecutableWin=serverfiles/TerrariaServer.exe -App.ExecutableLinux=serverfiles/TerrariaServer -App.WorkingDir=serverfiles -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "105600"} -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=-server {{$FormattedArgs}} -players {{$MaxUsers}} -port {{$ApplicationPort1}} -config {{Config}} -App.CommandLineParameterFormat=-{0} {1} -App.AppSettings={"Config":"terrariaserverconfig.txt"} -App.CommandLineVars={} -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=exit -App.ExitFile=app_exit.lck -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.AdminMethod=STDIO -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"TCP","Port":7777,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Main Game Port","Description":"","ChildPorts":null}] -App.MaxUsers=8 -App.UpdateSources=[{"UpdateStageName":"Config Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/terrariaserverconfig.txt","UpdateSourceTarget":"serverfiles","OverwriteExistingFiles":false},{"UpdateStageName":"SteamCMD Terraria","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"105600","UpdateSourceTarget":"serverfiles"},{"UpdateStageName":"Backup Exclusions Download 1","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/exclusions/.backupExclusionsTerraria","UpdateSourceArgs":".backupExclude","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceConditionSetting":"backupExclude","UpdateSourceConditionValue":"true","OverwriteExistingFiles":false}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=1000 -App.MonitorChildProcessName=TerrariaServer.bin.x86_64 -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.AppReadyRegex=^Listening on port (\d+)$ -Console.UserJoinRegex=^(?<username>.+?) has joined\.$ -Console.UserLeaveRegex=^(?<username>.+?) has left\.$ -Console.UserChatRegex=^<(?<username>.+?)> (?<message>.+)$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.ThrowawayMessageRegex=^??Error Logging Enabled.$ -Console.SuppressLogAtStart=False -Console.UserActions={} -Limits.SleepMode=True -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 \ No newline at end of file diff --git a/terrariaconfig.json b/terrariaconfig.json deleted file mode 100644 index 50c3f6e5b..000000000 --- a/terrariaconfig.json +++ /dev/null @@ -1,505 +0,0 @@ -[ - { - "DisplayName": "World Seed", - "Category": "Terraria Generator settings", - "Keywords": "seed new world", - "Description": "Which world seed to use when generating a new world", - "FieldName": "Seed", - "ParamFieldName": "seed", - "placeholder": "PoweredByAMP", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": true, - "DefaultValue": "" - }, - { - "DisplayName": "World Size", - "Category": "Terraria Generator settings", - "Keywords": "size new world", - "Description": "Set the Size of the World", - "FieldName": "WorldSize", - "ParamFieldName": "autocreate", - "IncludeInCommandLine": true, - "InputType": "enum", - "EnumValues": { - "1": "1 - Small World", - "2": "2 - Medium World", - "3": "3 - Large World" - }, - "DefaultValue": "3" - }, - { - "DisplayName": "Difficulty", - "Category": "Terraria Generator settings", - "Keywords": "difficulty new world journey expert master", - "Description": "The difficulty of a newly generated world", - "FieldName": "Difficulty", - "ParamFieldName": "difficulty", - "InputType": "enum", - "EnumValues": { - "0": "Classic", - "1": "Expert", - "2": "Master", - "3": "Journey" - }, - "IncludeInCommandLine": false, - "DefaultValue": "0" - }, - { - "DisplayName": "Created World Name", - "Category": "Terraria Generator settings", - "Keywords": "name new world", - "Description": "How to name the new world if one is generated. Make sure the World name under Terraria Server Settings matches this name if you want to load it in subsequent starts.", - "FieldName": "WorldName", - "ParamFieldName": "worldname", - "placeholder": "World", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": true, - "DefaultValue": "world" - }, - { - "DisplayName": "Backup count", - "Category": "Terraria Generator settings", - "Keywords": "backup backups count world rollback", - "Description": "Sets the number of rolling world backups to keep", - "FieldName": "Backups", - "ParamFieldName": "worldrollbackstokeep", - "placeholder": "some integer", - "suffix": "Backups", - "InputType": "number", - "IncludeInCommandLine": false, - "DefaultValue": 2 - }, - { - "DisplayName": "World Path", - "Category": "Terraria Server settings", - "Keywords": "folder path world saves savegame worlds", - "Description": "The relative path to save worlds in", - "FieldName": "WorldPath", - "ParamFieldName": "worldpath", - "placeholder": "Worlds", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "Worlds" - }, - { - "DisplayName": "World Name", - "Category": "Terraria Server settings", - "Keywords": "name world worldname load boot", - "Description": "Which world to load on boot", - "FieldName": "World", - "ParamFieldName": "world", - "placeholder": "Worlds/world.wld", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": true, - "DefaultValue": "Worlds/world.wld" - }, - { - "DisplayName": "Max Players", - "Category": "Terraria Server settings", - "Keywords": "players max maximum", - "Description": "The maximum players in the server", - "FieldName": "$MaxUsers", - "ParamFieldName": "maxplayers", - "placeholder": "8", - "suffix": "Users", - "InputType": "number", - "IncludeInCommandLine": false, - "DefaultValue": "8", - "MinValue":"1" - }, - { - "DisplayName": "Password", - "Category": "Terraria Server settings", - "Keywords": "password pw security", - "Description": "The password players must enter to join", - "FieldName": "Password", - "ParamFieldName": "password", - "placeholder": "Password123", - "suffix": "", - "InputType": "password", - "IncludeInCommandLine": false, - "DefaultValue": "" - }, - { - "DisplayName": "Ban List", - "Category": "Terraria Server settings", - "Keywords": "ban banlist bans security", - "Description": "Where to store the ban list", - "FieldName": "BanList", - "ParamFieldName": "banlist", - "placeholder": "somefilename.txt", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "banlist.txt" - }, - { - "DisplayName": "Motd", - "Category": "Terraria Server settings", - "Keywords": "motd motto message welcome", - "Description": "The motto/message of the day", - "FieldName": "Motd", - "ParamFieldName": "motd", - "placeholder": "Welcome!", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "Welcome!" - }, - { - "DisplayName": "Language", - "Category": "Terraria Server settings", - "Keywords": "language lang", - "Description": "The language of your server", - "FieldName": "Language", - "ParamFieldName": "language", - "InputType": "enum", - "EnumValues": { - "en-US": "English", - "de-DE": "German", - "it-IT": "Italian", - "fr-FR": "French", - "es-ES": "Spanish", - "ru-RU": "Russian", - "zh-Hans": "Chinese", - "pt-PT": "Portuguese", - "pt-BR": "Portuguese (Brazil)", - "pl-PL": "Polish" - }, - "IncludeInCommandLine": false, - "DefaultValue": "en-US" - }, - { - "DisplayName": "Priority", - "Category": "Terraria Server settings", - "Keywords": "priority process prio performance", - "Description": "The process priority", - "FieldName": "Priority", - "ParamFieldName": "priority", - "InputType": "enum", - "EnumValues": { - "0": "Realtime", - "1": "High", - "2": "AboveNormal", - "3": "Normal", - "4": "BelowNormal", - "5": "Idle" - }, - "IncludeInCommandLine": false, - "DefaultValue": "1" - }, - { - "DisplayName": "NPC Stream", - "Category": "Terraria Server settings", - "Keywords": "npc stream skipping lag bandwidth performance", - "Description": "Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off.", - "FieldName": "NPCStream", - "ParamFieldName": "npcstream", - "placeholder": "60", - "suffix": "", - "InputType": "number", - "IncludeInCommandLine": false, - "DefaultValue": 60 - }, - { - "DisplayName": "Slower Liquids", - "Category": "Terraria Server settings", - "Keywords": "slow liquid liquids slower lag performance", - "Description": "Reduces maximum liquids moving at the same time. If enabled may reduce lag but liquids may take longer to settle.", - "FieldName": "Slowliquids", - "ParamFieldName": "slowliquids", - "InputType": "checkbox", - "IncludeInCommandLine": false, - "EnumValues": { - "False": "0", - "True": "1" - }, - "DefaultValue": "1" - }, - { - "DisplayName": "Cheat Protection", - "Category": "Terraria Server settings", - "Keywords": "security cheat cheats auto kick spam", - "Description": "Enable/Disable additional cheat protection. This may cause unwanted automatic kicks", - "FieldName": "Secure", - "ParamFieldName": "secure", - "InputType": "checkbox", - "IncludeInCommandLine": false, - "EnumValues": { - "False": "0", - "True": "1" - }, - "DefaultValue": "0" - }, - { - "DisplayName": "Disable Announcement Box", - "Category": "Terraria Server settings", - "Keywords": "announcement box disable griefing", - "Description": "Enable/Disable the text announcements Announcement Box makes when pulsed from wire.", - "FieldName": "DisableAnnouncementBox", - "InputType": "checkbox", - "IncludeInCommandLine": true, - "ParamFieldName": "disableannouncementbox", - "IsFlagArgument": true, - "DefaultValue": "-disableannouncementbox" - }, - { - "DisplayName": "Announcement Box Range", - "Category": "Terraria Server settings", - "Keywords": "announcement box range griefing", - "Description": "Sets the announcement box text messaging range in pixels, -1 for serverwide announcements.", - "FieldName": "AnnouncementBoxRange", - "placeholder": "-1", - "suffix": "Pixels", - "InputType": "number", - "IncludeInCommandLine": true, - "ParamFieldName": "announcementboxrange", - "DefaultValue": "-1" - }, - { - "DisplayName": "Freeze time", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power freeze time stop clock", - "Description": "Journey mode power permissions for every individual power. 'Host' is only relevant when using steam integration, which is not supported by AMP by default.", - "FieldName": "time_setfrozen", - "ParamFieldName": "journeypermission_time_setfrozen", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set to Dawn", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power dawn time clock", - "FieldName": "time_setdawn", - "ParamFieldName": "journeypermission_time_setdawn", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set to Noon", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power noon time clock", - "FieldName": "time_setnoon", - "ParamFieldName": "journeypermission_time_setnoon", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set to Dusk", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power dusk time clock", - "FieldName": "time_setdusk", - "ParamFieldName": "journeypermission_time_setdusk", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set to Midnight", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power midnight time clock", - "FieldName": "time_setmidnight", - "ParamFieldName": "journeypermission_time_setmidnight", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "God Mode", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power god godmode", - "FieldName": "godmode", - "ParamFieldName": "journeypermission_godmode", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set wind intensity", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power wind set strength", - "FieldName": "wind_setstrength", - "ParamFieldName": "journeypermission_wind_setstrength", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set rain intensity", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power rain set strength", - "FieldName": "rain_setstrength", - "ParamFieldName": "journeypermission_rain_setstrength", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Change game speed", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power speed time speedup", - "FieldName": "time_setspeed", - "ParamFieldName": "journeypermission_time_setspeed", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Lock rain conditions", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power rain lock freeze", - "FieldName": "rain_setfrozen", - "ParamFieldName": "journeypermission_rain_setfrozen", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Lock Wind conditions", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power wind lock freeze", - "FieldName": "wind_setfrozen", - "ParamFieldName": "journeypermission_wind_setfrozen", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Placement Range", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power placement range reach tile", - "FieldName": "increaseplacementrange", - "ParamFieldName": "journeypermission_increaseplacementrange", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Difficulty changing", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power difficulty", - "FieldName": "setdifficulty", - "ParamFieldName": "journeypermission_setdifficulty", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Biome/Evil Spreading", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power evil spread biome crimson hallow corrupted", - "FieldName": "biomespread_setfrozen", - "ParamFieldName": "journeypermission_biomespread_setfrozen", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Spawn Rate", - "Category": "Terraria Journey Permissions", - "Keywords": "journey mode permissions power spawn rate", - "FieldName": "setspawnrate", - "ParamFieldName": "journeypermission_setspawnrate", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName":"Download Backup Exclude File", - "Category":"SteamCMD and Updates", - "Description":"This downloads a default backup exclude file to save space on backups by only saving specific directories. If this is disabled, you will need to manually delete the .backupExclude file it downloads.", - "Keywords":"download,backup,exclude,file", - "FieldName":"backupExclude", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"backupExclude", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False": "false", - "True": "true" - } - } -] diff --git a/terrariametaconfig.json b/terrariametaconfig.json deleted file mode 100644 index 3631a4d17..000000000 --- a/terrariametaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile": "terrariaserverconfig.txt", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormat": "{0}={1}" - } -] \ No newline at end of file diff --git a/terrariaserverconfig.txt b/terrariaserverconfig.txt deleted file mode 100644 index ffc5eff1c..000000000 --- a/terrariaserverconfig.txt +++ /dev/null @@ -1,98 +0,0 @@ -#serverconfig.txt - -#This file is automatically generated by AMP. All uncommented settings are controlled by AMP. -#Any changes to uncommented settings will be lost when starting or updating the application -#Please use the AMP control panel to change these -#If you wish to configure other settings (those that are commented), you can do so manually -#But any future updates may overwrite these changes - -#the following is a list of available command line parameters: - -#-config <config file> Specifies the configuration file to use. -#-port <port number> Specifies the port to listen on. -#-players <number> / -maxplayers <number> Sets the max number of players -#-pass <password> / -password <password> Sets the server password -#-world <world file> Load a world and automatically start the server. -#-autocreate <#> Creates a world if none is found in the path specified by -world. World size is specified by: 1(small), 2(medium), and 3(large). -#-banlist <path> Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory. -#-worldname <world name> Sets the name of the world when using -autocreate. -#-secure Adds addition cheat protection to the server. -#-noupnp Disables automatic port forwarding -#-steam Enables Steam Support -#-lobby <friends> or <private> Allows friends to join the server or sets it to private if Steam is enabled -#-ip <ip address> Sets the IP address for the server to listen on -#-forcepriority <priority> Sets the process priority for this task. If this is used the "priority" setting below will be ignored. -#-disableannouncementbox Disables the text announcements Announcement Box makes when pulsed from wire. -#-announcementboxrange <number> Sets the announcement box text messaging range in pixels, -1 for serverwide announcements. -#-seed <seed> Specifies the world seed when using -autocreate - -#remove the # in front of commands to enable them. - -#Load a world and automatically start the server. -world={{world}} - -#Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large). -autocreate={{autocreate}} - -#Sets the world seed when using autocreate -seed={{seed}} - -#Sets the name of the world when using autocreate -worldname={{worldname}} - -#Sets the difficulty of the world when using autocreate 0(classic), 1(expert), 2(master), 3(journey) -difficulty={{Difficulty}} - -#Sets the max number of players allowed on a server. Value must be between 1 and 255 -maxplayers={{$MaxUsers}} - -#Set the server password -password={{Password}} - -#Set the message of the day -motd={{Motd}} - -#Sets the folder where world files will be stored -worldpath={{WorldPath}} - -#Sets the number of rolling world backups to keep -worldrollbackstokeep={{Backups}} - -#The location of the banlist. Defaults to "banlist.txt" in the working directory. -banlist={{BanList}} - -#Adds addition cheat protection. -secure={{Secure}} - -#Sets the server language from its language code. -#English = en-US, German = de-DE, Italian = it-IT, French = fr-FR, Spanish = es-ES, Russian = ru-RU, Chinese = zh-Hans, Portuguese = pt-BR, Polish = pl-PL, -language={{Language}} - -#Automatically forward ports with uPNP -#upnp=1 - -#Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off. -npcstream={{NpcStream}} - -#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNormal, 5:Idle -priority={{Priority}} - -#Reduces maximum liquids moving at the same time. If enabled may reduce lags but liquids may take longer to settle. -slowliquids={{Slowliquids}} - -#Journey mode power permissions for every individual power. 0: Locked for everyone, 1: Can only be changed by host, 2: Can be changed by everyone -journeypermission_time_setfrozen={{time_setfrozen}} -journeypermission_time_setdawn={{time_setdawn}} -journeypermission_time_setnoon={{time_setnoon}} -journeypermission_time_setdusk={{time_setdusk}} -journeypermission_time_setmidnight={{time_setmidnight}} -journeypermission_godmode={{godmode}} -journeypermission_wind_setstrength={{wind_setstrength}} -journeypermission_rain_setstrength={{rain_setstrength}} -journeypermission_time_setspeed={{time_setspeed}} -journeypermission_rain_setfrozen={{rain_setfrozen}} -journeypermission_wind_setfrozen={{wind_setfrozen}} -journeypermission_increaseplacementrange={{increaseplacementrange}} -journeypermission_setdifficulty={{setdifficulty}} -journeypermission_biomespread_setfrozen={{biomespread_setfrozen}} -journeypermission_setspawnrate={{setspawnrate}} diff --git a/the-forest.kvp b/the-forest.kvp deleted file mode 100644 index 5227edc92..000000000 --- a/the-forest.kvp +++ /dev/null @@ -1,88 +0,0 @@ -Meta.DisplayName=The Forest -Meta.Description=The Forest Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=CubeCoders Limited, IceOfWraith -Meta.URL=https://store.steampowered.com/app/242760/The_Forest/ -Meta.DisplayImageSource=steam:242760 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$queryPort} -Meta.ConfigManifest=the-forestconfig.json -Meta.MetaConfigManifest=the-forestmetaconfig.json -Meta.ConfigRoot=the-forest.kvp -Meta.MinAMPVersion=2.3.4.3 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.ContainerPolicyReason= -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=The Forest -App.RootDir=./the-forest/ -App.BaseDirectory=./the-forest/556450/ -App.ExecutableWin=556450\TheForestDedicatedServer.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=556450 -App.LinuxCommandLineArgs=-a wine "./TheForestDedicatedServer.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -showlogs -batchmode -configfilepath the-forestserver.cfg -savefolderpath saves {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"242760","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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":2,"Port":27015,"Offset":0,"Range":1,"Ref":"gamePort","Name":"Game Main Port","Description":"Game Main Port","ChildPorts":null},{"Protocol":2,"Port":8766,"Offset":0,"Range":1,"Ref":"steamPort","Name":"Steam Main Port","Description":"Steam Main Port","ChildPorts":null},{"Protocol":2,"Port":27016,"Offset":0,"Range":1,"Ref":"queryPort","Name":"Steam Query Port","Description":"Steam Query Port","ChildPorts":null}] -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=gamePort -App.UniversalSleepApplicationUDPPortRef=gamePort -App.UniversalSleepSteamQueryPortRef=queryPort -App.MaxUsers=4 -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": "556450", "UpdateSourceArgs": "242760", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/the-forestserver.cfg","UpdateSourceTarget": "./556450/"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=3000 -App.MonitorChildProcessName=wine64 -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^GameServer init success.*$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= -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/the-forestconfig.json b/the-forestconfig.json deleted file mode 100644 index 22ae7b0ab..000000000 --- a/the-forestconfig.json +++ /dev/null @@ -1,383 +0,0 @@ -[ - { - "DisplayName": "serverIP", - "Category": "Forest - Server Config", - "Description": "serverIP is the binding IP", - "Keywords": "", - "FieldName": "$ApplicationIPBinding", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "serverIP", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "serverSteamPort", - "Category": "Forest - Server Config", - "Description": "serverSteamPort is the main Steam port", - "Keywords": "", - "FieldName": "$steamPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "serverSteamPort", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "serverGamePort", - "Category": "Forest - Server Config", - "Description": "serverGamePort is the main game port", - "Keywords": "", - "FieldName": "$gamePort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "serverGamePort", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "serverQueryPort", - "Category": "Forest - Server Config", - "Description": "serverQueryPort is Steam's query port", - "Keywords": "", - "FieldName": "$queryPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "serverQueryPort", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Hidden": true, - "EnumValues": {} - }, - { - "DisplayName": "Server Name", - "Category": "Forest - Server Config", - "Description": "Server display name.", - "Keywords": "server,Name", - "FieldName": "serverName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "serverName", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Forest Server", - "Placeholder": "AMP Forest Server", - "EnumValues": {} - }, - { - "DisplayName": "Max Players", - "Category": "Forest - Server Config", - "Description": "Maximum number of players.", - "Keywords": "server,Players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "serverPlayers", - "IncludeInCommandLine": false, - "DefaultValue": "4", - "Placeholder": "4", - "Suffix": "Players", - "EnumValues": {}, - "MinValue":"1" - }, - { - "DisplayName": "Server Password", - "Category": "Forest - Server Config", - "Description": "Server password. Blank means no password.", - "Keywords": "server,password", - "FieldName": "serverPassword", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "serverPassword", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Server Admin Password", - "Category": "Forest - Server Config", - "Description": "Server administration password. Blank means no password.", - "Keywords": "server,admin,password", - "FieldName": "serverPasswordAdmin", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "serverPasswordAdmin", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Server Steam Account", - "Category": "Forest - Server Config", - "Description": "Use appid 242760 to create a [Steam Server Login Token](https://steamcommunity.com/dev/managegameservers)", - "Keywords": "server,steam,account", - "FieldName": "serverSteamAccount", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "serverSteamAccount", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "A375E0CE4E8AB079638DADA3871BEF1B", - "EnumValues": {} - }, - { - "DisplayName": "Save Slot", - "Category": "Forest - Server Config", - "Description": "Slot to save the game.", - "Keywords": "save,slot", - "FieldName": "slot", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "slot", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "EnumValues": { - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5" - } - }, - { - "DisplayName": "Vegan Mode", - "Category": "Forest - Gameplay Config", - "Description": "No enemies.", - "Keywords": "vegan,mode", - "FieldName": "veganMode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "veganMode", - "IncludeInCommandLine": false, - "DefaultValue": "off", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Vegetarian Mode", - "Category": "Forest - Gameplay Config", - "Description": "No enemies during day time.", - "Keywords": "vegetarian,mode", - "FieldName": "vegetarianMode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "vegetarianMode", - "IncludeInCommandLine": false, - "DefaultValue": "off", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Allow Building Destruction", - "Category": "Forest - Gameplay Config", - "Description": "Allow building destruction.", - "Keywords": "allow,building,destruction", - "FieldName": "allowBuildingDestruction", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "allowBuildingDestruction", - "IncludeInCommandLine": false, - "DefaultValue": "on", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Tree Regrow Mode", - "Category": "Forest - Gameplay Config", - "Description": "Regrow 10% of cut down trees when sleeping.", - "Keywords": "tree,regrow,mode", - "FieldName": "treeRegrowMode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "treeRegrowMode", - "IncludeInCommandLine": false, - "DefaultValue": "off", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Allow Cheats", - "Category": "Forest - Gameplay Config", - "Description": "Allow clients to use the built in debug console.", - "Keywords": "allow,cheats", - "FieldName": "allowCheats", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "allowCheats", - "IncludeInCommandLine": false, - "DefaultValue": "off", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Reset Holes Mode", - "Category": "Forest - Gameplay Config", - "Description": "Reset all structure holes when loading a save.", - "Keywords": "reset,holes,mode", - "FieldName": "resetHolesMode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "resetHolesMode", - "IncludeInCommandLine": false, - "DefaultValue": "off", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Allow Enemies in Creative Mode", - "Category": "Forest - Gameplay Config", - "Description": "Allow enemies in creative games.", - "Keywords": "allow,enemies,creative,mode", - "FieldName": "allowEnemiesCreativeMode", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "allowEnemiesCreativeMode", - "IncludeInCommandLine": false, - "DefaultValue": "off", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Realistic Player Damage", - "Category": "Forest - Gameplay Config", - "Description": "Players take more damage.", - "Keywords": "realistic,player,damage", - "FieldName": "realisticPlayerDamage", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "realisticPlayerDamage", - "IncludeInCommandLine": false, - "DefaultValue": "off", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Enable VAC", - "Category": "Forest - Server Config", - "Description": "Enable VAC (Valve Anti-cheat System) on the server.", - "Keywords": "enable,vac,valve,anti,cheat", - "FieldName": "enableVAC", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "enableVAC", - "IncludeInCommandLine": false, - "DefaultValue": "off", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Server Save Interval", - "Category": "Forest - Server Config", - "Description": "Time between server auto saves in minutes - The minumum time is 15 minutes, the default time is 30.", - "Keywords": "server,auto,save,interval", - "FieldName": "serverAutoSaveInterval", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "serverAutoSaveInterval", - "IncludeInCommandLine": false, - "DefaultValue": "30", - "Placeholder` ": "30", - "Suffix": "Minutes", - "EnumValues": {} - }, - { - "DisplayName": "Game Difficulty", - "Category": "Forest - Server Config", - "Description": "Game difficulty mode.", - "Keywords": "game,difficulty", - "FieldName": "difficulty", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "difficulty", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Peaceful": "Peaceful", - "Normal": "Normal", - "Hard": "Hard" - } - }, - { - "DisplayName": "Show Logs", - "Category": "Forest - Server Config", - "Description": "Show event log.", - "Keywords": "Show,event,log", - "FieldName": "showLogs", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "showLogs", - "IncludeInCommandLine": false, - "DefaultValue": "off", - "EnumValues": { - "False": "off", - "True": "on" - } - }, - { - "DisplayName": "Server Contact", - "Category": "Forest - Server Config", - "Description": "Contact email for server admin.", - "Keywords": "server,contact,email", - "FieldName": "serverContact", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "serverContact", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder": "email@gmail.com", - "EnumValues": {} - }, - { - "DisplayName": "Target Idle FPS", - "Category": "Forest - Server Config", - "Description": "Target FPS when no client is connected.", - "Keywords": "target,idle,fps", - "FieldName": "targetFpsIdle", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "targetFpsIdle", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "Placeholder": "5", - "Suffix": "FPS", - "EnumValues": {} - }, - { - "DisplayName": "Target Active FPS", - "Category": "Forest - Server Config", - "Description": "Target FPS when there is at least one client connected.", - "Keywords": "target,active,fps", - "FieldName": "targetFpsActive", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "targetFpsActive", - "IncludeInCommandLine": false, - "DefaultValue": "60", - "Placeholder": "60", - "Suffix": "FPS", - "EnumValues": {} - } -] \ No newline at end of file diff --git a/the-forestmetaconfig.json b/the-forestmetaconfig.json deleted file mode 100644 index 4a82b0bef..000000000 --- a/the-forestmetaconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "ConfigFile": "the-forestserver.cfg", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormat": "{0} {1}", - "ConfigFormatRegex": "^(?<key>.+?) (?<value>.*?)$" - } -] \ No newline at end of file diff --git a/the-forestserver.cfg b/the-forestserver.cfg deleted file mode 100644 index fb69c1b2f..000000000 --- a/the-forestserver.cfg +++ /dev/null @@ -1,55 +0,0 @@ -// Dedicated Server Settings. -// Server IP address - Note: If you have a router, this address is the internal address, and you need to configure ports forwarding -serverIP 0.0.0.0 -// Steam Communication Port - Note: If you have a router you will need to open this port. -serverSteamPort 8766 -// Game Communication Port - Note: If you have a router you will need to open this port. -serverGamePort 27015 -// Query Communication Port - Note: If you have a router you will need to open this port. -serverQueryPort 27016 -// Server display name -serverName AMP Forest Server -// Maximum number of players -serverPlayers 4 -// Enable VAC (Valve Anti-cheat System at the server. Must be set off or on -enableVAC off -// Server password. blank means no password -serverPassword -// Server administration password. blank means no password -serverPasswordAdmin -// Your Steam account name. blank means anonymous -serverSteamAccount -// Time between server auto saves in minutes - The minumum time is 15 minutes, the default time is 30 -serverAutoSaveInterval 30 -// Game difficulty mode. Must be set to Peaceful Normal or Hard -difficulty Normal -// New or continue a game. Must be set to New or Continue -initType Continue -// Slot to save the game. Must be set 1 2 3 4 or 5 -slot 1 -// Show event log. Must be set off or on -showLogs off -// Contact email for server admin -serverContact email@gmail.com -// No enemies -veganMode off -// No enemies during day time -vegetarianMode off -// Reset all structure holes when loading a save -resetHolesMode off -// Regrow 10% of cut down trees when sleeping -treeRegrowMode off -// Allow building destruction -allowBuildingDestruction on -// Allow enemies in creative games -allowEnemiesCreativeMode off -// Allow clients to use the built in debug console -allowCheats off -// Use full weapon damage values when attacking other players -realisticPlayerDamage off -// Allows defining a custom folder for save slots, leave empty to use the default location -saveFolderPath saves -// Target FPS when no client is connected -targetFpsIdle 5 -// Target FPS when there is at least one client connected -targetFpsActive 60 diff --git a/theisle-evrima.kvp b/theisle-evrima.kvp deleted file mode 100644 index 4cf46d485..000000000 --- a/theisle-evrima.kvp +++ /dev/null @@ -1,75 +0,0 @@ -Meta.DisplayName=The Isle (EVRIMA) -Meta.Description=The Isle (EVRIMA) Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://survivetheisle.com/ -Meta.DisplayImageSource=steam:376210 -Meta.EndpointURIFormat= -Meta.ConfigManifest=theisle-evrimaconfig.json -Meta.MetaConfigManifest=theisle-evrimametaconfig.json -Meta.ConfigRoot=theisle-evrima.kvp -Meta.MinAMPVersion=2.3.3.0 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=The Isle (EVRIMA) -App.RootDir=./theisle/ -App.BaseDirectory=./theisle/412680/ -App.ExecutableWin=412680/TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe -App.ExecutableLinux=412680/TheIsle/Binaries/Linux/TheIsleServer-Linux-Shipping -App.WorkingDir=412680 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=TheIsle {{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout -FullStdOutLogOutput -ini:Engine:[EpicOnlineServices]:DedicatedServerClientId=xyza7891gk5PRo3J7G9puCJGFJjmEguW -ini:Engine:[EpicOnlineServices]:DedicatedServerClientSecret=pKWl6t5i9NJK8gTpVlAxzENZ65P8hYzodV8Dqe5Rlc8 -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210"} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=Shutdown -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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":7778,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server query traffic"},{"Protocol":"TCP","Port":10000,"Ref":"QueuePort","Name":"Queue Port","Description":"Port for queue server traffic"},{"Protocol":"TCP","Port":8888,"Ref":"RCONPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.PrimaryApplicationPortRef=GamePort -App.AdminPortRef=RCONPort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=50 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword= -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceArgs":"376210","UpdateSourceVersion":"evrima"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Windows","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"Linux","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/LinuxServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-evrimagame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-evrimagame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/LinuxServer/","OverwriteExistingFiles":false}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex=\[\d+m -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\]LogLoad: Took \d+\.\d+ seconds to LoadMap\((?:.+)\)$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=True -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/theisle-evrimaconfig.json b/theisle-evrimaconfig.json deleted file mode 100644 index 80a9a6211..000000000 --- a/theisle-evrimaconfig.json +++ /dev/null @@ -1,186 +0,0 @@ -[ - { - "DisplayName":"Server Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"URL.Port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Query Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"URL.PeerPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Queue Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueuePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/TheIsle.TIGameSession.QueuePort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"RCON Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RCONPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"/Script/Engine.Game.RconPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"The name of the server as it appears publicly", - "Keywords":"name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/Script/TheIsle.TIGameSession.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"The Isle Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Set MultiHome IP", - "Category":"Server Settings", - "Description":"If needed, set a private or public IP to bind the server to, or 0.0.0.0 for all IPs", - "Keywords":"multihome,ip", - "FieldName":"MultiHome", - "InputType":"text", - "IsFlagArgument":false, - "SkipIfEmpty":true, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/Script/TheIsle.TIGameSession.MaxPlayerCount", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"/Script/Engine.GameSession.MaxPlayers", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable Global Chat", - "Category":"Server Settings", - "Description":"If enabled, all players will be able to use the global chat channel, not just admins", - "Keywords":"chat,global", - "FieldName":"bEnableGlobalChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/TheIsle.TIGameSession.bEnableGlobalChat", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable RCON", - "Category":"Server Settings", - "Description":"Enables the RCON server", - "Keywords":"rcon,enable", - "FieldName":"RconEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Engine.Game.RconEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"RCON Password", - "Category":"Server Settings", - "Description":"Password to connect to RCON. NOTE: You should generate a password after enabling RCON", - "Keywords":"rcon,password", - "FieldName":"RconPassword", - "InputType":"RandomPassword", - "IsFlagArgument":false, - "ParamFieldName":"/Script/Engine.Game.RconPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Enable Queue Server", - "Category":"Server Settings", - "Description":"If enabled, players can queue to join a full server. Requires the Queue Port to be opened", - "Keywords":"queue,server", - "FieldName":"bQueueEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/TheIsle.TIGameSession.bQueueEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Humans", - "Category":"Server Settings", - "Description":"If set, human characters will be enabled on the server", - "Keywords":"human,characters", - "FieldName":"bEnableHumans", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/Script/TheIsle.TIGameSession.bEnableHumans", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - } -] diff --git a/theisle-evrimagame.ini b/theisle-evrimagame.ini deleted file mode 100644 index 460f959c7..000000000 --- a/theisle-evrimagame.ini +++ /dev/null @@ -1,21 +0,0 @@ -[/Script/TheIsle.TIGameStateBase] -;AdminsSteamIDs= - -[/Script/TheIsle.TIGameSession] -ServerName=The Isle Server - Powered by AMP -MaxPlayerCount=50 -bEnableGlobalChat=true -bGlobalIsSpeciesOnly=false -bLocalIsSpeciesOnly=true -LocalChatRange=20000.f -bQueueEnabled=true -QueuePort=10000 -bEnableHumans=false - -[/Script/Engine.GameSession] -MaxPlayers=50 - -[/Script/Engine.Game] -RconEnabled=false -RconPort=8888 -RconPassword= diff --git a/theisle-evrimametaconfig.json b/theisle-evrimametaconfig.json deleted file mode 100644 index 0d66e0c6c..000000000 --- a/theisle-evrimametaconfig.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - { - "ConfigFile":"TheIsle/Saved/Config/WindowsServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"TheIsle/Saved/Config/LinuxServer/Game.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"TheIsle/Saved/Config/WindowsServer/Engine.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"TheIsle/Saved/Config/LinuxServer/Engine.ini", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - } -] \ No newline at end of file diff --git a/theisle-legacy.kvp b/theisle-legacy.kvp deleted file mode 100644 index 659045393..000000000 --- a/theisle-legacy.kvp +++ /dev/null @@ -1,79 +0,0 @@ -Meta.DisplayName=The Isle (Legacy) -Meta.Description=The Isle (Legacy) Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://survivetheisle.com/ -Meta.DisplayImageSource=steam:376210 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2} -Meta.ConfigManifest=theisle-legacyconfig.json -Meta.MetaConfigManifest=theisle-legacymetaconfig.json -Meta.ConfigRoot=theisle-legacy.kvp -Meta.MinAMPVersion=2.3.2.8 -Meta.SpecificDockerImage=cubecoders/ampbase:wine8 -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine 7 (or later) to run on Linux. Using a container avoids the need to install this dependency on the host. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=The Isle (Legacy) -App.RootDir=./theisle/ -App.BaseDirectory=./theisle/412680/ -App.ExecutableWin=412680/TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe -App.ExecutableLinux=/usr/bin/wine -App.WorkingDir=412680 -App.LinuxCommandLineArgs="./TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} TheIsle {{Map}}?game={{GameMode}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} {{$FormattedArgs}} -stdout -FullStdOutLogOutput -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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":7777,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":7778,"Ref":"ApplicationPort2","Name":"Query Port","Description":"Port for server query traffic"}] -App.PrimaryApplicationPortRef=ApplicationPort1 -App.AdminPortRef=0 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=ApplicationPort2 -App.MaxUsers=50 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceArgs":"376210","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-legacygame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=TheIsleServer-Win64-Shipping.exe -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\]LogGameState: Match State Changed from WaitingToStart to InProgress$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^(?:\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\])?LogIChat: \[[\d\:]+\] (\(.*\) )?(?<username>.+?): (?<message>.+)$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=True -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/theisle-legacyconfig.json b/theisle-legacyconfig.json deleted file mode 100644 index 5ac4e0eae..000000000 --- a/theisle-legacyconfig.json +++ /dev/null @@ -1,523 +0,0 @@ -[ - { - "DisplayName":"Server Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort1", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"url.Port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Query Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ApplicationPort2", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"url.PeerPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"The name of the server as it appears publicly", - "Keywords":"name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"The Isle Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"Server Settings", - "Description":"Welcome message when players join the server", - "Keywords":"welcome,message,motd", - "FieldName":"MOTD", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"MOTD", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to The Isle Server - powered by AMP!", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Password required to connect to the server. Default is no password", - "Keywords":"password", - "FieldName":"ServerPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Steam Group (Whitelist)", - "Category":"Server Settings", - "Description":"Sets the required SteamGroup64ID membership for players to join (whitelist server). Default is none", - "Keywords":"whitelist,steam,group", - "FieldName":"ServerSteamGroup", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerSteamGroup", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Set MultiHome IP", - "Category":"Server Settings", - "Description":"If needed, set a private or public IP to bind the server to, or 0.0.0.0 for all IPs", - "Keywords":"multihome,ip", - "FieldName":"MultiHome", - "InputType":"text", - "IsFlagArgument":false, - "SkipIfEmpty":true, - "ParamFieldName":"MultiHome", - "IncludeInCommandLine":true, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Enable Family Sharing", - "Category":"Server Settings", - "Description":"If enabled, Steam family account players can join the server", - "Keywords":"family,sharing", - "FieldName":"bFamilySharing", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bFamilySharing", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Server Type", - "Category":"Server Settings", - "Description":"Server type as it appears in the Steam browser", - "Keywords":"server,game,type", - "FieldName":"ServerTag", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerTag", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Standard", - "1":"Realism", - "2":"Roleplay", - "3":"Experimental" - } - }, - { - "DisplayName":"Map", - "Category":"Server Settings", - "Description":"Sets the map", - "Keywords":"map", - "FieldName":"Map", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Map", - "IncludeInCommandLine":false, - "DefaultValue":"/Game/TheIsle/Maps/Thenyaw_Island/Thenyaw_Island", - "EnumValues":{ - "/Game/TheIsle/Maps/Thenyaw_Island/Thenyaw_Island":"Thenyaw Island", - "/Game/TheIsle/Maps/Landscape3/Isle_V3":"Isle V3", - "/Game/TheIsle/Maps/Developer/DV_TestLevel":"DV TestLevel" - } - }, - { - "DisplayName":"Game Mode", - "Category":"Server Settings", - "Description":"Sets the game mode. Sandbox mode is usually used with the DV TestLevel map", - "Keywords":"game,mode,survival,sandbox", - "FieldName":"GameMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"GameMode", - "IncludeInCommandLine":false, - "DefaultValue":"Survival", - "EnumValues":{ - "Survival":"Survival", - "Sandbox":"Sandbox" - } - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/engine.gamesession.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Enable Player Name Tags", - "Category":"Server Settings", - "Description":"If enabled, name tags will be shown above players", - "Keywords":"name,tags", - "FieldName":"bServerNameTags", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerNameTags", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Spectator Limit", - "Category":"Server Settings", - "Description":"Maximum number of spectators", - "Keywords":"spectators,limit", - "FieldName":"MaxSpectators", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/engine.gamesession.MaxSpectators", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"spectators", - "EnumValues":{} - }, - { - "DisplayName":"Enable Chat", - "Category":"Server Settings", - "Description":"If enabled, players will be able to chat", - "Keywords":"chat", - "FieldName":"bServerAllowChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerAllowChat", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Global Chat", - "Category":"Server Settings", - "Description":"If enabled, all players will be able to use the global chat channel, not just admins", - "Keywords":"chat,global", - "FieldName":"bServerGlobalChat", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerGlobalChat", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable AI Dinosaurs", - "Category":"Server Settings", - "Description":"If enabled, AI dinosaurs will be spawned", - "Keywords":"AI,dinosaur", - "FieldName":"bServerAI", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerAI", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"AI Dinosaur Limit", - "Category":"Server Settings", - "Description":"Maximum number of AI dinosaurs that can spawn (if enabled)", - "Keywords":"AI,limit", - "FieldName":"ServerAIMax", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerAIMax", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Suffix":"dinosaurs", - "EnumValues":{} - }, - { - "DisplayName":"AI Dinosaur Multiplier", - "Category":"Server Settings", - "Description":"Sets AI spawn multiplier around each player (if enabled)", - "Keywords":"AI,multiplier", - "FieldName":"ServerAIRate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerAIRate", - "IncludeInCommandLine":false, - "DefaultValue":"1.0", - "EnumValues":{} - }, - { - "DisplayName":"Enable AI Player Spawn Points", - "Category":"Server Settings", - "Description":"If enabled, allows the AI to use spawn points defined in the map for players and not only AI spawn points", - "Keywords":"AI,spawn,points", - "FieldName":"bServerAIPlayerSpawns", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerAIPlayerSpawns", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Player Name Tags", - "Category":"Server Settings", - "Description":"If enabled, name tags will be shown above players", - "Keywords":"name,tags", - "FieldName":"bServerNameTags", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerNameTags", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Dinosaur Growth", - "Category":"Server Settings", - "Description":"If enabled, dinosaurs will grow over time", - "Keywords":"dinosaur,growth", - "FieldName":"bServerGrowth", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerGrowth", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Nesting Dinosaurs", - "Category":"Server Settings", - "Description":"If enabled, nesting baby dinosaurs will be allowed", - "Keywords":"nesting,baby,dinosaur", - "FieldName":"bServerNesting", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerNesting", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Scent Tracking", - "Category":"Server Settings", - "Description":"Enables scent tracking", - "Keywords":"scent,tracking", - "FieldName":"bServerScent", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerScent", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Turning In Place", - "Category":"Server Settings", - "Description":"If enabled, dinosaurs can turn in place without moving forward", - "Keywords":"turning,place,dinosaur", - "FieldName":"bServerAllowTurnInPlace", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerAllowTurnInPlace", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Fall Damage", - "Category":"Server Settings", - "Description":"If enabled, falls cause damage", - "Keywords":"fall,damage", - "FieldName":"bServerFallDamage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerFallDamage", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Corpse Retention Period", - "Category":"Server Settings", - "Description":"Time period for corpses to remain before respawning. Recommended to keep below 1,200 seconds", - "Keywords":"corpse,respawn,period", - "FieldName":"ServerDeadBodyTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerDeadBodyTime", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Player Respawn Interval", - "Category":"Server Settings", - "Description":"Time interval before players respawn after death", - "Keywords":"player,respawn,interval", - "FieldName":"ServerRespawnTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerRespawnTime", - "IncludeInCommandLine":false, - "DefaultValue":"45", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Player Logout Period", - "Category":"Server Settings", - "Description":"Time period before players can safely logout", - "Keywords":"player,logout,period", - "FieldName":"ServerLogoutTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerLogoutTime", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Footprint Lifetime", - "Category":"Server Settings", - "Description":"Time period before footprints fade", - "Keywords":"footprint,fade,lifetime", - "FieldName":"ServerFootprintLifetime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerFootprintLifetime", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Server Starting Time", - "Category":"Server Settings", - "Description":"Time of day at which the server starts (military time)", - "Keywords":"starting,time", - "FieldName":"ServerStartingTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamemode.ServerStartingTime", - "IncludeInCommandLine":false, - "DefaultValue":"1350", - "Placeholder":"0000 - 2400", - "EnumValues":{} - }, - { - "DisplayName":"Day Length", - "Category":"Server Settings", - "Description":"", - "Keywords":"day,length", - "FieldName":"ServerDayLength", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamemode.ServerDayLength", - "IncludeInCommandLine":false, - "DefaultValue":"45", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Enable Video Replay Recording", - "Category":"Server Settings", - "Description":"", - "Keywords":"video,replay,recording", - "FieldName":"bServerAllowReplayRecording", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.bServerAllowReplayRecording", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Internal Database", - "Category":"Server Settings", - "Description":"If enabled, the internal database will be used, instead of an external SQL server", - "Keywords":"internal,database", - "FieldName":"ServerDatabase", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerDatabase", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Discord Address", - "Category":"Server Settings", - "Description":"ID for a Discord server (the ID after \"discord.gg/\") to provide a link to", - "Keywords":"discord", - "FieldName":"ServerDiscord", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"/script/theisle.igamesession.ServerDiscord", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"78xKTd", - "EnumValues":{} - } -] \ No newline at end of file diff --git a/theisle-legacygame.ini b/theisle-legacygame.ini deleted file mode 100644 index a32952284..000000000 --- a/theisle-legacygame.ini +++ /dev/null @@ -1,49 +0,0 @@ -[/script/theisle.igamesession] -ServerName=The Isle Server - Powered by AMP -ServerPassword= -ServerSteamGroup= -bFamilySharing=true -ServerTag=0 -ServerDatabase=true -bServerAllowChat=true -bServerGlobalChat=true -bServerNameTags=true -bServerExperimental=false -bServerAI=true -ServerAIMax=100 -ServerAIRate=1.0 -bServerAIPlayerSpawns=false -bServerGrowth=true -bServerNesting=true -bServerScent=true -bServerAllowTurnInPlace=false -bServerFallDamage=true -bServerAllowReplayRecording=true -ServerDeadBodyTime=10 -ServerRespawnTime=45 -ServerLogoutTime=60 -ServerFootprintLifetime=60 -ServerDiscord= -;ServerAdmins= - -[/script/theisle.igamemode] -; Dinosaur Overrides -;ProgressionOverrides=(Row="Austro",Points=10) -;ProgressionOverrides=(Row="Spino",Points=20) -;DisabledDinosaurs=TrikeAdultS -;DisabledDinosaurs=Velo - -; Time of Day / Weather Settings -ServerStartingTime=1350 -ServerDayLength=45 - -; Supported Database Types: (None, SQLite, MariaDB) -;DatabaseType=SQLite -;DatabaseHost=127.0.0.127 -;DatabasePort=3306 -;DatabaseUser=root -;DatabasePass= - -[/script/engine.gamesession] -MaxPlayers=50 -MaxSpectators=0 diff --git a/theisle-legacymetaconfig.json b/theisle-legacymetaconfig.json deleted file mode 100644 index 4bc4bbd5e..000000000 --- a/theisle-legacymetaconfig.json +++ /dev/null @@ -1,33 +0,0 @@ -[ - { - "ConfigFile": "TheIsle/Saved/Config/WindowsServer/Game.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile": "TheIsle/Saved/Config/WindowsServer/GameUserSettings.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile": "TheIsle/Saved/Config/WindowsServer/Engine.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile": "TheIsle/Saved/MOTD.txt", - "ConfigType": "kvp", - "ConfigFormat": "{0}{1}", - "Subsections": [ - { - "Heading": "$root", - "SettingMappings": { - "": "MOTD" - } - } - ] - } -] diff --git a/tmodloader.kvp b/tmodloader.kvp deleted file mode 100644 index 270ff2e6a..000000000 --- a/tmodloader.kvp +++ /dev/null @@ -1,61 +0,0 @@ -Meta.DisplayName=tModLoader (Legacy) -Meta.Description=tModLoader (Legacy) server using Steam or GitHub -Meta.Author=JasperFirecai2, EnderWolf, IceOfWraith -Meta.MetaConfigManifest=tmodloadermetaconfig.json -Meta.ConfigRoot=tmodloader.kvp -Meta.ConfigManifest=tmodloaderconfig.json -Meta.DisplayImageSource=steam:1281930 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.OS=3 -Meta.URL=https://store.steampowered.com/app/1281930/tModLoader/ -Meta.MinAMPVersion= -App.DisplayName=tModLoader (Legacy) -App.RootDir=./tModLoader/ -App.BaseDirectory=./tModLoader/serverfiles -App.ExecutableWin=serverfiles/tModLoaderServer.exe -App.ExecutableLinux=serverfiles/tModLoaderServer -App.WorkingDir=serverfiles -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "1281930"} -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=-server {{$FormattedArgs}} -players {{$MaxUsers}} -port {{$ApplicationPort1}} -config {{Config}} -App.CommandLineParameterFormat=-{0} {1} -App.AppSettings={"Config":"tmodloaderserverconfig.txt"} -App.CommandLineVars={} -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=exit -App.ExitFile=app_exit.lck -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.AdminMethod=STDIO -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=7777 -App.ApplicationPort2=0 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 -App.MaxUsers=8 -App.UpdateSources=@IncludeJson[tmodloaderupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.AppReadyRegex=^Listening on port (\d+)$ -Console.UserJoinRegex=^(?<username>.+?) has joined\.$ -Console.UserLeaveRegex=^(?<username>.+?) has left\.$ -Console.UserChatRegex=^<(?<username>.+?)> (?<message>.+)$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.ThrowawayMessageRegex=^??Error Logging Enabled.$ -Console.SuppressLogAtStart=False -Console.UserActions={} -Limits.SleepMode=True -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/tmodloader14.kvp b/tmodloader14.kvp deleted file mode 100644 index 0ae5ba9ac..000000000 --- a/tmodloader14.kvp +++ /dev/null @@ -1,61 +0,0 @@ -Meta.DisplayName=tModLoader 1.4+ -Meta.Description=tModLoader 1.4+ server using Steam or GitHub -Meta.Author=JasperFirecai2, EnderWolf, IceOfWraith -Meta.MetaConfigManifest=tmodloader14metaconfig.json -Meta.ConfigRoot=tmodloader14.kvp -Meta.ConfigManifest=tmodloader14config.json -Meta.DisplayImageSource=steam:1281930 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.OS=3 -Meta.URL=https://store.steampowered.com/app/1281930/tModLoader/ -Meta.MinAMPVersion=2.3.4.4 -App.DisplayName=tModLoader -App.RootDir=./tModLoader/ -App.BaseDirectory=./tModLoader/serverfiles -App.ExecutableWin=serverfiles/dotnet/6.0.0/dotnet.exe -App.ExecutableLinux=serverfiles/dotnet/6.0.0/dotnet -App.WorkingDir=serverfiles -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "1281930"} -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$FullBaseDir}}/tModLoader.dll -server {{$FormattedArgs}} -players {{$MaxUsers}} -port {{$ApplicationPort1}} -config {{Config}} -App.CommandLineParameterFormat=-{0} {1} -App.AppSettings={"Config":"tmodloader14serverconfig.txt"} -App.CommandLineVars={} -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=exit -App.ExitFile=app_exit.lck -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.AdminMethod=STDIO -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=7777 -App.ApplicationPort2=0 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 -App.MaxUsers=8 -App.UpdateSources=@IncludeJson[tmodloader14updates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.AppReadyRegex=^Listening on port (\d+)$ -Console.UserJoinRegex=^(?<username>.+?) has joined\.$ -Console.UserLeaveRegex=^(?<username>.+?) has left\.$ -Console.UserChatRegex=^<(?<username>.+?)> (?<message>.+)$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.ThrowawayMessageRegex=^??Error Logging Enabled.$|^Permission denied \(see server\.log for full trace\)$ -Console.SuppressLogAtStart=False -Console.UserActions={} -Limits.SleepMode=True -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/tmodloader14config.json b/tmodloader14config.json deleted file mode 100644 index 242c1cc24..000000000 --- a/tmodloader14config.json +++ /dev/null @@ -1,538 +0,0 @@ -[ - { - "DisplayName": "World Seed", - "Category": "Terraria Generator Settings", - "Keywords": "seed,new,world", - "Description": "Which world seed to use when generating a new world", - "FieldName": "Seed", - "ParamFieldName": "seed", - "placeholder": "PoweredByAMP", - "InputType": "text", - "IncludeInCommandLine": true, - "DefaultValue": "PoweredByAMP" - }, - { - "DisplayName": "World Size", - "Category": "Terraria Generator Settings", - "Keywords": "size,new,world", - "Description": "Set the Size of the World", - "FieldName": "WorldSize", - "ParamFieldName": "autocreate", - "IncludeInCommandLine": true, - "InputType": "enum", - "EnumValues": { - "1": "1 - Small World", - "2": "2 - Medium World", - "3": "3 - Large World" - }, - "DefaultValue": "3" - }, - { - "DisplayName": "Difficulty", - "Category": "Terraria Generator Settings", - "Keywords": "difficulty,new,world,journey,expert,master", - "Description": "The difficulty of a newly generated world", - "FieldName": "Difficulty", - "ParamFieldName": "difficulty", - "InputType": "enum", - "EnumValues": { - "0": "Classic", - "1": "Expert", - "2": "Master", - "3": "Journey" - }, - "IncludeInCommandLine": false, - "DefaultValue": "0" - }, - { - "DisplayName": "Created World Name", - "Category": "Terraria Generator Settings", - "Keywords": "name,new,world", - "Description": "How to name the new world if one is generated. Make sure the World name under Terraria Server Settings matches this name if you want to load it in subsequent starts.", - "FieldName": "WorldName", - "ParamFieldName": "worldname", - "placeholder": "World", - "InputType": "text", - "IncludeInCommandLine": true, - "DefaultValue": "world" - }, - { - "DisplayName": "Backup count", - "Category": "Terraria Generator Settings", - "Keywords": "backup,backups,count,world,rollback", - "Description": "Sets the number of rolling world backups to keep", - "FieldName": "Backups", - "ParamFieldName": "worldrollbackstokeep", - "placeholder": "2", - "suffix": "Backups", - "InputType": "number", - "IncludeInCommandLine": false, - "DefaultValue": 2 - }, - { - "DisplayName": "Mod Path", - "Category": "Terraria ModLoader Settings", - "Keywords": "folder,path,mod,mods,tmodloader", - "Description": "Where tModLoader will read mods from. [instructions](https://github.com/jasperfirecai2/amp-templates/wiki/Managing-mods-with-tmodloader)", - "FieldName": "ModPath", - "ParamFieldName": "modpath", - "placeholder": "ModLoader/Mods", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "ModLoader/Mods" - }, - { - "DisplayName": "Mod Pack", - "Category": "Terraria ModLoader Settings", - "Keywords": "pack,mod,mods,modpack,tmodloader", - "Description": "Which modpack to load (does not install mods for you!)", - "FieldName": "ModPack", - "ParamFieldName": "modpack", - "placeholder": "modpack", - "suffix": ".json", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "" - }, - { - "DisplayName": "Update Source", - "Category": "SteamCMD and Updates", - "Keywords": "download,source,steam,github,tmodloader", - "Description": "Select where to obtain tModLoader. Steam requires you to own [Terraria](https://store.steampowered.com/app/105600/Terraria/) & [tModLoader](https://store.steampowered.com/app/1281930/tModLoader/) on your account and accept tModLoader's ToS by installing it as a game to a device you can login from.", - "FieldName": "Source", - "IncludeInCommandLine": false, - "InputType": "enum", - "EnumValues": { - "GitHub": "GitHub", - "Steam": "Steam" - }, - "DefaultValue": "GitHub" - }, - { - "DisplayName":"Server Branch", - "Category":"SteamCMD and Updates", - "Description":"Sets the beta branch to install. NOTE: Update Source MUST be Steam. Press update AFTER changing this setting.", - "Keywords":"branch,depot,beta,steam,version", - "FieldName":"BetaBranch", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"BetaBranch", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "placeholder": "1.4.4-preview" - }, - { - "DisplayName": "World Path", - "Category": "Terraria Server Settings", - "Keywords": "folder,path,world,saves,savegame,worlds", - "Description": "The relative path to save worlds in", - "FieldName": "WorldPath", - "ParamFieldName": "worldpath", - "placeholder": "ModLoader/Worlds", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "ModLoader/Worlds" - }, - { - "DisplayName": "World Name", - "Category": "Terraria Server Settings", - "Keywords": "name,world,worldname,load,boot", - "Description": "Which world to load on boot", - "FieldName": "World", - "ParamFieldName": "world", - "placeholder": "ModLoader/Worlds/world.wld", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "ModLoader/Worlds/world.wld" - }, - { - "DisplayName": "Max Players", - "Category": "Terraria Server Settings", - "Keywords": "players,max,maximum", - "Description": "The maximum players in the server", - "FieldName": "$MaxUsers", - "ParamFieldName": "maxplayers", - "placeholder": "8", - "suffix": "Users", - "InputType": "number", - "IncludeInCommandLine": false, - "DefaultValue": "8", - "MinValue":"1" - }, - { - "DisplayName": "Password", - "Category": "Terraria Server Settings", - "Keywords": "password,pw,security", - "Description": "The password players must enter to join", - "FieldName": "Password", - "ParamFieldName": "password", - "placeholder": "Password123", - "suffix": "", - "InputType": "password", - "IncludeInCommandLine": false, - "DefaultValue": "" - }, - { - "DisplayName": "Ban List", - "Category": "Terraria Server Settings", - "Keywords": "ban,banlist,bans,security", - "Description": "Where to store the ban list", - "FieldName": "BanList", - "ParamFieldName": "banlist", - "placeholder": "banlist.txt", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "banlist.txt" - }, - { - "DisplayName": "Motd", - "Category": "Terraria Server Settings", - "Keywords": "motd,motto,message,welcome", - "Description": "The motto / message of the day", - "FieldName": "Motd", - "ParamFieldName": "motd", - "placeholder": "Welcome!", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "Welcome!" - }, - { - "DisplayName": "Language", - "Category": "Terraria Server Settings", - "Keywords": "language,lang", - "Description": "The language of your server", - "FieldName": "Language", - "ParamFieldName": "language", - "InputType": "enum", - "EnumValues": { - "en-US": "English", - "de-DE": "German", - "it-IT": "Italian", - "fr-FR": "French", - "es-ES": "Spanish", - "ru-RU": "Russian", - "zh-Hans": "Chinese", - "pt-PT": "Portuguese", - "pt-BR": "Portuguese (Brazil)", - "pl-PL": "Polish" - }, - "IncludeInCommandLine": false, - "DefaultValue": "en-US" - }, - { - "DisplayName": "Priority", - "Category": "Terraria Server Settings", - "Keywords": "priority,process,prio,performance", - "Description": "The process priority", - "FieldName": "Priority", - "ParamFieldName": "priority", - "InputType": "enum", - "EnumValues": { - "0": "Realtime", - "1": "High", - "2": "Above Normal", - "3": "Normal", - "4": "Below Normal", - "5": "Idle" - }, - "IncludeInCommandLine": false, - "DefaultValue": "1" - }, - { - "DisplayName": "NPC Stream", - "Category": "Terraria Server Settings", - "Keywords": "npc,stream,skipping,lag,bandwidth,performance", - "Description": "Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off.", - "FieldName": "NPCStream", - "ParamFieldName": "npcstream", - "placeholder": "60", - "InputType": "number", - "IncludeInCommandLine": false, - "DefaultValue": 60 - }, - { - "DisplayName": "Slower Liquids", - "Category": "Terraria Server Settings", - "Keywords": "slow,liquid,liquids slower,lag,performance", - "Description": "Reduces maximum liquids moving at the same time. If enabled may reduce lag but liquids may take longer to settle.", - "FieldName": "Slowliquids", - "ParamFieldName": "slowliquids", - "InputType": "checkbox", - "IncludeInCommandLine": false, - "EnumValues": { - "False": "0", - "True": "1" - }, - "DefaultValue": "1" - }, - { - "DisplayName": "Cheat Protection", - "Category": "Terraria Server Settings", - "Keywords": "security,cheat,cheats,auto,kick,spam", - "Description": "Enable/Disable additional cheat protection. This may cause unwanted automatic kicks", - "FieldName": "Secure", - "ParamFieldName": "secure", - "InputType": "checkbox", - "IncludeInCommandLine": false, - "EnumValues": { - "False": "0", - "True": "1" - }, - "DefaultValue": "0" - }, - { - "DisplayName": "Disable Announcement Box", - "Category": "Terraria Server Settings", - "Keywords": "announcement,box,disable,griefing", - "Description": "Enable/Disable the text announcements Announcement Box makes when pulsed from wire.", - "FieldName": "DisableAnnouncementBox", - "InputType": "checkbox", - "IncludeInCommandLine": true, - "ParamFieldName": "disableannouncementbox", - "IsFlagArgument": true, - "DefaultValue": "-disableannouncementbox" - }, - { - "DisplayName": "Announcement Box Range", - "Category": "Terraria Server Settings", - "Keywords": "announcement,box,range,griefing", - "Description": "Sets the announcement box text messaging range in pixels, -1 for serverwide announcements.", - "FieldName": "AnnouncementBoxRange", - "placeholder": "-1", - "suffix": "Pixels", - "InputType": "number", - "IncludeInCommandLine": true, - "ParamFieldName": "announcementboxrange", - "DefaultValue": "-1" - }, - { - "DisplayName": "Freeze time", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,freeze,time,stop,clock", - "Description": "Journey mode power permissions for every individual power. 'Host' is only relevant when using steam integration, which is not supported by AMP by default.", - "FieldName": "time_setfrozen", - "ParamFieldName": "journeypermission_time_setfrozen", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set to Dawn", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,dawn,time,clock", - "FieldName": "time_setdawn", - "ParamFieldName": "journeypermission_time_setdawn", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set to Noon", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,noon,time,clock", - "FieldName": "time_setnoon", - "ParamFieldName": "journeypermission_time_setnoon", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set to Dusk", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,dusk,time,clock", - "FieldName": "time_setdusk", - "ParamFieldName": "journeypermission_time_setdusk", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set to Midnight", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,midnight,time,clock", - "FieldName": "time_setmidnight", - "ParamFieldName": "journeypermission_time_setmidnight", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "God Mode", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,god,godmode", - "FieldName": "godmode", - "ParamFieldName": "journeypermission_godmode", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set wind intensity", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,wind,set,strength", - "FieldName": "wind_setstrength", - "ParamFieldName": "journeypermission_wind_setstrength", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Set rain intensity", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,rain,set,strength", - "FieldName": "rain_setstrength", - "ParamFieldName": "journeypermission_rain_setstrength", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Change game speed", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,speed,time,speedup", - "FieldName": "time_setspeed", - "ParamFieldName": "journeypermission_time_setspeed", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Lock rain conditions", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,rain,lock,freeze", - "FieldName": "rain_setfrozen", - "ParamFieldName": "journeypermission_rain_setfrozen", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Lock Wind conditions", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,wind,lock,freeze", - "FieldName": "wind_setfrozen", - "ParamFieldName": "journeypermission_wind_setfrozen", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Placement Range", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,placement,range,reach,tile", - "FieldName": "increaseplacementrange", - "ParamFieldName": "journeypermission_increaseplacementrange", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Difficulty changing", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,difficulty", - "FieldName": "setdifficulty", - "ParamFieldName": "journeypermission_setdifficulty", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Biome / Evil Spreading", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,evil,spread,biome,crimson,hallow,corrupted", - "FieldName": "biomespread_setfrozen", - "ParamFieldName": "journeypermission_biomespread_setfrozen", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - }, - { - "DisplayName": "Spawn Rate", - "Category": "Terraria Journey Permissions", - "Keywords": "journey,mode,permissions,power,spawn,rate", - "FieldName": "setspawnrate", - "ParamFieldName": "journeypermission_setspawnrate", - "InputType": "enum", - "EnumValues": { - "0": "Locked for everyone", - "1": "Can only be changed by host", - "2": "Can be changed by everyone" - }, - "IncludeInCommandLine": false, - "DefaultValue": "2" - } -] diff --git a/tmodloader14metaconfig.json b/tmodloader14metaconfig.json deleted file mode 100644 index 82dc4267e..000000000 --- a/tmodloader14metaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile": "tmodloader14serverconfig.txt", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormat": "{0}={1}" - } -] \ No newline at end of file diff --git a/tmodloader14serverconfig.txt b/tmodloader14serverconfig.txt deleted file mode 100644 index d06c6d06b..000000000 --- a/tmodloader14serverconfig.txt +++ /dev/null @@ -1,102 +0,0 @@ -#serverconfig.txt - -#This file is automatically generated by AMP. All uncommented settings are controlled by AMP. -#Any changes to uncommented settings will be lost when starting or updating the application -#Please use the AMP control panel to change these -#If you wish to configure other settings (those that are commented), you can do so manually -#But any future updates may overwrite these changes - -#the following is a list of available command line parameters: - -#-config <config file> Specifies the configuration file to use. -#-port <port number> Specifies the port to listen on. -#-players <number> / -maxplayers <number> Sets the max number of players -#-pass <password> / -password <password> Sets the server password -#-world <world file> Load a world and automatically start the server. -#-autocreate <#> Creates a world if none is found in the path specified by -world. World size is specified by: 1(small), 2(medium), and 3(large). -#-banlist <path> Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory. -#-worldname <world name> Sets the name of the world when using -autocreate. -#-secure Adds addition cheat protection to the server. -#-noupnp Disables automatic port forwarding -#-steam Enables Steam Support -#-lobby <friends> or <private> Allows friends to join the server or sets it to private if Steam is enabled -#-ip <ip address> Sets the IP address for the server to listen on -#-forcepriority <priority> Sets the process priority for this task. If this is used the "priority" setting below will be ignored. -#-disableannouncementbox Disables the text announcements Announcement Box makes when pulsed from wire. -#-announcementboxrange <number> Sets the announcement box text messaging range in pixels, -1 for serverwide announcements. -#-seed <seed> Specifies the world seed when using -autocreate - -#remove the # in front of commands to enable them. - -#Load a world and automatically start the server. -world={{world}} - -#Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large). -autocreate={{autocreate}} - -#Sets the world seed when using autocreate -seed={{seed}} - -#Sets the name of the world when using autocreate -worldname={{worldname}} - -#Sets the difficulty of the world when using autocreate 0(classic), 1(expert), 2(master), 3(journey) -difficulty={{Difficulty}} - -#Sets the max number of players allowed on a server. Value must be between 1 and 255 -maxplayers={{$MaxUsers}} - -#Set the server password -password={{Password}} - -#Set the message of the day -motd={{Motd}} - -#Sets the folder where world files will be stored -worldpath={{WorldPath}} - -#Path for mods -modpath={{ModPath}} -modpack={{ModPack}} - -#Sets the number of rolling world backups to keep -worldrollbackstokeep={{Backups}} - -#The location of the banlist. Defaults to "banlist.txt" in the working directory. -banlist={{BanList}} - -#Adds addition cheat protection. -secure={{Secure}} - -#Sets the server language from its language code. -#English = en-US, German = de-DE, Italian = it-IT, French = fr-FR, Spanish = es-ES, Russian = ru-RU, Chinese = zh-Hans, Portuguese = pt-BR, Polish = pl-PL, -language={{Language}} - -#Automatically forward ports with uPNP -#upnp=1 - -#Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off. -npcstream={{NpcStream}} - -#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNormal, 5:Idle -priority={{Priority}} - -#Reduces maximum liquids moving at the same time. If enabled may reduce lags but liquids may take longer to settle. -slowliquids={{Slowliquids}} - -#Journey mode power permissions for every individual power. 0: Locked for everyone, 1: Can only be changed by host, 2: Can be changed by everyone -journeypermission_time_setfrozen={{time_setfrozen}} -journeypermission_time_setdawn={{time_setdawn}} -journeypermission_time_setnoon={{time_setnoon}} -journeypermission_time_setdusk={{time_setdusk}} -journeypermission_time_setmidnight={{time_setmidnight}} -journeypermission_godmode={{godmode}} -journeypermission_wind_setstrength={{wind_setstrength}} -journeypermission_rain_setstrength={{rain_setstrength}} -journeypermission_time_setspeed={{time_setspeed}} -journeypermission_rain_setfrozen={{rain_setfrozen}} -journeypermission_wind_setfrozen={{wind_setfrozen}} -journeypermission_increaseplacementrange={{increaseplacementrange}} -journeypermission_setdifficulty={{setdifficulty}} -journeypermission_biomespread_setfrozen={{biomespread_setfrozen}} -journeypermission_setspawnrate={{setspawnrate}} diff --git a/tmodloader14updates.json b/tmodloader14updates.json deleted file mode 100644 index 10ac2c147..000000000 --- a/tmodloader14updates.json +++ /dev/null @@ -1,61 +0,0 @@ -[ - { - "UpdateStageName": "Config Template Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/tmodloader14serverconfig.txt", - "UpdateSourceTarget": "serverfiles", - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false - }, - { - "UpdateStageName": "SteamCMD tModLoader", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "1281930", - "UpdateSourceArgs": "1281930", - "UpdateSourceTarget": "serverfiles", - "UpdateSourceConditionSetting": "Source", - "UpdateSourceConditionValue": "Steam", - "UpdateSourceVersion": "{{BetaBranch}}" - }, - { - "UpdateStageName": "GitHub tModLoader", - "UpdateSourcePlatform": "All", - "UpdateSource": "GithubRelease", - "UpdateSourceData": "tModLoader.zip", - "UpdateSourceArgs": "tModLoader/tModLoader", - "UpdateSourceTarget": "serverfiles", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "Source", - "UpdateSourceConditionValue": "GitHub", - "DeleteAfterExtract": false - }, - { - "UpdateStageName": "Create Dotnet Directory", - "UpdateSourcePlatform": "All", - "UpdateSource": "CreateDirectory", - "UpdateSourceArgs": "{{$FullBaseDir}}/dotnet/6.0.0" - }, - { - "UpdateStageName": "Dotnet download Windows", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-win-x64.zip", - "UpdateSourceTarget": "{{$FullBaseDir}}/dotnet/6.0.0/", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "DeleteAfterExtract": true - }, - { - "UpdateStageName": "Dotnet download Linux", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://dotnetcli.azureedge.net/dotnet/Runtime/6.0.0/dotnet-runtime-6.0.0-linux-x64.tar.gz", - "UpdateSourceTarget": "{{$FullBaseDir}}/dotnet/6.0.0/", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "DeleteAfterExtract": true - } -] \ No newline at end of file diff --git a/tmodloaderconfig.json b/tmodloaderconfig.json deleted file mode 100644 index ed1b15a50..000000000 --- a/tmodloaderconfig.json +++ /dev/null @@ -1,310 +0,0 @@ -[ - { - "DisplayName": "World Seed", - "Category": "Terraria Generator Settings", - "Keywords": "seed,new,world", - "Description": "Which world seed to use when generating a new world", - "FieldName": "Seed", - "ParamFieldName": "seed", - "placeholder": "PoweredByAMP", - "InputType": "text", - "IncludeInCommandLine": true, - "DefaultValue": "PoweredByAMP" - }, - { - "DisplayName": "World Size", - "Category": "Terraria Generator Settings", - "Keywords": "size,new,world", - "Description": "Set the Size of the World", - "FieldName": "WorldSize", - "ParamFieldName": "autocreate", - "IncludeInCommandLine": true, - "InputType": "enum", - "EnumValues": { - "1": "1 - Small World", - "2": "2 - Medium World", - "3": "3 - Large World" - }, - "DefaultValue": "3" - }, - { - "DisplayName": "Difficulty", - "Category": "Terraria Generator Settings", - "Keywords": "difficulty,new,world,journey,expert,master", - "Description": "The difficulty of a newly generated world", - "FieldName": "Difficulty", - "ParamFieldName": "difficulty", - "InputType": "enum", - "EnumValues": { - "0": "Classic", - "1": "Expert" - }, - "IncludeInCommandLine": false, - "DefaultValue": "0" - }, - { - "DisplayName": "Created World Name", - "Category": "Terraria Generator Settings", - "Keywords": "name,new,world", - "Description": "How to name the new world if one is generated. Make sure the World name under Terraria Server Settings matches this name if you want to load it in subsequent starts.", - "FieldName": "WorldName", - "ParamFieldName": "worldname", - "placeholder": "World", - "InputType": "text", - "IncludeInCommandLine": true, - "DefaultValue": "world" - }, - { - "DisplayName": "Backup count", - "Category": "Terraria Generator Settings", - "Keywords": "backup,backups,count,world,rollback", - "Description": "Sets the number of rolling world backups to keep", - "FieldName": "Backups", - "ParamFieldName": "worldrollbackstokeep", - "placeholder": "2", - "suffix": "Backups", - "InputType": "number", - "IncludeInCommandLine": false, - "DefaultValue": 2 - }, - { - "DisplayName": "Mod Path", - "Category": "Terraria ModLoader Settings", - "Keywords": "folder,path,mod,mods,tmodloader", - "Description": "Where tModLoader will read mods from. [instructions](https://github.com/jasperfirecai2/amp-templates/wiki/Managing-mods-with-tmodloader)", - "FieldName": "ModPath", - "ParamFieldName": "modpath", - "placeholder": "ModLoader/Mods", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "ModLoader/Mods" - }, - { - "DisplayName": "Mod Pack", - "Category": "Terraria ModLoader Settings", - "Keywords": "pack,mod,mods,modpack,tmodloader", - "Description": "Which modpack to load (does not install mods for you!)", - "FieldName": "ModPack", - "ParamFieldName": "modpack", - "placeholder": "modpack", - "suffix": ".json", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "" - }, - { - "DisplayName": "Update Source", - "Category": "SteamCMD and Updates", - "Keywords": "download,source,steam,github,tmodloader", - "Description": "Select where to obtain tModLoader. Steam requires you to own [Terraria](https://store.steampowered.com/app/105600/Terraria/) & [tModLoader](https://store.steampowered.com/app/1281930/tModLoader/) on your account and accept tModLoader's ToS by installing it as a game to a device you can login from.", - "FieldName": "Source", - "IncludeInCommandLine": false, - "InputType": "enum", - "EnumValues": { - "GitHub": "GitHub", - "Steam": "Steam" - }, - "DefaultValue": "GitHub" - }, - { - "DisplayName":"Server Branch", - "Category":"SteamCMD and Updates", - "Description":"Sets the beta branch to install. NOTE: Update Source MUST be Steam. Press update AFTER changing this setting.", - "Keywords":"branch,depot,beta,steam,version", - "FieldName":"BetaBranch", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"BetaBranch", - "IncludeInCommandLine":false, - "DefaultValue":"1.3-legacy", - "placeholder": "1.3-legacy" - }, - { - "DisplayName": "World Path", - "Category": "Terraria Server Settings", - "Keywords": "folder,path,world,saves,savegame,worlds", - "Description": "The relative path to save worlds in", - "FieldName": "WorldPath", - "ParamFieldName": "worldpath", - "placeholder": "ModLoader/Worlds", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "ModLoader/Worlds" - }, - { - "DisplayName": "World Name", - "Category": "Terraria Server Settings", - "Keywords": "name,world,worldname,load,boot", - "Description": "Which world to load on boot", - "FieldName": "World", - "ParamFieldName": "world", - "placeholder": "ModLoader/Worlds/world.wld", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": true, - "DefaultValue": "ModLoader/Worlds/world.wld" - }, - { - "DisplayName": "Max Players", - "Category": "Terraria Server Settings", - "Keywords": "players,max,maximum", - "Description": "The maximum players in the server", - "FieldName": "$MaxUsers", - "ParamFieldName": "maxplayers", - "placeholder": "8", - "suffix": "Users", - "InputType": "number", - "IncludeInCommandLine": false, - "DefaultValue": "8", - "MinValue":"1" - }, - { - "DisplayName": "Password", - "Category": "Terraria Server Settings", - "Keywords": "password,pw,security", - "Description": "The password players must enter to join", - "FieldName": "Password", - "ParamFieldName": "password", - "placeholder": "Password123", - "suffix": "", - "InputType": "password", - "IncludeInCommandLine": false, - "DefaultValue": "" - }, - { - "DisplayName": "Ban List", - "Category": "Terraria Server Settings", - "Keywords": "ban,banlist,bans,security", - "Description": "Where to store the ban list", - "FieldName": "BanList", - "ParamFieldName": "banlist", - "placeholder": "banlist.txt", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "banlist.txt" - }, - { - "DisplayName": "Motd", - "Category": "Terraria Server Settings", - "Keywords": "motd,motto,message,welcome", - "Description": "The motto/message of the day", - "FieldName": "Motd", - "ParamFieldName": "motd", - "placeholder": "Welcome!", - "suffix": "", - "InputType": "text", - "IncludeInCommandLine": false, - "DefaultValue": "Welcome!" - }, - { - "DisplayName": "Language", - "Category": "Terraria Server Settings", - "Keywords": "language,lang", - "Description": "The language of your server", - "FieldName": "Language", - "ParamFieldName": "language", - "InputType": "enum", - "EnumValues": { - "en-US": "English", - "de-DE": "German", - "it-IT": "Italian", - "fr-FR": "French", - "es-ES": "Spanish", - "ru-RU": "Russian", - "zh-Hans": "Chinese", - "pt-PT": "Portuguese", - "pt-BR": "Portuguese (Brazil)", - "pl-PL": "Polish" - }, - "IncludeInCommandLine": false, - "DefaultValue": "en-US" - }, - { - "DisplayName": "Priority", - "Category": "Terraria Server Settings", - "Keywords": "priority,process,prio,performance", - "Description": "The process priority", - "FieldName": "Priority", - "ParamFieldName": "priority", - "InputType": "enum", - "EnumValues": { - "0": "Realtime", - "1": "High", - "2": "AboveNormal", - "3": "Normal", - "4": "BelowNormal", - "5": "Idle" - }, - "IncludeInCommandLine": false, - "DefaultValue": "1" - }, - { - "DisplayName": "NPC Stream", - "Category": "Terraria Server Settings", - "Keywords": "npc,stream,skipping,lag,bandwidth,performance", - "Description": "Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off.", - "FieldName": "NPCStream", - "ParamFieldName": "npcstream", - "placeholder": "60", - "InputType": "number", - "IncludeInCommandLine": false, - "DefaultValue": 60 - }, - { - "DisplayName": "Slower Liquids", - "Category": "Terraria Server Settings", - "Keywords": "slow,liquid,liquids slower,lag,performance", - "Description": "Reduces maximum liquids moving at the same time. If enabled may reduce lag but liquids may take longer to settle.", - "FieldName": "Slowliquids", - "ParamFieldName": "slowliquids", - "InputType": "checkbox", - "IncludeInCommandLine": false, - "EnumValues": { - "False": "0", - "True": "1" - }, - "DefaultValue": "1" - }, - { - "DisplayName": "Cheat Protection", - "Category": "Terraria Server Settings", - "Keywords": "security,cheat,cheats,auto,kick,spam", - "Description": "Enable/Disable additional cheat protection. This may cause unwanted automatic kicks", - "FieldName": "Secure", - "ParamFieldName": "secure", - "InputType": "checkbox", - "IncludeInCommandLine": false, - "EnumValues": { - "False": "0", - "True": "1" - }, - "DefaultValue": "0" - }, - { - "DisplayName": "Disable Announcement Box", - "Category": "Terraria Server Settings", - "Keywords": "announcement,box,disable,griefing", - "Description": "Enable/Disable the text announcements Announcement Box makes when pulsed from wire.", - "FieldName": "DisableAnnouncementBox", - "InputType": "checkbox", - "IncludeInCommandLine": true, - "ParamFieldName": "disableannouncementbox", - "IsFlagArgument": true, - "DefaultValue": "-disableannouncementbox" - }, - { - "DisplayName": "Announcement Box Range", - "Category": "Terraria Server Settings", - "Keywords": "announcement,box,range,griefing", - "Description": "Sets the announcement box text messaging range in pixels, -1 for serverwide announcements.", - "FieldName": "AnnouncementBoxRange", - "placeholder": "-1", - "suffix": "Pixels", - "InputType": "number", - "IncludeInCommandLine": true, - "ParamFieldName": "announcementboxrange", - "DefaultValue": "-1" - } -] diff --git a/tmodloadermetaconfig.json b/tmodloadermetaconfig.json deleted file mode 100644 index b85885118..000000000 --- a/tmodloadermetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile": "tmodloaderserverconfig.txt", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormat": "{0}={1}" - } -] \ No newline at end of file diff --git a/tmodloaderserverconfig.txt b/tmodloaderserverconfig.txt deleted file mode 100644 index 1357eb788..000000000 --- a/tmodloaderserverconfig.txt +++ /dev/null @@ -1,85 +0,0 @@ -#serverconfig.txt - -#This file is automatically generated by AMP. All uncommented settings are controlled by AMP. -#Any changes to uncommented settings will be lost when starting or updating the application -#Please use the AMP control panel to change these -#If you wish to configure other settings (those that are commented), you can do so manually -#But any future updates may overwrite these changes - -#the following is a list of available command line parameters: - -#-config <config file> Specifies the configuration file to use. -#-port <port number> Specifies the port to listen on. -#-players <number> / -maxplayers <number> Sets the max number of players -#-pass <password> / -password <password> Sets the server password -#-world <world file> Load a world and automatically start the server. -#-autocreate <#> Creates a world if none is found in the path specified by -world. World size is specified by: 1(small), 2(medium), and 3(large). -#-banlist <path> Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory. -#-worldname <world name> Sets the name of the world when using -autocreate. -#-secure Adds addition cheat protection to the server. -#-noupnp Disables automatic port forwarding -#-steam Enables Steam Support -#-lobby <friends> or <private> Allows friends to join the server or sets it to private if Steam is enabled -#-ip <ip address> Sets the IP address for the server to listen on -#-forcepriority <priority> Sets the process priority for this task. If this is used the "priority" setting below will be ignored. -#-disableannouncementbox Disables the text announcements Announcement Box makes when pulsed from wire. -#-announcementboxrange <number> Sets the announcement box text messaging range in pixels, -1 for serverwide announcements. -#-seed <seed> Specifies the world seed when using -autocreate - -#remove the # in front of commands to enable them. - -#Load a world and automatically start the server. -world={{world}} - -#Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large). -autocreate={{autocreate}} - -#Sets the world seed when using autocreate -seed={{seed}} - -#Sets the name of the world when using autocreate -worldname={{worldname}} - -#Sets the difficulty of the world when using autocreate 0(classic), 1(expert), 2(master), 3(journey) -difficulty={{Difficulty}} - -#Sets the max number of players allowed on a server. Value must be between 1 and 255 -maxplayers={{$MaxUsers}} - -#Set the server password -password={{Password}} - -#Set the message of the day -motd={{Motd}} - -#Sets the folder where world files will be stored -worldpath={{WorldPath}} - -#Path for mods -modpath={{ModPath}} -modpack={{ModPack}} - -#Sets the number of rolling world backups to keep -worldrollbackstokeep={{Backups}} - -#The location of the banlist. Defaults to "banlist.txt" in the working directory. -banlist={{BanList}} - -#Adds addition cheat protection. -secure={{Secure}} - -#Sets the server language from its language code. -#English = en-US, German = de-DE, Italian = it-IT, French = fr-FR, Spanish = es-ES, Russian = ru-RU, Chinese = zh-Hans, Portuguese = pt-BR, Polish = pl-PL, -language={{Language}} - -#Automatically forward ports with uPNP -#upnp=1 - -#Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off. -npcstream={{NpcStream}} - -#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNormal, 5:Idle -priority={{Priority}} - -#Reduces maximum liquids moving at the same time. If enabled may reduce lags but liquids may take longer to settle. -slowliquids={{Slowliquids}} \ No newline at end of file diff --git a/tmodloaderupdates.json b/tmodloaderupdates.json deleted file mode 100644 index 72b98c3fd..000000000 --- a/tmodloaderupdates.json +++ /dev/null @@ -1,43 +0,0 @@ -[ - { - "UpdateStageName": "Config Template Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/tmodloaderserverconfig.txt", - "UpdateSourceTarget": "serverfiles", - "OverwriteExistingFiles": false - }, - { - "UpdateStageName": "SteamCMD tModLoader", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "1281930", - "UpdateSourceArgs": "1281930", - "UpdateSourceTarget": "serverfiles", - "UpdateSourceConditionSetting": "Source", - "UpdateSourceConditionValue": "Steam", - "UpdateSourceVersion": "{{BetaBranch}}" - }, - { - "UpdateStageName": "GitHub tModLoader Windows", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Windows.v0.11.8.9.zip", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "Source", - "UpdateSourceConditionValue": "GitHub", - "UpdateSourceTarget": "serverfiles" - }, - { - "UpdateStageName": "GitHub tModLoader Linux", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://github.com/tModLoader/tModLoader/releases/download/v0.11.8.9/tModLoader.Linux.v0.11.8.9.tar.gz", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "UpdateSourceConditionSetting": "Source", - "UpdateSourceConditionValue": "GitHub", - "UpdateSourceTarget": "serverfiles" - } -] \ No newline at end of file diff --git a/tshock.kvp b/tshock.kvp deleted file mode 100644 index 9c149f2d2..000000000 --- a/tshock.kvp +++ /dev/null @@ -1,98 +0,0 @@ -Meta.DisplayName=TShock - Terraria Server -Meta.Description=TShock Dedicated Server for Terraria -Meta.OS=Windows, Linux -Meta.AarchSupport=Native -Meta.Arch=All -Meta.Author=Greelan -Meta.URL=https://ikebukuro.tshock.co/#/ -Meta.DisplayImageSource=steam:105600 -Meta.EndpointURIFormat=steam://connect/{0} -Meta.ConfigManifest=tshockconfig.json -Meta.MetaConfigManifest=tshockmetaconfig.json -Meta.ConfigRoot=tshock.kvp -Meta.MinAMPVersion=2.4.3.6 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnLinux, RecommendedOnWindows -Meta.ContainerPolicyReason=AMP's console is unable to provide input on Windows for TShock. It is able to do so on Linux, therefore Docker is recommended on Windows. -Meta.ExtraSetupStepsURI= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -Meta.ConfigVersion=0.0.0.0 -Meta.ReleaseNotes= -Meta.BreakingReleaseNotes= -App.DisplayName=TShock -App.RootDir=./tshock-server/ -App.BaseDirectory=./tshock-server/ -App.SteamWorkshopDownloadLocation= -App.ExecutableWin=TShock.Server.exe -App.ExecutableLinux=TShock.Server -App.WorkingDir= -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -port {{$ServerPort}} -ip {{$ApplicationIPBinding}} -world "Worlds/{{world}}" -worldselectpath "{{$FullBaseDir}}Worlds" -configpath "{{$FullBaseDir}}tshock" -logpath "tshock/logs" {{disableannouncementbox}}{{secure}}{{noupnp}}{{forceupdate}}{{ignoreversion}}{{$FormattedArgs}} {{CustomServerArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"105600","DOTNET_ROOT":"{{$FullBaseDir}}dotnet"} -App.CommandLineParameterFormat=-{0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=exit -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":7777,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":7878,"Ref":"RESTAPIPort","Name":"Rest API Port","Description":"Port for REST API"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=0 -App.MaxUsers=8 -App.UseRandomAdminPassword=False -App.PersistRandomPassword=False -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[tshockupdates.json] -App.PreStartStages=[] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=False -App.SteamForceLoginPrompt=True -App.RapidStartup=False -App.MonitorChildProcess=False -App.DumpFullChildProcessTree=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^??Error Logging Enabled.$ -Console.AppReadyRegex=^Listening on port (\d+)$ -Console.UserJoinRegex=^(?<username>.+?) has joined\.$ -Console.UserLeaveRegex=^(?<username>.+?) has left\.$ -Console.UserChatRegex=^<(?<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 diff --git a/tshockconfig.json b/tshockconfig.json deleted file mode 100644 index 069da9847..000000000 --- a/tshockconfig.json +++ /dev/null @@ -1,2363 +0,0 @@ -[ - { - "DisplayName":"Server Port", - "Category":"TShock Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ServerPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"REST API Port", - "Category":"TShock Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$RESTAPIPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RestApiPort", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Ban List", - "Category":"TShock Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"banlist", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"banlist", - "IncludeInCommandLine":true, - "DefaultValue":"banlist.txt", - "EnumValues":{} - }, - { - "DisplayName":"Log Path", - "Category":"TShock Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"logpath", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.LogPath", - "IncludeInCommandLine":false, - "DefaultValue":"tshock/logs", - "EnumValues":{} - }, - { - "DisplayName":"World Name", - "Category":"TShock Server Settings", - "Keywords":"world,name,generate,worldname", - "Description":"Unless \"Use Server Name For World Name\" is enabled, sets the name of a newly generated world. The world save file will be named accordingly in the Worlds directory. If the save file already exists and is not loaded under World Save Name, then an incrementally numbered save file will be created", - "FieldName":"worldname", - "InputType":"text", - "ParamFieldName":"worldname", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"World", - "Placeholder":"World", - "EnumValues":{} - }, - { - "DisplayName":"World Save Name", - "Category":"TShock Server Settings", - "Keywords":"world,save,name,load,worldname", - "Description":"Specifies the world save file in the Worlds directory to load on start. Creates the specified file if no World Name is set or \"Use Server Name For World Name\" is enabled. Creates a default world save file if otherwise unspecified", - "FieldName":"world", - "InputType":"text", - "ParamFieldName":"world", - "IncludeInCommandLine":false, - "DefaultValue":"World.wld", - "Placeholder":"World.wld", - "EnumValues":{} - }, - { - "DisplayName":"World Seed", - "Category":"TShock Server Settings", - "Description":"Sets the world seed to use for a newly generated world. Blank = random seed", - "Keywords":"world,seed", - "FieldName":"seed", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"seed", - "IncludeInCommandLine":true, - "DefaultValue":"Powered By AMP", - "Placeholder":"Powered By AMP", - "EnumValues":{} - }, - { - "DisplayName":"World Size", - "Category":"TShock Server Settings", - "Description":"Sets the size of a newly generated world", - "Keywords":"world,size,autocreate", - "FieldName":"autocreate", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"autocreate", - "IncludeInCommandLine":true, - "DefaultValue":"3", - "EnumValues":{ - "1":"Small", - "2":"Medium", - "3":"Large (default)" - } - }, - { - "DisplayName":"World Difficulty Level", - "Category":"TShock Server Settings", - "Description":"Sets the difficulty level of a newly generated world", - "Keywords":"difficulty,normal,expert,master,journey", - "FieldName":"difficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"difficulty", - "IncludeInCommandLine":true, - "DefaultValue":"0", - "EnumValues":{ - "0":"Normal (default)", - "1":"Expert", - "2":"Master", - "3":"Journey" - } - }, - { - "DisplayName":"World Evil", - "Category":"TShock Server Settings", - "Description":"Sets the evil state for a newly generated world", - "Keywords":"world,evil,state,worldevil", - "FieldName":"worldevil", - "InputType":"enum", - "ParamFieldName":"worldevil", - "IncludeInCommandLine":true, - "DefaultValue":"random", - "EnumValues":{ - "random":"Random (default)", - "corrupt":"Corrupt", - "crimson":"Crimson" - } - }, - { - "DisplayName":"Server Name", - "Category":"TShock Server Settings", - "Description":"Sets the name of the server shown publicly", - "Keywords":"server,name,servername", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered TShock Server", - "EnumValues":{} - }, - { - "DisplayName":"Use Server Name For World Name", - "Category":"TShock Server Settings", - "Description":"If set, the Server Name will be used as the world name of a newly generated world, with the world save file named as specified under World Save Name", - "Keywords":"world,name,useservername", - "FieldName":"UseServerName", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.UseServerName", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"MOTD", - "Category":"TShock Server Settings", - "Description":"Sets the server's [MOTD](https://ikebukuro.tshock.co/#/motd) (message of the day)", - "Keywords":"motd,welcome,message", - "FieldName":"motd", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"motd", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to [c/ffff00:%map%] on [c/7ddff8:T][c/81dbf6:S][c/86d7f4:h][c/8ad3f3:o][c/8ecef1:c][c/93caef:k] for [c/55d284:T][c/62d27a:e][c/6fd16f:r][c/7cd165:r][c/89d15a:a][c/95d150:r][c/a4d145:i][c/b1d03b:a].\n[c/FFFFFF:Online players (%onlineplayers%/%serverslots%):] [c/FFFF00:%players%]\nType [c/55D284:%specifier%][c/62D27A:h][c/6FD16F:e][c/7CD165:l][c/89D15A:p] for a list of commands.", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"TShock 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, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"TShock Server Settings", - "Keywords":"", - "Description":"", - "FieldName":"password", - "InputType":"password", - "Hidden":true, - "ParamFieldName":"$.Settings.ServerPassword", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server IP Binding", - "Category":"TShock 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", - "Keywords":"ip,binding", - "FieldName":"ip", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"ip", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable Anti-Spam", - "Category":"TShock Server Settings", - "Description":"If set, enables the server's anti-spam feature", - "Keywords":"secure,anti-spam", - "FieldName":"secure", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"secure", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-secure " - } - }, - { - "DisplayName":"Server Language", - "Category":"TShock Server Settings", - "Description":"Sets the language of the server", - "Keywords":"language,lang", - "FieldName":"lang", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"lang", - "IncludeInCommandLine":true, - "DefaultValue":"en_US", - "EnumValues":{ - "en_US":"English (default)", - "en_PT":"Pirate English", - "fr_QC":"Canadian French", - "zh_Hans":"Chinese", - "zh_CN":"Chinese (simplified)", - "fr_FR":"French", - "de_DE":"German", - "id_ID":"Indonesian", - "it_IT":"Italian", - "ja_JP":"Japanese", - "pl_PL":"Polish", - "pt_PT":"Portuguese", - "pt_BR":"Portuguese (Brazil)", - "ru_RU":"Russian", - "es_ES":"Spanish", - "tok":"Toki Pona", - "tr_TR":"Turkish", - "ru_UA":"Ukrainian" - } - }, - { - "DisplayName":"Disable Announcement Box", - "Category":"TShock Server Settings", - "Description":"If set, disables the text announcements that the Announcement Box makes when pulsed from wire", - "Keywords":"disable,announcement,box,disableannouncementbox", - "FieldName":"disableannouncementbox", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disableannouncementbox", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-disableannouncementbox " - } - }, - { - "DisplayName":"Announcement Box Range", - "Category":"TShock Server Settings", - "Description":"Sets the Announcement Box text messaging range. -1 = serverwide announcements", - "Keywords":"announcement,box,range,pixels,announcementboxrange", - "FieldName":"announcementboxrange", - "InputType":"number", - "MinValue":"-1", - "IsFlagArgument":false, - "ParamFieldName":"announcementboxrange", - "IncludeInCommandLine":true, - "DefaultValue":"-1", - "Placeholder":"-1", - "Suffix":"pixels", - "EnumValues":{} - }, - { - "DisplayName":"Enable Autosave", - "Category":"TShock Server Settings", - "Description":"If set, the server’s backup autosave will be enabled. Backups are stored in the tshock/backups folder", - "Keywords":"auto,save,autosave", - "FieldName":"AutoSave", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AutoSave", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Announce Autosaves", - "Category":"TShock Server Settings", - "Description":"If set, world autosave announcements will be enabled", - "Keywords":"announce,auto,save,autosave,announcesave", - "FieldName":"AnnounceSave", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AnnounceSave", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Show Autosave Messages", - "Category":"TShock Server Settings", - "Description":"If set, backup autosave messages will be shown", - "Keywords":"auto,save,autosave,message,showbackupautosavemessages", - "FieldName":"ShowBackupAutosaveMessages", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ShowBackupAutosaveMessages", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Backup Interval", - "Category":"TShock Server Settings", - "Description":"Sets the interval between backup autosaves", - "Keywords":"backup,interval,backupinterval", - "FieldName":"BackupInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.BackupInterval", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Backup Retention Period", - "Category":"TShock Server Settings", - "Description":"Sets how long backup autosaves are kept", - "Keywords":"backup,retention,period,backupkeepfor", - "FieldName":"BackupKeepFor", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.BackupKeepFor", - "IncludeInCommandLine":false, - "DefaultValue":"240", - "Placeholder":"240", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Save World On Crash", - "Category":"TShock Server Settings", - "Description":"If enabled, the world will be saved if the server crashes from an unhandled exception", - "Keywords":"save,world,crash,saveworldoncrash", - "FieldName":"SaveWorldOnCrash", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.SaveWorldOnCrash", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Save World On Last Player Exit", - "Category":"TShock Server Settings", - "Description":"If enabled, the world will be saved when the last player disconnects", - "Keywords":"save,world,last,player,exit,disconnect,saveworldonlastplayerexit", - "FieldName":"SaveWorldOnLastPlayerExit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.SaveWorldOnLastPlayerExit", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Ignore Plugin Version Checks", - "Category":"TShock Server Settings", - "Description":"If set, the server will ignore API version checks for plugins, allowing old plugins to run", - "Keywords":"ignore,version,plugin,check,ignoreversion", - "FieldName":"ignoreversion", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ignoreversion", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-ignoreversion " - } - }, - { - "DisplayName":"Enable Debug Logs", - "Category":"TShock Server Settings", - "Description":"If enabled, the server will output debug level messages related to system operation", - "Keywords":"debug,logs,debuglogs", - "FieldName":"DebugLogs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DebugLogs", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Spew Logs", - "Category":"TShock Server Settings", - "Description":"If set, disables sending logs as messages to players with the log permission", - "Keywords":"disable,spew,logs,messages,disablespewlogs", - "FieldName":"DisableSpewLogs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableSpewLogs", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Second Update Logs", - "Category":"TShock Server Settings", - "Description":"If set, prevents On Second Update checks from writing to the log file", - "Keywords":"disable,second,update,logsdisablesecondupdatelogs", - "FieldName":"DisableSecondUpdateLogs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableSecondUpdateLogs", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Suppress Permission Failure Notices", - "Category":"TShock Server Settings", - "Description":"If enabled, the server will suppress build permission failure warnings from regions, spawn point, or server edit failure", - "Keywords":"suppress,build,permission,failure,warnings,notices,suppresspermissionfailurenotices", - "FieldName":"SuppressPermissionFailureNotices", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.SuppressPermissionFailureNotices", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable UPnP", - "Category":"TShock Server Settings", - "Description":"If set, disables UPnP (Universal Plug and Play) on the server", - "Keywords":"upnp,noupnp", - "FieldName":"noupnp", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"noupnp", - "IncludeInCommandLine":false, - "DefaultValue":"-noupnp ", - "EnumValues":{ - "False":"", - "True":"-noupnp " - } - }, - { - "DisplayName":"Server Process Priority", - "Category":"TShock Server Settings", - "Description":"Sets the server process priority", - "Keywords":"process,priority,performance,forcepriority", - "FieldName":"forcepriority", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"forcepriority", - "IncludeInCommandLine":true, - "DefaultValue":"1", - "EnumValues":{ - "0":"Realtime", - "1":"High (default)", - "2":"Above Normal", - "3":"Normal", - "4":"Below Normal", - "5":"Idle" - } - }, - { - "DisplayName":"Additional Command Line Parameters", - "Category":"TShock Server Settings", - "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care", - "Keywords":"custom,server,arguments,variables,parameters", - "FieldName":"CustomServerArgs", - "InputType":"Textarea", - "IsFlagArgument":false, - "ParamFieldName":"CustomServerArgs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"-heaptile", - "EnumValues":{} - }, - { - "DisplayName":"Force Server Running", - "Category":"TShock Gameplay Settings", - "Description":"If set, the server will be forced to continue running, and not hibernate when no players are connected. This will result in time passing, grass growing, and the CPU running", - "Keywords":"force,update,running,forceupdate", - "FieldName":"forceupdate", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"forceupdate", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"-forceupdate " - } - }, - { - "DisplayName":"Invasion Multiplier", - "Category":"TShock Gameplay Settings", - "Description":"Sets the size of invasion events, based on: 100 + (multiplier x (number of active players with greater than 200 health))", - "Keywords":"invasion,multiplier,events,invasionmultiplier", - "FieldName":"InvasionMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.InvasionMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Default Maximum Spawns", - "Category":"TShock Gameplay Settings", - "Description":"Sets the default maximum number of mobs that will spawn per wave. Higher = more mobs in that wave", - "Keywords":"default,maximum,spawns,mobs,waves,defaultmaximumspawns", - "FieldName":"DefaultMaximumSpawns", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DefaultMaximumSpawns", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"mobs", - "EnumValues":{} - }, - { - "DisplayName":"Default Spawn Rate", - "Category":"TShock Gameplay Settings", - "Description":"Sets the delay between waves. Lower = more mobs", - "Keywords":"default,spawn,rate,waves,mobs,defaultspawnrate", - "FieldName":"DefaultSpawnRate", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DefaultSpawnRate", - "IncludeInCommandLine":false, - "DefaultValue":"600", - "Placeholder":"600", - "EnumValues":{} - }, - { - "DisplayName":"Enable Infinite Invasion", - "Category":"TShock Gameplay Settings", - "Description":"If set, enables never-ending invasion events. The event still needs to be started, such as with the /invade command", - "Keywords":"infinite,invasion,events,infiniteinvasion", - "FieldName":"InfiniteInvasion", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.InfiniteInvasion", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"PvP Mode", - "Category":"TShock Gameplay Settings", - "Description":"Sets the server's PvP (player vs player) mode", - "Keywords":"pvp,combat,pve,pvpmode", - "FieldName":"PvPMode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.PvPMode", - "IncludeInCommandLine":false, - "DefaultValue":"normal", - "EnumValues":{ - "normal":"Normal (default)", - "always":"Always", - "disabled":"Disabled" - } - }, - { - "DisplayName":"Enable Spawn Protection", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, prevents tiles from being placed within the Spawn Protection Radius of the default spawn", - "Keywords":"spawn,protection,spawnprotection", - "FieldName":"SpawnProtection", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.SpawnProtection", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Spawn Protection Radius", - "Category":"TShock Gameplay Settings", - "Description":"Sets the tile radius around the spawn tile that is protected by the Spawn Protection setting", - "Keywords":"spawn,protection,radius,spawnprotectionradius", - "FieldName":"SpawnProtectionRadius", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.SpawnProtectionRadius", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"tiles", - "EnumValues":{} - }, - { - "DisplayName":"Enable Range Checks", - "Category":"TShock Gameplay Settings", - "Description":"If set, enables anti-cheat range checks based on the distance between the player and their block placements", - "Keywords":"range,checks,enable,anti-cheat,rangechecks", - "FieldName":"RangeChecks", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RangeChecks", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Hardcore Only", - "Category":"TShock Gameplay Settings", - "Description":"If set, only hardcore players cann connect. Don't enable Softcore Only or Mediumcore Only at the same time", - "Keywords":"hardcore,mode,hardcoreonly", - "FieldName":"HardcoreOnly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.HardcoreOnly", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Mediumcore Only", - "Category":"TShock Gameplay Settings", - "Description":"If set, softcore players cannot connect. Don't enable Softcore Only or Hardcore Only at the same time", - "Keywords":"mediumcore,mode,mediumcoreonly", - "FieldName":"MediumcoreOnly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MediumcoreOnly", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Softcore Only", - "Category":"TShock Gameplay Settings", - "Description":"If set, only softcore players can connect. Don't enable Mediumcore Only or Hardcore Only at the same time", - "Keywords":"softcore,mode,softcoreonly", - "FieldName":"SoftcoreOnly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.SoftcoreOnly", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Building", - "Category":"TShock Gameplay Settings", - "Description":"If set, disables any placing or removal of blocks", - "Keywords":"disable,build,building,blocks,disablebuild", - "FieldName":"DisableBuild", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableBuild", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Hardmode", - "Category":"TShock Gameplay Settings", - "Description":"If set, hardmode will not be activated by the Wall of Flesh or the /starthardmode command", - "Keywords":"disable,hardmode,disablehardmode", - "FieldName":"DisableHardmode", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableHardmode", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Dungeon Guardian", - "Category":"TShock Gameplay Settings", - "Description":"If set, prevents the dungeon guardian from being spawned, while sending players to their spawn point instead", - "Keywords":"dungeon,guardian,spawn,disable,disabledungeonguardian", - "FieldName":"DisableDungeonGuardian", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableDungeonGuardian", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Clown Bombs", - "Category":"TShock Gameplay Settings", - "Description":"If set, disables clown bomb projectiles from spawning", - "Keywords":"clown,bombs,projectiles,disable,disableclownbombs", - "FieldName":"DisableClownBombs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableClownBombs", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Snowballs", - "Category":"TShock Gameplay Settings", - "Description":"If set, disables snowball projectiles from spawning", - "Keywords":"snowballs,projectiles,disable,disablesnowballs", - "FieldName":"DisableSnowBalls", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableSnowBalls", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Tombstones", - "Category":"TShock Gameplay Settings", - "Description":"If set, disables tombstone dropping during death for all players", - "Keywords":"tombstones,death,disable,disabletombstones", - "FieldName":"DisableTombstones", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableTombstones", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Prime Bombs", - "Category":"TShock Gameplay Settings", - "Description":"If set, disables Skeletron Prime Bombs from spawning. Useful for preventing unwanted world destruction on \"for the worthy\" seed worlds", - "Keywords":"skeletron,prime,bombs,disable,disableprimebombs", - "FieldName":"DisablePrimeBombs", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisablePrimeBombs", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Force Time", - "Category":"TShock Gameplay Settings", - "Description":"Forces the world time to the specified setting", - "Keywords":"force,time,day,night,forcetime", - "FieldName":"ForceTime", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ForceTime", - "IncludeInCommandLine":false, - "DefaultValue":"normal", - "EnumValues":{ - "normal":"Normal (default)", - "day":"Day", - "night":"Night" - } - }, - { - "DisplayName":"Disable PvP Invisibility", - "Category":"TShock Gameplay Settings", - "Description":"If set, disables the effect of invisibility potions while PvP is enabled, by making the player visible to the other players", - "Keywords":"invisibility,pvp,disable,disableinvispvp", - "FieldName":"DisableInvisPvP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableInvisPvP", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Maximum Range For Disabled Players", - "Category":"TShock Gameplay Settings", - "Description":"Sets the maximum distance that disabled players can move from", - "Keywords":"maximum,range,disabled,maxrangefordisabled", - "FieldName":"MaxRangeForDisabled", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MaxRangeForDisabled", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"tiles", - "EnumValues":{} - }, - { - "DisplayName":"Enable Region Protection For Chests", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, region protection will apply to chests", - "Keywords":"region,protection,chests,regionprotectchests", - "FieldName":"RegionProtectChests", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RegionProtectChests", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable Region Protection For Gem Locks", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, region protection will apply to gem locks", - "Keywords":"region,protection,gem,locks,regionprotectgemlocks", - "FieldName":"RegionProtectGemLocks", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RegionProtectGemLocks", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Maximum Player/NPC Damage", - "Category":"TShock Gameplay Settings", - "Description":"Sets the maximum damage a player/NPC can inflict", - "Keywords":"maximum,player,npc,damage,maxdamage", - "FieldName":"MaxDamage", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MaxDamage", - "IncludeInCommandLine":false, - "DefaultValue":"1175", - "Placeholder":"1175", - "EnumValues":{} - }, - { - "DisplayName":"Maximum Projectile Damage", - "Category":"TShock Gameplay Settings", - "Description":"Sets the maximum damage a projectile can inflict", - "Keywords":"maximum,projectile,damage,maxprojdamage", - "FieldName":"MaxProjDamage", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MaxProjDamage", - "IncludeInCommandLine":false, - "DefaultValue":"1175", - "Placeholder":"1175", - "EnumValues":{} - }, - { - "DisplayName":"Ignore Projectile Update", - "Category":"TShock Gameplay Settings", - "Description":"If set, ignores checks to see if a player can update a projectile", - "Keywords":"ignore,checks,update,projectile,ignoreprojupdate", - "FieldName":"IgnoreProjUpdate", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.IgnoreProjUpdate", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Ignore Projectile Kill", - "Category":"TShock Gameplay Settings", - "Description":"If set, ignores checks to see if a player can kill a projectile", - "Keywords":"ignore,checks,kill,projectile,ignoreprojkill", - "FieldName":"IgnoreProjKill", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.IgnoreProjKill", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Cut Tiles And Breakables", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, allows players to break temporary tiles (grass, pots, etc) where they cannot usually build", - "Keywords":"break,cut,temporary,tiles,breakables,allowcuttilesandbreakables", - "FieldName":"AllowCutTilesAndBreakables", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AllowCutTilesAndBreakables", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Ice", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, allows ice placement even where a player cannot usually build", - "Keywords":"allow,ice,allowice", - "FieldName":"AllowIce", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AllowIce", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Hardmode Crimson Creep", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, allows the crimson to spread when a world is in hardmode", - "Keywords":"allow,crimson,creep,hardmode,allowcrimsoncreep", - "FieldName":"AllowCrimsonCreep", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AllowCrimsonCreep", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Hardmode Corruption Creep", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, allows the corruption to spread when a world is in hardmode", - "Keywords":"allow,corruption,creep,hardmode,allowcorruptioncreep", - "FieldName":"AllowCorruptionCreep", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AllowCorruptionCreep", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Hardmode Hallow Creep", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, allows the hallow to spread when a world is in hardmode", - "Keywords":"allow,hallow,creep,hardmode,allowhallowcreep", - "FieldName":"AllowHallowCreep", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AllowHallowCreep", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Statue Spawn Within 200 Pixels", - "Category":"TShock Gameplay Settings", - "Description":"Sets how many NPCs a statue can spawn within 200 pixels before it stops spawning", - "Keywords":"statue,spawn,npcs,statuespawn200", - "FieldName":"StatueSpawn200", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.StatueSpawn200", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "Suffix":"NPCs", - "EnumValues":{} - }, - { - "DisplayName":"Statue Spawn Within 600 Pixels", - "Category":"TShock Gameplay Settings", - "Description":"Sets how many NPCs a statue can spawn within 600 pixels before it stops spawning", - "Keywords":"statue,spawn,npcs,statuespawn600", - "FieldName":"StatueSpawn600", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.StatueSpawn600", - "IncludeInCommandLine":false, - "DefaultValue":"6", - "Placeholder":"6", - "Suffix":"NPCs", - "EnumValues":{} - }, - { - "DisplayName":"Statue Spawn Within World", - "Category":"TShock Gameplay Settings", - "Description":"Sets how many NPCs a statue can spawn before it stops spawning", - "Keywords":"statue,spawn,npcs,statuespawnworld", - "FieldName":"StatueSpawnWorld", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.StatueSpawnWorld", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"NPCs", - "EnumValues":{} - }, - { - "DisplayName":"Prevent Banned Item Spawn", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, prevents banned items from being spawned or given with commands", - "Keywords":"prevent,banned,item,spawn,given,preventbanneditemspawn", - "FieldName":"PreventBannedItemSpawn", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.PreventBannedItemSpawn", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Prevent Dead Modification", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, prevents players from interacting with the world while they are dead", - "Keywords":"prevent,interaction,dead,preventdeadmodification", - "FieldName":"PreventDeadModification", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.PreventDeadModification", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Prevent Invalid Place Style", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, prevents players from placing tiles with an invalid style", - "Keywords":"prevent,tiles,invalid,style,preventinvalidplacestyle", - "FieldName":"PreventInvalidPlaceStyle", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.PreventInvalidPlaceStyle", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Force Christmas", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, forces Christmas-only events to occur all year", - "Keywords":"force,christmas,xmas,events,forcexmas", - "FieldName":"ForceXmas", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ForceXmas", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Force Halloween", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, forces Halloween-only events to occur all year", - "Keywords":"force,halloween,events,forcehalloween", - "FieldName":"ForceHalloween", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ForceHalloween", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Allowed Groups To Spawn Banned Items", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, allows groups on the banned item allowed list to spawn banned items even if Prevent Banned Item Spawn is enabled", - "Keywords":"allowed,groups,banned,items,spawn,allowallowedgroupstospawnbanneditems", - "FieldName":"AllowAllowedGroupsToSpawnBannedItems", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AllowAllowedGroupsToSpawnBannedItems", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Ignore Chest Stacks On Load", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, allows stacks in chests to go beyond the stack limit during world loading", - "Keywords":"ignore,chest,stacks,limit,load,ignorecheststacksonload", - "FieldName":"IgnoreChestStacksOnLoad", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.IgnoreChestStacksOnLoad", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Anonymous Boss Invasions", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, boss spawning and invasion starts will be announced", - "Keywords":"anonymous,boss,spawning,invasion,start,announce,anonymousbossinvasions", - "FieldName":"AnonymousBossInvasions", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AnonymousBossInvasions", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Bomb Explosion Radius", - "Category":"TShock Gameplay Settings", - "Description":"Sets the range over which a bomb can affect tiles from its detonation point", - "Keywords":"bomb,explosion,radius,bombexplosionradius", - "FieldName":"BombExplosionRadius", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.BombExplosionRadius", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"tiles", - "EnumValues":{} - }, - { - "DisplayName":"Give Items Directly", - "Category":"TShock Gameplay Settings", - "Description":"If enabled, items given to players will be inserted directly into their inventory. Requires SSC. Otherwise, items given to players will spawn as dropped items. Experimental - may not work correctly or may result in item loss", - "Keywords":"give,items,directly,inventory,giveitemsdirectly", - "FieldName":"GiveItemsDirectly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.GiveItemsDirectly", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Modified Zenith", - "Category":"TShock Gameplay Settings", - "Description":"If set, prohibits the use of the Zenith projectile with different objects instead of weapons", - "Keywords":"modified,zenith,projectile,disable,disablemodifiedzenith", - "FieldName":"DisableModifiedZenith", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableModifiedZenith", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Custom Death Messages", - "Category":"TShock Gameplay Settings", - "Description":"If set, enables protection against creating custom messages with death", - "Keywords":"disable,custom,death,messages,disablecustomdeathmessages", - "FieldName":"DisableCustomDeathMessages", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableCustomDeathMessages", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Command Specifier", - "Category":"TShock Gameplay Settings", - "Description":"Specifies which string starts a command. Note: Will not function properly if the string length is bigger than 1", - "Keywords":"command,specifier,string,commandspecifier", - "FieldName":"CommandSpecifier", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.CommandSpecifier", - "IncludeInCommandLine":false, - "DefaultValue":"/", - "EnumValues":{} - }, - { - "DisplayName":"Command Silent Specifier", - "Category":"TShock Gameplay Settings", - "Description":"Specifies which string starts a command silently. Note: Will not function properly if the string length is bigger than 1", - "Keywords":"command,silent,specifier,string,commandsilentspecifier", - "FieldName":"CommandSilentSpecifier", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.CommandSilentSpecifier", - "IncludeInCommandLine":false, - "DefaultValue":".", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"TShock Player Settings", - "Description":"Sets the maximum numbers of players that can connect at one time", - "Keywords":"player,limit,max,maximum,maxplayers", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "MaxValue":"255", - "IsFlagArgument":false, - "ParamFieldName":"maxplayers", - "IncludeInCommandLine":true, - "DefaultValue":"8", - "Placeholder":"8", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"TShock Player Settings", - "Description":"", - "Keywords":"", - "FieldName":"$MaxUsers", - "InputType":"number", - "Hidden":true, - "ParamFieldName":"$.Settings.MaxSlots", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Reserved Player Slots", - "Category":"TShock Player Settings", - "Description":"Sets the number of reserved slots above the Player Limit that can be joined by reserved players", - "Keywords":"reserved,player,slots,reservedslots", - "FieldName":"ReservedSlots", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ReservedSlots", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"reserved players", - "EnumValues":{} - }, - { - "DisplayName":"Enable Whitelist", - "Category":"TShock Player Settings", - "Description":"If set, enables the server's whitelist based on IP addresses in tshock/whitelist.txt", - "Keywords":"enable,whitelist,enablewhitelist", - "FieldName":"EnableWhitelist", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.EnableWhitelist", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Whitelist Kick Reason", - "Category":"TShock Player Settings", - "Description":"Sets the reason given when kicking players for not being on the whitelist", - "Keywords":"whitelist,kick,reason,whitelistkickreason", - "FieldName":"WhitelistKickReason", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.WhitelistKickReason", - "IncludeInCommandLine":false, - "DefaultValue":"You are not on the whitelist.", - "EnumValues":{} - }, - { - "DisplayName":"Server Full With No Reserved Slots Reason", - "Category":"TShock Player Settings", - "Description":"Sets the reason given when kicking players that attempt to join while the server is full with no reserved slots available", - "Keywords":"server,full,reason,reserved,slots,serverfullnoreservedreason", - "FieldName":"ServerFullNoReservedReason", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ServerFullNoReservedReason", - "IncludeInCommandLine":false, - "DefaultValue":"Server is full. No reserved slots open.", - "EnumValues":{} - }, - { - "DisplayName":"Server Full Reason", - "Category":"TShock Player Settings", - "Description":"Sets the reason given when kicking players that attempt to join while the server is full", - "Keywords":"server,full,reason,serverfullreason", - "FieldName":"ServerFullReason", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ServerFullReason", - "IncludeInCommandLine":false, - "DefaultValue":"Server is full.", - "EnumValues":{} - }, - { - "DisplayName":"Default Registration Group Name", - "Category":"TShock Player Settings", - "Description":"Sets the default group name to place newly registered users under", - "Keywords":"default,registration,group,defaultregistrationgroupname", - "FieldName":"DefaultRegistrationGroupName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DefaultRegistrationGroupName", - "IncludeInCommandLine":false, - "DefaultValue":"default", - "Placeholder":"default", - "EnumValues":{} - }, - { - "DisplayName":"Default Guest Group Name", - "Category":"TShock Player Settings", - "Description":"Sets the default group name to place unregistered players under", - "Keywords":"default,guest,group,unregistered,defaultguestgroupname", - "FieldName":"DefaultGuestGroupName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DefaultGuestGroupName", - "IncludeInCommandLine":false, - "DefaultValue":"guest", - "Placeholder":"guest", - "EnumValues":{} - }, - { - "DisplayName":"Remember Leave Position", - "Category":"TShock Player Settings", - "Description":"If enabled, remembers where a player left off, based on their IP. Does not persist through server restarts", - "Keywords":"remember,player,leave,position,rememberleavepos", - "FieldName":"RememberLeavePos", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RememberLeavePos", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Require Login Or Registration", - "Category":"TShock Player Settings", - "Description":"If enabled, requires all players to register or login before being allowed to play", - "Keywords":"require,players,register,login,requirelogin", - "FieldName":"RequireLogin", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RequireLogin", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Login With Any Username", - "Category":"TShock Player Settings", - "Description":"If enabled, allows players to login to any account even if the username doesn't match their character name", - "Keywords":"allow,login,username,allowloginanyusername", - "FieldName":"AllowLoginAnyUsername", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AllowLoginAnyUsername", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Allow Registration With Any Username", - "Category":"TShock Player Settings", - "Description":"If enabled, allows players to register a username that doesn't necessarily match their character name", - "Keywords":"allow,register,registration,username,allowregisteranyusername", - "FieldName":"AllowRegisterAnyUsername", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.AllowRegisterAnyUsername", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Maximum Login Attempts", - "Category":"TShock Player Settings", - "Description":"Sets the number of failed login attempts before kicking a player", - "Keywords":"maximum,login,attempts,maximumloginattempts", - "FieldName":"MaximumLoginAttempts", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MaximumLoginAttempts", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Disable Login Before Join", - "Category":"TShock Player Settings", - "Description":"If set, prevents players from being able to login before they finish connecting", - "Keywords":"disable,login,join,connect,disableloginbeforejoin", - "FieldName":"DisableLoginBeforeJoin", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableLoginBeforeJoin", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Display IP To Admins", - "Category":"TShock Player Settings", - "Description":"If enabled, displays a player's IP on join to users with the log permission", - "Keywords":"ip,admins,display,displayiptoadmins", - "FieldName":"DisplayIPToAdmins", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisplayIPToAdmins", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Announce Player Geographic Location", - "Category":"TShock Player Settings", - "Description":"If enabled, a player's geographic location will be announced on join, based on their IP", - "Keywords":"geoip,geographic,location,announce,enablegeoip", - "FieldName":"EnableGeoIP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.EnableGeoIP", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Kick Proxy Users", - "Category":"TShock Player Settings", - "Description":"If set, and Announce Player Geographic Location is enabled, users identified as being under a proxy will be kicked", - "Keywords":"kick,users,proxy,geoip,kickproxyusers", - "FieldName":"KickProxyUsers", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickProxyUsers", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Disable Default IP Bans", - "Category":"TShock Player Settings", - "Description":"If set, disables IP bans by default, if no arguments are passed to the ban command", - "Keywords":"disable,default,ip,ban,disabledefaultipban", - "FieldName":"DisableDefaultIPBan", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableDefaultIPBan", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Minimum Password Length", - "Category":"TShock Player Settings", - "Description":"Sets the minimum password length for new user accounts", - "Keywords":"minimum,password,length,accounts,minimumpasswordlength", - "FieldName":"MinimumPasswordLength", - "InputType":"number", - "MinValue":"4", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MinimumPasswordLength", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "Placeholder":"4", - "EnumValues":{} - }, - { - "DisplayName":"BCrypt Work Factor", - "Category":"TShock Player Settings", - "Description":"Determines the BCrypt work factor to use. If increased, all passwords will be upgraded to the new work-factor on verify. The number of computational rounds is 2^n. Increase with caution", - "Keywords":"bcrypt,work,factor,passwords,bcryptworkfactor", - "FieldName":"BCryptWorkFactor", - "InputType":"number", - "MinValue":"5", - "MaxValue":"31", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.BCryptWorkFactor", - "IncludeInCommandLine":false, - "DefaultValue":"7", - "Placeholder":"7", - "EnumValues":{} - }, - { - "DisplayName":"Disable UUID Login", - "Category":"TShock Player Settings", - "Description":"If set, prevents players from being able to login with their client UUID", - "Keywords":"disable,uuid,login,disableuuidlogin", - "FieldName":"DisableUUIDLogin", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.DisableUUIDLogin", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Kick Empty UUID", - "Category":"TShock Player Settings", - "Description":"If enabled, clients that don't send their UUID to the server will be kicked", - "Keywords":"kick,empty,uuid,kickemptyuuid", - "FieldName":"KickEmptyUUID", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickEmptyUUID", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Kick On Mediumcore Death", - "Category":"TShock Player Settings", - "Description":"If enabled, mediumcore players will be kicked on death", - "Keywords":"kick,mediumcore,death,kickonmediumcoredeath", - "FieldName":"KickOnMediumcoreDeath", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickOnMediumcoreDeath", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Mediumcore Kick Reason", - "Category":"TShock Player Settings", - "Description":"Sets the reason given when kicking a mediumcore player on death", - "Keywords":"mediumcore,kick,death,reason,mediumcorekickreason", - "FieldName":"MediumcoreKickReason", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MediumcoreKickReason", - "IncludeInCommandLine":false, - "DefaultValue":"Death results in a kick.", - "EnumValues":{} - }, - { - "DisplayName":"Ban On Mediumcore Death", - "Category":"TShock Player Settings", - "Description":"If enabled, mediumcore players will be banned on death", - "Keywords":"ban,mediumcore,death,banonmediumcoredeath", - "FieldName":"BanOnMediumcoreDeath", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.BanOnMediumcoreDeath", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Mediumcore Ban Reason", - "Category":"TShock Player Settings", - "Description":"Sets the reason given when banning a mediumcore player on death", - "Keywords":"mediumcore,ban,death,reason,mediumcorebanreason", - "FieldName":"MediumcoreBanReason", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MediumcoreBanReason", - "IncludeInCommandLine":false, - "DefaultValue":"Death results in a ban.", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Hardcore Death", - "Category":"TShock Player Settings", - "Description":"If enabled, hardcore players will be kicked on death", - "Keywords":"kick,hardcore,death,kickonhardcoredeath", - "FieldName":"KickOnHardcoreDeath", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickOnHardcoreDeath", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Hardcore Kick Reason", - "Category":"TShock Player Settings", - "Description":"Sets the reason given when kicking a hardcore player on death", - "Keywords":"hardcore,kick,death,reason,hardcorekickreason", - "FieldName":"HardcoreKickReason", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.HardcoreKickReason", - "IncludeInCommandLine":false, - "DefaultValue":"Death results in a kick.", - "EnumValues":{} - }, - { - "DisplayName":"Ban On Hardcore Death", - "Category":"TShock Player Settings", - "Description":"If enabled, hardcore players will be banned on death", - "Keywords":"ban,hardcore,death,banonhardcoredeath", - "FieldName":"BanOnHardcoreDeath", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.BanOnHardcoreDeath", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Hardcore Ban Reason", - "Category":"TShock Player Settings", - "Description":"Sets the reason given when banning a hardcore player on death", - "Keywords":"hardcore,ban,reason,hardcorebanreason", - "FieldName":"HardcoreBanReason", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.HardcoreBanReason", - "IncludeInCommandLine":false, - "DefaultValue":"Death results in a ban.", - "EnumValues":{} - }, - { - "DisplayName":"Respawn Period", - "Category":"TShock Player Settings", - "Description":"Sets the period a player must wait before being respawned. Use at your own risk", - "Keywords":"respawn,seconds,period,respawnseconds", - "FieldName":"RespawnSeconds", - "InputType":"number", - "MinValue":"0", - "MaxValue":"15", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RespawnSeconds", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Respawn Boss Period", - "Category":"TShock Player Settings", - "Description":"Sets the period a player must wait before being respawned if there is a boss nearby. Use at your own risk", - "Keywords":"respawn,seconds,period,boss,respawnbossseconds", - "FieldName":"RespawnBossSeconds", - "InputType":"number", - "MinValue":"0", - "MaxValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RespawnBossSeconds", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maximum HP", - "Category":"TShock Player Settings", - "Description":"Sets the maximum HP a player can have, before equipment buffs", - "Keywords":"max,maximum,hp,maxhp", - "FieldName":"MaxHP", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MaxHP", - "IncludeInCommandLine":false, - "DefaultValue":"500", - "Placeholder":"500", - "EnumValues":{} - }, - { - "DisplayName":"Maximum MP", - "Category":"TShock Player Settings", - "Description":"Sets the maximum MP a player can have, before equipment buffs", - "Keywords":"max,maximum,mp,maxmp", - "FieldName":"MaxMP", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MaxMP", - "IncludeInCommandLine":false, - "DefaultValue":"200", - "Placeholder":"200", - "EnumValues":{} - }, - { - "DisplayName":"Tile Paint Threshold", - "Category":"TShock Player Settings", - "Description":"Disables a player if the set number of tiles is painted within 1 second", - "Keywords":"tile,paint,threshold,tilepaintthreshold", - "FieldName":"TilePaintThreshold", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.TilePaintThreshold", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "Placeholder":"15", - "Suffix":"tiles", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Tile Paint Threshold Broken", - "Category":"TShock Player Settings", - "Description":"If enabled, players will be kicked when they surpass the Tile Paint Threshold", - "Keywords":"kick,tile,paint,threshold,kickontilepaintthresholdbroken", - "FieldName":"KickOnTilePaintThresholdBroken", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickOnTilePaintThresholdBroken", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Tile Kill Threshold", - "Category":"TShock Player Settings", - "Description":"Disables a player and reverts their actions if the set number of tile kills is exceeded within 1 second", - "Keywords":"tile,kill,threshold,tilekillthreshold", - "FieldName":"TileKillThreshold", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.TileKillThreshold", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"tile kills", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Tile Kill Threshold Broken", - "Category":"TShock Player Settings", - "Description":"If enabled, players will be kicked when they surpass the Tile Kill Threshold", - "Keywords":"kick,tile,kill,threshold,kickontilekillthresholdbroken", - "FieldName":"KickOnTileKillThresholdBroken", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickOnTileKillThresholdBroken", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Tile Place Threshold", - "Category":"TShock Player Settings", - "Description":"Disables a player and reverts their actions if the set number of tile places is exceeded within 1 second", - "Keywords":"tile,place,threshold,tileplacethreshold", - "FieldName":"TilePlaceThreshold", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.TilePlaceThreshold", - "IncludeInCommandLine":false, - "DefaultValue":"32", - "Placeholder":"32", - "Suffix":"tile places", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Tile Place Threshold Broken", - "Category":"TShock Player Settings", - "Description":"If enabled, players will be kicked when they surpass the Tile Place Threshold", - "Keywords":"kick,tile,place,threshold,kickontileplacethresholdbroken", - "FieldName":"KickOnTilePlaceThresholdBroken", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickOnTilePlaceThresholdBroken", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Tile Liquid Threshold", - "Category":"TShock Player Settings", - "Description":"Disables a player if the set number of liquid sets is exceeded within 1 second", - "Keywords":"tile,liquid,threshold,tileliquidthreshold", - "FieldName":"TileLiquidThreshold", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.TileLiquidThreshold", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Placeholder":"50", - "Suffix":"liquid sets", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Tile Liquid Threshold Broken", - "Category":"TShock Player Settings", - "Description":"If enabled, players will be kicked when they surpass the Tile Liquid Threshold", - "Keywords":"kick,tile,liquid,threshold,kickontileliquidthresholdbroken", - "FieldName":"KickOnTileLiquidThresholdBroken", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickOnTileLiquidThresholdBroken", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Kick On Damage Threshold Broken", - "Category":"TShock Player Settings", - "Description":"If enabled, players will be kicked when they surpass the Maximum Player/NPC Damage", - "Keywords":"kick,damage,threshold,kickondamagethresholdbroken", - "FieldName":"KickOnDamageThresholdBroken", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickOnDamageThresholdBroken", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Ignore Shrapnel For Projectile Threshold", - "Category":"TShock Player Settings", - "Description":"If set, shrapnel from crystal bullets will be ignored for the projectile threshold count", - "Keywords":"ignore,shrapnel,crystal,bullets,projectile,threshold,projignoreshrapnel", - "FieldName":"ProjIgnoreShrapnel", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ProjIgnoreShrapnel", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Projectile Threshold", - "Category":"TShock Player Settings", - "Description":"Disables a player if the set number of projectiles is created within 1 second", - "Keywords":"projectile,threshold,projectilethreshold", - "FieldName":"ProjectileThreshold", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ProjectileThreshold", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Placeholder":"50", - "Suffix":"projectiles", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Projectile Threshold Broken", - "Category":"TShock Player Settings", - "Description":"If enabled, players will be kicked when they surpass the Projectile Threshold", - "Keywords":"kick,projectile,threshold,kickonprojectilethresholdbroken", - "FieldName":"KickOnProjectileThresholdBroken", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickOnProjectileThresholdBroken", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Heal Other Threshold", - "Category":"TShock Player Settings", - "Description":"Disables a player if the set number of Heal Other Player packets is sent within 1 second", - "Keywords":"heal,other,player,threshold,healotherthreshold", - "FieldName":"HealOtherThreshold", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.HealOtherThreshold", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Placeholder":"50", - "EnumValues":{} - }, - { - "DisplayName":"Kick On Heal Other Threshold Broken", - "Category":"TShock Player Settings", - "Description":"If enabled, players will be kicked when they surpass the Heal Other Threshold", - "Keywords":"kick,heal,other,threshold,kickonhealotherthresholdbroken", - "FieldName":"KickOnHealOtherThresholdBroken", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.KickOnHealOtherThresholdBroken", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Chat Format", - "Category":"TShock Player Settings", - "Description":"Changes in-game chat format: {0} = Group Name, {1} = Group Prefix, {2} = Player Name, {3} = Group Suffix, {4} = Chat Message", - "Keywords":"chat,format,message,chatformat", - "FieldName":"ChatFormat", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ChatFormat", - "IncludeInCommandLine":false, - "DefaultValue":"{1}{2}{3}: {4}", - "Placeholder":"{1}{2}{3}: {4}", - "EnumValues":{} - }, - { - "DisplayName":"Enable Chat Above Heads", - "Category":"TShock Player Settings", - "Description":"If enabled, chat messages will be displayed above players' heads", - "Keywords":"chat,display,heads,enablechataboveheads", - "FieldName":"EnableChatAboveHeads", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.EnableChatAboveHeads", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Chat Above Heads Format", - "Category":"TShock Player Settings", - "Description":"Changes the player name when using Chat Above Heads. Starts with a player name wrapped in brackets, as per Terraria's formatting. Same formatting as Chat Format without the message", - "Keywords":"chat,format,heads,chataboveheadsformat", - "FieldName":"ChatAboveHeadsFormat", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.ChatAboveHeadsFormat", - "IncludeInCommandLine":false, - "DefaultValue":"{2}", - "EnumValues":{} - }, - { - "DisplayName":"Superadmin Chat Prefix", - "Category":"TShock Player Settings", - "Description":"Sets the superadmin chat prefix", - "Keywords":"superadmin,chat,prefix,superadminchatprefix", - "FieldName":"SuperAdminChatPrefix", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.SuperAdminChatPrefix", - "IncludeInCommandLine":false, - "DefaultValue":"(Super Admin) ", - "Placeholder":"(Super Admin) ", - "EnumValues":{} - }, - { - "DisplayName":"Superadmin Chat Suffix", - "Category":"TShock Player Settings", - "Description":"Sets the superadmin chat suffix", - "Keywords":"superadmin,chat,suffix,superadminchatsuffix", - "FieldName":"SuperAdminChatSuffix", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.SuperAdminChatSuffix", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Enable Rest API", - "Category":"TShock API Settings", - "Description":"If set, enables the REST API", - "Keywords":"enable,rest,api,restapienabled", - "FieldName":"RestApiEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RestApiEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Log REST API Connections", - "Category":"TShock API Settings", - "Description":"If enabled, REST API connections will be logged", - "Keywords":"log,rest,api,connections,logrest", - "FieldName":"LogRest", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.LogRest", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Enable REST API Token Authentication", - "Category":"TShock API Settings", - "Description":"If enabled, token authentication will be required to use the public REST API endpoints", - "Keywords":"token,authentication,rest,api,enabletokenendpointauthentication", - "FieldName":"EnableTokenEndpointAuthentication", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.EnableTokenEndpointAuthentication", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Maximum REST API Requests Per Interval", - "Category":"TShock API Settings", - "Description":"Sets the maximum REST API requests in the bucket before denying requests", - "Keywords":"rest,api,maximum,requests,interval,bucket,restmaximumrequestsperinterval", - "FieldName":"RESTMaximumRequestsPerInterval", - "InputType":"number", - "MinValue":"5", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RESTMaximumRequestsPerInterval", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "EnumValues":{} - }, - { - "DisplayName":"REST API Request Bucket Decrease Interval", - "Category":"TShock API Settings", - "Description":"Sets how often the REST API requests bucket is decreased by one", - "Keywords":"rest,api,request,bucket,decrease,interval,restrequestbucketdecreaseintervalminutes", - "FieldName":"RESTRequestBucketDecreaseIntervalMinutes", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RESTRequestBucketDecreaseIntervalMinutes", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Database Storage Type", - "Category":"TShock Database Settings", - "Description":"Sets the type of database to use when storing data", - "Keywords":"database,storagetype,sqlite,mysql", - "FieldName":"StorageType", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.StorageType", - "IncludeInCommandLine":false, - "DefaultValue":"sqlite", - "EnumValues":{ - "sqlite":"SQLite (default)", - "mysql":"MySQL" - } - }, - { - "DisplayName":"SQLite Database Path", - "Category":"TShock Database Settings", - "Description":"Sets the path of the SQLite database, when using the SQLite database type", - "Keywords":"database,path,sqlite,sqlitedbpath", - "FieldName":"SqliteDBPath", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.SqliteDBPath", - "IncludeInCommandLine":false, - "DefaultValue":"tshock.sqlite", - "EnumValues":{} - }, - { - "DisplayName":"MySQL Hostname And Port", - "Category":"TShock Database Settings", - "Description":"Sets the MySQL hostname and port to direct connections to, when using the MySQL database type", - "Keywords":"database,mysql,hostname,mysqlhost", - "FieldName":"MySqlHost", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MySqlHost", - "IncludeInCommandLine":false, - "DefaultValue":"localhost:3306", - "EnumValues":{} - }, - { - "DisplayName":"MySQL Database Name", - "Category":"TShock Database Settings", - "Description":"Sets the database name to connect to when using the MySQL database type", - "Keywords":"database,mysql,name,mysqldbname", - "FieldName":"MySqlDbName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MySqlDbName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"MySQL Username", - "Category":"TShock Database Settings", - "Description":"Sets the username to use when connecting to a MySQL database", - "Keywords":"database,mysql,username,mysqlusername", - "FieldName":"MySqlUsername", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MySqlUsername", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"MySQL Password", - "Category":"TShock Database Settings", - "Description":"Sets the password to use when connecting to a MySQL database", - "Keywords":"database,mysql,password,mysqlpassword", - "FieldName":"MySqlPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.MySqlPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Use SQL Log", - "Category":"TShock Database Settings", - "Description":"If enabled, logs will be saved to the SQL database instead of a text file", - "Keywords":"sqlite,mysql,usesqllog", - "FieldName":"UseSqlLog", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.UseSqlLog", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - }, - { - "DisplayName":"Failures Before Text Log Reversion", - "Category":"TShock Database Settings", - "Description":"Sets the number of times the SQL log must fail to insert logs before falling back to the text log", - "Keywords":"sqlite,mysql,log,failure,revert,reverttotextlogsonsqlfailures", - "FieldName":"RevertToTextLogsOnSqlFailures", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.Settings.RevertToTextLogsOnSqlFailures", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "EnumValues":{} - }, - { - "DisplayName":"Dotnet Version", - "Category":"SteamCMD and Updates", - "Description":"Sets the [ASP.NET Core 6.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) to install for TShock. NOTE: Update the server after switching versions!", - "Keywords":"dotnet,version", - "FieldName":"DotnetVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DotnetVersion", - "IncludeInCommandLine":false, - "DefaultValue":"6.0.16", - "Placeholder":"6.0.16", - "EnumValues":{ - - } - }, - { - "DisplayName":"Download Backup Exclude File", - "Category":"SteamCMD and Updates", - "Description":"This downloads a default backup exclude file to save space on backups by only saving specific directories. If this is disabled, you will need to manually delete the .backupExclude file it downloads", - "Keywords":"download,backup,exclude,file", - "FieldName":"backupExclude", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"backupExclude", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - } -] \ No newline at end of file diff --git a/tshockmetaconfig.json b/tshockmetaconfig.json deleted file mode 100644 index f8ed24e26..000000000 --- a/tshockmetaconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "ConfigFile":"tshock/config.json", - "AutoMap":true, - "ConfigType":"json" - }, - { - "ConfigFile":"tshock/motd.txt", - "ConfigType":"kvp", - "ConfigFormat":"{0}{1}", - "Subsections":[ - { - "Heading":"$root", - "SettingMappings":{ - "":"motd" - } - } - ] - } -] \ No newline at end of file diff --git a/tshockserverconfig.json b/tshockserverconfig.json deleted file mode 100644 index c3c621231..000000000 --- a/tshockserverconfig.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "Settings": { - "ServerPassword": "", - "ServerPort": 7777, - "MaxSlots": 8, - "ReservedSlots": 20, - "ServerName": "AMP Powered TShock Server", - "UseServerName": false, - "LogPath": "tshock/logs", - "DebugLogs": false, - "DisableLoginBeforeJoin": false, - "IgnoreChestStacksOnLoad": false, - "WorldTileProvider": "default", - "AutoSave": true, - "AnnounceSave": true, - "ShowBackupAutosaveMessages": true, - "BackupInterval": 10, - "BackupKeepFor": 240, - "SaveWorldOnCrash": true, - "SaveWorldOnLastPlayerExit": false, - "InvasionMultiplier": 1, - "DefaultMaximumSpawns": 5, - "DefaultSpawnRate": 600, - "InfiniteInvasion": false, - "PvPMode": "normal", - "SpawnProtection": true, - "SpawnProtectionRadius": 10, - "RangeChecks": true, - "HardcoreOnly": false, - "MediumcoreOnly": false, - "SoftcoreOnly": false, - "DisableBuild": false, - "DisableHardmode": false, - "DisableDungeonGuardian": false, - "DisableClownBombs": false, - "DisableSnowBalls": false, - "DisableTombstones": true, - "DisablePrimeBombs": false, - "ForceTime": "normal", - "DisableInvisPvP": false, - "MaxRangeForDisabled": 10, - "RegionProtectChests": false, - "RegionProtectGemLocks": true, - "IgnoreProjUpdate": false, - "IgnoreProjKill": false, - "AllowCutTilesAndBreakables": false, - "AllowIce": false, - "AllowCrimsonCreep": true, - "AllowCorruptionCreep": true, - "AllowHallowCreep": true, - "StatueSpawn200": 3, - "StatueSpawn600": 6, - "StatueSpawnWorld": 10, - "PreventBannedItemSpawn": false, - "PreventDeadModification": true, - "PreventInvalidPlaceStyle": true, - "ForceXmas": false, - "ForceHalloween": false, - "AllowAllowedGroupsToSpawnBannedItems": false, - "RespawnSeconds": 0, - "RespawnBossSeconds": 0, - "AnonymousBossInvasions": true, - "MaxHP": 500, - "MaxMP": 200, - "BombExplosionRadius": 5, - "GiveItemsDirectly": false, - "DefaultRegistrationGroupName": "default", - "DefaultGuestGroupName": "guest", - "RememberLeavePos": false, - "MaximumLoginAttempts": 3, - "KickOnMediumcoreDeath": false, - "MediumcoreKickReason": "Death results in a kick.", - "BanOnMediumcoreDeath": false, - "MediumcoreBanReason": "Death results in a ban.", - "DisableDefaultIPBan": false, - "EnableWhitelist": false, - "WhitelistKickReason": "You are not on the whitelist.", - "ServerFullReason": "Server is full.", - "ServerFullNoReservedReason": "Server is full. No reserved slots open.", - "KickOnHardcoreDeath": false, - "HardcoreKickReason": "Death results in a kick.", - "BanOnHardcoreDeath": false, - "HardcoreBanReason": "Death results in a ban.", - "KickProxyUsers": true, - "RequireLogin": false, - "AllowLoginAnyUsername": true, - "AllowRegisterAnyUsername": false, - "MinimumPasswordLength": 4, - "BCryptWorkFactor": 7, - "DisableUUIDLogin": false, - "KickEmptyUUID": false, - "TilePaintThreshold": 15, - "KickOnTilePaintThresholdBroken": false, - "MaxDamage": 1175, - "MaxProjDamage": 1175, - "KickOnDamageThresholdBroken": false, - "TileKillThreshold": 60, - "KickOnTileKillThresholdBroken": false, - "TilePlaceThreshold": 32, - "KickOnTilePlaceThresholdBroken": false, - "TileLiquidThreshold": 50, - "KickOnTileLiquidThresholdBroken": false, - "ProjIgnoreShrapnel": true, - "ProjectileThreshold": 50, - "KickOnProjectileThresholdBroken": false, - "HealOtherThreshold": 50, - "KickOnHealOtherThresholdBroken": false, - "SuppressPermissionFailureNotices": false, - "DisableModifiedZenith": false, - "DisableCustomDeathMessages": true, - "CommandSpecifier": "/", - "CommandSilentSpecifier": ".", - "DisableSpewLogs": true, - "DisableSecondUpdateLogs": false, - "SuperAdminChatRGB": [ - 255, - 255, - 255 - ], - "SuperAdminChatPrefix": "(Super Admin) ", - "SuperAdminChatSuffix": "", - "EnableGeoIP": false, - "DisplayIPToAdmins": false, - "ChatFormat": "{1}{2}{3}: {4}", - "ChatAboveHeadsFormat": "{2}", - "EnableChatAboveHeads": false, - "BroadcastRGB": [ - 127, - 255, - 212 - ], - "StorageType": "sqlite", - "SqliteDBPath": "tshock.sqlite", - "MySqlHost": "localhost:3306", - "MySqlDbName": "", - "MySqlUsername": "", - "MySqlPassword": "", - "UseSqlLogs": false, - "RevertToTextLogsOnSqlFailures": 10, - "RestApiEnabled": false, - "RestApiPort": 7878, - "LogRest": false, - "EnableTokenEndpointAuthentication": false, - "RESTMaximumRequestsPerInterval": 5, - "RESTRequestBucketDecreaseIntervalMinutes": 1, - "ApplicationRestTokens": {} - } -} \ No newline at end of file diff --git a/tshockupdates.json b/tshockupdates.json deleted file mode 100644 index 4e4a1e1fa..000000000 --- a/tshockupdates.json +++ /dev/null @@ -1,119 +0,0 @@ -[ - { - "UpdateStageName":"TShock Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://api.github.com/repos/Pryaxis/TShock/releases/latest", - "UpdateSourceArgs":"$.assets[3].browser_download_url", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"TShock Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://api.github.com/repos/Pryaxis/TShock/releases/latest", - "UpdateSourceArgs":"$.assets[1].browser_download_url", - "UpdateSourceArch":"x86_64", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"TShock Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://api.github.com/repos/Pryaxis/TShock/releases/latest", - "UpdateSourceArgs":"$.assets[0].browser_download_url", - "UpdateSourceArch":"aarch64", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"TShock Server Unpack", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArch":"x86_64", - "UpdateSourceArgs":"-c 'cd {{$FullBaseDir}} && tar -xf TShock-Beta-linux-x64-Release.tar && rm -f TShock-Beta-linux-x64-Release.tar && chmod +x TShock.Server'" - }, - { - "UpdateStageName":"TShock Server Unpack", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArch":"aarch64", - "UpdateSourceArgs":"-c 'cd {{$FullBaseDir}} && tar -xf TShock-Beta-linux-arm64-Release.tar && rm -f TShock-Beta-linux-arm64-Release.tar && chmod +x TShock.Server'" - }, - { - "UpdateStageName":"Create TShock Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}tshock" - }, - { - "UpdateStageName":"Server Config File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/tshockserverconfig.json", - "UpdateSourceArgs":"config.json", - "UpdateSourceTarget":"{{$FullBaseDir}}tshock", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Create Dotnet Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}dotnet" - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz", - "UpdateSourceArch":"x86_64", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-arm64.tar.gz", - "UpdateSourceArch":"aarch64", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Backup Exclusions Download 1", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/exclusions/.backupExclusionsTShock", - "UpdateSourceArgs":".backupExclude", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UpdateSourceConditionSetting":"backupExclude", - "UpdateSourceConditionValue":"true", - "OverwriteExistingFiles":false - } -] diff --git a/txadmin.kvp b/txadmin.kvp new file mode 100644 index 000000000..3d8452a7a --- /dev/null +++ b/txadmin.kvp @@ -0,0 +1,101 @@ +Meta.DisplayName=txAdmin +Meta.Description=txAdmin Server Manager for FiveM and RedM +Meta.OS=Windows, Linux +Meta.AarchSupport=Unknown +Meta.Arch=x86_64 +Meta.Author=Greelan +Meta.URL=https://txadmin.gg/ +Meta.DisplayImageSource=url:https://github.com/tabarra/txAdmin/blob/master/docs/banner.png?raw=true +Meta.EndpointURIFormat= +Meta.ConfigManifest=txadminconfig.json +Meta.MetaConfigManifest=txadminmetaconfig.json +Meta.ConfigRoot=txadmin.kvp +Meta.MinAMPVersion=2.4.6.4 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.DockerBaseReadOnly=False +Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= +Meta.ExtraSetupStepsURI= +Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=True +Meta.ConfigVersion=0.0.0.0 +Meta.ReleaseNotes= +Meta.BreakingReleaseNotes= +App.DisplayName=txAdmin +App.RootDir=./txadmin/ +App.BaseDirectory=./txadmin/ +App.SteamWorkshopDownloadLocation= +App.ExecutableWin=server\FXServer.exe +App.ExecutableLinux=server/alpine/opt/cfx-server/ld-musl-x86_64.so.1 +App.WorkingDir=server-data +App.LinuxCommandLineArgs=--library-path "{{$FullBaseDir}}server/alpine/usr/lib/v8/:{{$FullBaseDir}}server/alpine/lib/:{{$FullBaseDir}}server/alpine/usr/lib/" -- "{{$FullBaseDir}}server/alpine/opt/cfx-server/FXServer" +set citizen_dir "{{$FullBaseDir}}server/alpine/opt/cfx-server/citizen/" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} +set txAdminPort {{$txAdminPort}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={} +App.CommandLineParameterFormat=+{0} {1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +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":"TCP","Port":40120,"Ref":"txAdminPort","Name":"txAdmin Port","Description":"Port for txAdmin traffic"},{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=txAdminPort +App.UniversalSleepApplicationUDPPortRef=0 +App.UniversalSleepSteamQueryPortRef=0 +App.MaxUsers=32 +App.UseRandomAdminPassword=True +App.PersistRandomPassword=False +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[txadminupdates.json] +App.PreStartStages=[] +App.ForceUpdate=False +App.ForceUpdateReason= +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.DumpFullChildProcessTree=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex=\[[\d;]+m|\[\d+m +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex= +Console.AppReadyRegex=^\[txAdmin:FXRunner\] (Please open txAdmin on the browser to configure your server\.|>> \[\d+\] FXServer Started!)$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +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/txadminconfig.json b/txadminconfig.json new file mode 100644 index 000000000..78ee11a64 --- /dev/null +++ b/txadminconfig.json @@ -0,0 +1,31 @@ +[ + { + "DisplayName":"Server Build", + "Category":"Server Settings", + "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", + "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", + "FieldName":"ServerBuild", + "InputType":"enum", + "ParamFieldName":"ServerBuild", + "DefaultValue":"recommended_download", + "EnumValues":{ + "recommended_download":"Recommended (default)", + "optional_download":"Optional", + "latest_download":"Latest", + "critical_download":"Critical", + "SpecificVersion":"Specific version" + } + }, + { + "DisplayName":"Specific Build Version Download URL", + "Category":"Server Settings", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Release Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", + "Keywords":"server,build,artifact,specific,version", + "FieldName":"SpecificBuildVersionURL", + "InputType":"url", + "ParamFieldName":"SpecificBuildVersionURL", + "DefaultValue":"", + "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.7z", + "EnumValues":{} + } +] diff --git a/project5-sightseermetaconfig.json b/txadminmetaconfig.json similarity index 100% rename from project5-sightseermetaconfig.json rename to txadminmetaconfig.json diff --git a/txadminupdates.json b/txadminupdates.json new file mode 100644 index 000000000..d5e2599f0 --- /dev/null +++ b/txadminupdates.json @@ -0,0 +1,146 @@ +[ + { + "UpdateStageName":"Create Server Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}server", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Create Data Directory", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceArgs":"{{$FullBaseDir}}server-data", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.recommended_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"recommended_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.recommended_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"recommended_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.optional_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"optional_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.optional_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"optional_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.latest_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"latest_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.latest_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"latest_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceArgs":"$.critical_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"critical_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURLFromJQ", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs":"$.critical_download", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"critical_download" + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"FetchURL", + "UpdateSourceData":"{{SpecificBuildVersionURL}}", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":true, + "OverwriteExistingFiles":true, + "DeleteAfterExtract":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"SpecificVersion", + }, + { + "UpdateStageName":"Server Download", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"FetchURL", + "UpdateSourceData":"{{SpecificBuildVersionURL}}", + "UpdateSourceTarget":"{{$FullBaseDir}}server", + "UnzipUpdateSource":false, + "OverwriteExistingFiles":true, + "UpdateSourceConditionSetting":"ServerBuild", + "UpdateSourceConditionValue":"SpecificVersion", + }, + { + "UpdateStageName":"Server Extract", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'cd ./txadmin/server && tar -xf fx.tar.xz && rm -f fx.tar.xz'" + } +] diff --git a/unturned.kvp b/unturned.kvp deleted file mode 100644 index c0facd8f0..000000000 --- a/unturned.kvp +++ /dev/null @@ -1,89 +0,0 @@ -Meta.DisplayName=Unturned -Meta.Description=Unturned 3 Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://smartlydressedgames.com/#unturned -Meta.DisplayImageSource=url:https://cdn.cloudflare.steamstatic.com/steam/apps/304930/library_hero.jpg?t=1613683705 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort1} -Meta.ConfigManifest=unturnedconfig.json -Meta.MetaConfigManifest=unturnedmetaconfig.json -Meta.ConfigRoot=unturned.kvp -Meta.MinAMPVersion=2.4.0.2 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.ContainerPolicyReason= -Meta.Prerequsites=[] -Meta.ExtraContainerPackages=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Unturned -App.RootDir=./U3DS/ -App.BaseDirectory=./U3DS/1110390/ -App.ExecutableWin=1110390\Unturned.exe -App.ExecutableLinux=1110390/Unturned_Headless.x86_64 -App.WorkingDir=1110390 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics {{$FormattedArgs}} +{{ServerType}}/Unturned -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"304930"} -App.CommandLineParameterFormat=-{0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=15 -App.ExitString=shutdown -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":27015,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"Both","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":27115,"Ref":"RemoteAdminPort","Name":"RCON Port","Description":"Port for RCON traffic"}] -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=ApplicationPort1 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=10 -App.UseRandomAdminPassword=True -App.PersistRandomPassword=True -App.RemoteAdminPassword= -App.AdminMethod=TelnetRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.RCONHeartbeatMinutes=0 -App.RCONHeartbeatCommand=ping -App.TelnetLoginFormat=login {0} -App.UpdateSources=@IncludeJson[unturnedupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Loading level: 100%$ -Console.UserJoinRegex=^Connecting: PlayerID: (?<userid>.+?) Name: (?<username>.+?) Character: (?<character>.+?)$ -Console.UserLeaveRegex=^Disconnecting: PlayerID: (?<userid>.+?) Name: (?<username>.+?) Character: (?<character>.+?)$ -Console.UserChatRegex=^\[(?:World|Area|Group)\] (?<username>.+?) \[(?<character>.+?)\]: "(?<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 diff --git a/unturnedconfig.json b/unturnedconfig.json deleted file mode 100644 index 432bde6ca..000000000 --- a/unturnedconfig.json +++ /dev/null @@ -1,326 +0,0 @@ -[ - { - "DisplayName": "Game Port", - "Category": "Server Settings", - "Description": "", - "Keywords": "", - "FieldName": "$ApplicationPort1", - "InputType": "number", - "IsFlagArgument": false, - "Hidden": true, - "ParamFieldName": "Port", - "IncludeInCommandLine": false, - "DefaultValue": "27015", - "EnumValues":{} - }, - { - "DisplayName": "Enable RCON", - "Category": "Server Settings", - "Description": "", - "Keywords": "", - "FieldName": "RCONEnabled", - "InputType": "number", - "IsFlagArgument": false, - "Hidden": true, - "ParamFieldName": "/RocketSettings/RCON/@Enabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues":{} - }, - { - "DisplayName": "RCON Port", - "Category": "Server Settings", - "Description": "", - "Keywords": "", - "FieldName": "$RemoteAdminPort", - "InputType": "number", - "IsFlagArgument": false, - "Hidden": true, - "ParamFieldName": "/RocketSettings/RCON/@Port", - "IncludeInCommandLine": false, - "DefaultValue": "27115", - "EnumValues":{} - }, - { - "DisplayName": "Server Name", - "Category": "Server Settings", - "Description": "Sets the name of the server shown publicly", - "Keywords": "name", - "FieldName": "Name", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Name", - "IncludeInCommandLine": false, - "DefaultValue": "AMP Powered Unturned Server", - "EnumValues":{} - }, - { - "DisplayName": "Server Type", - "Category": "Server Settings", - "Description": "", - "Keywords": "server,type,internet,lan", - "FieldName": "ServerType", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "", - "IncludeInCommandLine": false, - "DefaultValue": "InternetServer", - "EnumValues": { - "InternetServer": "Internet Server", - "LanServer": "LAN Server" - } - }, - { - "DisplayName": "Server Password", - "Category": "Server Settings", - "Description": "Password to connect to the server. Default is no password", - "Keywords": "password", - "FieldName": "Password", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "Password", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues":{} - }, - { - "DisplayName": "RCON Password", - "Category": "Server Settings", - "Description": "See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords": "rcon,password", - "FieldName": "$RemoteAdminPassword", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "/RocketSettings/RCON/@Password", - "IncludeInCommandLine": false, - "EnumValues":{} - }, - { - "DisplayName": "Owner", - "Category": "Server Settings", - "Description": "[Steam64 ID](https://steamidfinder.com/) of the server's owner, which gives them administrator commands and fully sets up the server", - "Keywords": "owner", - "FieldName": "Owner", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Owner", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues":{} - }, - { - "DisplayName": "GSLT", - "Category": "Server Settings", - "Description": "Sets the [Game Server Login Token](https://steamcommunity.com/dev/managegameservers) for the server. Required for the server to appear in the server list. Use Steam App ID 304930", - "Keywords": "GSLT,token", - "FieldName": "GSLT", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "GSLT", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues":{} - }, - { - "DisplayName": "Welcome Message", - "Category": "Server Settings", - "Description": "Player welcome message", - "Keywords": "welcome,message", - "FieldName": "Welcome", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Welcome", - "IncludeInCommandLine": false, - "DefaultValue": "Welcome to Unturned", - "EnumValues":{} - }, - { - "DisplayName": "Player Limit", - "Category": "Server Settings", - "Description": "Maximum number of players that may connect to the server", - "Keywords": "players,limit", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Maxplayers", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "Suffix": "players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName": "Map", - "Category": "Server Settings", - "Description": "Sets the map for the server. If Custom is selected, Custom Map Name must also be set", - "Keywords": "map", - "FieldName": "Map", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Map", - "IncludeInCommandLine": false, - "DefaultValue": "PEI", - "EnumValues":{ - "Alpha Valley":"Alpha Valley (Arena)", - "Germany":"Germany", - "Monolith":"Monolith (Arena)", - "Paintball Arena":"Paintball Arena", - "PEI":"PEI (default)", - "PEI Arena":"PEI Arena", - "Russia":"Russia", - "Washington":"Washington", - "Washington Arena":"Washington Arena", - "Yukon":"Yukon", - "{{CustomMap}}":"Custom" - } - }, - { - "DisplayName":"Custom Map Name", - "Category":"Server Settings", - "Description":"Sets a custom map name for the server. \"Custom\" type must be selected under Map, and the map files must be installed via Workshop Items", - "Keywords":"custom,map", - "FieldName":"CustomMap", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMap", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"Hawaii", - "EnumValues":{} - }, - { - "DisplayName": "Difficulty Mode", - "Category": "Server Settings", - "Description": "Sets the difficulty mode", - "Keywords": "difficulty,mode", - "FieldName": "Mode", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Mode", - "IncludeInCommandLine": false, - "DefaultValue": "Normal", - "EnumValues": { - "Easy": "Easy", - "Normal": "Normal", - "Hard": "Hard" - } - }, - { - "DisplayName": "Perspective View", - "Category": "Server Settings", - "Description": "Sets the perspective view", - "Keywords": "perspective,view", - "FieldName": "Perspective", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Perspective", - "IncludeInCommandLine": false, - "DefaultValue": "Both", - "EnumValues": { - "First": "First person only", - "Third": "Third person only", - "Both": "First and third person allowed", - "Vehicle": "Third person in vehicle only" - } - }, - { - "DisplayName": "Weather", - "Category": "Server Settings", - "Description": "Sets the weather", - "Keywords": "weather", - "FieldName": "Weather", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "Weather", - "IncludeInCommandLine": false, - "DefaultValue": "None", - "EnumValues": { - "None": "None", - "Storm": "Storm", - "Blizzard": "Blizzard" - } - }, - { - "DisplayName": "Day/Night Cycle Period", - "Category": "Server Settings", - "Description": "Sets the day/night cycle period", - "Keywords": "day,night,cycle", - "FieldName": "Cycle", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Cycle", - "IncludeInCommandLine": false, - "DefaultValue": "3600", - "Suffix": "seconds", - "EnumValues":{} - }, - { - "DisplayName": "Chat Rate", - "Category": "Server Settings", - "Description": "Sets the minimum time between chat messages in order to prevent spam", - "Keywords": "chatrate", - "FieldName": "Chatrate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Chatrate", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Suffix": "seconds", - "EnumValues":{} - }, - { - "DisplayName": "Timeout", - "Category": "Server Settings", - "Description": "Sets the maximum ping for players before they time out (400 - 600 ms recommended)", - "Keywords": "timeout", - "FieldName": "Timeout", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Timeout", - "IncludeInCommandLine": false, - "DefaultValue": "500", - "Suffix": "milliseconds", - "EnumValues":{} - }, - { - "DisplayName":"Workshop Items", - "Category":"Server Settings", - "Description":"Comma separated list of IDs of workshop items to install on the server", - "Keywords":"workshop,items", - "FieldName":"FileIDs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"FileIDs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"2478247379,2566953935", - "EnumValues":{} - }, - { - "DisplayName":"Excluded Workshop Items", - "Category":"Server Settings", - "Description":"Comma separated list of IDs of children items to ignore when installing workshop items", - "Keywords":"workshop,children,items", - "FieldName":"ChildrenFileIDs", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ChildrenFileIDs", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"5685656858,7697679654", - "EnumValues":{} - }, - { - "DisplayName": "Maximum Workshop Retries", - "Category": "Server Settings", - "Description": "Sets the maximum number of retries to download workshop items", - "Keywords": "retries", - "FieldName": "MaxRetries", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaxRetries", - "IncludeInCommandLine": false, - "DefaultValue": "2", - "EnumValues":{} - } -] diff --git a/unturnedconfigfile.dat b/unturnedconfigfile.dat deleted file mode 100644 index b86e5170e..000000000 --- a/unturnedconfigfile.dat +++ /dev/null @@ -1,14 +0,0 @@ -Port 27015 -Password -Owner -GSLT -Name AMP Powered Unturned Server -Welcome Welcome to Unturned -Maxplayers 10 -Map PEI -Mode Normal -Perspective Both -Weather None -Cycle 3600 -Chatrate 0 -Timeout 500 \ No newline at end of file diff --git a/unturnedmetaconfig.json b/unturnedmetaconfig.json deleted file mode 100644 index 1e812e208..000000000 --- a/unturnedmetaconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "ConfigFile": "Servers/Unturned/Server/Commands.dat", - "AutoMap": true, - "ConfigType": "kvp", - "ConfigFormat": "{0} {1}", - "ConfigFormatRegex": "^(?<key>.+?) (?<value>.*?)$" - }, - { - "ConfigFile": "Servers/Unturned/WorkshopDownloadConfig.json", - "AutoMap": true, - "ConfigType": "template", - "ConfigFileTemplate": "unturnedworkshopconfig.json" - }, - { - "ConfigFile": "Servers/Unturned/Rocket/Rocket.config.xml", - "AutoMap": true, - "ConfigType": "xml" - } -] \ No newline at end of file diff --git a/unturnedupdates.json b/unturnedupdates.json deleted file mode 100644 index 4184b38ae..000000000 --- a/unturnedupdates.json +++ /dev/null @@ -1,61 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1110390", - "UpdateSourceArgs":"304930" - }, - { - "UpdateStageName":"Config Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}Servers/Unturned/Server" - }, - { - "UpdateStageName":"Main Config File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedconfigfile.dat", - "UpdateSourceArgs":"Commands.dat", - "UpdateSourceTarget":"{{$FullBaseDir}}Servers/Unturned/Server/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Workshop Config File Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/unturnedworkshopconfig.json", - "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true - }, - { - "UpdateStageName":"Copy Rocket Directory", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C xcopy /E /Y /I .\\U3DS\\1110390\\Extras\\Rocket.Unturned .\\U3DS\\1110390\\Modules\\Rocket.Unturned" - }, - { - "UpdateStageName":"Copy Rocket Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/cp", - "UpdateSourceArgs":"-rf ./U3DS/1110390/Extras/Rocket.Unturned ./U3DS/1110390/Modules" - }, - { - "UpdateStageName":"Start Server", - "UpdateSourcePlatform":"All", - "UpdateSource":"StartApplication" - }, - { - "UpdateStageName":"Wait For Server Start", - "UpdateSourcePlatform":"All", - "UpdateSource":"WaitForStartupComplete" - }, - { - "UpdateStageName":"Stop Server", - "UpdateSourcePlatform":"All", - "UpdateSource":"ShutdownApplication" - } -] diff --git a/unturnedworkshopconfig.json b/unturnedworkshopconfig.json deleted file mode 100644 index 6ba7a13e3..000000000 --- a/unturnedworkshopconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "File_IDs": [{{FileIDs}}], - "Ignore_Children_File_IDs": [{{ChildrenFileIDs}}], - "Query_Cache_Max_Age_Seconds": 600, - "Max_Query_Retries": {{MaxRetries}}, - "Use_Cached_Downloads": true, - "Should_Monitor_Updates": true, - "Shutdown_Update_Detected_Timer": 600, - "Shutdown_Update_Detected_Message": "Workshop file update detected, shutdown in: {0}", - "Shutdown_Kick_Message": "Shutdown for Workshop file update." -} \ No newline at end of file diff --git a/ut2004.kvp b/ut2004.kvp deleted file mode 100644 index 7e3f82202..000000000 --- a/ut2004.kvp +++ /dev/null @@ -1,86 +0,0 @@ -Meta.DisplayName=Unreal Tournament 2004 -Meta.Description=Unreal Tournament 2004 Dedicated Server. Based on v3369.3 with bonus packs -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, TABLE -Meta.URL=https://unreal.fandom.com/wiki/Unreal_Tournament_2004 -Meta.DisplayImageSource=steam:13230 -Meta.EndpointURIFormat= -Meta.ConfigManifest=ut2004config.json -Meta.MetaConfigManifest=ut2004metaconfig.json -Meta.ConfigRoot=ut2004.kvp -Meta.MinAMPVersion=2.4.0.8 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Unreal Tournament 2004 -App.RootDir=./ut2004/ -App.BaseDirectory=./ut2004/ -App.ExecutableWin=System\UCC.exe -App.ExecutableLinux=System/ucc-bin-linux-amd64 -App.WorkingDir=System -App.LinuxCommandLineArgs=-nohomedir -App.WindowsCommandLineArgs= -App.CommandLineArgs=server {{MapName}}?{{$FormattedArgs}} ini=UT2004.ini log=server.log port={{$GamePort}} {{$PlatformArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"SteamAppId":"13230"} -App.CommandLineParameterFormat={0}={1} -App.CommandLineParameterDelimiter=? -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=lock -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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"TCP","Port":8888,"Ref":"WebserverPort","Name":"Webserver Port","Description":"Port for webserver traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=16 -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":"GitRepo","UpdateSourceData":"https://github.com/IceOfWraith/UT2004.git","UpdateSourceArgs":"UT2004","UpdateSourceTarget":"{{$FullRootDir}}"},{"UpdateStageName":"Pause Update Stages","UpdateSourcePlatform":"Linux","UpdateSource":"Pause","UpdateSourceArgs":"2"},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}System/ucc-bin-linux-amd64"}] -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Bringing Level (?:.+?) up for play \(\d+\) appSeconds: \d+\.\d+\.\.\.$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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 \ No newline at end of file diff --git a/ut2004config.json b/ut2004config.json deleted file mode 100644 index bf68a1c94..000000000 --- a/ut2004config.json +++ /dev/null @@ -1,1134 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"UT2004 Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"URL.Port", - "IncludeInCommandLine":false, - "DefaultValue":"7777", - "EnumValues":{} - }, - { - "DisplayName":"Webserver Port", - "Category":"UT2004 Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$WebserverPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"UWeb.WebServer.ListenPort", - "IncludeInCommandLine":false, - "DefaultValue":"8888", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"UT2004 Server Settings", - "Description":"Sets the name of the server shown publicly", - "Keywords":"name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameReplicationInfo.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered UT2004 Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Shortname", - "Category":"UT2004 Server Settings", - "Description":"Sets the shortname of the server shown publicly", - "Keywords":"short,name", - "FieldName":"ShortName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameReplicationInfo.ShortName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Admin Name", - "Category":"UT2004 Server Settings", - "Description":"Sets the name of the server admin shown publicly", - "Keywords":"admin,name", - "FieldName":"AdminName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameReplicationInfo.AdminName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"UT2004 Server Settings", - "Description":"Player welcome message (MOTD)", - "Keywords":"welcome,message", - "FieldName":"MessageOfTheDay", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameReplicationInfo.MessageOfTheDay", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to UT2004", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"UT2004 Server Settings", - "Description":"If enabled, the server will be registered to the master server and be publicly visible in the in-game browser", - "Keywords":"public,master", - "FieldName":"DoUplink", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"IpDrv.MasterServerUplink.DoUplink", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Server Behind NAT", - "Category":"UT2004 Server Settings", - "Description":"Enable this setting if your server is on a NATed network, to ensure it shows the correct ping in the master server browser", - "Keywords":"nat", - "FieldName":"ServerBehindNAT", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"IpDrv.MasterServerUplink.ServerBehindNAT", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Server Password", - "Category":"UT2004 Server Settings", - "Description":"Password for players and spectators to connect to the server", - "Keywords":"password", - "FieldName":"GamePassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"Engine.AccessControl.GamePassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Mode", - "Category":"UT2004 Server Settings", - "Description":"Sets the server admin mode - either Standard (single admin user) or xAdmin (multiple admin users). xAdmin users must be configured in xAdmin.ini", - "Keywords":"admin,mode", - "FieldName":"AccessControlClass", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.AccessControlClass", - "DefaultValue":"Engine.AccessControl", - "EnumValues":{ - "Engine.AccessControl":"Standard", - "XAdmin.AccessControlIni":"xAdmin" - } - }, - { - "DisplayName":"Standard Admin Password", - "Category":"UT2004 Server Settings", - "Description":"In-game and webserver admin password (for Standard admin mode)", - "Keywords":"admin,password", - "FieldName":"AdminPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"Engine.AccessControl.AdminPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"UT2004 Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"16", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Spectator Limit", - "Category":"UT2004 Server Settings", - "Description":"Maximum number of spectators that may connect to the server", - "Keywords":"spectators,limit", - "FieldName":"MaxSpectators", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.MaxSpectators", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Suffix":"spectators", - "EnumValues":{} - }, - { - "DisplayName":"Map Name", - "Category":"UT2004 Server Settings", - "Description":"Sets the name of the map to load. The Game Type must match. If Custom is selected, the Custom Map Name must also be set", - "Keywords":"map,name", - "FieldName":"MapName", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"MapName", - "IncludeInCommandLine":false, - "DefaultValue":"ONS-Torlan", - "EnumValues":{ - "AS-BP2-Acatana":"AS-BP2-Acatana", - "AS-BP2-Jumpship":"AS-BP2-Jumpship", - "AS-BP2-Outback":"AS-BP2-Outback", - "AS-BP2-SubRosa":"AS-BP2-SubRosa", - "AS-BP2-Thrust":"AS-BP2-Thrust", - "AS-Confexia":"AS-Confexia", - "AS-Convoy":"AS-Convoy", - "AS-FallenCity":"AS-FallenCity", - "AS-Glacier":"AS-Glacier", - "AS-Junkyard":"AS-Junkyard", - "AS-MotherShip":"AS-MotherShip", - "AS-RobotFactory":"AS-RobotFactory", - "BR-Anubis":"BR-Anubis", - "BR-Bifrost":"BR-Bifrost", - "BR-BridgeOfFate":"BR-BridgeOfFate", - "BR-Canyon":"BR-Canyon", - "BR-Colossus":"BR-Colossus", - "BR-DE-ElecFields":"BR-DE-ElecFields", - "BR-Disclosure":"BR-Disclosure", - "BR-IceFields":"BR-IceFields", - "BR-Serenity":"BR-Serenity", - "BR-Skyline":"BR-Skyline", - "BR-Slaughterhouse":"BR-Slaughterhouse", - "BR-TwinTombs":"BR-TwinTombs", - "CTF-1on1-Joust":"CTF-1on1-Joust", - "CTF-AbsoluteZero":"CTF-AbsoluteZero", - "CTF-Avaris":"CTF-Avaris", - "CTF-BP2-Concentrate":"CTF-BP2-Concentrate", - "CTF-BP2-Pistola":"CTF-BP2-Pistola", - "CTF-BridgeOfFate":"CTF-BridgeOfFate", - "CTF-Chrome":"CTF-Chrome", - "CTF-Citadel":"CTF-Citadel", - "CTF-Colossus":"CTF-Colossus", - "CTF-DE-ElecFields":"CTF-DE-ElecFields", - "CTF-DE-LavaGiant2":"CTF-DE-LavaGiant2", - "CTF-December":"CTF-December", - "CTF-DoubleDammage":"CTF-DoubleDammage", - "CTF-Face3":"CTF-Face3", - "CTF-FaceClassic":"CTF-FaceClassic", - "CTF-Geothermal":"CTF-Geothermal", - "CTF-Grassyknoll":"CTF-Grassyknoll", - "CTF-Grendelkeep":"CTF-Grendelkeep", - "CTF-January":"CTF-January", - "CTF-Lostfaith":"CTF-Lostfaith", - "CTF-Magma":"CTF-Magma", - "CTF-Maul":"CTF-Maul", - "CTF-MoonDragon":"CTF-MoonDragon", - "CTF-Orbital2":"CTF-Orbital2", - "CTF-Smote":"CTF-Smote", - "CTF-TwinTombs":"CTF-TwinTombs", - "DM-1on1-Albatross":"DM-1on1-Albatross", - "DM-1on1-Crash":"DM-1on1-Crash", - "DM-1on1-Desolation":"DM-1on1-Desolation", - "DM-1on1-Idoma":"DM-1on1-Idoma", - "DM-1on1-Irondust":"DM-1on1-Irondust", - "DM-1on1-Mixer":"DM-1on1-Mixer", - "DM-1on1-Roughinery":"DM-1on1-Roughinery", - "DM-1on1-Serpentine":"DM-1on1-Serpentine", - "DM-1on1-Spirit":"DM-1on1-Spirit", - "DM-1on1-Squader":"DM-1on1-Squader", - "DM-1on1-Trite":"DM-1on1-Trite", - "DM-Antalus":"DM-Antalus", - "DM-Asbestos":"DM-Asbestos", - "DM-BP2-Calandras":"DM-BP2-Calandras", - "DM-BP2-GoopGod":"DM-BP2-GoopGod", - "DM-Compressed":"DM-Compressed", - "DM-Corrugation":"DM-Corrugation", - "DM-Curse4":"DM-Curse4", - "DM-DE-GrendelKeep":"DM-DE-GrendelKeep", - "DM-DE-Ironic":"DM-DE-Ironic", - "DM-DE-Osiris2":"DM-DE-Osiris2", - "DM-Deck17":"DM-Deck17", - "DM-DesertIsle":"DM-DesertIsle", - "DM-Flux2":"DM-Flux2", - "DM-Forbidden":"DM-Forbidden", - "DM-Gael":"DM-Gael", - "DM-Gestalt":"DM-Gestalt", - "DM-Goliath":"DM-Goliath", - "DM-HyperBlast2":"DM-HyperBlast2", - "DM-Icetomb":"DM-Icetomb", - "DM-Inferno":"DM-Inferno", - "DM-Injector":"DM-Injector", - "DM-Insidious":"DM-Insidious", - "DM-IronDeity":"DM-IronDeity", - "DM-Junkyard":"DM-Junkyard", - "DM-Leviathan":"DM-Leviathan", - "DM-Metallurgy":"DM-Metallurgy", - "DM-Morpheus3":"DM-Morpheus3", - "DM-Oceanic":"DM-Oceanic", - "DM-Phobos2":"DM-Phobos2", - "DM-Plunge":"DM-Plunge", - "DM-Rankin":"DM-Rankin", - "DM-Rrajigar":"DM-Rrajigar", - "DM-Rustatorium":"DM-Rustatorium", - "DM-Sulphur":"DM-Sulphur", - "DM-TokaraForest":"DM-TokaraForest", - "DM-TrainingDay":"DM-TrainingDay", - "DOM-Access":"DOM-Access", - "DOM-Aswan":"DOM-Aswan", - "DOM-Atlantis":"DOM-Atlantis", - "DOM-Conduit":"DOM-Conduit", - "DOM-Core":"DOM-Core", - "DOM-Junkyard":"DOM-Junkyard", - "DOM-OutRigger":"DOM-OutRigger", - "DOM-Renascent":"DOM-Renascent", - "DOM-Ruination":"DOM-Ruination", - "DOM-ScorchedEarth":"DOM-ScorchedEarth", - "DOM-SepukkuGorge":"DOM-SepukkuGorge", - "DOM-Suntemple":"DOM-Suntemple", - "Entry":"Entry", - "ONS-Adara":"ONS-Adara", - "ONS-ArcticStronghold":"ONS-ArcticStronghold", - "ONS-Aridoom":"ONS-Aridoom", - "ONS-Ascendancy":"ONS-Ascendancy", - "ONS-Crossfire":"ONS-Crossfire", - "ONS-Dawn":"ONS-Dawn", - "ONS-Dria":"ONS-Dria", - "ONS-FrostBite":"ONS-FrostBite", - "ONS-Icarus":"ONS-Icarus", - "ONS-IslandHop":"ONS-IslandHop", - "ONS-Primeval":"ONS-Primeval", - "ONS-RedPlanet":"ONS-RedPlanet", - "ONS-Severance":"ONS-Severance", - "ONS-Torlan":"ONS-Torlan (Default)", - "ONS-Tricky":"ONS-Tricky", - "ONS-Urban":"ONS-Urban", - "{{CustomMap}}":"Custom" - } - }, - { - "DisplayName":"Custom Map Name", - "Category":"UT2004 Server Settings", - "Description":"If Custom map is selected, sets the name of the map. The map file must be included in the Maps directory", - "Keywords":"custom,map", - "FieldName":"CustomMap", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMap", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"DM-1on1-Lea", - "EnumValues":{} - }, - { - "DisplayName":"Auto Rotate Maps", - "Category":"UT2004 Server Settings", - "Description":"If enabled, the server map will automatically rotate", - "Keywords":"rotate,map", - "FieldName":"bChangeLevels", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.bChangeLevels", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Game Type", - "Category":"UT2004 Server Settings", - "Description":"Sets the game type for the server. If Custom is selected, the Custom Game Type Name must also be set", - "Keywords":"game,type", - "FieldName":"game", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"Onslaught.ONSOnslaughtGame", - "EnumValues":{ - "UT2K4Assault.ASGameInfo":"Assault", - "XGame.xBombingRun":"Bombing Run", - "XGame.xCTFGame":"Capture The Flag", - "XGame.xDeathMatch":"Deathmatch", - "XGame.xDoubleDom":"Double Domination", - "SkaarjPack.Invasion":"Invasion", - "BonusPack.xLastManStandingGame":"Last Man Standing", - "BonusPack.xMutantGame":"Mutant", - "Onslaught.ONSOnslaughtGame":"Onslaught (Default)", - "XGame.xTeamGame":"Team Deathmatch", - "XGame.xVehicleCTFGame":"Vehicle CTF (Requires Custom Maps)", - "{{CustomGame}}":"Custom" - } - }, - { - "DisplayName":"Custom Game Type Name", - "Category":"UT2004 Server Settings", - "Description":"If Custom game type is selected, sets the name of the game type", - "Keywords":"custom,game,type", - "FieldName":"CustomGame", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomGame", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"JailBreak.JailBreak", - "EnumValues":{} - }, - { - "DisplayName":"Mutators", - "Category":"UT2004 Server Settings", - "Description":"Comma-separated list of mutators to enable on the server", - "Keywords":"mutators", - "FieldName":"mutator", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"mutator", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "Placeholder":"XGame.MutInstaGib,UnrealGame.MutLowGrav", - "EnumValues":{} - }, - { - "DisplayName":"Redirection URL", - "Category":"UT2004 Server Settings", - "Description":"Sets the URL for a redirection website for clients to download required files. The URL must end in a slash", - "Keywords":"redirection,url", - "FieldName":"RedirectToURL", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"IpDrv.HTTPDownload.RedirectToURL", - "IncludeInCommandLine":false, - "DefaultValue":"http://uz.ut-files.com/", - "Placeholder":"http://uz.ut-files.com/", - "EnumValues":{} - }, - { - "DisplayName":"Enable Webserver", - "Category":"UT2004 Server Settings", - "Description":"If enabled, the server's webserver will operate", - "Keywords":"webserver", - "FieldName":"bEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"UWeb.WebServer.bEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Gore Level", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the level of gore displayed in-game", - "Keywords":"gore,level", - "FieldName":"GoreLevel", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.GoreLevel", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{} - }, - { - "DisplayName":"Mute Spectators", - "Category":"UT2004 Gameplay Settings", - "Description":"If enabled, spectators will be muted (cannot chat during the game)", - "Keywords":"mute,spectators", - "FieldName":"bMuteSpectators", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Engine.BroadcastHandler.bMuteSpectators", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Kick Idle Players", - "Category":"UT2004 Gameplay Settings", - "Description":"If enabled, idle players will be kicked after the set interval. 0 = no idle kicking", - "Keywords":"kick,idle", - "FieldName":"MaxIdleTime", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.MaxIdleTime", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Minimum Players", - "Category":"UT2004 Gameplay Settings", - "Description":"Minimum number of players for all standard game types. Vacant slots will be filled with bots, unless bots are disabled. 0 = no minimum", - "Keywords":"minimum,players", - "FieldName":"MinPlayers", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"UnrealGame.UnrealMPGameInfo.MinPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Disable Bots", - "Category":"UT2004 Gameplay Settings", - "Description":"If enabled, bots will not join the server", - "Keywords":"disable,bots", - "FieldName":"bNoBots", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.bNoBots", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Bot Difficulty Level", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the difficulty level of bots on the server", - "Keywords":"bot,difficulty,level", - "FieldName":"GameDifficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.GameDifficulty", - "IncludeInCommandLine":false, - "DefaultValue":"1.000000", - "EnumValues":{ - "0.000000":"Novice", - "1.000000":"Average (Default)", - "2.000000":"Experienced", - "3.000000":"Skilled", - "4.000000":"Adept", - "5.000000":"Masterful", - "6.000000":"Inhuman", - "7.000000":"Godlike" - } - }, - { - "DisplayName":"Assault: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Assault standard game type. 0 = start the game immediately", - "Keywords":"assault,wait,period", - "FieldName":"ASGameInfo_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"UT2k4Assault.ASGameInfo.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Assault: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Assault standard game type. 0 = no time limit", - "Keywords":"assault,time,limit", - "FieldName":"ASGameInfo_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"UT2k4Assault.ASGameInfo.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Assault: Round Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the number of pairs of rounds a game lasts for the Assault standard game type", - "Keywords":"assault,round,limit", - "FieldName":"ASGameInfo_RoundLimit", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"UT2k4Assault.ASGameInfo.RoundLimit", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "Placeholder":"1", - "EnumValues":{} - }, - { - "DisplayName":"Assault: Round Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the time period a round lasts for the Assault standard game type", - "Keywords":"assault,round,time,limit", - "FieldName":"ASGameInfo_RoundTimeLimit", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"UT2k4Assault.ASGameInfo.RoundTimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Assault: Practice Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the time period the practice round lasts for the Assault standard game type", - "Keywords":"assault,practice,time,limit", - "FieldName":"ASGameInfo_PracticeTimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"UT2k4Assault.ASGameInfo.PracticeTimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Bombing Run: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Bombing Run standard game type. 0 = start the game immediately", - "Keywords":"bombing,run,wait,period", - "FieldName":"xBombingRun_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xBombingRun.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Bombing Run: Score Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Bombing Run standard game type. When reached by a team the game will end. 0 = no score limit", - "Keywords":"bombing,run,score,limit,goal", - "FieldName":"xBombingRun_GoalScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xBombingRun.GoalScore", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "Placeholder":"15", - "EnumValues":{} - }, - { - "DisplayName":"Bombing Run: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Bombing Run standard game type. 0 = no time limit", - "Keywords":"bombing,run,time,limit", - "FieldName":"xBombingRun_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xBombingRun.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Capture The Flag: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Capture The Flag standard game type. 0 = start the game immediately", - "Keywords":"capture,flag,ctf,wait,period", - "FieldName":"xCTFGame_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xCTFGame.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Capture The Flag: Score Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Capture the Flag standard game type. When reached by a team the game will end. 0 = no score limit", - "Keywords":"capture,flag,ctf,score,limit,goal", - "FieldName":"xCTFGame_GoalScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xCTFGame.GoalScore", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Capture The Flag: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Capture the Flag standard game type. 0 = no time limit", - "Keywords":"capture,flag,ctf,time,limit", - "FieldName":"xCTFGame_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xCTFGame.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Deathmatch: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Deathmatch standard game type. 0 = start the game immediately", - "Keywords":"deathmatch,wait,period", - "FieldName":"xDeathMatch_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xDeathMatch.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Deathmatch: Score Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Deathmatch standard game type. When reached by a player the game will end. 0 = no score limit", - "Keywords":"deathmatch,score,limit,goal", - "FieldName":"xDeathMatch_GoalScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xDeathMatch.GoalScore", - "IncludeInCommandLine":false, - "DefaultValue":"25", - "Placeholder":"25", - "EnumValues":{} - }, - { - "DisplayName":"Deathmatch: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Deathmatch standard game type. 0 = no time limit", - "Keywords":"deathmatch,time,limit", - "FieldName":"xDeathMatch_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xDeathMatch.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Double Domination: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Double Domination standard game type. 0 = start the game immediately", - "Keywords":"double,domination,wait,period", - "FieldName":"xDoubleDom_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xDoubleDom.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Double Domination: Score Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Double Domination standard game type. When reached by a team the game will end. 0 = no score limit", - "Keywords":"double,domination,score,limit,goal", - "FieldName":"xDoubleDom_GoalScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xDoubleDom.GoalScore", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Double Domination: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Double Domination standard game type. 0 = no time limit", - "Keywords":"double,domination,time,limit", - "FieldName":"xDoubleDom_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xDoubleDom.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Double Domination: Time To Score", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long a team needs to hold both domination points before scoring", - "Keywords":"double,domination,time,score", - "FieldName":"xDoubleDom_TimeToScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xDoubleDom.TimeToScore", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Invasion: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Invasion standard game type. 0 = start the game immediately", - "Keywords":"invasion,wait,period", - "FieldName":"Invasion_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"SkaarjPack.Invasion.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Invasion: Score Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Invasion standard game type. When reached by a player the game will end. 0 = no score limit", - "Keywords":"invasion,score,limit,goal", - "FieldName":"Invasion_GoalScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"SkaarjPack.Invasion.GoalScore", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "EnumValues":{} - }, - { - "DisplayName":"Invasion: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Invasion standard game type. 0 = no time limit", - "Keywords":"invasion,time,limit", - "FieldName":"Invasion_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"SkaarjPack.Invasion.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Invasion: Maximum Lives", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the number of lives a player has before they are out of the game for the Invasion standard game type", - "Keywords":"invasion,max,lives", - "FieldName":"Invasion_MaxLives", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"SkaarjPack.Invasion.MaxLives", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "Placeholder":"4", - "EnumValues":{} - }, - { - "DisplayName":"Invasion: Initial Wave", - "Category":"UT2004 Gameplay Settings", - "Description":"Specifies the first wave of incoming monsters", - "Keywords":"invasion,initial,wave", - "FieldName":"Invasion_InitialWave", - "InputType":"number", - "MinValue":"0", - "MaxValue":"16", - "IsFlagArgument":false, - "ParamFieldName":"SkaarjPack.Invasion.InitialWave", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Invasion: Final Wave", - "Category":"UT2004 Gameplay Settings", - "Description":"Specifies the final wave of incoming monsters that must be completed to finish the game", - "Keywords":"invasion,final,wave", - "FieldName":"Invasion_FinalWave", - "InputType":"number", - "MinValue":"0", - "MaxValue":"16", - "IsFlagArgument":false, - "ParamFieldName":"SkaarjPack.Invasion.FinalWave", - "IncludeInCommandLine":false, - "DefaultValue":"16", - "Placeholder":"16", - "EnumValues":{} - }, - { - "DisplayName":"Last Man Standing: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Last Man Standing standard game type. 0 = start the game immediately", - "Keywords":"lms,last,man,standing,wait,period", - "FieldName":"xLastManStandingGame_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"BonusPack.xLastManStandingGame.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Last Man Standing: Score Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Last Man Standing standard game type. When reached by a player the game will end. 0 = no score limit", - "Keywords":"lms,last,man,standing,score,limit,goal", - "FieldName":"xLastManStandingGame_GoalScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"BonusPack.xLastManStandingGame.GoalScore", - "IncludeInCommandLine":false, - "DefaultValue":"25", - "Placeholder":"25", - "EnumValues":{} - }, - { - "DisplayName":"Last Man Standing: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Last Man Standing standard game type. 0 = no time limit", - "Keywords":"lms,last,man,standing,time,limit", - "FieldName":"xLastManStandingGame_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"BonusPack.xLastManStandingGame.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Last Man Standing: Maximum Lives", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the number of lives a player has before they are out of the game for the Last Man Standing standard game type", - "Keywords":"lms,last,man,standing,max,lives", - "FieldName":"xLastManStandingGame_MaxLives", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"BonusPack.xLastManStandingGame.MaxLives", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "Placeholder":"4", - "EnumValues":{} - }, - { - "DisplayName":"Mutant: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Mutant standard game type. 0 = start the game immediately", - "Keywords":"mutant,wait,period", - "FieldName":"xMutantGame_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"BonusPack.xMutantGame.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Mutant: Score Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Mutant standard game type. When reached by a player the game will end. 0 = no score limit", - "Keywords":"mutant,score,limit,goal", - "FieldName":"xMutantGame_GoalScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"BonusPack.xMutantGame.GoalScore", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "EnumValues":{} - }, - { - "DisplayName":"Mutant: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Mutant standard game type. 0 = no time limit", - "Keywords":"mutant,time,limit", - "FieldName":"xMutantGame_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"BonusPack.xMutantGame.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Mutant: Enable Bottom Feeder", - "Category":"UT2004 Gameplay Settings", - "Description":"If enabled, the player with the lowest score can kill other players for the Mutant standard game type", - "Keywords":"mutant,bottom,feeder", - "FieldName":"xMutantGame.bEnableBottomFeeder", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"BonusPack.xMutantGame.bEnableBottomFeeder", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Team Deathmatch: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Team Deathmatch standard game type. 0 = start the game immediately", - "Keywords":"team,deathmatch,wait,period", - "FieldName":"xTeamGame_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xTeamGame.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Team Deathmatch: Score Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Team Deathmatch standard game type. When reached by a team the game will end. 0 = no score limit", - "Keywords":"team,deathmatch,score,limit,goal", - "FieldName":"xTeamGame_GoalScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xTeamGame.GoalScore", - "IncludeInCommandLine":false, - "DefaultValue":"25", - "Placeholder":"25", - "EnumValues":{} - }, - { - "DisplayName":"Team Deathmatch: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Team Deathmatch standard game type. 0 = no time limit", - "Keywords":"team,deathmatch,time,limit", - "FieldName":"xTeamGame_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"XGame.xTeamGame.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "Placeholder":"60", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Onslaught: Player Wait Period", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Onslaught standard game type. 0 = start the game immediately", - "Keywords":"onslaught,wait,period", - "FieldName":"ONSOnslaughtGame_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Onslaught.ONSOnslaughtGame.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "Placeholder":"15", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Onslaught: Score Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Onslaught standard game type. When reached by a player the game will end. 0 = no score limit", - "Keywords":"onslaught,score,limit,goal", - "FieldName":"ONSOnslaughtGame_GoalScore", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Onslaught.ONSOnslaughtGame.GoalScore", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Onslaught: Time Limit", - "Category":"UT2004 Gameplay Settings", - "Description":"Sets the game time limit for the Onslaught standard game type. 0 = no time limit", - "Keywords":"onslaught,time,limit", - "FieldName":"ONSOnslaughtGame_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Onslaught.ONSOnslaughtGame.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "Placeholder":"20", - "Suffix":"minutes", - "EnumValues":{} - } -] \ No newline at end of file diff --git a/ut2004metaconfig.json b/ut2004metaconfig.json deleted file mode 100644 index 066b56916..000000000 --- a/ut2004metaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"System/UT2004.ini", - "AutoMap":true, - "ConfigType":"ini" - } -] \ No newline at end of file diff --git a/ut99.kvp b/ut99.kvp deleted file mode 100644 index d10825bd8..000000000 --- a/ut99.kvp +++ /dev/null @@ -1,86 +0,0 @@ -Meta.DisplayName=Unreal Tournament 99 -Meta.Description=Unreal Tournament (UT99) Dedicated Server. Based on v436 official server, with Bonus Packs 1 to 4 plus OldUnreal patch as selected by user -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, TABLE -Meta.URL=https://unreal.fandom.com/wiki/Unreal_Tournament -Meta.DisplayImageSource=steam:13240 -Meta.EndpointURIFormat= -Meta.ConfigManifest=ut99config.json -Meta.MetaConfigManifest=ut99metaconfig.json -Meta.ConfigRoot=ut99.kvp -Meta.MinAMPVersion=2.4.0.8 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Unreal Tournament 99 -App.RootDir=./ut-server/ -App.BaseDirectory=./ut-server/ -App.ExecutableWin=System\UCC.exe -App.ExecutableLinux=System/ucc-bin -App.WorkingDir=System -App.LinuxCommandLineArgs=-nohomedir -App.WindowsCommandLineArgs= -App.CommandLineArgs=server {{MapName}}?{{$FormattedArgs}} ini=_AMP_UnrealTournament.ini log=server.log port={{$GamePort}} {{$PlatformArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"SteamAppId":"13240"} -App.CommandLineParameterFormat={0}={1} -App.CommandLineParameterDelimiter=? -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=stop -App.ExitFile=lock -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":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"UDP","Port":7779,"Ref":"MasterServerPort1","Name":"Master Server Port 1","Description":"Port for first master server traffic"},{"Protocol":"UDP","Port":7780,"Ref":"MasterServerPort2","Name":"Master Server Port 2","Description":"Port for second master server traffic"},{"Protocol":"UDP","Port":7781,"Ref":"MasterServerPort3","Name":"Master Server Port 3","Description":"Port for third master server traffic"},{"Protocol":"TCP","Port":8888,"Ref":"WebserverPort","Name":"Webserver Port","Description":"Port for webserver traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=16 -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":"Base Server Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"http://www.ut-files.com/index.php?dir=Entire_Server_Download/&file=utserver436final.zip","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Base Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"http://www.ut-files.com/index.php?dir=Entire_Server_Download/&file=ut-server-linux-436.tar.gz","UpdateSourceTarget":"{{$FullInstanceDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Bonus Packs Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/IceOfWraith/UT99-BonusPacks/raw/main/ut99bonuspacks.zip","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"OldUnreal Patch Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v{{PatchVersion}}/OldUnreal-UTPatch{{PatchVersion}}-Windows.zip","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"OldUnreal Patch Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v{{PatchVersion}}/OldUnreal-UTPatch{{PatchVersion}}-Linux.tar.bz2","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true,"UpdateSourceConditionSetting":"PatchVersion","UpdateSourceConditionValue":"469b"},{"UpdateStageName":"OldUnreal Patch Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v{{PatchVersion}}/OldUnreal-UTPatch{{PatchVersion}}-Linux-amd64.tar.bz2","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true,"UpdateSourceConditionSetting":"PatchVersion","UpdateSourceConditionValue":"469c"},{"UpdateStageName":"Copy OldUnreal Patch Files","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c '\\cp -R ./ut-server/System64/* ./ut-server/System'","UpdateSourceConditionSetting":"PatchVersion","UpdateSourceConditionValue":"469c"},{"UpdateStageName":"Pause Update Stages","UpdateSourcePlatform":"Linux","UpdateSource":"Pause","UpdateSourceArgs":"2"},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}System/ucc-bin"},{"UpdateStageName":"Server Config Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ut99UnrealTournament.ini","UpdateSourceArgs":"_AMP_UnrealTournament.ini","UpdateSourceTarget":"{{$FullRootDir}}System/","OverwriteExistingFiles":false}] -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=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Game engine initialized$ -Console.UserJoinRegex=^$ -Console.UserLeaveRegex=^$ -Console.UserChatRegex=^$ -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/ut99UnrealTournament.ini b/ut99UnrealTournament.ini deleted file mode 100644 index 4652fbf68..000000000 --- a/ut99UnrealTournament.ini +++ /dev/null @@ -1,754 +0,0 @@ -[Comments] -rem=This file is supplied by AMP and should be used instead of UnrealTournament.ini to configure settings for the server. -rem=Some of the settings in this file are controlled via the AMP UI or by AMP itself (such as ports). - -[URL] -Protocol=unreal -ProtocolDescription=Unreal Protocol -Name=Player -Map=Index.unr -LocalMap=CityIntro.unr -Host= -Portal= -MapExt=unr -SaveExt=usa -Port=7777 -Class=Botpack.TMale1 - -[FirstRun] -FirstRun=0 - -[PackageRemap] -UnrealShare=UnrealI - -[Engine.Engine] -GameRenderDevice=OpenGLDrv.OpenGLRenderDevice -AudioDevice=ALAudio.ALAudioSubsystem -NetworkDevice=IpDrv.TcpNetDriver -DemoRecordingDevice=Engine.DemoRecDriver -Console=UTMenu.UTConsole -Language=int -GameEngine=Engine.GameEngine -EditorEngine=Editor.EditorEngine -WindowedRenderDevice=OpenGLDrv.OpenGLRenderDevice -RenderDevice=OpenGLDrv.OpenGLRenderDevice -DefaultGame=Botpack.DeathMatchPlus -DefaultServerGame=Botpack.DeathMatchPlus -ViewportManager=WinDrv.WindowsClient -Render=Render.Render -Input=Engine.Input -Canvas=Engine.Canvas - -[Core.System] -PurgeCacheDays=30 -SavePath=../Save -CachePath=../Cache -CacheExt=.uxx -Paths=../System/*.u -Paths=../Maps/*.unr -Paths=../Textures/*.utx -Paths=../Sounds/*.uax -Paths=../Music/*.umx -Suppress=DevLoad -Suppress=DevSave -Suppress=DevNetTraffic -Suppress=DevGarbage -Suppress=DevKill -Suppress=DevReplace -Suppress=DevSound -Suppress=DevCompile -Suppress=DevBind -Suppress=DevBsp -Suppress=DevMD5 -Suppress=DevAudio -Suppress=DevMusic -Suppress=DevGraphics - -[Engine.GameEngine] -CacheSizeMegs=16 -UseSound=True -MinClientVersion=432 -ServerActors=IpDrv.UdpBeacon -ServerActors=IpServer.UdpServerQuery -ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900 -ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.mplayer.com MasterServerPort=27900 -ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900 -ServerActors=UWeb.WebServer -ServerPackages=SoldierSkins -ServerPackages=CommandoSkins -ServerPackages=FCommandoSkins -ServerPackages=SGirlSkins -ServerPackages=BossSkins -ServerPackages=Botpack -ServerPackages=MultiMesh -ServerPackages=Relics -ServerPackages=EpicCustomModels -ServerPackages=TCowMeshSkins -ServerPackages=TNaliMeshSkins -ServerPackages=TSkMSkins -ServerPackages=SkeletalChars -ServerPackages=De - -[WinDrv.WindowsClient] -WindowedViewportX=1024 -WindowedViewportY=768 -WindowedColorBits=32 -FullscreenViewportX=1024 -FullscreenViewportY=768 -FullscreenColorBits=32 -Brightness=0.500000 -MipFactor=1.000000 -UseDirectDraw=True -UseJoystick=False -CaptureMouse=True -StartupFullscreen=True -CurvedSurfaces=False -LowDetailTextures=False -ScreenFlashes=True -NoLighting=False -SlowVideoBuffering=True -DeadZoneXYZ=True -DeadZoneRUV=False -InvertVertical=False -ScaleXYZ=1000.0 -ScaleRUV=2000.0 -MinDesiredFrameRate=30.0 -Decals=True -NoDynamicLights=False - -[SDLDrv.SDLClient] -WindowedViewportX=1024 -WindowedViewportY=768 -WindowedColorBits=32 -FullscreenViewportX=1024 -FullscreenViewportY=768 -FullscreenColorBits=32 -Brightness=0.500000 -MipFactor=1.000000 -UseJoystick=False -CaptureMouse=True -StartupFullscreen=True -CurvedSurfaces=False -LowDetailTextures=False -ScreenFlashes=True -NoLighting=False -SlowVideoBuffering=True -DeadZoneXYZ=True -DeadZoneRUV=False -InvertVertical=False -ScaleXYZ=1000.0 -ScaleRUV=2000.0 -MinDesiredFrameRate=30.0 -Decals=True -NoDynamicLights=False - -[Engine.Player] -ConfiguredInternetSpeed=10000 -ConfiguredLanSpeed=20000 - -[ALAudio.ALAudioSubsystem] -UseHRTF=Autodetect -ViewportVolumeIntensity=1.000000 -DetailStats=False -ReverbIntensity=1.000000 -UseReverb=True -OldReverbIntensity=1.000000 -EmulateOldReverb=True -MusicAmplify=0 -MusicStereoAngle=30 -MusicStereoMix=70 -MusicPanSeparation=50 -MusicDsp=DSP_ALL -MusicInterpolation=SPLINE -ProbeDevicesOnly=False -UseAutoSampleRate=False -OutputRate=44100Hz -DopplerFactor=0.100000 -bSoundAttenuate=True -AmbientFactor=0.700000 -UseDigitalMusic=True -EffectsChannels=64 -UseSpeechVolume=True -MusicVolume=64 -SpeechVolume=200 -SoundVolume=64 -SampleRate=44100Hz - -[Galaxy.GalaxyAudioSubsystem] -UseDirectSound=True -UseFilter=True -UseSurround=False -UseStereo=True -UseCDMusic=False -UseDigitalMusic=True -UseSpatial=False -UseReverb=True -Use3dHardware=False -LowSoundQuality=False -ReverseStereo=False -Latency=40 -OutputRate=44100Hz -EffectsChannels=16 -DopplerSpeed=9000.000000 -MusicVolume=64 -SoundVolume=64 -AmbientFactor=0.700000 - -[Cluster.ClusterAudioSubsystem] -UseCDMusic=True -UseDigitalMusic=True -CDMusicVolumeFactor=1.000000 -MusicVolume=64 -SoundVolume=64 -EffectsChannels=16 -AudioDeviceGuid= -EmulateGalaxyMusic=True - -[IpDrv.TcpNetDriver] -AllowDownloads=True -ConnectionTimeout=15.0 -InitialConnectTimeout=150.0 -AckTimeout=1.0 -KeepAliveTime=0.2 -MaxClientRate=20000 -SimLatency=0 -RelevantTimeout=5.0 -SpawnPrioritySeconds=1.0 -ServerTravelPause=4.0 -NetServerMaxTickRate=50 -LanServerMaxTickRate=50 -DownloadManagers=IpDrv.HTTPDownload -DownloadManagers=Engine.ChannelDownload -MaxConnPerIPPerMinute=5 -LogMaxConnPerIPPerMin=False -AllowPlayerPortUnreach=True -LogPortUnreach=False -MaxFileDownloadRate=-1 - -[IpDrv.HTTPDownload] -RedirectToURL=http://uz.ut-files.com/ -ProxyServerHost= -ProxyServerPort=3128 -UseCompression=True - -[Engine.DemoRecDriver] -DemoSpectatorClass=Botpack.CHSpectator -MaxClientRate=25000 -ConnectionTimeout=15.0 -InitialConnectTimeout=500.0 -AckTimeout=1.0 -KeepAliveTime=1.0 -SimLatency=0 -RelevantTimeout=5.0 -SpawnPrioritySeconds=1.0 -ServerTravelPause=4.0 -NetServerMaxTickRate=60 -LanServerMaxTickRate=60 - -[Engine.GameReplicationInfo] -ServerName=AMP Powered UT99 Server -ShortName= -AdminName= -AdminEmail= -Region=0 -MOTDLine1= -MOTDLine2= -MOTDLine3= -MOTDLine4= - -[IpDrv.TcpipConnection] -SimPacketLoss=0 -SimLatency=0 - -[IpServer.UdpServerQuery] -GameName=ut -bTeamInfo=False - -[IpDrv.UdpBeacon] -DoBeacon=True -BeaconTime=0.50 -BeaconTimeout=5.000000 -BeaconProduct=ut - -[SoftDrv.SoftwareRenderDevice] -Translucency=True -VolumetricLighting=True -ShinySurfaces=False -Coronas=False -HighDetailActors=False -HighResTextureSmooth=True -LowResTextureSmooth=False -FastTranslucency=True - -[GlideDrv.GlideRenderDevice] -Translucency=True -VolumetricLighting=True -ShinySurfaces=True -Coronas=True -HighDetailActors=True -DetailBias=-1.500000 -RefreshRate=60Hz -DetailTextures=True -FastUglyRefresh=False -ScreenSmoothing=True -Resolution=Default - -[MetalDrv.MetalRenderDevice] -Translucency=True -VolumetricLighting=True -ShinySurfaces=True -Coronas=True -HighDetailActors=True -DetailTextures=False - -[OpenGLDrv.OpenGLRenderDevice] -Translucency=True -ZRangeHack=True -NoAATiles=True -NumAASamples=4 -UseAA=True -SmoothMaskedTextures=False -SceneNodeHack=True -UseShaderGamma=True -ShaderGammaCorrectHUD=True -FrameRateLimit=0 -UseMultiDrawArrays=True -UseDrawGouraud469=True -ShaderAlphaHUD=True -UseSSE2=True -UseSSE=True -BufferTileQuads=True -SinglePassDetail=True -SinglePassFog=False -ColorizeDetailTextures=False -DetailMax=2 -RefreshRate=0 -MaxTMUnits=0 -NoFiltering=False -MaxAnisotropy=0 -Use16BitTextures=False -UseHDTextures=True -UseTrilinear=True -UsePrecache=True -UsePalette=True -UseZTrick=False -UseSamplerObjects=True -OneXBlending=False -GammaCorrectScreenshots=False -GammaOffsetBlue=0.000000 -GammaOffsetGreen=0.000000 -GammaOffsetRed=0.000000 -GammaOffset=0.100000 -LODBias=0.000000 -DescFlags=1 -Description= -DebugBits=-1 -VolumetricLighting=False -ShinySurfaces=True -Coronas=True -HighDetailActors=True -DetailTextures=True -AlwaysMipmap=True -SwapInterval=0 - -[D3D9Drv.D3D9RenderDevice] -ZRangeHack=True -NoAATiles=True -NumAASamples=4 -UseAA=True -UseSoftwareVertexProcessing=False -UsePureDevice=True -UseTripleBuffering=False -MaskedTextureHack=True -SmoothMaskedTextures=False -SceneNodeHack=True -FrameRateLimit=0 -SwapInterval=0 -UseFragmentProgram=True -TexDXT1ToDXT3=False -DynamicTexIdRecycleLevel=100 -CacheStaticMaps=True -UseTexPool=True -UseTexIdPool=True -UseSSE2=True -UseSSE=True -SinglePassDetail=False -SinglePassFog=True -ColorizeDetailTextures=False -DetailClipping=False -DetailMax=2 -RefreshRate=0 -MaxTMUnits=0 -NoFiltering=False -MaxAnisotropy=16 -Use565Textures=False -Use16BitTextures=False -UseS3TC=True -UseTrilinear=False -UsePrecache=True -UseMultiTexture=True -MaxLogTextureSize=8 -MinLogTextureSize=0 -OneXBlending=False -GammaCorrectScreenshots=False -GammaOffsetBlue=0.000000 -GammaOffsetGreen=0.000000 -GammaOffsetRed=0.000000 -GammaOffset=0.000000 -LODBias=0.000000 -DetailTextures=True -DescFlags=1 -HighDetailActors=True -Coronas=True -ShinySurfaces=True -VolumetricLighting=True - -[D3DDrv.D3DRenderDevice] -Translucency=True -VolumetricLighting=False -ShinySurfaces=True -Coronas=True -HighDetailActors=True -UseMipmapping=True -UseTrilinear=False -UseMultitexture=True -UsePageFlipping=True -UsePalettes=True -UseFullscreen=True -UseGammaCorrection=True -DetailTextures=False -Use3dfx=False -UseTripleBuffering=False -UsePrecache=False -Use32BitTextures=False -UseVSync=False -DescFlags=1 -UseVertexFog=False -UseAGPTextures=True -UseVideoMemoryVB=True - -[XOpenGLDrv.XOpenGLRenderDevice] -UseBindlessTextures=True -SyncToDraw=False -UseVSync=Off -NoDrawSimple=False -NoDrawTile=False -NoDrawGouraudList=False -NoDrawGouraud=False -NoDrawComplexSurface=False -NoBuffering=False -UseOpenGLDebug=False -UseHWClipping=False -UseHWLighting=False -UsePersistentBuffers=False -GenerateMipMaps=False -UseBufferInvalidation=False -NoAATiles=True -DetailTextures=True -MacroTextures=True -BumpMaps=True -GammaCorrectScreenshots=True -UseAA=False -UseTrilinear=True -UsePrecache=True -AlwaysMipmap=False -ShareLists=True -NoFiltering=False -HighDetailActors=True -Coronas=True -ShinySurfaces=True -VolumetricLighting=True -MaxAnisotropy=4.000000 -LODBias=0.000000 -GammaOffsetScreenshots=0.700000 -DebugLevel=2 -NumAASamples=4 -RefreshRate=0 -DescFlags=1 -OpenGLVersion=Core -DetailMax=2 - -[SglDrv.SglRenderDevice] -Translucency=True -VolumetricLighting=False -ShinySurfaces=False -Coronas=True -HighDetailActors=False -ColorDepth=16 -DetailTextures=False -FastUglyRefresh=False -TextureDetailBias=Near -VertexLighting=False - -[Editor.EditorEngine] -UseSound=True -CacheSizeMegs=6 -GridEnabled=True -SnapVertices=True -SnapDistance=10.000000 -GridSize=(X=16.000000,Y=16.000000,Z=16.000000) -RotGridEnabled=True -RotGridSize=(Pitch=1024,Yaw=1024,Roll=1024) -GameCommandLine=-log -FovAngleDegrees=90.000000 -GodMode=True -AutoSave=False -AutoSaveTimeMinutes=5 -AutoSaveIndex=6 -C_WorldBox=(R=0,G=0,B=107,A=255) -C_GroundPlane=(R=0,G=0,B=63,A=255) -C_GroundHighlight=(R=0,G=0,B=127,A=255) -C_BrushWire=(R=255,G=63,B=63,A=255) -C_Pivot=(R=0,G=255,B=0,A=255) -C_Select=(R=0,G=0,B=127,A=255) -C_AddWire=(R=127,G=127,B=255,A=255) -C_SubtractWire=(R=255,G=192,B=63,A=255) -C_GreyWire=(R=163,G=163,B=163,A=255) -C_Invalid=(R=163,G=163,B=163,A=255) -C_ActorWire=(R=127,G=63,B=0,A=255) -C_ActorHiWire=(R=255,G=127,B=0,A=255) -C_White=(R=255,G=255,B=255,A=255) -C_SemiSolidWire=(R=127,G=255,B=0,A=255) -C_NonSolidWire=(R=63,G=192,B=32,A=255) -C_WireGridAxis=(R=119,G=119,B=119,A=255) -C_ActorArrow=(R=163,G=0,B=0,A=255) -C_ScaleBox=(R=151,G=67,B=11,A=255) -C_ScaleBoxHi=(R=223,G=149,B=157,A=255) -C_Mover=(R=255,G=0,B=255,A=255) -C_OrthoBackground=(R=163,G=163,B=163,A=255) -C_Current=(R=0,G=0,B=0,A=255) -C_BrushVertex=(R=0,G=0,B=0,A=255) -C_BrushSnap=(R=0,G=0,B=0,A=255) -C_Black=(R=0,G=0,B=0,A=255) -C_Mask=(R=0,G=0,B=0,A=255) -C_WireBackground=(R=0,G=0,B=0,A=255) -C_ZoneWire=(R=0,G=0,B=0,A=255) -EditPackages=Core -EditPackages=Engine -EditPackages=Editor -EditPackages=UWindow -EditPackages=Fire -EditPackages=IpDrv -EditPackages=UWeb -EditPackages=UBrowser -EditPackages=UnrealShare -EditPackages=UnrealI -EditPackages=UMenu -EditPackages=IpServer -EditPackages=Botpack -EditPackages=UTServerAdmin -EditPackages=UTMenu -EditPackages=UTBrowser - -[UMenu.UnrealConsole] -RootWindow=UMenu.UMenuRootWindow -UWindowKey=IK_Esc -ShowDesktop=True - -[UMenu.UMenuMenuBar] -ShowHelp=True -GameUMenuDefault=UTMenu.UTGameMenu -MultiplayerUMenuDefault=UTMenu.UTMultiplayerMenu -OptionsUMenuDefault=UTMenu.UTOptionsMenu - -[Botpack.ChallengeBotInfo] -Difficulty=1.000000 - -[Botpack.DeathMatchPlus] -bNoviceMode=True -bHardCoreMode=True -bUseTranslocator=False -bCoopWeaponMode=False -MinPlayers=0 -AirControl=0.350000 -FragLimit=30 -TimeLimit=0 -bChangeLevels=True -bMegaSpeed=False -bAltScoring=False -bMultiWeaponStay=True -bForceRespawn=False -bTournament=False -NetWait=10 -RestartWait=15 -MaxCommanders=0 -InitialBots=4 -bNoMonsters=True -bHumansOnly=False -bClassicDeathMessages=False -MinFOV=80.000000 -MaxFOV=130.000000 -MaxNameChanges=0 - -[Botpack.CTFGame] -bUseTranslocator=True -bCoopWeaponMode=True -GoalTeamScore=3 -MinPlayers=0 -NetWait=10 -TimeLimit=0 - -[Botpack.Domination] -bDumbDown=True -bUseTranslocator=True -bCoopWeaponMode=True -GoalTeamScore=100 -MinPlayers=0 -NetWait=10 -TimeLimit=0 - -[Botpack.Assault] -bUseTranslocator=False -bCoopWeaponMode=True -MinPlayers=0 -NetWait=10 -TimeLimit=0 - -[Botpack.TeamGamePlus] -bBalanceTeams=True -GoalTeamScore=30 -bPlayersBalanceTeams=True -MinPlayers=0 -NetWait=10 -FragLimit=30 -TimeLimit=0 - -[Engine.GameInfo] -bLowGore=False -bVeryLowGore=False -bMuteSpectators=False -bNoCheating=True -bAllowFOV=False -bExternalBatcher=False -AutoAim=0.930000 -GameSpeed=1.000000 -MaxSpectators=2 -AdminPassword= -GamePassword= -MaxPlayers=16 -ServerLogName=server.log -bLocalLog=True -bWorldLog=True -bBatchLocal=False -DemoBuild=0 -DemoHasTuts=0 -PlayerViewDelay=1.000000 -PlayerSpeechDelay=0.300000 -PlayerTauntDelay=2.000000 -NoLockdown=1 -bLogAdminActions=True -LoginDelaySeconds=3.000000 -MaxLoginAttempts=3 -ActionToTake=DO_KickPlayer -bNoMonsters=False -bHumansOnly=False -bCoopWeaponMode=False -bClassicDeathMessages=False -MinFOV=80.000000 -MaxFOV=130.000000 -MaxNameChanges=0 - -[UnrealShare.UnrealGameOptionsMenu] -bCanModifyGore=True - -[UBrowser.UBrowserMainClientWindow] -LANTabName=UBrowserLAN -ServerListNames[0]=UBrowserUT -ServerListNames[1]=UBrowserLAN -ServerListNames[2]=UBrowserPopulated -ServerListNames[3]=UBrowserDeathmatch -ServerListNames[4]=UBrowserTeamGames -ServerListNames[5]=UBrowserCTF -ServerListNames[6]=UBrowserDOM -ServerListNames[7]=UBrowserAS -ServerListNames[8]=UBrowserLMS -ServerListNames[9]=UBrowserAll -ServerListNames[10]=None -ServerListNames[11]=None -ServerListNames[12]=None -ServerListNames[13]=None -ServerListNames[14]=None -ServerListNames[15]=None -ServerListNames[16]=None -ServerListNames[17]=None -ServerListNames[18]=None -ServerListNames[19]=None - -[UBrowserUT] -ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,bCompatibleServersOnly=True - -[UBrowserLAN] -ListFactories[0]=UBrowser.UBrowserLocalFact,BeaconProduct=ut -URLAppend=?LAN -AutoRefreshTime=10 -bNoAutoSort=True - -[UBrowserPopulated] -ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,MinPlayers=1,bCompatibleServersOnly=True - -[UBrowserDeathmatch] -ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=DeathMatchPlus,bCompatibleServersOnly=True - -[UBrowserTeamGames] -ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=TeamGamePlus,bCompatibleServersOnly=True - -[UBrowserCTF] -ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=CTFGame,bCompatibleServersOnly=True - -[UBrowserDOM] -ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=Domination,bCompatibleServersOnly=True - -[UBrowserAS] -ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=Assault,bCompatibleServersOnly=True - -[UBrowserLMS] -ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=LastManStanding,bCompatibleServersOnly=True - -[UBrowserAll] -ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=unreal.epicgames.com,MasterServerTCPPort=28900,Region=0,GameName=ut -ListFactories[1]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.mplayer.com,MasterServerTCPPort=28900,Region=0,GameName=ut -ListFactories[2]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.333networks.com,MasterServerTCPPort=28900,Region=0,GameName=ut -bHidden=True -bFallbackFactories=False - -[UTMenu.UTLadder] -bGOTY=true - -[UWeb.WebServer] -Applications[0]=UTServerAdmin.UTServerAdmin -ApplicationPaths[0]=/ServerAdmin -Applications[1]=UTServerAdmin.UTImageServer -ApplicationPaths[1]=/images -DefaultApplication=0 -bEnabled=True -ListenPort=8888 - -[UBrowser.UBrowserHTTPClient] -ProxyServerAddress= -ProxyServerPort= - -[UTServerAdmin.UTServerAdmin] -AdminUsername=admin -AdminPassword=admin - -[Engine.StatLog] -LocalBatcherURL=../NetGamesUSA.com/ngStats/ngStatsUT.exe -LocalBatcherParams= -LocalStatsURL=../NetGamesUSA.com/ngStats/html/ngStats_Main.html -WorldBatcherURL=../NetGamesUSA.com/ngWorldStats/bin/ngWorldStats.exe -WorldBatcherParams=-d ../NetGamesUSA.com/ngWorldStats/logs -g UT -WorldStatsURL=http://www.netgamesusa.com -LocalLogDir=../Logs -WorldLogDir=../NetGamesUSA.com/ngWorldStats/logs -bLogTypingEvents=False -bWorldBatcherError=False - -[IpServer.UdpServerUplink] -DoUplink=True -UpdateMinutes=1 -MasterServerAddress=unreal.epicgames.com -MasterServerPort=27900 -Region=0 - -[UTMenu.UTServerSetupPage] -bLanPlay=False diff --git a/ut99config.json b/ut99config.json deleted file mode 100644 index 167ba018b..000000000 --- a/ut99config.json +++ /dev/null @@ -1,812 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"UT Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"URL.Port", - "IncludeInCommandLine":false, - "DefaultValue":"7777", - "EnumValues":{} - }, - { - "DisplayName":"Webserver Port", - "Category":"UT Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$WebserverPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"UWeb.WebServer.ListenPort", - "IncludeInCommandLine":false, - "DefaultValue":"8888", - "EnumValues":{} - }, - { - "DisplayName":"Server Log Name", - "Category":"UT Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"ServerLogName", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.ServerLogName", - "IncludeInCommandLine":false, - "DefaultValue":"server.log", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"UT Server Settings", - "Description":"Sets the name of the server shown publicly", - "Keywords":"name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameReplicationInfo.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"AMP Powered UT99 Server", - "EnumValues":{} - }, - { - "DisplayName":"Server Shortname", - "Category":"UT Server Settings", - "Description":"Sets the shortname of the server shown publicly", - "Keywords":"short,name", - "FieldName":"ShortName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameReplicationInfo.ShortName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Admin Name", - "Category":"UT Server Settings", - "Description":"Sets the name of the server admin shown publicly", - "Keywords":"admin,name", - "FieldName":"AdminName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameReplicationInfo.AdminName", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"UT Server Settings", - "Description":"If enabled, the server will be registered to the master servers and be publicly visible in the in-game browser", - "Keywords":"public,master", - "FieldName":"DoUplink", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"IpServer.UdpServerUplink.DoUplink", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Server Password", - "Category":"UT Server Settings", - "Description":"Password for players and spectators to connect to the server", - "Keywords":"password", - "FieldName":"GamePassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.GamePassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Admin Password", - "Category":"UT Server Settings", - "Description":"In-game admin password", - "Keywords":"admin,password", - "FieldName":"AdminPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.AdminPassword", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"UT Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.MaxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Spectator Limit", - "Category":"UT Server Settings", - "Description":"Maximum number of spectators that may connect to the server", - "Keywords":"spectators,limit", - "FieldName":"MaxSpectators", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.MaxSpectators", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "Suffix":"spectators", - "EnumValues":{} - }, - { - "DisplayName":"Map Name", - "Category":"UT Server Settings", - "Description":"Sets the name of the map to load. The Game Type must match. If Custom is selected, the Custom Map Name must also be set", - "Keywords":"map,name", - "FieldName":"MapName", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"MapName", - "IncludeInCommandLine":false, - "DefaultValue":"DM-Turbine", - "EnumValues":{ - "AS-Frigate":"AS-Frigate", - "AS-Guardia":"AS-Guardia", - "AS-HiSpeed":"AS-HiSpeed", - "AS-Mazon":"AS-Mazon", - "AS-OceanFloor":"AS-OceanFloor", - "AS-Overlord":"AS-Overlord", - "AS-Rook":"AS-Rook", - "CTF-Beatitude":"CTF-Beatitude", - "CTF-Command":"CTF-Command", - "CTF-Coret":"CTF-Coret", - "CTF-Cybrosis][":"CTF-Cybrosis (Revised)", - "CTF-Darji16":"CTF-Darji16", - "CTF-Dreary":"CTF-Dreary", - "CTF-EpicBoy":"CTF-EpicBoy", - "CTF-EternalCave":"CTF-EternalCave", - "CTF-Face":"CTF-Face", - "CTF-Face][":"CTF-Face (Revised)", - "CTF-Face-SE":"CTF-Face-SE", - "CTF-Gauntlet":"CTF-Gauntlet", - "CTF-HallOfGiants":"CTF-HallOfGiants", - "CTF-High":"CTF-High", - "CTF-Hydro16":"CTF-Hydro16", - "CTF-Kosov":"CTF-Kosov", - "CTF-LavaGiant":"CTF-LavaGiant", - "CTF-Niven":"CTF-Niven", - "CTF-November":"CTF-November", - "CTF-Noxion16":"CTF-Noxion16", - "CTF-Nucleus":"CTF-Nucleus", - "CTF-Orbital":"CTF-Orbital", - "CTF-Ratchet":"CTF-Ratchet", - "DM-Agony":"DM-Agony", - "DM-ArcaneTemple":"DM-ArcaneTemple", - "DM-Barricade":"DM-Barricade", - "DM-Bishop":"DM-Bishop", - "DM-Closer":"DM-Closer", - "DM-Codex":"DM-Codex", - "DM-Conveyor":"DM-Conveyor", - "DM-Crane":"DM-Crane", - "DM-Curse][":"DM-Curse (Revised)", - "DM-Cybrosis][":"DM-Cybrosis (Revised)", - "DM-Deck16][":"DM-Deck16 (Revised)", - "DM-Fetid":"DM-Fetid", - "DM-Fractal":"DM-Fractal", - "DM-Gothic":"DM-Gothic", - "DM-Grinder":"DM-Grinder", - "DM-Grit-TOURNEY":"DM-Grit-TOURNEY", - "DM-HealPod][":"DM-HealPod (Revised)", - "DM-HyperBlast":"DM-HyperBlast", - "DM-KGalleon":"DM-KGalleon", - "DM-Liandri":"DM-Liandri", - "DM-Malevolence":"DM-Malevolence", - "DM-Mojo][":"DM-Mojo (Revised)", - "DM-Morbias][":"DM-Morbias (Revised)", - "DM-Morpheus":"DM-Morpheus", - "DM-Oblivion":"DM-Oblivion", - "DM-Peak":"DM-Peak", - "DM-Phobos":"DM-Phobos", - "DM-Pressure":"DM-Pressure", - "DM-Pyramid":"DM-Pyramid", - "DM-Shrapnel][":"DM-Shrapnel (Revised)", - "DM-SpaceNoxx":"DM-SpaceNoxx", - "DM-Stalwart":"DM-Stalwart", - "DM-StalwartXL":"DM-StalwartXL", - "DM-Tempest":"DM-Tempest", - "DM-Turbine":"DM-Turbine (Default)", - "DM-Viridian-TOURNEY":"DM-Viridian-TOURNEY", - "DM-Zeto":"DM-Zeto", - "DOM-Bullet":"DOM-Bullet", - "DOM-CiDom":"DOM-CiDom", - "DOM-Cinder":"DOM-Cinder", - "DOM-Condemned":"DOM-Condemned", - "DOM-Cryptic":"DOM-Cryptic", - "DOM-Gearbolt":"DOM-Gearbolt", - "DOM-Ghardhen":"DOM-Ghardhen", - "DOM-Lament":"DOM-Lament", - "DOM-Lament][":"DOM-Lament (Revised)", - "DOM-Leadworks":"DOM-Leadworks", - "DOM-MetalDream":"DOM-MetalDream", - "DOM-Olden":"DOM-Olden", - "DOM-Sesmar":"DOM-Sesmar", - "DOM-WolfsBay":"DOM-WolfsBay", - "Entry":"Entry", - "{{CustomMap}}":"Custom" - } - }, - { - "DisplayName":"Custom Map Name", - "Category":"UT Server Settings", - "Description":"If Custom map is selected, sets the name of the map. The map file must be included in the Maps directory", - "Keywords":"custom,map", - "FieldName":"CustomMap", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomMap", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"DM-NeoTokyo", - "EnumValues":{} - }, - { - "DisplayName":"Game Type", - "Category":"UT Server Settings", - "Description":"Sets the game type for the server. If Custom is selected, the Custom Game Type Name must also be set", - "Keywords":"game,type", - "FieldName":"game", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"game", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"Botpack.DeathMatchPlus", - "EnumValues":{ - "Botpack.Assault":"Assault", - "Botpack.CTFGame":"Capture The Flag", - "Botpack.DeathMatchPlus":"Deathmatch (Default)", - "Botpack.Domination":"Domination", - "Botpack.TeamGamePlus":"Team Deathmatch", - "{{CustomGame}}":"Custom" - } - }, - { - "DisplayName":"Custom Game Type Name", - "Category":"UT Server Settings", - "Description":"If Custom game type is selected, sets the name of the game type", - "Keywords":"custom,game,type", - "FieldName":"CustomGame", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"CustomGame", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"JailBreak.JailBreak", - "EnumValues":{} - }, - { - "DisplayName":"Mutators", - "Category":"UT Server Settings", - "Description":"Comma-separated list of mutators to enable on the server", - "Keywords":"mutators", - "FieldName":"mutator", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"mutator", - "IncludeInCommandLine":true, - "SkipIfEmpty":true, - "DefaultValue":"", - "Placeholder":"QFeedback.QFeedback,Relics.RelicDefense,Relics.RelicRedemption,Relics.RelicRegen,Relics.RelicSpeed,Relics.RelicStrength,Relics.RelicDeath", - "EnumValues":{} - }, - { - "DisplayName":"OldUnreal Patch Version", - "Category":"UT Server Settings", - "Description":"Sets the OldUnreal patch version to apply to the server. Update the server after changing this setting!", - "Keywords":"oldunreal,patch,version", - "FieldName":"PatchVersion", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"PatchVersion", - "IncludeInCommandLine":false, - "DefaultValue":"469c", - "EnumValues":{ - "469b":"469b", - "469c":"469c (Default)", - } - }, - { - "DisplayName":"Redirection URL", - "Category":"UT Server Settings", - "Description":"Sets the URL for a redirection website for clients to download required files. The URL must end in a slash", - "Keywords":"redirection,url", - "FieldName":"RedirectToURL", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"IpDrv.HTTPDownload.RedirectToURL", - "IncludeInCommandLine":false, - "DefaultValue":"http://uz.ut-files.com/", - "Placeholder":"http://uz.ut-files.com/", - "EnumValues":{} - }, - { - "DisplayName":"Enable Webserver", - "Category":"UT Server Settings", - "Description":"If enabled, the server's webserver will operate", - "Keywords":"webserver", - "FieldName":"bEnabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"UWeb.WebServer.bEnabled", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Webserver Admin Username", - "Category":"UT Server Settings", - "Description":"Sets the username of the admin user for the webserver", - "Keywords":"webserver,admin,username", - "FieldName":"WebAdminUsername", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"UTServerAdmin.UTServerAdmin.AdminUsername", - "IncludeInCommandLine":false, - "DefaultValue":"admin", - "Placeholder":"admin", - "EnumValues":{} - }, - { - "DisplayName":"Webserver Admin Password", - "Category":"UT Server Settings", - "Description":"Sets the password of the admin user for the webserver. Change this after installing the server", - "Keywords":"webserver,admin,password", - "FieldName":"WebAdminPassword", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"UTServerAdmin.UTServerAdmin.AdminPassword", - "IncludeInCommandLine":false, - "DefaultValue":"admin", - "Placeholder":"admin", - "EnumValues":{} - }, - { - "DisplayName":"Low Gore", - "Category":"UT Gameplay Settings", - "Description":"If enabled, the server will have low gore levels", - "Keywords":"low,gore", - "FieldName":"bLowGore", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.bLowGore", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Very Low Gore", - "Category":"UT Gameplay Settings", - "Description":"If enabled, the server will have very low gore levels", - "Keywords":"very,low,gore", - "FieldName":"bVeryLowGore", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.bVeryLowGore", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Mute Spectators", - "Category":"UT Gameplay Settings", - "Description":"If enabled, spectators will be muted (cannot chat during the game)", - "Keywords":"mute,spectators", - "FieldName":"bMuteSpectators", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.bMuteSpectators", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Prevent Cheats", - "Category":"UT Gameplay Settings", - "Description":"If enabled, cheats will not be allowed", - "Keywords":"cheating", - "FieldName":"bNoCheating", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.bNoCheating", - "IncludeInCommandLine":false, - "DefaultValue":"True", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Enable Field of View", - "Category":"UT Gameplay Settings", - "Description":"If set, field of view will be enabled", - "Keywords":"fov,field,view", - "FieldName":"bAllowFOV", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.bAllowFOV", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Game Speed", - "Category":"UT Gameplay Settings", - "Description":"Sets the speed of the game", - "Keywords":"game,speed", - "FieldName":"GameSpeed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Engine.GameInfo.GameSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"1.000000", - "Placeholder":"1.000000", - "EnumValues":{} - }, - { - "DisplayName":"Bot Difficulty Level", - "Category":"UT Gameplay Settings", - "Description":"Sets the difficulty level of bots on the server", - "Keywords":"bot,difficulty,level", - "FieldName":"Difficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.ChallengeBotInfo.Difficulty", - "IncludeInCommandLine":false, - "DefaultValue":"1.000000", - "EnumValues":{ - "0.000000":"Novice", - "1.000000":"Average (Default)", - "2.000000":"Experienced", - "3.000000":"Skilled", - "4.000000":"Adept", - "5.000000":"Masterful", - "6.000000":"Inhuman", - "7.000000":"Godlike" - } - }, - { - "DisplayName":"Adjust Bot Skill Level", - "Category":"UT Gameplay Settings", - "Description":"If enabled, the skill level of bots will increase or decrease according to the skill level of players", - "Keywords":"adjust,bot,skill,level", - "FieldName":"bAdjustSkill", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.ChallengeBotInfo.bAdjustSkill", - "IncludeInCommandLine":false, - "DefaultValue":"False", - "EnumValues":{ - "False":"False", - "True":"True" - } - }, - { - "DisplayName":"Assault: Minimum Players", - "Category":"UT Gameplay Settings", - "Description":"Minimum number of players for the Assault standard game type. Vacant slots will be filled with bots. 0 = no minimum", - "Keywords":"assault,minimum,players", - "FieldName":"Assault_MinPlayers", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.Assault.MinPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Assault: Player Wait Period", - "Category":"UT Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Assault standard game type. 0 = start the game immediately", - "Keywords":"assault,wait,period", - "FieldName":"Assault_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.Assault.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Assault: Time Limit", - "Category":"UT Gameplay Settings", - "Description":"Sets the game time limit for the Assault standard game type. 0 = no time limit", - "Keywords":"assault,time,limit", - "FieldName":"Assault_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.Assault.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Capture The Flag: Minimum Players", - "Category":"UT Gameplay Settings", - "Description":"Minimum number of players for the Capture the Flag standard game type. Vacant slots will be filled with bots. 0 = no minimum", - "Keywords":"capture,flag,ctf,minimum,players", - "FieldName":"CTFGame_MinPlayers", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.CTFGame.MinPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Capture The Flag: Player Wait Period", - "Category":"UT Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Capture the Flag standard game type. 0 = start the game immediately", - "Keywords":"capture,flag,ctf,wait,period", - "FieldName":"CTFGame_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.CTFGame.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Capture The Flag: Score Limit", - "Category":"UT Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Capture the Flag standard game type. When reached by a team the game will end", - "Keywords":"capture,flag,ctf,score,limit,goal", - "FieldName":"CTFGame_GoalTeamScore", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.CTFGame.GoalTeamScore", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"3", - "EnumValues":{} - }, - { - "DisplayName":"Capture The Flag: Time Limit", - "Category":"UT Gameplay Settings", - "Description":"Sets the game time limit for the Capture the Flag standard game type. 0 = no time limit", - "Keywords":"capture,flag,ctf,time,limit", - "FieldName":"CTFGame_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.CTFGame.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Deathmatch: Minimum Players", - "Category":"UT Gameplay Settings", - "Description":"Minimum number of players for the Deathmatch standard game type. Vacant slots will be filled with bots. 0 = no minimum", - "Keywords":"deathmatch,minimum,players", - "FieldName":"DeathMatchPlus_MinPlayers", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.DeathMatchPlus.MinPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Deathmatch: Player Wait Period", - "Category":"UT Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Deathmatch standard game type. 0 = start the game immediately", - "Keywords":"deathmatch,wait,period", - "FieldName":"DeathMatchPlus_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.DeathMatchPlus.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Deathmatch: Frag Limit", - "Category":"UT Gameplay Settings", - "Description":"Sets the frag limit (or kill limit) for the Deathmatch standard game type. When reached by a player the game will end", - "Keywords":"deathmatch,frag,limit", - "FieldName":"DeathMatchPlus_FragLimit", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.DeathMatchPlus.FragLimit", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Placeholder":"30", - "EnumValues":{} - }, - { - "DisplayName":"Deathmatch: Time Limit", - "Category":"UT Gameplay Settings", - "Description":"Sets the game time limit for the Deathmatch standard game type. 0 = no time limit", - "Keywords":"deathmatch,time,limit", - "FieldName":"DeathMatchPlus_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.DeathMatchPlus.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Domination: Minimum Players", - "Category":"UT Gameplay Settings", - "Description":"Minimum number of players for the Domination standard game type. Vacant slots will be filled with bots. 0 = no minimum", - "Keywords":"domination,minimum,players", - "FieldName":"Domination_MinPlayers", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.Domination.MinPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Domination: Player Wait Period", - "Category":"UT Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Domination standard game type. 0 = start the game immediately", - "Keywords":"domination,wait,period", - "FieldName":"Domination_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.Domination.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Domination: Score Limit", - "Category":"UT Gameplay Settings", - "Description":"Sets the score limit (goal score) for the Domination standard game type. When reached by a team the game will end", - "Keywords":"domination,score,limit,goal", - "FieldName":"Domination_GoalTeamScore", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.Domination.GoalTeamScore", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Placeholder":"100", - "EnumValues":{} - }, - { - "DisplayName":"Domination: Time Limit", - "Category":"UT Gameplay Settings", - "Description":"Sets the game time limit for the Domination standard game type. 0 = no time limit", - "Keywords":"domination,time,limit", - "FieldName":"Domination_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.Domination.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Team Deathmatch: Minimum Players", - "Category":"UT Gameplay Settings", - "Description":"Minimum number of players for the Team Deathmatch standard game type. Vacant slots will be filled with bots. 0 = no minimum", - "Keywords":"team,deathmatch,minimum,players", - "FieldName":"TeamGamePlus_MinPlayers", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.TeamGamePlus.MinPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "EnumValues":{} - }, - { - "DisplayName":"Team Deathmatch: Player Wait Period", - "Category":"UT Gameplay Settings", - "Description":"Sets how long to wait for players before spawning bots for the Team Deathmatch standard game type. 0 = start the game immediately", - "Keywords":"team,deathmatch,wait,period", - "FieldName":"TeamGamePlus_NetWait", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.TeamGamePlus.NetWait", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "Placeholder":"10", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Team Deathmatch: Frag Limit", - "Category":"UT Gameplay Settings", - "Description":"Sets the frag limit (or kill limit) for the Team Deathmatch standard game type. When reached by a team the game will end", - "Keywords":"team,deathmatch,frag,limit", - "FieldName":"TeamGamePlus_FragLimit", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.TeamGamePlus.FragLimit", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Placeholder":"30", - "EnumValues":{} - }, - { - "DisplayName":"Team Deathmatch: Time Limit", - "Category":"UT Gameplay Settings", - "Description":"Sets the game time limit for the Team Deathmatch standard game type. 0 = no time limit", - "Keywords":"team,deathmatch,time,limit", - "FieldName":"TeamGamePlus_TimeLimit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"Botpack.TeamGamePlus.TimeLimit", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"minutes", - "EnumValues":{} - } -] diff --git a/ut99metaconfig.json b/ut99metaconfig.json deleted file mode 100644 index dbf0fe087..000000000 --- a/ut99metaconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "ConfigFile":"System/_AMP_UnrealTournament.ini", - "AutoMap":true, - "ConfigType":"ini" - }, - { - "ConfigFile":"System/User.ini", - "AutoMap":true, - "ConfigType":"ini" - } -] \ No newline at end of file diff --git a/v-rising.kvp b/v-rising.kvp deleted file mode 100644 index 756cabbd6..000000000 --- a/v-rising.kvp +++ /dev/null @@ -1,86 +0,0 @@ -Meta.DisplayName=V Rising -Meta.Description=V Rising Dedicated Server with BepInEx Option for Windows -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan, IceOfWraith, Tempus Thales -Meta.URL=https://store.steampowered.com/app/1604030/V_Rising/ -Meta.DisplayImageSource=steam:1604030 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2} -Meta.ConfigManifest=v-risingconfig.json -Meta.MetaConfigManifest=v-risingmetaconfig.json -Meta.ConfigRoot=v-rising.kvp -Meta.MinAMPVersion= -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=V Rising -App.RootDir=./v-rising/ -App.BaseDirectory=./v-rising/1829350/ -App.ExecutableWin=1829350\VRisingServer.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=1829350 -App.LinuxCommandLineArgs=-a wine "./VRisingServer.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -persistentDataPath ./save-data {{LanMode}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1604030","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -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=@IncludeJSON[v-risingports.json] -App.AdminPortRef=RemoteAdminPort -App.PrimaryApplicationPortRef=ApplicationPort1 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=ApplicationPort2 -App.MaxUsers=40 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword= -App.AdminMethod=SourceRCON -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=30 -App.RCONConnectRetrySeconds=30 -App.TelnetLoginFormat={0} -App.UpdateSources=@IncludeJSON[v-risingupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=True -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=wine64 -App.RCONHeartbeatMinutes=4 -App.RCONHeartbeatCommand="announce" -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^\[rcon\] 127\.0\.0\.1 successfully authenticated!$ -Console.UserJoinRegex=^User '{Steam (?<userid>\d+)}' '\d+', approvedUserIndex: \d+, Character: '(?<username>.+?)' connected as ID '\d+,\d+', Entity '[\d,]+'\.$ -Console.UserLeaveRegex=^User '{Steam (?<userid>\d+)}' disconnected. approvedUserIndex: \d+ Reason: (.+?) (.+?)$ -Console.UserChatRegex= -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 \ No newline at end of file diff --git a/v-risingconfig.json b/v-risingconfig.json deleted file mode 100644 index 44141a9eb..000000000 --- a/v-risingconfig.json +++ /dev/null @@ -1,406 +0,0 @@ -[ - { - "DisplayName": "Disable BepInEx Console", - "Category": "V Rising - Host Settings", - "Description": "Needed for BepInEx to function", - "Keywords": "", - "FieldName": "LoggingConsoleEnabled", - "InputType": "text", - "Hidden": true, - "IsFlagArgument": false, - "ParamFieldName": "Logging.Console.Enabled", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": {} - }, - { - "DisplayName": "Server Name", - "Category": "V Rising - Host Settings", - "Description": "Whatever you want to name your server as", - "Keywords": "Server, name", - "FieldName": "Name", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Name", - "IncludeInCommandLine": false, - "DefaultValue": "AMP V Rising Server", - "EnumValues": {} - }, - { - "DisplayName": "Description", - "Category": "V Rising - Host Settings", - "Description": "Short description of server purpose, rules, message of the day", - "Keywords": "Server, description", - "FieldName": "Description", - "InputType": "Textarea", - "IsFlagArgument": false, - "ParamFieldName": "Description", - "IncludeInCommandLine": false, - "DefaultValue": "AMP V Rising Server", - "Placeholder": "AMP V Rising Server", - "EnumValues": {} - }, - { - "DisplayName": "Port", - "Category": "V Rising - Host Settings", - "Description": "UDP port for game traffic", - "Keywords": "", - "FieldName": "$ApplicationPort1", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "Query Port", - "Category": "V Rising - Host Settings", - "Description": "UDP port for Steam server list features", - "Keywords": "", - "FieldName": "$ApplicationPort2", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "QueryPort", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "RCON Port", - "Category": "V Rising - Host Settings", - "Description": "TCP port for RCON", - "Keywords": "", - "FieldName": "$RemoteAdminPort", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "Rcon.Port", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "RCON Enabled", - "Category": "V Rising - Host Settings", - "Description": "RCON Enabled to allow Console input", - "Keywords": "", - "FieldName": "RconEnabled", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Rcon.Enabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": {}, - "Hidden": true - }, - { - "DisplayName": "LAN Mode", - "Category": "V Rising - Host Settings", - "Description": "Use this setting for a server without internet connectivity. The LAN Mode check box must also be checked in-game when connecting.", - "Keywords": "lan,mode", - "FieldName": "LanMode", - "InputType": "checkbox", - "DefaultValue": "", - "IsFlagArgument": false, - "ParamFieldName": "LanMode", - "IncludeInCommandLine": false, - "EnumValues": { - "False": "", - "True": "-lan" - } - }, - { - "DisplayName": "Max Connected Users", - "Category": "V Rising - Host Settings", - "Description": "Max number of concurrent players on server", - "Keywords": "max, users", - "FieldName": "$MaxUsers", - "InputType": "number", - "DefaultValue": "40", - "IsFlagArgument": false, - "ParamFieldName": "MaxConnectedUsers", - "IncludeInCommandLine": false, - "Suffix": "players", - "MinValue": "1" - }, - { - "DisplayName": "Max Connected Admins", - "Category": "V Rising - Host Settings", - "Description": "Max number of admins to allow connect even when server is full", - "Keywords": "max, admins", - "FieldName": "MaxConnectedAdmins", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaxConnectedAdmins", - "DefaultValue": "4", - "IncludeInCommandLine": false, - "Suffix": "players" - }, - { - "DisplayName": "Clan Size", - "Category": "V Rising - Game Settings", - "Description": "Maximum amount of players per Clan", - "Keywords": "clan, Size", - "FieldName": "ClanSize", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ClanSize", - "DefaultValue": "4", - "IncludeInCommandLine": false, - "Suffix": "players" - }, - { - "DisplayName": "Admin List", - "Description": "A list of Steam64 IDs for players that are in-game admins. [Find your Steam64 ID](https://steamid.io/lookup/)", - "FieldName": "AdminList", - "Category": "V Rising - Game Settings", - "InputType": "list", - "Special": "listfile:./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/adminlist.txt" - }, - { - "DisplayName": "Ban List", - "Description": "A list of Steam64 IDs for players that are banned [Find a Steam64 ID](https://steamid.io/lookup/)", - "FieldName": "BanList", - "Category": "V Rising - Game Settings", - "InputType": "list", - "Special": "listfile:./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/banlist.txt" - }, - { - "DisplayName": "Server FPS", - "Category": "V Rising - Host Settings", - "Description": "Maximum Server FPS when idle", - "Keywords": "server, fps", - "FieldName": "ServerFps", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ServerFps", - "DefaultValue": "30", - "IncludeInCommandLine": false, - "Suffix": "FPS" - }, - { - "DisplayName": "Save Name", - "Category": "V Rising - Host Settings", - "Description": "Name of save file/directory", - "Keywords": "save, name", - "FieldName": "SaveName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "SaveName", - "DefaultValue": "world1", - "IncludeInCommandLine": false - }, - { - "DisplayName": "Password", - "Category": "V Rising - Host Settings", - "Description": "Set a password or leave empty", - "Keywords": "server, password", - "FieldName": "Password", - "DefaultValue": "", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "Password", - "IncludeInCommandLine": false - }, - { - "DisplayName": "RCON Password", - "Category": "V Rising - Host Settings", - "Description": "See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords": "rcon,password", - "FieldName": "$RemoteAdminPassword", - "InputType": "hidden", - "IsFlagArgument": false, - "ParamFieldName": "Rcon.Password", - "IncludeInCommandLine": false, - "EnumValues": {} - }, - { - "DisplayName": "VAC Secure", - "Category": "V Rising - Host Settings", - "Description": "Choose if you want your server to use VAC or not.", - "Keywords": "server, secure", - "FieldName": "Secure", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "Secure", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "List on Steam", - "Category": "V Rising - Host Settings", - "Description": "Set to true to list on Steam's server list", - "Keywords": "list,steam,server,list", - "FieldName": "ListOnSteam", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "ListOnSteam", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "List on EOS", - "Category": "V Rising - Host Settings", - "Description": "Set to true to list on the in-game server list", - "Keywords": "list,EOS,game,server,list", - "FieldName": "ListOnEOS", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "ListOnEOS", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Auto Save Count", - "Category": "V Rising - Host Settings", - "Description": "Number of autosaves to keep", - "Keywords": "autosave, interval", - "FieldName": "AutoSaveCount", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "AutoSaveCount", - "IncludeInCommandLine": false, - "DefaultValue": "25", - "EnumValues": {}, - "Suffix": "saves" - }, - { - "DisplayName": "Auto Save Interval", - "Category": "V Rising - Host Settings", - "Description": "Interval in seconds between each auto save", - "Keywords": "AutoSave, interval", - "FieldName": "AutoSaveInterval", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "AutoSaveInterval", - "IncludeInCommandLine": false, - "DefaultValue": "120", - "EnumValues": {}, - "Suffix": "seconds" - }, - { - "DisplayName": "Game Mode Type", - "Category": "V Rising - Game Settings", - "Description": "Set Game Mode Type as PVE or PVP.", - "Keywords": "Game, Mode, Type", - "FieldName": "GameModeType", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "GameModeType", - "IncludeInCommandLine": false, - "DefaultValue": "PvP", - "EnumValues": { - "PvE": "PvE", - "PvP": "PvP" - } - }, - { - "DisplayName": "Game Settings Ruleset", - "Category": "V Rising - Host Settings", - "Description": "Change Game Mode Ruleset. Must Match Game Mode Type", - "Keywords": "Game, Ruleset", - "FieldName": "GameSettingsPreset", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "GameSettingsPreset", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "DuoPvP": "Duo PvP", - "HardcorePvP": "Full Loot PvP Rules", - "Level30PvP": "PvP Dawn - Level 30", - "Level50PvP": "PvP Noon - Level 50", - "Level70PvP": "PvP Dusk - Level 50", - "SoloPvP": "Solo PvP", - "StandardPvP": "Standard PvP Rules", - "StandardPvP_Easy": "Standard PvP Easy", - "StandardPvP_Hard": "Standard PvP Hard", - "Level30PvE": "PvE Dawn - Level 30", - "Level50PvE": "PvE Noon - Level 50", - "Level70PvE": "PvE Dusk - Level 50", - "StandardPvE": "Standard PvE Rules", - "StandardPvE_Easy": "Standard PvE Easy", - "StandardPvE_Hard": "Standard PvE Hard", - "": "Custom" - } - }, - { - "DisplayName": "Admin Only Debug Events", - "Category": "V Rising - Host Settings", - "Description": "Show debug events only to admins", - "Keywords": "admin, debug, events", - "FieldName": "AdminOnlyDebugEvents", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AdminOnlyDebugEvents", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Disable Debug Events", - "Category": "V Rising - Host Settings", - "Description": "Disable Debug Events from appearing at all", - "Keywords": "disable, debug, events", - "FieldName": "DisableDebugEvents", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "DisableDebugEvents", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable API", - "Category": "V Rising - Host Settings", - "Description": "Enables API access (Undocumented feature)", - "Keywords": "API,enabled", - "FieldName": "API.Enabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "API.Enabled", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Activate BepInEx (Windows Only)", - "Category": "SteamCMD and Updates", - "Description": "If set, BepInEx will be installed when the server is updated and enabled when the server is run, allowing the server to be modded. Mods must be installed in the BepInEx/plugins directory, which is created after BepInEx is first run. Windows only at this time", - "Keywords": "install,enable,bepinex,modded,mods", - "FieldName": "BepInExEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "General.enabled", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } - } -] \ No newline at end of file diff --git a/v-risingmetaconfig.json b/v-risingmetaconfig.json deleted file mode 100644 index b26bebc0b..000000000 --- a/v-risingmetaconfig.json +++ /dev/null @@ -1,33 +0,0 @@ -[ - { - "ConfigFile": "save-data/Settings/ServerHostSettings.json", - "AutoMap": true, - "ConfigType": "json" - }, - { - "ConfigFile": "save-data/Settings/ServerGameSettings.json", - "AutoMap": true, - "ConfigType": "json" - }, - { - "ConfigFile": "doorstop_config.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormat": "{0} = {1}", - "ConfigFormatRegex": "^(?<key>.+?) = (?<value>.*?)$" - }, - { - "ConfigFile": "doorstop_config.ini", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormat": "{0}={1}", - "ConfigFormatRegex": "^(?<key>[^ ]+?)=(?<value>[^ ]*?)$" - }, - { - "ConfigFile": "BepInEx/config/BepInEx.cfg", - "AutoMap": true, - "ConfigType": "ini", - "ConfigFormat": "{0} = {1}", - "ConfigFormatRegex": "^(?<key>.+?) = (?<value>.*?)$" - } -] \ No newline at end of file diff --git a/v-risingports.json b/v-risingports.json deleted file mode 100644 index f12c03ce2..000000000 --- a/v-risingports.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "Protocol": "UDP", - "Port": 9876, - "Offset": 0, - "Range": 1, - "Ref": "ApplicationPort1", - "Name": "Game Port", - "Description": "Server Game Port", - "ChildPorts": null - }, - { - "Protocol": "UDP", - "Port": 9877, - "Offset": 0, - "Range": 1, - "Ref": "ApplicationPort2", - "Name": "Steam Query Port", - "Description": "Steam Query Port", - "ChildPorts": null - }, - { - "Protocol": "TCP", - "Port": 25575, - "Offset": 0, - "Range": 1, - "Ref": "RemoteAdminPort", - "Name": "RCON Port", - "Description": "RCON Connection Port", - "ChildPorts": null - } - ] \ No newline at end of file diff --git a/v-risingupdates.json b/v-risingupdates.json deleted file mode 100644 index b5fea5b0e..000000000 --- a/v-risingupdates.json +++ /dev/null @@ -1,61 +0,0 @@ -[ - { - "UpdateStageName":"SteamCMD Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"SteamCMD", - "UpdateSourceData":"1829350", - "UpdateSourceArgs":"1604030", - "ForceDownloadPlatform":"Windows" - }, - { - "UpdateStageName":"Data Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}save-data/Settings" - }, - { - "UpdateStageName":"Game Config File Copy", - "UpdateSourcePlatform":"All", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}save-data/Settings/ServerHostSettings.json", - "UpdateSourceArgs":"{{$FullBaseDir}}VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Game Config File Copy", - "UpdateSourcePlatform":"All", - "UpdateSource":"CopyFilePath", - "UpdateSourceData":"{{$FullBaseDir}}save-data/Settings/ServerGameSettings.json", - "UpdateSourceArgs":"{{$FullBaseDir}}VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Download BepInEx From Thunderstore", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://v-rising.thunderstore.io/package/download/BepInEx/BepInExPack_V_Rising/1.668.5/", - "UpdateSourceArgs":"BepInEx-BepInExPack_V_Rising-1.668.5.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"BepInExEnabled", - "UpdateSourceConditionValue":"true" - }, - { - "UpdateStageName":"BepInEx Copy", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C xcopy /E /Y /I v-rising\\1829350\\BepInExPack_V_Rising\\* v-rising\\1829350\\ && rmdir /Q /S v-rising\\1829350\\BepInExPack_V_Rising", - "UpdateSourceConditionSetting":"BepInExEnabled", - "UpdateSourceConditionValue":"true" - }, - { - "UpdateStageName":"Initialise Wine", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" - } -] \ No newline at end of file diff --git a/valheim.kvp b/valheim.kvp deleted file mode 100644 index b98e77a80..000000000 --- a/valheim.kvp +++ /dev/null @@ -1,47 +0,0 @@ -Meta.DisplayName=Valheim -Meta.Description=Includes optional support for ValheimPlus and BepinEx -Meta.OS=Windows, Linux -Meta.Author=CubeCoders Limited -Meta.URL=https://www.valheimgame.com/ -Meta.DisplayImageSource=steam:892970 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort2} -Meta.ConfigManifest=valheimconfig.json -Meta.MetaConfigManifest=valheimmetaconfig.json -Meta.ConfigRoot=valheim.kvp -Meta.MinAMPVersion=2.2.2.0 -App.DisplayName=Valheim -App.RootDir=./Valheim/ -App.BaseDirectory=./Valheim/896660/ -App.ExecutableWin=896660\valheim_server.exe -App.ExecutableLinux=896660/valheim_server.x86_64 -App.WorkingDir=896660 -App.CommandLineArgs=-port {{$ApplicationPort1}} {{$FormattedArgs}} -savedir "Saves" {{crossplay}} -App.EnvironmentVariables={"DOORSTOP_ENABLE":"TRUE","DOORSTOP_INVOKE_DLL_PATH":"{{$FullBaseDir}}BepInEx/core/BepInEx.Preloader.dll","DOORSTOP_CORLIB_OVERRIDE_PATH":"{{$FullBaseDir}}unstripped_corlib","LD_LIBRARY_PATH":"{{$FullBaseDir}}doorstop_libs:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","LD_PRELOAD":"libdoorstop_x64.so","SteamAppId":"892970"} -App.CommandLineParameterFormat=-{0} "{1}" -App.ExitMethod=OS_CLOSE -App.HasWriteableConsole=False -App.HasReadableConsole=True -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"UDP","Port":2456,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":2457,"Ref":"ApplicationPort2","Name":"Steam Query Port","Description":"Port for Steam query traffic"}] -App.AdminPortRef=0 -App.PrimaryApplicationPortRef=ApplicationPort1 -App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 -App.UniversalSleepSteamQueryPortRef=ApplicationPort2 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.UpdateSources=@IncludeJSON[valheimupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceWindowsVersion=False -App.ApplicationReadyMode=RegexMatch -App.SupportsUniversalSleep=True -App.WakeupMode=Any -Console.FilterMatchRegex=^\d\d\/\d\d\/\d{4} \d\d:\d\d:\d\d: -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|\(Filename: .*? Line: \d+\)$|^Thread -> id: .+|Fallback handler could not load library.*$ -Console.AppReadyRegex=^Game server connected$ -Console.UserJoinRegex=^Got character ZDOID from (?<username>.+?) : (?<userid>-?\d+):\d+$ -Console.UserLeaveRegex=^Destroying abandoned non persistent zdo -?\d+:\d+ owner (?<userid>-?\d+)$ -Console.UserChatRegex= -Console.UserActions={} diff --git a/valheimconfig.json b/valheimconfig.json deleted file mode 100644 index 250934dde..000000000 --- a/valheimconfig.json +++ /dev/null @@ -1,4751 +0,0 @@ -[ - { - "DisplayName": "Server Name", - "Description": "Server name as it appears in the server list", - "FieldName": "ServerName", - "InputType": "text", - "Category": "Valheim - General Settings", - "ParamFieldName": "name", - "IncludeInCommandLine": true, - "DefaultValue": "My Valheim Server - Powered by AMP" - },{ - "DisplayName": "World Name", - "Description": "Name of the world .db file to load. Also used as the random seed used for terrain random generation", - "FieldName": "WorldName", - "Keywords": "world,seed,db", - "InputType": "text", - "Category": "Valheim - General Settings", - "ParamFieldName": "world", - "IncludeInCommandLine": true, - "DefaultValue": "PoweredByAMP" - },{ - "DisplayName": "Server Password", - "Description": "Password that clients must supply in order to connect. NOTE: Minimum password length is 5 characters & Password can't be in the server name. Default Password: 12345", - "FieldName": "ServerPassword", - "InputType": "password", - "Category": "Valheim - General Settings", - "ParamFieldName": "password", - "IncludeInCommandLine": true, - "DefaultValue": "12345" - },{ - "DisplayName": "Server is Public", - "Description": "Whether or not the server appears on the server list. Disable for a LAN-only server.", - "FieldName": "ServerPublic", - "Category": "Valheim - General Settings", - "ParamFieldName": "public", - "IncludeInCommandLine": true, - "InputType": "checkbox", - "DefaultValue": "1", - "EnumValues": { - "True": "1", - "False": "0" - } - },{ - "DisplayName": "Enable Crossplay", - "Description": "When enabled, the backend will be running Playfab instead of Steamworks. A \"Join code\" will appear when you join a Dedicated server supporting crossplay. Players can use this code to join the server. This Join code is regenerated whenever the server is restarted.", - "FieldName": "crossplay", - "Category": "Valheim - General Settings", - "ParamFieldName": "crossplay", - "IncludeInCommandLine": false, - "InputType": "checkbox", - "EnumValues": { - "True": "-crossplay", - "False": "" - }, - "DefaultValue": "" - },{ - "DisplayName": "Admin Players", - "Description": "A list of Steam64 IDs for players that are in-game admins. [Find your Steam64 ID](https://steamidfinder.com/)", - "FieldName": "AdminPlayers", - "Category": "Valheim - General Settings", - "InputType": "list", - "Special": "listfile:./Valheim/896660/Saves/adminlist.txt" - },{ - "DisplayName": "Permitted Players", - "Description": "A list of Steam64 IDs for players that are permitted in-game. [Find your Steam64 ID](https://steamidfinder.com/)", - "FieldName": "PermittedPlayers", - "Category": "Valheim - General Settings", - "InputType": "list", - "Special": "listfile:./Valheim/896660/Saves/permittedlist.txt" - },{ - "DisplayName": "Banned Players", - "Description": "A list of Steam64 IDs for players that are banned [Find a Steam64 ID](https://steamidfinder.com/)", - "FieldName": "BannedPlayers", - "Category": "Valheim - General Settings", - "InputType": "list", - "Special": "listfile:./Valheim/896660/Saves/bannedlist.txt" - },{ - "DisplayName":"Release Stream", - "Category":"SteamCMD and Updates", - "Description":"\"public\" is default. Choose a custom release on [SteamDB](https://steamdb.info/app/896660/depots/). NOTE: Update the server after changing release streams.", - "Keywords":"use,experimental,release,stream", - "FieldName":"Stream", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Stream", - "IncludeInCommandLine":false, - "DefaultValue":"public", - "Placeholder":"public", - "EnumValues":{} - },{ - "DisplayName":"Install BepInEx", - "Category":"SteamCMD and Updates", - "Description":"Installs BepInEx. Standalone - DO NOT use with the Install Valheim Plus option. You must also select the \"BepInEx Version\" in the next field. NOTE: Update the server after enabling this option.", - "Keywords":"Install,BepInEx", - "FieldName":"bepinex_install", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"bepinex_install", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"BepInEx Version", - "Category":"SteamCMD and Updates", - "Description":"The version of BepInEx to download. You can find the latest version on [Thunderstore.io](https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/). NOTE: Update the server after editing this option.", - "Keywords":"Install,BepInEx,version", - "FieldName":"bepinex_version", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"bepinex_version", - "IncludeInCommandLine":false, - "DefaultValue":"5.4.2105", - "Placeholder":"5.4.2105", - "EnumValues":{} - },{ - "DisplayName":"Install Valheim Plus", - "Category":"SteamCMD and Updates", - "Description":"Installs Valheim Plus. Includes BepInEx. NOTE: Update the server after enabling this option.", - "Keywords":"Install,Valheim,Plus", - "FieldName":"valheim_plus_install", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"valheim_plus", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False": "false", - "True": "true" - } - },{ - "DisplayName":"Please Read!", - "Category":"Valheim Plus - Basic Settings", - "Description":"The settings on this page are split up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", - "Keywords":"Read,Please,Info", - "FieldName":"PleaseReadBasicSettings", - "InputType":"hidden" - },{ - "DisplayName":"Bed Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Bed,Enable", - "FieldName":"Bed.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Bed.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enable Sleeping Without Setting Spawn", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enable sleeping without setting bed as spawn. When hovering over a bed you will be presented with a Hot-Key 'LShift+E'. This Hot-Key will allow for you to sleep on any bed without having to set a spawn-point.", - "Keywords":"Bed,Sleep,Without,Spawn", - "FieldName":"Bed.sleepWithoutSpawn", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Bed.sleepWithoutSpawn", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enable Sleeping On Unclaimed Beds Only", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enable sleeping on only unclaimed beds without setting bed as spawn. This option enabled only beds that are not claimed by other players can be slept on without setting spawn-point using 'Shift+E'", - "Keywords":"Bed,Unclaimed,Beds,Only", - "FieldName":"Bed.unclaimedBedsOnly", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Bed.unclaimedBedsOnly", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Beehive Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Beehive,Enable", - "FieldName":"Beehive.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Beehive.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Honey Production Speed", - "Category":"Valheim Plus - Basic Settings", - "Description":"Configure the speed at which the bees produce honey in seconds, 1200 seconds are 24 ingame hours.", - "Keywords":"Beehive,Honey,Production,Speed", - "FieldName":"Beehive.honeyProductionSpeed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Beehive.honeyProductionSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"1200", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Max Honey Production Per Beehive", - "Category":"Valheim Plus - Basic Settings", - "Description":"Configure the maximum amount of honey in beehives.", - "Keywords":"Beehive,Maximum,Honey,Beehive", - "FieldName":"Beehive.maximumHoneyPerBeehive", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Beehive.maximumHoneyPerBeehive", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{}, - "Suffix": "items" - },{ - "DisplayName":"Beehive Auto Deposit", - "Category":"Valheim Plus - Basic Settings", - "Description":"Instead of dropping the items, they will be placed inside the nearest chests.", - "Keywords":"Beehive,Auto,Deposit", - "FieldName":"Beehive.autoDeposit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Beehive.autoDeposit", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Beehive Auto Deposit Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"The range of the chest detection for the auto deposit feature. Default 10, Minimum 0, Maximum is 50", - "Keywords":"Beehive,Auto,Deposit,Range", - "FieldName":"Beehive.autoDepositRange", - "InputType":"number", - "MinValue":"0", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"Beehive.autoDepositRange", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Display Duration on Hover", - "Category":"Valheim Plus - Basic Settings", - "Description":"Display the minutes and seconds until the beehive produces honey on crosshair hover.", - "Keywords":"Beehive,Show,Duration", - "FieldName":"Beehive.showDuration", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Beehive.showDuration", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Building Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Building,Enable", - "FieldName":"Building.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Building.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Invalid Placement Message", - "Category":"Valheim Plus - Basic Settings", - "Description":"Remove some of the Invalid placement messages, most notably provides the ability to place objects into other objects", - "Keywords":"Building,Invalid,Placement,Restriction", - "FieldName":"Building.noInvalidPlacementRestriction", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Building.noInvalidPlacementRestriction", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Mystical Forces Prevent Placement Message", - "Category":"Valheim Plus - Basic Settings", - "Description":"Removes the \"Mystical forces\" building prevention and allows destruction of build objects in those areas with the hammer.", - "Keywords":"Building,Mystical,Forces,Prevent,Placement,Restriction", - "FieldName":"Building.noMysticalForcesPreventPlacementRestriction", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Building.noMysticalForcesPreventPlacementRestriction", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Weather Damage", - "Category":"Valheim Plus - Basic Settings", - "Description":"Removes the weather damage from rain and water erosion.", - "Keywords":"Building,Weather,Damage", - "FieldName":"Building.noWeatherDamage", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Building.noWeatherDamage", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Maximum Placement Distance", - "Category":"Valheim Plus - Basic Settings", - "Description":"The maximum range in meters that you can place build objects at inside the hammer build mode.", - "Keywords":"Building,Maximum,Placement,Distance", - "FieldName":"Building.maximumPlacementDistance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Building.maximumPlacementDistance", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Comfort Radius Per Piece", - "Category":"Valheim Plus - Basic Settings", - "Description":"The radius, in meters, in which a piece must be to contribute to the comfort level.", - "Keywords":"Building,Piece,Comfort,Radius", - "FieldName":"Building.pieceComfortRadius", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Building.pieceComfortRadius", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Always Drop Full Resources", - "Category":"Valheim Plus - Basic Settings", - "Description":"When destroying a building piece, it always drops full resources. We recommend to enable this if you use this section.", - "Keywords":"Building,Always,Drop,Resources", - "FieldName":"Building.alwaysDropResources", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Building.alwaysDropResources", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Always Drop \"Do Not Drop\" Marked Resources", - "Category":"Valheim Plus - Basic Settings", - "Description":"When destroying a building piece, it always drops pieces that the devs have marked as \"do not drop\". We recommend to enable this if you use this section.", - "Keywords":"Building,Always,Drop,Excluded,Resources", - "FieldName":"Building.alwaysDropExcludedResources", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Building.alwaysDropExcludedResources", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enable Area Repair", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this will cause repairing with the hammer to repair in a radius instead of a single piece.", - "Keywords":"Building,Enable,Area,Repair", - "FieldName":"Building.enableAreaRepair", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Building.enableAreaRepair", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Area Repair Radius", - "Category":"Valheim Plus - Basic Settings", - "Description":"Sets the area repair radius of enableAreaRepair. A value of 7.5 would mean your repair radius is 7.5 meters. Requires \"Enable Auto Repair\"", - "Keywords":"Building,Area,Repair,Radius", - "FieldName":"Building.areaRepairRadius", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Building.areaRepairRadius", - "IncludeInCommandLine":false, - "DefaultValue":"7.5", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Craft From Chest Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"This feature allows you to craft from nearby chests when in range. Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Craft,From,Chest,Enable", - "FieldName":"CraftFromChest.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"CraftFromChest.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable When Using Cooking Station", - "Category":"Valheim Plus - Basic Settings", - "Description":"Disable this feature when using a Cooking Station.", - "Keywords":"Craft,From,Chest,Disable,Cooking,Station", - "FieldName":"CraftFromChest.disableCookingStation", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"CraftFromChest.disableCookingStation", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Check From Workbench", - "Category":"Valheim Plus - Basic Settings", - "Description":"If in a workbench area, uses it as reference point when scanning for chests.", - "Keywords":"Craft,From,Chest,Check,From,Workbench", - "FieldName":"CraftFromChest.checkFromWorkbench", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"CraftFromChest.checkFromWorkbench", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Craft From Chest Ignore Private Area Check", - "Category":"Valheim Plus - Basic Settings", - "Description":"This option prevents crafting to pull items from warded areas if the player doesn't have access to it.", - "Keywords":"Craft,From,Chest,Ignore,Private,Area,Check", - "FieldName":"CraftFromChest.ignorePrivateAreaCheck", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"CraftFromChest.ignorePrivateAreaCheck", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Chest Detection Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"The range of the chest detection in meters.", - "Keywords":"Craft,From,Chest,Detection,Radius", - "FieldName":"CraftFromChest.range", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"CraftFromChest.range", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Chest Lookup Interval", - "Category":"Valheim Plus - Basic Settings", - "Description":"The interval in seconds that the feature scans your nearby chests.", - "Keywords":"Craft,From,Chest,Lookup,Interval", - "FieldName":"CraftFromChest.lookupInterval", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"CraftFromChest.lookupInterval", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Allow Crafting From Carts", - "Category":"Valheim Plus - Basic Settings", - "Description":"Allows the system to use and see contents of carts for crafting. Might also allow use of other modded containers or vehicles not accessible otherwise.", - "Keywords":"Craft,From,Chest,Allow,Crafting,From,Carts", - "FieldName":"CraftFromChest.allowCraftingFromCarts", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"CraftFromChest.allowCraftingFromCarts", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Allow Crafting From Ships", - "Category":"Valheim Plus - Basic Settings", - "Description":"Allows the system to use and see contents of ships for crafting. Might also allow use of other modded containers or vehicles not accessible otherwise.", - "Keywords":"Craft,From,Chest,Allow,Crafting,From,Ships", - "FieldName":"CraftFromChest.allowCraftingFromShips", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"CraftFromChest.allowCraftingFromShips", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Durability Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Modifiers are increases and reduction in percent declared by 50, or -50. Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Durability,Enable", - "FieldName":"Durability.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Durability.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Durability of Armor", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of armor. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Armor", - "FieldName":"Durability.armor", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.armor", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Durability of Axes", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of axes. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Axes", - "FieldName":"Durability.axes", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.axes", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Durability of Bows", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of bows. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Bows", - "FieldName":"Durability.bows", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.bows", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Durability of Cultivator", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of cultivator. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Cultivator", - "FieldName":"Durability.cultivator", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.cultivator", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Durability of Hammer", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of hammer. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Hammer", - "FieldName":"Durability.hammer", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.hammer", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Durability of Hoe", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of hoe. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Hoe", - "FieldName":"Durability.hoe", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.hoe", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Durability of pickaxes", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of pickaxes. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Pickaxes", - "FieldName":"Durability.pickaxes", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.pickaxes", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Durability of Shields", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of shields. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Shields", - "FieldName":"Durability.shields", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.shields", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Durability of Torch", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of torch. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Torch", - "FieldName":"Durability.torch", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.torch", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Durability of Weapons", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Durability of weapons. The value 50 will increase the durability from 100 to 150. The value -50 will reduce the durability from 100 to 50.", - "Keywords":"Durability,Weapons", - "FieldName":"Durability.weapons", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Durability.weapons", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Fermenter Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Fermenter,Enable", - "FieldName":"Fermenter.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Fermenter.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fermenter Duration", - "Category":"Valheim Plus - Basic Settings", - "Description":"Configure the time that the fermenter takes to produce its product, 2400 seconds are 48 ingame hours.", - "Keywords":"Fermenter,Duration", - "FieldName":"Fermenter.fermenterDuration", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Fermenter.fermenterDuration", - "IncludeInCommandLine":false, - "DefaultValue":"2400", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Fermenter Production Amount", - "Category":"Valheim Plus - Basic Settings", - "Description":"Configure the total amount of produced items from a fermenter.", - "Keywords":"Fermenter,Items,Produced", - "FieldName":"Fermenter.fermenterItemsProduced", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Fermenter.fermenterItemsProduced", - "IncludeInCommandLine":false, - "DefaultValue":"6", - "EnumValues":{}, - "Suffix": "items" - },{ - "DisplayName":"Display Fermenter Duration on Hover", - "Category":"Valheim Plus - Basic Settings", - "Description":"Display the minutes and seconds until the fermenter is done on crosshair hover.", - "Keywords":"Fermenter,Show,Duration", - "FieldName":"Fermenter.showDuration", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Fermenter.showDuration", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fermenter Auto Deposit", - "Category":"Valheim Plus - Basic Settings", - "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", - "Keywords":"Fermenter,Auto,Deposit", - "FieldName":"Fermenter.autoDeposit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Fermenter.autoDeposit", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fermenter Auto Fuel", - "Category":"Valheim Plus - Basic Settings", - "Description":"Automatically pull meads from nearby chests to be placed inside the Fermenter as soon as its empty.", - "Keywords":"Fermenter,Auto,Fuel", - "FieldName":"Fermenter.autoFuel", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Fermenter.autoFuel", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fermenter Ignore Private Area Check", - "Category":"Valheim Plus - Basic Settings", - "Description":"This option prevents the fermenter to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this be enabled", - "Keywords":"Fermenter,Ignore,Private,Area,Check", - "FieldName":"Fermenter.ignorePrivateAreaCheck", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Fermenter.ignorePrivateAreaCheck", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fermenter Chest Detection Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"The range of the chest detection for the auto deposit and auto fuel features. Maximum is 50", - "Keywords":"Fermenter,Auto,Range", - "FieldName":"Fermenter.autoRange", - "InputType":"number", - "MinValue":"0", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"Fermenter.autoRange", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Fire Source Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Fire,Source,Enable", - "FieldName":"FireSource.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"FireSource.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fire Source Torches", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this torch-type fire sources will stay at max fuel level once filled. Applies to: wood torches, iron torches, green torches, sconces and brazier.", - "Keywords":"Fire,Source,Torches", - "FieldName":"FireSource.torches", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"FireSource.torches", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fire Source Fires", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this non torch-type fire sources will stay at max fuel level once filled.", - "Keywords":"Fire,Source,Fires", - "FieldName":"FireSource.fires", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"FireSource.fires", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fire Source Auto Fuel", - "Category":"Valheim Plus - Basic Settings", - "Description":"Automatically pull wood from nearby chests to be placed inside the Fire as soon as its empty.", - "Keywords":"Fire,Source,Auto,Fuel", - "FieldName":"FireSource.autoFuel", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"FireSource.autoFuel", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fire Source Ignore Private Area Check", - "Category":"Valheim Plus - Basic Settings", - "Description":"This option prevents the Fire to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this to be enabled", - "Keywords":"Fire,Source,Ignore,Private,Area,Check", - "FieldName":"FireSource.ignorePrivateAreaCheck", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"FireSource.ignorePrivateAreaCheck", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fire Source Chest Detection Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"The range of the chest detection for the auto fuel features. Default 10, Minimum 0, Maximum is 50", - "Keywords":"FireSource,Auto,Range", - "FieldName":"FireSource.autoRange", - "InputType":"number", - "MinValue":"0", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"FireSource.autoRange", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Furnace Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Furnace,Enable", - "FieldName":"Furnace.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Furnace Maximum Ore", - "Category":"Valheim Plus - Basic Settings", - "Description":"Maximum amount of ore in a Furnace.", - "Keywords":"Furnace,Maximum,Ore", - "FieldName":"Furnace.maximumOre", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.maximumOre", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "items" - },{ - "DisplayName":"Furnace Maximum Coal", - "Category":"Valheim Plus - Basic Settings", - "Description":"Maximum amount of coal in a Furnace.", - "Keywords":"Furnace,Maximum,Coal", - "FieldName":"Furnace.maximumCoal", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.maximumCoal", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "EnumValues":{}, - "Suffix": "items" - },{ - "DisplayName":"Furnace Coal Per Product", - "Category":"Valheim Plus - Basic Settings", - "Description":"The total amount of coal used to produce a single smelted ingot.", - "Keywords":"Furnace,Coal,Used,Per,Product", - "FieldName":"Furnace.coalUsedPerProduct", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.coalUsedPerProduct", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{}, - "Suffix": "coal" - },{ - "DisplayName":"Furnace Production Speed", - "Category":"Valheim Plus - Basic Settings", - "Description":"The time it takes for the Furnace to produce a single ingot in seconds.", - "Keywords":"Furnace,Production,Speed", - "FieldName":"Furnace.productionSpeed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.productionSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Furnace Auto Deposit", - "Category":"Valheim Plus - Basic Settings", - "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", - "Keywords":"Furnace,Auto,Deposit", - "FieldName":"Furnace.autoDeposit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.autoDeposit", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Furnace Auto Fuel", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Furnace will pull coal and raw materials from nearby chests to be automatically added to it when its empty.", - "Keywords":"Furnace,Auto,Fuel", - "FieldName":"Furnace.autoFuel", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.autoFuel", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Furnace Ignore Private Area Check", - "Category":"Valheim Plus - Basic Settings", - "Description":"This option prevents the Furnace to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this to be enabled", - "Keywords":"Furnace,Ignore,Private,Area,Check", - "FieldName":"Furnace.ignorePrivateAreaCheck", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.ignorePrivateAreaCheck", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Furnace Detection Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"The range of the chest detection for the auto deposit and auto fuel features. Default 10, Minimum 0, Maximum is 50", - "Keywords":"Furnace,Auto,Range", - "FieldName":"Furnace.autoRange", - "InputType":"number", - "MinValue":"0", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.autoRange", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Furnace Allow All Ores", - "Category":"Valheim Plus - Basic Settings", - "Description":"This option allows all ores inside the Furnace.", - "Keywords":"Furnace,Allow,All,Ores", - "FieldName":"Furnace.allowAllOres", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Furnace.allowAllOres", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Gathering Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Modifiers are increases and reduction in percent declared by 50, or -50. Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Gathering,Enable", - "FieldName":"Gathering.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Drop Chance", - "Category":"Valheim Plus - Basic Settings", - "Description":"Modify the chance to drop resources from resource nodes affected by this category. This only works on resource nodes that do not have guaranteed drops. As example by default scrap piles in dungeons have a 20% chance to drop a item, if you set this option to 200, you will then have a 60% chance to drop iron.", - "Keywords":"Gathering,Drop,Chance", - "FieldName":"Gathering.dropChance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.dropChance", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Chitin", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for chitin. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Chitin", - "FieldName":"Gathering.chitin", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.chitin", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Copper Ore", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for copper ore. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Copper,Ore", - "FieldName":"Gathering.copperOre", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.copperOre", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Core Wood", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for core wood. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Core,Wood", - "FieldName":"Gathering.coreWood", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.coreWood", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Elder Bark", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for elder bark. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Elder,Bark", - "FieldName":"Gathering.elderBark", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.elderBark", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Fine Wood", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for fine wood. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Fine,Wood", - "FieldName":"Gathering.fineWood", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.fineWood", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Iron Scrap", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for iron scrap. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Iron Scrap", - "FieldName":"Gathering.ironScrap", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.ironScrap", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Silver Ore", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for silver ore. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Silver,Ore", - "FieldName":"Gathering.silverOre", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.silverOre", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Stone", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for stone. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Stone", - "FieldName":"Gathering.stone", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.stone", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Tin Ore", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for tin ore. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Tin,Ore", - "FieldName":"Gathering.tinOre", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.tinOre", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Drop Chance Wood", - "Category":"Valheim Plus - Basic Settings", - "Description":"Drop chance for wood. The value 50 will increase the dropped wood from trees from 10 to 15. The value -50 will reduce the amount of dropped wood from 10 to 5.", - "Keywords":"Gathering,Drop,Chance,Wood", - "FieldName":"Gathering.wood", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Gathering.wood", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Inventory Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Inventory,Enable", - "FieldName":"Inventory.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Player Inventory Rows", - "Category":"Valheim Plus - Basic Settings", - "Description":"Player inventory number of rows (inventory is resized up to 6 rows, higher values will add a scrollbar). Default 4, Minimum 4, Maximum 20", - "Keywords":"Inventory,Player,Inventory,Rows", - "FieldName":"Inventory.playerInventoryRows", - "InputType":"number", - "MinValue":"4", - "MaxValue":"20", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.playerInventoryRows", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{}, - "Suffix": "rows" - },{ - "DisplayName":"Wood Chest Columns", - "Category":"Valheim Plus - Basic Settings", - "Description":"Wood chest number of columns. Default 5, Minimum 3, Maximum 8", - "Keywords":"Inventory,Wood,Chest,Columns", - "FieldName":"Inventory.woodChestColumns", - "InputType":"number", - "MinValue":"3", - "MaxValue":"8", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.woodChestColumns", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "EnumValues":{}, - "Suffix": "columns" - },{ - "DisplayName":"Wood Chest Rows", - "Category":"Valheim Plus - Basic Settings", - "Description":"Wood chest number of rows, more than 4 rows will add a scrollbar. Default 2, Minimum 2, Maximum 10", - "Keywords":"Inventory,Wood,Chest,Rows", - "FieldName":"Inventory.woodChestRows", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.woodChestRows", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{}, - "Suffix": "rows" - },{ - "DisplayName":"Personal Chest Columns", - "Category":"Valheim Plus - Basic Settings", - "Description":"Personal chest number of columns. Default 3, Minimum 3, Maximum 8", - "Keywords":"Inventory,Personal,Chest,Columns", - "FieldName":"Inventory.personalChestColumns", - "InputType":"number", - "MinValue":"3", - "MaxValue":"8", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.personalChestColumns", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{}, - "Suffix": "columns" - },{ - "DisplayName":"Personal Chest Rows", - "Category":"Valheim Plus - Basic Settings", - "Description":"Personal chest number of rows. Default 2, Minimum 2, Maximum 20", - "Keywords":"Inventory,Personal,Chest,Rows", - "FieldName":"Inventory.personalChestRows", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.personalChestRows", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{}, - "Suffix": "rows" - },{ - "DisplayName":"Iron Chest Columns", - "Category":"Valheim Plus - Basic Settings", - "Description":"Iron chest number of columns. Default 6, Minimum 3, Maximum 8", - "Keywords":"Inventory,Iron,Chest,Columns", - "FieldName":"Inventory.ironChestColumns", - "InputType":"number", - "MinValue":"3", - "MaxValue":"8", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.ironChestColumns", - "IncludeInCommandLine":false, - "DefaultValue":"6", - "EnumValues":{}, - "Suffix": "columns" - },{ - "DisplayName":"Iron Chest Rows", - "Category":"Valheim Plus - Basic Settings", - "Description":"Iron chest number of rows,more than 4 rows will add a scrollbar. Default 4, Minimum 3, Maximum 20", - "Keywords":"Inventory,Iron,Chest,Rows", - "FieldName":"Inventory.ironChestRows", - "InputType":"number", - "MinValue":"3", - "MaxValue":"20", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.ironChestRows", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{}, - "Suffix": "rows" - },{ - "DisplayName":"Blackmetal Chest Columns", - "Category":"Valheim Plus - Basic Settings", - "Description":"Blackmetal chests already have 8 columns by default but now you can lower it. Default 8, Minimum 3, Maximum 8", - "Keywords":"Inventory,Blackmetal,Chest,Columns", - "FieldName":"Inventory.blackmetalChestColumns", - "InputType":"number", - "MinValue":"3", - "MaxValue":"8", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.blackmetalChestColumns", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{}, - "Suffix": "columns" - },{ - "DisplayName":"Blackmetal Chest Rows", - "Category":"Valheim Plus - Basic Settings", - "Description":"Blackmetal number of rows, more than 4 rows will add a scrollbar. Default 4, Minimum 3, Maximum 20", - "Keywords":"Inventory,Blackmetal,Chest,Rows", - "FieldName":"Inventory.blackmetalChestRows", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.blackmetalChestRows", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{}, - "Suffix": "rows" - },{ - "DisplayName":"Cart Inventory Columns", - "Category":"Valheim Plus - Basic Settings", - "Description":"Cart inventory number of columns. Default 8, Minimum 6, Maximum 8", - "Keywords":"Inventory,Cart,Inventory,Columns", - "FieldName":"Inventory.cartInventoryColumns", - "InputType":"number", - "MinValue":"6", - "MaxValue":"8", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.cartInventoryColumns", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{}, - "Suffix": "columns" - },{ - "DisplayName":"Cart Inventory Rows", - "Category":"Valheim Plus - Basic Settings", - "Description":"Cart inventory number of rows, more than 4 rows will add a scrollbar. Default 3, Minimum 3, Maximum 30", - "Keywords":"Inventory,Cart,Inventory,Rows", - "FieldName":"Inventory.cartInventoryRows", - "InputType":"number", - "MinValue":"3", - "MaxValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.cartInventoryRows", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{}, - "Suffix": "rows" - },{ - "DisplayName":"Karve Inventory Columns", - "Category":"Valheim Plus - Basic Settings", - "Description":"Karve inventory number of columns. Default 2, Minimum 2, Maximum 8", - "Keywords":"Inventory,Karve,Inventory,Columns", - "FieldName":"Inventory.karveInventoryColumns", - "InputType":"number", - "MinValue":"2", - "MaxValue":"8", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.karveInventoryColumns", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{}, - "Suffix": "columns" - },{ - "DisplayName":"Karve Inventory Rows", - "Category":"Valheim Plus - Basic Settings", - "Description":"Karve inventory number of rows, more than 4 rows will add a scrollbar. Default 2, Minimum 2, Maximum 30", - "Keywords":"Inventory,Karve,Inventory,Rows", - "FieldName":"Inventory.karveInventoryRows", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.karveInventoryRows", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{}, - "Suffix": "rows" - },{ - "DisplayName":"Longboat Inventory Columns", - "Category":"Valheim Plus - Basic Settings", - "Description":"Longboat inventory number of columns. Default 8, Minimum 6, Maximum 8", - "Keywords":"Inventory,Longboat,Inventory,Columns", - "FieldName":"Inventory.longboatInventoryColumns", - "InputType":"number", - "MinValue":"6", - "MaxValue":"8", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.longboatInventoryColumns", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "EnumValues":{}, - "Suffix": "columns" - },{ - "DisplayName":"Longboat Inventory Rows", - "Category":"Valheim Plus - Basic Settings", - "Description":"Longboat inventory number of rows, more than 4 rows will add a scrollbar. Default 3, Minimum 3, Maximum 30", - "Keywords":"Inventory,Longboat,Inventory,Rows", - "FieldName":"Inventory.longboatInventoryRows", - "InputType":"number", - "MinValue":"3", - "MaxValue":"30", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.longboatInventoryRows", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "EnumValues":{}, - "Suffix": "rows" - },{ - "DisplayName":"Inventory Fill Top To Bottom", - "Category":"Valheim Plus - Basic Settings", - "Description":"By default tools and weapons go into inventories top to bottom and other materials bottom to top. Enable to make all items go into the inventory top to bottom.", - "Keywords":"Inventory,Fill,Top,Bottom", - "FieldName":"Inventory.inventoryFillTopToBottom", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.inventoryFillTopToBottom", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Merge With Existing Stacks", - "Category":"Valheim Plus - Basic Settings", - "Description":"By default items go to their original position when picking up your tombstone. Enable to make all stacks try to merge with an existing stack first.", - "Keywords":"Inventory,Merge,Existing,Stacks", - "FieldName":"Inventory.mergeWithExistingStacks", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Inventory.mergeWithExistingStacks", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Items Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Items,Enable", - "FieldName":"Items.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Items.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"No Teleport Prevention", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enables you to teleport with ores and other usually teleport restricted objects", - "Keywords":"Items,Teleport,Prevention", - "FieldName":"Items.noTeleportPrevention", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Items.noTeleportPrevention", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Base Item Weight Reduction", - "Category":"Valheim Plus - Basic Settings", - "Description":"Increase or reduce item weight by a modifier in percent. The value -50 will reduce item weight of every object by 50%, 50 will increase the weight of every item by 50%.", - "Keywords":"Items,Base,Item,Weight,Reduction", - "FieldName":"Items.baseItemWeightReduction", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Items.baseItemWeightReduction", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Base Item Stack Multiplier", - "Category":"Valheim Plus - Basic Settings", - "Description":"Increase or reduce the size of all maximum item stacks by a modifier in percent. The value 50 would set a usual item stack of 100 to be 150. The value -50 would set a usual item stack of 100 to be 50.", - "Keywords":"Items,Item,Stack,Multiplier", - "FieldName":"Items.itemStackMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Items.itemStackMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Dropped Item Duration Before Despawn", - "Category":"Valheim Plus - Basic Settings", - "Description":"Set duration that dropped items stay on the ground before they are despawning. Game default is 3600 seconds.", - "Keywords":"Items,Dropped,Item,Ground,Duration,Seconds", - "FieldName":"Items.droppedItemOnGroundDurationInSeconds", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Items.droppedItemOnGroundDurationInSeconds", - "IncludeInCommandLine":false, - "DefaultValue":"3600", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Items Float In Water", - "Category":"Valheim Plus - Basic Settings", - "Description":"Items dropped always float in water.", - "Keywords":"Items,Items,Float,Water", - "FieldName":"Items.itemsFloatInWater", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Items.itemsFloatInWater", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Kiln Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Kiln,Enable", - "FieldName":"Kiln.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Maximum Wood In Kiln", - "Category":"Valheim Plus - Basic Settings", - "Description":"Maximum amount of wood in a Kiln.", - "Keywords":"Kiln,Maximum,Wood", - "FieldName":"Kiln.maximumWood", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.maximumWood", - "IncludeInCommandLine":false, - "DefaultValue":"25", - "EnumValues":{}, - "Suffix": "wood" - },{ - "DisplayName":"Kiln Disable Fine Wood Processing", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling to disable Fine Wood processing.", - "Keywords":"Kiln,Process,FineWood", - "FieldName":"Kiln.dontProcessFineWood", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.dontProcessFineWood", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Kiln Disable Round Log Processing", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling to disabled Round Log processing.", - "Keywords":"Kiln,Process,Round,Log", - "FieldName":"Kiln.dontProcessRoundLog", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.dontProcessRoundLog", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Kiln Production Speed", - "Category":"Valheim Plus - Basic Settings", - "Description":"The time it takes for the Kiln to produce a single piece of coal in seconds.", - "Keywords":"Kiln,Production,Speed", - "FieldName":"Kiln.productionSpeed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.productionSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Kiln Auto Deposit", - "Category":"Valheim Plus - Basic Settings", - "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", - "Keywords":"Kiln,Auto,Deposit", - "FieldName":"Kiln.autoDeposit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.autoDeposit", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Kiln Auto Fuel", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Kiln will pull wood from nearby chests to be automatically added to it when its empty. his option respects the Process Fine Wood and Process Round Log settings.", - "Keywords":"Kiln,Auto,Fuel", - "FieldName":"Kiln.autoFuel", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.autoFuel", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Kiln Stop Auto Fuel If X Coal In Chests", - "Category":"Valheim Plus - Basic Settings", - "Description":"Stops Auto Fuel looking for fuel when there is at least this quantity of Coal in nearby chests", - "Keywords":"Kiln,Stop,Auto,Fuel,Threshold", - "FieldName":"Kiln.stopAutoFuelThreshold", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.stopAutoFuelThreshold", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "coal" - },{ - "DisplayName":"Kiln Ignore Private Area Check", - "Category":"Valheim Plus - Basic Settings", - "Description":"This option prevents the Kiln to pull items from warded areas if it isn't placed inside of it. or convenience, we recommend this to be enabled.", - "Keywords":"Kiln,Ignore,Private,Area,Check", - "FieldName":"Kiln.ignorePrivateAreaCheck", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.ignorePrivateAreaCheck", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Kiln Chest Detection Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"The range of the chest detection for the auto deposit and fuel features. Default 10, Minimum 0, Maximum is 50", - "Keywords":"Kiln,Auto,Range", - "FieldName":"Kiln.autoRange", - "InputType":"number", - "MinValue":"0", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"Kiln.autoRange", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Pickable Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section. Each value below (in percent) will modify the yield when \"picking\" items (default key E) such as berries and flowers. A value of 100 will double drops, 200 will triple and so on.", - "Keywords":"Pickable,Enable", - "FieldName":"Pickable.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Pickable.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Edibles", - "Category":"Valheim Plus - Basic Settings", - "Description":"All berries, all mushrooms, onions and carrots. A value of 100 will double drops, 200 will triple and so on.", - "Keywords":"Pickable,Edibles", - "FieldName":"Pickable.edibles", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Pickable.edibles", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Flowers And Ingredients", - "Category":"Valheim Plus - Basic Settings", - "Description":"Barley, Flax, Dandelion, Thistle, Carrot Seeds, Turnip Seeds, Turnip, Onion Seeds. A value of 100 will double drops, 200 will triple and so on.", - "Keywords":"Pickable,Flowers,Ingredients", - "FieldName":"Pickable.flowersAndIngredients", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Pickable.flowersAndIngredients", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Materials", - "Category":"Valheim Plus - Basic Settings", - "Description":"Bone Fragments, Flint, Stone, Wood (branches on the ground).", - "Keywords":"Pickable,Materials", - "FieldName":"Pickable.materials", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Pickable.materials", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Valuables", - "Category":"Valheim Plus - Basic Settings", - "Description":"Amber, Amber Pearl, Coins, Ruby.", - "Keywords":"Pickable,Valuables", - "FieldName":"Pickable.valuables", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Pickable.valuables", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Surtling Cores", - "Category":"Valheim Plus - Basic Settings", - "Description":"Surtling Core only.", - "Keywords":"Pickable,Surtling,Cores", - "FieldName":"Pickable.surtlingCores", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Pickable.surtlingCores", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Smelter Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Smelter,Enable", - "FieldName":"Smelter.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Smelter.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Smelter Maximum Ore", - "Category":"Valheim Plus - Basic Settings", - "Description":"Maximum amount of ore in a Smelter.", - "Keywords":"Smelter,Maximum,Ore", - "FieldName":"Smelter.maximumOre", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Smelter.maximumOre", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "ore" - },{ - "DisplayName":"Smelter Maximum Coal", - "Category":"Valheim Plus - Basic Settings", - "Description":"Maximum amount of coal in a Smelter.", - "Keywords":"Smelter,Maximum,Coal", - "FieldName":"Smelter.maximumCoal", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Smelter.maximumCoal", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "EnumValues":{}, - "Suffix": "coal" - },{ - "DisplayName":"Smelter Coal Used Per Product", - "Category":"Valheim Plus - Basic Settings", - "Description":"Maximum amount of coal in a Smelter.", - "Keywords":"Smelter,Coal,Used,Product", - "FieldName":"Smelter.coalUsedPerProduct", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Smelter.coalUsedPerProduct", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{}, - "Suffix": "coal" - },{ - "DisplayName":"Smelter Production Speed", - "Category":"Valheim Plus - Basic Settings", - "Description":"The time it takes for the Smelter to produce a single ingot in seconds.", - "Keywords":"Smelter,Production,Speed", - "FieldName":"Smelter.productionSpeed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Smelter.productionSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Smelter Auto Deposit", - "Category":"Valheim Plus - Basic Settings", - "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", - "Keywords":"Smelter,Auto,Deposit", - "FieldName":"Smelter.autoDeposit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Smelter.autoDeposit", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Smelter Auto Fuel", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Smelter will pull coal and raw materials from nearby chests to be automatically added to it when its empty.", - "Keywords":"Smelter,Auto,Fuel", - "FieldName":"Smelter.autoFuel", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Smelter.autoFuel", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Smelter Ignore Private Area Check", - "Category":"Valheim Plus - Basic Settings", - "Description":"This option prevents the Smelter to pull items from warded areas if it isn't placed inside of it. or convenience, we recommend this to be enabled", - "Keywords":"Smelter,Ignore,Private,Area,Check", - "FieldName":"Smelter.ignorePrivateAreaCheck", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Smelter.ignorePrivateAreaCheck", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Smelter Chest Detection Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"The range of the chest detection for the auto deposit and auto fuel features. Default 10, Minimum 0, Maximum is 50", - "Keywords":"Smelter,Auto,Range", - "FieldName":"Smelter.autoRange", - "InputType":"number", - "MinValue":"0", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"Smelter.autoRange", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Spinning Wheel Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Spinning,Wheel,Enable", - "FieldName":"SpinningWheel.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SpinningWheel.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Spinning Wheel Maximum Flax", - "Category":"Valheim Plus - Basic Settings", - "Description":"Maximum amount of flax in a spinning wheel.", - "Keywords":"Spinning,Wheel,Maximum,Flax", - "FieldName":"SpinningWheel.maximumFlax", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SpinningWheel.maximumFlax", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "EnumValues":{}, - "Suffix": "flax" - },{ - "DisplayName":"Spinning Wheel Production Speed", - "Category":"Valheim Plus - Basic Settings", - "Description":"The time it takes for the spinning wheel to produce linen thread in seconds.", - "Keywords":"Spinning,Wheel,Production,Speed", - "FieldName":"SpinningWheel.productionSpeed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"SpinningWheel.productionSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Spinning Wheel Auto Deposit", - "Category":"Valheim Plus - Basic Settings", - "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", - "Keywords":"Spinning,Wheel,Auto,Deposit", - "FieldName":"SpinningWheel.autoDeposit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SpinningWheel.autoDeposit", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Spinning Wheel Auto Fuel", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Spinning Wheel will pull flax from nearby chests to be automatically added to it when its empty.", - "Keywords":"Spinning,Wheel,Auto,Fuel", - "FieldName":"SpinningWheel.autoFuel", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SpinningWheel.autoFuel", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Spinning Wheel Ignore Private Area Check", - "Category":"Valheim Plus - Basic Settings", - "Description":"his option prevents the Spinning Wheel to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this to be enabled.", - "Keywords":"Spinning,Wheel,Ignore,Private,Area,Check", - "FieldName":"SpinningWheel.ignorePrivateAreaCheck", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"SpinningWheel.ignorePrivateAreaCheck", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Spinning Wheel Chest Detection Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"The range of the chest detection for the auto deposit and auto fuel features. Default 10, Minimum 0, Maximum is 50", - "Keywords":"Spinning,Wheel,Auto,Range", - "FieldName":"SpinningWheel.autoRange", - "InputType":"number", - "MinValue":"0", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"SpinningWheel.autoRange", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Tameable Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Tameable,Enable", - "FieldName":"Tameable.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Tameable.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Mortality", - "Category":"Valheim Plus - Basic Settings", - "Description":"Modify what happens when a tamed creature is attacked. Normal - default, Essential - Deadly attacks stun instead of kill, tamed creatures can still die rarely, Immortal - Can't Die.", - "Keywords":"Tameable,Mortality", - "FieldName":"Tameable.mortality", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Tameable.mortality", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Normal", - "1":"Essential", - "2":"Immortal" - } - },{ - "DisplayName":"Tameable Owner Damage Override", - "Category":"Valheim Plus - Basic Settings", - "Description":"This will circumvent the mortality setting, so even if tamed creatures are immortal, players can still kill them with a butcher knife. For this option to work you need to have mortality to set to either essential or immortal.", - "Keywords":"Tameable,Owner,Damage,Override", - "FieldName":"Tameable.ownerDamageOverride", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Tameable.ownerDamageOverride", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Stun Recovery Time", - "Category":"Valheim Plus - Basic Settings", - "Description":"How long it takes for a tamed creature to recover if mortality is set to essential and they are stunned.", - "Keywords":"Tameable,Stun,Recovery,Time", - "FieldName":"Tameable.stunRecoveryTime", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Tameable.stunRecoveryTime", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Show Stunned On Hover Text", - "Category":"Valheim Plus - Basic Settings", - "Description":"If the tamed creature is recovering from a stun, then add Stunned to the hover text on mouse over.", - "Keywords":"Tameable,Stun,Information", - "FieldName":"Tameable.stunInformation", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Tameable.stunInformation", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Wagon Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Wagon,Enable", - "FieldName":"Wagon.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Wagon.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Wagon Base Mass", - "Category":"Valheim Plus - Basic Settings", - "Description":"Change the base wagon physical mass of the wagon object. This is essentially the base weight of a cart.", - "Keywords":"Wagon,Base,Mass", - "FieldName":"Wagon.wagonBaseMass", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Wagon.wagonBaseMass", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "EnumValues":{}, - "Suffix": "mass" - },{ - "DisplayName":"Wagon Extra Mass From Items", - "Category":"Valheim Plus - Basic Settings", - "Description":"This value changes the physical weight of wagons by +/- more/less from item weight inside. The value 50 would increase the weight by 50% more. The value -100 would remove the entire extra weight.", - "Keywords":"Wagon,Extra,Mass,From,Items", - "FieldName":"Wagon.wagonExtraMassFromItems", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Wagon.wagonExtraMassFromItems", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Windmill Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Windmill,Enable", - "FieldName":"Windmill.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Windmill.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Windmill Maximum Barley", - "Category":"Valheim Plus - Basic Settings", - "Description":"Maximum amount of barley in a windmill.", - "Keywords":"Windmill,Maximum,Barley", - "FieldName":"Windmill.maximumBarley", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Windmill.maximumBarley", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "EnumValues":{}, - "Suffix": "barley" - },{ - "DisplayName":"Windmill Production Speed", - "Category":"Valheim Plus - Basic Settings", - "Description":"The time it takes for the windmill to produce a single ingot in seconds.", - "Keywords":"Windmill,Production,Speed", - "FieldName":"Windmill.productionSpeed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Windmill.productionSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Windmill Ignore Wind Intensity", - "Category":"Valheim Plus - Basic Settings", - "Description":"Ignore wind intensity so it always takes the production speed value to process one barley.", - "Keywords":"Windmill,Ignore,Wind,Intensity", - "FieldName":"Windmill.ignoreWindIntensity", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Windmill.ignoreWindIntensity", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Windmill Auto Deposit", - "Category":"Valheim Plus - Basic Settings", - "Description":"Instead of dropping the items, they will be placed inside the nearest nearby chests.", - "Keywords":"Windmill,Auto,Deposit", - "FieldName":"Windmill.autoDeposit", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Windmill.autoDeposit", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Windmill Auto Fuel", - "Category":"Valheim Plus - Basic Settings", - "Description":"The Windmill will pull barley from nearby chests to be automatically added to it when its empty.", - "Keywords":"Windmill,Auto,Fuel", - "FieldName":"Windmill.autoFuel", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Windmill.autoFuel", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Windmill Ignore Private Area Check", - "Category":"Valheim Plus - Basic Settings", - "Description":"This option prevents the Windmill to pull items from warded areas if it isn't placed inside of it. For convenience, we recommend this to be enabled", - "Keywords":"Windmill,Ignore,Private,Area,Check", - "FieldName":"Windmill.ignorePrivateAreaCheck", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Windmill.ignorePrivateAreaCheck", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Windmill Chest Detection Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"The range of the chest detection for the auto deposit and auto fuel features. Default 10, Minimum 0, Maximum is 50 meters", - "Keywords":"Windmill,Auto,Range", - "FieldName":"Windmill.autoRange", - "InputType":"number", - "MinValue":"0", - "MaxValue":"50", - "IsFlagArgument":false, - "ParamFieldName":"Windmill.autoRange", - "IncludeInCommandLine":false, - "DefaultValue":"10", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Workbench Settings Enable", - "Category":"Valheim Plus - Basic Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Workbench,Enable", - "FieldName":"Workbench.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Workbench.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Workbench Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"Set the workbench radius in meters.", - "Keywords":"Workbench,Range", - "FieldName":"Workbench.workbenchRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Workbench.workbenchRange", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Workbench Enemy Spawn Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"Set the enemy spawn radius around workbenches in meters. This value equals Workbench Range if its set to 0.", - "Keywords":"Workbench,Enemy,Spawn,Range", - "FieldName":"Workbench.workbenchEnemySpawnRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Workbench.workbenchEnemySpawnRange", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Workbench Attachment Range", - "Category":"Valheim Plus - Basic Settings", - "Description":"Sets the workbench attachment radius. e.g. anvil", - "Keywords":"Workbench,Attachment,Range", - "FieldName":"Workbench.workbenchAttachmentRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Workbench.workbenchAttachmentRange", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Workbench Disable Roof Check", - "Category":"Valheim Plus - Basic Settings", - "Description":"Disables the roof and exposure requirement to use a workbench.", - "Keywords":"Workbench,Disable,Roof,Check", - "FieldName":"Workbench.disableRoofCheck", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Workbench.disableRoofCheck", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Please Read!", - "Category":"Valheim Plus - Player Settings", - "Description":"The settings on this page are split up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", - "Keywords":"Read,Please,Info", - "FieldName":"PleaseReadPlayerSettings", - "InputType":"hidden" - },{ - "Category":"Valheim Plus - Player Settings", - "DisplayName":"Armor Enable", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Armor,Enable", - "FieldName":"Armor.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Armor.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Helmet Armor Modified Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The value 50 will increase the armor by 7. The value -50 will reduce the armor 7.", - "Keywords":"Armor,Values,Helmets", - "FieldName":"Armor.helmets", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Armor.helmets", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Chests Armor Modified Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The value 50 will increase the armor by 7. The value -50 will reduce the armor 7.", - "Keywords":"Armor,Values,Chests", - "FieldName":"Armor.chests", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Armor.chests", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Legs Armor Modified Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The value 50 will increase the armor by 7. The value -50 will reduce the armor 7.", - "Keywords":"Armor,Values,Legs", - "FieldName":"Armor.legs", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Armor.legs", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Capes Armor Modified Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The value 50 will increase the armor by 7. The value -50 will reduce the armor 7.", - "Keywords":"Armor,Values,Capes", - "FieldName":"Armor.capes", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Armor.capes", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Experience Enable", - "Category":"Valheim Plus - Player Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Experience,Enable", - "FieldName":"Experience.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Experience.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Axes Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of axes.", - "Keywords":"Experience,Values,Axes", - "FieldName":"Experience.axes", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.axes", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Blocking Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of blocking.", - "Keywords":"Experience,Values,Blocking", - "FieldName":"Experience.blocking", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.blocking", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Bows Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of bows.", - "Keywords":"Experience,Values,Bows", - "FieldName":"Experience.bows", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.bows", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Clubs Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of clubs.", - "Keywords":"Experience,Values,Clubs", - "FieldName":"Experience.clubs", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.clubs", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Fire Magic Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of fire magic.", - "Keywords":"Experience,Values,Fire,Magic", - "FieldName":"Experience.fireMagic", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.fireMagic", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Frost Magic Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of frost magic.", - "Keywords":"Experience,Values,Frost,Magic", - "FieldName":"Experience.frostMagic", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.frostMagic", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Jump Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of jump.", - "Keywords":"Experience,Values,Jump", - "FieldName":"Experience.jump", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.jump", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Knives Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of knives.", - "Keywords":"Experience,Values,Knives", - "FieldName":"Experience.knives", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.knives", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Pickaxes Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of pickaxes.", - "Keywords":"Experience,Values,Pickaxes", - "FieldName":"Experience.pickaxes", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.pickaxes", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Polearms Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of polearms.", - "Keywords":"Experience,Values,Polearms", - "FieldName":"Experience.polearms", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.polearms", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Ride Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of ride.", - "Keywords":"Experience,Values,Ride", - "FieldName":"Experience.ride", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.ride", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Run Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of run.", - "Keywords":"Experience,Values,Run", - "FieldName":"Experience.run", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.run", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Sneak Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of sneak.", - "Keywords":"Experience,Values,Sneak", - "FieldName":"Experience.sneak", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.sneak", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Spears Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of spears.", - "Keywords":"Experience,Values,Spears", - "FieldName":"Experience.spears", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.spears", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Swim Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of swim.", - "Keywords":"Experience,Values,Swim", - "FieldName":"Experience.swim", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.swim", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Swords Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of swords.", - "Keywords":"Experience,Values,Swords", - "FieldName":"Experience.swords", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.swords", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Unarmed Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of unarmed.", - "Keywords":"Experience,Values,Unarmed", - "FieldName":"Experience.unarmed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.unarmed", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"Wood Cutting Experience Values", - "Category":"Valheim Plus - Player Settings", - "Description":"The modifier value for the experience gained of wood cutting.", - "Keywords":"Experience,Values,Wood,Cutting", - "FieldName":"Experience.woodCutting", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Experience.woodCutting", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "modifier" - },{ - "DisplayName":"First Person Settings Enable", - "Category":"Valheim Plus - Player Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"FirstPerson,Enable", - "FieldName":"FirstPerson.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"FirstPerson.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"First Person Hotkey", - "Category":"Valheim Plus - Player Settings", - "Description":"Hotkey to enable First Person. Default F10", - "Keywords":"First,Person,hotkey", - "FieldName":"FirstPerson.hotkey", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"FirstPerson.hotkey", - "IncludeInCommandLine":false, - "DefaultValue":"F10", - "EnumValues":{} - },{ - "DisplayName":"First Person Default FOV", - "Category":"Valheim Plus - Player Settings", - "Description":"Default Field Of View to use. Default 65.0", - "Keywords":"First,Person,FOV", - "FieldName":"FirstPerson.defaultFOV", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"FirstPerson.defaultFOV", - "IncludeInCommandLine":false, - "DefaultValue":"65.0", - "EnumValues":{}, - "Suffix": "fov" - },{ - "DisplayName":"First Person Raise FOV Hotkey", - "Category":"Valheim Plus - Player Settings", - "Description":"Hotkey to raise Field Of View. Default PageUp", - "Keywords":"First,Person,FOV,Hotkey", - "FieldName":"FirstPerson.raiseFOVHotkey", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"FirstPerson.raiseFOVHotkey", - "IncludeInCommandLine":false, - "DefaultValue":"PageUp", - "EnumValues":{} - },{ - "DisplayName":"First Person Lower FOV Hotkey", - "Category":"Valheim Plus - Player Settings", - "Description":"Hotkey to raise Field Of View. Default PageDown", - "Keywords":"First,Person,FOV,Hotkey", - "FieldName":"FirstPerson.lowerFOVHotkey", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"FirstPerson.lowerFOVHotkey", - "IncludeInCommandLine":false, - "DefaultValue":"PageDown", - "EnumValues":{} - },{ - "DisplayName":"Food Settings Enable", - "Category":"Valheim Plus - Player Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Food,Enable", - "FieldName":"Food.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Food.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Food Duration Multiplier", - "Category":"Valheim Plus - Player Settings", - "Description":"Increase or reduce the time that food lasts by %. The value 50 would cause food to run out 50% slower, -50% would cause the food to run out 50% faster.", - "Keywords":"Food,Duration,Multiplier", - "FieldName":"Food.foodDurationMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Food.foodDurationMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Disable Food Degradation Over Time", - "Category":"Valheim Plus - Player Settings", - "Description":"This option prevents food degrading over time - in other words, it retains its maximum benefit until it runs out instead of reducing its effect over time.", - "Keywords":"Food,Degradation,Over,Time", - "FieldName":"Food.disableFoodDegradation", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Food.disableFoodDegradation", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Player Settings Enable", - "Category":"Valheim Plus - Player Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Player,Enable", - "FieldName":"Player.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Maximum Carry Weight", - "Category":"Valheim Plus - Player Settings", - "Description":"The base amount of carry weight of your character.", - "Keywords":"Player,Carry,Weight", - "FieldName":"Player.baseMaximumWeight", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.baseMaximumWeight", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "EnumValues":{}, - "Suffix": "weight" - },{ - "DisplayName":"Megingjord's Girdle Bonus Weight", - "Category":"Valheim Plus - Player Settings", - "Description":"Increase the buff you receive to your carry weight from Megingjord's girdle.", - "Keywords":"Player,Megingjord,Weight,Buff", - "FieldName":"Player.baseMegingjordBuff", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.baseMegingjordBuff", - "IncludeInCommandLine":false, - "DefaultValue":"150", - "EnumValues":{}, - "Suffix": "weight" - },{ - "DisplayName":"Player Auto Pickup Range", - "Category":"Valheim Plus - Player Settings", - "Description":"Increase auto pickup range of all items.", - "Keywords":"Player,Pickup,Range,Auto", - "FieldName":"Player.baseAutoPickUpRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.baseAutoPickUpRange", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{}, - "Suffix": "range" - },{ - "DisplayName":"Disable Camera Shake", - "Category":"Valheim Plus - Player Settings", - "Description":"Disable all types of camera shake.", - "Keywords":"Player,Camera,Shake", - "FieldName":"Player.disableCameraShake", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.disableCameraShake", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Unarmed Damage Bonus", - "Category":"Valheim Plus - Player Settings", - "Description":"The base unarmed damage multiplied by your skill level. 120 will result in a maximum of up to 12 damage when you have a skill level of 10. Default 70", - "Keywords":"Player,Unarmed,Damage", - "FieldName":"Player.baseUnarmedDamage", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.baseUnarmedDamage", - "IncludeInCommandLine":false, - "DefaultValue":"70", - "EnumValues":{}, - "Suffix": "damage" - },{ - "DisplayName":"Crop Notifier", - "Category":"Valheim Plus - Player Settings", - "Description":"When enabled, you will not be permitted to place a crop within the grow radius of another crop.", - "Keywords":"Player,Crop,Notifier", - "FieldName":"Player.cropNotifier", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.cropNotifier", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Comfort Level Bonus In Seconds", - "Category":"Valheim Plus - Player Settings", - "Description":"How many seconds each comfort level contributes to the rested bonus.", - "Keywords":"Player,Rested,Bonus", - "FieldName":"Player.restSecondsPerComfortLevel", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.restSecondsPerComfortLevel", - "IncludeInCommandLine":false, - "DefaultValue":"60", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Death Penalty", - "Category":"Valheim Plus - Player Settings", - "Description":"Change the death penalty in percentage, where higher will increase the death penalty and lower will reduce it. This is a modifier value. 50 will increase it by 50%, -50 will reduce it by 50%.", - "Keywords":"Player,Death,Penalty", - "FieldName":"Player.deathPenaltyMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.deathPenaltyMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Enable Auto Repair", - "Category":"Valheim Plus - Player Settings", - "Description":"If enabled, this option will automatically repair your equipment when you interact with the appropriate workbench.", - "Keywords":"Player,Auto,Repair", - "FieldName":"Player.autoRepair", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.autoRepair", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Boss Buff Duration", - "Category":"Valheim Plus - Player Settings", - "Description":"Boss buff duration (seconds). Default 300 seconds", - "Keywords":"Player,Boss,Buff,Duration", - "FieldName":"Player.guardianBuffDuration", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.guardianBuffDuration", - "IncludeInCommandLine":false, - "DefaultValue":"300", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Boss Buff Cooldown", - "Category":"Valheim Plus - Player Settings", - "Description":"Boss buff cooldown (seconds). Default 1200 seconds", - "Keywords":"Player,Boss,Buff,Cooldown", - "FieldName":"Player.guardianBuffCooldown", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.guardianBuffCooldown", - "IncludeInCommandLine":false, - "DefaultValue":"1200", - "EnumValues":{}, - "Suffix": "seconds" - },{ - "DisplayName":"Disable Guardian Buff Animation", - "Category":"Valheim Plus - Player Settings", - "Description":"Disable the Guardian Buff animation", - "Keywords":"Player,Buff,Animation,Guardian", - "FieldName":"Player.disableGuardianBuffAnimation", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.disableGuardianBuffAnimation", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enable Auto Equip Shield", - "Category":"Valheim Plus - Player Settings", - "Description":"If enabled, when equipping a one-handed weapon, the best shield from your inventory is automatically equipped. (Best is determined by highest block power)", - "Keywords":"Player,Auto,Equip,Shield", - "FieldName":"Player.autoEquipShield", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.autoEquipShield", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enable Auto Unequip Shield", - "Category":"Valheim Plus - Player Settings", - "Description":"When unequipping a one-handed weapon also unequip shield from inventory.", - "Keywords":"Player,Auto,Unequip,Shield", - "FieldName":"Player.autoUnequipShield", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.autoUnequipShield", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enable Queue Weapon Change", - "Category":"Valheim Plus - Player Settings", - "Description":"If enabled, weapon switches requested mid-attack will be carried out when the current attack is finished instead of being ignored.", - "Keywords":"Player,Queue,Weapon,Change", - "FieldName":"Player.queueWeaponChanges", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.queueWeaponChanges", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enable Skip Intro", - "Category":"Valheim Plus - Player Settings", - "Description":"If enabled, you will always skip the intro of the game.", - "Keywords":"Player,Skip,Intro", - "FieldName":"Player.skipIntro", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.skipIntro", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"\"I Have Arrived\" Message", - "Category":"Valheim Plus - Player Settings", - "Description":"If disabled, disables the \"I have arrived!\" message on player spawn.", - "Keywords":"Player,Arrived,Message", - "FieldName":"Player.iHaveArrivedOnSpawn", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.iHaveArrivedOnSpawn", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Unequip Items When Swimming", - "Category":"Valheim Plus - Player Settings", - "Description":"If enabled, you will not put away / unequip your items when swimming.", - "Keywords":"Player,Unequip,Items,Swimming", - "FieldName":"Player.dontUnequipItemsWhenSwimming", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.dontUnequipItemsWhenSwimming", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Re-equip Items After Swimming", - "Category":"Valheim Plus - Player Settings", - "Description":"If enabled, items will be re-equipped when you exit water after swimming (if they were hidden automatically)", - "Keywords":"Player,Re-equip,Items,Swimming", - "FieldName":"Player.reequipItemsAfterSwimming", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.reequipItemsAfterSwimming", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Fall Damage Scale", - "Category":"Valheim Plus - Player Settings", - "Description":"This value represents how much the fall damage should be scaled in +/- %. This is a modifier value. The value 50 would result in 50% increased fall damage. The value -50 would result in 50% reduced fall damage.", - "Keywords":"Player,Fall,Damage,Scale", - "FieldName":"Player.fallDamageScalePercent", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.fallDamageScalePercent", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Max Fall Damage", - "Category":"Valheim Plus - Player Settings", - "Description":"Max fall damage. Game default is 100 (so with enough health, falls can't kill).", - "Keywords":"Player,Fall,Damage,Max", - "FieldName":"Player.maxFallDamage", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Player.maxFallDamage", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "EnumValues":{}, - "Suffix": "" - },{ - "DisplayName":"Enable Skip Tutorials", - "Category":"Valheim Plus - Player Settings", - "Description":"If enabled, all tutorials will skip from now on. You can turn this config off and reset the tutorial (in the settings) at any time.", - "Keywords":"Player,Skip,Tutorials", - "FieldName":"Player.skipTutorials", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.skipTutorials", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Encumbrance ", - "Category":"Valheim Plus - Player Settings", - "Description":"Disable the encumbered state when you carry too many items (overweight)", - "Keywords":"Player,Disable,Encumbrance ", - "FieldName":"Player.disableEncumbered", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.disableEncumbered", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enable Auto Pickup If Encumbered", - "Category":"Valheim Plus - Player Settings", - "Description":"Allow auto pickup of items when encumbered (overweight)", - "Keywords":"Player,Auto,Pickup,Encumbered", - "FieldName":"Player.autoPickUpWhenEncumbered", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Player.autoPickUpWhenEncumbered", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Shields Settings Enable", - "Category":"Valheim Plus - Player Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Shields,Enable", - "FieldName":"Shields.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Shields.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Shield Block Value", - "Category":"Valheim Plus - Player Settings", - "Description":"Increase or decrease the block value on all shields in %. -50 would be 50% less block rating, 50 would be 50% more block rating.", - "Keywords":"Shields,Block,Value", - "FieldName":"Shields.blockRating", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Shields.blockRating", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Stamina Settings Enable", - "Category":"Valheim Plus - Player Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Stamina,Enable", - "FieldName":"Stamina.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Stamina.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Dodge Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Changes the amount of stamina cost of using the dodge roll by %", - "Keywords":"Stamina,Dodge,Usage", - "FieldName":"Stamina.dodgeStaminaUsage", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Stamina.dodgeStaminaUsage", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Encumbered Stamina Drain", - "Category":"Valheim Plus - Player Settings", - "Description":"Changes the stamina drain of being overweight by %", - "Keywords":"Stamina,Encumbered,Drain", - "FieldName":"Stamina.encumberedStaminaDrain", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Stamina.encumberedStaminaDrain", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Jump Stamina Drain", - "Category":"Valheim Plus - Player Settings", - "Description":"Changes the stamina cost of jumping by %", - "Keywords":"Stamina,Jump,Drain", - "FieldName":"Stamina.jumpStaminaDrain", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Stamina.jumpStaminaDrain", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Run Stamina Drain", - "Category":"Valheim Plus - Player Settings", - "Description":"Changes the stamina cost of running by %", - "Keywords":"Stamina,Run,Drain", - "FieldName":"Stamina.runStaminaDrain", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Stamina.runStaminaDrain", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Sneak Stamina Drain", - "Category":"Valheim Plus - Player Settings", - "Description":"Changes the stamina cost of sneaking by %", - "Keywords":"Stamina,Sneak,Drain", - "FieldName":"Stamina.sneakStaminaDrain", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Stamina.sneakStaminaDrain", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Stamina Regen", - "Category":"Valheim Plus - Player Settings", - "Description":"Changes the total amount of stamina recovered per second by %", - "Keywords":"Stamina,Regen", - "FieldName":"Stamina.staminaRegen", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Stamina.staminaRegen", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Stamina Regen Delay", - "Category":"Valheim Plus - Player Settings", - "Description":"Changes the delay until stamina regeneration sets in by %", - "Keywords":"Stamina,Regen,Delay", - "FieldName":"Stamina.staminaRegenDelay", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Stamina.staminaRegenDelay", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Swim Stamina Drain", - "Category":"Valheim Plus - Player Settings", - "Description":"Changes the stamina drain of swimming by %", - "Keywords":"Stamina,Swim,Drain", - "FieldName":"Stamina.swimStaminaDrain", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Stamina.swimStaminaDrain", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Stamina Usage Settings Enable", - "Category":"Valheim Plus - Player Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Stamina,Usage,Enable", - "FieldName":"StaminaUsage.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Axes Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Axes", - "FieldName":"StaminaUsage.axes", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.axes", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Blocking Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Blocking", - "FieldName":"StaminaUsage.blocking", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.blocking", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Bows Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Bows", - "FieldName":"StaminaUsage.bows", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.bows", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Clubs Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Clubs", - "FieldName":"StaminaUsage.clubs", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.clubs", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Knives Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Knives", - "FieldName":"StaminaUsage.knives", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.knives", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Pickaxes Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Pickaxes", - "FieldName":"StaminaUsage.pickaxes", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.pickaxes", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Polearms Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Polearms", - "FieldName":"StaminaUsage.polearms", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.polearms", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Spears Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Spears", - "FieldName":"StaminaUsage.spears", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.spears", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Swords Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Swords", - "FieldName":"StaminaUsage.swords", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.swords", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Unarmed Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Unarmed", - "FieldName":"StaminaUsage.unarmed", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.unarmed", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Hammer Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Hammer", - "FieldName":"StaminaUsage.hammer", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.hammer", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Hoe Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Hoe", - "FieldName":"StaminaUsage.hoe", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.hoe", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Cultivator Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Cultivator", - "FieldName":"StaminaUsage.cultivator", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.cultivator", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Fishing Stamina Usage", - "Category":"Valheim Plus - Player Settings", - "Description":"Each of these values change the respective tool in stamina usage by increases and reduction in percent declared by 50, or -50.", - "Keywords":"Stamina,Usage,Fishing", - "FieldName":"StaminaUsage.fishing", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StaminaUsage.fishing", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "%" - },{ - "DisplayName":"Please Read!", - "Category":"Valheim Plus - Server Settings", - "Description":"The settings on this page are split up into sections. The start of a section will be labeled with \"sectionName Enable\" the setting in-between are only modifiable if that section is enabled.", - "Keywords":"Read,Please,Info", - "FieldName":"PleaseReadServerSettings", - "InputType":"hidden" - },{ - "DisplayName":"Valheim Plus Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section. This does NOT install Valheim Plus. To install Valheim Plus, navigate to \"SteamCMD and Updates\" and enable Install Valheim Plus, then update the server.", - "Keywords":"ValheimPlus,Enable", - "FieldName":"ValheimPlus.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ValheimPlus.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Valheim Plus Logo", - "Category":"Valheim Plus - Server Settings", - "Description":"Display the Valheim Plus logo in the main menu", - "Keywords":"ValheimPlus,Logo", - "FieldName":"ValheimPlus.mainMenuLogo", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"ValheimPlus.mainMenuLogo", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Server Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section. Recommended to be left on.", - "Keywords":"ValheimPlus,Server,Settings", - "FieldName":"Server.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Server.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Max Player Count", - "Category":"Valheim Plus - Server Settings", - "Description":"Maximum Concurrent Players on the server.", - "Keywords":"Server,Max,Player,Count", - "FieldName":"Server.maxPlayers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Server.maxPlayers", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{}, - "Suffix": "players" - },{ - "DisplayName":"Disable Server Password", - "Category":"Valheim Plus - Server Settings", - "Description":"Removes the requirement to have a server password.", - "Keywords":"Server,Password", - "FieldName":"Server.disableServerPassword", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Server.disableServerPassword", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Require Valheim Plus", - "Category":"Valheim Plus - Server Settings", - "Description":"This settings add a version control check to make sure that people that try to join your server has Valheim Plus installed. Recommended to leave on.", - "Keywords":"Server,Check", - "FieldName":"Server.enforceMod", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Server.enforceMod", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Sync Server Config", - "Category":"Valheim Plus - Server Settings", - "Description":"Sync config to clients. Recommended to leave on.", - "Keywords":"Server,Config", - "FieldName":"Server.serverSyncsConfig", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Server.serverSyncsConfig", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Game Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Game,Enable", - "FieldName":"Game.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Game.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Difficulty Damage Scale", - "Category":"Valheim Plus - Server Settings", - "Description":"Default is 4% monster damage increase per player in radius.", - "Keywords":"Game,Difficulty,Damage,Scale", - "FieldName":"Game.gameDifficultyDamageScale", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Game.gameDifficultyDamageScale", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{}, - "Suffix": "% damage" - },{ - "DisplayName":"Difficulty Health Scale", - "Category":"Valheim Plus - Server Settings", - "Description":"Default is 40% monster health increase per player in radius.", - "Keywords":"Game,Difficulty,Health,Scale", - "FieldName":"Game.gameDifficultyHealthScale", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Game.gameDifficultyHealthScale", - "IncludeInCommandLine":false, - "DefaultValue":"40", - "EnumValues":{}, - "Suffix": "% health" - },{ - "DisplayName":"Extra Player Count Nearby", - "Category":"Valheim Plus - Server Settings", - "Description":"Adds additional players to the difficulty calculation in multiplayer unrelated to the actual amount. This option is disabled if its set to 0.", - "Keywords":"Game,Player,Nearby,Count", - "FieldName":"Game.extraPlayerCountNearby", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Game.extraPlayerCountNearby", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "extra players" - },{ - "DisplayName":"Set Fixed Player Count", - "Category":"Valheim Plus - Server Settings", - "Description":"Sets the nearby player count always to this value + Extra Player Count Nearby. This option is disabled if its set to 0.", - "Keywords":"Game,Player,Nearby,Count", - "FieldName":"Game.setFixedPlayerCountTo", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Game.setFixedPlayerCountTo", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "fixed extra players" - },{ - "DisplayName":"Difficulty Scale Range", - "Category":"Valheim Plus - Server Settings", - "Description":"The range in meters at which other players count towards nearby players for the difficulty scale", - "Keywords":"Game,Difficulty,Scale,Range", - "FieldName":"Game.difficultyScaleRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Game.difficultyScaleRange", - "IncludeInCommandLine":false, - "DefaultValue":"200", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Disable Portals", - "Category":"Valheim Plus - Server Settings", - "Description":"If you set this to enabled, all portals will be disabled.", - "Keywords":"Game,Portals,Disable", - "FieldName":"Game.disablePortals", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Game.disablePortals", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Big Portal Names", - "Category":"Valheim Plus - Server Settings", - "Description":"If you set this to enabled, portal names will be displayed in big text in center of screen.", - "Keywords":"Game,Portal,Names", - "FieldName":"Game.bigPortalNames", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Game.bigPortalNames", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Console", - "Category":"Valheim Plus - Server Settings", - "Description":"If you set this to enabled the console will be force disabled in-game.", - "Keywords":"Game,Console,Disable", - "FieldName":"Game.disableConsole", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Game.disableConsole", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Fog", - "Category":"Valheim Plus - Server Settings", - "Description":"If you set this to enabled this will remove dense fog from the game.", - "Keywords":"Game,Fog,Disable", - "FieldName":"Game.disableFog", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Game.disableFog", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Game Clock Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"GameClock,Enable", - "FieldName":"GameClock.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"GameClock.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Game Clock Format", - "Category":"Valheim Plus - Server Settings", - "Description":"Change time formatting from 24hr to AM-PM.", - "Keywords":"GameClock,Format", - "FieldName":"GameClock.useAMPM", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"GameClock.useAMPM", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Clock Font Size", - "Category":"Valheim Plus - Server Settings", - "Description":"Sets the font size of time text.", - "Keywords":"GameClock,Font,Size", - "FieldName":"GameClock.textFontSize", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"GameClock.textFontSize", - "IncludeInCommandLine":false, - "DefaultValue":"34", - "EnumValues":{}, - "Suffix": "font size" - },{ - "DisplayName":"Clock Text Red Channel", - "Category":"Valheim Plus - Server Settings", - "Description":"Sets how red the time text is (51/255).", - "Keywords":"GameClock,Font,Red", - "FieldName":"GameClock.textRedChannel", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"GameClock.textRedChannel", - "IncludeInCommandLine":false, - "DefaultValue":"248", - "EnumValues":{}, - "Suffix": "red" - },{ - "DisplayName":"Clock Text Green Channel", - "Category":"Valheim Plus - Server Settings", - "Description":"Sets how green the time text is (51/255).", - "Keywords":"GameClock,Font,Green", - "FieldName":"GameClock.textGreenChannel", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"GameClock.textGreenChannel", - "IncludeInCommandLine":false, - "DefaultValue":"105", - "EnumValues":{}, - "Suffix": "green" - },{ - "DisplayName":"Clock Text Blue Channel", - "Category":"Valheim Plus - Server Settings", - "Description":"Sets how Blue the time text is (51/255).", - "Keywords":"GameClock,Font,Blue", - "FieldName":"GameClock.textBlueChannel", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"GameClock.textBlueChannel", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "blue" - },{ - "DisplayName":"Clock Text Transparent Channel", - "Category":"Valheim Plus - Server Settings", - "Description":"Sets how Transparent the time text is (51/255).", - "Keywords":"GameClock,Font,Transparent", - "FieldName":"GameClock.textTransparencyChannel", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"GameClock.textTransparencyChannel", - "IncludeInCommandLine":false, - "DefaultValue":"255", - "EnumValues":{}, - "Suffix": "transparency" - },{ - "DisplayName":"Brightness Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Brightness,Enable", - "FieldName":"Brightness.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Brightness.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Night Brightness Multiplier", - "Category":"Valheim Plus - Server Settings", - "Description":"Changes how bright it looks at night. A value between 5 and 10 will result in nearly double in brightness at night.", - "Keywords":"GameClock,Font,Transparent", - "FieldName":"Brightness.nightBrightnessMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Brightness.nightBrightnessMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Camera Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Camera,Enable", - "FieldName":"Camera.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Camera.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Camera Max Zoom Distance", - "Category":"Valheim Plus - Server Settings", - "Description":"The maximum zoom distance to your character in-game.", - "Keywords":"Camera,Max,Zoom,Distance", - "FieldName":"Camera.cameraMaximumZoomDistance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Camera.cameraMaximumZoomDistance", - "IncludeInCommandLine":false, - "DefaultValue":"6", - "EnumValues":{}, - "Suffix": "max zoom" - },{ - "DisplayName":"Camera Boat Max Zoom Distance", - "Category":"Valheim Plus - Server Settings", - "Description":"The maximum zoom distance to your character when in a boat.", - "Keywords":"Camera,Max,Zoom,Distance,Boat", - "FieldName":"Camera.cameraBoatMaximumZoomDistance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Camera.cameraBoatMaximumZoomDistance", - "IncludeInCommandLine":false, - "DefaultValue":"6", - "EnumValues":{}, - "Suffix": "max zoom" - },{ - "DisplayName":"Camera FOV", - "Category":"Valheim Plus - Server Settings", - "Description":"Adjusts the camera FOV. The in-game camera FOV default is 65", - "Keywords":"Camera,FOV", - "FieldName":"Camera.cameraFOV", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Camera.cameraFOV", - "IncludeInCommandLine":false, - "DefaultValue":"65", - "EnumValues":{}, - "Suffix": "FOV" - },{ - "DisplayName":"Chat Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Chat,Enable", - "FieldName":"Chat.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Chat.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Chat Shout Distance", - "Category":"Valheim Plus - Server Settings", - "Description":"If the player is outside of this range in meters in comparison to the creator of the shout you will not see the message on the map or in the chat. If this is set to 0, its disabled.", - "Keywords":"Chat,Shout,Distance", - "FieldName":"Chat.shoutDistance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Chat.shoutDistance", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Display Shout in Chat", - "Category":"Valheim Plus - Server Settings", - "Description":"With this option enabled you will see the shout message in your chat window even if you are outside of Shout Distance", - "Keywords":"Chat,Shout,Range", - "FieldName":"Chat.outOfRangeShoutsDisplayInChatWindow", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Chat.outOfRangeShoutsDisplayInChatWindow", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Ping Distance", - "Category":"Valheim Plus - Server Settings", - "Description":"If the player is outside of this range in meters in comparison to the creator of the ping on the map you will not see the ping on the map. If this is set to 0, its disabled.", - "Keywords":"Chat,Ping,Distance", - "FieldName":"Chat.pingDistance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Chat.pingDistance", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Disable Forced Case Conversion", - "Category":"Valheim Plus - Server Settings", - "Description":"Disable the forced upper and lower case conversions for in-game text messages of all types.", - "Keywords":"Chat,Case", - "FieldName":"Chat.forcedCase", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Chat.forcedCase", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Default Whisper Distance", - "Category":"Valheim Plus - Server Settings", - "Description":"This determines the range in meters that you can see whisper text messages by default.", - "Keywords":"Chat,Whisper,Distance", - "FieldName":"Chat.defaultWhisperDistance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Chat.defaultWhisperDistance", - "IncludeInCommandLine":false, - "DefaultValue":"4", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Default Normal Chat Distance", - "Category":"Valheim Plus - Server Settings", - "Description":"This determines the range in meters that you can see normal text messages by default.", - "Keywords":"Chat,Normal,Distance", - "FieldName":"Chat.defaultNormalDistance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Chat.defaultNormalDistance", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Default Shout Distance", - "Category":"Valheim Plus - Server Settings", - "Description":"This determines the range in meters that you can see shout text messages by default.", - "Keywords":"Chat,Shout,Distance", - "FieldName":"Chat.defaultShoutDistance", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Chat.defaultShoutDistance", - "IncludeInCommandLine":false, - "DefaultValue":"70", - "EnumValues":{}, - "Suffix": "meters" - },{ - "DisplayName":"Advanced Building Mode Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Advanced,Building,Mode,Enable", - "FieldName":"AdvancedBuildingMode.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedBuildingMode.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enter Advanced Building Mode Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Enter the advanced building mode with this key when building. Default F1", - "Keywords":"Advanced,Building,Mode,Hotkey", - "FieldName":"AdvancedBuildingMode.enterAdvancedBuildingMode", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedBuildingMode.enterAdvancedBuildingMode", - "IncludeInCommandLine":false, - "DefaultValue":"F1", - "EnumValues":{} - },{ - "DisplayName":"Exit Advanced Building Mode Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Exit the advanced building mode with this key when building. Default F3", - "Keywords":"Advanced,Building,Mode,Hotkey", - "FieldName":"AdvancedBuildingMode.exitAdvancedBuildingMode", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedBuildingMode.exitAdvancedBuildingMode", - "IncludeInCommandLine":false, - "DefaultValue":"F1", - "EnumValues":{} - },{ - "DisplayName":"Advanced Builiding Mode Rotation Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Copy the object rotation of the currently selected object in Advanced Building Mode. Default Keypad7", - "Keywords":"Advanced,Building,Mode,Hotkey,Rotation,Object,Copy", - "FieldName":"AdvancedBuildingMode.copyObjectRotation", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedBuildingMode.copyObjectRotation", - "IncludeInCommandLine":false, - "DefaultValue":"Keypad7", - "EnumValues":{} - },{ - "DisplayName":"Advanced Builiding Mode Paste Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Copy the object rotation of the currently selected object in Advanced Building Mode. Default Keypad8", - "Keywords":"Advanced,Building,Mode,Hotkey,Paste,Object,Rotation", - "FieldName":"AdvancedBuildingMode.pasteObjectRotation", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedBuildingMode.pasteObjectRotation", - "IncludeInCommandLine":false, - "DefaultValue":"Keypad8", - "EnumValues":{} - },{ - "DisplayName":"Increase Scroll Speed Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Increases the amount an object rotates and moves. Holding Shift will increase in increments of 10 instead of 1. Default KeypadPlus", - "Keywords":"Advanced,Building,Mode,Hotkey,Increase,Scroll,Speed", - "FieldName":"AdvancedBuildingMode.increaseScrollSpeed", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedBuildingMode.increaseScrollSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"KeypadPlus", - "EnumValues":{} - },{ - "DisplayName":"Decrease Scroll Speed Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Decrease the amount an object rotates and moves. Holding Shift will increase in increments of 10 instead of 1. Default KeypadMinus", - "Keywords":"Advanced,Building,Mode,Hotkey,Decrease,Scroll,Speed", - "FieldName":"AdvancedBuildingMode.decreaseScrollSpeed", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedBuildingMode.decreaseScrollSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"KeypadMinus", - "EnumValues":{} - },{ - "DisplayName":"Advanced Editing Mode Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Advanced,Editing,Mode,Enable", - "FieldName":"AdvancedEditingMode.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedEditingMode.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enter Advanced Editing Mode Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Enter the advanced editing mode with this key. Default Keypad0", - "Keywords":"Advanced,Editing,Mode,Hotkey", - "FieldName":"AdvancedEditingMode.enterAdvancedEditingMode", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedEditingMode.enterAdvancedEditingMode", - "IncludeInCommandLine":false, - "DefaultValue":"Keypad0", - "EnumValues":{} - },{ - "DisplayName":"Reset Advanced Editing Mode Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Reset the advanced editing mode with this key. Default F7", - "Keywords":"Advanced,Editing,Mode,Hotkey", - "FieldName":"AdvancedEditingMode.resetAdvancedEditingMode", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedEditingMode.resetAdvancedEditingMode", - "IncludeInCommandLine":false, - "DefaultValue":"F7", - "EnumValues":{} - },{ - "DisplayName":"Exit Advanced Editing Mode Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Exit the advanced editing mode with this key. Default F8", - "Keywords":"Advanced,Editing,Mode,Hotkey", - "FieldName":"AdvancedEditingMode.abortAndExitAdvancedEditingMode", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedEditingMode.abortAndExitAdvancedEditingMode", - "IncludeInCommandLine":false, - "DefaultValue":"F8", - "EnumValues":{} - },{ - "DisplayName":"Confirm Object Placement Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Confirm the placement of the object and place it. Default KeypadEnter", - "Keywords":"Advanced,Editing,Mode,Hotkey", - "FieldName":"AdvancedEditingMode.confirmPlacementOfAdvancedEditingMode", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedEditingMode.confirmPlacementOfAdvancedEditingMode", - "IncludeInCommandLine":false, - "DefaultValue":"KeypadEnter", - "EnumValues":{} - },{ - "DisplayName":"Advanced Editing Mode Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Copy the object rotation of the currently selected object in Advanced Editing Mode. Default Keypad7", - "Keywords":"Advanced,Editing,Mode,Hotkey", - "FieldName":"AdvancedEditingMode.copyObjectRotation", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedEditingMode.copyObjectRotation", - "IncludeInCommandLine":false, - "DefaultValue":"Keypad7", - "EnumValues":{} - },{ - "DisplayName":"Apply Copied Object Rotation Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Apply the copied object rotation of the currently selected object in Advanced Editing Mode. Default Keypad8", - "Keywords":"Advanced,Editing,Mode,Hotkey", - "FieldName":"AdvancedEditingMode.pasteObjectRotation", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedEditingMode.pasteObjectRotation", - "IncludeInCommandLine":false, - "DefaultValue":"Keypad8", - "EnumValues":{} - },{ - "DisplayName":"Increases Scroll Speed Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Increases the amount an object rotates and moves. Holding Shift will increase in increments of 10 instead of 1. Default KeypadPlus", - "Keywords":"Advanced,Editing,Mode,Hotkey", - "FieldName":"AdvancedEditingMode.increaseScrollSpeed", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedEditingMode.increaseScrollSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"KeypadPlus", - "EnumValues":{} - },{ - "DisplayName":"Decreases Scroll Speed Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Decreases the amount an object rotates and moves. Holding Shift will increase in increments of 10 instead of 1. Default KeypadMinus", - "Keywords":"Advanced,Editing,Mode,Hotkey", - "FieldName":"AdvancedEditingMode.DecreaseScrollSpeed", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"AdvancedEditingMode.DecreaseScrollSpeed", - "IncludeInCommandLine":false, - "DefaultValue":"KeypadMinus", - "EnumValues":{} - },{ - "DisplayName":"Grid Alignment Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Grid,Alignment,Enable", - "FieldName":"GridAlignment.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"GridAlignment.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Grid Alignment Enable Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Key to enable grid alignment. Default LeftAlt", - "Keywords":"Grid,Alignment,Mode,Hotkey", - "FieldName":"GridAlignment.align", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"GridAlignment.align", - "IncludeInCommandLine":false, - "DefaultValue":"LeftAlt", - "EnumValues":{} - },{ - "DisplayName":"Grid Alignment Toggle Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Key to toggle grid alignment. Default F7", - "Keywords":"Grid,Alignment,Mode,Hotkey", - "FieldName":"GridAlignment.alignToggle", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"GridAlignment.alignToggle", - "IncludeInCommandLine":false, - "DefaultValue":"F7", - "EnumValues":{} - },{ - "DisplayName":"Change Default Alignment Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Key to change the default alignment. Default F6", - "Keywords":"Grid,Alignment,Mode,Hotkey", - "FieldName":"GridAlignment.changeDefaultAlignment", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"GridAlignment.changeDefaultAlignment", - "IncludeInCommandLine":false, - "DefaultValue":"F6", - "EnumValues":{} - },{ - "DisplayName":"Free Placement Rotation Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Free,Placement,Rotation,Enable", - "FieldName":"FreePlacementRotation.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"FreePlacementRotation.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Y Axis Rotation Placement Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Rotates placement marker by 1 degree on the Y axis, Can still attach to nearly pieces. Default LeftAlt", - "Keywords":"Free,Placement,Rotation,Hotkey", - "FieldName":"FreePlacementRotation.rotateY", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"FreePlacementRotation.rotateY", - "IncludeInCommandLine":false, - "DefaultValue":"LeftAlt", - "EnumValues":{} - },{ - "DisplayName":"X Axis Rotation Placement Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Rotates placement marker by 1 degree on the X axis, Can still attach to nearly pieces. Default C", - "Keywords":"Free,Placement,Rotation,Hotkey", - "FieldName":"FreePlacementRotation.rotateX", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"FreePlacementRotation.rotateX", - "IncludeInCommandLine":false, - "DefaultValue":"C", - "EnumValues":{} - },{ - "DisplayName":"Z Axis Rotation Placement Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Rotates placement marker by 1 degree on the Z axis, Can still attach to nearly pieces. Default V", - "Keywords":"Free,Placement,Rotation,Hotkey", - "FieldName":"FreePlacementRotation.rotateZ", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"FreePlacementRotation.rotateZ", - "IncludeInCommandLine":false, - "DefaultValue":"V", - "EnumValues":{} - },{ - "DisplayName":"Copy Placement Rotation Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Copy rotation of placement marker from target piece in front of you. Default F", - "Keywords":"Free,Placement,Rotation,Hotkey", - "FieldName":"FreePlacementRotation.copyRotationParallel", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"FreePlacementRotation.copyRotationParallel", - "IncludeInCommandLine":false, - "DefaultValue":"F", - "EnumValues":{} - },{ - "DisplayName":"Set Placement Perpendicular Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Set rotation to be perpendicular to piece in front of you. Default G", - "Keywords":"Free,Placement,Rotation,Hotkey", - "FieldName":"FreePlacementRotation.copyRotationPerpendicular", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"FreePlacementRotation.copyRotationPerpendicular", - "IncludeInCommandLine":false, - "DefaultValue":"G", - "EnumValues":{} - },{ - "DisplayName":"Hotkeys Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Hotkeys,Enable", - "FieldName":"Hotkeys.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Hotkeys.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Roll Forwards Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Roll forwards on hot key pressed. Default F9", - "Keywords":"Hotkeys,Roll,Forwards", - "FieldName":"Hotkeys.rollForwards", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Hotkeys.rollForwards", - "IncludeInCommandLine":false, - "DefaultValue":"F9", - "EnumValues":{} - },{ - "DisplayName":"Roll Backwards Hotkey", - "Category":"Valheim Plus - Server Settings", - "Description":"Roll backwards on hot key pressed. Default F10", - "Keywords":"Hotkeys,Roll,Backwards", - "FieldName":"Hotkeys.rollBackwards", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"Hotkeys.rollBackwards", - "IncludeInCommandLine":false, - "DefaultValue":"F10", - "EnumValues":{} - },{ - "DisplayName":"Hud Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Hud,Enable", - "FieldName":"Hud.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Hud.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Show Required Items Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Shows the required amount of items AND the amount of items in your inventory in build mode and while crafting. This is enabled when the CraftFromChest section is enabled.", - "Keywords":"Hud,Show,Required,Items", - "FieldName":"Hud.showRequiredItems", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Hud.showRequiredItems", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Show Experience Gained Notifications", - "Category":"Valheim Plus - Server Settings", - "Description":"Shows small notifications about all skill experience gained in the top left corner.", - "Keywords":"Hud,Show,Experience,Gained,Notifications", - "FieldName":"Hud.experienceGainedNotifications", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Hud.experienceGainedNotifications", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Remove Damage Red Flash", - "Category":"Valheim Plus - Server Settings", - "Description":"Removes the red screen flash overlay when the player takes damage.", - "Keywords":"Hud,Show,Damage,Flash", - "FieldName":"Hud.removeDamageFlash", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Hud.removeDamageFlash", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Display Bow Ammo Counts", - "Category":"Valheim Plus - Server Settings", - "Description":"If bow is in hotbar, display current ammo & total ammo under hotbar icon", - "Keywords":"Hud,Show,Bow,Ammo,Counts", - "FieldName":"Hud.displayBowAmmoCounts", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"Hud.displayBowAmmoCounts", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Never", - "1":"When Equipped", - "2":"Always" - } - },{ - "DisplayName":"Map Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Map,Enable", - "FieldName":"Map.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Map.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Enable Shared Map Progression", - "Category":"Valheim Plus - Server Settings", - "Description":"With this enabled you will receive the same exploration progression as other players on the server. This will also enable the option for the server to sync everyone's exploration progression on connecting to the server.", - "Keywords":"Map,Share,Progression", - "FieldName":"Map.shareMapProgression", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Map.shareMapProgression", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Map Exploration Radius", - "Category":"Valheim Plus - Server Settings", - "Description":"The radius of the map that you explore when moving.", - "Keywords":"Map,Exploration,Radius", - "FieldName":"Hotkeys.exploreRadius", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Hotkeys.exploreRadius", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "EnumValues":{} - },{ - "DisplayName":"Allow Disabling Map Sharing", - "Category":"Valheim Plus - Server Settings", - "Description":"Prevents you and other people on the server to turn off their map sharing option.", - "Keywords":"Map,Share,Progression", - "FieldName":"Map.preventPlayerFromTurningOffPublicPosition", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Map.preventPlayerFromTurningOffPublicPosition", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Auto Share Map Pins", - "Category":"Valheim Plus - Server Settings", - "Description":"This option automatically shares created pins with everyone playing on the server.", - "Keywords":"Map,Share,Pins", - "FieldName":"Map.shareAllPins", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Map.shareAllPins", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Show Carts and Boats on Map", - "Category":"Valheim Plus - Server Settings", - "Description":"Display carts and boats on the map.", - "Keywords":"Map,Show,Carts,Boats", - "FieldName":"Map.displayCartsAndBoats", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Map.displayCartsAndBoats", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Monster Projectile Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Monster,Projectile,Enable", - "FieldName":"MonsterProjectile.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"MonsterProjectile.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Monster Projectile Velocity", - "Category":"Valheim Plus - Server Settings", - "Description":"Value of 10 would increase the projectile velocity from 50 to 55.", - "Keywords":"Monster,Projectile,Velocity", - "FieldName":"MonsterProjectile.monsterMaxChargeVelocityMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MonsterProjectile.monsterMaxChargeVelocityMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Monster Projectile Accuracy", - "Category":"Valheim Plus - Server Settings", - "Description":"Value of (+)10 increase in accuracy will change the variance of projectile 1 degree to 0.9 degree at the point of projectile release.", - "Keywords":"Monster,Projectile,Accuracy", - "FieldName":"MonsterProjectile.monsterMaxChargeAccuracyMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MonsterProjectile.monsterMaxChargeAccuracyMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Player Projectile Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Player,Projectile,Enable", - "FieldName":"PlayerProjectile.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PlayerProjectile.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Player Min Projectile Velocity", - "Category":"Valheim Plus - Server Settings", - "Description":"Value of 50 would increase the minimum charge velocity from 2 to 3.", - "Keywords":"Player,Projectile,Min,Velocity", - "FieldName":"PlayerProjectile.playerMinChargeVelocityMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MonsterProjectile.playerMinChargeVelocityMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Player Max Projectile Velocity", - "Category":"Valheim Plus - Server Settings", - "Description":"Value of 50 would increase the maximum charge velocity (of Finwood bow) from 50 to 75.", - "Keywords":"Player,Projectile,Max,Velocity", - "FieldName":"PlayerProjectile.playerMaxChargeVelocityMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MonsterProjectile.playerMaxChargeVelocityMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Player Min Projectile Accuracy", - "Category":"Valheim Plus - Server Settings", - "Description":"Value of (+)50 increase in accuracy will change the variance of arrows 20 degree to 10 degree at the point of minimum charge release.", - "Keywords":"Player,Projectile,Min,Accuracy", - "FieldName":"PlayerProjectile.playerMinChargeAccuracyMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MonsterProjectile.playerMinChargeAccuracyMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Player Max Projectile Accuracy", - "Category":"Valheim Plus - Server Settings", - "Description":"Value of (+)50 increase in accuracy will change the variance of arrows 1 degree to 0.5 degree at the point of maximum charge release.", - "Keywords":"Player,Projectile,Max,Accuracy", - "FieldName":"PlayerProjectile.playerMaxChargeAccuracyMultiplier", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"MonsterProjectile.playerMaxChargeAccuracyMultiplier", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Enable Scale With Skill Level", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this option will linearly scale by skill level from the base values of the weapon to the modified values (according to multipliers).", - "Keywords":"Player,Projectile,Scale,Skill,Level", - "FieldName":"PlayerProjectile.enableScaleWithSkillLevel", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"PlayerProjectile.enableScaleWithSkillLevel", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Structural Integrity Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Structural,Integrity,Enable", - "FieldName":"StructuralIntegrity.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"StructuralIntegrity.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Structural Integrity", - "Category":"Valheim Plus - Server Settings", - "Description":"Disables the entire structural integrity system and allows for placement in free air, does not prevent building damage.", - "Keywords":"Structural,Integrity,Enable", - "FieldName":"StructuralIntegrity.disableStructuralIntegrity", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"StructuralIntegrity.disableStructuralIntegrity", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Damage to Player Structures", - "Category":"Valheim Plus - Server Settings", - "Description":"Disables any damage from anything to all player built structures. Does not prevent damage from structural integrity.", - "Keywords":"Structural,Integrity,Structure,Damage,Player", - "FieldName":"StructuralIntegrity.disableDamageToPlayerStructures", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"StructuralIntegrity.disableDamageToPlayerStructures", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Damage to Player Boats", - "Category":"Valheim Plus - Server Settings", - "Description":"Disables any damage from anything to all player built boats.", - "Keywords":"Structural,Integrity,Boat,Damage", - "FieldName":"StructuralIntegrity.disableDamageToPlayerBoats", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"StructuralIntegrity.disableDamageToPlayerBoats", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Disable Water Force Damage to Player Boats", - "Category":"Valheim Plus - Server Settings", - "Description":"Disables water force damage to all player built boats.", - "Keywords":"Structural,Integrity,Boat,Damage,Water,Force", - "FieldName":"StructuralIntegrity.disableWaterDamageToPlayerBoats", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"StructuralIntegrity.disableWaterDamageToPlayerBoats", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Structural Integrity Loss of Wood", - "Category":"Valheim Plus - Server Settings", - "Description":"Reduces the loss of structural integrity by distance in % less. The value 100 would result in disabled structural integrity over distance, does not allow for placement in free air without Disable Structural Integrity.", - "Keywords":"Structural,Integrity,Loss,Wood", - "FieldName":"StructuralIntegrity.wood", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StructuralIntegrity.wood", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Structural Integrity Loss of Stone", - "Category":"Valheim Plus - Server Settings", - "Description":"Reduces the loss of structural integrity by distance in % less. The value 100 would result in disabled structural integrity over distance, does not allow for placement in free air without Disable Structural Integrity.", - "Keywords":"Structural,Integrity,Loss,Stone", - "FieldName":"StructuralIntegrity.stone", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StructuralIntegrity.stone", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Structural Integrity Loss of Iron", - "Category":"Valheim Plus - Server Settings", - "Description":"Reduces the loss of structural integrity by distance in % less. The value 100 would result in disabled structural integrity over distance, does not allow for placement in free air without Disable Structural Integrity.", - "Keywords":"Structural,Integrity,Loss,Iron", - "FieldName":"StructuralIntegrity.iron", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StructuralIntegrity.iron", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Structural Integrity Loss of Hardwood", - "Category":"Valheim Plus - Server Settings", - "Description":"Reduces the loss of structural integrity by distance in % less. The value 100 would result in disabled structural integrity over distance, does not allow for placement in free air without Disable Structural Integrity.", - "Keywords":"Structural,Integrity,Loss,Hardwood", - "FieldName":"StructuralIntegrity.hardWood", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"StructuralIntegrity.hardWood", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - },{ - "DisplayName":"Ward Settings Enable", - "Category":"Valheim Plus - Server Settings", - "Description":"Enabling this section gives you access to the settings up to the next section.", - "Keywords":"Ward,Enable", - "FieldName":"Ward.enabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"Ward.enabled", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" - } - },{ - "DisplayName":"Ward Range", - "Category":"Valheim Plus - Server Settings", - "Description":"The range of wards by meters. Default value 20", - "Keywords":"Ward,Range", - "FieldName":"Ward.wardRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Ward.wardRange", - "IncludeInCommandLine":false, - "DefaultValue":"20", - "EnumValues":{} - },{ - "DisplayName":"Ward Enemy Spawn Range", - "Category":"Valheim Plus - Server Settings", - "Description":"Set the enemy spawn radius around wards in meters. This value equals Ward Range if its set to 0.", - "Keywords":"Ward,Range,Enemy,Spawn", - "FieldName":"Ward.wardEnemySpawnRange", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"Ward.wardEnemySpawnRange", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{} - } -] diff --git a/valheimmetaconfig.json b/valheimmetaconfig.json deleted file mode 100644 index db5175149..000000000 --- a/valheimmetaconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - "ConfigFile":"./BepInEx/config/valheim_plus.cfg", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormat":"{0}={1}", - "ConfigFormatRegex":"^(?<key>.+?)=(?<value>.*?)$" - }, - { - "ConfigFile":"./BepInEx/config/valheim_plus.cfg", - "AutoMap":true, - "ConfigType":"ini", - "ConfigFormat":"{0} = {1}", - "ConfigFormatRegex":"^(?<key>.+?) = (?<value>.*?)$" - } -] \ No newline at end of file diff --git a/valheimupdates.json b/valheimupdates.json deleted file mode 100644 index 8323a61c6..000000000 --- a/valheimupdates.json +++ /dev/null @@ -1,87 +0,0 @@ -[ - { - "UpdateStageName": "SteamCMD Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "896660", - "UpdateSourceArgs":"892970", - "UpdateSourceVersion": "{{Stream}}" - }, - { - "UpdateStageName": "Update Saves Directory - Windows", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "Executable", - "UpdateSourceData": "cmd.exe", - "UpdateSourceArgs": "/C move {{$FullBaseDir}}\\Data {{$FullBaseDir}}\\Saves" - }, - { - "UpdateStageName": "Update Saves Directory - Linux", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Executable", - "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"mv {{$FullBaseDir}}/Data/ {{$FullBaseDir}}/Saves/\"" - }, - { - "UpdateStageName": "Fetch BepInEx from Thunderstore", - "UpdateSourcePlatform": "All", - "UpdateSource": "FetchURL", - "UpdateSourceData": "https://valheim.thunderstore.io/package/download/denikson/BepInExPack_Valheim/{{bepinex_version}}/", - "UpdateSourceArgs": "denikson-BepInExPack_Valheim-{{bepinex_version}}.zip", - "UpdateSourceConditionSetting": "bepinex_install", - "UpdateSourceConditionValue": "true", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true, - "DeleteAfterExtract": true - }, - { - "UpdateStageName": "BepInEx Copy", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "Executable", - "UpdateSourceData": "cmd.exe", - "UpdateSourceArgs": "/C xcopy /E /Y /I Valheim\\896660\\BepInExPack_Valheim\\* Valheim\\896660\\ && rmdir /Q /S Valheim\\896660\\BepInExPack_Valheim", - "UpdateSourceConditionSetting": "bepinex_install", - "UpdateSourceConditionValue": "true" - }, - { - "UpdateStageName": "BepInEx Copy", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Executable", - "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"cp -rf ./Valheim/896660/BepInExPack_Valheim/* ./Valheim/896660/ && rm -rf ./Valheim/896660/BepInExPack_Valheim/\"", - "UpdateSourceConditionSetting": "bepinex_install", - "UpdateSourceConditionValue": "true" - }, - { - "UpdateStageName": "Fetch ValheimPlus from Github - Windows", - "UpdateSourcePlatform": "Windows", - "UpdateSource": "GithubRelease", - "UpdateSourceArgs": "Grantapher/ValheimPlus", - "UpdateSourceData": "WindowsServer.zip", - "UpdateSourceConditionSetting": "valheim_plus_install", - "UpdateSourceConditionValue": "true", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true - }, - { - "UpdateStageName": "Fetch ValheimPlus from Github - Linux", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "GithubRelease", - "UpdateSourceArgs": "Grantapher/ValheimPlus", - "UpdateSourceData": "UnixServer.zip", - "UpdateSourceConditionSetting": "valheim_plus_install", - "UpdateSourceConditionValue": "true", - "UnzipUpdateSource": true, - "OverwriteExistingFiles": true - }, - { - "UpdateStageName": "Settings File Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "GithubRelease", - "UpdateSourceArgs": "{{valheim_plus_source}}/ValheimPlus", - "UpdateSourceData": "valheim_plus.cfg", - "UpdateSourceTarget": "{{$FullBaseDir}}/BepInEx/config", - "OverwriteExistingFiles": false, - "UpdateSourceConditionSetting": "valheim_plus_install", - "UpdateSourceConditionValue": "true" - } -] diff --git a/veloren.kvp b/veloren.kvp deleted file mode 100644 index ac987c015..000000000 --- a/veloren.kvp +++ /dev/null @@ -1,86 +0,0 @@ -Meta.DisplayName=Veloren -Meta.Description=Veloren Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://veloren.net -Meta.DisplayImageSource=url:https://cdn.discordapp.com/attachments/541307708146581519/712295605170602075/logo.png -Meta.EndpointURIFormat= -Meta.ConfigManifest=velorenconfig.json -Meta.MetaConfigManifest=velorenmetaconfig.json -Meta.ConfigRoot=veloren.kvp -Meta.MinAMPVersion=2.4.0.2 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Veloren -App.RootDir=./veloren/ -App.BaseDirectory=./veloren/ -App.ExecutableWin=veloren-server-cli.exe -App.ExecutableLinux=veloren-server-cli -App.WorkingDir= -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"RUST_LOG":"debug,common::net=info"} -App.CommandLineParameterFormat=-{0} "{1}" -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=shutdown graceful 0 -App.ExitFile=lock -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"TCP","Name":"Server Port","Description":"Port for game traffic","Port":14004,"Ref":"ServerPort"},{"Protocol":"TCP","Name":"Metrics Port","Description":"Port for metrics traffic","Port":14005,"Ref":"MetricsPort"}] -App.AdminPortRef=ServerPort -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=ServerPort -App.MaxUsers=100 -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=@IncludeJson[velorenupdates.json] -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-]+T[\d:]+\.\d+Z\s+INFO veloren_server_cli: Server is ready to accept connections\.(?:.+?)$ -Console.UserJoinRegex=^[\d-]+T[\d:]+\.\d+Z\s+INFO network{(?:.+?)}: veloren_network_protocol::handshake: This Handshake is now configured! pid=(?<sessionid>.+?)$ -Console.UserLeaveRegex=^[\d-]+T[\d:]+\.\d+Z\s+INFO ((?:.+?)remote{p=(?<sessionid>.+?)}: veloren_network::api: Participant already has been shutdown gracefully|veloren_server_cli::shutdown_coordinator: Shutting down)$ -Console.UserChatRegex=^$ -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/velorenconfig.json b/velorenconfig.json deleted file mode 100644 index f81351b9c..000000000 --- a/velorenconfig.json +++ /dev/null @@ -1,72 +0,0 @@ -[ - { - "DisplayName":"Server Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"server_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Metrics Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$MetricsPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"metrics_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Server name visible in the server list", - "Keywords":"server,name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"server_name", - "IncludeInCommandLine":false, - "DefaultValue":"Veloren Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"max_players", - "IncludeInCommandLine":false, - "DefaultValue":"100", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Server Release Version", - "Category":"SteamCMD and Updates", - "Description":"Sets the server release version to install. NOTE: Update the server after changing this setting!", - "Keywords":"server,release,version,nightly,weekly", - "FieldName":"ReleaseVersion", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ReleaseVersion", - "IncludeInCommandLine":false, - "DefaultValue":"weekly", - "EnumValues":{ - "weekly":"Weekly (default)", - "nightly":"Nightly" - } - } -] diff --git a/velorenmetaconfig.json b/velorenmetaconfig.json deleted file mode 100644 index 63c3fcdd8..000000000 --- a/velorenmetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile":"userdata/server/server_config/settings.ron", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"veloren/userdata/server/server_config/AMP_settings.ron" - } -] \ No newline at end of file diff --git a/velorensettings.ron b/velorensettings.ron deleted file mode 100644 index be9ab9694..000000000 --- a/velorensettings.ron +++ /dev/null @@ -1,41 +0,0 @@ -// DO NOT edit settings.ron directly -// AMP_settings.ron controls settings.ron. Edit AMP_settings.ron if you want to add or change certain settings -// NOTE: -// - Do not change values in double curly braces, ie {{}}. They are set either via the AMP UI (under "Server Settings") -// or are controlled by AMP itself (in particular, ports) -// - Other settings can be changed or added as needed -( - gameserver_protocols: [ - Tcp( - address: "0.0.0.0:{{server_port}}", - ), - // Uncomment the block below if you want the server to bind on an IPv6 socket as well as IPv4 - /* - Tcp( - address: "[::]:{{server_port}}", - ), - */ - ], - metrics_address: "127.0.0.1:{{metrics_port}}", - auth_server_address: Some("https://auth.veloren.net"), - max_players: {{max_players}}, - world_seed: 230, - server_name: "{{server_name}}", - start_time: 32400, - map_file: None, - max_view_distance: Some(65), - banned_words_files: [], - max_player_group_size: 6, - client_timeout: ( - secs: 40, - nanos: 0, - ), - spawn_town: None, - max_player_for_kill_broadcast: None, - calendar_mode: Auto, - gameplay: ( - battle_mode: Global(PvP), - safe_spawn: false, - explosion_burn_marks: true, - ), -) diff --git a/velorenupdates.json b/velorenupdates.json deleted file mode 100644 index 56524682d..000000000 --- a/velorenupdates.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.veloren.net/latest/windows/x86_64/{{ReleaseVersion}}", - "UpdateSourceArgs":"{{ReleaseVersion}}.zip", - "UpdateSourceTarget":"{{$FullRootDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://download.veloren.net/latest/linux/x86_64/{{ReleaseVersion}}", - "UpdateSourceArgs":"{{ReleaseVersion}}.zip", - "UpdateSourceTarget":"{{$FullRootDir}}", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Set Executable Flag", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"SetExecutableFlag", - "UpdateSourceArgs":"{{$FullRootDir}}veloren-server-cli" - }, - { - "UpdateStageName":"Config Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}userdata/server/server_config" - }, - { - "UpdateStageName":"Settings Template Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/velorensettings.ron", - "UpdateSourceArgs":"AMP_settings.ron", - "UpdateSourceTarget":"{{$FullBaseDir}}userdata/server/server_config/", - "OverwriteExistingFiles":false - }, - { - "UpdateStageName":"Start Server", - "UpdateSourcePlatform":"All", - "UpdateSource":"StartApplication" - }, - { - "UpdateStageName":"Wait For Server Start", - "UpdateSourcePlatform":"All", - "UpdateSource":"WaitForStartupComplete" - }, - { - "UpdateStageName":"Stop Server", - "UpdateSourcePlatform":"All", - "UpdateSource":"ShutdownApplication" - } -] diff --git a/vintage-story-new.kvp b/vintage-story-new.kvp deleted file mode 100644 index 833669e0c..000000000 --- a/vintage-story-new.kvp +++ /dev/null @@ -1,86 +0,0 @@ -Meta.DisplayName=Vintage Story 1.18.8+ -Meta.Description=Vintage Story Dedicated Server, from v1.18.8+ -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://vintagestory.at -Meta.DisplayImageSource=url:https://content.invisioncic.com/r268468/monthly_2018_02/gamelogo-vintagestory-square.png.d938fbc6101feaae3bbc38019e392ff0.png -Meta.EndpointURIFormat= -Meta.ConfigManifest=vintage-story-newconfig.json -Meta.MetaConfigManifest=vintage-story-newmetaconfig.json -Meta.ConfigRoot=vintage-story-new.kvp -Meta.MinAMPVersion=2.4.6.0 -Meta.SpecificDockerImage= -Meta.DockerRequired=False -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Vintage Story -App.RootDir=./vintage-story/ -App.BaseDirectory=./vintage-story/ -App.ExecutableWin=server\VintagestoryServer.exe -App.ExecutableLinux=server/VintagestoryServer -App.WorkingDir=server -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} --port {{$ServerPort}} --dataPath "{{$FullBaseDir}}data" {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={"DOTNET_ROOT":"{{$FullRootDir}}dotnet"} -App.CommandLineParameterFormat=--{0} {1} -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=/stop -App.ExitFile=lock -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"TCP","Name":"Server Port","Description":"Port for game traffic","Port":42420,"Ref":"ServerPort"}] -App.AdminPortRef=ServerPort -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=ServerPort -App.MaxUsers=16 -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=@IncludeJson[vintage-story-newupdates.json] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName=VintagestoryServer.dll -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^[\d.]*\s*[\d:]+ \[Server Event\] Dedicated Server now running on Port \d+ and (all ips|ip .*)!$ -Console.UserJoinRegex=^[\d.]*\s*[\d:]+ \[Server Event\] (?<username>.+?) [\[\]a-f\d:.]+ joins\.$ -Console.UserLeaveRegex=^[\d.]*\s*[\d:]+ \[Server Event\] Player (?<username>.+?) (left|got removed\. Reason: Server shutting down - Shutdown via server command).*$ -Console.UserChatRegex=^[\d.]*\s*[\d:]+ \[Server Chat\] (?<username>.+?): <strong>(?<username>.+?):</strong> (?<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 diff --git a/vintage-story-newconfig.json b/vintage-story-newconfig.json deleted file mode 100644 index 5e1946698..000000000 --- a/vintage-story-newconfig.json +++ /dev/null @@ -1,148 +0,0 @@ -[ - { - "DisplayName":"Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"$.Port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Dotnet Version", - "Category":"Server Settings", - "Description":"Sets the [ASP.NET Core 7.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) to install to run the server. NOTE: Update the server after switching versions!", - "Keywords":"dotnet,version", - "FieldName":"DotnetVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"DotnetVersion", - "IncludeInCommandLine":false, - "DefaultValue":"7.0.10", - "Placeholder":"7.0.10", - "EnumValues":{} - }, - { - "DisplayName":"Server Version", - "Category":"Server Settings", - "Description":"Sets the server version to install. Minimum v1.18.8. NOTE: Update the server after changing this setting!", - "Keywords":"server,version", - "FieldName":"ServerVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"ServerVersion", - "IncludeInCommandLine":false, - "DefaultValue":"1.18.8", - "Placeholder":"1.18.8", - "EnumValues":{} - }, - { - "DisplayName":"Make Server Public", - "Category":"Server Settings", - "Description":"If enabled, the server will be added to the public server listing", - "Keywords":"public", - "FieldName":"AdvertiseServer", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.AdvertiseServer", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Server name visible in the server list", - "Keywords":"server,name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"Vintage Story Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"Server Settings", - "Description":"Welcome message when players join the server. Placeholder {0} will be replaced with the player's nickname", - "Keywords":"welcome,message,motd", - "FieldName":"WelcomeMessage", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.WelcomeMessage", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome, {0}, may you survive well and prosper", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.MaxClients", - "IncludeInCommandLine":false, - "DefaultValue":"16", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Enable Whitelist", - "Category":"Server Settings", - "Description":"If enabled, only whitelisted players can join the server", - "Keywords":"whitelist", - "FieldName":"OnlyWhitelisted", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.OnlyWhitelisted", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow PvP", - "Category":"Server Settings", - "Description":"If enabled, players can hit other players", - "Keywords":"pvp", - "FieldName":"AllowPvP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.AllowPvP", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Enable UPnP", - "Category":"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":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - } -] diff --git a/vintage-story-newmetaconfig.json b/vintage-story-newmetaconfig.json deleted file mode 100644 index cb13025d7..000000000 --- a/vintage-story-newmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"data/serverconfig.json", - "AutoMap":true, - "ConfigType":"json" - } -] \ No newline at end of file diff --git a/vintage-story-newupdates.json b/vintage-story-newupdates.json deleted file mode 100644 index e953ca5e3..000000000 --- a/vintage-story-newupdates.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - { - "UpdateStageName":"Delete Server Directory", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server'" - }, - { - "UpdateStageName":"Delete Server Directory", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server" - }, - { - "UpdateStageName":"Dotnet Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}dotnet" - }, - { - "UpdateStageName":"Server Directory Creation", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}server" - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"ASP.NET Core Runtime Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz", - "UpdateSourceTarget":"{{$FullBaseDir}}dotnet", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://cdn.vintagestory.at/gamefiles/stable/vs_server_win-x64_{{ServerVersion}}.zip", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_{{ServerVersion}}.tar.gz", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "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" - } -] \ No newline at end of file diff --git a/vintage-story.kvp b/vintage-story.kvp deleted file mode 100644 index 760e96b4b..000000000 --- a/vintage-story.kvp +++ /dev/null @@ -1,86 +0,0 @@ -Meta.DisplayName=Vintage Story (Legacy) -Meta.Description=Vintage Story Dedicated Server, up to v1.18.7 -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://vintagestory.at -Meta.DisplayImageSource=url:https://content.invisioncic.com/r268468/monthly_2018_02/gamelogo-vintagestory-square.png.d938fbc6101feaae3bbc38019e392ff0.png -Meta.EndpointURIFormat= -Meta.ConfigManifest=vintage-storyconfig.json -Meta.MetaConfigManifest=vintage-storymetaconfig.json -Meta.ConfigRoot=vintage-story.kvp -Meta.MinAMPVersion=2.4.0.2 -Meta.SpecificDockerImage=cubecoders/ampbase:mono -Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False -App.DisplayName=Vintage Story -App.RootDir=./vintage-story/ -App.BaseDirectory=./vintage-story/ -App.ExecutableWin=server\VintagestoryServer.exe -App.ExecutableLinux=/usr/bin/mono -App.WorkingDir=server -App.LinuxCommandLineArgs=./VintagestoryServer.exe -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} --port {{$ServerPort}} --dataPath "{{$FullBaseDir}}data" {{$FormattedArgs}} -App.UseLinuxIOREDIR=False -App.AppSettings={} -App.EnvironmentVariables={} -App.CommandLineParameterFormat=--{0} {1} -App.CommandLineParameterDelimiter= -App.ExitMethod=String -App.ExitTimeout=30 -App.ExitString=/stop -App.ExitFile=lock -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"TCP","Name":"Server Port","Description":"Port for game traffic","Port":42420,"Ref":"ServerPort"}] -App.AdminPortRef=ServerPort -App.PrimaryApplicationPortRef=ServerPort -App.UniversalSleepApplicationUDPPortRef=ServerPort -App.UniversalSleepSteamQueryPortRef=ServerPort -App.MaxUsers=16 -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":"Delete Server Directory","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server'"},{"UpdateStageName":"Delete Server Directory","UpdateSourcePlatform":"Windows","UpdateSource":"Executable","UpdateSourceData":"cmd.exe","UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server"},{"UpdateStageName":"Server Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}server"},{"UpdateStageName":"Server Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://cdn.vintagestory.at/gamefiles/stable/vs_server_{{ServerVersion}}.tar.gz","UpdateSourceTarget":"{{$FullBaseDir}}server","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=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName=VintagestoryServer.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.]*\s*[\d:]+ \[Server Event\] Dedicated Server now running on Port \d+ and (all ips|ip .*)!$ -Console.UserJoinRegex=^[\d.]*\s*[\d:]+ \[Server Event\] (?<username>.+?) [\[\]a-f\d:.]+ joins\.$ -Console.UserLeaveRegex=^[\d.]*\s*[\d:]+ \[Server Event\] Player (?<username>.+?) (left|got removed\. Reason: Server shutting down - Shutdown via server command).*$ -Console.UserChatRegex=^[\d.]*\s*[\d:]+ \[Server Chat\] (?<username>.+?): <strong>(?<username>.+?):</strong> (?<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 diff --git a/vintage-storyconfig.json b/vintage-storyconfig.json deleted file mode 100644 index d21316c61..000000000 --- a/vintage-storyconfig.json +++ /dev/null @@ -1,182 +0,0 @@ -[ - { - "DisplayName":"Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"$.Port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Server Version", - "Category":"Server Settings", - "Description":"Sets the server version to install, up to v1.18.7 only. NOTE: Update the server after changing this setting!", - "Keywords":"server,version", - "FieldName":"ServerVersion", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ServerVersion", - "IncludeInCommandLine":false, - "DefaultValue":"1.18.7", - "EnumValues":{ - "1.18.7":"1.18.7", - "1.18.6":"1.18.6", - "1.18.5":"1.18.5", - "1.18.4":"1.18.4", - "1.18.3":"1.18.3", - "1.18.2":"1.18.2", - "1.18.1":"1.18.1", - "1.18.0":"1.18.0", - "1.17.12":"1.17.12", - "1.17.11":"1.17.11", - "1.17.10":"1.17.10", - "1.17.9":"1.17.9", - "1.17.8":"1.17.8", - "1.17.7":"1.17.7", - "1.17.6":"1.17.6", - "1.17.5":"1.17.5", - "1.17.4":"1.17.4", - "1.17.3":"1.17.3", - "1.17.2":"1.17.2", - "1.17.1":"1.17.1", - "1.17.0":"1.17.0", - "1.16.5":"1.16.5", - "1.16.4":"1.16.4", - "1.16.3":"1.16.3", - "1.16.2":"1.16.2", - "1.16.1":"1.16.1", - "1.16.0":"1.16.0", - "1.15.10":"1.15.10", - "1.15.9":"1.15.9", - "1.15.8":"1.15.8", - "1.15.7":"1.15.7", - "1.15.6":"1.15.6", - "1.15.5":"1.15.5", - "1.15.4":"1.15.4", - "1.15.3":"1.15.3", - "1.15.2":"1.15.2", - "1.15.1":"1.15.1", - "1.15.0":"1.15.0", - "1.14.10":"1.14.10", - "1.13.4":"1.13.4", - "1.13.3":"1.13.3", - "1.13.2":"1.13.2", - "1.13.1":"1.13.1", - "1.13.0":"1.13.0", - "1.12.14":"1.12.14", - "1.11.11":"1.11.11", - "1.10.19":"1.10.19", - "1.9.14":"1.9.14" - } - }, - { - "DisplayName":"Make Server Public", - "Category":"Server Settings", - "Description":"If enabled, the server will be added to the public server listing", - "Keywords":"public", - "FieldName":"AdvertiseServer", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.AdvertiseServer", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Server name visible in the server list", - "Keywords":"server,name", - "FieldName":"ServerName", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.ServerName", - "IncludeInCommandLine":false, - "DefaultValue":"Vintage Story Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"Server Settings", - "Description":"Welcome message when players join the server. Placeholder {0} will be replaced with the player's nickname", - "Keywords":"welcome,message,motd", - "FieldName":"WelcomeMessage", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"$.WelcomeMessage", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome, {0}, may you survive well and prosper", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"$.MaxClients", - "IncludeInCommandLine":false, - "DefaultValue":"16", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Enable Whitelist", - "Category":"Server Settings", - "Description":"If enabled, only whitelisted players can join the server", - "Keywords":"whitelist", - "FieldName":"OnlyWhitelisted", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.OnlyWhitelisted", - "IncludeInCommandLine":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Allow PvP", - "Category":"Server Settings", - "Description":"If enabled, players can hit other players", - "Keywords":"pvp", - "FieldName":"AllowPvP", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"$.AllowPvP", - "IncludeInCommandLine":false, - "DefaultValue":"true", - "EnumValues":{ - "True":"true", - "False":"false" - } - }, - { - "DisplayName":"Enable UPnP", - "Category":"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":false, - "DefaultValue":"false", - "EnumValues":{ - "True":"true", - "False":"false" - } - } -] diff --git a/vintage-storymetaconfig.json b/vintage-storymetaconfig.json deleted file mode 100644 index cb13025d7..000000000 --- a/vintage-storymetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile":"data/serverconfig.json", - "AutoMap":true, - "ConfigType":"json" - } -] \ No newline at end of file diff --git a/windward.kvp b/windward.kvp deleted file mode 100644 index a4568051b..000000000 --- a/windward.kvp +++ /dev/null @@ -1,87 +0,0 @@ -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:]+\] (?<username>.+?) \((?:[\d\.:]+?), (?:.+?), (?<userid>.+?)\): Passed a ban check: (?:.+)$ -Console.UserLeaveRegex=^\[[\d\/]+ [\d:]+\] (?<username>.+?) \((?:[\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 deleted file mode 100755 index 7647771f2..000000000 --- a/windwardconfig.json +++ /dev/null @@ -1,60 +0,0 @@ -[ - { - "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 deleted file mode 100644 index 130e4e4e7..000000000 --- a/windwardmetaconfig.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/wreckfest.kvp b/wreckfest.kvp deleted file mode 100644 index 2c1150ada..000000000 --- a/wreckfest.kvp +++ /dev/null @@ -1,82 +0,0 @@ -Meta.DisplayName=Wreckfest -Meta.Description=Wreckfest Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=Greelan -Meta.URL=https://order.wreckfestgame.com/ -Meta.DisplayImageSource=steam:228380 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} -Meta.ConfigManifest=wreckfestconfig.json -Meta.MetaConfigManifest=wreckfestmetaconfig.json -Meta.ConfigRoot=wreckfest.kvp -Meta.MinAMPVersion=2.3.3.4 -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.DockerRequired=False -Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. -Meta.Prerequsites=[] -App.DisplayName=Wreckfest -App.RootDir=./wreckfest/ -App.BaseDirectory=./wreckfest/361580/ -App.SteamWorkshopDownloadLocation={{$FullBaseDir}}mods -App.ExecutableWin=361580\Wreckfest_x64.exe -App.ExecutableLinux=/usr/bin/xvfb-run -App.WorkingDir=361580 -App.LinuxCommandLineArgs=-a wine "./Wreckfest_x64.exe" -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} -s server_config=server_config.cfg --save-dir={{$FullBaseDir}}saved -server_set game_port={{$GamePort}} steam_port={{$SteamPort}} query_port={{$QueryPort}} {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"228380","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} -App.CommandLineParameterFormat={0}={1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=exit -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":33540,"Ref":"GamePort","Name":"Game Port","Description":"Port for main game traffic"},{"Protocol":"Both","Port":27015,"Ref":"SteamPort","Name":"Steam Port","Description":"Port for extended server info"},{"Protocol":"UDP","Port":27016,"Ref":"QueryPort","Name":"Query Port","Description":"Port for server query"}] -App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPortRef=GamePort -App.UniversalSleepSteamQueryPortRef=QueryPort -App.MaxUsers=24 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword= -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","UpdateSourceArgs":"228380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create Mods Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/mods","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.MonitorChildProcess=True -App.MonitorChildProcessWaitMs=2000 -App.MonitorChildProcessName=wine64 -App.SupportsUniversalSleep=False -App.WakeupMode=Any -App.ApplicationReadyMode=Immediate -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ -Console.AppReadyRegex=^[\d:]+ Server connected to Steam\.$ -Console.UserJoinRegex=^[\d:]+ Player (?<username>.+?) \((?<userid>.+?)\) connected\.$ -Console.UserLeaveRegex=^[\d:]+ Player (?<username>.+?) \((?<userid>.+?)\) disconnected\.$ -Console.UserChatRegex=^[\d:]+ (?<username>.+?): (?<message>.+)$ -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/wreckfestconfig.json b/wreckfestconfig.json deleted file mode 100644 index ce6c85c7f..000000000 --- a/wreckfestconfig.json +++ /dev/null @@ -1,623 +0,0 @@ -[ - { - "DisplayName":"Game Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$GamePort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"game_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Steam Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$SteamPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"steam_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Query Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$QueryPort", - "InputType":"number", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"query_port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Log File", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"log", - "InputType":"text", - "IsFlagArgument":false, - "Hidden":true, - "ParamFieldName":"log", - "IncludeInCommandLine":false, - "DefaultValue":"log.txt", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Sets the name of the server shown publicly (63 character limit)", - "Keywords":"server,name", - "FieldName":"server_name", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"server_name", - "IncludeInCommandLine":false, - "DefaultValue":"Wreckfest Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Server Password", - "Category":"Server Settings", - "Description":"Sets the password required to connect to the server (31 character limit). You should change this after first installing the server", - "Keywords":"server,password", - "FieldName":"password", - "InputType":"password", - "IsFlagArgument":false, - "ParamFieldName":"password", - "IncludeInCommandLine":false, - "DefaultValue":"{{newguid()}}", - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"Server Settings", - "Description":"Sets the player welcome message or MOTD (254 character limit)", - "Keywords":"welcome,message,motd,welcome_message", - "FieldName":"welcome_message", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"welcome_message", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to Wreckfest. Hosted using AMP by CubeCoders", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Sets the maximum number of players that may connect to the server at one time", - "Keywords":"players,limit,max_players", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "IsFlagArgument":false, - "ParamFieldName":"max_players", - "IncludeInCommandLine":false, - "DefaultValue":"24", - "Suffix":"players", - "EnumValues":{} - }, - { - "DisplayName":"Exclude Quick Match Users", - "Category":"Server Settings", - "Description":"When enabled, users entering Quick Match cannot join the server", - "Keywords":"quick,match,exclude,exclude_from_quickplay", - "FieldName":"exclude_from_quickplay", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"exclude_from_quickplay", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Clear User Privileges On Launch", - "Category":"Server Settings", - "Description":"When enabled, clears previous user privileges when launching the server", - "Keywords":"user,privileges,clear_users", - "FieldName":"clear_users", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"clear_users", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"No Owner Privileges For First User", - "Category":"Server Settings", - "Description":"When set, owner privileges are not given to the first user who joins", - "Keywords":"first,owner,privileges,owner_disabled", - "FieldName":"owner_disabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"owner_disabled", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Admin Controls Countdown", - "Category":"Server Settings", - "Description":"When enabled, admin starts the countdown by setting themselves ready. Otherwise the countdown is automatic", - "Keywords":"admin,control,countdown,admin_control", - "FieldName":"admin_control", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"admin_control", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Countdown Duration", - "Category":"Server Settings", - "Description":"Sets the duration of the countdown", - "Keywords":"countdown,duration,lobby_countdown", - "FieldName":"lobby_countdown", - "InputType":"number", - "MinValue":"30", - "MaxValue":"127", - "IsFlagArgument":false, - "ParamFieldName":"lobby_countdown", - "IncludeInCommandLine":false, - "DefaultValue":"30", - "Placeholder":"30", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Required Players for Automatic Countdown", - "Category":"Server Settings", - "Description":"Sets the percentage of players required to be ready to initiate automatic countdown, if enabled", - "Keywords":"players,countdown,ready_players_required", - "FieldName":"ready_players_required", - "InputType":"number", - "MinValue":"0", - "MaxValue":"100", - "IsFlagArgument":false, - "ParamFieldName":"ready_players_required", - "IncludeInCommandLine":false, - "DefaultValue":"50", - "Suffix":"%", - "EnumValues":{} - }, - { - "DisplayName":"Admins", - "Category":"Server Settings", - "Description":"Comma separated list of [Steam64 IDs](https://steamidfinder.com/) of players automatically granted admin privileges", - "Keywords":"admin,privileges,automatic,admin_steam_ids", - "FieldName":"admin_steam_ids", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"admin_steam_ids", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"76561198035765683,68475837697026445", - "EnumValues":{} - }, - { - "DisplayName":"Moderators", - "Category":"Server Settings", - "Description":"Comma separated list of [Steam64 IDs](https://steamidfinder.com/) of players automatically granted moderator privileges", - "Keywords":"moderator,privileges,automatic,op_steam_ids", - "FieldName":"op_steam_ids", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"op_steam_ids", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"76561198035765683,68475837697026445", - "EnumValues":{} - }, - { - "DisplayName":"Session Mode", - "Category":"Server Settings", - "Description":"Sets the session mode for server side point counting across multiple events", - "Keywords":"session,mode,session_mode", - "FieldName":"session_mode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"session_mode", - "IncludeInCommandLine":false, - "DefaultValue":"normal", - "EnumValues":{ - "normal":"Normal (single event, no cup mode) (default)", - "qualify-sprint":"Qualifying sprint (finishing positions determine - needs \"Qualifying session\" grid order)", - "qualify-lap":"Qualifying lap (lap times determine - needs \"Qualifying session\" grid order)", - "30p-aggr":"Winner 30 (then 27, 25, 23, 20, followed by 1 point less per position)", - "25p-aggr":"Winner 25 (then 18, 15, 12, 10, 8, 6, 4, 2, 1, followed by no points)", - "25p-mod":"Winner 25 (then 20, 16, 11, followed by 1 point less per position up to position 15)", - "24p-lin":"Winner 24 (then 1 point less per position)", - "16p-lin":"Winner 16 (then 1 point less per position for next 15 positions)", - "10p-double":"Winner 20 (then 2 points less per position for next 10 positions)", - "10p-lin":"Winner 10 (then 1 point less per position for next 9 positions)", - "35p-folk":"Winner 35 (then 30, 25, 20, 18, 16, followed by one 1 point less per position up to position 21)", - "f1-1991":"Winner 10 (then 6, 4, 3, 2, 1, followed by no points)", - "f1-2003":"Winner 10 (then 8, 6, 5, 4, 3, 2, 1, followed by no points)", - "f1-2010":"Winner 25 (then 18, 15, 12, 10, 8, 6, 4, 2, 1, followed by no points)", - "player_count_1":"Winner [player count] (then 1 less point per position)" - } - }, - { - "DisplayName":"Grid Order", - "Category":"Server Settings", - "Description":"Sets the method for sorting the grid order", - "Keywords":"grid,order,grid_order", - "FieldName":"grid_order", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"grid_order", - "IncludeInCommandLine":false, - "DefaultValue":"perf_normal", - "EnumValues":{ - "random":"Random", - "perf_normal":"Performance points (fastest at front) (default)", - "perf_reverse":"Performance points (fastest at back)", - "qualifying":"Qualifying session", - "cup_normal":"Cup points (highest at front)", - "cup_reverse":"Cup points (highest at back)" - } - }, - { - "DisplayName":"Event Rotation", - "Category":"Server Settings", - "Description":"Event rotation (or event loop) settings must be configured in server_config.cfg. Use the command \"/eventloop\" to enable/disable event rotation while in the server lobby", - "Keywords":"event,rotation,eventloop", - "FieldName":"eventloop", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"eventloop", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Enable Player Voting", - "Category":"Server Settings", - "Description":"When enabled, players will vote for the next event after previous event has ended (event rotation needs to be configured and enabled). Can be triggered by command \"startvote\" when players in unlocked lobby", - "Keywords":"event,voting,enable_track_vote", - "FieldName":"enable_track_vote", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"enable_track_vote", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Don't Kick Idling Players", - "Category":"Server Settings", - "Description":"When enabled, idling players will not be kicked while an event is in progress", - "Keywords":"kick,idle,idling,disable_idle_kick", - "FieldName":"disable_idle_kick", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"disable_idle_kick", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Track", - "Category":"Server Settings", - "Description":"Sets the track. List available track names with the command \"tracks\"", - "Keywords":"track", - "FieldName":"track", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"track", - "IncludeInCommandLine":false, - "DefaultValue":"speedway2_demolition_arena", - "Placeholder":"speedway2_demolition_arena", - "EnumValues":{} - }, - { - "DisplayName":"Game Mode", - "Category":"Server Settings", - "Description":"Sets the game mode", - "Keywords":"game,mode,gamemode", - "FieldName":"gamemode", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"gamemode", - "IncludeInCommandLine":false, - "DefaultValue":"derby deathmatch", - "EnumValues":{ - "racing":"Racing", - "derby":"Derby", - "derby deathmatch":"Derby deathmatch (default)", - "team derby":"Team derby", - "team race":"Team race", - "elimination race":"Elimination race" - } - }, - { - "DisplayName":"Bot Quantity", - "Category":"Server Settings", - "Description":"Pre-populates the server with the set number of AI bots", - "Keywords":"ai,bots", - "FieldName":"bots", - "InputType":"number", - "MinValue":"0", - "MaxValue":"24", - "IsFlagArgument":false, - "ParamFieldName":"bots", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"bots", - "EnumValues":{} - }, - { - "DisplayName":"AI Difficulty", - "Category":"Server Settings", - "Description":"Sets the difficulty setting of AI bots", - "Keywords":"ai,difficulty,ai_difficulty", - "FieldName":"ai_difficulty", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"ai_difficulty", - "IncludeInCommandLine":false, - "DefaultValue":"amateur", - "EnumValues":{ - "novice":"Novice", - "amateur":"Amateur (default)", - "expert":"Expert" - } - }, - { - "DisplayName":"Team Number", - "Category":"Server Settings", - "Description":"Sets the number of teams in team racing and team deathmatch game modes", - "Keywords":"team,number", - "FieldName":"num_teams", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"num_teams", - "IncludeInCommandLine":false, - "DefaultValue":"2", - "EnumValues":{ - "2":"2 (default)", - "3":"3", - "4":"4" - } - }, - { - "DisplayName":"Lap Number", - "Category":"Server Settings", - "Description":"Sets the number of laps in race game modes", - "Keywords":"laps", - "FieldName":"laps", - "InputType":"number", - "MinValue":"1", - "MaxValue":"60", - "IsFlagArgument":false, - "ParamFieldName":"laps", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Placeholder":"1", - "Suffix":"laps", - "EnumValues":{} - }, - { - "DisplayName":"Deathmatch Time Limit", - "Category":"Server Settings", - "Description":"Sets the deathmatch game mode time limit", - "Keywords":"deathmatch,time,limit,time_limit", - "FieldName":"time_limit", - "InputType":"number", - "MinValue":"0", - "IsFlagArgument":false, - "ParamFieldName":"time_limit", - "IncludeInCommandLine":false, - "DefaultValue":"5", - "Placeholder":"5", - "Suffix":"minutes", - "EnumValues":{} - }, - { - "DisplayName":"Elimination Interval Time", - "Category":"Server Settings", - "Description":"Sets the elimination interval time for elimination races", - "Keywords":"elimination,interval,time,elimination_interval", - "FieldName":"elimination_interval", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"elimination_interval", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "0":"Each lap (default)", - "20":"20", - "30":"30", - "45":"45", - "60":"60", - "90":"90", - "120":"120" - } - }, - { - "DisplayName":"Vehicle Damage Level", - "Category":"Server Settings", - "Description":"Sets the vehicle damage level", - "Keywords":"vehicle,damage,vehicle_damage", - "FieldName":"vehicle_damage", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"vehicle_damage", - "IncludeInCommandLine":false, - "DefaultValue":"normal", - "EnumValues":{ - "normal":"Normal (default)", - "intense":"Intense", - "realistic":"Realistic", - "extreme":"Extreme" - } - }, - { - "DisplayName":"Maximum Vehicle Class", - "Category":"Server Settings", - "Description":"Allows only vehicles up to the class set", - "Keywords":"vehicle,class,car_class_restriction", - "FieldName":"car_class_restriction", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"car_class_restriction", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{ - "":"No restriction (default)", - "a":"Class A", - "b":"Class B", - "c":"Class C" - } - }, - { - "DisplayName":"Specific Car Allowed", - "Category":"Server Settings", - "Description":"If enabled, allows only the specific car listed. Leave blank for no restriction. List available cars with the command \"cars\"", - "Keywords":"car,allowed,car_restriction", - "FieldName":"car_restriction", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"car_restriction", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Disallow Special Vehicles", - "Category":"Server Settings", - "Description":"If set, disallows use of special vehicles", - "Keywords":"disallow,special,vehicles,special_vehicles_disabled", - "FieldName":"special_vehicles_disabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"special_vehicles_disabled", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Disallow Car Reset", - "Category":"Server Settings", - "Description":"If set, disallows car reset", - "Keywords":"disallow,car,reset,car_reset_disabled", - "FieldName":"car_reset_disabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"car_reset_disabled", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Car Reset Delay", - "Category":"Server Settings", - "Description":"Sets the car reset delay", - "Keywords":"car,reset,delay,car_reset_delay", - "FieldName":"car_reset_delay", - "InputType":"number", - "MinValue":"0", - "MaxValue":"20", - "IsFlagArgument":false, - "ParamFieldName":"car_reset_delay", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "Placeholder":"0", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Disable Speed Limiter", - "Category":"Server Settings", - "Description":"If set, disables the speed limiter for players that drive the wrong way", - "Keywords":"disallow,speed,limiter,wrong_way_limiter_disabled", - "FieldName":"wrong_way_limiter_disabled", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"wrong_way_limiter_disabled", - "IncludeInCommandLine":false, - "DefaultValue":"0", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Weather", - "Category":"Server Settings", - "Description":"Sets the event weather. Leave blank for random weather. List available weather names with the command \"weathers\"", - "Keywords":"weather", - "FieldName":"weather", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"weather", - "IncludeInCommandLine":false, - "DefaultValue":"", - "EnumValues":{} - }, - { - "DisplayName":"Server Update Frequency", - "Category":"Server Settings", - "Description":"Sets the frequency for the server updating clients. Low = reduced bandwidth used, but clients use more CPU for prediction. High = higher bandwidth, lower client CPU", - "Keywords":"update,frequency", - "FieldName":"frequency", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"frequency", - "IncludeInCommandLine":false, - "DefaultValue":"high", - "EnumValues":{ - "low":"Low", - "high":"High" - } - }, - { - "DisplayName":"Enabled Mods", - "Category":"Server Settings", - "Description":"Comma separated list of mod directories to enable on the server. Specify simply the mod ID for any mods downloaded under SteamCMD and Updates. All mod directories need to be in the server's \"mods\" folder", - "Keywords":"mods", - "FieldName":"mods", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"mods", - "IncludeInCommandLine":false, - "DefaultValue":"", - "Placeholder":"764432700,1462061824", - "EnumValues":{} - } -] \ No newline at end of file diff --git a/wreckfestmetaconfig.json b/wreckfestmetaconfig.json deleted file mode 100644 index 3458b290b..000000000 --- a/wreckfestmetaconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "ConfigFile":"server_config.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormatRegex":"^#?(?<key>[^\\s]+?)=(?<value>.*?)$" - } -] diff --git a/wurm-unlimited.kvp b/wurm-unlimited.kvp deleted file mode 100644 index 379c32df7..000000000 --- a/wurm-unlimited.kvp +++ /dev/null @@ -1,77 +0,0 @@ -Meta.DisplayName=Wurm Unlimited -Meta.Description=Wurm Unlimited Dedicated Server -Meta.OS=Windows, Linux -Meta.Arch=x86_64 -Meta.Author=IceOfWraith -Meta.URL=https://store.steampowered.com/app/366220/Wurm_Unlimited/ -Meta.DisplayImageSource=steam:366220 -Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} -Meta.ConfigManifest=wurm-unlimitedconfig.json -Meta.MetaConfigManifest=wurm-unlimitedmetaconfig.json -Meta.ConfigRoot=wurm-unlimited.kvp -Meta.MinAMPVersion=2.3.2.1 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported -Meta.Prerequsites=[] -Meta.ConfigReleaseState=NotSpecified -App.DisplayName=Wurm Unlimited -App.RootDir=./wurm-unlimited/ -App.BaseDirectory=./wurm-unlimited/402370/ -App.ExecutableWin=402370\WurmServerLauncher.exe -App.ExecutableLinux=402370/WurmServerLauncher -App.WorkingDir=402370 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs=ip="{{$ApplicationIPBinding}}" externalport="{{$ApplicationPort1}}" queryport="{{$ApplicationPort2}}" {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"366220"} -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.ApplicationPort1=8766 -App.ApplicationPort2=27016 -App.ApplicationPort3=0 -App.RemoteAdminPort=0 -App.MaxUsers=100 -App.UseRandomAdminPassword=False -App.RemoteAdminPassword=Password123 -App.AdminMethod=STDIO -App.AdminLoginTransform=None -App.RCONConnectDelaySeconds=5 -App.RCONConnectRetrySeconds=5 -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"402370","UpdateSourceArgs":"366220"},{"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=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=27015 -App.UniversalSleepSteamQueryPort=27016 -App.WakeupMode=Any -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Wurm Server launcher finished at.+$ -Console.UserJoinRegex=^Client was Authenticated$ -Console.UserLeaveRegex=^Client was NOT Authenticated$ -Console.UserChatRegex=^\[\d\d:\d\d:\d\d\] \[CHAT\] <(?<username>.+?)> (?<message>.+)$ -Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} -Limits.SleepMode=True -Limits.SleepOnStart=False -Limits.SleepDelayMinutes=5 -Limits.DozeDelay=2 -Limits.AutoRetryCount=5 diff --git a/wurm-unlimitedconfig.json b/wurm-unlimitedconfig.json deleted file mode 100644 index ffe6b808f..000000000 --- a/wurm-unlimitedconfig.json +++ /dev/null @@ -1,228 +0,0 @@ -[ - { - "DisplayName": "Server Name", - "Description": "The name of the server that will be visible in server browsers.", - "Category": "Server Settings", - "Keywords": "servername", - "FieldName": "servername", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "servername", - "IncludeInCommandLine": true, - "DefaultValue": "AMP Powered Server", - "EnumValues": {} - }, - { - "DisplayName": "Server Password", - "Category": "Server Settings", - "Description": "Sets the password that is used when trying to connect to the server.", - "Keywords": "admin,password", - "FieldName": "serverpassword", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "serverpassword", - "IncludeInCommandLine": true, - "DefaultValue": "", - "SkipIfEmpty": true - }, - { - "DisplayName": "Admin Password", - "Category": "Server Settings", - "Description": "Unlocks the admin commands from within the game, that can be used to change the gameplay settings of the server, such as skill gain rate and field growth time.", - "Keywords": "admin,password", - "FieldName": "adminpwd", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "adminpwd", - "IncludeInCommandLine": true, - "DefaultValue": "{{newguid()}}" - }, - { - "DisplayName": "Max Players", - "Description": "Sets the max number of players allowed on the server. This overrides the internal game commands to change the player limit.", - "Category": "Server Settings", - "Keywords": "max,players", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "maxplayers", - "IncludeInCommandLine": true, - "DefaultValue": "100", - "EnumValues": {}, - "MinValue":"1" - }, - { - "DisplayName": "Game Mode", - "Category": "Server Settings", - "Description": "Starts the server with the configuration and world data from the subdirectory specified.", - "Keywords": "game,mode", - "FieldName": "start", - "InputType": "enum", - "IsFlagArgument": false, - "ParamFieldName": "start", - "IncludeInCommandLine": true, - "DefaultValue": "dist/Adventure", - "EnumValues": { - "dist/Adventure": "Adventure", - "dist/Creative": "Creative" - } - }, - { - "DisplayName": "Enable Epic Settings", - "Description": "If true the server will follow the rules from the Epic servers in Wurm Online. For instance it will use the skill curve.", - "Category": "Server Settings", - "Keywords": "enable,epic,settings", - "FieldName": "epicsettings", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "epicsettings", - "IncludeInCommandLine": true, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable PVP", - "Description": "Toggles PvP on or off on the server.", - "Category": "Server Settings", - "Keywords": "enable,pvp", - "FieldName": "pvp", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "pvp", - "IncludeInCommandLine": true, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Set as Login Server", - "Description": "Defaults to On, should only be set to Off if the server is intended to be connected with another server that is going to act as a loginserver.", - "Category": "Server Settings", - "Keywords": "login,server", - "FieldName": "loginserver", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "loginserver", - "IncludeInCommandLine": true, - "DefaultValue": "true", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Enable Home Server", - "Description": "If the server is a home server (belongs to a single kingdom).", - "Category": "Server Settings", - "Keywords": "home,server", - "FieldName": "homeserver", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "homeserver", - "IncludeInCommandLine": true, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Home Kingdom ID", - "Description": "The kingdom the server belongs to.", - "Category": "Server Settings", - "Keywords": "home,kingdom", - "FieldName": "homekingdom", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "homekingdom", - "IncludeInCommandLine": true, - "DefaultValue": "", - "EnumValues": {}, - "SkipIfEmpty": true - }, - { - "DisplayName": "RMI Port", - "Description": "Used for server to server communication. Must manually add the same port number under the ADS Edit Ports button.", - "Category": "Server Settings", - "Keywords": "rmi,port", - "FieldName": "rmiport", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "rmiport", - "IncludeInCommandLine": true, - "DefaultValue": "", - "EnumValues": {}, - "SkipIfEmpty": true - }, - { - "DisplayName": "RMI REG Port", - "Description": "Used for server to server communication. Must manually add the same port number under the ADS Edit Ports button.", - "Category": "Server Settings", - "Keywords": "rmi,reg,port", - "FieldName": "rmiregport", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "rmiregport", - "IncludeInCommandLine": true, - "DefaultValue": "", - "EnumValues": {}, - "SkipIfEmpty": true - }, - { - "DisplayName": "Memory Limit", - "Category": "Server Settings", - "Description": "Java's maximum heap size (Must include ####m at the end)", - "Keywords": "maximum,memory,limit", - "FieldName": "MaxHeapSize", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Memory.MaxHeapSize", - "IncludeInCommandLine": false, - "DefaultValue": "2048m" - }, - { - "DisplayName": "Custom Java Arguments", - "Category": "Server Settings", - "Description": "Settings that will be appended to the Java arguments for the server. Only change this if you know what you're doing!", - "Keywords": "custom,java,arguments,args", - "FieldName": "JvmParam0", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "VMParams.JvmParam0", - "IncludeInCommandLine": false, - "DefaultValue": "-XX:+AggressiveOpts" - }, - { - "DisplayName": "Override Java Location", - "Category": "Server Settings", - "Description": "For \"Failed to load jvm.dll\", enables use of the Custom Java Location setting.", - "Keywords": "custom,java,arguments,args,location", - "FieldName": "OverrideDefaultJavaPath", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "Runtime.OverrideDefaultJavaPath", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "True": "true", - "False": "false" - } - }, - { - "DisplayName": "Custom Java Location", - "Category": "Server Settings", - "Description": "For \"Failed to load jvm.dll\", specify a location where jvm.dll is located.", - "Keywords": "custom,java,arguments,args,location", - "FieldName": "JavaPath", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "Runtime.JavaPath", - "IncludeInCommandLine": false, - "DefaultValue": "C:\\Program Files\\Java\\jre1.8.0_321\\bin\\server" - } -] \ No newline at end of file diff --git a/wurm-unlimitedmetaconfig.json b/wurm-unlimitedmetaconfig.json deleted file mode 100644 index dbaec83d6..000000000 --- a/wurm-unlimitedmetaconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "ConfigFile": "./LaunchConfig.ini", - "AutoMap": true, - "ConfigType": "ini" - } -] \ No newline at end of file diff --git a/xonotic.kvp b/xonotic.kvp deleted file mode 100644 index 0cbebd0fd..000000000 --- a/xonotic.kvp +++ /dev/null @@ -1,60 +0,0 @@ -Meta.DisplayName=Xonotic -Meta.Description=Xonotic Dedicated Server -Meta.OS=Windows, Linux -Meta.Author=Greelan -Meta.URL=https://xonotic.org -Meta.DisplayImageSource=url:https://gitlab.com/xonotic/xonotic/-/raw/master/misc/logos/xonotic_logo.png -Meta.EndpointURIFormat= -Meta.ConfigManifest=xonoticconfig.json -Meta.MetaConfigManifest=xonoticmetaconfig.json -Meta.ConfigRoot=xonotic.kvp -Meta.MinAMPVersion=2.3.3.0 -Meta.SpecificDockerImage= -Meta.Prerequsites=[] -App.DisplayName=Xonotic -App.RootDir=./xonotic/ -App.BaseDirectory=./xonotic/Xonotic/ -App.ExecutableWin=Xonotic\xonotic.exe -App.ExecutableLinux=Xonotic/xonotic-linux64-dedicated -App.WorkingDir=Xonotic -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs=-dedicated -App.CommandLineArgs={{$PlatformArgs}} +serverconfig server.cfg -userdir "{{$FullBaseDir}}ServerData" {{$FormattedArgs}} -App.AppSettings={} -App.EnvironmentVariables={} -App.CommandLineParameterFormat=-{0} {1} -App.CommandLineParameterDelimiter= -App.ExitMethod=OS_CLOSE -App.ExitTimeout=30 -App.ExitString=rcon quit -App.ExitFile=lock -App.HasWriteableConsole=True -App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False -App.LiveSettingChangeCommandFormat=set {0} "{1}" -App.ApplicationIPBinding= -App.Ports=[{"Protocol":"UDP","Name":"Server Port","Description":"Port for both game and RCON traffic","Port":26000,"Ref":"ServerPort"}] -App.AdminPortRef=ServerPort -App.PrimaryApplicationPortRef=ServerPort -App.MaxUsers=8 -App.UseRandomAdminPassword=True -App.RemoteAdminPassword= -App.AdminMethod=STDIO -App.UpdateSources=[{"UpdateStageName":"Server Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://{{ServerReleaseStream}}-{{ServerVersion}}.zip","UpdateSourceTarget":"./","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"./Xonotic/xonotic-linux64-dedicated"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/xonoticserver.cfg","UpdateSourceTarget":"../","OverwriteExistingFiles":true},{"UpdateStageName":"Data Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./xonotic/Xonotic/ServerData/data"},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./xonotic/Xonotic/ServerData/data/server.cfg","UpdateSourceArgs":"./xonoticserver.cfg","OverwriteExistingFiles":false}] -App.Compatibility=None -App.SteamUpdateAnonymousLogin=True -App.SteamForceLoginPrompt=False -App.RapidStartup=False -App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= -Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Server listening on address [\d.:]*$ -Console.UserJoinRegex=^(?<username>.+?) connected$ -Console.UserLeaveRegex=^Client "(?<username>.+?)" dropped$ -Console.UserChatRegex=^(\[[;\d]*m)?(?<username>.+?)(\[m)?: (?<message>.+?)$ -Console.UpdateAvailableRegex= -Console.SuppressLogAtStart=False -Console.ActivateLogRegex= -Console.UserActions={} diff --git a/xonoticconfig.json b/xonoticconfig.json deleted file mode 100755 index deb241381..000000000 --- a/xonoticconfig.json +++ /dev/null @@ -1,215 +0,0 @@ -[ - { - "DisplayName":"Port", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"port", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Log File", - "Category":"Server Settings", - "Description":"", - "Keywords":"", - "FieldName":"log_file", - "InputType":"text", - "Hidden":true, - "IsFlagArgument":false, - "ParamFieldName":"log_file", - "IncludeInCommandLine":false, - "DefaultValue":"server.log", - "EnumValues":{} - }, - { - "DisplayName":"Server Release Stream", - "Category":"Server Settings", - "Description":"Sets Stable or Autobuild (nightly) release stream. Needs \"Server Version\" set as well. NOTE: Update the server after changing this setting!", - "Keywords":"release,stable,autobuild", - "FieldName":"ServerReleaseStream", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "DefaultValue":"dl.xonotic.org/xonotic", - "EnumValues":{ - "dl.xonotic.org/xonotic":"Stable", - "beta.xonotic.org/autobuild/Xonotic":"Autobuild" - } - }, - { - "DisplayName":"Server Version", - "Category":"Server Settings", - "Description":"[Stable build version](https://xonotic.org/download/) or [Autobuild version](https://beta.xonotic.org/autobuild/) to install. Set \"Server Release Stream\" as appropriate. NOTE: Update the server after changing this setting!", - "Keywords":"server,version,build", - "FieldName":"ServerVersion", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"", - "IncludeInCommandLine":false, - "DefaultValue":"0.8.5", - "Placeholder":"0.8.5 | 20220528 | latest", - "EnumValues":{} - }, - { - "DisplayName":"Server Name", - "Category":"Server Settings", - "Description":"Server name visible in the server list (\"$g_xonoticversion\" is replaced with the current version)", - "Keywords":"server,name,hostname", - "FieldName":"hostname", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"hostname", - "IncludeInCommandLine":false, - "DefaultValue":"Xonotic $g_xonoticversion Server - Powered by AMP", - "EnumValues":{} - }, - { - "DisplayName":"Server Public Status", - "Category":"Server Settings", - "Description":"Sets the public status of the server and whether it is included in the master server list", - "Keywords":"public,list,private", - "FieldName":"sv_public", - "InputType":"enum", - "IsFlagArgument":false, - "ParamFieldName":"sv_public", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "1":"Public and included in server list", - "0":"Public but not included in server list", - "-1":"Not public" - } - }, - { - "DisplayName":"Server Binding", - "Category":"Server Settings", - "Description":"Sets the binding of the server. Default is 0.0.0.0. Change to internal interface IP only if the server has issues", - "Keywords":"server,ip,binding", - "FieldName":"net_address", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"net_address", - "IncludeInCommandLine":false, - "DefaultValue":"0.0.0.0", - "EnumValues":{} - }, - { - "DisplayName":"RCON Password", - "Category":"Server Settings", - "Description":"See the Security and Privacy menu for configurable options for the server's RCON", - "Keywords":"rcon,password", - "FieldName":"$RemoteAdminPassword", - "InputType":"hidden", - "IsFlagArgument":false, - "ParamFieldName":"rcon_password", - "IncludeInCommandLine":false, - "EnumValues":{} - }, - { - "DisplayName":"Welcome Message", - "Category":"Server Settings", - "Description":"Welcome message when players join the server", - "Keywords":"welcome,message,motd", - "FieldName":"sv_motd", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"sv_motd", - "IncludeInCommandLine":false, - "DefaultValue":"Welcome to Xonotic Server", - "EnumValues":{} - }, - { - "DisplayName":"Player Limit", - "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server (including spectators)", - "Keywords":"players,limit", - "FieldName":"$MaxUsers", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"maxplayers", - "IncludeInCommandLine":false, - "DefaultValue":"8", - "Suffix":"players", - "EnumValues":{}, - "MinValue":"1" - }, - { - "DisplayName":"Game Start Delay", - "Category":"Server Settings", - "Description":"Sets the delay before the game starts to let players join the server first", - "Keywords":"start,delay", - "FieldName":"g_start_delay", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"g_start_delay", - "IncludeInCommandLine":false, - "DefaultValue":"15", - "Suffix":"seconds", - "EnumValues":{} - }, - { - "DisplayName":"Maps", - "Category":"Server Settings", - "Description":"Space-separated list of maps for the server. Leave blank for all", - "Keywords":"maps", - "FieldName":"g_maplist", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"g_maplist", - "IncludeInCommandLine":false, - "DefaultValue":"afterslime atelier boil catharsis courtfun dance drain erbium finalrage fuse geoplanetary glowplant implosion leave_em_behind nexballarena oilrig runningman runningmanctf silentsiege solarium space-elevator stormkeep techassault vorix warfare xoylent", - "EnumValues":{} - }, - { - "DisplayName":"Shuffle Map List", - "Category":"Server Settings", - "Description":"If enabled, a random map will be selected for each game. Otherwise the maps will be selected in sequence", - "Keywords":"shuffle,maps", - "FieldName":"g_maplist_shuffle", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"g_maplist_shuffle", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - }, - { - "DisplayName":"Minimum Maps Before Repeat", - "Category":"Server Settings", - "Description":"Number of maps that have to be played before a map can be repeated", - "Keywords":"maps,recent,count", - "FieldName":"g_maplist_mostrecent_count", - "InputType":"number", - "IsFlagArgument":false, - "ParamFieldName":"g_maplist_mostrecent_count", - "IncludeInCommandLine":false, - "DefaultValue":"3", - "Suffix":"maps", - "EnumValues":{} - }, - { - "DisplayName":"Hide IPs from Clients", - "Category":"Server Settings", - "Description":"If enabled, IP addresses are hidden from \"status\" replies shown to clients", - "Keywords":"hide,ip,client", - "FieldName":"sv_status_privacy", - "InputType":"checkbox", - "IsFlagArgument":false, - "ParamFieldName":"sv_status_privacy", - "IncludeInCommandLine":false, - "DefaultValue":"1", - "EnumValues":{ - "False":"0", - "True":"1" - } - } -] diff --git a/xonoticmetaconfig.json b/xonoticmetaconfig.json deleted file mode 100644 index fc4550ec6..000000000 --- a/xonoticmetaconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "ConfigFile":"ServerData/data/server.cfg", - "AutoMap":true, - "ConfigType":"kvp", - "ConfigFormat":"{0} \"{1}\"", - "ConfigFormatRegex":"^(?<key>.+?) \"(?<value>.*?)\"$" - } -] diff --git a/xonoticserver.cfg b/xonoticserver.cfg deleted file mode 100644 index 5d9d4262e..000000000 --- a/xonoticserver.cfg +++ /dev/null @@ -1,216 +0,0 @@ -// Two slashes start a comment until the end of the line. -// Surround settings with double quotes (e.g. cvar_name "some value") unless they're a single number or word. -// Cvar means console variable. -// Just "" means empty string. -// Semicolon separates commands (in console or in aliases). -// Search for settings and descriptions using the 'search' command in console -// or online: https://xonotic.org/tools/cacs/ - - -///////////////////////////////////////////////////////////////////// -// Settings controlled by AMP. - -sv_public "1" -sv_status_privacy "1" -hostname "Xonotic $g_xonoticversion Server - Powered by AMP" -sv_motd "Welcome to Xonotic Server" -maxplayers "8" -port "26000" -log_file "server.log" -g_start_delay "15" -g_maplist "afterslime atelier boil catharsis courtfun dance drain erbium finalrage fuse geoplanetary glowplant implosion leave_em_behind nexballarena oilrig runningman runningmanctf silentsiege solarium space-elevator stormkeep techassault vorix warfare xoylent" -g_maplist_shuffle "1" -g_maplist_mostrecent_count "3" -net_address "0.0.0.0" -rcon_password "Password123" - - - -///////////////////////////////////////////////////////////////////// -// Other basic settings -// Everything below has some sensible defaults so you don't really need to change anything. -// It's meant as examples for people who want to customize the server more. -// The values shown are either defaults or examples (for up to date defaults, see 'search' (or 'apropos') in console. - -//sv_termsofservice_url "https://yourdomain.tld/path/to/tos" // URL for the Terms of Service for playing on your server -// It is RECOMMENDED to supply such a document containing information about if and how you collect and process user data (bridging to IRC, player stats etc), -// contact information, rules and similar information. -// This document will be shown in the server join dialog. - -// LIMITS: how long a match will last before the next map starts (-1 means use the map default, 0 = unlimited, please note that the variables fraglimit/timelimit can NOT be globally used for this but only DURING a match is being played) -//timelimit_override -1 // global timelimit for all maps and gametypes -//fraglimit_override -1 // global frag/point limit for all maps and gametypes -//capturelimit_override -1 // capture limit for CTF -//g_domination_point_limit -1 // frag/point limit for DOM -//g_keyhunt_point_limit -1 // frag/point limit for KH -//g_lms_lives_override -1 // lives for LMS -//g_nexball_goallimit -1 // goals for NEXBALL - -//g_ctf_ignore_frags 0 // set to 1 to ignore kills except for FC kills - -// TEAMS for key hunt (change this to 2, 3, 4 to set a fixed keyhunt style) -//g_keyhunt_teams_override -1 // teams for KH - -// GAME MODE: what type of server do you want to host? -// possible values: dm (deathmatch), tdm (team deathmatch), ctf (capture the flag), ca (clan arena), ft (freeze tag), kh (keyhunt), as (assault), dom (domination), lms (last man standing), ka (keepaway), inv (invasion), ons (onslaught), rc (race), cts (complete the stage), nb (nexball) -//gametype dm // default gamemode - -// TIPS: uncomment this if you want help messages on your server - one per match 20 seconds after the map loads -//alias sv_hook_gamestart_all "defer 20 help_next" - - - -///////////////////////////////////////////////////////////////////// -// Some settings you MIGHT want to change. Again IF so remove the // -// from the line start and change them to your liking. - -//skill 8 // the bots skill level - -// if changing either of these two minplayers settigs, you should consider editing the `bots` alias so that the `bots` vote adds the right number of bots -//minplayers 0 // add bots if less then that number of players playing -//minplayers_per_team 0 // add bots to each team if less than that number of players playing -//alias bots "minplayers 4; minplayers_per_team 2" - -//g_maxplayers 0 // above this player count, only allow spectators -//bot_prefix [BOT] // prepend this to all botnames -//bot_suffix "" // append this to all botnames -//g_maplist_check_waypoints 0 // set this to 1 to skip maps without waypoints if there aren't enough players to play without bots - -//g_maplist_votable 6 // number of maps to vote between. set to 0 to disable the map voting screen (please enable g_maplist_shuffle above when this is enabled, or votes will be repetitive) -//g_maplist_votable_suggestions 2 // number of suggestions to accept using the suggestmap command -//g_maplist_votable_abstain 0 // when 1, people get a "don't care" selection in the vote screen -//g_maplist_votable_nodetail 1 // when 1, people can't see how many voted for what (to thwart abusive "influential" first votes) - -sv_vote_gametype 1 // set to 1 to enable voting for gametypes after every match -//sv_vote_gametype_options "dm kh dom tdm mycustom" // the gametypes to vote for, custom gametypes are supported (max 9 chars for the gametype identifier because sv_vote_gametype_hook_* can have max 31 chars) -//set sv_vote_gametype_mycustom_name "My Custom Mode" // Name displayed for the custom gametype "mycustom" (replace "mycustom" with the name you set in sv_vote_gametype_options) -//set sv_vote_gametype_mycustom_type "ft" // the basetype that the custom gametype is derived from -//set sv_vote_gametype_mycustom_description "This is my custom gametype" // the description for the custom gametype -// Custom icons for custom gametypes are supported and have to be located in a server pk3 as gfx/menu/default/gametype_mycustom - -//sv_vote_commands "restart fraglimit gotomap nextmap endmatch reducematchtime extendmatchtime allready kick cointoss movetoauto shuffleteams bots nobots" // players can vote for those commands or use them if they are masters. You can also add 'g_grappling_hook' for hook voting, and 'sv_fbskin_green sv_fbskin_red sv_fbskin_orange sv_fbskin_off' for fbskin voting. -//sv_vote_master_commands "movetored movetoblue movetoyellow movetopink" // add commands masters can use if logged in or elected. You may want to put 'kickban' here, so masters can keep out punks. It may be good to also put "sv_status_privacy 0" then... -//rcon_restricted_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick kickban \"sv_cmd bans\" \"sv_cmd unban\" status \"sv_cmd teamstatus\" movetoauto movetored movetoblue movetoyellow movetopink" // commands for the (stronger) rcon restricted -//rcon_restricted_password "" // put here the password for a "restricted" rcon user (see below) - -//sv_vote_call 1 // 0 will disable the normal voting -//sv_vote_master 1 // 0 will disable voting to become master, good if you prefer to use the master password instead -//sv_vote_master_password "" // when set, vlogin PWD will allow people to become master to run master commands directly using vdo -//sv_vote_majority_factor 0.5 // What percentage of the PLAYERS constitute a majority to win a vote? must be at least 0.5 -//sv_vote_majority_factor_of_voted 0 // What percentage of the VOTERS who already voted constitute a majority to win a vote? must be at least 0.5 -// note: to JUST support simple majorities, set these two factors equal - -//sv_maxidle 0 // idle time in seconds after which players will get kicked - -//sv_taunt 1 // 0 to disallow taunts -//sv_autotaunt 1 // 0 to disallow autotaunts - - - -///////////////////////////////////////////////////////////////////// -// Settings you MIGHT want to change for PRIVACY reasons. - -// This line sends the following data to our servers: -// - Date and time -// - Your server IP address -// - Your server ID hash, which is a fingerprint of the public key of your -// server and does not impact security of your private key (use "crypto_keys" -// on the console to show it) -// - Your server name ("hostname") -// - Current game type -// - Current map -// - Balance settings you have modified from defaults (only those that make -// your server "impure") -// - For each weapon pairing (A, B), separately for player-player, player-bot, -// bot-player, bot-bot pairings: -// - Number of hits of players/bots holding A against players/bots holding B -// - Number of frags of players/bots holding A against players/bots holding B -// - Total damage of players/bots holding A against players/bots holding B -// -// We use this data to: -// - Optimize the game balance for future releases -// - Identify problems in the bot AI and improving it -// - Find settings that make servers "impure" that should not, so we can -// whitelist them in future releases -// -// We will or might publish: -// - Global weapon pairing statistics for players vs players, or bots vs bots, -// or any vs any, on a selection of servers -// - Per-gametype and per-map weapon pairing statistics players vs players, or -// bots vs bots, or any vs any, on a selection of servers -// - Lists of commonly changed cvars, together with counts on how often they -// are modified -// -// No information about the players on the server is sent, so as a server admin -// you need no permission of your players for this. -// -// No information about your server will be published - all published data sets -// will include data from multiple servers. -// -sv_weaponstats_file "http://www.xonotic.org/weaponbalance/" - - - -///////////////////////////////////////////////////////////////////// -// Some more advanced settings. You probably are not interested in changing them at all. - -//sv_ready_restart_after_countdown 0 // if set to 1 the players and map items are reset after the countdown ended, otherwise they're reset already at the beginning of the countdown -//sv_autoscreenshot 0 // 1 will force a screenshot for all clients when the map ends. Useful for competitions or the ladder. - -//g_antilag 2 // 0 to disable the antilag feature, 1 and 2 use different methods - -//sv_maxrate 1000000 // limits client connections to this rate in bytes/seconds - -//sys_ticrate 0.0333333 // 0.0166667 for twice as many server frames per second; smoother gameplay but somewhat higher CPU use. - -// see Docs/mapdownload.txt for more info -//sv_curl_defaulturl http://www.xonotic.org/contentdownload/getmap.php?file= //fallback download URL - -//sv_defaultcharacter 0 // 1 will force a specific model for all players -//sv_defaultplayermodel models/player/erebus.iqm // this model will be used -//sv_defaultplayerskin 0 // this skin number will be forced for all players -//sv_defaultplayercolors "" // you can even force player colors here (16*shirt+pants) -//g_fullbrightplayers 0 // 1 to make players fullbright -//g_fullbrightitems 0 // 1 to make items fullbright - -//g_balance_teams 1 // 0 will show players the team selection menu after joining instead of automaticly putting them on the smaller team -//g_balance_teams_prevent_imbalance 1 // 0 to prevent switchint to a bigger/begger team - -//g_ban_sync_uri "http://46.38.241.138/~xonotic/bans/" // sync bans using this ban list provider (disabled by default, uncomment this line to enable) -//g_ban_sync_trusted_servers "" // accept bans that were initially set on the server IPs listed here (if not set, your bans are just sent to the sync URIs, but no bans are retrieved from there) - -//g_spawnshieldtime 1 // time for which players are protected after spawn - - - -///////////////////////////////////////////////////////////////////// -// "Obvious" mutators that are allowed on a "pure" server -//g_instagib 0 // set to 1 for InstaGib -//g_weapon_stay 0 // set to 1, 2 or 3 for different weapon-stay modes (1 = traditional, 2 = no ammo but allow throwing, 3 = ghost weapon stay) -//g_powerups -1 // set to 0 to turn off strength/quad and shield/invincible, and set to 1 to turn them on even in game modes that normally have them turned off - - - -///////////////////////////////////////////////////////////////////// -// Overkill mod settings - -// To enable Overkill, put 'exec ruleset-overkill.cfg' at the top of this file (above any other cvar changes), don't use 'g_overkill 1' directly. - - - -///////////////////////////////////////////////////////////////////// -// WARNING: anything below this line makes your server "impure"! - -// enable some mutators you'd like -//g_cloaked 0 // set to 1 for transparent hard to see players -//g_grappling_hook 0 // set to 1 to enable the hook (allowed on "pure" server in InstaGib) -//g_jetpack 0 // set to 1 to enable the jetpack (allowed on "pure" server in InstaGib) -//g_midair 0 // set to 1 to make only midair damage count -//g_vampire 0 // set to 1 to give players the damage they cause as health -//sv_gravity 800 // for low gravity, set this somewhere between 50 and 400 - -// select AT MOST one of these arena mutators (if you didn't select g_instagib) -//g_nix is "0" ["0"] No Items Xonotic - instead of pickup items, everyone plays with the same weapon. After some time, a countdown will start, after which everyone will switch to another weapon, and so on -//g_nix_with_healtharmor is "0" ["0"] when 1, health and armor still show up in NIX -//g_nix_with_blaster is "0" ["0"] always carry the blaster as an additional weapon in NIX -//g_nix_with_powerups is "0" ["0"] when 1, powerups still show up in NIX From e5d0e9438b9ec31d08d28562437c0132be520602 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 18 Sep 2023 14:48:03 +1000 Subject: [PATCH 272/318] Fix descriptions --- fivemconfig.json | 2 +- redmconfig.json | 2 +- txadminconfig.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fivemconfig.json b/fivemconfig.json index 37b701cc9..19fb59ea6 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -30,7 +30,7 @@ { "DisplayName":"Specific Build Version Download URL", "Category":"Server Settings", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Release Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", "Keywords":"server,build,artifact,specific,version", "FieldName":"SpecificBuildVersionURL", "InputType":"url", diff --git a/redmconfig.json b/redmconfig.json index b9a6f5a1f..3549477e7 100644 --- a/redmconfig.json +++ b/redmconfig.json @@ -30,7 +30,7 @@ { "DisplayName":"Specific Build Version Download URL", "Category":"Server Settings", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Release Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", "Keywords":"server,build,artifact,specific,version", "FieldName":"SpecificBuildVersionURL", "InputType":"url", diff --git a/txadminconfig.json b/txadminconfig.json index 78ee11a64..047f03236 100644 --- a/txadminconfig.json +++ b/txadminconfig.json @@ -19,7 +19,7 @@ { "DisplayName":"Specific Build Version Download URL", "Category":"Server Settings", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Release Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", "Keywords":"server,build,artifact,specific,version", "FieldName":"SpecificBuildVersionURL", "InputType":"url", From 8375fc44f43655f6e15ed95b0a4edb118b33168b Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 18 Sep 2023 16:32:55 +1000 Subject: [PATCH 273/318] Update API paths --- fivemupdates.json | 8 ++++---- redmupdates.json | 8 ++++---- txadminupdates.json | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/fivemupdates.json b/fivemupdates.json index df5cfd16d..f3b3d6cd4 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -31,7 +31,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.recommended_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, @@ -56,7 +56,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.optional_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, @@ -81,7 +81,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.latest_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, @@ -106,7 +106,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.critical_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, diff --git a/redmupdates.json b/redmupdates.json index 68d4fda9c..6a490327a 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -31,7 +31,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.recommended_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, @@ -56,7 +56,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.optional_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, @@ -81,7 +81,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.latest_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, @@ -106,7 +106,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.critical_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, diff --git a/txadminupdates.json b/txadminupdates.json index d5e2599f0..9a34ced74 100644 --- a/txadminupdates.json +++ b/txadminupdates.json @@ -17,7 +17,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.recommended_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, @@ -42,7 +42,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.optional_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, @@ -67,7 +67,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.latest_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, @@ -92,7 +92,7 @@ "UpdateStageName":"Server Download", "UpdateSourcePlatform":"Windows", "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/windows/server", + "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", "UpdateSourceArgs":"$.critical_download", "UpdateSourceTarget":"{{$FullBaseDir}}server", "UnzipUpdateSource":true, From 472631ebeb9bbf591ae65dd44f5915703ec2398e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 25 Sep 2023 15:37:19 +1000 Subject: [PATCH 274/318] Update setting descriptions --- fivemconfig.json | 4 ++-- redmconfig.json | 4 ++-- txadminconfig.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fivemconfig.json b/fivemconfig.json index 19fb59ea6..95ad9dab2 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -30,13 +30,13 @@ { "DisplayName":"Specific Build Version Download URL", "Category":"Server Settings", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", "Keywords":"server,build,artifact,specific,version", "FieldName":"SpecificBuildVersionURL", "InputType":"url", "ParamFieldName":"SpecificBuildVersionURL", "DefaultValue":"", - "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.7z", + "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", "EnumValues":{} }, { diff --git a/redmconfig.json b/redmconfig.json index 3549477e7..db04cc263 100644 --- a/redmconfig.json +++ b/redmconfig.json @@ -30,13 +30,13 @@ { "DisplayName":"Specific Build Version Download URL", "Category":"Server Settings", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", "Keywords":"server,build,artifact,specific,version", "FieldName":"SpecificBuildVersionURL", "InputType":"url", "ParamFieldName":"SpecificBuildVersionURL", "DefaultValue":"", - "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.7z", + "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", "EnumValues":{} }, { diff --git a/txadminconfig.json b/txadminconfig.json index 047f03236..4e8682ebc 100644 --- a/txadminconfig.json +++ b/txadminconfig.json @@ -19,13 +19,13 @@ { "DisplayName":"Specific Build Version Download URL", "Category":"Server Settings", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/)", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", "Keywords":"server,build,artifact,specific,version", "FieldName":"SpecificBuildVersionURL", "InputType":"url", "ParamFieldName":"SpecificBuildVersionURL", "DefaultValue":"", - "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.7z", + "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", "EnumValues":{} } ] From 482e607eaa4f255430fd5ac89d7ea26964c5692c Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 26 Oct 2023 21:25:48 +1100 Subject: [PATCH 275/318] Updates --- fivem.kvp | 2 +- fivemconfig.json | 1 + redm.kvp | 2 +- redmconfig.json | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fivem.kvp b/fivem.kvp index e646af18a..ca068c5a2 100644 --- a/fivem.kvp +++ b/fivem.kvp @@ -97,5 +97,5 @@ Limits.SleepMode=True Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 -Limits.AutoRetryCount=5 +Limits.AutoRetryCount=0 Limits.SleepStartThresholdSeconds=25 diff --git a/fivemconfig.json b/fivemconfig.json index 95ad9dab2..4338f83f6 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -74,6 +74,7 @@ "InputType":"password", "ParamFieldName":"sv_licenseKey", "DefaultValue":"", + "Required":true, "EnumValues":{} }, { diff --git a/redm.kvp b/redm.kvp index d3748f190..2bbb6b086 100644 --- a/redm.kvp +++ b/redm.kvp @@ -97,5 +97,5 @@ Limits.SleepMode=True Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 -Limits.AutoRetryCount=5 +Limits.AutoRetryCount=0 Limits.SleepStartThresholdSeconds=25 diff --git a/redmconfig.json b/redmconfig.json index db04cc263..780262ada 100644 --- a/redmconfig.json +++ b/redmconfig.json @@ -74,6 +74,7 @@ "InputType":"password", "ParamFieldName":"sv_licenseKey", "DefaultValue":"", + "Required":true, "EnumValues":{} }, { From a90e19afae5f932b62d7b257abe0bfb16be20dc0 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 13 Nov 2023 19:27:10 +1100 Subject: [PATCH 276/318] Fix retries --- redm.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redm.kvp b/redm.kvp index 2bbb6b086..81ed30762 100644 --- a/redm.kvp +++ b/redm.kvp @@ -97,5 +97,5 @@ Limits.SleepMode=True Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 -Limits.AutoRetryCount=0 +Limits.AutoRetryCount=2 Limits.SleepStartThresholdSeconds=25 From cc84de21d07937e90664a4f6279600bb4b80e2ef Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 13 Nov 2023 19:28:01 +1100 Subject: [PATCH 277/318] Update fivem.kvp --- fivem.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fivem.kvp b/fivem.kvp index ca068c5a2..3ef16cbd3 100644 --- a/fivem.kvp +++ b/fivem.kvp @@ -97,5 +97,5 @@ Limits.SleepMode=True Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 -Limits.AutoRetryCount=0 +Limits.AutoRetryCount=2 Limits.SleepStartThresholdSeconds=25 From 5b490473cc5c3a86f18ebbad29e3ce35d7d2a5ea Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 22 Nov 2023 20:40:47 +1100 Subject: [PATCH 278/318] Update txAdmin regex --- txadmin.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txadmin.kvp b/txadmin.kvp index 3d8452a7a..f2a337ec4 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -84,7 +84,7 @@ App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=\[[\d;]+m|\[\d+m Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[txAdmin:FXRunner\] (Please open txAdmin on the browser to configure your server\.|>> \[\d+\] FXServer Started!)$ +Console.AppReadyRegex=^\[[\d:]+\]\[tx:FXRunner\] (Please open txAdmin on the browser to configure your server\.|>> \[\d+\] FXServer Started!)$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ From 23bcf574d87401dc89d1aba9020fd72e1eff9dc1 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 10 Feb 2024 20:37:24 +1100 Subject: [PATCH 279/318] Add UUIDs --- fivem.kvp | 2 +- redm.kvp | 2 +- txadmin.kvp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fivem.kvp b/fivem.kvp index 3ef16cbd3..bf10657c7 100644 --- a/fivem.kvp +++ b/fivem.kvp @@ -21,6 +21,7 @@ Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True +Meta.AppConfigId=aa5de5cd-d1b4-4432-906f-07c0360280ed Meta.ConfigVersion=0.0.0.0 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= @@ -80,7 +81,6 @@ App.MonitorChildProcessName= App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=\[[\d;]+m|\[\d+m Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= diff --git a/redm.kvp b/redm.kvp index 81ed30762..1fdcfffb0 100644 --- a/redm.kvp +++ b/redm.kvp @@ -21,6 +21,7 @@ Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True +Meta.AppConfigId=5bc891bd-ce22-43f6-a05b-e5080798180f Meta.ConfigVersion=0.0.0.0 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= @@ -80,7 +81,6 @@ App.MonitorChildProcessName= App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=\[[\d;]+m|\[\d+m Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= diff --git a/txadmin.kvp b/txadmin.kvp index f2a337ec4..cdcc745fc 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -21,6 +21,7 @@ Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True +Meta.AppConfigId=7f7c01fc-8c2b-4d64-b47d-85f3a416cc27 Meta.ConfigVersion=0.0.0.0 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= @@ -80,7 +81,6 @@ App.MonitorChildProcessName= App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch -App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex=\[[\d;]+m|\[\d+m Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= From c0a1a601aeefaa28147500df61430df15a12ebc1 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Wed, 1 May 2024 20:07:43 +1000 Subject: [PATCH 280/318] Add SkipOnFailure --- fivemupdates.json | 6 ++++-- redmupdates.json | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/fivemupdates.json b/fivemupdates.json index f3b3d6cd4..1eed4cbaa 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -18,14 +18,16 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server/alpine/*'" + "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server/alpine/*'", + "SkipOnFailure":true }, { "UpdateStageName":"Delete Binary Directory Contents", "UpdateSourcePlatform":"Windows", "UpdateSource":"Executable", "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server\\alpine\\*" + "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server\\alpine\\*", + "SkipOnFailure":true }, { "UpdateStageName":"Server Download", diff --git a/redmupdates.json b/redmupdates.json index 6a490327a..f095cf2c8 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -18,14 +18,16 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server/alpine/*'" + "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server/alpine/*'", + "SkipOnFailure":true }, { "UpdateStageName":"Delete Binary Directory Contents", "UpdateSourcePlatform":"Windows", "UpdateSource":"Executable", "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server\\alpine\\*" + "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server\\alpine\\*", + "SkipOnFailure":true }, { "UpdateStageName":"Server Download", From 710c9b8f0a0524b4a8fc4124ccc542f3c142086a Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 5 Jul 2024 21:28:56 +1000 Subject: [PATCH 281/318] Update setting categories --- fivemconfig.json | 200 ++++++++++++++++++++++++++------------------- redmconfig.json | 200 ++++++++++++++++++++++++++------------------- txadmin.kvp | 2 +- txadminconfig.json | 6 +- 4 files changed, 237 insertions(+), 171 deletions(-) diff --git a/fivemconfig.json b/fivemconfig.json index 4338f83f6..788d689d2 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -1,7 +1,8 @@ [ { "DisplayName":"Server Port", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"", "Keywords":"", "FieldName":"$ServerPort", @@ -10,64 +11,10 @@ "ParamFieldName":"ServerPort", "EnumValues":{} }, - { - "DisplayName":"Server Build", - "Category":"Server Settings", - "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", - "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", - "FieldName":"ServerBuild", - "InputType":"enum", - "ParamFieldName":"ServerBuild", - "DefaultValue":"recommended_download", - "EnumValues":{ - "recommended_download":"Recommended (default)", - "optional_download":"Optional", - "latest_download":"Latest", - "critical_download":"Critical", - "SpecificVersion":"Specific version" - } - }, - { - "DisplayName":"Specific Build Version Download URL", - "Category":"Server Settings", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", - "Keywords":"server,build,artifact,specific,version", - "FieldName":"SpecificBuildVersionURL", - "InputType":"url", - "ParamFieldName":"SpecificBuildVersionURL", - "DefaultValue":"", - "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", - "EnumValues":{} - }, - { - "DisplayName":"Resource GitHub Repo", - "Category":"Server Settings", - "Description":"Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", - "Keywords":"resource,repo,repository,github", - "FieldName":"ResourceRepo", - "InputType":"enum", - "ParamFieldName":"ResourceRepo", - "DefaultValue":"https://github.com/citizenfx/cfx-server-data.git", - "EnumValues":{ - "https://github.com/citizenfx/cfx-server-data.git":"Cfx.re standard repo (default)", - "{{CustomRepo}}":"Custom repo" - } - }, - { - "DisplayName":"Custom Repo URL", - "Category":"Server Settings", - "Description":"Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", - "Keywords":"resource,custom,repo,repository,github,url", - "FieldName":"CustomRepo", - "InputType":"url", - "ParamFieldName":"CustomRepo", - "DefaultValue":"", - "Placeholder":"https://github.com/username/reponame.git", - "EnumValues":{} - }, { "DisplayName":"Cfx.re Licence Key", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", "Keywords":"licence,license,key,keymaster,sv_licenseKey", "FieldName":"sv_licenseKey", @@ -79,7 +26,8 @@ }, { "DisplayName":"Steam Web API Key", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", "Keywords":"steam,web,api,key,steam_webApiKey", "FieldName":"steam_webApiKey", @@ -90,7 +38,8 @@ }, { "DisplayName":"Server Name", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the name that shows when selecting the server in the server browser", "Keywords":"server,name,hostname", "FieldName":"sv_hostname", @@ -101,7 +50,8 @@ }, { "DisplayName":"Project Name", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", "Keywords":"project,name,sv_projectName", "FieldName":"sv_projectName", @@ -112,7 +62,8 @@ }, { "DisplayName":"Project Description", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the description that shows in the server browser", "Keywords":"project,description,sv_projectDesc", "FieldName":"sv_projectDesc", @@ -123,7 +74,8 @@ }, { "DisplayName":"Server Tags", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", "Keywords":"tags", "FieldName":"tags", @@ -135,7 +87,8 @@ }, { "DisplayName":"Server Locale", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "Keywords":"locale,language,country", "FieldName":"locale", @@ -147,7 +100,8 @@ }, { "DisplayName":"Server Icon", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", "Keywords":"server,icon,load_server_icon", "FieldName":"load_server_icon", @@ -159,7 +113,8 @@ }, { "DisplayName":"Server Detail Banner Image URL", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", "Keywords":"banner,detail,image,url,banner_detail", "FieldName":"banner_detail", @@ -171,7 +126,8 @@ }, { "DisplayName":"Connecting Banner Image URL", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", "Keywords":"banner,connecting,image,url,banner_connecting", "FieldName":"banner_connecting", @@ -183,7 +139,8 @@ }, { "DisplayName":"Mark Server Private", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", "Keywords":"private,server,list,sv_master1", "FieldName":"sv_master1", @@ -197,7 +154,8 @@ }, { "DisplayName":"Starting Resources", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", "Keywords":"ensure,resources", "FieldName":"ensure", @@ -209,7 +167,8 @@ }, { "DisplayName":"Enable Endpoint Privacy", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", "FieldName":"sv_endpointPrivacy", @@ -223,7 +182,8 @@ }, { "DisplayName":"Enforce Game Build", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", "Keywords":"enforce,game,build,sv_enforceGameBuild", "FieldName":"sv_enforceGameBuild", @@ -244,7 +204,8 @@ }, { "DisplayName":"Player Limit", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", "Keywords":"maximum,players,clients,limit,maxClients", "FieldName":"$MaxUsers", @@ -259,7 +220,8 @@ }, { "DisplayName":"OneSync Mode", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", "Keywords":"onesync,state,awareness,system", "FieldName":"onesync", @@ -274,7 +236,8 @@ }, { "DisplayName":"Enable OneSync Population", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", "Keywords":"onesync,population,npcs,vehicles,onesync_population", "FieldName":"onesync_population", @@ -288,7 +251,8 @@ }, { "DisplayName":"Enable OneSync Vehicle Distance Culling", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", "FieldName":"onesync_distanceCullVehicles", @@ -302,7 +266,8 @@ }, { "DisplayName":"Enable OneSync Forced Migration", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", "Keywords":"onesync,force,migration,onesync_forceMigration", "FieldName":"onesync_forceMigration", @@ -316,7 +281,8 @@ }, { "DisplayName":"Enable OneSync Workaround", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", "Keywords":"onesync,workaround,onesync_workaround763185", "FieldName":"onesync_workaround763185", @@ -330,7 +296,8 @@ }, { "DisplayName":"Allow Scripthook Plugins", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", "Keywords":"scripthook,plugins,sv_scriptHookAllowed", "FieldName":"sv_scriptHookAllowed", @@ -344,7 +311,8 @@ }, { "DisplayName":"Block Modified Client Files", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets whether players will be prevented from using modified client files", "Keywords":"modified,client,files,sv_pureLevel", "FieldName":"sv_pureLevel", @@ -359,7 +327,8 @@ }, { "DisplayName":"Access Control Commands", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", "Keywords":"admin,access,control", "FieldName":"AccessControlCommands", @@ -370,7 +339,8 @@ }, { "DisplayName":"Enable HTTP Flood Protection", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", "Keywords":"http,flood,protection,sv_requestParanoia", "FieldName":"sv_requestParanoia", @@ -386,8 +356,9 @@ }, { "DisplayName":"Server/RCON IP Binding", - "Category":"Server Settings", - "Description":"If required, you can change the IP binding of the server and RCON 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", + "Category":"FiveM", + "Subcategory":"Server Settings", + "Description":"If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", "Keywords":"ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", "FieldName":"$ApplicationIPBinding", "InputType":"hidden", @@ -396,7 +367,8 @@ }, { "DisplayName":"Additional Command Line Parameters", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", "Keywords":"custom,server,arguments,variables,parameters", "FieldName":"CustomArgs", @@ -407,7 +379,8 @@ }, { "DisplayName":"Additional Server Settings", - "Category":"Server Settings", + "Category":"FiveM", + "Subcategory":"Server Settings", "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", "Keywords":"additional,settings,custom", "FieldName":"UserSettings", @@ -415,5 +388,64 @@ "ParamFieldName":"UserSettings", "DefaultValue":"", "EnumValues":{} + }, + { + "DisplayName":"Server Build", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", + "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", + "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", + "FieldName":"ServerBuild", + "InputType":"enum", + "ParamFieldName":"ServerBuild", + "DefaultValue":"recommended_download", + "EnumValues":{ + "recommended_download":"Recommended (default)", + "optional_download":"Optional", + "latest_download":"Latest", + "critical_download":"Critical", + "SpecificVersion":"Specific version" + } + }, + { + "DisplayName":"Specific Build Version Download URL", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", + "Keywords":"server,build,artifact,specific,version", + "FieldName":"SpecificBuildVersionURL", + "InputType":"url", + "ParamFieldName":"SpecificBuildVersionURL", + "DefaultValue":"", + "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", + "EnumValues":{} + }, + { + "DisplayName":"Resource GitHub Repo", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", + "Description":"Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", + "Keywords":"resource,repo,repository,github", + "FieldName":"ResourceRepo", + "InputType":"enum", + "ParamFieldName":"ResourceRepo", + "DefaultValue":"https://github.com/citizenfx/cfx-server-data.git", + "EnumValues":{ + "https://github.com/citizenfx/cfx-server-data.git":"Cfx.re standard repo (default)", + "{{CustomRepo}}":"Custom repo" + } + }, + { + "DisplayName":"Custom Repo URL", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", + "Description":"Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", + "Keywords":"resource,custom,repo,repository,github,url", + "FieldName":"CustomRepo", + "InputType":"url", + "ParamFieldName":"CustomRepo", + "DefaultValue":"", + "Placeholder":"https://github.com/username/reponame.git", + "EnumValues":{} } ] diff --git a/redmconfig.json b/redmconfig.json index 780262ada..ac8693357 100644 --- a/redmconfig.json +++ b/redmconfig.json @@ -1,7 +1,8 @@ [ { "DisplayName":"Server Port", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"", "Keywords":"", "FieldName":"$ServerPort", @@ -10,64 +11,10 @@ "ParamFieldName":"ServerPort", "EnumValues":{} }, - { - "DisplayName":"Server Build", - "Category":"Server Settings", - "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", - "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", - "FieldName":"ServerBuild", - "InputType":"enum", - "ParamFieldName":"ServerBuild", - "DefaultValue":"recommended_download", - "EnumValues":{ - "recommended_download":"Recommended (default)", - "optional_download":"Optional", - "latest_download":"Latest", - "critical_download":"Critical", - "SpecificVersion":"Specific version" - } - }, - { - "DisplayName":"Specific Build Version Download URL", - "Category":"Server Settings", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", - "Keywords":"server,build,artifact,specific,version", - "FieldName":"SpecificBuildVersionURL", - "InputType":"url", - "ParamFieldName":"SpecificBuildVersionURL", - "DefaultValue":"", - "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", - "EnumValues":{} - }, - { - "DisplayName":"Resource GitHub Repo", - "Category":"Server Settings", - "Description":"Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", - "Keywords":"resource,repo,repository,github", - "FieldName":"ResourceRepo", - "InputType":"enum", - "ParamFieldName":"ResourceRepo", - "DefaultValue":"https://github.com/citizenfx/cfx-server-data.git", - "EnumValues":{ - "https://github.com/citizenfx/cfx-server-data.git":"Cfx.re standard repo (default)", - "{{CustomRepo}}":"Custom repo" - } - }, - { - "DisplayName":"Custom Repo URL", - "Category":"Server Settings", - "Description":"Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", - "Keywords":"resource,custom,repo,repository,github,url", - "FieldName":"CustomRepo", - "InputType":"url", - "ParamFieldName":"CustomRepo", - "DefaultValue":"", - "Placeholder":"https://github.com/username/reponame.git", - "EnumValues":{} - }, { "DisplayName":"Cfx.re Licence Key", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", "Keywords":"licence,license,key,keymaster,sv_licenseKey", "FieldName":"sv_licenseKey", @@ -79,7 +26,8 @@ }, { "DisplayName":"Steam Web API Key", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", "Keywords":"steam,web,api,key,steam_webApiKey", "FieldName":"steam_webApiKey", @@ -90,7 +38,8 @@ }, { "DisplayName":"Server Name", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the name that shows when selecting the server in the server browser", "Keywords":"server,name,hostname", "FieldName":"sv_hostname", @@ -101,7 +50,8 @@ }, { "DisplayName":"Project Name", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", "Keywords":"project,name,sv_projectName", "FieldName":"sv_projectName", @@ -112,7 +62,8 @@ }, { "DisplayName":"Project Description", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the description that shows in the server browser", "Keywords":"project,description,sv_projectDesc", "FieldName":"sv_projectDesc", @@ -123,7 +74,8 @@ }, { "DisplayName":"Server Tags", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", "Keywords":"tags", "FieldName":"tags", @@ -135,7 +87,8 @@ }, { "DisplayName":"Server Locale", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "Keywords":"locale,language,country", "FieldName":"locale", @@ -147,7 +100,8 @@ }, { "DisplayName":"Server Icon", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", "Keywords":"server,icon,load_server_icon", "FieldName":"load_server_icon", @@ -159,7 +113,8 @@ }, { "DisplayName":"Server Detail Banner Image URL", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", "Keywords":"banner,detail,image,url,banner_detail", "FieldName":"banner_detail", @@ -171,7 +126,8 @@ }, { "DisplayName":"Connecting Banner Image URL", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", "Keywords":"banner,connecting,image,url,banner_connecting", "FieldName":"banner_connecting", @@ -183,7 +139,8 @@ }, { "DisplayName":"Mark Server Private", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", "Keywords":"private,server,list,sv_master1", "FieldName":"sv_master1", @@ -197,7 +154,8 @@ }, { "DisplayName":"Starting Resources", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", "Keywords":"ensure,resources", "FieldName":"ensure", @@ -209,7 +167,8 @@ }, { "DisplayName":"Enable Endpoint Privacy", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", "FieldName":"sv_endpointPrivacy", @@ -223,7 +182,8 @@ }, { "DisplayName":"Enforce Game Build", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", "Keywords":"enforce,game,build,sv_enforceGameBuild", "FieldName":"sv_enforceGameBuild", @@ -239,7 +199,8 @@ }, { "DisplayName":"Player Limit", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", "Keywords":"maximum,players,clients,limit,maxClients", "FieldName":"$MaxUsers", @@ -254,7 +215,8 @@ }, { "DisplayName":"OneSync Mode", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", "Keywords":"onesync,state,awareness,system", "FieldName":"onesync", @@ -269,7 +231,8 @@ }, { "DisplayName":"Enable OneSync Population", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", "Keywords":"onesync,population,npcs,vehicles,onesync_population", "FieldName":"onesync_population", @@ -283,7 +246,8 @@ }, { "DisplayName":"Enable OneSync Vehicle Distance Culling", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", "FieldName":"onesync_distanceCullVehicles", @@ -297,7 +261,8 @@ }, { "DisplayName":"Enable OneSync Forced Migration", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", "Keywords":"onesync,force,migration,onesync_forceMigration", "FieldName":"onesync_forceMigration", @@ -311,7 +276,8 @@ }, { "DisplayName":"Enable OneSync Workaround", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", "Keywords":"onesync,workaround,onesync_workaround763185", "FieldName":"onesync_workaround763185", @@ -325,7 +291,8 @@ }, { "DisplayName":"Allow Scripthook Plugins", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", "Keywords":"scripthook,plugins,sv_scriptHookAllowed", "FieldName":"sv_scriptHookAllowed", @@ -339,7 +306,8 @@ }, { "DisplayName":"Block Modified Client Files", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets whether players will be prevented from using modified client files", "Keywords":"modified,client,files,sv_pureLevel", "FieldName":"sv_pureLevel", @@ -354,7 +322,8 @@ }, { "DisplayName":"Access Control Commands", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", "Keywords":"admin,access,control", "FieldName":"AccessControlCommands", @@ -365,7 +334,8 @@ }, { "DisplayName":"Enable HTTP Flood Protection", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", "Keywords":"http,flood,protection,sv_requestParanoia", "FieldName":"sv_requestParanoia", @@ -381,8 +351,9 @@ }, { "DisplayName":"Server/RCON IP Binding", - "Category":"Server Settings", - "Description":"If required, you can change the IP binding of the server and RCON 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", + "Category":"RedM", + "Subcategory":"Server Settings", + "Description":"If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", "Keywords":"ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", "FieldName":"$ApplicationIPBinding", "InputType":"hidden", @@ -391,7 +362,8 @@ }, { "DisplayName":"Additional Command Line Parameters", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", "Keywords":"custom,server,arguments,variables,parameters", "FieldName":"CustomArgs", @@ -402,7 +374,8 @@ }, { "DisplayName":"Additional Server Settings", - "Category":"Server Settings", + "Category":"RedM", + "Subcategory":"Server Settings", "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", "Keywords":"additional,settings,custom", "FieldName":"UserSettings", @@ -410,5 +383,64 @@ "ParamFieldName":"UserSettings", "DefaultValue":"", "EnumValues":{} + }, + { + "DisplayName":"Server Build", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", + "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", + "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", + "FieldName":"ServerBuild", + "InputType":"enum", + "ParamFieldName":"ServerBuild", + "DefaultValue":"recommended_download", + "EnumValues":{ + "recommended_download":"Recommended (default)", + "optional_download":"Optional", + "latest_download":"Latest", + "critical_download":"Critical", + "SpecificVersion":"Specific version" + } + }, + { + "DisplayName":"Specific Build Version Download URL", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", + "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", + "Keywords":"server,build,artifact,specific,version", + "FieldName":"SpecificBuildVersionURL", + "InputType":"url", + "ParamFieldName":"SpecificBuildVersionURL", + "DefaultValue":"", + "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", + "EnumValues":{} + }, + { + "DisplayName":"Resource GitHub Repo", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", + "Description":"Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", + "Keywords":"resource,repo,repository,github", + "FieldName":"ResourceRepo", + "InputType":"enum", + "ParamFieldName":"ResourceRepo", + "DefaultValue":"https://github.com/citizenfx/cfx-server-data.git", + "EnumValues":{ + "https://github.com/citizenfx/cfx-server-data.git":"Cfx.re standard repo (default)", + "{{CustomRepo}}":"Custom repo" + } + }, + { + "DisplayName":"Custom Repo URL", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", + "Description":"Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", + "Keywords":"resource,custom,repo,repository,github,url", + "FieldName":"CustomRepo", + "InputType":"url", + "ParamFieldName":"CustomRepo", + "DefaultValue":"", + "Placeholder":"https://github.com/username/reponame.git", + "EnumValues":{} } ] diff --git a/txadmin.kvp b/txadmin.kvp index cdcc745fc..4dbb1baf8 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -34,7 +34,7 @@ App.ExecutableLinux=server/alpine/opt/cfx-server/ld-musl-x86_64.so.1 App.WorkingDir=server-data App.LinuxCommandLineArgs=--library-path "{{$FullBaseDir}}server/alpine/usr/lib/v8/:{{$FullBaseDir}}server/alpine/lib/:{{$FullBaseDir}}server/alpine/usr/lib/" -- "{{$FullBaseDir}}server/alpine/opt/cfx-server/FXServer" +set citizen_dir "{{$FullBaseDir}}server/alpine/opt/cfx-server/citizen/" App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} +set txAdminPort {{$txAdminPort}} +App.CommandLineArgs={{$PlatformArgs}} +set txAdminPort {{$txAdminPort}} +set txAdminInterface {{$ApplicationIPBinding}} App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={} diff --git a/txadminconfig.json b/txadminconfig.json index 4e8682ebc..98113a914 100644 --- a/txadminconfig.json +++ b/txadminconfig.json @@ -1,7 +1,8 @@ [ { "DisplayName":"Server Build", - "Category":"Server Settings", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", "FieldName":"ServerBuild", @@ -18,7 +19,8 @@ }, { "DisplayName":"Specific Build Version Download URL", - "Category":"Server Settings", + "Category":"Updates", + "Subcategory":"Server Updates:build:-1", "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", "Keywords":"server,build,artifact,specific,version", "FieldName":"SpecificBuildVersionURL", From b06ec9d7accfb9a5a625e08c4b64c50ec680f94d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 6 Jul 2024 22:02:11 +1000 Subject: [PATCH 282/318] Update icon --- fivemconfig.json | 56 ++++++++++++++++++++++++------------------------ redmconfig.json | 56 ++++++++++++++++++++++++------------------------ 2 files changed, 56 insertions(+), 56 deletions(-) diff --git a/fivemconfig.json b/fivemconfig.json index 788d689d2..4390f842e 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -1,7 +1,7 @@ [ { "DisplayName":"Server Port", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"", "Keywords":"", @@ -13,7 +13,7 @@ }, { "DisplayName":"Cfx.re Licence Key", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", "Keywords":"licence,license,key,keymaster,sv_licenseKey", @@ -26,7 +26,7 @@ }, { "DisplayName":"Steam Web API Key", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", "Keywords":"steam,web,api,key,steam_webApiKey", @@ -38,7 +38,7 @@ }, { "DisplayName":"Server Name", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the name that shows when selecting the server in the server browser", "Keywords":"server,name,hostname", @@ -50,7 +50,7 @@ }, { "DisplayName":"Project Name", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", "Keywords":"project,name,sv_projectName", @@ -62,7 +62,7 @@ }, { "DisplayName":"Project Description", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the description that shows in the server browser", "Keywords":"project,description,sv_projectDesc", @@ -74,7 +74,7 @@ }, { "DisplayName":"Server Tags", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", "Keywords":"tags", @@ -87,7 +87,7 @@ }, { "DisplayName":"Server Locale", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "Keywords":"locale,language,country", @@ -100,7 +100,7 @@ }, { "DisplayName":"Server Icon", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", "Keywords":"server,icon,load_server_icon", @@ -113,7 +113,7 @@ }, { "DisplayName":"Server Detail Banner Image URL", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", "Keywords":"banner,detail,image,url,banner_detail", @@ -126,7 +126,7 @@ }, { "DisplayName":"Connecting Banner Image URL", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", "Keywords":"banner,connecting,image,url,banner_connecting", @@ -139,7 +139,7 @@ }, { "DisplayName":"Mark Server Private", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", "Keywords":"private,server,list,sv_master1", @@ -154,7 +154,7 @@ }, { "DisplayName":"Starting Resources", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", "Keywords":"ensure,resources", @@ -167,7 +167,7 @@ }, { "DisplayName":"Enable Endpoint Privacy", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", @@ -182,7 +182,7 @@ }, { "DisplayName":"Enforce Game Build", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", "Keywords":"enforce,game,build,sv_enforceGameBuild", @@ -204,7 +204,7 @@ }, { "DisplayName":"Player Limit", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", "Keywords":"maximum,players,clients,limit,maxClients", @@ -220,7 +220,7 @@ }, { "DisplayName":"OneSync Mode", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", "Keywords":"onesync,state,awareness,system", @@ -236,7 +236,7 @@ }, { "DisplayName":"Enable OneSync Population", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", "Keywords":"onesync,population,npcs,vehicles,onesync_population", @@ -251,7 +251,7 @@ }, { "DisplayName":"Enable OneSync Vehicle Distance Culling", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", @@ -266,7 +266,7 @@ }, { "DisplayName":"Enable OneSync Forced Migration", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", "Keywords":"onesync,force,migration,onesync_forceMigration", @@ -281,7 +281,7 @@ }, { "DisplayName":"Enable OneSync Workaround", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", "Keywords":"onesync,workaround,onesync_workaround763185", @@ -296,7 +296,7 @@ }, { "DisplayName":"Allow Scripthook Plugins", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", "Keywords":"scripthook,plugins,sv_scriptHookAllowed", @@ -311,7 +311,7 @@ }, { "DisplayName":"Block Modified Client Files", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets whether players will be prevented from using modified client files", "Keywords":"modified,client,files,sv_pureLevel", @@ -327,7 +327,7 @@ }, { "DisplayName":"Access Control Commands", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", "Keywords":"admin,access,control", @@ -339,7 +339,7 @@ }, { "DisplayName":"Enable HTTP Flood Protection", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", "Keywords":"http,flood,protection,sv_requestParanoia", @@ -356,7 +356,7 @@ }, { "DisplayName":"Server/RCON IP Binding", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", "Keywords":"ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", @@ -367,7 +367,7 @@ }, { "DisplayName":"Additional Command Line Parameters", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", "Keywords":"custom,server,arguments,variables,parameters", @@ -379,7 +379,7 @@ }, { "DisplayName":"Additional Server Settings", - "Category":"FiveM", + "Category":"FiveM:stadia_controller", "Subcategory":"Server Settings", "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", "Keywords":"additional,settings,custom", diff --git a/redmconfig.json b/redmconfig.json index ac8693357..40d5e3c7b 100644 --- a/redmconfig.json +++ b/redmconfig.json @@ -1,7 +1,7 @@ [ { "DisplayName":"Server Port", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"", "Keywords":"", @@ -13,7 +13,7 @@ }, { "DisplayName":"Cfx.re Licence Key", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", "Keywords":"licence,license,key,keymaster,sv_licenseKey", @@ -26,7 +26,7 @@ }, { "DisplayName":"Steam Web API Key", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", "Keywords":"steam,web,api,key,steam_webApiKey", @@ -38,7 +38,7 @@ }, { "DisplayName":"Server Name", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the name that shows when selecting the server in the server browser", "Keywords":"server,name,hostname", @@ -50,7 +50,7 @@ }, { "DisplayName":"Project Name", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", "Keywords":"project,name,sv_projectName", @@ -62,7 +62,7 @@ }, { "DisplayName":"Project Description", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the description that shows in the server browser", "Keywords":"project,description,sv_projectDesc", @@ -74,7 +74,7 @@ }, { "DisplayName":"Server Tags", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", "Keywords":"tags", @@ -87,7 +87,7 @@ }, { "DisplayName":"Server Locale", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "Keywords":"locale,language,country", @@ -100,7 +100,7 @@ }, { "DisplayName":"Server Icon", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", "Keywords":"server,icon,load_server_icon", @@ -113,7 +113,7 @@ }, { "DisplayName":"Server Detail Banner Image URL", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", "Keywords":"banner,detail,image,url,banner_detail", @@ -126,7 +126,7 @@ }, { "DisplayName":"Connecting Banner Image URL", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", "Keywords":"banner,connecting,image,url,banner_connecting", @@ -139,7 +139,7 @@ }, { "DisplayName":"Mark Server Private", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", "Keywords":"private,server,list,sv_master1", @@ -154,7 +154,7 @@ }, { "DisplayName":"Starting Resources", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", "Keywords":"ensure,resources", @@ -167,7 +167,7 @@ }, { "DisplayName":"Enable Endpoint Privacy", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", @@ -182,7 +182,7 @@ }, { "DisplayName":"Enforce Game Build", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", "Keywords":"enforce,game,build,sv_enforceGameBuild", @@ -199,7 +199,7 @@ }, { "DisplayName":"Player Limit", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", "Keywords":"maximum,players,clients,limit,maxClients", @@ -215,7 +215,7 @@ }, { "DisplayName":"OneSync Mode", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", "Keywords":"onesync,state,awareness,system", @@ -231,7 +231,7 @@ }, { "DisplayName":"Enable OneSync Population", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", "Keywords":"onesync,population,npcs,vehicles,onesync_population", @@ -246,7 +246,7 @@ }, { "DisplayName":"Enable OneSync Vehicle Distance Culling", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", @@ -261,7 +261,7 @@ }, { "DisplayName":"Enable OneSync Forced Migration", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", "Keywords":"onesync,force,migration,onesync_forceMigration", @@ -276,7 +276,7 @@ }, { "DisplayName":"Enable OneSync Workaround", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", "Keywords":"onesync,workaround,onesync_workaround763185", @@ -291,7 +291,7 @@ }, { "DisplayName":"Allow Scripthook Plugins", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", "Keywords":"scripthook,plugins,sv_scriptHookAllowed", @@ -306,7 +306,7 @@ }, { "DisplayName":"Block Modified Client Files", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets whether players will be prevented from using modified client files", "Keywords":"modified,client,files,sv_pureLevel", @@ -322,7 +322,7 @@ }, { "DisplayName":"Access Control Commands", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", "Keywords":"admin,access,control", @@ -334,7 +334,7 @@ }, { "DisplayName":"Enable HTTP Flood Protection", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", "Keywords":"http,flood,protection,sv_requestParanoia", @@ -351,7 +351,7 @@ }, { "DisplayName":"Server/RCON IP Binding", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", "Keywords":"ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", @@ -362,7 +362,7 @@ }, { "DisplayName":"Additional Command Line Parameters", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", "Keywords":"custom,server,arguments,variables,parameters", @@ -374,7 +374,7 @@ }, { "DisplayName":"Additional Server Settings", - "Category":"RedM", + "Category":"RedM:stadia_controller", "Subcategory":"Server Settings", "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", "Keywords":"additional,settings,custom", From b5d363dd51867846767a55cc617381d97a96cd11 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 1 Oct 2024 23:19:18 +1000 Subject: [PATCH 283/318] Settings uodates --- fivem.kvp | 2 +- fivemconfig.json | 56 ++++++++++++++++++++++++------------------------ redm.kvp | 2 +- redmconfig.json | 56 ++++++++++++++++++++++++------------------------ txadmin.kvp | 2 +- 5 files changed, 59 insertions(+), 59 deletions(-) diff --git a/fivem.kvp b/fivem.kvp index bf10657c7..3e5e1c087 100644 --- a/fivem.kvp +++ b/fivem.kvp @@ -22,7 +22,7 @@ Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True Meta.AppConfigId=aa5de5cd-d1b4-4432-906f-07c0360280ed -Meta.ConfigVersion=0.0.0.0 +Meta.ConfigVersion=1.1 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= App.DisplayName=FiveM diff --git a/fivemconfig.json b/fivemconfig.json index 4390f842e..1d517b10f 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -2,7 +2,7 @@ { "DisplayName":"Server Port", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"", "Keywords":"", "FieldName":"$ServerPort", @@ -14,7 +14,7 @@ { "DisplayName":"Cfx.re Licence Key", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", "Keywords":"licence,license,key,keymaster,sv_licenseKey", "FieldName":"sv_licenseKey", @@ -27,7 +27,7 @@ { "DisplayName":"Steam Web API Key", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", "Keywords":"steam,web,api,key,steam_webApiKey", "FieldName":"steam_webApiKey", @@ -39,7 +39,7 @@ { "DisplayName":"Server Name", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the name that shows when selecting the server in the server browser", "Keywords":"server,name,hostname", "FieldName":"sv_hostname", @@ -51,7 +51,7 @@ { "DisplayName":"Project Name", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", "Keywords":"project,name,sv_projectName", "FieldName":"sv_projectName", @@ -63,7 +63,7 @@ { "DisplayName":"Project Description", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the description that shows in the server browser", "Keywords":"project,description,sv_projectDesc", "FieldName":"sv_projectDesc", @@ -75,7 +75,7 @@ { "DisplayName":"Server Tags", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", "Keywords":"tags", "FieldName":"tags", @@ -88,7 +88,7 @@ { "DisplayName":"Server Locale", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "Keywords":"locale,language,country", "FieldName":"locale", @@ -101,7 +101,7 @@ { "DisplayName":"Server Icon", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", "Keywords":"server,icon,load_server_icon", "FieldName":"load_server_icon", @@ -114,7 +114,7 @@ { "DisplayName":"Server Detail Banner Image URL", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", "Keywords":"banner,detail,image,url,banner_detail", "FieldName":"banner_detail", @@ -127,7 +127,7 @@ { "DisplayName":"Connecting Banner Image URL", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", "Keywords":"banner,connecting,image,url,banner_connecting", "FieldName":"banner_connecting", @@ -140,7 +140,7 @@ { "DisplayName":"Mark Server Private", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", "Keywords":"private,server,list,sv_master1", "FieldName":"sv_master1", @@ -155,7 +155,7 @@ { "DisplayName":"Starting Resources", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", "Keywords":"ensure,resources", "FieldName":"ensure", @@ -168,7 +168,7 @@ { "DisplayName":"Enable Endpoint Privacy", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", "FieldName":"sv_endpointPrivacy", @@ -183,7 +183,7 @@ { "DisplayName":"Enforce Game Build", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", "Keywords":"enforce,game,build,sv_enforceGameBuild", "FieldName":"sv_enforceGameBuild", @@ -205,7 +205,7 @@ { "DisplayName":"Player Limit", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", "Keywords":"maximum,players,clients,limit,maxClients", "FieldName":"$MaxUsers", @@ -221,7 +221,7 @@ { "DisplayName":"OneSync Mode", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", "Keywords":"onesync,state,awareness,system", "FieldName":"onesync", @@ -237,7 +237,7 @@ { "DisplayName":"Enable OneSync Population", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", "Keywords":"onesync,population,npcs,vehicles,onesync_population", "FieldName":"onesync_population", @@ -252,7 +252,7 @@ { "DisplayName":"Enable OneSync Vehicle Distance Culling", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", "FieldName":"onesync_distanceCullVehicles", @@ -267,7 +267,7 @@ { "DisplayName":"Enable OneSync Forced Migration", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", "Keywords":"onesync,force,migration,onesync_forceMigration", "FieldName":"onesync_forceMigration", @@ -282,7 +282,7 @@ { "DisplayName":"Enable OneSync Workaround", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", "Keywords":"onesync,workaround,onesync_workaround763185", "FieldName":"onesync_workaround763185", @@ -297,7 +297,7 @@ { "DisplayName":"Allow Scripthook Plugins", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", "Keywords":"scripthook,plugins,sv_scriptHookAllowed", "FieldName":"sv_scriptHookAllowed", @@ -312,7 +312,7 @@ { "DisplayName":"Block Modified Client Files", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets whether players will be prevented from using modified client files", "Keywords":"modified,client,files,sv_pureLevel", "FieldName":"sv_pureLevel", @@ -328,7 +328,7 @@ { "DisplayName":"Access Control Commands", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", "Keywords":"admin,access,control", "FieldName":"AccessControlCommands", @@ -340,7 +340,7 @@ { "DisplayName":"Enable HTTP Flood Protection", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", "Keywords":"http,flood,protection,sv_requestParanoia", "FieldName":"sv_requestParanoia", @@ -357,7 +357,7 @@ { "DisplayName":"Server/RCON IP Binding", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", "Keywords":"ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", "FieldName":"$ApplicationIPBinding", @@ -368,7 +368,7 @@ { "DisplayName":"Additional Command Line Parameters", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", "Keywords":"custom,server,arguments,variables,parameters", "FieldName":"CustomArgs", @@ -380,7 +380,7 @@ { "DisplayName":"Additional Server Settings", "Category":"FiveM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", "Keywords":"additional,settings,custom", "FieldName":"UserSettings", diff --git a/redm.kvp b/redm.kvp index 1fdcfffb0..73b4269e9 100644 --- a/redm.kvp +++ b/redm.kvp @@ -22,7 +22,7 @@ Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True Meta.AppConfigId=5bc891bd-ce22-43f6-a05b-e5080798180f -Meta.ConfigVersion=0.0.0.0 +Meta.ConfigVersion=1.1 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= App.DisplayName=RedM diff --git a/redmconfig.json b/redmconfig.json index 40d5e3c7b..0048107d0 100644 --- a/redmconfig.json +++ b/redmconfig.json @@ -2,7 +2,7 @@ { "DisplayName":"Server Port", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"", "Keywords":"", "FieldName":"$ServerPort", @@ -14,7 +14,7 @@ { "DisplayName":"Cfx.re Licence Key", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", "Keywords":"licence,license,key,keymaster,sv_licenseKey", "FieldName":"sv_licenseKey", @@ -27,7 +27,7 @@ { "DisplayName":"Steam Web API Key", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", "Keywords":"steam,web,api,key,steam_webApiKey", "FieldName":"steam_webApiKey", @@ -39,7 +39,7 @@ { "DisplayName":"Server Name", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the name that shows when selecting the server in the server browser", "Keywords":"server,name,hostname", "FieldName":"sv_hostname", @@ -51,7 +51,7 @@ { "DisplayName":"Project Name", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", "Keywords":"project,name,sv_projectName", "FieldName":"sv_projectName", @@ -63,7 +63,7 @@ { "DisplayName":"Project Description", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the description that shows in the server browser", "Keywords":"project,description,sv_projectDesc", "FieldName":"sv_projectDesc", @@ -75,7 +75,7 @@ { "DisplayName":"Server Tags", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", "Keywords":"tags", "FieldName":"tags", @@ -88,7 +88,7 @@ { "DisplayName":"Server Locale", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", "Keywords":"locale,language,country", "FieldName":"locale", @@ -101,7 +101,7 @@ { "DisplayName":"Server Icon", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", "Keywords":"server,icon,load_server_icon", "FieldName":"load_server_icon", @@ -114,7 +114,7 @@ { "DisplayName":"Server Detail Banner Image URL", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", "Keywords":"banner,detail,image,url,banner_detail", "FieldName":"banner_detail", @@ -127,7 +127,7 @@ { "DisplayName":"Connecting Banner Image URL", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", "Keywords":"banner,connecting,image,url,banner_connecting", "FieldName":"banner_connecting", @@ -140,7 +140,7 @@ { "DisplayName":"Mark Server Private", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", "Keywords":"private,server,list,sv_master1", "FieldName":"sv_master1", @@ -155,7 +155,7 @@ { "DisplayName":"Starting Resources", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", "Keywords":"ensure,resources", "FieldName":"ensure", @@ -168,7 +168,7 @@ { "DisplayName":"Enable Endpoint Privacy", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", "FieldName":"sv_endpointPrivacy", @@ -183,7 +183,7 @@ { "DisplayName":"Enforce Game Build", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", "Keywords":"enforce,game,build,sv_enforceGameBuild", "FieldName":"sv_enforceGameBuild", @@ -200,7 +200,7 @@ { "DisplayName":"Player Limit", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", "Keywords":"maximum,players,clients,limit,maxClients", "FieldName":"$MaxUsers", @@ -216,7 +216,7 @@ { "DisplayName":"OneSync Mode", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", "Keywords":"onesync,state,awareness,system", "FieldName":"onesync", @@ -232,7 +232,7 @@ { "DisplayName":"Enable OneSync Population", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", "Keywords":"onesync,population,npcs,vehicles,onesync_population", "FieldName":"onesync_population", @@ -247,7 +247,7 @@ { "DisplayName":"Enable OneSync Vehicle Distance Culling", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", "FieldName":"onesync_distanceCullVehicles", @@ -262,7 +262,7 @@ { "DisplayName":"Enable OneSync Forced Migration", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", "Keywords":"onesync,force,migration,onesync_forceMigration", "FieldName":"onesync_forceMigration", @@ -277,7 +277,7 @@ { "DisplayName":"Enable OneSync Workaround", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", "Keywords":"onesync,workaround,onesync_workaround763185", "FieldName":"onesync_workaround763185", @@ -292,7 +292,7 @@ { "DisplayName":"Allow Scripthook Plugins", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", "Keywords":"scripthook,plugins,sv_scriptHookAllowed", "FieldName":"sv_scriptHookAllowed", @@ -307,7 +307,7 @@ { "DisplayName":"Block Modified Client Files", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets whether players will be prevented from using modified client files", "Keywords":"modified,client,files,sv_pureLevel", "FieldName":"sv_pureLevel", @@ -323,7 +323,7 @@ { "DisplayName":"Access Control Commands", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", "Keywords":"admin,access,control", "FieldName":"AccessControlCommands", @@ -335,7 +335,7 @@ { "DisplayName":"Enable HTTP Flood Protection", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", "Keywords":"http,flood,protection,sv_requestParanoia", "FieldName":"sv_requestParanoia", @@ -352,7 +352,7 @@ { "DisplayName":"Server/RCON IP Binding", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", "Keywords":"ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", "FieldName":"$ApplicationIPBinding", @@ -363,7 +363,7 @@ { "DisplayName":"Additional Command Line Parameters", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", "Keywords":"custom,server,arguments,variables,parameters", "FieldName":"CustomArgs", @@ -375,7 +375,7 @@ { "DisplayName":"Additional Server Settings", "Category":"RedM:stadia_controller", - "Subcategory":"Server Settings", + "Subcategory":"Server:dns:1", "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", "Keywords":"additional,settings,custom", "FieldName":"UserSettings", diff --git a/txadmin.kvp b/txadmin.kvp index 4dbb1baf8..44bc13701 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -22,7 +22,7 @@ Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True Meta.AppConfigId=7f7c01fc-8c2b-4d64-b47d-85f3a416cc27 -Meta.ConfigVersion=0.0.0.0 +Meta.ConfigVersion=1.1 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= App.DisplayName=txAdmin From 864c897f57f6db7ed235c10d60201b63365418d4 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 8 Oct 2024 22:10:13 +1100 Subject: [PATCH 284/318] Script updates --- fivemupdates.json | 2 +- redmupdates.json | 2 +- txadminupdates.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fivemupdates.json b/fivemupdates.json index 1eed4cbaa..f4fddb8ca 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -157,7 +157,7 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd ./fivem/server && tar -xf fx.tar.xz && rm -f fx.tar.xz'" + "UpdateSourceArgs":"-c \"cd ./fivem/server && tar -xf fx.tar.xz && rm -f fx.tar.xz\"" }, { "UpdateStageName":"Clone Resources Repo", diff --git a/redmupdates.json b/redmupdates.json index f095cf2c8..616be92eb 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -157,7 +157,7 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd ./redm/server && tar -xf fx.tar.xz && rm -f fx.tar.xz'" + "UpdateSourceArgs":"-c \"cd ./redm/server && tar -xf fx.tar.xz && rm -f fx.tar.xz\"" }, { "UpdateStageName":"Clone Resources Repo", diff --git a/txadminupdates.json b/txadminupdates.json index 9a34ced74..1b0c137e7 100644 --- a/txadminupdates.json +++ b/txadminupdates.json @@ -141,6 +141,6 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'cd ./txadmin/server && tar -xf fx.tar.xz && rm -f fx.tar.xz'" + "UpdateSourceArgs":"-c \"cd ./txadmin/server && tar -xf fx.tar.xz && rm -f fx.tar.xz\"" } ] From 0368ff584646464d66c52050effaae5a9bdc3ce5 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 14 Oct 2024 07:00:00 +1100 Subject: [PATCH 285/318] Update fivemupdates.json --- fivemupdates.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fivemupdates.json b/fivemupdates.json index f4fddb8ca..86de9fc69 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -18,7 +18,7 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server/alpine/*'", + "UpdateSourceArgs":"-c \"rm -rf \\\"{{$FullBaseDir}}server/alpine/\\\"* >/dev/null 2>&1\"", "SkipOnFailure":true }, { @@ -26,7 +26,7 @@ "UpdateSourcePlatform":"Windows", "UpdateSource":"Executable", "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server\\alpine\\*", + "UpdateSourceArgs":"/C del /Q /F \"{{$FullBaseDir}}server\\alpine\\\"* > NUL 2>&1", "SkipOnFailure":true }, { @@ -157,7 +157,7 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"cd ./fivem/server && tar -xf fx.tar.xz && rm -f fx.tar.xz\"" + "UpdateSourceArgs":"-c \"cd ./fivem/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"" }, { "UpdateStageName":"Clone Resources Repo", From 5669bc4669ce46350f0e7394f7e263eef1d30326 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 14 Oct 2024 07:01:42 +1100 Subject: [PATCH 286/318] Update redmupdates.json --- redmupdates.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/redmupdates.json b/redmupdates.json index 616be92eb..2948d9302 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -18,7 +18,7 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c 'rm -rf {{$FullBaseDir}}server/alpine/*'", + "UpdateSourceArgs":"-c \"rm -rf \\\"{{$FullBaseDir}}server/alpine/\\\"* >/dev/null 2>&1\"", "SkipOnFailure":true }, { @@ -26,7 +26,7 @@ "UpdateSourcePlatform":"Windows", "UpdateSource":"Executable", "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C del /Q /F {{$FullBaseDir}}server\\alpine\\*", + "UpdateSourceArgs":"/C del /Q /F \"{{$FullBaseDir}}server\\alpine\\\"* > NUL 2>&1", "SkipOnFailure":true }, { @@ -157,7 +157,7 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"cd ./redm/server && tar -xf fx.tar.xz && rm -f fx.tar.xz\"" + "UpdateSourceArgs":"-c \"cd ./redm/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"" }, { "UpdateStageName":"Clone Resources Repo", From 9ebce0e7cacb2a57438730e3ef1c5e126ddacbe5 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 14 Oct 2024 07:03:13 +1100 Subject: [PATCH 287/318] Update txadminupdates.json --- txadminupdates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txadminupdates.json b/txadminupdates.json index 1b0c137e7..084639ebe 100644 --- a/txadminupdates.json +++ b/txadminupdates.json @@ -141,6 +141,6 @@ "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"cd ./txadmin/server && tar -xf fx.tar.xz && rm -f fx.tar.xz\"" + "UpdateSourceArgs":"-c \"cd ./txadmin/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"" } ] From 96d850c5d78c01994deb96650aff4ef9777de4a8 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 28 Nov 2024 10:07:14 +1100 Subject: [PATCH 288/318] Update fivemupdates.json --- fivemupdates.json | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/fivemupdates.json b/fivemupdates.json index 86de9fc69..c0a4a5b3b 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -4,14 +4,16 @@ "UpdateSourcePlatform":"All", "UpdateSource":"CreateDirectory", "UpdateSourceArgs":"{{$FullBaseDir}}server", - "OverwriteExistingFiles":false + "OverwriteExistingFiles":false, + "SkipOnFailure":false }, { "UpdateStageName":"Create Data Directory", "UpdateSourcePlatform":"All", "UpdateSource":"CreateDirectory", "UpdateSourceArgs":"{{$FullBaseDir}}server-data", - "OverwriteExistingFiles":false + "OverwriteExistingFiles":false, + "SkipOnFailure":false }, { "UpdateStageName":"Delete Binary Directory Contents", @@ -40,7 +42,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download" + "UpdateSourceConditionValue":"recommended_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -52,7 +55,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download" + "UpdateSourceConditionValue":"recommended_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -65,7 +69,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download" + "UpdateSourceConditionValue":"optional_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -77,7 +82,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download" + "UpdateSourceConditionValue":"optional_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -90,7 +96,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download" + "UpdateSourceConditionValue":"latest_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -102,7 +109,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download" + "UpdateSourceConditionValue":"latest_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -115,7 +123,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download" + "UpdateSourceConditionValue":"critical_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -127,7 +136,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download" + "UpdateSourceConditionValue":"critical_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -140,6 +150,7 @@ "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", "UpdateSourceConditionValue":"SpecificVersion", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -151,13 +162,15 @@ "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", "UpdateSourceConditionValue":"SpecificVersion", + "SkipOnFailure":false }, { "UpdateStageName":"Server Extract", "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"cd ./fivem/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"" + "UpdateSourceArgs":"-c \"cd ./fivem/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", + "SkipOnFailure":false }, { "UpdateStageName":"Clone Resources Repo", @@ -173,6 +186,7 @@ "UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/fivemredm/fivemserver.cfg", "UpdateSourceArgs":"AMP_server.cfg", "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true + "OverwriteExistingFiles":true, + "SkipOnFailure":false } ] From ba71c3d7f1a604f9840b13dbe428ff790f31d1e8 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 28 Nov 2024 10:08:23 +1100 Subject: [PATCH 289/318] Update txadminupdates.json --- txadminupdates.json | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/txadminupdates.json b/txadminupdates.json index 084639ebe..5007db53a 100644 --- a/txadminupdates.json +++ b/txadminupdates.json @@ -4,14 +4,16 @@ "UpdateSourcePlatform":"All", "UpdateSource":"CreateDirectory", "UpdateSourceArgs":"{{$FullBaseDir}}server", - "OverwriteExistingFiles":false + "OverwriteExistingFiles":false, + "SkipOnFailure":false }, { "UpdateStageName":"Create Data Directory", "UpdateSourcePlatform":"All", "UpdateSource":"CreateDirectory", "UpdateSourceArgs":"{{$FullBaseDir}}server-data", - "OverwriteExistingFiles":false + "OverwriteExistingFiles":false, + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -24,7 +26,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download" + "UpdateSourceConditionValue":"recommended_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -36,7 +39,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download" + "UpdateSourceConditionValue":"recommended_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -49,7 +53,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download" + "UpdateSourceConditionValue":"optional_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -61,7 +66,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download" + "UpdateSourceConditionValue":"optional_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -74,7 +80,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download" + "UpdateSourceConditionValue":"latest_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -86,7 +93,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download" + "UpdateSourceConditionValue":"latest_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -99,7 +107,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download" + "UpdateSourceConditionValue":"critical_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -111,7 +120,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download" + "UpdateSourceConditionValue":"critical_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -124,6 +134,7 @@ "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", "UpdateSourceConditionValue":"SpecificVersion", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -135,12 +146,14 @@ "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", "UpdateSourceConditionValue":"SpecificVersion", + "SkipOnFailure":false }, { "UpdateStageName":"Server Extract", "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"cd ./txadmin/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"" + "UpdateSourceArgs":"-c \"cd ./txadmin/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", + "SkipOnFailure":false } ] From 449818c57b25fddeba65a893e3d803890ebed1ad Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 28 Nov 2024 10:11:25 +1100 Subject: [PATCH 290/318] Update redmupdates.json --- redmupdates.json | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/redmupdates.json b/redmupdates.json index 2948d9302..c80c3bb26 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -4,14 +4,16 @@ "UpdateSourcePlatform":"All", "UpdateSource":"CreateDirectory", "UpdateSourceArgs":"{{$FullBaseDir}}server", - "OverwriteExistingFiles":false + "OverwriteExistingFiles":false, + "SkipOnFailure":false }, { "UpdateStageName":"Create Data Directory", "UpdateSourcePlatform":"All", "UpdateSource":"CreateDirectory", "UpdateSourceArgs":"{{$FullBaseDir}}server-data", - "OverwriteExistingFiles":false + "OverwriteExistingFiles":false, + "SkipOnFailure":false }, { "UpdateStageName":"Delete Binary Directory Contents", @@ -40,7 +42,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download" + "UpdateSourceConditionValue":"recommended_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -52,7 +55,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download" + "UpdateSourceConditionValue":"recommended_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -65,7 +69,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download" + "UpdateSourceConditionValue":"optional_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -77,7 +82,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download" + "UpdateSourceConditionValue":"optional_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -90,7 +96,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download" + "UpdateSourceConditionValue":"latest_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -102,7 +109,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download" + "UpdateSourceConditionValue":"latest_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -115,7 +123,8 @@ "OverwriteExistingFiles":true, "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download" + "UpdateSourceConditionValue":"critical_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -127,7 +136,8 @@ "UnzipUpdateSource":false, "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download" + "UpdateSourceConditionValue":"critical_download", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -140,6 +150,7 @@ "DeleteAfterExtract":true, "UpdateSourceConditionSetting":"ServerBuild", "UpdateSourceConditionValue":"SpecificVersion", + "SkipOnFailure":false }, { "UpdateStageName":"Server Download", @@ -151,13 +162,15 @@ "OverwriteExistingFiles":true, "UpdateSourceConditionSetting":"ServerBuild", "UpdateSourceConditionValue":"SpecificVersion", + "SkipOnFailure":false }, { "UpdateStageName":"Server Extract", "UpdateSourcePlatform":"Linux", "UpdateSource":"Executable", "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"cd ./redm/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"" + "UpdateSourceArgs":"-c \"cd ./redm/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", + "SkipOnFailure":false }, { "UpdateStageName":"Clone Resources Repo", @@ -173,6 +186,7 @@ "UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/fivemredm/redmserver.cfg", "UpdateSourceArgs":"AMP_server.cfg", "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true + "OverwriteExistingFiles":true, + "SkipOnFailure":false } ] From 09b23b2b6ffa2484b18732eb5814b7ec699ca848 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 1 Dec 2024 10:24:20 +1100 Subject: [PATCH 291/318] Linting --- fivemconfig.json | 744 +++++++++++++++++++++---------------------- fivemmetaconfig.json | 8 +- fivemupdates.json | 376 +++++++++++----------- redmconfig.json | 734 +++++++++++++++++++++--------------------- redmmetaconfig.json | 8 +- redmupdates.json | 376 +++++++++++----------- txadminconfig.json | 52 +-- txadminupdates.json | 262 +++++++-------- 8 files changed, 1280 insertions(+), 1280 deletions(-) diff --git a/fivemconfig.json b/fivemconfig.json index 1d517b10f..1280041a1 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -1,451 +1,451 @@ [ { - "DisplayName":"Server Port", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "Hidden":true, - "ParamFieldName":"ServerPort", - "EnumValues":{} + "DisplayName": "Server Port", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "", + "Keywords": "", + "FieldName": "$ServerPort", + "InputType": "number", + "Hidden": true, + "ParamFieldName": "ServerPort", + "EnumValues": {} }, { - "DisplayName":"Cfx.re Licence Key", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", - "Keywords":"licence,license,key,keymaster,sv_licenseKey", - "FieldName":"sv_licenseKey", - "InputType":"password", - "ParamFieldName":"sv_licenseKey", - "DefaultValue":"", - "Required":true, - "EnumValues":{} + "DisplayName": "Cfx.re Licence Key", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", + "Keywords": "licence,license,key,keymaster,sv_licenseKey", + "FieldName": "sv_licenseKey", + "InputType": "password", + "ParamFieldName": "sv_licenseKey", + "DefaultValue": "", + "Required": true, + "EnumValues": {} }, { - "DisplayName":"Steam Web API Key", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", - "Keywords":"steam,web,api,key,steam_webApiKey", - "FieldName":"steam_webApiKey", - "InputType":"password", - "ParamFieldName":"steam_webApiKey", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Steam Web API Key", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", + "Keywords": "steam,web,api,key,steam_webApiKey", + "FieldName": "steam_webApiKey", + "InputType": "password", + "ParamFieldName": "steam_webApiKey", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Server Name", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the name that shows when selecting the server in the server browser", - "Keywords":"server,name,hostname", - "FieldName":"sv_hostname", - "InputType":"text", - "ParamFieldName":"sv_hostname", - "DefaultValue":"AMP Powered FiveM Server", - "EnumValues":{} + "DisplayName": "Server Name", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the name that shows when selecting the server in the server browser", + "Keywords": "server,name,hostname", + "FieldName": "sv_hostname", + "InputType": "text", + "ParamFieldName": "sv_hostname", + "DefaultValue": "AMP Powered FiveM Server", + "EnumValues": {} }, { - "DisplayName":"Project Name", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", - "Keywords":"project,name,sv_projectName", - "FieldName":"sv_projectName", - "InputType":"text", - "ParamFieldName":"sv_projectName", - "DefaultValue":"AMP Powered FiveM Server", - "EnumValues":{} + "DisplayName": "Project Name", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", + "Keywords": "project,name,sv_projectName", + "FieldName": "sv_projectName", + "InputType": "text", + "ParamFieldName": "sv_projectName", + "DefaultValue": "AMP Powered FiveM Server", + "EnumValues": {} }, { - "DisplayName":"Project Description", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the description that shows in the server browser", - "Keywords":"project,description,sv_projectDesc", - "FieldName":"sv_projectDesc", - "InputType":"text", - "ParamFieldName":"sv_projectDesc", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Project Description", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the description that shows in the server browser", + "Keywords": "project,description,sv_projectDesc", + "FieldName": "sv_projectDesc", + "InputType": "text", + "ParamFieldName": "sv_projectDesc", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Server Tags", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", - "Keywords":"tags", - "FieldName":"tags", - "InputType":"text", - "ParamFieldName":"tags", - "DefaultValue":"default", - "Placeholder":"default", - "EnumValues":{} + "DisplayName": "Server Tags", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets a comma-separated list of server tags that give additional information about the server in the server browser", + "Keywords": "tags", + "FieldName": "tags", + "InputType": "text", + "ParamFieldName": "tags", + "DefaultValue": "default", + "Placeholder": "default", + "EnumValues": {} }, { - "DisplayName":"Server Locale", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", - "Keywords":"locale,language,country", - "FieldName":"locale", - "InputType":"text", - "ParamFieldName":"locale", - "DefaultValue":"en-US", - "Placeholder":"en-US", - "EnumValues":{} + "DisplayName": "Server Locale", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", + "Keywords": "locale,language,country", + "FieldName": "locale", + "InputType": "text", + "ParamFieldName": "locale", + "DefaultValue": "en-US", + "Placeholder": "en-US", + "EnumValues": {} }, { - "DisplayName":"Server Icon", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", - "Keywords":"server,icon,load_server_icon", - "FieldName":"load_server_icon", - "InputType":"text", - "ParamFieldName":"load_server_icon", - "DefaultValue":"", - "Placeholder":"myLogo.png", - "EnumValues":{} + "DisplayName": "Server Icon", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", + "Keywords": "server,icon,load_server_icon", + "FieldName": "load_server_icon", + "InputType": "text", + "ParamFieldName": "load_server_icon", + "DefaultValue": "", + "Placeholder": "myLogo.png", + "EnumValues": {} }, { - "DisplayName":"Server Detail Banner Image URL", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", - "Keywords":"banner,detail,image,url,banner_detail", - "FieldName":"banner_detail", - "InputType":"text", - "ParamFieldName":"banner_detail", - "DefaultValue":"", - "Placeholder":"https://url.to/image.png", - "EnumValues":{} + "DisplayName": "Server Detail Banner Image URL", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", + "Keywords": "banner,detail,image,url,banner_detail", + "FieldName": "banner_detail", + "InputType": "text", + "ParamFieldName": "banner_detail", + "DefaultValue": "", + "Placeholder": "https://url.to/image.png", + "EnumValues": {} }, { - "DisplayName":"Connecting Banner Image URL", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", - "Keywords":"banner,connecting,image,url,banner_connecting", - "FieldName":"banner_connecting", - "InputType":"text", - "ParamFieldName":"banner_connecting", - "DefaultValue":"", - "Placeholder":"https://url.to/image.png", - "EnumValues":{} + "DisplayName": "Connecting Banner Image URL", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the URL for a connecting banner image. The image should be in PNG or GIF format", + "Keywords": "banner,connecting,image,url,banner_connecting", + "FieldName": "banner_connecting", + "InputType": "text", + "ParamFieldName": "banner_connecting", + "DefaultValue": "", + "Placeholder": "https://url.to/image.png", + "EnumValues": {} }, { - "DisplayName":"Mark Server Private", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", - "Keywords":"private,server,list,sv_master1", - "FieldName":"sv_master1", - "InputType":"checkbox", - "ParamFieldName":"sv_master1", - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"sv_master1 \"\" " + "DisplayName": "Mark Server Private", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", + "Keywords": "private,server,list,sv_master1", + "FieldName": "sv_master1", + "InputType": "checkbox", + "ParamFieldName": "sv_master1", + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": "sv_master1 \"\" " } }, { - "DisplayName":"Starting Resources", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", - "Keywords":"ensure,resources", - "FieldName":"ensure", - "InputType":"Textarea", - "ParamFieldName":"ensure", - "DefaultValue":"ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", - "Placeholder":"ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", - "EnumValues":{} + "DisplayName": "Starting Resources", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", + "Keywords": "ensure,resources", + "FieldName": "ensure", + "InputType": "Textarea", + "ParamFieldName": "ensure", + "DefaultValue": "ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", + "Placeholder": "ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", + "EnumValues": {} }, { - "DisplayName":"Enable Endpoint Privacy", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", - "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", - "FieldName":"sv_endpointPrivacy", - "InputType":"checkbox", - "ParamFieldName":"sv_endpointPrivacy", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable Endpoint Privacy", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, player IP addresses will be hidden from public reports that the server outputs", + "Keywords": "endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", + "FieldName": "sv_endpointPrivacy", + "InputType": "checkbox", + "ParamFieldName": "sv_endpointPrivacy", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Enforce Game Build", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", - "Keywords":"enforce,game,build,sv_enforceGameBuild", - "FieldName":"sv_enforceGameBuild", - "InputType":"enum", - "ParamFieldName":"sv_enforceGameBuild", - "DefaultValue":"1604", - "EnumValues":{ - "1604":"1604 (Arena War)", - "2060":"2060 (Los Santos Summer Special)", - "2189":"2189 (Cayo Perico Heist)", - "2372":"2372 (Los Santos Tuners)", - "2545":"2545 (The Contract)", - "2612":"2612 (mpg9ec)", - "2699":"2699 (The Criminal Enterprises)", - "2802":"2802 (Los Santos Drug Wars)", - "2944":"2944 (San Andreas Mercenaries)" + "DisplayName": "Enforce Game Build", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", + "Keywords": "enforce,game,build,sv_enforceGameBuild", + "FieldName": "sv_enforceGameBuild", + "InputType": "enum", + "ParamFieldName": "sv_enforceGameBuild", + "DefaultValue": "1604", + "EnumValues": { + "1604": "1604 (Arena War)", + "2060": "2060 (Los Santos Summer Special)", + "2189": "2189 (Cayo Perico Heist)", + "2372": "2372 (Los Santos Tuners)", + "2545": "2545 (The Contract)", + "2612": "2612 (mpg9ec)", + "2699": "2699 (The Criminal Enterprises)", + "2802": "2802 (Los Santos Drug Wars)", + "2944": "2944 (San Andreas Mercenaries)" } }, { - "DisplayName":"Player Limit", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", - "Keywords":"maximum,players,clients,limit,maxClients", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "MaxValue":"2048", - "ParamFieldName":"sv_maxClients", - "DefaultValue":"32", - "Placeholder":"32", - "Suffix":"players", - "EnumValues":{} + "DisplayName": "Player Limit", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", + "Keywords": "maximum,players,clients,limit,maxClients", + "FieldName": "$MaxUsers", + "InputType": "number", + "MinValue": "1", + "MaxValue": "2048", + "ParamFieldName": "sv_maxClients", + "DefaultValue": "32", + "Placeholder": "32", + "Suffix": "players", + "EnumValues": {} }, { - "DisplayName":"OneSync Mode", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", - "Keywords":"onesync,state,awareness,system", - "FieldName":"onesync", - "InputType":"enum", - "ParamFieldName":"onesync", - "DefaultValue":"on", - "EnumValues":{ - "off":"Off", - "on":"On (default)", - "legacy":"Legacy compatibility mode" + "DisplayName": "OneSync Mode", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", + "Keywords": "onesync,state,awareness,system", + "FieldName": "onesync", + "InputType": "enum", + "ParamFieldName": "onesync", + "DefaultValue": "on", + "EnumValues": { + "off": "Off", + "on": "On (default)", + "legacy": "Legacy compatibility mode" } }, { - "DisplayName":"Enable OneSync Population", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", - "Keywords":"onesync,population,npcs,vehicles,onesync_population", - "FieldName":"onesync_population", - "InputType":"checkbox", - "ParamFieldName":"onesync_population", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable OneSync Population", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", + "Keywords": "onesync,population,npcs,vehicles,onesync_population", + "FieldName": "onesync_population", + "InputType": "checkbox", + "ParamFieldName": "onesync_population", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Enable OneSync Vehicle Distance Culling", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", - "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", - "FieldName":"onesync_distanceCullVehicles", - "InputType":"checkbox", - "ParamFieldName":"onesync_distanceCullVehicles", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable OneSync Vehicle Distance Culling", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", + "Keywords": "onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", + "FieldName": "onesync_distanceCullVehicles", + "InputType": "checkbox", + "ParamFieldName": "onesync_distanceCullVehicles", + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Enable OneSync Forced Migration", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", - "Keywords":"onesync,force,migration,onesync_forceMigration", - "FieldName":"onesync_forceMigration", - "InputType":"checkbox", - "ParamFieldName":"onesync_forceMigration", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable OneSync Forced Migration", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", + "Keywords": "onesync,force,migration,onesync_forceMigration", + "FieldName": "onesync_forceMigration", + "InputType": "checkbox", + "ParamFieldName": "onesync_forceMigration", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Enable OneSync Workaround", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", - "Keywords":"onesync,workaround,onesync_workaround763185", - "FieldName":"onesync_workaround763185", - "InputType":"checkbox", - "ParamFieldName":"onesync_workaround763185", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable OneSync Workaround", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", + "Keywords": "onesync,workaround,onesync_workaround763185", + "FieldName": "onesync_workaround763185", + "InputType": "checkbox", + "ParamFieldName": "onesync_workaround763185", + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Allow Scripthook Plugins", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", - "Keywords":"scripthook,plugins,sv_scriptHookAllowed", - "FieldName":"sv_scriptHookAllowed", - "InputType":"checkbox", - "ParamFieldName":"sv_scriptHookAllowed", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Allow Scripthook Plugins", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", + "Keywords": "scripthook,plugins,sv_scriptHookAllowed", + "FieldName": "sv_scriptHookAllowed", + "InputType": "checkbox", + "ParamFieldName": "sv_scriptHookAllowed", + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Block Modified Client Files", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets whether players will be prevented from using modified client files", - "Keywords":"modified,client,files,sv_pureLevel", - "FieldName":"sv_pureLevel", - "InputType":"enum", - "ParamFieldName":"sv_pureLevel", - "DefaultValue":"", - "EnumValues":{ - "":"No block", - "sv_pureLevel 1":"Block all except audio files and known graphics mods", - "sv_pureLevel 2":"Block all" + "DisplayName": "Block Modified Client Files", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets whether players will be prevented from using modified client files", + "Keywords": "modified,client,files,sv_pureLevel", + "FieldName": "sv_pureLevel", + "InputType": "enum", + "ParamFieldName": "sv_pureLevel", + "DefaultValue": "", + "EnumValues": { + "": "No block", + "sv_pureLevel 1": "Block all except audio files and known graphics mods", + "sv_pureLevel 2": "Block all" } }, { - "DisplayName":"Access Control Commands", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", - "Keywords":"admin,access,control", - "FieldName":"AccessControlCommands", - "InputType":"Textarea", - "ParamFieldName":"AccessControlCommands", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Access Control Commands", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", + "Keywords": "admin,access,control", + "FieldName": "AccessControlCommands", + "InputType": "Textarea", + "ParamFieldName": "AccessControlCommands", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Enable HTTP Flood Protection", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", - "Keywords":"http,flood,protection,sv_requestParanoia", - "FieldName":"sv_requestParanoia", - "InputType":"enum", - "ParamFieldName":"sv_requestParanoia", - "DefaultValue":"0", - "EnumValues":{ - "0":"Off (default)", - "1":"Level 1: Blocks IPs with 'Via' header requests", - "2":"Level 2: Previous + blocks IPs with 'Upgrade-Insecure-Requests' header requests", - "3":"Level 3: Previous + closes socket on which requests submitted" + "DisplayName": "Enable HTTP Flood Protection", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", + "Keywords": "http,flood,protection,sv_requestParanoia", + "FieldName": "sv_requestParanoia", + "InputType": "enum", + "ParamFieldName": "sv_requestParanoia", + "DefaultValue": "0", + "EnumValues": { + "0": "Off (default)", + "1": "Level 1: Blocks IPs with 'Via' header requests", + "2": "Level 2: Previous + blocks IPs with 'Upgrade-Insecure-Requests' header requests", + "3": "Level 3: Previous + closes socket on which requests submitted" } }, { - "DisplayName":"Server/RCON IP Binding", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", - "Keywords":"ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", - "FieldName":"$ApplicationIPBinding", - "InputType":"hidden", - "ParamFieldName":"ApplicationIPBinding", - "EnumValues":{} + "DisplayName": "Server/RCON IP Binding", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", + "Keywords": "ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", + "FieldName": "$ApplicationIPBinding", + "InputType": "hidden", + "ParamFieldName": "ApplicationIPBinding", + "EnumValues": {} }, { - "DisplayName":"Additional Command Line Parameters", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", - "Keywords":"custom,server,arguments,variables,parameters", - "FieldName":"CustomArgs", - "InputType":"Textarea", - "ParamFieldName":"CustomArgs", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Additional Command Line Parameters", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", + "Keywords": "custom,server,arguments,variables,parameters", + "FieldName": "CustomArgs", + "InputType": "Textarea", + "ParamFieldName": "CustomArgs", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Additional Server Settings", - "Category":"FiveM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", - "Keywords":"additional,settings,custom", - "FieldName":"UserSettings", - "InputType":"Textarea", - "ParamFieldName":"UserSettings", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Additional Server Settings", + "Category": "FiveM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", + "Keywords": "additional,settings,custom", + "FieldName": "UserSettings", + "InputType": "Textarea", + "ParamFieldName": "UserSettings", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Server Build", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", - "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", - "FieldName":"ServerBuild", - "InputType":"enum", - "ParamFieldName":"ServerBuild", - "DefaultValue":"recommended_download", - "EnumValues":{ - "recommended_download":"Recommended (default)", - "optional_download":"Optional", - "latest_download":"Latest", - "critical_download":"Critical", - "SpecificVersion":"Specific version" + "DisplayName": "Server Build", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", + "Keywords": "server,build,artifact,recommended,latest,optional,critical,specific", + "FieldName": "ServerBuild", + "InputType": "enum", + "ParamFieldName": "ServerBuild", + "DefaultValue": "recommended_download", + "EnumValues": { + "recommended_download": "Recommended (default)", + "optional_download": "Optional", + "latest_download": "Latest", + "critical_download": "Critical", + "SpecificVersion": "Specific version" } }, { - "DisplayName":"Specific Build Version Download URL", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", - "Keywords":"server,build,artifact,specific,version", - "FieldName":"SpecificBuildVersionURL", - "InputType":"url", - "ParamFieldName":"SpecificBuildVersionURL", - "DefaultValue":"", - "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", - "EnumValues":{} + "DisplayName": "Specific Build Version Download URL", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", + "Keywords": "server,build,artifact,specific,version", + "FieldName": "SpecificBuildVersionURL", + "InputType": "url", + "ParamFieldName": "SpecificBuildVersionURL", + "DefaultValue": "", + "Placeholder": "https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", + "EnumValues": {} }, { - "DisplayName":"Resource GitHub Repo", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", - "Keywords":"resource,repo,repository,github", - "FieldName":"ResourceRepo", - "InputType":"enum", - "ParamFieldName":"ResourceRepo", - "DefaultValue":"https://github.com/citizenfx/cfx-server-data.git", - "EnumValues":{ - "https://github.com/citizenfx/cfx-server-data.git":"Cfx.re standard repo (default)", - "{{CustomRepo}}":"Custom repo" + "DisplayName": "Resource GitHub Repo", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", + "Keywords": "resource,repo,repository,github", + "FieldName": "ResourceRepo", + "InputType": "enum", + "ParamFieldName": "ResourceRepo", + "DefaultValue": "https://github.com/citizenfx/cfx-server-data.git", + "EnumValues": { + "https://github.com/citizenfx/cfx-server-data.git": "Cfx.re standard repo (default)", + "{{CustomRepo}}": "Custom repo" } }, { - "DisplayName":"Custom Repo URL", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", - "Keywords":"resource,custom,repo,repository,github,url", - "FieldName":"CustomRepo", - "InputType":"url", - "ParamFieldName":"CustomRepo", - "DefaultValue":"", - "Placeholder":"https://github.com/username/reponame.git", - "EnumValues":{} + "DisplayName": "Custom Repo URL", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", + "Keywords": "resource,custom,repo,repository,github,url", + "FieldName": "CustomRepo", + "InputType": "url", + "ParamFieldName": "CustomRepo", + "DefaultValue": "", + "Placeholder": "https://github.com/username/reponame.git", + "EnumValues": {} } ] diff --git a/fivemmetaconfig.json b/fivemmetaconfig.json index 209e0d625..97611a766 100644 --- a/fivemmetaconfig.json +++ b/fivemmetaconfig.json @@ -1,8 +1,8 @@ [ { - "ConfigFile":"server-data/server.cfg", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"./AMP_server.cfg" + "ConfigFile": "server-data/server.cfg", + "AutoMap": true, + "ConfigType": "template", + "ConfigFileTemplate": "./AMP_server.cfg" } ] diff --git a/fivemupdates.json b/fivemupdates.json index c0a4a5b3b..48f1aea11 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -1,192 +1,192 @@ [ { - "UpdateStageName":"Create Server Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}server", - "OverwriteExistingFiles":false, - "SkipOnFailure":false - }, - { - "UpdateStageName":"Create Data Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}server-data", - "OverwriteExistingFiles":false, - "SkipOnFailure":false - }, - { - "UpdateStageName":"Delete Binary Directory Contents", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"rm -rf \\\"{{$FullBaseDir}}server/alpine/\\\"* >/dev/null 2>&1\"", - "SkipOnFailure":true - }, - { - "UpdateStageName":"Delete Binary Directory Contents", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C del /Q /F \"{{$FullBaseDir}}server\\alpine\\\"* > NUL 2>&1", - "SkipOnFailure":true - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.recommended_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.recommended_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.optional_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.optional_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.latest_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.latest_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.critical_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.critical_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"{{SpecificBuildVersionURL}}", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"SpecificVersion", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"{{SpecificBuildVersionURL}}", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"SpecificVersion", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Extract", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"cd ./fivem/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Clone Resources Repo", - "UpdateSourcePlatform":"All", - "UpdateSource":"GitRepo", - "UpdateSourceData":"{{ResourceRepo}}", - "UpdateSourceTarget":"{{$FullBaseDir}}server-data" - }, - { - "UpdateStageName":"Server.cfg Template Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/fivemredm/fivemserver.cfg", - "UpdateSourceArgs":"AMP_server.cfg", - "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true, - "SkipOnFailure":false + "UpdateStageName": "Create Server Directory", + "UpdateSourcePlatform": "All", + "UpdateSource": "CreateDirectory", + "UpdateSourceArgs": "{{$FullBaseDir}}server", + "OverwriteExistingFiles": false, + "SkipOnFailure": false + }, + { + "UpdateStageName": "Create Data Directory", + "UpdateSourcePlatform": "All", + "UpdateSource": "CreateDirectory", + "UpdateSourceArgs": "{{$FullBaseDir}}server-data", + "OverwriteExistingFiles": false, + "SkipOnFailure": false + }, + { + "UpdateStageName": "Delete Binary Directory Contents", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"rm -rf \\\"{{$FullBaseDir}}server/alpine/\\\"* >/dev/null 2>&1\"", + "SkipOnFailure": true + }, + { + "UpdateStageName": "Delete Binary Directory Contents", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "Executable", + "UpdateSourceData": "cmd.exe", + "UpdateSourceArgs": "/C del /Q /F \"{{$FullBaseDir}}server\\alpine\\\"* > NUL 2>&1", + "SkipOnFailure": true + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.recommended_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "recommended_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.recommended_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "recommended_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.optional_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "optional_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.optional_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "optional_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.latest_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "latest_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.latest_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "latest_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.critical_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "critical_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.critical_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "critical_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURL", + "UpdateSourceData": "{{SpecificBuildVersionURL}}", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "SpecificVersion", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURL", + "UpdateSourceData": "{{SpecificBuildVersionURL}}", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "SpecificVersion", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Extract", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"cd ./fivem/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Clone Resources Repo", + "UpdateSourcePlatform": "All", + "UpdateSource": "GitRepo", + "UpdateSourceData": "{{ResourceRepo}}", + "UpdateSourceTarget": "{{$FullBaseDir}}server-data" + }, + { + "UpdateStageName": "Server.cfg Template Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://raw.githubusercontent.com/Greelan/AMPTemplates/fivemredm/fivemserver.cfg", + "UpdateSourceArgs": "AMP_server.cfg", + "UpdateSourceTarget": "{{$FullInstanceDir}}", + "OverwriteExistingFiles": true, + "SkipOnFailure": false } ] diff --git a/redmconfig.json b/redmconfig.json index 0048107d0..90c857f41 100644 --- a/redmconfig.json +++ b/redmconfig.json @@ -1,446 +1,446 @@ [ { - "DisplayName":"Server Port", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"", - "Keywords":"", - "FieldName":"$ServerPort", - "InputType":"number", - "Hidden":true, - "ParamFieldName":"ServerPort", - "EnumValues":{} + "DisplayName": "Server Port", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "", + "Keywords": "", + "FieldName": "$ServerPort", + "InputType": "number", + "Hidden": true, + "ParamFieldName": "ServerPort", + "EnumValues": {} }, { - "DisplayName":"Cfx.re Licence Key", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", - "Keywords":"licence,license,key,keymaster,sv_licenseKey", - "FieldName":"sv_licenseKey", - "InputType":"password", - "ParamFieldName":"sv_licenseKey", - "DefaultValue":"", - "Required":true, - "EnumValues":{} + "DisplayName": "Cfx.re Licence Key", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", + "Keywords": "licence,license,key,keymaster,sv_licenseKey", + "FieldName": "sv_licenseKey", + "InputType": "password", + "ParamFieldName": "sv_licenseKey", + "DefaultValue": "", + "Required": true, + "EnumValues": {} }, { - "DisplayName":"Steam Web API Key", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", - "Keywords":"steam,web,api,key,steam_webApiKey", - "FieldName":"steam_webApiKey", - "InputType":"password", - "ParamFieldName":"steam_webApiKey", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Steam Web API Key", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server", + "Keywords": "steam,web,api,key,steam_webApiKey", + "FieldName": "steam_webApiKey", + "InputType": "password", + "ParamFieldName": "steam_webApiKey", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Server Name", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the name that shows when selecting the server in the server browser", - "Keywords":"server,name,hostname", - "FieldName":"sv_hostname", - "InputType":"text", - "ParamFieldName":"sv_hostname", - "DefaultValue":"AMP Powered RedM Server", - "EnumValues":{} + "DisplayName": "Server Name", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the name that shows when selecting the server in the server browser", + "Keywords": "server,name,hostname", + "FieldName": "sv_hostname", + "InputType": "text", + "ParamFieldName": "sv_hostname", + "DefaultValue": "AMP Powered RedM Server", + "EnumValues": {} }, { - "DisplayName":"Project Name", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", - "Keywords":"project,name,sv_projectName", - "FieldName":"sv_projectName", - "InputType":"text", - "ParamFieldName":"sv_projectName", - "DefaultValue":"AMP Powered RedM Server", - "EnumValues":{} + "DisplayName": "Project Name", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list", + "Keywords": "project,name,sv_projectName", + "FieldName": "sv_projectName", + "InputType": "text", + "ParamFieldName": "sv_projectName", + "DefaultValue": "AMP Powered RedM Server", + "EnumValues": {} }, { - "DisplayName":"Project Description", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the description that shows in the server browser", - "Keywords":"project,description,sv_projectDesc", - "FieldName":"sv_projectDesc", - "InputType":"text", - "ParamFieldName":"sv_projectDesc", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Project Description", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the description that shows in the server browser", + "Keywords": "project,description,sv_projectDesc", + "FieldName": "sv_projectDesc", + "InputType": "text", + "ParamFieldName": "sv_projectDesc", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Server Tags", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets a comma-separated list of server tags that give additional information about the server in the server browser", - "Keywords":"tags", - "FieldName":"tags", - "InputType":"text", - "ParamFieldName":"tags", - "DefaultValue":"default", - "Placeholder":"default", - "EnumValues":{} + "DisplayName": "Server Tags", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets a comma-separated list of server tags that give additional information about the server in the server browser", + "Keywords": "tags", + "FieldName": "tags", + "InputType": "text", + "ParamFieldName": "tags", + "DefaultValue": "default", + "Placeholder": "default", + "EnumValues": {} }, { - "DisplayName":"Server Locale", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", - "Keywords":"locale,language,country", - "FieldName":"locale", - "InputType":"text", - "ParamFieldName":"locale", - "DefaultValue":"en-US", - "Placeholder":"en-US", - "EnumValues":{} + "DisplayName": "Server Locale", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)", + "Keywords": "locale,language,country", + "FieldName": "locale", + "InputType": "text", + "ParamFieldName": "locale", + "DefaultValue": "en-US", + "Placeholder": "en-US", + "EnumValues": {} }, { - "DisplayName":"Server Icon", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", - "Keywords":"server,icon,load_server_icon", - "FieldName":"load_server_icon", - "InputType":"text", - "ParamFieldName":"load_server_icon", - "DefaultValue":"", - "Placeholder":"myLogo.png", - "EnumValues":{} + "DisplayName": "Server Icon", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file", + "Keywords": "server,icon,load_server_icon", + "FieldName": "load_server_icon", + "InputType": "text", + "ParamFieldName": "load_server_icon", + "DefaultValue": "", + "Placeholder": "myLogo.png", + "EnumValues": {} }, { - "DisplayName":"Server Detail Banner Image URL", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", - "Keywords":"banner,detail,image,url,banner_detail", - "FieldName":"banner_detail", - "InputType":"text", - "ParamFieldName":"banner_detail", - "DefaultValue":"", - "Placeholder":"https://url.to/image.png", - "EnumValues":{} + "DisplayName": "Server Detail Banner Image URL", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250", + "Keywords": "banner,detail,image,url,banner_detail", + "FieldName": "banner_detail", + "InputType": "text", + "ParamFieldName": "banner_detail", + "DefaultValue": "", + "Placeholder": "https://url.to/image.png", + "EnumValues": {} }, { - "DisplayName":"Connecting Banner Image URL", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the URL for a connecting banner image. The image should be in PNG or GIF format", - "Keywords":"banner,connecting,image,url,banner_connecting", - "FieldName":"banner_connecting", - "InputType":"text", - "ParamFieldName":"banner_connecting", - "DefaultValue":"", - "Placeholder":"https://url.to/image.png", - "EnumValues":{} + "DisplayName": "Connecting Banner Image URL", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the URL for a connecting banner image. The image should be in PNG or GIF format", + "Keywords": "banner,connecting,image,url,banner_connecting", + "FieldName": "banner_connecting", + "InputType": "text", + "ParamFieldName": "banner_connecting", + "DefaultValue": "", + "Placeholder": "https://url.to/image.png", + "EnumValues": {} }, { - "DisplayName":"Mark Server Private", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", - "Keywords":"private,server,list,sv_master1", - "FieldName":"sv_master1", - "InputType":"checkbox", - "ParamFieldName":"sv_master1", - "DefaultValue":"", - "EnumValues":{ - "False":"", - "True":"sv_master1 \"\" " + "DisplayName": "Mark Server Private", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list", + "Keywords": "private,server,list,sv_master1", + "FieldName": "sv_master1", + "InputType": "checkbox", + "ParamFieldName": "sv_master1", + "DefaultValue": "", + "EnumValues": { + "False": "", + "True": "sv_master1 \"\" " } }, { - "DisplayName":"Starting Resources", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", - "Keywords":"ensure,resources", - "FieldName":"ensure", - "InputType":"Textarea", - "ParamFieldName":"ensure", - "DefaultValue":"ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", - "Placeholder":"ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", - "EnumValues":{} + "DisplayName": "Starting Resources", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>", + "Keywords": "ensure,resources", + "FieldName": "ensure", + "InputType": "Textarea", + "ParamFieldName": "ensure", + "DefaultValue": "ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", + "Placeholder": "ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog", + "EnumValues": {} }, { - "DisplayName":"Enable Endpoint Privacy", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, player IP addresses will be hidden from public reports that the server outputs", - "Keywords":"endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", - "FieldName":"sv_endpointPrivacy", - "InputType":"checkbox", - "ParamFieldName":"sv_endpointPrivacy", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable Endpoint Privacy", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, player IP addresses will be hidden from public reports that the server outputs", + "Keywords": "endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy", + "FieldName": "sv_endpointPrivacy", + "InputType": "checkbox", + "ParamFieldName": "sv_endpointPrivacy", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Enforce Game Build", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", - "Keywords":"enforce,game,build,sv_enforceGameBuild", - "FieldName":"sv_enforceGameBuild", - "InputType":"enum", - "ParamFieldName":"sv_enforceGameBuild", - "DefaultValue":"1311", - "EnumValues":{ - "1311":"1311 (Mid 2020 update)", - "1355":"1355 (December 2020 update)", - "1436":"1436 (July 2021 update)", - "1491":"1491 (September 2022 update)" + "DisplayName": "Enforce Game Build", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime", + "Keywords": "enforce,game,build,sv_enforceGameBuild", + "FieldName": "sv_enforceGameBuild", + "InputType": "enum", + "ParamFieldName": "sv_enforceGameBuild", + "DefaultValue": "1311", + "EnumValues": { + "1311": "1311 (Mid 2020 update)", + "1355": "1355 (December 2020 update)", + "1436": "1436 (July 2021 update)", + "1491": "1491 (September 2022 update)" } }, { - "DisplayName":"Player Limit", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", - "Keywords":"maximum,players,clients,limit,maxClients", - "FieldName":"$MaxUsers", - "InputType":"number", - "MinValue":"1", - "MaxValue":"2048", - "ParamFieldName":"sv_maxClients", - "DefaultValue":"32", - "Placeholder":"32", - "Suffix":"players", - "EnumValues":{} + "DisplayName": "Player Limit", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"", + "Keywords": "maximum,players,clients,limit,maxClients", + "FieldName": "$MaxUsers", + "InputType": "number", + "MinValue": "1", + "MaxValue": "2048", + "ParamFieldName": "sv_maxClients", + "DefaultValue": "32", + "Placeholder": "32", + "Suffix": "players", + "EnumValues": {} }, { - "DisplayName":"OneSync Mode", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", - "Keywords":"onesync,state,awareness,system", - "FieldName":"onesync", - "InputType":"enum", - "ParamFieldName":"onesync", - "DefaultValue":"on", - "EnumValues":{ - "off":"Off", - "on":"On (default)", - "legacy":"Legacy compatibility mode" + "DisplayName": "OneSync Mode", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended", + "Keywords": "onesync,state,awareness,system", + "FieldName": "onesync", + "InputType": "enum", + "ParamFieldName": "onesync", + "DefaultValue": "on", + "EnumValues": { + "off": "Off", + "on": "On (default)", + "legacy": "Legacy compatibility mode" } }, { - "DisplayName":"Enable OneSync Population", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", - "Keywords":"onesync,population,npcs,vehicles,onesync_population", - "FieldName":"onesync_population", - "InputType":"checkbox", - "ParamFieldName":"onesync_population", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable OneSync Population", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"", + "Keywords": "onesync,population,npcs,vehicles,onesync_population", + "FieldName": "onesync_population", + "InputType": "checkbox", + "ParamFieldName": "onesync_population", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Enable OneSync Vehicle Distance Culling", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", - "Keywords":"onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", - "FieldName":"onesync_distanceCullVehicles", - "InputType":"checkbox", - "ParamFieldName":"onesync_distanceCullVehicles", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable OneSync Vehicle Distance Culling", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"", + "Keywords": "onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles", + "FieldName": "onesync_distanceCullVehicles", + "InputType": "checkbox", + "ParamFieldName": "onesync_distanceCullVehicles", + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Enable OneSync Forced Migration", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", - "Keywords":"onesync,force,migration,onesync_forceMigration", - "FieldName":"onesync_forceMigration", - "InputType":"checkbox", - "ParamFieldName":"onesync_forceMigration", - "DefaultValue":"true", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable OneSync Forced Migration", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"", + "Keywords": "onesync,force,migration,onesync_forceMigration", + "FieldName": "onesync_forceMigration", + "InputType": "checkbox", + "ParamFieldName": "onesync_forceMigration", + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Enable OneSync Workaround", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", - "Keywords":"onesync,workaround,onesync_workaround763185", - "FieldName":"onesync_workaround763185", - "InputType":"checkbox", - "ParamFieldName":"onesync_workaround763185", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Enable OneSync Workaround", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"", + "Keywords": "onesync,workaround,onesync_workaround763185", + "FieldName": "onesync_workaround763185", + "InputType": "checkbox", + "ParamFieldName": "onesync_workaround763185", + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Allow Scripthook Plugins", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", - "Keywords":"scripthook,plugins,sv_scriptHookAllowed", - "FieldName":"sv_scriptHookAllowed", - "InputType":"checkbox", - "ParamFieldName":"sv_scriptHookAllowed", - "DefaultValue":"false", - "EnumValues":{ - "False":"false", - "True":"true" + "DisplayName": "Allow Scripthook Plugins", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins", + "Keywords": "scripthook,plugins,sv_scriptHookAllowed", + "FieldName": "sv_scriptHookAllowed", + "InputType": "checkbox", + "ParamFieldName": "sv_scriptHookAllowed", + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" } }, { - "DisplayName":"Block Modified Client Files", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets whether players will be prevented from using modified client files", - "Keywords":"modified,client,files,sv_pureLevel", - "FieldName":"sv_pureLevel", - "InputType":"enum", - "ParamFieldName":"sv_pureLevel", - "DefaultValue":"", - "EnumValues":{ - "":"No block", - "sv_pureLevel 1":"Block all except audio files and known graphics mods", - "sv_pureLevel 2":"Block all" + "DisplayName": "Block Modified Client Files", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets whether players will be prevented from using modified client files", + "Keywords": "modified,client,files,sv_pureLevel", + "FieldName": "sv_pureLevel", + "InputType": "enum", + "ParamFieldName": "sv_pureLevel", + "DefaultValue": "", + "EnumValues": { + "": "No block", + "sv_pureLevel 1": "Block all except audio files and known graphics mods", + "sv_pureLevel 2": "Block all" } }, { - "DisplayName":"Access Control Commands", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", - "Keywords":"admin,access,control", - "FieldName":"AccessControlCommands", - "InputType":"Textarea", - "ParamFieldName":"AccessControlCommands", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Access Control Commands", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins", + "Keywords": "admin,access,control", + "FieldName": "AccessControlCommands", + "InputType": "Textarea", + "ParamFieldName": "AccessControlCommands", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Enable HTTP Flood Protection", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", - "Keywords":"http,flood,protection,sv_requestParanoia", - "FieldName":"sv_requestParanoia", - "InputType":"enum", - "ParamFieldName":"sv_requestParanoia", - "DefaultValue":"0", - "EnumValues":{ - "0":"Off (default)", - "1":"Level 1: Blocks IPs with 'Via' header requests", - "2":"Level 2: Previous + blocks IPs with 'Upgrade-Insecure-Requests' header requests", - "3":"Level 3: Previous + closes socket on which requests submitted" + "DisplayName": "Enable HTTP Flood Protection", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"", + "Keywords": "http,flood,protection,sv_requestParanoia", + "FieldName": "sv_requestParanoia", + "InputType": "enum", + "ParamFieldName": "sv_requestParanoia", + "DefaultValue": "0", + "EnumValues": { + "0": "Off (default)", + "1": "Level 1: Blocks IPs with 'Via' header requests", + "2": "Level 2: Previous + blocks IPs with 'Upgrade-Insecure-Requests' header requests", + "3": "Level 3: Previous + closes socket on which requests submitted" } }, { - "DisplayName":"Server/RCON IP Binding", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", - "Keywords":"ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", - "FieldName":"$ApplicationIPBinding", - "InputType":"hidden", - "ParamFieldName":"ApplicationIPBinding", - "EnumValues":{} + "DisplayName": "Server/RCON IP Binding", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work", + "Keywords": "ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp", + "FieldName": "$ApplicationIPBinding", + "InputType": "hidden", + "ParamFieldName": "ApplicationIPBinding", + "EnumValues": {} }, { - "DisplayName":"Additional Command Line Parameters", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", - "Keywords":"custom,server,arguments,variables,parameters", - "FieldName":"CustomArgs", - "InputType":"Textarea", - "ParamFieldName":"CustomArgs", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Additional Command Line Parameters", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"", + "Keywords": "custom,server,arguments,variables,parameters", + "FieldName": "CustomArgs", + "InputType": "Textarea", + "ParamFieldName": "CustomArgs", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Additional Server Settings", - "Category":"RedM:stadia_controller", - "Subcategory":"Server:dns:1", - "Description":"Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", - "Keywords":"additional,settings,custom", - "FieldName":"UserSettings", - "InputType":"Textarea", - "ParamFieldName":"UserSettings", - "DefaultValue":"", - "EnumValues":{} + "DisplayName": "Additional Server Settings", + "Category": "RedM:stadia_controller", + "Subcategory": "Server:dns:1", + "Description": "Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line", + "Keywords": "additional,settings,custom", + "FieldName": "UserSettings", + "InputType": "Textarea", + "ParamFieldName": "UserSettings", + "DefaultValue": "", + "EnumValues": {} }, { - "DisplayName":"Server Build", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", - "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", - "FieldName":"ServerBuild", - "InputType":"enum", - "ParamFieldName":"ServerBuild", - "DefaultValue":"recommended_download", - "EnumValues":{ - "recommended_download":"Recommended (default)", - "optional_download":"Optional", - "latest_download":"Latest", - "critical_download":"Critical", - "SpecificVersion":"Specific version" + "DisplayName": "Server Build", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", + "Keywords": "server,build,artifact,recommended,latest,optional,critical,specific", + "FieldName": "ServerBuild", + "InputType": "enum", + "ParamFieldName": "ServerBuild", + "DefaultValue": "recommended_download", + "EnumValues": { + "recommended_download": "Recommended (default)", + "optional_download": "Optional", + "latest_download": "Latest", + "critical_download": "Critical", + "SpecificVersion": "Specific version" } }, { - "DisplayName":"Specific Build Version Download URL", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", - "Keywords":"server,build,artifact,specific,version", - "FieldName":"SpecificBuildVersionURL", - "InputType":"url", - "ParamFieldName":"SpecificBuildVersionURL", - "DefaultValue":"", - "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", - "EnumValues":{} + "DisplayName": "Specific Build Version Download URL", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", + "Keywords": "server,build,artifact,specific,version", + "FieldName": "SpecificBuildVersionURL", + "InputType": "url", + "ParamFieldName": "SpecificBuildVersionURL", + "DefaultValue": "", + "Placeholder": "https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", + "EnumValues": {} }, { - "DisplayName":"Resource GitHub Repo", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", - "Keywords":"resource,repo,repository,github", - "FieldName":"ResourceRepo", - "InputType":"enum", - "ParamFieldName":"ResourceRepo", - "DefaultValue":"https://github.com/citizenfx/cfx-server-data.git", - "EnumValues":{ - "https://github.com/citizenfx/cfx-server-data.git":"Cfx.re standard repo (default)", - "{{CustomRepo}}":"Custom repo" + "DisplayName": "Resource GitHub Repo", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting", + "Keywords": "resource,repo,repository,github", + "FieldName": "ResourceRepo", + "InputType": "enum", + "ParamFieldName": "ResourceRepo", + "DefaultValue": "https://github.com/citizenfx/cfx-server-data.git", + "EnumValues": { + "https://github.com/citizenfx/cfx-server-data.git": "Cfx.re standard repo (default)", + "{{CustomRepo}}": "Custom repo" } }, { - "DisplayName":"Custom Repo URL", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", - "Keywords":"resource,custom,repo,repository,github,url", - "FieldName":"CustomRepo", - "InputType":"url", - "ParamFieldName":"CustomRepo", - "DefaultValue":"", - "Placeholder":"https://github.com/username/reponame.git", - "EnumValues":{} + "DisplayName": "Custom Repo URL", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch", + "Keywords": "resource,custom,repo,repository,github,url", + "FieldName": "CustomRepo", + "InputType": "url", + "ParamFieldName": "CustomRepo", + "DefaultValue": "", + "Placeholder": "https://github.com/username/reponame.git", + "EnumValues": {} } ] diff --git a/redmmetaconfig.json b/redmmetaconfig.json index 209e0d625..97611a766 100644 --- a/redmmetaconfig.json +++ b/redmmetaconfig.json @@ -1,8 +1,8 @@ [ { - "ConfigFile":"server-data/server.cfg", - "AutoMap":true, - "ConfigType":"template", - "ConfigFileTemplate":"./AMP_server.cfg" + "ConfigFile": "server-data/server.cfg", + "AutoMap": true, + "ConfigType": "template", + "ConfigFileTemplate": "./AMP_server.cfg" } ] diff --git a/redmupdates.json b/redmupdates.json index c80c3bb26..fecff594b 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -1,192 +1,192 @@ [ { - "UpdateStageName":"Create Server Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}server", - "OverwriteExistingFiles":false, - "SkipOnFailure":false - }, - { - "UpdateStageName":"Create Data Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}server-data", - "OverwriteExistingFiles":false, - "SkipOnFailure":false - }, - { - "UpdateStageName":"Delete Binary Directory Contents", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"rm -rf \\\"{{$FullBaseDir}}server/alpine/\\\"* >/dev/null 2>&1\"", - "SkipOnFailure":true - }, - { - "UpdateStageName":"Delete Binary Directory Contents", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"Executable", - "UpdateSourceData":"cmd.exe", - "UpdateSourceArgs":"/C del /Q /F \"{{$FullBaseDir}}server\\alpine\\\"* > NUL 2>&1", - "SkipOnFailure":true - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.recommended_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.recommended_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.optional_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.optional_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.latest_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.latest_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.critical_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.critical_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"{{SpecificBuildVersionURL}}", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"SpecificVersion", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"{{SpecificBuildVersionURL}}", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"SpecificVersion", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Server Extract", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"cd ./redm/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", - "SkipOnFailure":false - }, - { - "UpdateStageName":"Clone Resources Repo", - "UpdateSourcePlatform":"All", - "UpdateSource":"GitRepo", - "UpdateSourceData":"{{ResourceRepo}}", - "UpdateSourceTarget":"{{$FullBaseDir}}server-data" - }, - { - "UpdateStageName":"Server.cfg Template Download", - "UpdateSourcePlatform":"All", - "UpdateSource":"FetchURL", - "UpdateSourceData":"https://raw.githubusercontent.com/Greelan/AMPTemplates/fivemredm/redmserver.cfg", - "UpdateSourceArgs":"AMP_server.cfg", - "UpdateSourceTarget":"{{$FullInstanceDir}}", - "OverwriteExistingFiles":true, - "SkipOnFailure":false + "UpdateStageName": "Create Server Directory", + "UpdateSourcePlatform": "All", + "UpdateSource": "CreateDirectory", + "UpdateSourceArgs": "{{$FullBaseDir}}server", + "OverwriteExistingFiles": false, + "SkipOnFailure": false + }, + { + "UpdateStageName": "Create Data Directory", + "UpdateSourcePlatform": "All", + "UpdateSource": "CreateDirectory", + "UpdateSourceArgs": "{{$FullBaseDir}}server-data", + "OverwriteExistingFiles": false, + "SkipOnFailure": false + }, + { + "UpdateStageName": "Delete Binary Directory Contents", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"rm -rf \\\"{{$FullBaseDir}}server/alpine/\\\"* >/dev/null 2>&1\"", + "SkipOnFailure": true + }, + { + "UpdateStageName": "Delete Binary Directory Contents", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "Executable", + "UpdateSourceData": "cmd.exe", + "UpdateSourceArgs": "/C del /Q /F \"{{$FullBaseDir}}server\\alpine\\\"* > NUL 2>&1", + "SkipOnFailure": true + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.recommended_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "recommended_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.recommended_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "recommended_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.optional_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "optional_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.optional_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "optional_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.latest_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "latest_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.latest_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "latest_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.critical_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "critical_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.critical_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "critical_download", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURL", + "UpdateSourceData": "{{SpecificBuildVersionURL}}", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "SpecificVersion", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURL", + "UpdateSourceData": "{{SpecificBuildVersionURL}}", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "SpecificVersion", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Server Extract", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"cd ./redm/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", + "SkipOnFailure": false + }, + { + "UpdateStageName": "Clone Resources Repo", + "UpdateSourcePlatform": "All", + "UpdateSource": "GitRepo", + "UpdateSourceData": "{{ResourceRepo}}", + "UpdateSourceTarget": "{{$FullBaseDir}}server-data" + }, + { + "UpdateStageName": "Server.cfg Template Download", + "UpdateSourcePlatform": "All", + "UpdateSource": "FetchURL", + "UpdateSourceData": "https://raw.githubusercontent.com/Greelan/AMPTemplates/fivemredm/redmserver.cfg", + "UpdateSourceArgs": "AMP_server.cfg", + "UpdateSourceTarget": "{{$FullInstanceDir}}", + "OverwriteExistingFiles": true, + "SkipOnFailure": false } ] diff --git a/txadminconfig.json b/txadminconfig.json index 98113a914..c8777f6c8 100644 --- a/txadminconfig.json +++ b/txadminconfig.json @@ -1,33 +1,33 @@ [ { - "DisplayName":"Server Build", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", - "Keywords":"server,build,artifact,recommended,latest,optional,critical,specific", - "FieldName":"ServerBuild", - "InputType":"enum", - "ParamFieldName":"ServerBuild", - "DefaultValue":"recommended_download", - "EnumValues":{ - "recommended_download":"Recommended (default)", - "optional_download":"Optional", - "latest_download":"Latest", - "critical_download":"Critical", - "SpecificVersion":"Specific version" + "DisplayName": "Server Build", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting", + "Keywords": "server,build,artifact,recommended,latest,optional,critical,specific", + "FieldName": "ServerBuild", + "InputType": "enum", + "ParamFieldName": "ServerBuild", + "DefaultValue": "recommended_download", + "EnumValues": { + "recommended_download": "Recommended (default)", + "optional_download": "Optional", + "latest_download": "Latest", + "critical_download": "Critical", + "SpecificVersion": "Specific version" } }, { - "DisplayName":"Specific Build Version Download URL", - "Category":"Updates", - "Subcategory":"Server Updates:build:-1", - "Description":"Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", - "Keywords":"server,build,artifact,specific,version", - "FieldName":"SpecificBuildVersionURL", - "InputType":"url", - "ParamFieldName":"SpecificBuildVersionURL", - "DefaultValue":"", - "Placeholder":"https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", - "EnumValues":{} + "DisplayName": "Specific Build Version Download URL", + "Category": "Updates", + "Subcategory": "Server Updates:build:-1", + "Description": "Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z", + "Keywords": "server,build,artifact,specific,version", + "FieldName": "SpecificBuildVersionURL", + "InputType": "url", + "ParamFieldName": "SpecificBuildVersionURL", + "DefaultValue": "", + "Placeholder": "https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", + "EnumValues": {} } ] diff --git a/txadminupdates.json b/txadminupdates.json index 5007db53a..261deacc1 100644 --- a/txadminupdates.json +++ b/txadminupdates.json @@ -1,159 +1,159 @@ [ { - "UpdateStageName":"Create Server Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}server", - "OverwriteExistingFiles":false, - "SkipOnFailure":false + "UpdateStageName": "Create Server Directory", + "UpdateSourcePlatform": "All", + "UpdateSource": "CreateDirectory", + "UpdateSourceArgs": "{{$FullBaseDir}}server", + "OverwriteExistingFiles": false, + "SkipOnFailure": false }, { - "UpdateStageName":"Create Data Directory", - "UpdateSourcePlatform":"All", - "UpdateSource":"CreateDirectory", - "UpdateSourceArgs":"{{$FullBaseDir}}server-data", - "OverwriteExistingFiles":false, - "SkipOnFailure":false + "UpdateStageName": "Create Data Directory", + "UpdateSourcePlatform": "All", + "UpdateSource": "CreateDirectory", + "UpdateSourceArgs": "{{$FullBaseDir}}server-data", + "OverwriteExistingFiles": false, + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.recommended_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.recommended_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "recommended_download", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.recommended_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"recommended_download", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.recommended_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "recommended_download", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.optional_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.optional_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "optional_download", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.optional_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"optional_download", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.optional_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "optional_download", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.latest_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.latest_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "latest_download", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.latest_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"latest_download", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.latest_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "latest_download", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/win32/server", - "UpdateSourceArgs":"$.critical_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/win32/server", + "UpdateSourceArgs": "$.critical_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "critical_download", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURLFromJQ", - "UpdateSourceData":"https://changelogs-live.fivem.net/api/changelog/versions/linux/server", - "UpdateSourceArgs":"$.critical_download", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"critical_download", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURLFromJQ", + "UpdateSourceData": "https://changelogs-live.fivem.net/api/changelog/versions/linux/server", + "UpdateSourceArgs": "$.critical_download", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "critical_download", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Windows", - "UpdateSource":"FetchURL", - "UpdateSourceData":"{{SpecificBuildVersionURL}}", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":true, - "OverwriteExistingFiles":true, - "DeleteAfterExtract":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"SpecificVersion", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "FetchURL", + "UpdateSourceData": "{{SpecificBuildVersionURL}}", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": true, + "OverwriteExistingFiles": true, + "DeleteAfterExtract": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "SpecificVersion", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Download", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"FetchURL", - "UpdateSourceData":"{{SpecificBuildVersionURL}}", - "UpdateSourceTarget":"{{$FullBaseDir}}server", - "UnzipUpdateSource":false, - "OverwriteExistingFiles":true, - "UpdateSourceConditionSetting":"ServerBuild", - "UpdateSourceConditionValue":"SpecificVersion", - "SkipOnFailure":false + "UpdateStageName": "Server Download", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "FetchURL", + "UpdateSourceData": "{{SpecificBuildVersionURL}}", + "UpdateSourceTarget": "{{$FullBaseDir}}server", + "UnzipUpdateSource": false, + "OverwriteExistingFiles": true, + "UpdateSourceConditionSetting": "ServerBuild", + "UpdateSourceConditionValue": "SpecificVersion", + "SkipOnFailure": false }, { - "UpdateStageName":"Server Extract", - "UpdateSourcePlatform":"Linux", - "UpdateSource":"Executable", - "UpdateSourceData":"/bin/bash", - "UpdateSourceArgs":"-c \"cd ./txadmin/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", - "SkipOnFailure":false + "UpdateStageName": "Server Extract", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"cd ./txadmin/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", + "SkipOnFailure": false } ] From b50b4ccc7de5c94d03680d829ffec3b6c6b4e925 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Tue, 3 Dec 2024 23:06:18 +1100 Subject: [PATCH 292/318] Linting --- fivemconfig.json | 2 +- fivemmetaconfig.json | 2 +- fivemupdates.json | 2 +- redmconfig.json | 2 +- redmmetaconfig.json | 2 +- redmupdates.json | 2 +- txadminconfig.json | 2 +- txadminmetaconfig.json | 2 +- txadminupdates.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/fivemconfig.json b/fivemconfig.json index 1280041a1..7ad253dc5 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -448,4 +448,4 @@ "Placeholder": "https://github.com/username/reponame.git", "EnumValues": {} } -] +] \ No newline at end of file diff --git a/fivemmetaconfig.json b/fivemmetaconfig.json index 97611a766..23bb9b51d 100644 --- a/fivemmetaconfig.json +++ b/fivemmetaconfig.json @@ -5,4 +5,4 @@ "ConfigType": "template", "ConfigFileTemplate": "./AMP_server.cfg" } -] +] \ No newline at end of file diff --git a/fivemupdates.json b/fivemupdates.json index 48f1aea11..d5737554a 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -189,4 +189,4 @@ "OverwriteExistingFiles": true, "SkipOnFailure": false } -] +] \ No newline at end of file diff --git a/redmconfig.json b/redmconfig.json index 90c857f41..f2c631236 100644 --- a/redmconfig.json +++ b/redmconfig.json @@ -443,4 +443,4 @@ "Placeholder": "https://github.com/username/reponame.git", "EnumValues": {} } -] +] \ No newline at end of file diff --git a/redmmetaconfig.json b/redmmetaconfig.json index 97611a766..23bb9b51d 100644 --- a/redmmetaconfig.json +++ b/redmmetaconfig.json @@ -5,4 +5,4 @@ "ConfigType": "template", "ConfigFileTemplate": "./AMP_server.cfg" } -] +] \ No newline at end of file diff --git a/redmupdates.json b/redmupdates.json index fecff594b..d81b2e3bf 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -189,4 +189,4 @@ "OverwriteExistingFiles": true, "SkipOnFailure": false } -] +] \ No newline at end of file diff --git a/txadminconfig.json b/txadminconfig.json index c8777f6c8..6545dba6e 100644 --- a/txadminconfig.json +++ b/txadminconfig.json @@ -30,4 +30,4 @@ "Placeholder": "https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip", "EnumValues": {} } -] +] \ No newline at end of file diff --git a/txadminmetaconfig.json b/txadminmetaconfig.json index fe51488c7..0637a088a 100644 --- a/txadminmetaconfig.json +++ b/txadminmetaconfig.json @@ -1 +1 @@ -[] +[] \ No newline at end of file diff --git a/txadminupdates.json b/txadminupdates.json index 261deacc1..3eea6b8f2 100644 --- a/txadminupdates.json +++ b/txadminupdates.json @@ -156,4 +156,4 @@ "UpdateSourceArgs": "-c \"cd ./txadmin/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", "SkipOnFailure": false } -] +] \ No newline at end of file From 8e424e71f3968c0be923eee3b003b00fd7be7e1e Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 18 Jan 2025 14:21:42 +1100 Subject: [PATCH 293/318] Update ports files --- fivem.kvp | 2 +- fivemports.json | 1 + redm.kvp | 2 +- redmports.json | 1 + txadmin.kvp | 2 +- txadminports.json | 1 + 6 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 fivemports.json create mode 100644 redmports.json create mode 100644 txadminports.json diff --git a/fivem.kvp b/fivem.kvp index 3e5e1c087..63365f09a 100644 --- a/fivem.kvp +++ b/fivem.kvp @@ -49,7 +49,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] +App.Ports=@IncludeJson[fivemports.json] App.AdminPortRef=ServerPort App.PrimaryApplicationPortRef=ServerPort App.UniversalSleepApplicationUDPPortRef=ServerPort diff --git a/fivemports.json b/fivemports.json new file mode 100644 index 000000000..64167a8c5 --- /dev/null +++ b/fivemports.json @@ -0,0 +1 @@ +[{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] \ No newline at end of file diff --git a/redm.kvp b/redm.kvp index 73b4269e9..af4a6dc45 100644 --- a/redm.kvp +++ b/redm.kvp @@ -49,7 +49,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] +App.Ports=@IncludeJson[redmports.json] App.AdminPortRef=ServerPort App.PrimaryApplicationPortRef=ServerPort App.UniversalSleepApplicationUDPPortRef=ServerPort diff --git a/redmports.json b/redmports.json new file mode 100644 index 000000000..64167a8c5 --- /dev/null +++ b/redmports.json @@ -0,0 +1 @@ +[{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] \ No newline at end of file diff --git a/txadmin.kvp b/txadmin.kvp index 44bc13701..d1e0bd0ad 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -49,7 +49,7 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.Ports=[{"Protocol":"TCP","Port":40120,"Ref":"txAdminPort","Name":"txAdmin Port","Description":"Port for txAdmin traffic"},{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] +App.Ports=@IncludeJson[txadminports.json] App.AdminPortRef=0 App.PrimaryApplicationPortRef=txAdminPort App.UniversalSleepApplicationUDPPortRef=0 diff --git a/txadminports.json b/txadminports.json new file mode 100644 index 000000000..a6b9b52f4 --- /dev/null +++ b/txadminports.json @@ -0,0 +1 @@ +[{"Protocol":"TCP","Port":40120,"Ref":"txAdminPort","Name":"txAdmin Port","Description":"Port for txAdmin traffic"},{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] \ No newline at end of file From 12aadf241c6f958f554c44bb1bc70c17649ec7ea Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 18 Jan 2025 14:53:37 +1100 Subject: [PATCH 294/318] Linting --- fivemports.json | 10 +++++++++- redmports.json | 10 +++++++++- txadminports.json | 17 ++++++++++++++++- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/fivemports.json b/fivemports.json index 64167a8c5..e5f51b196 100644 --- a/fivemports.json +++ b/fivemports.json @@ -1 +1,9 @@ -[{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] \ No newline at end of file +[ + { + "Protocol": "Both", + "Port": 30120, + "Ref": "ServerPort", + "Name": "Server Port", + "Description": "Port for game traffic" + } +] \ No newline at end of file diff --git a/redmports.json b/redmports.json index 64167a8c5..e5f51b196 100644 --- a/redmports.json +++ b/redmports.json @@ -1 +1,9 @@ -[{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] \ No newline at end of file +[ + { + "Protocol": "Both", + "Port": 30120, + "Ref": "ServerPort", + "Name": "Server Port", + "Description": "Port for game traffic" + } +] \ No newline at end of file diff --git a/txadminports.json b/txadminports.json index a6b9b52f4..27b06205a 100644 --- a/txadminports.json +++ b/txadminports.json @@ -1 +1,16 @@ -[{"Protocol":"TCP","Port":40120,"Ref":"txAdminPort","Name":"txAdmin Port","Description":"Port for txAdmin traffic"},{"Protocol":"Both","Port":30120,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}] \ No newline at end of file +[ + { + "Protocol": "TCP", + "Port": 40120, + "Ref": "txAdminPort", + "Name": "txAdmin Port", + "Description": "Port for txAdmin traffic" + }, + { + "Protocol": "Both", + "Port": 30120, + "Ref": "ServerPort", + "Name": "Server Port", + "Description": "Port for game traffic" + } +] \ No newline at end of file From 0db86bf151b32ba792ed2dc90e2f105a749f9920 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 23 Feb 2025 04:44:45 +1100 Subject: [PATCH 295/318] Add pause --- fivemupdates.json | 6 ++++++ redmupdates.json | 6 ++++++ txadminupdates.json | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/fivemupdates.json b/fivemupdates.json index d5737554a..5b02cb1a3 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -164,6 +164,12 @@ "UpdateSourceConditionValue": "SpecificVersion", "SkipOnFailure": false }, + { + "UpdateStageName": "Pause Update Stages", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Pause", + "UpdateSourceArgs": "2" + }, { "UpdateStageName": "Server Extract", "UpdateSourcePlatform": "Linux", diff --git a/redmupdates.json b/redmupdates.json index d81b2e3bf..3b446e215 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -164,6 +164,12 @@ "UpdateSourceConditionValue": "SpecificVersion", "SkipOnFailure": false }, + { + "UpdateStageName": "Pause Update Stages", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Pause", + "UpdateSourceArgs": "2" + }, { "UpdateStageName": "Server Extract", "UpdateSourcePlatform": "Linux", diff --git a/txadminupdates.json b/txadminupdates.json index 3eea6b8f2..951a6eaea 100644 --- a/txadminupdates.json +++ b/txadminupdates.json @@ -148,6 +148,12 @@ "UpdateSourceConditionValue": "SpecificVersion", "SkipOnFailure": false }, + { + "UpdateStageName": "Pause Update Stages", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Pause", + "UpdateSourceArgs": "2" + }, { "UpdateStageName": "Server Extract", "UpdateSourcePlatform": "Linux", From d3d6b17d95276708ec7aa026ca18065d9aeca87f Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 23 Feb 2025 05:09:59 +1100 Subject: [PATCH 296/318] Version --- fivem.kvp | 2 +- redm.kvp | 2 +- txadmin.kvp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fivem.kvp b/fivem.kvp index 63365f09a..900465155 100644 --- a/fivem.kvp +++ b/fivem.kvp @@ -22,7 +22,7 @@ Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True Meta.AppConfigId=aa5de5cd-d1b4-4432-906f-07c0360280ed -Meta.ConfigVersion=1.1 +Meta.ConfigVersion=2 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= App.DisplayName=FiveM diff --git a/redm.kvp b/redm.kvp index af4a6dc45..a99425c90 100644 --- a/redm.kvp +++ b/redm.kvp @@ -22,7 +22,7 @@ Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True Meta.AppConfigId=5bc891bd-ce22-43f6-a05b-e5080798180f -Meta.ConfigVersion=1.1 +Meta.ConfigVersion=2 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= App.DisplayName=RedM diff --git a/txadmin.kvp b/txadmin.kvp index d1e0bd0ad..a4fe92d2b 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -22,7 +22,7 @@ Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True Meta.AppConfigId=7f7c01fc-8c2b-4d64-b47d-85f3a416cc27 -Meta.ConfigVersion=1.1 +Meta.ConfigVersion=2 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= App.DisplayName=txAdmin From 549774118035c0ea8fe05cf494964b0fd8fd62d3 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 23 Feb 2025 06:10:01 +1100 Subject: [PATCH 297/318] Further txAdmin tweaks --- fivemupdates.json | 6 ------ redmupdates.json | 6 ------ txadminupdates.json | 22 ++++++++++++++++------ 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/fivemupdates.json b/fivemupdates.json index 5b02cb1a3..d5737554a 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -164,12 +164,6 @@ "UpdateSourceConditionValue": "SpecificVersion", "SkipOnFailure": false }, - { - "UpdateStageName": "Pause Update Stages", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Pause", - "UpdateSourceArgs": "2" - }, { "UpdateStageName": "Server Extract", "UpdateSourcePlatform": "Linux", diff --git a/redmupdates.json b/redmupdates.json index 3b446e215..d81b2e3bf 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -164,12 +164,6 @@ "UpdateSourceConditionValue": "SpecificVersion", "SkipOnFailure": false }, - { - "UpdateStageName": "Pause Update Stages", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Pause", - "UpdateSourceArgs": "2" - }, { "UpdateStageName": "Server Extract", "UpdateSourcePlatform": "Linux", diff --git a/txadminupdates.json b/txadminupdates.json index 951a6eaea..24dd463bb 100644 --- a/txadminupdates.json +++ b/txadminupdates.json @@ -15,6 +15,22 @@ "OverwriteExistingFiles": false, "SkipOnFailure": false }, + { + "UpdateStageName": "Delete Binary Directory Contents", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c \"rm -rf \\\"{{$FullBaseDir}}server/alpine/\\\"* >/dev/null 2>&1\"", + "SkipOnFailure": true + }, + { + "UpdateStageName": "Delete Binary Directory Contents", + "UpdateSourcePlatform": "Windows", + "UpdateSource": "Executable", + "UpdateSourceData": "cmd.exe", + "UpdateSourceArgs": "/C del /Q /F \"{{$FullBaseDir}}server\\alpine\\\"* > NUL 2>&1", + "SkipOnFailure": true + }, { "UpdateStageName": "Server Download", "UpdateSourcePlatform": "Windows", @@ -148,12 +164,6 @@ "UpdateSourceConditionValue": "SpecificVersion", "SkipOnFailure": false }, - { - "UpdateStageName": "Pause Update Stages", - "UpdateSourcePlatform": "Linux", - "UpdateSource": "Pause", - "UpdateSourceArgs": "2" - }, { "UpdateStageName": "Server Extract", "UpdateSourcePlatform": "Linux", From c644aece897e9e4fdd2fe81f78e07f899e195823 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 23 Feb 2025 06:27:14 +1100 Subject: [PATCH 298/318] Update filter regex --- fivem.kvp | 2 +- redm.kvp | 2 +- txadmin.kvp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fivem.kvp b/fivem.kvp index 900465155..787fa96f9 100644 --- a/fivem.kvp +++ b/fivem.kvp @@ -81,7 +81,7 @@ App.MonitorChildProcessName= App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch -Console.FilterMatchRegex=\[[\d;]+m|\[\d+m +Console.FilterMatchRegex=\e\[(\d+;)*(\d+)?[ABCDHJKfmsu]|\e\[?[?\>\=\da-z]+ Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= Console.AppReadyRegex=^\[ citizen-server-impl\] Authenticated with cfx\.re Nucleus: .*$ diff --git a/redm.kvp b/redm.kvp index a99425c90..05dc94a38 100644 --- a/redm.kvp +++ b/redm.kvp @@ -81,7 +81,7 @@ App.MonitorChildProcessName= App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch -Console.FilterMatchRegex=\[[\d;]+m|\[\d+m +Console.FilterMatchRegex=\e\[(\d+;)*(\d+)?[ABCDHJKfmsu]|\e\[?[?\>\=\da-z]+ Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= Console.AppReadyRegex=^\[ citizen-server-impl\] Authenticated with cfx\.re Nucleus: .*$ diff --git a/txadmin.kvp b/txadmin.kvp index a4fe92d2b..7dcea2ecf 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -81,7 +81,7 @@ App.MonitorChildProcessName= App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch -Console.FilterMatchRegex=\[[\d;]+m|\[\d+m +Console.FilterMatchRegex=\e\[(\d+;)*(\d+)?[ABCDHJKfmsu]|\e\[?[?\>\=\da-z]+ Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= Console.AppReadyRegex=^\[[\d:]+\]\[tx:FXRunner\] (Please open txAdmin on the browser to configure your server\.|>> \[\d+\] FXServer Started!)$ From d2763072257fd098ddc7dd841424516bd1a31227 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 23 Feb 2025 07:56:30 +1100 Subject: [PATCH 299/318] Update txadminupdates.json --- txadminupdates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txadminupdates.json b/txadminupdates.json index 24dd463bb..c12697c4d 100644 --- a/txadminupdates.json +++ b/txadminupdates.json @@ -169,7 +169,7 @@ "UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"cd ./txadmin/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", + "UpdateSourceArgs": "-c \"cd ./txadmin/server && tar -xf fx.tar.xz >/dev/null && rm -f fx.tar.xz\"", "SkipOnFailure": false } ] \ No newline at end of file From 474d06fa26fa64326e40d7efe032017d3107a8a0 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 23 Feb 2025 07:56:54 +1100 Subject: [PATCH 300/318] Update redmupdates.json --- redmupdates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redmupdates.json b/redmupdates.json index d81b2e3bf..c0364cecb 100644 --- a/redmupdates.json +++ b/redmupdates.json @@ -169,7 +169,7 @@ "UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"cd ./redm/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", + "UpdateSourceArgs": "-c \"cd ./redm/server && tar -xf fx.tar.xz >/dev/null && rm -f fx.tar.xz\"", "SkipOnFailure": false }, { From 4e65a44a4c3080897ecbaa40667a9b45c6199bb2 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sun, 23 Feb 2025 07:57:15 +1100 Subject: [PATCH 301/318] Update fivemupdates.json --- fivemupdates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fivemupdates.json b/fivemupdates.json index d5737554a..d4b2f3be3 100644 --- a/fivemupdates.json +++ b/fivemupdates.json @@ -169,7 +169,7 @@ "UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", - "UpdateSourceArgs": "-c \"cd ./fivem/server && tar -xf fx.tar.xz >/dev/null 2>&1 && rm -f fx.tar.xz\"", + "UpdateSourceArgs": "-c \"cd ./fivem/server && tar -xf fx.tar.xz >/dev/null && rm -f fx.tar.xz\"", "SkipOnFailure": false }, { From 4688b34cd5e9da2d3311687d6f20c770bea2ecb8 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 21 Mar 2025 17:31:28 +1100 Subject: [PATCH 302/318] Update txadmin.kvp --- txadmin.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txadmin.kvp b/txadmin.kvp index 7dcea2ecf..64fab8b28 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -84,7 +84,7 @@ App.ApplicationReadyMode=RegexMatch Console.FilterMatchRegex=\e\[(\d+;)*(\d+)?[ABCDHJKfmsu]|\e\[?[?\>\=\da-z]+ Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[[\d:]+\]\[tx:FXRunner\] (Please open txAdmin on the browser to configure your server\.|>> \[\d+\] FXServer Started!)$ +Console.AppReadyRegex=^\[[\d:]+\]\[tx:(FXRunner|FxRunner)\] (Please open txAdmin on the browser to configure your server\.|>> \[\d+\] FXServer Started!)$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ From 7082b8c9e6e31683e416de66831b22deb6505b9d Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 21 Mar 2025 17:33:16 +1100 Subject: [PATCH 303/318] Update txadmin.kvp --- txadmin.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txadmin.kvp b/txadmin.kvp index 64fab8b28..6d6e6849d 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -37,7 +37,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} +set txAdminPort {{$txAdminPort}} +set txAdminInterface {{$ApplicationIPBinding}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={} +App.EnvironmentVariables={"TXHOST_TXA_PORT":"{{$txAdminPort}}","TXHOST_INTERFACE":"{{$ApplicationIPBinding}}"} App.CommandLineParameterFormat=+{0} {1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE From fd5eec507807d5783ad1ac8c4693dc5206e67ee7 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 21 Mar 2025 18:53:48 +1100 Subject: [PATCH 304/318] Update txadmin.kvp --- txadmin.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txadmin.kvp b/txadmin.kvp index 6d6e6849d..e8e81e0c4 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -84,7 +84,7 @@ App.ApplicationReadyMode=RegexMatch Console.FilterMatchRegex=\e\[(\d+;)*(\d+)?[ABCDHJKfmsu]|\e\[?[?\>\=\da-z]+ Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[[\d:]+\]\[tx:(FXRunner|FxRunner)\] (Please open txAdmin on the browser to configure your server\.|>> \[\d+\] FXServer Started!)$ +Console.AppReadyRegex=^\[[\d:]+\]\[tx:(FXRunner|FxRunner)\] (Please open txAdmin on the browser to configure your server\.|>> \[\d+\] (FXServer|FxServer) Started!)$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ From 2a4e1c5fe2e02edc2660d0f7a45e928c2e47ff85 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 31 Mar 2025 21:55:23 +1100 Subject: [PATCH 305/318] Updates --- fivemconfig.json | 6 +++--- redmconfig.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fivemconfig.json b/fivemconfig.json index 7ad253dc5..411cc2581 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -12,11 +12,11 @@ "EnumValues": {} }, { - "DisplayName": "Cfx.re Licence Key", + "DisplayName": "Cfx.re Server Registration Key", "Category": "FiveM:stadia_controller", "Subcategory": "Server:dns:1", - "Description": "Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", - "Keywords": "licence,license,key,keymaster,sv_licenseKey", + "Description": "Sets the [Cfx.re server registration key](https://portal.cfx.re/servers/registration-keys) required to run the server", + "Keywords": "licence,license,registration,key,keymaster,sv_licenseKey", "FieldName": "sv_licenseKey", "InputType": "password", "ParamFieldName": "sv_licenseKey", diff --git a/redmconfig.json b/redmconfig.json index f2c631236..fda008934 100644 --- a/redmconfig.json +++ b/redmconfig.json @@ -12,11 +12,11 @@ "EnumValues": {} }, { - "DisplayName": "Cfx.re Licence Key", + "DisplayName": "Cfx.re Server Registration Key", "Category": "RedM:stadia_controller", "Subcategory": "Server:dns:1", - "Description": "Sets the [Cfx.re licence key](https://keymaster.fivem.net/login?return_url=/) required to run the server. When creating the key, specify the public IP on which the key will first be used. Afterwards, the key can be used for a single server instance on any IP", - "Keywords": "licence,license,key,keymaster,sv_licenseKey", + "Description": "Sets the [Cfx.re server registration key](https://portal.cfx.re/servers/registration-keys) required to run the server", + "Keywords": "licence,license,registration,key,keymaster,sv_licenseKey", "FieldName": "sv_licenseKey", "InputType": "password", "ParamFieldName": "sv_licenseKey", From 1701d3635b43374d70b08f62184ca1a434e9b794 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 31 Mar 2025 22:02:12 +1100 Subject: [PATCH 306/318] Update txadmin.kvp --- txadmin.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txadmin.kvp b/txadmin.kvp index e8e81e0c4..9e67a45b3 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -84,7 +84,7 @@ App.ApplicationReadyMode=RegexMatch Console.FilterMatchRegex=\e\[(\d+;)*(\d+)?[ABCDHJKfmsu]|\e\[?[?\>\=\da-z]+ Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[[\d:]+\]\[tx:(FXRunner|FxRunner)\] (Please open txAdmin on the browser to configure your server\.|>> \[\d+\] (FXServer|FxServer) Started!)$ +Console.AppReadyRegex=^\[[\d:]+\]\[tx:(FXRunner|FxRunner|FXProc)\] (Please open txAdmin on the browser to configure your server\.|(?:>> )?\[\d+\] (FXServer|FxServer) Started!)$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ From c959535299971266fe48c8263fb3082bf0230073 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 31 Mar 2025 22:15:20 +1100 Subject: [PATCH 307/318] Update txadmin.kvp --- txadmin.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txadmin.kvp b/txadmin.kvp index 9e67a45b3..48481039b 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -84,7 +84,7 @@ App.ApplicationReadyMode=RegexMatch Console.FilterMatchRegex=\e\[(\d+;)*(\d+)?[ABCDHJKfmsu]|\e\[?[?\>\=\da-z]+ Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= -Console.AppReadyRegex=^\[[\d:]+\]\[tx:(FXRunner|FxRunner|FXProc)\] (Please open txAdmin on the browser to configure your server\.|(?:>> )?\[\d+\] (FXServer|FxServer) Started!)$ +Console.AppReadyRegex=^\[[\d:]+\]\[tx:(FXRunner|FxRunner|FXProc)\]( Please open txAdmin on the browser to configure your server\.|(?:>> )?\[\d+\] (FXServer|FxServer) Started!)$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ Console.UserChatRegex=^$ From f07cca97d060f27bb86c555ae01cbe71a4151967 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 18 Apr 2025 20:53:41 +1000 Subject: [PATCH 308/318] Update fivemconfig.json --- fivemconfig.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fivemconfig.json b/fivemconfig.json index 411cc2581..dec5ecc13 100644 --- a/fivemconfig.json +++ b/fivemconfig.json @@ -191,6 +191,7 @@ "ParamFieldName": "sv_enforceGameBuild", "DefaultValue": "1604", "EnumValues": { + "1": "1 (Base game without any DLCs)", "1604": "1604 (Arena War)", "2060": "2060 (Los Santos Summer Special)", "2189": "2189 (Cayo Perico Heist)", @@ -199,7 +200,10 @@ "2612": "2612 (mpg9ec)", "2699": "2699 (The Criminal Enterprises)", "2802": "2802 (Los Santos Drug Wars)", - "2944": "2944 (San Andreas Mercenaries)" + "2944": "2944 (San Andreas Mercenaries)", + "3095": "3095 (The Chop Shop)", + "3258": "3258 (Bottom Dollar Bounties)", + "3407": "3407 (Agents of Sabotage)" } }, { From 7653c357a9eb35836e3a794af8e0b3faaf5083b8 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Fri, 23 May 2025 21:49:20 +1000 Subject: [PATCH 309/318] Multi IP --- fivem.kvp | 3 ++- redm.kvp | 3 ++- txadmin.kvp | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/fivem.kvp b/fivem.kvp index 787fa96f9..f3b4842f9 100644 --- a/fivem.kvp +++ b/fivem.kvp @@ -22,9 +22,10 @@ Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True Meta.AppConfigId=aa5de5cd-d1b4-4432-906f-07c0360280ed -Meta.ConfigVersion=2 +Meta.ConfigVersion=3 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= +Meta.AppIsMultiIPAware=True App.DisplayName=FiveM App.RootDir=./fivem/ App.BaseDirectory=./fivem/ diff --git a/redm.kvp b/redm.kvp index 05dc94a38..5d9a130e7 100644 --- a/redm.kvp +++ b/redm.kvp @@ -22,9 +22,10 @@ Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True Meta.AppConfigId=5bc891bd-ce22-43f6-a05b-e5080798180f -Meta.ConfigVersion=2 +Meta.ConfigVersion=3 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= +Meta.AppIsMultiIPAware=True App.DisplayName=RedM App.RootDir=./redm/ App.BaseDirectory=./redm/ diff --git a/txadmin.kvp b/txadmin.kvp index 48481039b..418068c94 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -22,9 +22,10 @@ Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified Meta.NoCommercialUsage=True Meta.AppConfigId=7f7c01fc-8c2b-4d64-b47d-85f3a416cc27 -Meta.ConfigVersion=2 +Meta.ConfigVersion=3 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= +Meta.AppIsMultiIPAware=True App.DisplayName=txAdmin App.RootDir=./txadmin/ App.BaseDirectory=./txadmin/ From cc3a1cea6bcdcab548a39fe910e5178859210129 Mon Sep 17 00:00:00 2001 From: Daniel 'MrAdder' Green <dgreen03@gmail.com> Date: Wed, 4 Jun 2025 00:39:01 +0100 Subject: [PATCH 310/318] Update fivem.kvp --- fivem.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fivem.kvp b/fivem.kvp index f3b4842f9..ee5d22f83 100644 --- a/fivem.kvp +++ b/fivem.kvp @@ -20,7 +20,7 @@ Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=True +Meta.NoCommercialUsage=False Meta.AppConfigId=aa5de5cd-d1b4-4432-906f-07c0360280ed Meta.ConfigVersion=3 Meta.ReleaseNotes= From 6e92a14ea69aad53da16935c8552b88455a9799b Mon Sep 17 00:00:00 2001 From: Daniel 'MrAdder' Green <dgreen03@gmail.com> Date: Wed, 4 Jun 2025 00:39:28 +0100 Subject: [PATCH 311/318] Update redm.kvp --- redm.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redm.kvp b/redm.kvp index 5d9a130e7..df3153640 100644 --- a/redm.kvp +++ b/redm.kvp @@ -20,7 +20,7 @@ Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=True +Meta.NoCommercialUsage=False Meta.AppConfigId=5bc891bd-ce22-43f6-a05b-e5080798180f Meta.ConfigVersion=3 Meta.ReleaseNotes= From 891ea930fc2c6a7c6ab1011f2fc1ebb8fcefc7d5 Mon Sep 17 00:00:00 2001 From: Daniel 'MrAdder' Green <dgreen03@gmail.com> Date: Wed, 4 Jun 2025 00:47:19 +0100 Subject: [PATCH 312/318] Update txadmin.kvp --- txadmin.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/txadmin.kvp b/txadmin.kvp index 418068c94..25c3fc29a 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -20,7 +20,7 @@ Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=True +Meta.NoCommercialUsage=False Meta.AppConfigId=7f7c01fc-8c2b-4d64-b47d-85f3a416cc27 Meta.ConfigVersion=3 Meta.ReleaseNotes= From 3632040caa892820a83add0b49f9b2a246cdf218 Mon Sep 17 00:00:00 2001 From: Daniel 'MrAdder' Green <dgreen03@gmail.com> Date: Wed, 4 Jun 2025 00:48:40 +0100 Subject: [PATCH 313/318] Update manifest.json --- manifest.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/manifest.json b/manifest.json index 5d4ee445b..0f6cb54ed 100644 --- a/manifest.json +++ b/manifest.json @@ -1,9 +1,9 @@ { - "id": "ec280171-c67b-4cf8-923f-dc27fea91ee1", - "authors": ["CubeCoders Limited", "AMP Community"], - "origin": "https://github.com/CubeCoders/AMPTemplates.git", - "url": "https://github.com/CubeCoders/AMPTemplates", - "imagefile": "", - "prefix": "", - "repotype": "AppTemplates" -} \ No newline at end of file + "id": "0bb219d6-0255-4dff-b8e3-4e0c8139f635", + "authors": ["Greelan"], + "origin": "https://github.com/Greelan/AMPTemplates.git", + "url": "https://github.com/Greelan/AMPTemplates/tree/dev", + "imagefile": "", + "prefix": "Greelan", + "repotype": "AppTemplates" +} From 00ee90ce1a1e74bcca808722efec243c81a8331c Mon Sep 17 00:00:00 2001 From: Daniel 'MrAdder' Green <dgreen03@gmail.com> Date: Tue, 30 Sep 2025 17:41:18 +0100 Subject: [PATCH 314/318] Update manifest.json --- manifest.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manifest.json b/manifest.json index 0f6cb54ed..fe8075c0e 100644 --- a/manifest.json +++ b/manifest.json @@ -1,9 +1,9 @@ { "id": "0bb219d6-0255-4dff-b8e3-4e0c8139f635", - "authors": ["Greelan"], - "origin": "https://github.com/Greelan/AMPTemplates.git", - "url": "https://github.com/Greelan/AMPTemplates/tree/dev", + "authors": ["Adder"], + "origin": "https://github.com/UnityHosting/adderTemplates.git", + "url": "https://github.com/UnityHosting/adderTemplates/tree/fivemredm", "imagefile": "", - "prefix": "Greelan", + "prefix": "Adder", "repotype": "AppTemplates" } From f3557e8755683025a4bc8d1dabb0d1fa863f163d Mon Sep 17 00:00:00 2001 From: Daniel 'MrAdder' Green <dgreen03@gmail.com> Date: Tue, 30 Sep 2025 17:48:31 +0100 Subject: [PATCH 315/318] Update fivemports.json --- fivemports.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fivemports.json b/fivemports.json index e5f51b196..c9d08c524 100644 --- a/fivemports.json +++ b/fivemports.json @@ -6,4 +6,11 @@ "Name": "Server Port", "Description": "Port for game traffic" } -] \ No newline at end of file + { + "Protocol": "Both", + "Port": 40120, + "Ref": "txAdminPort", + "Name": "txAdmin Port", + "Description": "Port for txAdmin traffic" + } +] From 7bc9a7c7b6c5e6d8227e557c758677c0c5a37124 Mon Sep 17 00:00:00 2001 From: Daniel 'MrAdder' Green <dgreen03@gmail.com> Date: Tue, 30 Sep 2025 17:49:25 +0100 Subject: [PATCH 316/318] Update fivemports.json --- fivemports.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fivemports.json b/fivemports.json index c9d08c524..1e80740bf 100644 --- a/fivemports.json +++ b/fivemports.json @@ -5,7 +5,7 @@ "Ref": "ServerPort", "Name": "Server Port", "Description": "Port for game traffic" - } + }, { "Protocol": "Both", "Port": 40120, From 6432518ad53128d17888f61bd0bd9901c369c0e6 Mon Sep 17 00:00:00 2001 From: Daniel 'MrAdder' Green <dgreen03@gmail.com> Date: Tue, 30 Sep 2025 18:54:06 +0100 Subject: [PATCH 317/318] Update txadmin.kvp --- txadmin.kvp | 1 - 1 file changed, 1 deletion(-) diff --git a/txadmin.kvp b/txadmin.kvp index 25c3fc29a..753b72172 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -20,7 +20,6 @@ Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified -Meta.NoCommercialUsage=False Meta.AppConfigId=7f7c01fc-8c2b-4d64-b47d-85f3a416cc27 Meta.ConfigVersion=3 Meta.ReleaseNotes= From 1c18a143dfb759c6b06662fc56c880cd637692be Mon Sep 17 00:00:00 2001 From: Daniel 'MrAdder' Green <dgreen03@gmail.com> Date: Tue, 30 Sep 2025 19:00:22 +0100 Subject: [PATCH 318/318] Update txadmin.kvp --- txadmin.kvp | 1 + 1 file changed, 1 insertion(+) diff --git a/txadmin.kvp b/txadmin.kvp index 753b72172..b7eb534c5 100644 --- a/txadmin.kvp +++ b/txadmin.kvp @@ -25,6 +25,7 @@ Meta.ConfigVersion=3 Meta.ReleaseNotes= Meta.BreakingReleaseNotes= Meta.AppIsMultiIPAware=True +Meta.NoCommercialUsage=False App.DisplayName=txAdmin App.RootDir=./txadmin/ App.BaseDirectory=./txadmin/