Factorio ARM64
The vanilla Factorio server. https://www.factorio.com/
Install
- Installer image
- ghcr.io/ptero-eggs/installers:debian
- Install script
- 57 lines
Image
- Box64 ghcr.io/ptero-eggs/yolks:box64
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
16 variables
Startup command
if [ ! -f "./saves/gamesave.zip" ]; then box64 ./bin/x64/factorio --create ./saves/gamesave.zip --map-gen-settings data/map-gen-settings.json --map-settings data/map-settings.json; fi;
box64 ./bin/x64/factorio --port 25565 --server-settings data/server-settings.json --start-server saves/gamesave.zipDotted values come from the server settings. These values are examples.
Which version of Factorio to install and use.
FACTORIO_VERSIONUsers can edit
required|string|between:3,12
Total number of slots to allow on the server.
MAX_SLOTSUsers can see
required|numeric|digits_between:1,3
The save name for the server.
SAVE_NAMEUsers can edit
alpha_dash|between:1,100
Your factorio.com token, it is required for your server to be visible in the public server list.
SERVER_TOKENUsers can edit
alpha_num|max:100
Name of the game as it will appear in the game listing
SERVER_NAMEUsers can edit
required|string|max:100
Description of the game that will appear in the listing.
SERVER_DESCUsers can edit
required|string|max:200
Username used for the server
SERVER_USERNAMEUsers can edit
required|string|max:40
Time between auto saves specified in minutes
SAVE_INTERVALUsers can edit
required|numeric|digits_between:1,3
The number of auto saves to keep.
SAVE_SLOTSUsers can edit
required|numeric|digits_between:1,3
Time specified in minutes to kick AFK players. 0 is off
AFK_KICKUsers can edit
required|numeric|digits_between:1,3
BOX64_DYNAREC_SAFEFLAGSUsers cannot see
required|numeric|in:0
BOX64_DYNAREC_BIGBLOCKUsers cannot see
required|numeric|in:2
BOX64_DYNAREC_FORWARDUsers cannot see
required|numeric|in:1024
BOX64_DYNAREC_CALLRETUsers cannot see
required|numeric|in:1
BOX64_DYNAREC_FASTROUNDUsers cannot see
required|numeric|in:0
BOX64_DYNAREC_ALIGNED_ATOMICSUsers cannot see
required|numeric|in:1
Wings
- Stop command
- /quit
- Running when the console shows
- Hosting game at
Files Wings edits
Wings sets these values in these files before each start.
data/server-settings.json json
- name
- {{server.build.env.SERVER_NAME}}
- description
- {{server.build.env.SERVER_DESC}}
- max_players
- {{server.build.env.MAX_SLOTS}}
- username
- {{server.build.env.SERVER_USERNAME}}
- token
- {{server.build.env.SERVER_TOKEN}}
- autosave_interval
- {{server.build.env.SAVE_INTERVAL}}
- autosave_slots
- {{server.build.env.SAVE_SLOTS}}
- afk_autokick_interval
- {{server.build.env.AFK_KICK}}
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 57 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/bin/bash
# Factorio Installation Script
#
# Server Files: /mnt/server
apt update
apt install -y curl tar xz-utils jq
VERSION_JSON=$(curl -sSL https://factorio.com/api/latest-releases)
latest_stable=$(echo $VERSION_JSON | jq -r '.stable.headless')
latest_experimental=$(echo $VERSION_JSON | jq -r '.experimental.headless')
if [ -z "${FACTORIO_VERSION}" ] || [ "${FACTORIO_VERSION}" == "latest" ]; then
DL_VERSION=$latest_stable
elif [ "${FACTORIO_VERSION}" == "experimental" ]; then
DL_VERSION=$latest_experimental
else
DL_VERSION=${FACTORIO_VERSION}
fi
mkdir -p /mnt/server
cd /mnt/server
echo -e "\n running 'curl -sL https://www.factorio.com/get-download/${DL_VERSION}/headless/linux64 -o factorio-${DL_VERSION}' \n"
curl -sL https://www.factorio.com/get-download/${DL_VERSION}/headless/linux64 -o factorio-${DL_VERSION}
tar -xf factorio-${DL_VERSION} --strip-components=1 -C /mnt/server
rm factorio-${DL_VERSION}
if [ -e data/map-gen-settings.json ]; then
echo "map-gen exists"
else
echo "copying map-gen default settings"
mv data/map-gen-settings.example.json data/map-gen-settings.json
fi
if [ -e data/server-settings.json ]; then
echo "server settings exists"
else
echo "copying server default settings"
mv data/server-settings.example.json data/server-settings.json
fi
if [ -e map-settings.json ]; then
echo "map settings exists"
else
echo "copying map default settings"
mv data/map-settings.example.json data/map-settings.json
fi
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"