mirror of
https://github.com/parkervcp/eggs.git
synced 2024-11-15 06:27:23 +08:00
cac4388a34
Change latest recommended build fetching to use their changelogs page and default to latest when invalid version is provided.
105 lines
7.7 KiB
JSON
105 lines
7.7 KiB
JSON
{
|
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
|
"meta": {
|
|
"version": "PTDL_v1",
|
|
"update_url": null
|
|
},
|
|
"exported_at": "2022-01-11T10:14:56-05:00",
|
|
"name": "FiveM",
|
|
"author": "parker@parkervcp.com",
|
|
"description": "A new FiveM egg for the latest builds due to recent changes in FiveM",
|
|
"features": null,
|
|
"images": [
|
|
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
|
],
|
|
"file_denylist": [],
|
|
"startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}} $( [ \"$TXADMIN_ENABLE\" == \"1\" ] || printf %s '+exec server.cfg' )",
|
|
"config": {
|
|
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
|
"startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}",
|
|
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
|
"stop": "^C"
|
|
},
|
|
"scripts": {
|
|
"installation": {
|
|
"script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils curl git file jq\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/\r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\nCHANGELOGS_PAGE=$(curl -sSL https:\/\/changelogs-live.fivem.net\/api\/changelog\/versions\/linux\/server)\r\n\r\nif [[ \"${FIVEM_VERSION}\" == \"latest\" ]] || [[ -z ${FIVEM_VERSION} ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo '\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [[ \"${VERSION_LINK}\" == \"\" ]]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"Skipping downloading default server config file as one already exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/fivem\/server.cfg >>server.cfg\r\nfi\r\n\r\nmkdir -p logs\/\r\n\r\necho \"install complete\"",
|
|
"container": "debian:buster-slim",
|
|
"entrypoint": "bash"
|
|
}
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "fivem license",
|
|
"description": "Required to start the service. Get your keys at https:\/\/keymaster.fivem.net\/",
|
|
"env_variable": "FIVEM_LICENSE",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string|max:33"
|
|
},
|
|
{
|
|
"name": "Max Players",
|
|
"description": "Set the fivem max play count",
|
|
"env_variable": "MAX_PLAYERS",
|
|
"default_value": "48",
|
|
"user_viewable": true,
|
|
"user_editable": false,
|
|
"rules": "required|integer|between:1,48"
|
|
},
|
|
{
|
|
"name": "Server Hostname",
|
|
"description": "The name that shows up in the server browser",
|
|
"env_variable": "SERVER_HOSTNAME",
|
|
"default_value": "My new FXServer!",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string"
|
|
},
|
|
{
|
|
"name": "fivem version",
|
|
"description": "The fivem version that is to be installed. Invalid versions will default to latest.\r\n\r\nAn example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can get the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/",
|
|
"env_variable": "FIVEM_VERSION",
|
|
"default_value": "latest",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string|max:50"
|
|
},
|
|
{
|
|
"name": "Download Link",
|
|
"description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz",
|
|
"env_variable": "DOWNLOAD_URL",
|
|
"default_value": "",
|
|
"user_viewable": false,
|
|
"user_editable": false,
|
|
"rules": "string|nullable"
|
|
},
|
|
{
|
|
"name": "Steam Web Api Key",
|
|
"description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/",
|
|
"env_variable": "STEAM_WEBAPIKEY",
|
|
"default_value": "none",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string"
|
|
},
|
|
{
|
|
"name": "txAdmin Port",
|
|
"description": "The port for the txAdmin panel",
|
|
"env_variable": "TXADMIN_PORT",
|
|
"default_value": "40120",
|
|
"user_viewable": true,
|
|
"user_editable": false,
|
|
"rules": "required|string|max:20"
|
|
},
|
|
{
|
|
"name": "Enable txadmin",
|
|
"description": "Enables txadmin.\r\n\r\nset to 1 to enable. (default is 0 for false)",
|
|
"env_variable": "TXADMIN_ENABLE",
|
|
"default_value": "0",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|boolean"
|
|
}
|
|
]
|
|
}
|