Instalace TeamSpeak 3 serveru v Linuxu (Install TeamSpeak 3 server)

By | 21/07/2020

Last Updated on 09/01/2021 by administrator

Instalace TeamSpeak 3 serveru v Linuxu (Install TeamSpeak 3 server)

Install TeamSpeak 3 server

Motivace:

Článek popisuje instalaci TeamSpeak 3 serveru (Install TeamSpeak 3 server) na Ubuntu 18.04 LTS a Ubuntu 20.04 LTS  po kterém následuje test připojení TS3 klientem. Poslední část článku je věnována řešení problémů se zapomenutým heslem a dalších chyb TeamSpeak serveru.

OS:

Implementace byla prakticky prováděna na Ubuntu 18.04 LTS a Ubuntu 20.04 LTS.

Co bychom měli před implementací TS3 serveru vědět:

TS3 server není možné použít na ARM procesorech. Typ procesoru lze zjistit pomocí příkazu:

cat /proc/cpuinfo

Implementace [1]:

1. Pod rootem vytvořit uživatele teamspeak pro Teamspeak 3 server. Díky přepínači se účet vytvoří, ale bude bude deaktivován, dokud nebude nastaveno heslo, což v tomto případě bude stačit:

adduser --disabled-login teamspeak

Po vytvoření uživatele bude požádáno nastavení informací o uživateli. Jednoduše stačí všechny “odentrovat”. Bude také dotázáno, zda jsou informace správné. Klávesou “Y” potvrdit.

2. Přesunout se do adresáře /home/teamspeak a přihlásit se jako teamspeak uživatel:

cd /home/teamspeak/;su teamspeak

3. Stáhnutí 64-bit verze Teamspeak serveru (další verze se nachází v https://files.teamspeak-services.com/releases/server/):

wget https://files.teamspeak-services.com/releases/server/3.12.1/teamspeak3-server_linux_amd64-3.12.1.tar.bz2

Pozn. Bitová verze linuxu se zjistí příkazem uname -m kde x86_64 značí 64-bit verzi OS.

Upozornění: Vyhnout se verzi 3.13.2 – byl zde odhalen bug – nebylo možné příjmout licenční podmínky tak jak ukazuje 6. bod – děkuji Pavlovi Šuchovi za tento postřeh.

4. Rozbalení archivu:

tar xvfj teamspeak3-server_linux_amd64-3.12.1.tar.bz2

5. Překopírování rozbaleného archivu do složky /home/teamspeak a vymazání původních souborů:

cd teamspeak3-server_linux_amd64
cp * -R /home/teamspeak
cd ..
rm -r teamspeak3-server_linux_amd64
rm teamspeak3-server_linux_amd64-3.12.1.tar.bz2

6. Akceptování pravidel a podmínek vytvořením souboru .ts3server_license_accepted:

touch .ts3server_license_accepted

7. Start Teamspeak 3 serveru:

./ts3server_startscript.sh start

Jakmile se nastartuje TS3 server, překopírovat a uložit si Security token a Server Query Admin Account.

8. Zastavení Teamspeak 3 serveru. Příkaz exit nás vrátí na root účet (pokud tomu tak není přihlásit na root účet):

./ts3server_startscript.sh stop
exit

9. Aby se TS3 server zrestartoval po nabootování OS, bude vytvořen restart script v novém souboru ts3server.service a složce /lib/systemd/system/:

vim /lib/systemd/system/ts3server.service

Zkopírovat script níže do souboru ts3server.service:

[Unit]
Description=Teamspeak Service
Wants=network.target

[Service]
WorkingDirectory=/home/teamspeak
User=teamspeak
ExecStart=/home/teamspeak/ts3server_minimal_runscript.sh
ExecStop=/home/teamspeak/ts3server_startscript.sh stop
ExecReload=/home/teamspeak/ts3server_startscript.sh restart
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

10. Příkazem níže se script v souboru ts3server.service povolí:

systemctl enable ts3server.service

11. Rebootovat OS:

reboot

12. Po rebootu zkontrolovat status TS3 serveru:

systemctl status ts3server

Výpis příkazu systemctl status ts3server by měl ukázat, že je server aktivní:

? ts3server.service - Teamspeak Service
Loaded: loaded (/lib/systemd/system/ts3server.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-07-06 22:33:42 CEST; 19s ago
Main PID: 395 (ts3server)
Tasks: 21 (limit: 2319)
CGroup: /system.slice/ts3server.service
+-395 ./ts3server

Logy:

Všechny logy TS3 serveru lze najít ve složce /home/teamspeak/logs.

Ověření připojení na TS3 server:

Bude ověřeno, zda se lze připojit TS3 klientem pod Win 10 na TS3 server běžící na Ubuntu 18.04 a 20.04. TS3 klient pro různé OS lze stáhnout zde: https://teamspeak.com/en/downloads/. Program otevřít a kliknout na Connections > Connect:

teamspeak client

TS3 server běží na IP adrese 192.168.88.15, vložit libovolný nickname a kliknout na Connect:

teamspeak client connect

Při prvním připojení vyskočí okno, kde je potřeba zadat výše zmíněný (bod 7) Security token, po kterém budou získána práva administrátora (je možné ho použít jen jednou):

Security token Install TeamSpeak 3 server

Úspěšné připojení na TS3 server s právy administrátora:

Install TeamSpeak 3 serverInstall TeamSpeak 3 server

Hotovo. Dodatečně je přiložen pěkný návod popisující doporučená nastavení práv na TeamSpeak 3 serveru:

Licence TS3 serveru:

Nainstalovaný TS3 server používá nekomerční licenci – typ Unlicensed (Nelicencováno), kde není potřeba řešit žádné licence, registrace, atd.. Omezení je na 32 slotů [6]. Více o licencích zde. Licence je navíc časově omezená a expiraci nainstalovaného TS3 serveru lze zjistit příkazem níže:

cat /home/teamspeak/logs/ts3server* | grep "ending date"

Po časové expiraci TS3 serveru je nutné provést opětovnou instalaci.

TIP:

TeamSpeak místnosti a nastavená práva TS3 serveru se nachází v souboru /home/teamspeak/ts3server.sqlitedb, tudíž je fajn si tento soubor někam zálohovat a to nejlépe mimo server.

Především po časové expiraci TS3 serveru se tento soubor ts3server.sqlitedb bude hodit, jelikož bude nutné provést opětovnou instalaci TS3 serveru.

Jak obnovit původní soubor ts3server.sqlitedb po opětovné instalaci TS3 serveru:

1. Přejít do složky kde je nainstalovaný TeamSpeak 3 server. V tomto návodu byla instalace provedena v /home/teamspeak/:

cd /home/teamspeak/

2. Přihlásit se jako teamspeak uživatel:

su teamspeak

3. Po opětovné instalaci TS3 serveru přejmenovat čerstvý soubor ts3server.sqlitedb na ts3server.sqlitedb.old:

mv ts3server.sqlitedb ts3server.sqlitedb.old

4. Příklad: Původní soubor ts3server.sqlitedb byl zálohovaný na NASbox pod IP adresou 192.168.0.5. Příkazem níže bude překopírován a vložen do složky /home/teamspeak/:

scp uzivatel@192.168.0.5:/volume1/backups/ts3server.sqlitedb /home/teamspeak/

5. Odhlásit se z jako teamspeak uživatel:

exit

6. Restartovat TeamSpeak 3 server:

sudo systemctl restart ts3server

6. Hotovo!

Řešení problémů – zapomenutá hesla:

a) Zapomněl jsem ServerAdmin heslo [4]:

1. Přejít do složky kde je nainstalovaný TeamSpeak 3 server. V tomto návodu byla instalace provedena v /home/teamspeak/

cd /home/teamspeak/

2. Otevřít ts3server_startscript.sh:

sudo vim ts3server_startscript.sh

3. A změnit parametr COMMANDLINE_PARAMETERS=”” na:

COMMANDLINE_PARAMETERS="$2"

4. Uložit soubor a spustit TeamSpeak server s následujícím parametrem:

./ts3server_startscript.sh start serveradmin_password=nejakenoveheslo

Pozn. Není potřeba při přístím startu TeamSpeak 3 serveru použít znovu parametr serveradmin_password=. Jakmile se jednou TeamSpeak server rozjede s tímto parametrem, permanentně se toto heslo změní.

5. Hotovo!

b) Zapomněl jsem heslo virtuální serveru [2]:

Pro resetnutí hesla virtuálního serveru je nutné znát ServerAdmin heslo. Jako příklad bude TeamSpeak server běžet na IP adrese 192.168.88.15

1. Přihlásit se k TeamSpeak 3 ServerQuery rozhraní přes port 10011:

telnet 192.168.88.15 10011

Pozn. Při úspěšném přihlášení se objeví “Welcome to the TeamSpeak 3 ServerQuery interface, type “help” for a list of commands and “help <command>” for information on a specific command.”

2. Přihlásit se ServerAdmin heslem:

login serveradmin hesloserveradmin

Pozn. Každý úspěšný příkaz je následován výstupem [error id=0 msg=ok]

3. Pokud se jedná o free verzi TeamSpeak serveru, nebo pokud běží jen jeden TeamSpeak server je ID vždy 1:

use sid=1

4. Reset hesla:

serveredit virtualserver_password=novehesloserveru

Alternativně lze nastavit úplné vypnutí hesla pomocí příkazu serveredit virtualserver_password=

5. Odhlášení z TeamSpeak 3 ServerQuery rozhraní:

quit

Pozn. Reboot TeamSpeak serveru není potřeba.

6. Teď se jen stačí přihlásit TeamSpeak klietem na TeamSpeak server.

7. Hotovo!

c) Ztratil jsem admin práva na TeamSpeak virtuální server [3]:

Pro získání práv virtuálního serveru je nutné znát ServerAdmin heslo. Jako příklad bude TeamSpeak server běžet na IP adrese 192.168.88.15

1. Přihlásit se k TeamSpeak 3 ServerQuery rozhraní přes port 10011:

telnet 192.168.88.15 10011

Pozn. Při úspěšném přihlášení se objeví “Welcome to the TeamSpeak 3 ServerQuery interface, type “help” for a list of commands and “help <command>” for information on a specific command.”

2. Přihlásit se ServerAdmin heslem:

login serveradmin hesloserveradmin

Pozn. Každý úspěšný příkaz je následován výstupem [error id=0 msg=ok].

3. Pokud se jedná o free verzi TeamSpeak serveru, nebo pokud běží jen jeden TeamSpeak server je ID vždy 1:

use sid=1

4. Přímo na TeamSpeak serveru je nutné zjištění ID Server Admina:

  • Permissions > Server Groups:

TeamSpeak Server Groups

  • Najet myší na Server Admin -> mělo by se objevit číslo ID, což je v tomto případě 6:

Server Admin ID

5. V příkazu níže použít toto číslo ID v tokenid1, což je v tomto případě 6:

tokenadd tokentype=0 tokenid1=6 tokenid2=0

6. Výstup příkazu tokenadd tokentype=0 tokenid1=<číslo> tokenid2=0 vygeneruje nový token:

token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

7. Odhlášení z TeamSpeak 3 ServerQuery rozhraní:

quit

Pozn. Reboot TeamSpeak serveru není potřeba.

8. Teď se jen stačí přihlásit TeamSpeak klietem na TeamSpeak server a aplikovat nový token v Permissions > Use Privilege Key:

TeamSpeak Privilege Key

TeamSpeak Privilege Key

Pozn. Každý Privilege Key je možné použít jen jednou. Pro nový je nutné postupovat znovu od prvního bodu.

9. Hotovo!

Řešení problémů – chyby:

a) Problém “Unable to open licensekey.dat, falling back to limited functionality”:

Nelze se připojit na TS3 server, ale TS3 server běží:

systemctl status ts3server.service

Výpis příkazu systemctl status ts3server.service ukazuje chybovou hlášku Unable to open licensekey.dat, falling back to limited functionality:

● ts3server.service - Teamspeak Service
Loaded: loaded (/lib/systemd/system/ts3server.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-08-22 01:22:36 CEST; 41s ago
Process: 7124 ExecStop=/home/teamspeak/ts3server_startscript.sh stop (code=exited, status=0/SUCCESS)
Main PID: 7132 (ts3server)
Tasks: 17 (limit: 2319)
CGroup: /system.slice/ts3server.service
└─7132 ./ts3server

srp 22 01:22:36 jesterka ts3server_minimal_runscript.sh[7132]: 2020-08-21 23:22:36.479531|WARNING |Accounting | |
Unable to open licensekey.dat, falling back to limited functionality

Řešení problému:

1. Je nutné vytvořit znovu soubor .ts3server_license_accepted. V tomto návodu byla instalace provedena v /home/teamspeak/

touch .ts3server_license_accepted

2. Restartovat TeamSpeak 3 server:

systemctl restart ts3server.service

b) Problém “Temporary failure in name resolution”:

Nelze aktivovat TS3 server – TS3 server ve stavu “deactivating (stop-sigterm)”:

systemctl status ts3server.service

Výpis příkazu systemctl status ts3server.service ukazuje chybovou hlášku Temporary failure in name resolution:

● ts3server.service - Teamspeak Service
   Loaded: loaded (/lib/systemd/system/ts3server.service; enabled; vendor preset: enabled)
   Active: deactivating (stop-sigterm) since Sat 2020-08-22 01:53:52 CEST; 1min 9s ago
 Main PID: 7132 (ts3server)
    Tasks: 21 (limit: 2319)
   CGroup: /system.slice/ts3server.service
           └─7132 ./ts3server


srp 22 01:53:13 jesterka ts3server_minimal_runscript.sh[7132]: 2020-08-21 23:53:13.070512|ERROR   |              |   |TS3ANetwork::ResolveHostName failed error: -3 (Temporary failure in name resolution) 11
srp 22 01:53:48 jesterka ts3server_minimal_runscript.sh[7132]: 2020-08-21 23:53:48.104581|ERROR   |              |   |TS3ANetwork::ResolveHostName failed error: -3 (Temporary failure in name resolution) 11
srp 22 01:53:52 jesterka ts3server_startscript.sh[8426]: No server running
srp 22 01:53:52 jesterka ts3server_minimal_runscript.sh[7132]: 2020-08-21 23:53:52.257592|INFO    |ServerMain    |   |Received signal SIGTERM, shutting down.
srp 22 01:54:19 jesterka ts3server_minimal_runscript.sh[7132]: 2020-08-21 23:54:19.327060|ERROR   |              |   |TS3ANetwork::ResolveHostName failed error: -3 (Temporary failure in name resolution) 11
srp 22 01:54:59 jesterka ts3server_minimal_runscript.sh[7132]: 2020-08-21 23:54:59.359879|ERROR   |              |   |TS3ANetwork::ResolveHostName failed error: -3 (Temporary failure in name resolution) 11

Řešení problému [5]:

Toto není přímo problém TS3 serveru. V souboru resolv.conf je nutné upravit či přidat DNS server:

sudo vim /etc/resolv.conf

V souboru resolv.conf přidat či upravit záznam nameserver. Bude použita jako příklad IP adresa Google DNS:

nameserver 8.8.8.8

Zdroj:

[1] https://www.gazblog.com/2020/05/setup-teamspeak-3-server-on-ubuntu-18-04-20-04

[2] https://forum.teamspeak.com/threads/121827-My-passworded-Teamspeak-Server-keeps-getting-reset

[3] https://forum.teamspeak.com/threads/73999-Lost-my-Admin-Don-t-have-key-How-can-i-create-new-privilege-key-(Token)/page6

[4] https://support.teamspeak.com/hc/en-us/articles/360002712878-How-do-I-change-my-ServerQuery-Admin-password-

[5] https://forum.teamspeak.com/threads/137375-TS3ANetwork-ResolveHostName-failed-error-3-(Temporary-failure-in-name-resolution)

[6] https://www.public-ts3.cz/index.php/clanky/28-4-dil-teamspeak-licence

 

Leave a Reply

Your email address will not be published. Required fields are marked *