5b6de4df6f
Introduces custom map URL variable. If none is provided, it will default to using normal map size and seed. Otherwise, it will use the custom map and remove map size/seed from the startup as required.
176 lines
No EOL
8.6 KiB
JSON
176 lines
No EOL
8.6 KiB
JSON
{
|
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
|
"meta": {
|
|
"version": "PTDL_v1",
|
|
"update_url": null
|
|
},
|
|
"exported_at": "2021-09-15T17:07:50-04:00",
|
|
"name": "Rust",
|
|
"author": "support@pterodactyl.io",
|
|
"description": "The only aim in Rust is to survive. To do this you will need to overcome struggles such as hunger, thirst and cold. Build a fire. Build a shelter. Kill animals for meat. Protect yourself from other players, and kill them for meat. Create alliances with other players and form a town. Do whatever it takes to survive.",
|
|
"features": null,
|
|
"images": [
|
|
"quay.io\/pterodactyl\/core:rust"
|
|
],
|
|
"file_denylist": [],
|
|
"startup": ".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.logoimage \\\"{{SERVER_LOGO}}\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} +app.port {{APP_PORT}} $( [ -z ${MAP_URL} ] && printf %s \"+server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"{{WORLD_SEED}}\\\"\" || printf %s \"+server.levelurl {{MAP_URL}}\" ) {{ADDITIONAL_ARGS}}",
|
|
"config": {
|
|
"files": "{}",
|
|
"startup": "{\r\n \"done\": \"Server startup complete\"\r\n}",
|
|
"logs": "{}",
|
|
"stop": "quit"
|
|
},
|
|
"scripts": {
|
|
"installation": {
|
|
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\nSRCDS_APPID=258550\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
|
|
"container": "debian:buster-slim",
|
|
"entrypoint": "bash"
|
|
}
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "Server Name",
|
|
"description": "The name of your server in the public server list.",
|
|
"env_variable": "HOSTNAME",
|
|
"default_value": "A Rust Server",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string|max:60"
|
|
},
|
|
{
|
|
"name": "OxideMod",
|
|
"description": "Set whether you want the server to use and auto update OxideMod or not. Valid options are \"1\" for true and \"0\" for false.",
|
|
"env_variable": "OXIDE",
|
|
"default_value": "0",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|boolean"
|
|
},
|
|
{
|
|
"name": "Level",
|
|
"description": "The world file for Rust to use.",
|
|
"env_variable": "LEVEL",
|
|
"default_value": "Procedural Map",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string|max:20"
|
|
},
|
|
{
|
|
"name": "Description",
|
|
"description": "The description under your server title. Commonly used for rules & info. Use \\n for newlines.",
|
|
"env_variable": "DESCRIPTION",
|
|
"default_value": "Powered by Pterodactyl",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string"
|
|
},
|
|
{
|
|
"name": "URL",
|
|
"description": "The URL for your server. This is what comes up when clicking the \"Visit Website\" button.",
|
|
"env_variable": "SERVER_URL",
|
|
"default_value": "http:\/\/pterodactyl.io",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|url"
|
|
},
|
|
{
|
|
"name": "World Size",
|
|
"description": "The world size for a procedural map.",
|
|
"env_variable": "WORLD_SIZE",
|
|
"default_value": "3000",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer"
|
|
},
|
|
{
|
|
"name": "World Seed",
|
|
"description": "The seed for a procedural map.",
|
|
"env_variable": "WORLD_SEED",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string"
|
|
},
|
|
{
|
|
"name": "Max Players",
|
|
"description": "The maximum amount of players allowed in the server at once.",
|
|
"env_variable": "MAX_PLAYERS",
|
|
"default_value": "40",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer"
|
|
},
|
|
{
|
|
"name": "Server Image",
|
|
"description": "The header image for the top of your server listing.",
|
|
"env_variable": "SERVER_IMG",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|url"
|
|
},
|
|
{
|
|
"name": "RCON Port",
|
|
"description": "Port for RCON connections.",
|
|
"env_variable": "RCON_PORT",
|
|
"default_value": "28016",
|
|
"user_viewable": true,
|
|
"user_editable": false,
|
|
"rules": "required|integer"
|
|
},
|
|
{
|
|
"name": "RCON Password",
|
|
"description": "RCON access password.",
|
|
"env_variable": "RCON_PASS",
|
|
"default_value": "CHANGEME",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|regex:\/^[\\w.-]*$\/|max:64"
|
|
},
|
|
{
|
|
"name": "Save Interval",
|
|
"description": "Sets the server\u2019s auto-save interval in seconds.",
|
|
"env_variable": "SAVEINTERVAL",
|
|
"default_value": "60",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer"
|
|
},
|
|
{
|
|
"name": "Additional Arguments",
|
|
"description": "Add additional startup parameters to the server.",
|
|
"env_variable": "ADDITIONAL_ARGS",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string"
|
|
},
|
|
{
|
|
"name": "App Port",
|
|
"description": "Port for the Rust+ App. -1 to disable.",
|
|
"env_variable": "APP_PORT",
|
|
"default_value": "28082",
|
|
"user_viewable": true,
|
|
"user_editable": false,
|
|
"rules": "required|integer"
|
|
},
|
|
{
|
|
"name": "Server Logo",
|
|
"description": "The circular server logo for the Rust+ app.",
|
|
"env_variable": "SERVER_LOGO",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|url"
|
|
},
|
|
{
|
|
"name": "Custom Map URL",
|
|
"description": "Overwrites the map with the one from the direct download URL. Invalid URLs will cause the server to crash.",
|
|
"env_variable": "MAP_URL",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|url"
|
|
}
|
|
]
|
|
} |