eggs/game_eggs/factorio/clusterio/egg-clusterio.json

117 lines
6.7 KiB
JSON
Raw Normal View History

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
},
"exported_at": "2022-10-05T12:57:53+01: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": {
"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\t\t\t\"groups[0].fields.name\": \"{{server.build.env.CLUSTER_NAME}}\"\r\n }\r\n },\r\n\t\"config-slave.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"groups[0].fields.master_url\": \"{{server.build.env.MASTER_URL}}\",\r\n\t\t\t\"groups[0].fields.master_token\": \"{{server.build.env.MASTER_TOKEN}}\",\r\n\t\t\t\"groups[0].fields.public_address\": \"{{server.build.default.ip}}:{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Started\"\r\n}",
"logs": "{}",
"stop": "^c"
},
"scripts": {
"installation": {
"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}\":\"${SERVER_PORT}\" --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",
"container": "node:14-buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Mode",
"description": "Set's the cluster operation mode of the server, can be either \"master\" or \"slave\".\r\n\r\nRequired on:\r\nAll",
"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",
"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\n\r\nRequired on:\r\nSlave",
"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"
}
]
}