2022-10-05 20:00:10 +08:00
{
"_comment" : "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO" ,
"meta" : {
"version" : "PTDL_v2" ,
"update_url" : null
} ,
2022-10-05 23:33:09 +08:00
"exported_at" : "2022-10-05T16:32:34+01:00" ,
2022-10-05 20:00:10 +08:00
"name" : "Clusterio" ,
"author" : "psychoalex@thevcbc.com" ,
"description" : "a generic node.js egg\r\n\r\nThis will clone a git repo. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing." ,
"features" : null ,
"docker_images" : {
"ghcr.io\/parkervcp\/yolks:nodejs_17" : "ghcr.io\/parkervcp\/yolks:nodejs_17" ,
"ghcr.io\/parkervcp\/yolks:nodejs_16" : "ghcr.io\/parkervcp\/yolks:nodejs_16" ,
"ghcr.io\/parkervcp\/yolks:nodejs_15" : "ghcr.io\/parkervcp\/yolks:nodejs_15" ,
"ghcr.io\/parkervcp\/yolks:nodejs_14" : "ghcr.io\/parkervcp\/yolks:nodejs_14" ,
"ghcr.io\/parkervcp\/yolks:nodejs_12" : "ghcr.io\/parkervcp\/yolks:nodejs_12"
} ,
"file_denylist" : [ ] ,
"startup" : "exec .\/node_modules\/.bin\/clusterio{{SERVER_MODE}} run" ,
"config" : {
2022-10-05 23:33:09 +08:00
"files" : "{\r\n \"config-master.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"groups[0].fields.http_port\": \"{{server.build.default.port}}\",\r\n \"groups[0].fields.name\": \"{{server.build.env.CLUSTER_NAME}}\"\r\n }\r\n },\r\n \"config-slave.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"groups[0].fields.master_url\": \"{{server.build.env.MASTER_URL}}\",\r\n \"groups[0].fields.master_token\": \"{{server.build.env.MASTER_TOKEN}}\",\r\n \"groups[0].fields.public_address\": \"{{server.build.default.ip}}\"\r\n }\r\n }\r\n}" ,
2022-10-05 20:00:10 +08:00
"startup" : "{\r\n \"done\": \"Started\"\r\n}" ,
"logs" : "{}" ,
"stop" : "^c"
} ,
"scripts" : {
"installation" : {
2022-10-05 23:33:09 +08:00
"script" : "#!\/bin\/bash\r\n# Clusterio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\ncase \"${SERVER_MODE}\" in\r\n\r\n \"master\")\r\n echo -e \"Initialising Clustorio In Master mode\"\r\n npm init \"@clusterio\" --allow-install-as-root --mode \"${SERVER_MODE}\" --download-headless --log-level \"${LOG_LEVEL}\" --admin \"${ADMIN_STRING}\" --public-address \"${SERVER_IP}\":\"${SERVER_PORT}\" --plugins ${PLUGINS}\r\n\t;;\r\n\r\n \"slave\")\r\n echo -e \"Initialising Clustorio In Slave mode\"\r\n\tnpm init \"@clusterio\" --allow-install-as-root --mode \"${SERVER_MODE}\" --download-headless --log-level \"${LOG_LEVEL}\" --slave-name \"${SLAVE_NAME}\" --public-address \"${SERVER_IP}\" --master-url \"${MASTER_URL}\" --master-token \"${MASTER_TOKEN}\" --plugins ${PLUGINS}\r\n ;;\r\n \r\nesac\r\n\r\necho -e \"install complete\"\r\nexit 0" ,
2022-10-05 20:00:10 +08:00
"container" : "node:14-buster-slim" ,
"entrypoint" : "bash"
}
} ,
"variables" : [
{
"name" : "Server Mode" ,
2022-10-05 21:48:57 +08:00
"description" : "Set's the cluster operation mode of the server, can be either \"master\" or \"slave\". This is better thought of as Management or Gameserver nodes.\r\n\r\nRequired on:\r\nAll" ,
2022-10-05 20:00:10 +08:00
"env_variable" : "SERVER_MODE" ,
"default_value" : "master" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "required|string|in:master,slave" ,
"field_type" : "text"
} ,
{
"name" : "Log Level" ,
"description" : "Options: \"none\", \"fatal\", \"error\", \"warn\", \"audit\", \"info\", \"verbose\"\r\n\r\nRequired on:\r\nAll" ,
"env_variable" : "LOG_LEVEL" ,
"default_value" : "info" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "required|string|in:none,fatal,error,warn,audit,info,verbose" ,
"field_type" : "text"
} ,
{
"name" : "Server Admin" ,
"description" : "Superadmin account name\r\n\r\nRequired on:\r\nMaster" ,
"env_variable" : "ADMIN_STRING" ,
"default_value" : "" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "required|string|max:64" ,
"field_type" : "text"
} ,
{
"name" : "Slave Name" ,
"description" : "Slave name in the Master Web UI\r\n\r\nRequired on:\r\nSlave" ,
"env_variable" : "SLAVE_NAME" ,
"default_value" : "Your Sub-Server" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "nullable|string|max:20" ,
"field_type" : "text"
} ,
{
"name" : "Master URL" ,
2022-10-05 23:33:09 +08:00
"description" : "Connection URL to the Master server, can be an internal address if you have allocated an additional internal port to the Master Server.\r\nExample: http:\/\/yourip:yourport\r\nRequired on:\r\nSlave" ,
2022-10-05 20:00:10 +08:00
"env_variable" : "MASTER_URL" ,
"default_value" : "" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "nullable|string|max:64" ,
"field_type" : "text"
} ,
{
"name" : "Master Token" ,
"description" : "Authentication token used to connect to the Master server, generated through the Master Web UI.\r\n\r\nRequired on:\r\nSlave" ,
"env_variable" : "MASTER_TOKEN" ,
"default_value" : "" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "nullable|string|max:256" ,
"field_type" : "text"
} ,
{
"name" : "Plugins" ,
"description" : "Clusterio Plugins to install, space separate list.\r\n\r\nExample:\r\n@clusterio\/plugin-subspace_storage @clusterio\/plugin-global_chat @clusterio\/plugin-research_sync @clusterio\/plugin-inventory_sync\r\n\r\nRequired on:\r\nAll" ,
"env_variable" : "PLUGINS" ,
"default_value" : "" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "nullable|string|max:512" ,
"field_type" : "text"
} ,
{
"name" : "Cluster Name" ,
"description" : "The Name of your Master server cluster.\r\n\r\nRequired:\r\nMaster" ,
"env_variable" : "CLUSTER_NAME" ,
"default_value" : "Your Cluster" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "nullable|string|max:20" ,
"field_type" : "text"
}
]
}