Um Teamspeak3 automatisch zu starten benötigt man ein Init-Script oder ein Systemd Unit-file.
Da Teamspeak3 über das mitgelieferte Init-Script immer im Kontext des Users gestartet wird der das Script aufruft, ist es nicht geeignet um direkt beim Booten ausgeführt zu werden, da der User in diesem Fall root ist.
Unter Debian/Ubuntu kann die Lösung so aussehen.
/etc/init.d/teamspeak3
#!/bin/bash
### BEGIN INIT INFO
# Provides: teamspeak3
# Default-Start: 2 3 4 5
# Default-Stop: 1
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Short-Description: Teamspeak3
### END INIT INFO
DAEMON="ts3server"
USER="tss"
DAEMON_PATH="/home/tss/teamspeak3-server_linux-amd64"
PIDFILE="/run/ts3server.pid"
NICE="-10"
OPTIONS="query_ip=127.0.0.1 query_ssh_ip=127.0.0.1 filetransfer_ip=127.0.0.1 createinifile=1"
. /lib/lsb/init-functions
start() {
log_begin_msg "Starting Teamspeak server:" "ts3server"
if start-stop-daemon -S -o -m -q -b -N $NICE -d $DAEMON_PATH -p $PIDFILE -x $DAEMON -u $USER -c $USER -- $OPTIONS; then
log_end_msg 0
else
log_end_msg 1
exit 1
fi
}
stop() {
log_begin_msg "Stopping Teamspeak server:" "ts3server"
if start-stop-daemon -K --remove-pidfile -o -q -d $DAEMON_PATH -p $PIDFILE -x $DAEMON -u $USER; then
log_end_msg 0
else
log_end_msg 1
exit 1
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload|reload)
stop
start
;;
*)
echo "Usage: /etc/init.d/teamspeak3 {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
Nun noch die Variablen anpassen und den Autostart aktivieren
update-rc.d teamspeak3 defaults 20