ServerSizer

Games Factorio

Factorio server requirements

Build 2.0.77, 2026-10-06. Native Linux server (headless build). Steam factorio.com

Requirements

Our benchmarkFactorio WikiWubeGame specs, not serverWinterNodeIONOSSupercraft
CPU0% of one core, idleDual core 3 GHz+ min, quad core 3 GHz+ rec (game client)2 cores at 2.4 GHz, strong single core preferredOne fast core; single-thread speed decides UPS
RAM0.3 GB idle, 0.3 GB peakNo figure; headless mode uses less memory4 GB min, 8 GB rec (game client, not server)3 GB at 1-4, 4-6 GB at 5-10, 6-8 GB Space Age, 8 GB+ large2 GB at 1-4, 4 GB at 5-12, 8 GB above 12~1 GB to boot, 2 GB at 2-4, 4 GB larger group, 4-8 GB megabase
Disk295 MB install3 GB (game client)10-15 GBA few GB; SSD or NVMe for autosaves
NetworkUDP 34197UDP 34197 onlyUDP 34197A few hundred kbps for a handful of players; UDP 34197
OSLinux, nativeAny full game build can host; Linux x64 headless build for serversWindows 11/10, macOS 10.10+, Linux tarball, 64-bit (game client)Windows or Linux

RAM by players

WinterNode
3 GB
IONOS
2 GB
Supercraft
2 GB
  • Recommended
  • Community
  • WinterNode: "Fresh vanilla, 1-4 players, early game | 3GB ... Vanilla, 5-10 players, active mid-game | 4-6GB ... Long-running megabase, heavy mods, or large player count | 8GB+"
  • IONOS: "RAM (Memory): 2 GB RAM for 1–4 players, 4 GB RAM for 5–12 players, 8 GB RAM for more than 12 players"
  • Supercraft: "2-4 friends, vanilla early/mid game | 1 fast modern core | 2 GB / Larger group or moderate mods / Space Age | 1-2 fast cores | 4 GB"

Memory over time

0 GB1 GB2 GB0.3 GB0 min30 min0 GB1 GB2 GB0.3 GB0 min
  • In use
  • Peak, with cache
Raw data (CSV)

Community results

Loading...

Add result
Hosting
RAM headroom
Privacy

Pending

  • 24 hours idle
  • One player for 30 minutes
  • Large factory save

Ports

PortProtocolUseOur server
34197UDPGame traffic (--port).Open
--rcon-portTCPRCON, only when set.Off

Forward UDP 34197.

Docker setup

4 steps
  1. Download

    Free headless build, no login, 57 MB. Includes Space Age content.

    docker volume create factorio_files
    docker run --rm -v factorio_files:/data alpine sh -c '
      apk add -q xz && cd /tmp && wget -q -O f.tar.xz https://factorio.com/get-download/stable/headless/linux64
      tar -xJf f.tar.xz -C /data --strip-components=1 && chown -R 1000:1000 /data'
  2. Map and settings

    game_runtime image as on the Palworld page. Default map. Public listing off.

    printf 'FROM ubuntu:24.04\nRUN apt-get update && apt-get install -y --no-install-recommends ca-certificates libcurl4t64 && rm -rf /var/lib/apt/lists/*\nUSER ubuntu\n' | docker build -t game_runtime -
    docker run --rm --user 1000:1000 -v factorio_files:/factorio -w /factorio game_runtime \
      ./bin/x64/factorio --create saves/bench.zip
    docker run --rm -v factorio_files:/f -w /f alpine sh -c \
      'sed "/\"public\"/s/true/false/" data/server-settings.example.json > server-settings.json && chown 1000:1000 server-settings.json'
  3. Run

    Exact bench command. Add -p 34197:34197/udp to publish the port.

    docker run -d --name factorio --init --memory 4g --user 1000:1000 \
      -v factorio_files:/factorio -w /factorio game_runtime \
      ./bin/x64/factorio --start-server saves/bench.zip --server-settings server-settings.json
  4. Ready line

    1.5 seconds after container start.

    docker logs -f factorio 2>&1 | grep -m1 'Hosting game at'

Settings

10 settings

File: server-settings.json, copied from data/server-settings.example.json.

SettingWhat it does
max_players: 0Player slots; 0 is no limit.
visibility: public true, lan truePublic needs username and token.
require_user_verification: truePlayers need a factorio.com account.
game_password: (empty)Join password.
autosave_interval: 10Minutes between autosaves.
autosave_slots: 5Autosaves kept.
auto_pause: truePause with no players.
afk_autokick_interval: 0Minutes before an AFK kick; 0 is off.
allow_commands: admins-onlyConsole commands.
non_blocking_saving: falseSave in the background.

Troubleshooting

4 problems
Server missing from the public list
Set username and token in server-settings.json, or use --server-settings with a factorio.com login.
Players without Space Age cannot join
The headless build loads space-age, quality and elevated-rails. Disable them in mods/mod-list.json.
'Got EOF on stdin; closing'
Normal without docker run -i. Only console input closes; the server keeps running.
Game time stops with nobody online
auto_pause is on by default.

Method

build 2.0.77
ServerFactorio dedicated server, Steam build 2.0.77, downloaded 2026-10-06.
ImageMinimal ubuntu:24.04 image with ca-certificates and libcurl, uid 1000; server files on a Docker volume.
MachineAMD Ryzen 9 5950X, Proxmox VE 9, each game server in Docker inside a dedicated LXC container. 4 GB memory limit, no swap.
Command./bin/x64/factorio --start-server saves/bench.zip --server-settings server-settings.json

Changes from defaults

  • New map from --create with default map settings.
  • server-settings.json from data/server-settings.example.json with public listing off (needs a factorio.com login).
  • auto_pause on (default): the game pauses with no players.

Full method

Sources