diff --git a/.vscode/settings.json b/.vscode/settings.json
index 50506fe0..e60f7750 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -2,7 +2,8 @@
"json.schemas": [
{
"fileMatch": [
- "/*.json"
+ "/*.json",
+ "!data.json"
],
"url": "./spec.json"
}
diff --git a/7days2die/7days2die.json b/7days2die/7days2die.json
index fb52751e..0fe9363d 100644
--- a/7days2die/7days2die.json
+++ b/7days2die/7days2die.json
@@ -40,7 +40,9 @@
"type": "telnet",
"port": "8081"
},
- "stdout": {}
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -57,4 +59,4 @@
"requirements": {
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/ark/ark.json b/ark/ark.json
index 0424d520..d69671a0 100644
--- a/ark/ark.json
+++ b/ark/ark.json
@@ -7,6 +7,7 @@
"value": "",
"display": "Exclusive?",
"desc": "Set to yes to only permit friends, leave no for public",
+ "required": false,
"userEdit": true,
"options": [
{
@@ -20,7 +21,7 @@
]
},
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
@@ -28,7 +29,7 @@
"userEdit": true
},
"mapname": {
- "type": "",
+ "type": "string",
"value": "TheIsland",
"display": "Map Name",
"desc": "Name of the map",
@@ -37,7 +38,7 @@
},
"maxplayers": {
"type": "integer",
- "value": "20",
+ "value": 20,
"display": "Max Players",
"desc": "Maximum number of players",
"required": true,
@@ -45,7 +46,7 @@
},
"port": {
"type": "integer",
- "value": "7777",
+ "value": 7777,
"display": "Port",
"desc": "What port to bind the server to",
"required": true,
@@ -53,14 +54,14 @@
},
"queryport": {
"type": "integer",
- "value": "27015",
+ "value": 27015,
"display": "Query Port",
"desc": "What port to listen for queries on",
"required": true,
"userEdit": true
},
"serveradminpassword": {
- "type": "",
+ "type": "string",
"value": "password",
"display": "Server Admin Password",
"desc": "Password for server admin",
@@ -68,7 +69,7 @@
"userEdit": true
},
"sessionname": {
- "type": "",
+ "type": "string",
"value": "My ARK Server",
"display": "Session Name",
"desc": "Name of server",
@@ -99,8 +100,12 @@
"run": {
"command": "./ShooterGame/Binaries/Linux/ShooterGameServer ${mapname}?listen?SessionName=${sessionname}?ServerAdminPassword=${serveradminpassword}?MultiHome=${ip}?Port=${port}?QueryPort=${queryport}?MaxPlayers=${maxplayers} -server ${exclusive}",
"stopCode": 2,
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -118,4 +123,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/arma3/arma3.json b/arma3/arma3.json
index c23f5b2c..24bfdc94 100644
--- a/arma3/arma3.json
+++ b/arma3/arma3.json
@@ -3,28 +3,31 @@
"display": "ARMA3",
"data": {
"config": {
- "type": "",
+ "type": "string",
"value": "config.cfg",
"display": "Config File",
"desc": "The Config file you want to use. NOTE: config.cfg is created on server installation!",
+ "required": false,
"userEdit": true
},
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"port": {
"type": "integer",
- "value": "2302",
+ "value": 2302,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"steam_user": {
- "type": "",
+ "type": "string",
"value": "anonymous",
"display": "Steam User",
"desc": "Username for Steam login",
@@ -36,8 +39,8 @@
{
"if": "env == 'host'",
"type": "steamgamedl",
- "appId": "233780",
- "username": "${steam_user}"
+ "username": "${steam_user}",
+ "appId": "233780"
},
{
"if": "env == 'docker'",
@@ -57,8 +60,12 @@
"run": {
"command": "./arma3server -ip=${ip} -port=${port} -config=${config} -par=parameters.txt",
"stopCode": 2,
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -76,4 +83,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/css/css.json b/css/css.json
index bc2700e9..d20bcaad 100644
--- a/css/css.json
+++ b/css/css.json
@@ -4,20 +4,22 @@
"data": {
"clientport": {
"type": "integer",
- "value": "27005",
+ "value": 27005,
"display": "Client Port",
"desc": "What port to bind the clientport to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"mapName": {
- "type": "",
+ "type": "string",
"value": "de_dust2",
"display": "Map",
"desc": "Map to load by default",
@@ -26,7 +28,7 @@
},
"maxplayers": {
"type": "integer",
- "value": "20",
+ "value": 20,
"display": "Max Players",
"desc": "Max players allowed on server",
"required": true,
@@ -34,14 +36,15 @@
},
"port": {
"type": "integer",
- "value": "27015",
+ "value": 27015,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"tickrate": {
"type": "integer",
- "value": "66",
+ "value": 66,
"display": "Tickrate",
"desc": "Server tick speed, to use this value you need to download this addon: https://github.com/daemon32/tickrate_enabler/releases/tag/0.5",
"required": true,
@@ -49,10 +52,11 @@
},
"tvport": {
"type": "integer",
- "value": "27020",
+ "value": 27020,
"display": "SourceTV Port",
"desc": "What port to bind the SourceTV to",
- "required": true
+ "required": true,
+ "userEdit": false
}
},
"install": [
@@ -72,8 +76,12 @@
"run": {
"command": "./srcds_run -game cstrike -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tvport} +map ${mapName} -maxplayers ${maxplayers} -tickrate ${tickrate} -norestart",
"stop": "exit",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -91,4 +99,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/discord-jda/discord-jda.json b/discord-jda/discord-jda.json
index 56a751b5..add61dd3 100644
--- a/discord-jda/discord-jda.json
+++ b/discord-jda/discord-jda.json
@@ -13,8 +13,12 @@
},
"run": {
"command": "java -jar ${jar}",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -33,4 +37,4 @@
"java"
]
}
-}
\ No newline at end of file
+}
diff --git a/discord-js/discord-js.json b/discord-js/discord-js.json
index 803e3560..5d478e32 100644
--- a/discord-js/discord-js.json
+++ b/discord-js/discord-js.json
@@ -7,7 +7,8 @@
"value": "bot.js",
"display": "Main bot file",
"desc": "The main bot file.",
- "required": true
+ "required": true,
+ "userEdit": false
}
},
"install": [
@@ -21,8 +22,12 @@
"run": {
"command": "node ./${bot-js-file}",
"stop": "stop",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -42,4 +47,4 @@
"npm"
]
}
-}
\ No newline at end of file
+}
diff --git a/discord-py/discord-py.json b/discord-py/discord-py.json
index 5c7a1df9..365a106f 100644
--- a/discord-py/discord-py.json
+++ b/discord-py/discord-py.json
@@ -30,8 +30,12 @@
"run": {
"command": "python3 ${bot-py-file}",
"stop": "stop",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -51,4 +55,4 @@
"python3"
]
}
-}
\ No newline at end of file
+}
diff --git a/dontstarvetogether/dontstarvetogether.json b/dontstarvetogether/dontstarvetogether.json
index 88add74f..2d519d1e 100644
--- a/dontstarvetogether/dontstarvetogether.json
+++ b/dontstarvetogether/dontstarvetogether.json
@@ -68,7 +68,7 @@
},
"maxplayers": {
"type": "integer",
- "value": "5",
+ "value": 5,
"display": "Max Players",
"desc": "How much Players can connect to your Server",
"required": true,
@@ -79,11 +79,12 @@
"value": "",
"display": "Password",
"desc": "(optional) The password, needed to connect to your Server",
+ "required": false,
"userEdit": true
},
"port": {
"type": "integer",
- "value": "10889",
+ "value": 10889,
"display": "Port",
"desc": "What port to bind the server to",
"required": true,
@@ -91,7 +92,7 @@
},
"pvp": {
"type": "boolean",
- "value": "false",
+ "value": false,
"display": "PvP",
"desc": "Should PvP activated on the Server?",
"required": true,
@@ -109,7 +110,7 @@
"type": "string",
"value": "",
"display": "Server Token",
- "desc": "Dont Starve Together Server Token (may find here \u003ca href=\"https://accounts.klei.com/account/game/servers?game=DontStarveTogether\" target=\"_blank\"\u003ehere\u003c/a\u003e)",
+ "desc": "Dont Starve Together Server Token (may find here here)",
"required": true,
"userEdit": true
}
@@ -147,8 +148,8 @@
},
{
"type": "writefile",
- "target": "start.sh",
- "text": "#!/bin/bash\n\ninstall_dir=\"${rootDir}\"\ncluster_name=\"DontStarveTogetherServer\"\ndontstarve_dir=\"${rootDir}\"\n\ncd \"$install_dir/bin\"\n\n./dontstarve_dedicated_server_nullrenderer -persistent_storage_root \"${rootDir}\" -console -cluster \"$cluster_name\" -monitor_parent_process $$"
+ "text": "#!/bin/bash\n\ninstall_dir=\"${rootDir}\"\ncluster_name=\"DontStarveTogetherServer\"\ndontstarve_dir=\"${rootDir}\"\n\ncd \"$install_dir/bin\"\n\n./dontstarve_dedicated_server_nullrenderer -persistent_storage_root \"${rootDir}\" -console -cluster \"$cluster_name\" -monitor_parent_process $$",
+ "target": "start.sh"
},
{
"type": "command",
@@ -160,8 +161,12 @@
"run": {
"command": "./start.sh",
"stop": "c_shutdown()",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -170,4 +175,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/eco/eco.json b/eco/eco.json
index 87e160a7..d1d55a50 100644
--- a/eco/eco.json
+++ b/eco/eco.json
@@ -3,28 +3,31 @@
"display": "ECO - Global Survival",
"data": {
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the Eco game server to.",
- "required": true
+ "required": true,
+ "userEdit": false
},
"password": {
- "type": "",
+ "type": "string",
"value": "",
"display": "Password",
"desc": "Password for the Eco Game Server, which will be required for login.",
+ "required": false,
"userEdit": true
},
"port": {
"type": "integer",
- "value": "3000",
+ "value": 3000,
"display": "Game-Server Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"serverVersion": {
- "type": "",
+ "type": "string",
"value": "0.7.7.2-beta",
"display": "Server Version",
"desc": "Version of Eco server to install.",
@@ -33,10 +36,11 @@
},
"webServerPort": {
"type": "integer",
- "value": "3001",
+ "value": 3001,
"display": "Web-Server Port",
"desc": "What port to bind the Eco web server to.",
- "required": true
+ "required": true,
+ "userEdit": false
}
},
"install": [
@@ -55,15 +59,19 @@
},
{
"type": "writefile",
- "target": "Configs/Network.eco",
- "text": "{\n \"PublicServer\": false,\n \"Password\": \"${password}\",\n \"Description\": \"\",\n \"IPAddress\": \"${ip}\",\n \"GameServerPort\": ${port},\n \"WebServerPort\": ${webServerPort},\n \"Rate\": 10,\n \"MaxConnections\": -1\n}"
+ "text": "{\n \"PublicServer\": false,\n \"Password\": \"${password}\",\n \"Description\": \"\",\n \"IPAddress\": \"${ip}\",\n \"GameServerPort\": ${port},\n \"WebServerPort\": ${webServerPort},\n \"Rate\": 10,\n \"MaxConnections\": -1\n}",
+ "target": "Configs/Network.eco"
}
],
"run": {
"command": "mono EcoServer.exe -nogui",
"stopCode": 9,
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -76,4 +84,4 @@
"mono"
]
}
-}
\ No newline at end of file
+}
diff --git a/eco9/eco9.json b/eco9/eco9.json
index 650b2149..29c62f59 100644
--- a/eco9/eco9.json
+++ b/eco9/eco9.json
@@ -15,11 +15,12 @@
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the Eco game server to.",
- "required": true
+ "required": true,
+ "userEdit": false
},
"maxcon": {
"type": "integer",
- "value": "-1",
+ "value": -1,
"display": "Max Connections",
"desc": "Maximum Connections to Server (Player Limit, -1 is unlimited)",
"required": true,
@@ -29,28 +30,33 @@
"type": "string",
"value": "",
"display": "Password",
- "desc": "Password for the Eco Game Server, which will be required for login."
+ "desc": "Password for the Eco Game Server, which will be required for login.",
+ "required": false,
+ "userEdit": false
},
"port": {
"type": "integer",
- "value": "3000",
+ "value": 3000,
"display": "Game-Server Port, port forward for external access",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"upnp": {
"type": "boolean",
- "value": "false",
+ "value": false,
"display": "Do you wish to Enable uPnP?",
"desc": "Enable pnp?",
- "required": true
+ "required": true,
+ "userEdit": false
},
"webServerPort": {
"type": "integer",
- "value": "3001",
+ "value": 3001,
"display": "Web-Server Port",
"desc": "What port to bind the Eco web server to.",
- "required": true
+ "required": true,
+ "userEdit": false
}
},
"install": [
@@ -81,8 +87,12 @@
"run": {
"command": "./EcoServer",
"stopCode": 2,
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -100,4 +110,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/factorio/factorio.json b/factorio/factorio.json
index 4293793e..f1681680 100644
--- a/factorio/factorio.json
+++ b/factorio/factorio.json
@@ -3,21 +3,23 @@
"display": "Factorio",
"data": {
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"port": {
"type": "integer",
- "value": "34197",
+ "value": 34197,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"save": {
- "type": "",
+ "type": "string",
"value": "saves/default.zip",
"display": "Save File to Use",
"desc": "Save File to Use",
@@ -25,7 +27,7 @@
"userEdit": true
},
"server-settings": {
- "type": "",
+ "type": "string",
"value": "factorio/data/server-settings.json",
"display": "Server Settings JSON",
"desc": "Server Settings File Location",
@@ -48,8 +50,12 @@
"run": {
"command": "./factorio/bin/x64/factorio --port ${port} --bind ${ip} --start-server ${save} --server-settings ${server-settings}",
"stop": "/quit",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -63,4 +69,4 @@
"xz"
]
}
-}
\ No newline at end of file
+}
diff --git a/fivem/fivem.json b/fivem/fivem.json
index 079b1966..f4c9ccee 100644
--- a/fivem/fivem.json
+++ b/fivem/fivem.json
@@ -6,7 +6,7 @@
"type": "string",
"value": "https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/4324-8b15f90861500a459afe7690869f7c7335df5c48/fx.tar.xz",
"display": "Artifacts",
- "desc": "The artifacts link which you want to install (You can find them \u003ca href='https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/'\u003ehere\u003c/a\u003e)",
+ "desc": "The artifacts link which you want to install (You can find them here)",
"required": true,
"userEdit": true
},
@@ -22,13 +22,13 @@
"type": "string",
"value": "LICENTA",
"display": "KEYMASTER license",
- "desc": "Your FiveM License Key (You can get from \u003ca href='https://keymaster.fivem.net'\u003ehere\u003c/a\u003e)",
+ "desc": "Your FiveM License Key (You can get from here)",
"required": true,
"userEdit": true
},
"maxplayers": {
"type": "integer",
- "value": "32",
+ "value": 32,
"display": "Slots",
"desc": "The maximum number of players",
"required": true,
@@ -36,7 +36,7 @@
},
"port": {
"type": "integer",
- "value": "30120",
+ "value": 30120,
"display": "Port",
"desc": "The port which server will be allocated",
"required": true,
@@ -88,8 +88,12 @@
"run": {
"command": "./start_no_edit.sh +exec server.cfg",
"stopCode": 6,
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -103,4 +107,4 @@
"wget"
]
}
-}
\ No newline at end of file
+}
diff --git a/gmod/gmod.json b/gmod/gmod.json
index c6deaf81..24014fcf 100644
--- a/gmod/gmod.json
+++ b/gmod/gmod.json
@@ -3,7 +3,7 @@
"display": "Garry's Mod",
"data": {
"gamemode": {
- "type": "",
+ "type": "string",
"value": "sandbox",
"display": "Gamemode",
"desc": "Gamemode to load",
@@ -11,7 +11,7 @@
"userEdit": true
},
"mapname": {
- "type": "",
+ "type": "string",
"value": "gm_construct",
"display": "Map",
"desc": "Map to load by default",
@@ -20,30 +20,34 @@
},
"maxplayers": {
"type": "integer",
- "value": "20",
+ "value": 20,
"display": "Max Players",
"desc": "Max players allowed on server",
- "required": true
+ "required": true,
+ "userEdit": false
},
"port": {
"type": "integer",
- "value": "27015",
+ "value": 27015,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"steamaccounttoken": {
- "type": "",
+ "type": "string",
"value": "",
"display": "Steam Game Server Account Token",
"desc": "Token for a game server account. *optional* (Get one here: https://steamcommunity.com/dev/managegameservers)",
+ "required": false,
"userEdit": true
},
"wscollection": {
- "type": "",
+ "type": "string",
"value": "",
"display": "Workshop Collection ID",
"desc": "Specify a ws collection the server should load. *optional*",
+ "required": false,
"userEdit": true
}
},
@@ -70,8 +74,12 @@
"run": {
"command": "./srcds_run +port ${port} -game garrysmod -console +gamemode ${gamemode} +map ${mapname} +maxplayers ${maxplayers} +host_workshop_collection ${wscollection} +sv_setsteamaccount ${steamaccounttoken} -norestart",
"stop": "exit",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -89,4 +97,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/minecraft-bedrock/minecraft-bedrock.json b/minecraft-bedrock/minecraft-bedrock.json
index 8eb5ff8d..0f8be894 100644
--- a/minecraft-bedrock/minecraft-bedrock.json
+++ b/minecraft-bedrock/minecraft-bedrock.json
@@ -4,14 +4,14 @@
"data": {
"allow-cheats": {
"type": "boolean",
- "value": "false",
+ "value": false,
"display": "Allow Cheats",
"desc": "If true then cheats like commands can be used.",
"required": true,
"userEdit": true
},
"default-player-permission-level": {
- "type": "",
+ "type": "string",
"value": "member",
"display": "Default Permission Level",
"desc": "Permission level for new players joining for the first time.",
@@ -19,7 +19,7 @@
"userEdit": true
},
"difficulty": {
- "type": "",
+ "type": "string",
"value": "easy",
"display": "Difficulty",
"desc": "Sets the difficulty of the world.",
@@ -27,7 +27,7 @@
"userEdit": true
},
"gamemode": {
- "type": "",
+ "type": "string",
"value": "survival",
"display": "Gamemode",
"desc": "Sets the game mode for new players.",
@@ -35,7 +35,7 @@
"userEdit": true
},
"level-name": {
- "type": "",
+ "type": "string",
"value": "Bedrock level",
"display": "Level Name",
"desc": "Name of the World Folder",
@@ -43,15 +43,16 @@
"userEdit": true
},
"level-seed": {
- "type": "",
+ "type": "string",
"value": "",
"display": "Level Seed",
"desc": "Use to randomize the world",
+ "required": false,
"userEdit": true
},
"max-players": {
"type": "integer",
- "value": "10",
+ "value": 10,
"display": "Max Players",
"desc": "The maximum number of players that can play on the server.",
"required": true,
@@ -59,7 +60,7 @@
},
"max-threads": {
"type": "integer",
- "value": "0",
+ "value": 0,
"display": "Max Threads",
"desc": "Maximum number of threads the server will try to use. If set to 0 or removed then it will use as many as possible.",
"required": true,
@@ -67,7 +68,7 @@
},
"online-mode": {
"type": "boolean",
- "value": "true",
+ "value": true,
"display": "Online Mode",
"desc": "Whether a player is required to be authenticated to XBox Live",
"required": true,
@@ -75,14 +76,14 @@
},
"player-idle-timeout": {
"type": "integer",
- "value": "30",
+ "value": 30,
"display": "Player Idle Timeout",
"desc": "After a player has idled for this many minutes they will be kicked. If set to 0 then players can idle indefinitely.",
"required": true,
"userEdit": true
},
"server-name": {
- "type": "",
+ "type": "string",
"value": "Dedicated Server",
"display": "Server Name",
"desc": "Used as the server name",
@@ -91,21 +92,23 @@
},
"server-port": {
"type": "integer",
- "value": "19132",
+ "value": 19132,
"display": "Server Port",
"desc": "Which IPv4 port the server should listen to.",
- "required": true
+ "required": true,
+ "userEdit": false
},
"server-portv6": {
"type": "integer",
- "value": "19133",
+ "value": 19133,
"display": "Server Port (IPv6)",
"desc": "Which IPv6 port the server should listen to.",
- "required": true
+ "required": true,
+ "userEdit": false
},
"texturepack-required": {
"type": "boolean",
- "value": "false",
+ "value": false,
"display": "Force Server Texturepack",
"desc": "Force clients to use texture packs in the current world",
"required": true,
@@ -113,14 +116,14 @@
},
"tick-distance": {
"type": "integer",
- "value": "4",
+ "value": 4,
"display": "Tick Distance",
"desc": "The world will be ticked this many chunks away from any player.",
"required": true,
"userEdit": true
},
"version": {
- "type": "",
+ "type": "string",
"value": "1.19.50.02",
"display": "Bedrock Version",
"desc": "Version of the Minecraft Bedrock Server to use",
@@ -129,7 +132,7 @@
},
"view-distance": {
"type": "integer",
- "value": "32",
+ "value": 32,
"display": "View Distance",
"desc": "The maximum allowed view distance in number of chunks.",
"required": true,
@@ -137,7 +140,7 @@
},
"white-list": {
"type": "boolean",
- "value": "false",
+ "value": false,
"display": "Whitelist",
"desc": "If true then all connected players must be listed in the separate whitelist.json file.",
"required": true,
@@ -169,8 +172,12 @@
"environmentVars": {
"LD_LIBRARY_PATH": "."
},
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -182,4 +189,4 @@
"unzip"
]
}
-}
\ No newline at end of file
+}
diff --git a/minecraft-bungeecord/minecraft-bungeecord.json b/minecraft-bungeecord/minecraft-bungeecord.json
index 56403741..41192c72 100644
--- a/minecraft-bungeecord/minecraft-bungeecord.json
+++ b/minecraft-bungeecord/minecraft-bungeecord.json
@@ -3,33 +3,36 @@
"display": "Bungeecord - Minecraft",
"data": {
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"memory": {
"type": "integer",
- "value": "512",
+ "value": 512,
"display": "Memory (MB)",
"desc": "How much memory in MB to allocate to the BungeeCord server. It is generally recommended to allocated 512MB RAM for every 500 players. Please keep in mind that additional plugins may impact the amount needed in your case.",
- "required": true
+ "required": true,
+ "userEdit": false
},
"motd": {
- "type": "",
- "value": "A BungeeCord Server \u00269hosted on PufferPanel",
+ "type": "string",
+ "value": "A BungeeCord Server &9hosted on PufferPanel",
"display": "MOTD message of the day",
- "desc": "This is the message that is displayed in the server list of the client, below the name. The MOTD does support \u003ca href='https://minecraft.gamepedia.com/Formatting_codes' target='_blank'\u003ecolor and formatting codes\u003c/a\u003e.",
+ "desc": "This is the message that is displayed in the server list of the client, below the name. The MOTD does support color and formatting codes.",
"required": true,
"userEdit": true
},
"port": {
"type": "integer",
- "value": "25577",
+ "value": 25577,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
}
},
"install": [
@@ -44,8 +47,8 @@
},
{
"type": "writefile",
- "target": "config.yml",
- "text": "listeners:\n- query_port: ${port}\n host: ${ip}:${port}\n motd: '${motd}'\n"
+ "text": "listeners:\n- query_port: ${port}\n host: ${ip}:${port}\n motd: '${motd}'\n",
+ "target": "config.yml"
}
],
"run": {
@@ -59,8 +62,12 @@
}
],
"stop": "end",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -75,4 +82,4 @@
}
],
"requirements": {}
-}
\ No newline at end of file
+}
diff --git a/minecraft-velocity/minecraft-velocity.json b/minecraft-velocity/minecraft-velocity.json
index 2c10c59f..3e38704a 100644
--- a/minecraft-velocity/minecraft-velocity.json
+++ b/minecraft-velocity/minecraft-velocity.json
@@ -4,7 +4,7 @@
"data": {
"build": {
"type": "integer",
- "value": "195",
+ "value": 195,
"display": "Velocity Build",
"desc": "Build of the Velocity Version to use",
"required": true,
@@ -15,29 +15,32 @@
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"memory": {
"type": "integer",
"value": 512,
"display": "Memory (MB)",
"desc": "How much memory in MB to allocate to the Waterfall server. It is generally recommended to allocated 512MB RAM for every 500 players. Please keep in mind that additional plugins may impact the amount needed in your case.",
- "required": true
+ "required": true,
+ "userEdit": false
},
"motd": {
"type": "string",
- "value": "A Velocity proxy \u00269hosted on PufferPanel",
+ "value": "A Velocity proxy &9hosted on PufferPanel",
"display": "MOTD message of the day",
- "desc": "This is the message that is displayed in the server list of the client, below the name. The MOTD does support \u003ca href='https://minecraft.gamepedia.com/Formatting_codes' target='_blank'\u003ecolor and formatting codes\u003c/a\u003e.",
+ "desc": "This is the message that is displayed in the server list of the client, below the name. The MOTD does support color and formatting codes.",
"required": true,
"userEdit": true
},
"port": {
"type": "integer",
- "value": "25565",
+ "value": 25565,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"version": {
"type": "string",
@@ -77,8 +80,12 @@
}
],
"stop": "shutdown",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -93,4 +100,4 @@
}
],
"requirements": {}
-}
\ No newline at end of file
+}
diff --git a/minecraft-waterfall/minecraft-waterfall.json b/minecraft-waterfall/minecraft-waterfall.json
index 1afb3b06..16d60038 100644
--- a/minecraft-waterfall/minecraft-waterfall.json
+++ b/minecraft-waterfall/minecraft-waterfall.json
@@ -7,42 +7,48 @@
"value": "510",
"display": "build",
"desc": "Build number",
- "required": true
+ "required": true,
+ "userEdit": false
},
"ip": {
"type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"memory": {
"type": "integer",
- "value": "512",
+ "value": 512,
"display": "Memory (MB)",
"desc": "How much memory in MB to allocate to the Waterfall server. It is generally recommended to allocated 512MB RAM for every 500 players. Please keep in mind that additional plugins may impact the amount needed in your case.",
- "required": true
+ "required": true,
+ "userEdit": false
},
"motd": {
"type": "string",
- "value": "A Waterfall Server \u00269hosted on PufferPanel",
+ "value": "A Waterfall Server &9hosted on PufferPanel",
"display": "MOTD message of the day",
- "desc": "This is the message that is displayed in the server list of the client, below the name. The MOTD does support \u003ca href='https://minecraft.gamepedia.com/Formatting_codes' target='_blank'\u003ecolor and formatting codes\u003c/a\u003e.",
- "required": true
+ "desc": "This is the message that is displayed in the server list of the client, below the name. The MOTD does support color and formatting codes.",
+ "required": true,
+ "userEdit": false
},
"port": {
"type": "integer",
- "value": "25577",
+ "value": 25577,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"version": {
"type": "string",
"value": "1.19",
"display": "Version",
- "desc": "Version of Minecraft to install. Must be specified as a \u003cstrong\u003eminor release number\u003c/strong\u003e, e.g. 1.16",
- "required": true
+ "desc": "Version of Minecraft to install. Must be specified as a minor release number, e.g. 1.16",
+ "required": true,
+ "userEdit": false
}
},
"install": [
@@ -59,8 +65,8 @@
},
{
"type": "move",
- "source": "waterfall-*.jar",
- "target": "Waterfall.jar"
+ "target": "Waterfall.jar",
+ "source": "waterfall-*.jar"
},
{
"type": "writefile",
@@ -79,11 +85,15 @@
}
],
"stop": "end",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
},
"requirements": {}
-}
\ No newline at end of file
+}
diff --git a/minecraft/minecraft.json b/minecraft/minecraft.json
index 9a686577..f6da1d76 100644
--- a/minecraft/minecraft.json
+++ b/minecraft/minecraft.json
@@ -4,53 +4,66 @@
"data": {
"eula": {
"type": "boolean",
- "value": "false",
+ "value": false,
"display": "EULA Agreement (true/false)",
- "desc": "Do you (or the server owner) agree to the \u003ca href='https://account.mojang.com/documents/minecraft_eula'\u003eMinecraft EULA?\u003c/a\u003e",
+ "desc": "Do you (or the server owner) agree to the Minecraft EULA?",
"required": true,
"userEdit": true
},
"forgebuild": {
- "type": "",
+ "type": "string",
"value": "",
"display": "Forge Version",
- "desc": "Version of Forge to install (may be located \u003ca href='http://files.minecraftforge.net/#Downloads'\u003ehere\u003c/a\u003e",
+ "desc": "Version of Forge to install (may be located here",
+ "required": false,
"userEdit": true
},
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"javaversion": {
- "type": "",
+ "type": "string",
"value": "17",
"display": "Java Version",
"desc": "Version of Java to use",
"required": true,
"userEdit": true
},
+ "jvmArgs": {
+ "type": "string",
+ "value": "-Dterminal.jline=false -Dterminal.ansi=true -Dlog4j2.formatMsgNoLookups=true",
+ "display": "JVM Arguments",
+ "desc": "Extra JVM arguments to pass",
+ "required": false,
+ "userEdit": false
+ },
"magmatag": {
"type": "string",
"value": "68e21495",
"display": "Tag",
"desc": "The alphanumeric commit ID for the build (See https://git.magmafoundation.org/magmafoundation/Magma-1-18-x/-/releases for the commit ID's for each release))",
+ "required": false,
"userEdit": true
},
"memory": {
"type": "integer",
- "value": "1024",
+ "value": 1024,
"display": "Memory (MB)",
"desc": "How much memory in MB to allocate to the Java Heap",
- "required": true
+ "required": true,
+ "userEdit": false
},
"modlauncher": {
- "type": "",
+ "type": "string",
"value": "",
"display": "Mod/Plugin Launcher",
"desc": "What mod or plugin launcher should be installed with Minecraft",
+ "required": false,
"userEdit": true,
"options": [
{
@@ -107,46 +120,41 @@
"type": "string",
"value": "latest",
"display": "Mohist Version",
- "desc": "Mohist version to install (may be located \u003ca href='https://mohistmc.com/download/' target='_blank'\u003ehere\u003c/a\u003e).",
+ "desc": "Mohist version to install (may be located here).",
+ "required": false,
"userEdit": true
},
"motd": {
- "type": "",
+ "type": "string",
"value": "A Minecraft Server\\n\\u00A79 hosted on PufferPanel",
"display": "MOTD message of the day",
- "desc": "This is the message that is displayed in the server list of the client, below the name. The MOTD does support \u003ca href='https://minecraft.gamepedia.com/Formatting_codes' target='_blank'\u003ecolor and formatting codes\u003c/a\u003e.",
+ "desc": "This is the message that is displayed in the server list of the client, below the name. The MOTD does support color and formatting codes.",
"required": true,
"userEdit": true
},
"paperbuild": {
- "type": "",
+ "type": "string",
"value": "96",
"display": "build",
- "desc": "Build of Paper to install (\u003ca href='https://papermc.io/downloads'\u003ePaper version build\u003c/a\u003e). Must be specified as a build number, e.g. 484",
+ "desc": "Build of Paper to install (Paper version build). Must be specified as a build number, e.g. 484",
+ "required": false,
"userEdit": true
},
"port": {
"type": "integer",
- "value": "25565",
+ "value": 25565,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"version": {
- "type": "",
+ "type": "string",
"value": "latest",
"display": "Version",
"desc": "Version of Minecraft you wish to install (not all software may respect this value",
"required": true,
"userEdit": true
- },
- "jvmArgs": {
- "type": "string",
- "value": "-Dterminal.jline=false -Dterminal.ansi=true -Dlog4j2.formatMsgNoLookups=true",
- "display": "JVM Arguments",
- "desc": "Extra JVM arguments to pass",
- "required": false,
- "userEdit": false
}
},
"groups": [
@@ -211,22 +219,22 @@
{
"if": "modlauncher == ''",
"type": "mojangdl",
- "version": "${version}",
- "target": "server.jar"
+ "target": "server.jar",
+ "version": "${version}"
},
{
"if": "modlauncher == 'fabric'",
"type": "fabricdl"
},
{
- "if": "modlauncher == 'fabric' && env == 'host'",
+ "if": "modlauncher == 'fabric' \u0026\u0026 env == 'host'",
"type": "command",
"commands": [
"java${javaversion} -jar fabric-installer.jar server -mcversion ${version} -downloadMinecraft -noprofile"
]
},
{
- "if": "modlauncher == 'fabric' && env != 'host'",
+ "if": "modlauncher == 'fabric' \u0026\u0026 env != 'host'",
"type": "command",
"commands": [
"java -jar fabric-installer.jar server -mcversion ${version} -downloadMinecraft -noprofile"
@@ -239,21 +247,21 @@
"target": "installer.jar"
},
{
- "if": "modlauncher == 'forge' && env == 'host'",
+ "if": "modlauncher == 'forge' \u0026\u0026 env == 'host'",
"type": "command",
"commands": [
"java${javaversion} -jar installer.jar --installServer"
]
},
{
- "if": "modlauncher == 'forge' && env != 'host'",
+ "if": "modlauncher == 'forge' \u0026\u0026 env != 'host'",
"type": "command",
"commands": [
"java -jar installer.jar --installServer"
]
},
{
- "if": "modlauncher == 'forge' && file_exists('forge-' + forgebuild + '-shim.jar')",
+ "if": "modlauncher == 'forge' \u0026\u0026 file_exists('forge-' + forgebuild + '-shim.jar')",
"type": "move",
"source": "forge-${forgebuild}-shim.jar",
"target": "server.jar"
@@ -269,7 +277,7 @@
"if": "modlauncher == 'magma'",
"type": "move",
"source": "Magma-*.jar",
- "target": "server.jar"
+ "target": "server.jar"
},
{
"if": "modlauncher == 'mohist'",
@@ -281,13 +289,15 @@
{
"if": "modlauncher == 'mohist'",
"type": "move",
- "source": "mohist-*-server.jar",
- "target": "server.jar"
+ "target": "server.jar",
+ "source": "mohist-*-server.jar"
},
{
"if": "modlauncher == 'paper'",
"type": "download",
- "files": "https://api.papermc.io/v2/projects/paper/versions/${version}/builds/${build}/downloads/paper-${version}-${paperbuild}.jar"
+ "files": [
+ "https://api.papermc.io/v2/projects/paper/versions/${version}/builds/${build}/downloads/paper-${version}-${paperbuild}.jar"
+ ]
},
{
"if": "modlauncher == 'paper'",
@@ -305,18 +315,18 @@
{
"if": "modlauncher == 'quilt'",
"type": "move",
- "source": "quilt-installer-*.jar",
- "target": "quilt-installer.jar"
+ "target": "quilt-installer.jar",
+ "source": "quilt-installer-*.jar"
},
{
- "if": "modlauncher == 'quilt' && env == 'host'",
+ "if": "modlauncher == 'quilt' \u0026\u0026 env == 'host'",
"type": "command",
"commands": [
"java${javaversion} -jar quilt-installer.jar install server ${version} --download-server --install-dir=."
]
},
{
- "if": "modlauncher == 'quilt' && env != 'host'",
+ "if": "modlauncher == 'quilt' \u0026\u0026 env != 'host'",
"type": "command",
"commands": [
"java -jar quilt-installer.jar install server ${version} --download-server --install-dir=."
@@ -325,23 +335,25 @@
{
"if": "modlauncher == 'quilt'",
"type": "move",
- "target": "server.jar",
- "source": "quilt-server-launch.jar"
+ "source": "quilt-server-launch.jar",
+ "target": "server.jar"
},
{
"if": "modlauncher == 'spigot'",
"type": "download",
- "files": "https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar"
+ "files": [
+ "https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar"
+ ]
},
{
- "if": "modlauncher == 'spigot' && env == 'host'",
+ "if": "modlauncher == 'spigot' \u0026\u0026 env == 'host'",
"type": "command",
"commands": [
"java${javaversion} -jar BuildTools.jar --rev ${version}"
]
},
{
- "if": "modlauncher == 'spigot' && env != 'host'",
+ "if": "modlauncher == 'spigot' \u0026\u0026 env != 'host'",
"type": "command",
"commands": [
"java -jar BuildTools.jar --rev ${version}"
@@ -356,13 +368,13 @@
{
"if": "!file_exists(\"server.properties\")",
"type": "writefile",
- "text": "server-ip=${ip}\nserver-port=${port}\nmotd=${motd}\n",
- "target": "server.properties"
+ "target": "server.properties",
+ "text": "server-ip=${ip}\nserver-port=${port}\nmotd=${motd}\n"
},
{
"type": "writefile",
- "target": "eula.txt",
- "text": "eula=${eula}"
+ "text": "eula=${eula}",
+ "target": "eula.txt"
}
],
"run": {
@@ -390,7 +402,7 @@
{
"command": "java -Xmx${memory}M ${jvmArgs} -jar server.jar",
"if": "env != 'host' && modlauncher == 'fabric'"
- },
+ },
{
"command": "java${javaversion} -Xmx${memory}M ${jvmArgs} -jar server.jar",
"if": "env == 'host'"
@@ -400,8 +412,12 @@
}
],
"stop": "stop",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -416,4 +432,4 @@
}
],
"requirements": {}
-}
\ No newline at end of file
+}
diff --git a/pocketmine/pocketmine.json b/pocketmine/pocketmine.json
index 7f47b9f5..f7901698 100644
--- a/pocketmine/pocketmine.json
+++ b/pocketmine/pocketmine.json
@@ -3,18 +3,20 @@
"display": "PocketMine-MP",
"data": {
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"port": {
"type": "integer",
- "value": "19132",
+ "value": 19132,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
}
},
"install": [
@@ -31,15 +33,19 @@
},
{
"type": "writefile",
- "target": "server.properties",
- "text": "server-ip=${ip}\nserver-port=${port}\n"
+ "text": "server-ip=${ip}\nserver-port=${port}\n",
+ "target": "server.properties"
}
],
"run": {
"command": "./start.sh --no-wizard",
"stop": "stop",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
diff --git a/rust/rust.json b/rust/rust.json
index 01b8928f..9c67a695 100644
--- a/rust/rust.json
+++ b/rust/rust.json
@@ -3,7 +3,7 @@
"display": "Rust",
"data": {
"Description": {
- "type": "",
+ "type": "string",
"value": "RUST Public Server Description",
"display": "Server Description",
"desc": "Server description shown on server browser",
@@ -12,13 +12,14 @@
},
"MaxPlayers": {
"type": "integer",
- "value": "10",
+ "value": 10,
"display": "Max Players",
"desc": "Maximum number of players to support",
- "required": true
+ "required": true,
+ "userEdit": false
},
"RConPassword": {
- "type": "",
+ "type": "string",
"value": "",
"display": "RCON Password",
"desc": "Password to use on RCON. CHANGE THIS",
@@ -27,20 +28,22 @@
},
"RConPort": {
"type": "integer",
- "value": "28016",
+ "value": 28016,
"display": "RCON Port",
"desc": "Port to use for RCON",
- "required": true
+ "required": true,
+ "userEdit": false
},
"ServerIdentity": {
- "type": "",
+ "type": "string",
"value": "server1",
"display": "Server identity",
"desc": "Server identity to use, leave as default unless you know what you're doing",
- "required": true
+ "required": true,
+ "userEdit": false
},
"ServerImage": {
- "type": "",
+ "type": "string",
"value": "http://",
"display": "Server Header Image",
"desc": "URL For the server image banner",
@@ -48,7 +51,7 @@
"userEdit": true
},
"ServerLevel": {
- "type": "",
+ "type": "string",
"value": "Procedural Map",
"display": "Server Level",
"desc": "What map name do you want? If unsure, leave as default.",
@@ -56,7 +59,7 @@
"userEdit": true
},
"ServerName": {
- "type": "",
+ "type": "string",
"value": "RUST Public Server",
"display": "Server Name",
"desc": "Name of the server to use",
@@ -64,7 +67,7 @@
"userEdit": true
},
"ServerSeed": {
- "type": "",
+ "type": "string",
"value": "1234",
"display": "Server Seed",
"desc": "Server seed to use. Default should be fine.",
@@ -72,7 +75,7 @@
"userEdit": true
},
"URL": {
- "type": "",
+ "type": "string",
"value": "http://",
"display": "Server Website",
"desc": "URL for the website dedicated to this server.",
@@ -81,25 +84,27 @@
},
"WorldSize": {
"type": "integer",
- "value": "3000",
+ "value": 3000,
"display": "World Size",
"desc": "World size (number)",
"required": true,
"userEdit": true
},
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"port": {
"type": "integer",
- "value": "27015",
+ "value": 27015,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
}
},
"install": [
@@ -127,7 +132,9 @@
"port": "${RConPort}",
"password": "${RConPassword}"
},
- "stdout": {}
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -145,4 +152,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/sa-mp/sa-mp.json b/sa-mp/sa-mp.json
index 391ea5c5..854236d2 100644
--- a/sa-mp/sa-mp.json
+++ b/sa-mp/sa-mp.json
@@ -7,6 +7,7 @@
"value": "English",
"display": "language",
"desc": "language",
+ "required": false,
"userEdit": true
},
"announce": {
@@ -14,6 +15,7 @@
"value": "0",
"display": "announce",
"desc": "announce",
+ "required": false,
"userEdit": true
},
"chatlogging": {
@@ -21,6 +23,7 @@
"value": "0",
"display": "chatlogging",
"desc": "chatogging",
+ "required": false,
"userEdit": true
},
"filterscripts": {
@@ -28,6 +31,7 @@
"value": "base gl_actions gl_property gl_realtime",
"display": "filterscripts",
"desc": "filterscripts",
+ "required": false,
"userEdit": true
},
"gamemode0": {
@@ -35,6 +39,7 @@
"value": "grandlarc 1",
"display": "gamemode0",
"desc": "gamemode0",
+ "required": false,
"userEdit": true
},
"hostname": {
@@ -42,6 +47,7 @@
"value": "SA-MP 0.3 Server",
"display": "hostname",
"desc": "hostname",
+ "required": false,
"userEdit": true
},
"incar_rate": {
@@ -49,13 +55,15 @@
"value": "40",
"display": "incar_rate",
"desc": "incar_rate",
+ "required": false,
"userEdit": true
},
"lanmode": {
"type": "integer",
- "value": "0",
+ "value": 0,
"display": "lanmode",
"desc": "lanmode",
+ "required": false,
"userEdit": true
},
"maxnpc": {
@@ -63,6 +71,7 @@
"value": "0",
"display": "maxnpc",
"desc": "maxpnc",
+ "required": false,
"userEdit": true
},
"maxplayers": {
@@ -70,6 +79,7 @@
"value": "50",
"display": "maxplayers",
"desc": "maxplayers",
+ "required": false,
"userEdit": true
},
"onfoot_rate": {
@@ -77,6 +87,7 @@
"value": "40",
"display": "onfoot_rate",
"desc": "onfoot_rate",
+ "required": false,
"userEdit": true
},
"plugins": {
@@ -84,6 +95,7 @@
"value": "",
"display": "plugins",
"desc": "plugins",
+ "required": false,
"userEdit": true
},
"port": {
@@ -91,6 +103,7 @@
"value": "7777",
"display": "port",
"desc": "port",
+ "required": false,
"userEdit": true
},
"query": {
@@ -98,6 +111,7 @@
"value": "1",
"display": "query",
"desc": "query",
+ "required": false,
"userEdit": true
},
"rcon_password": {
@@ -105,6 +119,7 @@
"value": "changeme",
"display": "rcon_password",
"desc": "rcon_password",
+ "required": false,
"userEdit": true
},
"stream_distance": {
@@ -112,6 +127,7 @@
"value": "300.0",
"display": "stream_distance",
"desc": "stream_distance",
+ "required": false,
"userEdit": true
},
"stream_rate": {
@@ -119,6 +135,7 @@
"value": "100.0",
"display": "stream_rate",
"desc": "stream_rate",
+ "required": false,
"userEdit": true
},
"weapon_rate": {
@@ -126,6 +143,7 @@
"value": "40",
"display": "weapon_rate",
"desc": "weapon_rate",
+ "required": false,
"userEdit": true
},
"weburl": {
@@ -133,6 +151,7 @@
"value": "www.sa-mp.com",
"display": "weburl",
"desc": "weburl",
+ "required": false,
"userEdit": true
}
},
@@ -159,8 +178,12 @@
"run": {
"command": "./samp03svr",
"stopCode": 2,
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -169,4 +192,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/satisfactory/satisfactory.json b/satisfactory/satisfactory.json
index bcbddd94..1cfd0991 100644
--- a/satisfactory/satisfactory.json
+++ b/satisfactory/satisfactory.json
@@ -6,13 +6,17 @@
"type": "string",
"value": "0.0.0.0",
"display": "Multihome",
- "desc": "Ip address to bind the server to"
+ "desc": "Ip address to bind the server to",
+ "required": false,
+ "userEdit": false
},
"port": {
"type": "integer",
- "value": "15777",
+ "value": 15777,
"display": "ServerQueryPort",
- "desc": "Port to bind the server to"
+ "desc": "Port to bind the server to",
+ "required": false,
+ "userEdit": false
}
},
"install": [
@@ -42,8 +46,12 @@
"environmentVars": {
"LD_LIBRARY_PATH": "./linux64"
},
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -61,4 +69,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/spec.json b/spec.json
index c3fa2901..9dcf2d37 100644
--- a/spec.json
+++ b/spec.json
@@ -6,6 +6,12 @@
"type": "object",
"additionalProperties": false,
"properties": {
+ "id": {
+ "type": "string"
+ },
+ "icon": {
+ "type": "string"
+ },
"type": {
"type": "string"
},
@@ -120,6 +126,15 @@
"type": "string"
}
}
+ },
+ "autostart": {
+ "type": "boolean"
+ },
+ "autorecover": {
+ "type": "boolean"
+ },
+ "autorestart": {
+ "type": "boolean"
}
},
"required": [
@@ -204,6 +219,9 @@
"type": "boolean",
"description": "Whether a user can edit this value"
},
+ "internal": {
+ "type": "boolean"
+ },
"options": {
"type": "array",
"items": {
diff --git a/squad/squad.json b/squad/squad.json
index e981f0ee..3a0820a7 100644
--- a/squad/squad.json
+++ b/squad/squad.json
@@ -4,24 +4,27 @@
"data": {
"fixed_max_players": {
"type": "integer",
- "value": "80",
+ "value": 80,
"display": "Fixed Max Players",
"desc": "Player count cannot go higher than this",
- "required": true
+ "required": true,
+ "userEdit": false
},
"port": {
"type": "integer",
- "value": "7787",
+ "value": 7787,
"display": "Port",
"desc": "Game server port",
- "required": true
+ "required": true,
+ "userEdit": false
},
"query_port": {
"type": "integer",
- "value": "27165",
+ "value": 27165,
"display": "Steam Query Port",
"desc": "Steam query port",
- "required": true
+ "required": true,
+ "userEdit": false
},
"random": {
"type": "option",
@@ -29,6 +32,7 @@
"display": "Random",
"desc": "Randomize map rotation",
"required": true,
+ "userEdit": false,
"options": [
{
"value": "NONE",
@@ -82,8 +86,12 @@
]
}
],
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -101,4 +109,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/starbound/starbound.json b/starbound/starbound.json
index 4461cf03..cb6f0de2 100644
--- a/starbound/starbound.json
+++ b/starbound/starbound.json
@@ -4,21 +4,22 @@
"data": {
"gameServerPort": {
"type": "integer",
- "value": "21025",
+ "value": 21025,
"display": "Server Port",
"desc": "Server Port",
- "required": true
+ "required": true,
+ "userEdit": false
},
"maxPlayers": {
"type": "integer",
- "value": "8",
+ "value": 8,
"display": "Maximum Players",
"desc": "Maximum Players",
"required": true,
"userEdit": true
},
"serverName": {
- "type": "",
+ "type": "string",
"value": "A Starbound Server",
"display": "Server Name",
"desc": "Server Name",
@@ -26,7 +27,7 @@
"userEdit": true
},
"steamUser": {
- "type": "",
+ "type": "string",
"value": "",
"display": "Steam Username",
"desc": "Steam Username (required for install)",
@@ -42,8 +43,8 @@
{
"if": "env == 'host'",
"type": "steamgamedl",
- "appId": "533830",
- "username": "${steamUser}"
+ "username": "${steamUser}",
+ "appId": "533830"
},
{
"if": "env == 'docker'",
@@ -54,8 +55,8 @@
},
{
"type": "writefile",
- "target": "sbinit.config",
- "text": "{\n\t\"assetDirectories\" : [\n\t\t\"assets/\",\n\t\t\"mods/\"\n\t],\n\t\"storageDirectory\" : \"storage/\"\n}\n"
+ "text": "{\n\t\"assetDirectories\" : [\n\t\t\"assets/\",\n\t\t\"mods/\"\n\t],\n\t\"storageDirectory\" : \"storage/\"\n}\n",
+ "target": "sbinit.config"
},
{
"type": "writefile",
@@ -72,8 +73,12 @@
"run": {
"command": "./starbound_server",
"stopCode": 2,
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -91,4 +96,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/stn/stn.json b/stn/stn.json
index 9422aea2..69f48d04 100644
--- a/stn/stn.json
+++ b/stn/stn.json
@@ -7,6 +7,7 @@
"value": "Welcome!",
"display": "Server First Join Message",
"desc": "The message displayed when someone joins the server for the first time",
+ "required": false,
"userEdit": true
},
"password": {
@@ -14,20 +15,23 @@
"value": "",
"display": "Server Password",
"desc": "Password for the server",
+ "required": false,
"userEdit": true
},
"port": {
"type": "integer",
- "value": "9750",
+ "value": 9750,
"display": "Server Port",
"desc": "Port on which the server runs",
- "required": true
+ "required": true,
+ "userEdit": false
},
"returnjoinmessage": {
"type": "string",
"value": "Welcome Back",
"display": "Returning Join Message",
"desc": "The message displayed when a returning player joins the server",
+ "required": false,
"userEdit": true
},
"servername": {
@@ -72,8 +76,8 @@
},
{
"type": "writefile",
- "text": "The ServerUsers.txt file stores all the players that have ever been on a server. Altering this file directly should not generally be required. \n\nThe main reason to edit this file would be to increase a players user group. The number directly after the long Steam ID. When in game players can promote other player to any rank that is lower than their own. To set a rank in-game. \n\n/setrank userName indexOfRank\nOr\n/setrank userName rankName\n\n\nExample user: 76561198004636696,3,false,false,Jayty",
- "target": "Config/ServerUsers_README.txt"
+ "target": "Config/ServerUsers_README.txt",
+ "text": "The ServerUsers.txt file stores all the players that have ever been on a server. Altering this file directly should not generally be required. \n\nThe main reason to edit this file would be to increase a players user group. The number directly after the long Steam ID. When in game players can promote other player to any rank that is lower than their own. To set a rank in-game. \n\n/setrank userName indexOfRank\nOr\n/setrank userName rankName\n\n\nExample user: 76561198004636696,3,false,false,Jayty"
},
{
"type": "writefile",
@@ -87,20 +91,24 @@
},
{
"type": "writefile",
- "target": "Config/UserPermissions.json",
- "text": "{\n \n\t\"SystemRanks\":[\n {\n\t \"Index_DontChange\":-2,\n \"Name_DontChange\":\"Console\",\n \"ChatPrefix\":\"[Console]\",\n \"PrefixColour\":\"white\"\n },\n\t{\n\t \"Index_DontChange\":-1,\n \"Name_DontChange\":\"Whisper\",\n \"ChatPrefix\":\"[Whisper]\",\n \"PrefixColour\":\"darkgrey\"\n }\n\t],\n\t\"UserRanks\":[\n {\n \"Index\":0,\n \"Rank\":\"User\",\n \"ChatPrefix\":\"[User]\",\n \"PrefixColour\":\"white\",\n \"Permissions\":[\"Tell\", \"Reply\", \"ServerInfo\"]\n },\n {\n \"Index\":1,\n \"Rank\":\"Mod\",\n \"ChatPrefix\":\"[Mod]\",\n \"PrefixColour\":\"yellow\",\n \"Permissions\":[\"Tell\", \"Reply\", \"Mute\", \"UnMute\", \"Kick\", \"GodSelf\", \"SuperSprint\", \"cmdGroup.TP\", \"DropAllSelf\", \"DropAllOthers\", \"Up\" ,\"ServerInfo\"]\n },\n {\n \"Index\":2,\n \"Rank\":\"Admin\",\n \"ChatPrefix\":\"[Admin]\",\n \"PrefixColour\":\"darkred\",\n \"Permissions\":[\"*\"]\n },\n {\n \"Index\":3,\n \"Rank\":\"Owner\",\n \"ChatPrefix\":\"[Owner]\",\n \"PrefixColour\":\"purple\",\n \"Permissions\":[\"Tell\", \"Reply\", \"Mute\", \"UnMute\", \"Kick\", \"SetTime\", \"Ban\", \"UnBan\", \"ServerInfo\"]\n } \n ], \n \"CommandGroups\":[\n {\n \"GroupName\":\"TP\",\n \"Permissions\":[\"TpToLocation\",\"TpToLocation\", \"TpToPlayer\", \"TpPlayerToMe\", \"TpPlayerToPlayer\"]\n },\n {\n \"GroupName\":\"Weather\",\n \"Permissions\":[\"SetTime\", \"SetMonth\", \"SetWeather\", \"WeatherOnOff\"]\n },\n {\n \"GroupName\":\"ExampleGroupNinjaMod\",\n \"Permissions\":[\"Kick\", \"Mute\", \"GodSelf\"]\n }\n ]\n}"
+ "text": "{\n \n\t\"SystemRanks\":[\n {\n\t \"Index_DontChange\":-2,\n \"Name_DontChange\":\"Console\",\n \"ChatPrefix\":\"[Console]\",\n \"PrefixColour\":\"white\"\n },\n\t{\n\t \"Index_DontChange\":-1,\n \"Name_DontChange\":\"Whisper\",\n \"ChatPrefix\":\"[Whisper]\",\n \"PrefixColour\":\"darkgrey\"\n }\n\t],\n\t\"UserRanks\":[\n {\n \"Index\":0,\n \"Rank\":\"User\",\n \"ChatPrefix\":\"[User]\",\n \"PrefixColour\":\"white\",\n \"Permissions\":[\"Tell\", \"Reply\", \"ServerInfo\"]\n },\n {\n \"Index\":1,\n \"Rank\":\"Mod\",\n \"ChatPrefix\":\"[Mod]\",\n \"PrefixColour\":\"yellow\",\n \"Permissions\":[\"Tell\", \"Reply\", \"Mute\", \"UnMute\", \"Kick\", \"GodSelf\", \"SuperSprint\", \"cmdGroup.TP\", \"DropAllSelf\", \"DropAllOthers\", \"Up\" ,\"ServerInfo\"]\n },\n {\n \"Index\":2,\n \"Rank\":\"Admin\",\n \"ChatPrefix\":\"[Admin]\",\n \"PrefixColour\":\"darkred\",\n \"Permissions\":[\"*\"]\n },\n {\n \"Index\":3,\n \"Rank\":\"Owner\",\n \"ChatPrefix\":\"[Owner]\",\n \"PrefixColour\":\"purple\",\n \"Permissions\":[\"Tell\", \"Reply\", \"Mute\", \"UnMute\", \"Kick\", \"SetTime\", \"Ban\", \"UnBan\", \"ServerInfo\"]\n } \n ], \n \"CommandGroups\":[\n {\n \"GroupName\":\"TP\",\n \"Permissions\":[\"TpToLocation\",\"TpToLocation\", \"TpToPlayer\", \"TpPlayerToMe\", \"TpPlayerToPlayer\"]\n },\n {\n \"GroupName\":\"Weather\",\n \"Permissions\":[\"SetTime\", \"SetMonth\", \"SetWeather\", \"WeatherOnOff\"]\n },\n {\n \"GroupName\":\"ExampleGroupNinjaMod\",\n \"Permissions\":[\"Kick\", \"Mute\", \"GodSelf\"]\n }\n ]\n}",
+ "target": "Config/UserPermissions.json"
},
{
"type": "writefile",
- "target": "Config/UserPermissions_README.txt",
- "text": "The UserPermissions.json file contains the base set of user groups and permissions. The UserPermissions.json can be changed while the server is offline in order to setup ranks and their perms. \n\nBy default base user groups such as 'User' (All general users) right through to 'Owner' status is setup. Any user group that has the permission '*' has access to ALL in game commands and this should be used sparingly.\n\nEditing: The most important thing when editing is to ensure that the json architecture is maintained. Otherwise the server will fail to read the file and not run.\n\nList of all perms. Note that some may not work as expect or work at all.\n\n BasicUser, \n DropAllSelf,\n DropAllOthers,\n DeleteAllSelf,\n DeleteAllOthers,\n SpawnAI,\n KillAI,\n SetTime,\n SetMonth,\n SetWeather,\n WeatherOnOff,\n TpToLocation,\n TpToPlayer,\n TpPlayerToMe,\n TpPlayerToPlayer,\n TpPresets,\n GodSelf,\n SuperSprint,\n ServerInfo,\n Give,\n Mute,\n Kick,\n Ban,\n UnBan,\n SetStatsSelf,\n SetStatsOthers,\n KillPlayer,\n SetRank,\n CleanUp,\n Up,\n AlwaysSafeLogOff,\n StuckOthers,\n ChatOff,\n Video,\n Restart"
+ "text": "The UserPermissions.json file contains the base set of user groups and permissions. The UserPermissions.json can be changed while the server is offline in order to setup ranks and their perms. \n\nBy default base user groups such as 'User' (All general users) right through to 'Owner' status is setup. Any user group that has the permission '*' has access to ALL in game commands and this should be used sparingly.\n\nEditing: The most important thing when editing is to ensure that the json architecture is maintained. Otherwise the server will fail to read the file and not run.\n\nList of all perms. Note that some may not work as expect or work at all.\n\n BasicUser, \n DropAllSelf,\n DropAllOthers,\n DeleteAllSelf,\n DeleteAllOthers,\n SpawnAI,\n KillAI,\n SetTime,\n SetMonth,\n SetWeather,\n WeatherOnOff,\n TpToLocation,\n TpToPlayer,\n TpPlayerToMe,\n TpPlayerToPlayer,\n TpPresets,\n GodSelf,\n SuperSprint,\n ServerInfo,\n Give,\n Mute,\n Kick,\n Ban,\n UnBan,\n SetStatsSelf,\n SetStatsOthers,\n KillPlayer,\n SetRank,\n CleanUp,\n Up,\n AlwaysSafeLogOff,\n StuckOthers,\n ChatOff,\n Video,\n Restart",
+ "target": "Config/UserPermissions_README.txt"
}
],
"run": {
"command": "./Server_Linux_x64",
"stopCode": 2,
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -115,4 +123,4 @@
}
],
"requirements": {}
-}
\ No newline at end of file
+}
diff --git a/teamspeak3/teamspeak3.json b/teamspeak3/teamspeak3.json
index df301a1e..57c65e6f 100644
--- a/teamspeak3/teamspeak3.json
+++ b/teamspeak3/teamspeak3.json
@@ -8,6 +8,7 @@
"display": "EULA",
"desc": "Do you accept the Teamspeak EULA? 1 = Yes, 0 = No.",
"required": true,
+ "userEdit": false,
"options": [
{
"value": "0",
@@ -21,31 +22,38 @@
},
"ftport": {
"type": "integer",
- "value": "30033",
+ "value": 30033,
"display": "Port Number",
- "desc": "What Port do you want your file transfer server to run on?"
+ "desc": "What Port do you want your file transfer server to run on?",
+ "required": false,
+ "userEdit": false
},
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP Address",
- "desc": "What IP do you want your voice server to run on?"
+ "desc": "What IP do you want your voice server to run on?",
+ "required": false,
+ "userEdit": false
},
"license": {
- "type": "",
+ "type": "string",
"value": "",
"display": "License Path",
"desc": "The absolute path to your license file.",
+ "required": false,
"userEdit": true
},
"qport": {
- "type": "",
+ "type": "string",
"value": "10011",
"display": "Port Number",
- "desc": "What Port do you want your query server to run on?"
+ "desc": "What Port do you want your query server to run on?",
+ "required": false,
+ "userEdit": false
},
"version": {
- "type": "",
+ "type": "string",
"value": "3.13.7",
"display": "Version",
"desc": "What version of Teamspeak do you want to use?",
@@ -54,9 +62,11 @@
},
"vport": {
"type": "integer",
- "value": "9987",
+ "value": 9987,
"display": "Port Number",
- "desc": "What Port do you want your voice server to run on?"
+ "desc": "What Port do you want your voice server to run on?",
+ "required": false,
+ "userEdit": false
}
},
"install": [
@@ -75,8 +85,12 @@
"run": {
"command": "./ts3server_minimal_runscript.sh default_voice_port=${vport} query_port=${qport} filetransfer_port=${ftport} voice_ip=${ip} licensepath=${license} license_accepted=${eula}",
"stopCode": 2,
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -88,4 +102,4 @@
"tar"
]
}
-}
\ No newline at end of file
+}
diff --git a/terraria-tmodloader/terraria-tmodloader.json b/terraria-tmodloader/terraria-tmodloader.json
index 9ec4fbe0..4a44d77c 100644
--- a/terraria-tmodloader/terraria-tmodloader.json
+++ b/terraria-tmodloader/terraria-tmodloader.json
@@ -57,6 +57,7 @@
"value": "",
"display": "Announcement Box",
"desc": "Decides if the text announcements the Announcement Box makes when pulsed from wire.",
+ "required": false,
"userEdit": true,
"options": [
{
@@ -74,7 +75,8 @@
"value": "0.0.0.0",
"display": "IP",
"desc": "Sets the IP address for the server to listen on - 0.0.0.0 means every possible IP",
- "required": true
+ "required": true,
+ "userEdit": false
},
"lang": {
"type": "string",
@@ -159,7 +161,8 @@
"value": "7777",
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"secure": {
"type": "string",
@@ -208,6 +211,7 @@
"value": "-steam",
"display": "Steam",
"desc": "Enables Steam Support",
+ "required": false,
"userEdit": true,
"options": [
{
@@ -224,7 +228,9 @@
"type": "string",
"value": "",
"display": "tModLoader Version (Set this to the latest tModLoader version to enable support - see https://github.com/tModLoader/tModLoader/releases/latest)",
- "desc": "tModLoader Version"
+ "desc": "tModLoader Version",
+ "required": false,
+ "userEdit": false
},
"world": {
"type": "string",
@@ -284,12 +290,16 @@
"pre": [
{
"type": "writefile",
- "target": "serverconfig.txt",
- "text": "world=../${wp}/${world}.wld\nautocreate=${size}\nseed=${seed}\nworldname=${world}\ndifficulty=${difficulty}\nmaxplayers=${players}\nport=${port}\npassword=${password}\nmotd=${motd}\nworldpath=../${wp}\nbanlist=../${ban}\nsecure=${secure}\nlanguage=${lang}\nupnp=1\nnpcstream=${npcs}\npriority=3\nslowliquids=${sl}\nworldrollbackstokeep=${backups}"
+ "text": "world=../${wp}/${world}.wld\nautocreate=${size}\nseed=${seed}\nworldname=${world}\ndifficulty=${difficulty}\nmaxplayers=${players}\nport=${port}\npassword=${password}\nmotd=${motd}\nworldpath=../${wp}\nbanlist=../${ban}\nsecure=${secure}\nlanguage=${lang}\nupnp=1\nnpcstream=${npcs}\npriority=3\nslowliquids=${sl}\nworldrollbackstokeep=${backups}",
+ "target": "serverconfig.txt"
}
],
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -301,4 +311,4 @@
"tar"
]
}
-}
\ No newline at end of file
+}
diff --git a/terraria-tshock/terraria-tshock.json b/terraria-tshock/terraria-tshock.json
index 60d258bb..e2929a93 100644
--- a/terraria-tshock/terraria-tshock.json
+++ b/terraria-tshock/terraria-tshock.json
@@ -1,127 +1,138 @@
{
- "name": "terraria-tshock",
- "display": "Terraria - TShock",
- "type": "terraria",
- "data": {
- "ip": {
- "type": "string",
- "desc": "Sets the IP address for the server to listen on - 0.0.0.0 means every possible IP",
- "display": "IP",
- "required": true,
- "value": "0.0.0.0"
- },
- "port": {
- "type": "integer",
- "desc": "What port to bind the server to",
- "display": "Port",
- "required": true,
- "value": "7777"
- },
- "tshockversion": {
- "type": "string",
- "desc": "TShock Version",
- "display": "TShock Version (Set this to the latest server version - see here https://github.com/Pryaxis/TShock/releases/latest)",
- "required": true,
- "value": "5.1.3"
- },
- "version": {
- "type": "string",
- "desc": "Server Version (Set this to the latest server version)",
- "display": "Server Version",
- "required": true,
- "value": "1.4.4.9"
- },
- "dotnetversion": {
- "type": "string",
- "desc": ".NET Runtime Version",
- "display": ".NET Runtime Version",
- "required": true,
- "value": "6.0.10"
- },
- "wpath": {
- "type": "string",
- "desc": "Name of the worlds folder",
- "display": "Worlds Path",
- "required": true,
- "value": "worlds"
- },
- "secure": {
- "desc": "Enable cheat protection ?",
- "display": "secure",
- "required": true,
- "value": "",
- "type": "option",
- "options": [
- {
- "value": "-secure",
- "display": "Yes"
- },
- {
- "value": "",
- "display": "No"
- }
- ]
- },
- "arch": {
- "value": "x64",
- "required": true,
- "desc": "Architecture your machine",
- "display": "Architecture",
- "internal": false,
- "type": "option",
- "options": [
- {
- "value": "arm",
- "display": "arm"
- },
- {
- "value": "arm64",
- "display": "arm64"
- },
- {
- "value": "x64",
- "display": "amd64"
- }
- ]
- }
+ "type": "terraria",
+ "display": "Terraria - TShock",
+ "data": {
+ "arch": {
+ "type": "option",
+ "value": "x64",
+ "display": "Architecture",
+ "desc": "Architecture your machine",
+ "required": true,
+ "userEdit": false,
+ "options": [
+ {
+ "value": "arm",
+ "display": "arm"
+ },
+ {
+ "value": "arm64",
+ "display": "arm64"
+ },
+ {
+ "value": "x64",
+ "display": "amd64"
+ }
+ ]
+ },
+ "dotnetversion": {
+ "type": "string",
+ "value": "6.0.10",
+ "display": ".NET Runtime Version",
+ "desc": ".NET Runtime Version",
+ "required": true,
+ "userEdit": false
},
- "install": [
- {
- "type": "download",
- "files": [
- "https://github.com/Pryaxis/TShock/releases/download/v${tshockversion}/TShock-${tshockversion}-for-Terraria-${version}-linux-${arch}-Release.zip",
- "https://dotnetcli.azureedge.net/dotnet/Runtime/${dotnetversion}/dotnet-runtime-${dotnetversion}-linux-${arch}.tar.gz"
- ]
- },
- {
- "type": "command",
- "commands": [
- "unzip TShock-${tshockversion}-for-Terraria-${version}-linux-${arch}-Release.zip",
- "tar xf TShock-Beta-linux-${arch}-Release.tar",
- "mkdir ${wpath}",
- "mkdir dotnet",
- "tar xzf dotnet-runtime-${dotnetversion}-linux-${arch}.tar.gz -C dotnet",
- "rm -rf TShock-${tshockversion}-for-Terraria-${version}-linux-${arch}-Release.zip",
- "rm -rf TShock-Beta-linux-${arch}-Release.tar",
- "rm -rf dotnet-runtime-linux-${arch}.tar.gz"
- ]
- }
- ],
- "run": {
- "command": "./TShock.Server -ip ${ip} -port ${port} -worldselectpath ${wpath} ${secure}",
- "stop": "exit",
- "environmentVars": {
- "DOTNET_ROOT": "${rootDir}/dotnet"
- }
+ "ip": {
+ "type": "string",
+ "value": "0.0.0.0",
+ "display": "IP",
+ "desc": "Sets the IP address for the server to listen on - 0.0.0.0 means every possible IP",
+ "required": true,
+ "userEdit": false
},
-
- "environment": {
- "type": "tty"
+ "port": {
+ "type": "integer",
+ "value": 7777,
+ "display": "Port",
+ "desc": "What port to bind the server to",
+ "required": true,
+ "userEdit": false
},
- "requirements": {
- "os": "linux",
- "binaries": [
- "unzip"
+ "secure": {
+ "type": "option",
+ "value": "",
+ "display": "secure",
+ "desc": "Enable cheat protection ?",
+ "required": true,
+ "userEdit": false,
+ "options": [
+ {
+ "value": "-secure",
+ "display": "Yes"
+ },
+ {
+ "value": "",
+ "display": "No"
+ }
]
+ },
+ "tshockversion": {
+ "type": "string",
+ "value": "5.1.3",
+ "display": "TShock Version (Set this to the latest server version - see here https://github.com/Pryaxis/TShock/releases/latest)",
+ "desc": "TShock Version",
+ "required": true,
+ "userEdit": false
+ },
+ "version": {
+ "type": "string",
+ "value": "1.4.4.9",
+ "display": "Server Version",
+ "desc": "Server Version (Set this to the latest server version)",
+ "required": true,
+ "userEdit": false
+ },
+ "wpath": {
+ "type": "string",
+ "value": "worlds",
+ "display": "Worlds Path",
+ "desc": "Name of the worlds folder",
+ "required": true,
+ "userEdit": false
}
- }
\ No newline at end of file
+ },
+ "install": [
+ {
+ "type": "download",
+ "files": [
+ "https://github.com/Pryaxis/TShock/releases/download/v${tshockversion}/TShock-${tshockversion}-for-Terraria-${version}-linux-${arch}-Release.zip",
+ "https://dotnetcli.azureedge.net/dotnet/Runtime/${dotnetversion}/dotnet-runtime-${dotnetversion}-linux-${arch}.tar.gz"
+ ]
+ },
+ {
+ "type": "command",
+ "commands": [
+ "unzip TShock-${tshockversion}-for-Terraria-${version}-linux-${arch}-Release.zip",
+ "tar xf TShock-Beta-linux-${arch}-Release.tar",
+ "mkdir ${wpath}",
+ "mkdir dotnet",
+ "tar xzf dotnet-runtime-${dotnetversion}-linux-${arch}.tar.gz -C dotnet",
+ "rm -rf TShock-${tshockversion}-for-Terraria-${version}-linux-${arch}-Release.zip",
+ "rm -rf TShock-Beta-linux-${arch}-Release.tar",
+ "rm -rf dotnet-runtime-linux-${arch}.tar.gz"
+ ]
+ }
+ ],
+ "run": {
+ "command": "./TShock.Server -ip ${ip} -port ${port} -worldselectpath ${wpath} ${secure}",
+ "stop": "exit",
+ "environmentVars": {
+ "DOTNET_ROOT": "${rootDir}/dotnet"
+ },
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
+ },
+ "environment": {
+ "type": "tty"
+ },
+ "requirements": {
+ "os": "linux",
+ "binaries": [
+ "unzip"
+ ]
+ }
+}
diff --git a/terraria-vanilla/terraria-vanilla.json b/terraria-vanilla/terraria-vanilla.json
index 60a6abdc..dc4b0dbf 100644
--- a/terraria-vanilla/terraria-vanilla.json
+++ b/terraria-vanilla/terraria-vanilla.json
@@ -57,6 +57,7 @@
"value": "",
"display": "Announcement Box",
"desc": "Decides if the text announcements the Announcement Box makes when pulsed from wire.",
+ "required": false,
"userEdit": true,
"options": [
{
@@ -74,7 +75,8 @@
"value": "0.0.0.0",
"display": "IP",
"desc": "Sets the IP address for the server to listen on - 0.0.0.0 means every possible IP",
- "required": true
+ "required": true,
+ "userEdit": false
},
"lang": {
"type": "string",
@@ -159,7 +161,8 @@
"value": "7777",
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"secure": {
"type": "string",
@@ -208,6 +211,7 @@
"value": "-steam",
"display": "Steam",
"desc": "Enables Steam Support",
+ "required": false,
"userEdit": true,
"options": [
{
@@ -223,7 +227,7 @@
"version": {
"type": "string",
"value": "1449",
- "display": "Server Version (Set this to the latest server version) - It is the current terraria Version without the Points (Client Version: 1.4.3.2 -\u003e Server Version: 1432)",
+ "display": "Server Version (Set this to the latest server version) - It is the current terraria Version without the Points (Client Version: 1.4.3.2 -> Server Version: 1432)",
"desc": "Server Version",
"required": true,
"userEdit": true
@@ -273,12 +277,16 @@
"pre": [
{
"type": "writefile",
- "text": "world=../${wp}/${world}.wld\nautocreate=${size}\nseed=${seed}\nworldname=${world}\ndifficulty=${difficulty}\nmaxplayers=${players}\nport=${port}\npassword=${password}\nmotd=${motd}\nworldpath=../${wp}\nbanlist=../${ban}\nsecure=${secure}\nlanguage=${lang}\nupnp=1\nnpcstream=${npcs}\npriority=3\nslowliquids=${sl}\nworldrollbackstokeep=${backups}",
- "target": "serverconfig.txt"
+ "target": "serverconfig.txt",
+ "text": "world=../${wp}/${world}.wld\nautocreate=${size}\nseed=${seed}\nworldname=${world}\ndifficulty=${difficulty}\nmaxplayers=${players}\nport=${port}\npassword=${password}\nmotd=${motd}\nworldpath=../${wp}\nbanlist=../${ban}\nsecure=${secure}\nlanguage=${lang}\nupnp=1\nnpcstream=${npcs}\npriority=3\nslowliquids=${sl}\nworldrollbackstokeep=${backups}"
}
],
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -290,4 +298,4 @@
"unzip"
]
}
-}
\ No newline at end of file
+}
diff --git a/tf2/tf2.json b/tf2/tf2.json
index 3e255253..114e9fa6 100644
--- a/tf2/tf2.json
+++ b/tf2/tf2.json
@@ -3,14 +3,15 @@
"display": "Team Fortress 2",
"data": {
"ip": {
- "type": "",
+ "type": "string",
"value": "0.0.0.0",
"display": "IP",
"desc": "What IP to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
},
"mapname": {
- "type": "",
+ "type": "string",
"value": "ctf_2fort",
"display": "Team Fortess 2 Map to load",
"desc": "TF2 Map",
@@ -19,10 +20,11 @@
},
"port": {
"type": "integer",
- "value": "27015",
+ "value": 27015,
"display": "Port",
"desc": "What port to bind the server to",
- "required": true
+ "required": true,
+ "userEdit": false
}
},
"install": [
@@ -48,8 +50,12 @@
"run": {
"command": "./srcds_run +ip ${ip} +port ${port} -game tf -console +map ${mapname} -norestart",
"stop": "exit",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -67,4 +73,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/unturned/unturned.json b/unturned/unturned.json
index 69e5b355..18b96a9a 100644
--- a/unturned/unturned.json
+++ b/unturned/unturned.json
@@ -7,6 +7,7 @@
"value": "PEI",
"display": "Map",
"desc": "Server map.",
+ "required": false,
"userEdit": true,
"options": [
{
@@ -33,9 +34,11 @@
},
"maxplayers": {
"type": "integer",
- "value": "24",
+ "value": 24,
"display": "Server slots",
- "desc": "Slots"
+ "desc": "Slots",
+ "required": false,
+ "userEdit": false
},
"mode": {
"type": "option",
@@ -72,6 +75,7 @@
"value": "",
"display": "Server password",
"desc": "Password users enter to join server",
+ "required": false,
"userEdit": true
},
"perspective": {
@@ -79,6 +83,7 @@
"value": "",
"display": "Perspective",
"desc": "Perspective of the server",
+ "required": false,
"userEdit": true,
"options": [
{
@@ -101,16 +106,18 @@
},
"port": {
"type": "integer",
- "value": "27015",
+ "value": 27015,
"display": "Port",
"desc": "Server port.",
- "required": true
+ "required": true,
+ "userEdit": false
},
"server": {
"type": "string",
"value": "Default",
"display": "Server",
"desc": "Server name under Servers folder",
+ "required": false,
"userEdit": true
},
"steam_id": {
@@ -162,8 +169,12 @@
"run": {
"command": "./ServerHelper.sh",
"stop": "shutdown",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -181,4 +192,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/valheim/valheim.json b/valheim/valheim.json
index 6043bb03..9e01590e 100644
--- a/valheim/valheim.json
+++ b/valheim/valheim.json
@@ -5,7 +5,8 @@
"modpack": {
"type": "string",
"value": "Modpack to run with",
- "desc": "Open https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/ in new tab and right 'manual download' click \u003e copy link. Paste it here if you wish to use this modpack.",
+ "desc": "Open https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/ in new tab and right 'manual download' click > copy link. Paste it here if you wish to use this modpack.",
+ "required": false,
"userEdit": true
},
"name": {
@@ -26,10 +27,11 @@
},
"port": {
"type": "integer",
- "value": "2456",
+ "value": 2456,
"display": "Port",
"desc": "What port to bind the server to.",
- "required": true
+ "required": true,
+ "userEdit": false
},
"world": {
"type": "string",
@@ -71,13 +73,17 @@
}
],
"run": {
- "command": "./valheim_server.x86_64 -name ${name} -port ${port} -world ${world} -password ${password} -public 1 \u003e /dev/null \u0026",
+ "command": "./valheim_server.x86_64 -name ${name} -port ${port} -world ${world} -password ${password} -public 1 > /dev/null &",
"stopCode": 2,
"environmentVars": {
"LD_LIBRARY_PATH": "./linux64:$LD_LIBRARY_PATH"
},
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -86,4 +92,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}
diff --git a/zomboid/zomboid.json b/zomboid/zomboid.json
index 856b652b..e46f64df 100644
--- a/zomboid/zomboid.json
+++ b/zomboid/zomboid.json
@@ -12,7 +12,7 @@
},
"memory": {
"type": "integer",
- "value": "4096",
+ "value": 4096,
"display": "Memory (MB)",
"desc": "Memory to allocate",
"required": true,
@@ -20,7 +20,7 @@
},
"port": {
"type": "integer",
- "value": "16261",
+ "value": 16261,
"display": "port",
"desc": "Base port (UDP) for server. Additional ports (TCP) beyond this will need to be opened. 1 per user.",
"required": true,
@@ -31,11 +31,12 @@
"value": "pufferserver",
"display": "serverName",
"desc": "Name of the PZ server",
+ "required": false,
"userEdit": true
},
"steamVAC": {
"type": "boolean",
- "value": "true",
+ "value": true,
"display": "steamVAC",
"desc": "Enable or disable Steam VAC",
"required": true,
@@ -70,8 +71,12 @@
"run": {
"command": "./start-server.sh -servername ${serverName} -adminpassword ${adminPassword} -steamvac ${steamVAC} -port ${port}",
"stop": "quit",
- "stdin": {},
- "stdout": {}
+ "stdin": {
+ "type": "stdin"
+ },
+ "autostart": false,
+ "autorecover": false,
+ "autorestart": false
},
"environment": {
"type": "host"
@@ -89,4 +94,4 @@
"os": "linux",
"arch": "amd64"
}
-}
\ No newline at end of file
+}