Skip to content

Factorio ARM64

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

Report an issue
updated
variables
16
images
1
author
parker@parkervcp.com
sha256
4c32040f642d

Readme

This egg ships without a README.

Startup command

if [ ! -f "./saves/{{SAVE_NAME}}.zip" ]; then box64 ./bin/x64/factorio --create ./saves/{{SAVE_NAME}}.zip --map-gen-settings data/map-gen-settings.json --map-settings data/map-settings.json; fi; box64 ./bin/x64/factorio --port {{SERVER_PORT}} --server-settings data/server-settings.json --start-server saves/{{SAVE_NAME}}.zip

The parts in blue are filled in by the panel when the server starts, from the variables below.

Docker image

  • Box64 ghcr.io/ptero-eggs/yolks:box64

1 contributor

Variables

16 settings

  • Factorio Version

    Which version of Factorio to install and use.

    env
    FACTORIO_VERSION
    default
    latest
    rules
    required|string|between:3,12
    • viewable
    • editable
  • Maximum Slots

    Total number of slots to allow on the server.

    env
    MAX_SLOTS
    default
    20
    rules
    required|numeric|digits_between:1,3
    • viewable
  • Save Name

    The save name for the server.

    env
    SAVE_NAME
    default
    gamesave
    rules
    alpha_dash|between:1,100
    • viewable
    • editable
  • Server Token

    Your factorio.com token, it is required for your server to be visible in the public server list.

    env
    SERVER_TOKEN
    default
    undefined
    rules
    alpha_num|max:100
    • viewable
    • editable
  • Server Name

    Name of the game as it will appear in the game listing

    env
    SERVER_NAME
    default
    Factorio Server
    rules
    required|string|max:100
    • viewable
    • editable
  • Server Description

    Description of the game that will appear in the listing.

    env
    SERVER_DESC
    default
    Description
    rules
    required|string|max:200
    • viewable
    • editable
  • Server Username

    Username used for the server

    env
    SERVER_USERNAME
    default
    unnamed
    rules
    required|string|max:40
    • viewable
    • editable
  • Auto Save Interval

    Time between auto saves specified in minutes

    env
    SAVE_INTERVAL
    default
    10
    rules
    required|numeric|digits_between:1,3
    • viewable
    • editable
  • Auto Save Slots

    The number of auto saves to keep.

    env
    SAVE_SLOTS
    default
    5
    rules
    required|numeric|digits_between:1,3
    • viewable
    • editable
  • AFK Kick

    Time specified in minutes to kick AFK players. 0 is off

    env
    AFK_KICK
    default
    0
    rules
    required|numeric|digits_between:1,3
    • viewable
    • editable
  • BOX64_DYNAREC_SAFEFLAGS

    env
    BOX64_DYNAREC_SAFEFLAGS
    default
    0
    rules
    required|numeric|in:0
  • BOX64_DYNAREC_BIGBLOCK

    env
    BOX64_DYNAREC_BIGBLOCK
    default
    2
    rules
    required|numeric|in:2
  • BOX64_DYNAREC_FORWARD

    env
    BOX64_DYNAREC_FORWARD
    default
    1024
    rules
    required|numeric|in:1024
  • BOX64_DYNAREC_CALLRET

    env
    BOX64_DYNAREC_CALLRET
    default
    1
    rules
    required|numeric|in:1
  • BOX64_DYNAREC_FASTROUND

    env
    BOX64_DYNAREC_FASTROUND
    default
    0
    rules
    required|numeric|in:0
  • BOX64_DYNAREC_ALIGNED_ATOMICS

    env
    BOX64_DYNAREC_ALIGNED_ATOMICS
    default
    1
    rules
    required|numeric|in:1
Installation script 57 lines container ghcr.io/ptero-eggs/installers:debian entrypoint bash 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 "-----------------------------------------"