{"meta":{"slug":"factorio-modupdate","name":"Factorio Modupdate","category":"factorio","source":"pterodactyl","owner":"pterodactyl","repo":"game-eggs","branch":"main","path":"factorio/factorio-modupdate/egg-factorio-modupdate.json","rawUrl":"https://raw.githubusercontent.com/pterodactyl/game-eggs/main/factorio/factorio-modupdate/egg-factorio-modupdate.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO","meta":{"version":"PTDL_v2","update_url":null},"exported_at":"2024-04-02T11:04:03+02:00","name":"Factorio-ModUpdate","author":"tueye@tuworld.de","description":"The vanilla Factorio server. With automatic Mod Updates after ReInstall.\r\n\r\nhttps://www.factorio.com/","features":null,"docker_images":{"ghcr.io/ptero-eggs/yolks:debian":"ghcr.io/ptero-eggs/yolks:debian"},"file_denylist":[],"startup":"./bin/x64/factorio --port {{SERVER_PORT}} --server-settings data/server-settings.json --start-server {{SAVE_NAME}}.zip","config":{"files":"{\r\n    \"data/server-settings.json\": {\r\n        \"parser\": \"json\",\r\n        \"find\": {\r\n            \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n            \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n            \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n            \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n            \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n            \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n            \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n            \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n        }\r\n    }\r\n}","startup":"{\r\n    \"done\": \"Hosting game at\"\r\n}","logs":"{}","stop":"/quit"},"scripts":{"installation":{"script":"#!/bin/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: /mnt/server\r\napt update \r\napt install -y curl tar xz-utils python3 python3-requests jq\r\n\r\nlatest_ModUpdate=$(curl --silent \"https://api.github.com/repos/pdemonaco/factorio-mod-updater/tags\" | jq -r '.[0].name')\r\n\r\nVERSION_JSON=$(curl -sSL https://factorio.com/api/latest-releases)\r\n\r\nlatest_stable=$(echo $VERSION_JSON | jq -r '.stable.headless')\r\nlatest_experimental=$(echo $VERSION_JSON | jq -r '.experimental.headless')\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n  DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n  DL_VERSION=$latest_experimental\r\nelse\r\n  DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p /mnt/server\r\ncd /mnt/server\r\n\r\necho -e \"\\n running 'curl -sL https://www.factorio.com/get-download/${DL_VERSION}/headless/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https://www.factorio.com/get-download/${DL_VERSION}/headless/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C /mnt/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data/map-gen-settings.json ]; then\r\n    echo \"map-gen exists\"\r\nelse\r\n    echo \"copying map-gen default settings\"\r\n    mv data/map-gen-settings.example.json data/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data/server-settings.json ]; then\r\n    echo \"server settings exists\"\r\nelse\r\n    echo \"copying server default settings\"\r\n    mv data/server-settings.example.json data/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n    echo \"map settings exists\"\r\nelse\r\n    echo \"copying map default settings\"\r\n    mv data/map-settings.example.json data/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n    echo \"save file exists\"\r\nelse\r\n    ./bin/x64/factorio --create ${SAVE_NAME}\r\n    chmod o+w ${SAVE_NAME}.zip\r\nfi\r\n\r\n# Download Mod Updater\r\necho -e \"\\n running 'curl -sL https://github.com/pdemonaco/factorio-mod-updater/archive/${latest_ModUpdate}.tar.gz -o factorio-MU-${latest_ModUpdate}' \\n\"\r\n\r\ncurl -sL https://github.com/pdemonaco/factorio-mod-updater/archive/${latest_ModUpdate}.tar.gz -o factorio-MU-${latest_ModUpdate}\r\n\r\ntar -xf factorio-MU-${latest_ModUpdate} -C /mnt/server\r\n\r\nrm factorio-MU-${latest_ModUpdate}\r\n\r\n# Run Mod Updater\r\n./factorio-mod-updater-${latest_ModUpdate}/mod_updater.py -s /mnt/server/data/server-settings.json -m /mnt/server/mods --fact-path /mnt/server/bin/x64/factorio --update\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"","container":"ghcr.io/ptero-eggs/installers:debian","entrypoint":"bash"}},"variables":[{"name":"Factorio Version","description":"Which version of Factorio to install and use.","env_variable":"FACTORIO_VERSION","default_value":"latest","user_viewable":true,"user_editable":true,"rules":"required|string|between:3,12","field_type":"text"},{"name":"Maximum Slots","description":"Total number of slots to allow on the server.","env_variable":"MAX_SLOTS","default_value":"20","user_viewable":true,"user_editable":false,"rules":"required|numeric|digits_between:1,3","field_type":"text"},{"name":"Save Name","description":"The save name for the server.","env_variable":"SAVE_NAME","default_value":"gamesave","user_viewable":true,"user_editable":true,"rules":"alpha_dash|between:1,100","field_type":"text"},{"name":"Server Token","description":"Your factorio.com token, it is required for your server to be visible in the public server list.","env_variable":"SERVER_TOKEN","default_value":"undefined","user_viewable":true,"user_editable":true,"rules":"alpha_num|max:100","field_type":"text"},{"name":"Server Name","description":"Name of the game as it will appear in the game listing","env_variable":"SERVER_NAME","default_value":"Factorio Server","user_viewable":true,"user_editable":true,"rules":"required|string|max:100","field_type":"text"},{"name":"Server Description","description":"Description of the game that will appear in the listing.","env_variable":"SERVER_DESC","default_value":"Description","user_viewable":true,"user_editable":true,"rules":"required|string|max:200","field_type":"text"},{"name":"Server Username","description":"Username used for the server","env_variable":"SERVER_USERNAME","default_value":"unnamed","user_viewable":true,"user_editable":true,"rules":"required|string|max:40","field_type":"text"},{"name":"Auto Save Interval","description":"Time between auto saves specified in minutes","env_variable":"SAVE_INTERVAL","default_value":"10","user_viewable":true,"user_editable":true,"rules":"required|numeric|digits_between:1,3","field_type":"text"},{"name":"Auto Save Slots","description":"The number of auto saves to keep.","env_variable":"SAVE_SLOTS","default_value":"5","user_viewable":true,"user_editable":true,"rules":"required|numeric|digits_between:1,3","field_type":"text"},{"name":"AFK Kick","description":"Time specified in minutes to kick AFK players.\r\n0 is off","env_variable":"AFK_KICK","default_value":"0","user_viewable":true,"user_editable":true,"rules":"required|numeric|digits_between:1,3","field_type":"text"}]},"readme":null}