Using systemd
systemd is the default init system for most modern distros.
You need to create a service file in /etc/systemd/system/
Example ts3server.service:
1 | [Unit] |
Replace the user and paths to fit your setup.
You need to reload the systemd-daemon once to make it aware of the new service file:
1 | systemctl daemon-reload |
Now you can do:
1 | sudo systemctl start ts3server # Start the server |
Using Crontab
The crontab will allow you to create cronjobs that allow you to run a command on a set time or on boot. The below examples uses @reboot that will run a command on boot。
1 | @reboot '/home/username/gameserver monitor' > /dev/null 2>&1 |
note: Most admins will also have a timed monitor cronjob configured. If you do not want to have extra cronjobs the timed monitor will also start a server but with a timed delay.
Using monitor command
After a reboot, any game server that has a “started” status will be started on boot. Servers that were manually stopped will remain stopped.
1 | crontab -e |
To learn more, see cronjobs and automated monitoring.
Using start command
Start a game server unconditionally, even if you manually stopped a server.
1 | crontab -e |
To learn more, see Start-Stop-Restart
Using rc.local
rc.local is another method to run scripts on boot. Any commands added to the rc.local file will run on boot.
1 | nano /etc/rc.local |