Skip to content

Factorio ARM64

The vanilla Factorio server. https://www.factorio.com/

egg-factorio-arm64.json

updated

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.zip

Dotted 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}}

Changes

  1. Add standalone games

    · Daniel Barton · 74c706a

All changes on GitHub

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
#!/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 "-----------------------------------------"