Overview
Factorio is a factory-building game that runs exceptionally well on dedicated servers. Even small VPS instances can host servers for 10+ players.
Requirements
- A Breeze with at least 1 GB RAM
- Factorio purchased on Steam or factorio.com
Step 1: Download the Server
sudo useradd -r -m -d /opt/factorio factorio
cd /opt/factorio
sudo -u factorio wget https://factorio.com/get-download/stable/headless/linux64 -O factorio-headless.tar.xz
sudo -u factorio tar xf factorio-headless.tar.xz --strip-components=1
rm factorio-headless.tar.xzStep 2: Create a Save File
sudo -u factorio /opt/factorio/bin/x64/factorio --create /opt/factorio/saves/myworld.zipStep 3: Configure the Server
sudo -u factorio tee /opt/factorio/data/server-settings.json <<'EOF'
{
"name": "My Factorio Server",
"description": "A Breeze-hosted Factorio server",
"max_players": 10,
"visibility": { "public": false, "lan": true },
"require_user_verification": true,
"game_password": "changeme",
"autosave_interval": 5,
"autosave_slots": 5,
"allow_commands": "admins-only"
}
EOFStep 4: Create a Systemd Service
sudo tee /etc/systemd/system/factorio.service <<EOF
[Unit]
Description=Factorio Server
After=network.target
[Service]
User=factorio
ExecStart=/opt/factorio/bin/x64/factorio --start-server /opt/factorio/saves/myworld.zip --server-settings /opt/factorio/data/server-settings.json
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now factorioStep 5: Open Firewall
sudo ufw allow 34197/udpConnecting
In Factorio, click Multiplayer → Connect to address, and enter your server's IP address.