This guide assumes you are using Ubuntu and have some basic linux command-line know-how.
Download the server https://www.factorio.com/download-headless/stable:
adduser --disabled-login --no-create-home --gecos factorio factorio
mkdir /var/lib/factorio
mkdir /etc/factorio
mkdir /opt/factorio
Extract the archive to /opt/factorio
For security, don't run factorio as root. You'll need to create a user and chmod some things so the factorio user can access them.
adduser --disabled-login --no-create-home --gecos factorio factorio
chown -R factorio:factorio /var/lib/factorio/
chown -R root:root /opt/factorio
chmod -R a+x /opt/factorio/bin/x64/factorio
chmod a+r /etc/factorio/
Move your save file to /var/lib/factorio/saves
and reference by name. You can start the server like this:
/opt/factorio/bin/x64/factorio -c /opt/factorio/config-path.cfg --start-server zivix2.zip --latency-ms 100 --disallow-commands
Make sure the uid/gid corresponds to the factorio user. You can see the correct one to use via:
cat /etc/passwd | grep factorio
Upstart file for /etc/init/factorio.conf
start on (filesystem and net-device-up IFACE=lo)
stop on runlevel [!2345]
setuid 1001
setgid 1001
env DAEMON=/opt/factorio/bin/x64/factorio
env OPTS="-c /opt/factorio/config-path.cfg --start-server zivix2.zip --latency-ms 100 --disallow-commands"
respawn
respawn limit 5 5
exec $DAEMON $OPTS
After adding this run:
start factorio
Systemd unit file for /usr/lib/systemd/system/factorio.service
[Unit]
Description=Factorio Server
[Service]
Type=simple
User=factorio
ExecStart=/opt/factorio/bin/x64/factorio -c /opt/factorio/config-path.cfg --start-server zivix3.zip --latency-ms 100 --disallow-commands --autosave-interval 10
After adding this run:
systemctl daemon-reload
systemctl start factorio
Hi there, thanks for the instructions, I got the Server running. I added a second server and want someone elso to look after them. I created an account with limited rights to serve that pupose. But I can't get into the /opt solder because obviously this user does not have the rights to do so. Is there a way to install the server somewhere else than the opt folder? And if not, why?
Thx 4 F1.