Autostart TeamSpeak via systemd no Ubuntu

2

Eu tenho um script de serviço systemd para permitir que eu inicie e interrompa o TeamSpeak. Ele funciona bem se eu iniciar e parar manualmente, mas não iniciará automaticamente o TeamSpeak na reinicialização do servidor. Aqui está o arquivo:

[Unit]
Description=TeamSpeak Server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target

[Service]
Type=forking
WorkingDirectory=/usr/local/bin/teamspeak3-server_linux-amd64
ExecStart=/usr/local/bin/teamspeak3-server_linux-amd64/ts3server_startscript.sh start
ExecReload=/usr/local/bin/teamspeak3-server_linux-amd64/ts3server_startscript.sh restart
ExecStop=/usr/local/bin/teamspeak3-server_linux-amd64/ts3server_startscript.sh stop
PIDFile=/usr/local/bin/teamspeak3-server_linux-amd64/ts3server.pid
User=smares
Group=smares

[Install]
WantedBy=multi-user.target

O seguinte script para o meu servidor ARK: Survival Evolved funciona bem:

[Unit]
Description=ARK: Survival Evolved Server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target

[Service]
ExecStart=/home/smares/Steam/games/ark/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?MaxPlayers=5?listen -server -log
LimitNOFILE=100000
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s INT $MAINPID
User=smares
Group=smares

[Install]
WantedBy=multi-user.target

O que estou fazendo de errado?

    
por smares 19.01.2016 / 19:21

1 resposta

1

Eu tive o mesmo problema ao configurar meu servidor TeamSpeak no Ubuntu Server 16.04 e consegui resolvê-lo usando a seguinte unidade systemd (salva em /etc/systemd/system/teamspeak3.service ):

[Unit]
Description=TeamSpeak3 Server
Wants=network-online.target
After=syslog.target network.target

[Service]
WorkingDirectory=/opt/teamspeak3-server
User=teamspeak3-user
Type=forking
ExecStart=/opt/teamspeak3-server/ts3server_startscript.sh start initfile=ts3server.ini
ExecStop=/opt/teamspeak3-server/ts3server_startscript.sh stop
ExecReload=/opt/teamspeak3-server/ts3server_startscript.sh reload
PIDFile=/opt/teamspeak3-server/ts3server.pid

[Install]
WantedBy=multi-user.target

E ativando este serviço assim:

systemctl enable teamspeak3.service

Como você não deu a saída de journalctl -u teamspeak3.service , é difícil dizer qual foi exatamente o problema. Eu também testei minha configuração com o mesmo After como você especificou e isso também funcionou, então eu suponho que o problema foi que você não habilitou corretamente o serviço ou que havia algo errado com o arquivo .ini , porque você não especificou um no parâmetro ExecStart .

    
por 15.01.2017 / 16:57

Tags