Factorio
| Platform | Support | Notes |
|---|---|---|
| Linux | ✅ Native | |
| Windows | ✅ Native |
02
Hardware Requirements
- RAM: 1-2GB minimum (scales with factory complexity)
- CPU: 2+ vCPU recommended
- Storage: 1GB+ for game files and saves
03
Linux Installation
1. Install via SteamCMD
bash
mkdir -p /opt/factorio
cd /opt/factorio
# Download SteamCMD
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar xvz
# Install Factorio (AppID 427520)
./steamcmd.sh +force_install_dir /opt/factorio +login anonymous +app_update 427520 validate +quit
# Create required directories
mkdir -p ~/.factorio/mods
2. Map Generation
bash
# Generate a new map
/opt/factorio/bin/x64/factorio --create ~/factorio_map.zip
3. Server Configuration
Create /opt/factorio/server-settings.json:
json
{
"name": "DeluxHost Factorio Server",
"description": "A collaborative factory",
"max_players": 32,
"visibility": {
"public": true,
"lan": false
},
"token": "",
"game_password": "your_password_here",
"require_user_verification": true,
"max_upload_size": 0,
"max_upload_slots": 5,
"minimum_latency_in_ticks": 0,
"ignore_player_limit_for_returning_players": false,
"allow_commands": "admins-only",
"autosave_interval": 10,
"autosave_slots": 5,
"afk_autokick_interval": 0,
"kick_players_afk_for_inactivity_minutes": 30,
"auto_pause": true,
"only_admins_can_pause_the_game": true,
"autosave_only_on_server": true,
"non_blocking_saving": true,
"difficulty_settings": {
"recipe_difficulty": 0,
"technology_difficulty": 0,
"difficulty": "normal",
"automated_speed_up": true
},
"pollution": {
"enabled": true,
"diffusion_ratio": 0.02,
"min_to_diffuse": 15,
"max_zone_size": 150,
"max_pollution_to_restore_trees": 60,
"enemy_attack_pollution_consumption_modifier": 1
}
}
4. Systemd Service
Create /etc/systemd/system/factorio.service:
ini
[Unit]
Description=Factorio Dedicated Server
After=network.target
[Service]
Type=simple
User=factorio
WorkingDirectory=/opt/factorio
ExecStart=/opt/factorio/bin/x64/factorio --start-server /opt/factorio/saves/map.zip --server-settings /opt/factorio/server-settings.json
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Enable and start:
bash
sudo systemctl daemon-reload
sudo systemctl enable factorio
sudo systemctl start factorio
5. Firewall Configuration
bash
# Allow Factorio port
sudo ufw allow 34197/udp
04
Windows Server Setup
1. Install via SteamCMD
batch
mkdir C:\Games\Factorio
cd C:\Games\Factorio
REM Download and extract SteamCMD
powershell -Command "Invoke-WebRequest https://steamcdn-a.akamaihd.net/client/installer/steamcmd_windows.zip -OutFile steamcmd.zip; Expand-Archive steamcmd.zip -DestinationPath ."
REM Install Factorio
steamcmd.exe +force_install_dir C:\Games\Factorio +login anonymous +app_update 427520 validate +quit
2. Server Configuration
Place server-settings.json in C:\Games\Factorio\ with the same content as Linux version.
3. Run as Windows Service (NSSM)
batch
REM Download NSSM from https://nssm.cc/download
nssm install FactorioServer "C:\Games\Factorio\bin\x64\factorio.exe" "--start-server C:\Games\Factorio\saves\map.zip --server-settings C:\Games\Factorio\server-settings.json"
nssm start FactorioServer
05
Tips & Tweaks
Performance Optimization
| Setting | Value | Impact |
|---|---|---|
non_blocking_saving | true | Prevents server lag during saves on large factories |
autosave_slots | 5-10 | Allows rollback to previous saves |
autosave_interval | 10 | Saves every 10 minutes (adjust based on load) |
auto_pause | true | Pauses when no players online |
Admin Commands
| Command | Description |
|---|---|
/ban <player> | Ban a player |
/kick <player> | Kick a player |
/promote <player> | Make player admin |
/demote <player> | Remove admin rights |
/evolution <value> | Set enemy evolution factor |
Mod Installation
Place mod files in ~/.factorio/mods/ directory:
bash
# Mods download from Factorio mod portal
cp mod_name.zip ~/.factorio/mods/
Useful Tips
- Save Location: ~/.factorio/saves/ on Linux, %APPDATA%\Factorio\saves\ on Windows
- Research Queue: Enable in-game for continuous research while offline
- Multiplayer Tips: Set require_user_verification: true to prevent griefers
- Large Factories: Increase autosave_slots and enable non_blocking_saving to prevent slowdowns
Related articles
Gaming Servers
CS2
How to install and configure a Counter-Strike 2 dedicated server on Linux VPS with SteamCMD
5 min read
Gaming Servers
Palworld
Create a dedicated Palworld server on Linux with SteamCMD. Configuration, ports and automatic startup.
5 min read
Gaming Servers
Rust
Install and manage a Rust server (Facepunch) on Linux with SteamCMD. Includes automatic updates, Oxide plugins and optimizations.
7 min read
