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

By | 21/07/2020

Last Updated on 08/11/2024 by administrator

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

Instalace TeamSpeak 3 serveru

Motivace:

Článek popisuje instalaci TeamSpeak 3 serveru na Ubuntu 22.04 LTS, Ubuntu 20.04 LTS a Ubuntu 18.04 LTS a 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 instalace TeamSpeak 3 serveru byla prakticky prováděna na Ubuntu 22.04 LTS, Ubuntu 20.04 LTS a Ubuntu 18.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. To vytvoří uživatele v adresáři home. 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:

wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.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. Instalace bzip a rozbalení archivu:

apt install bzip2
tar xvfj teamspeak3-server_linux_amd64-3.13.7.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.13.7.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. Aby TS3 server nejel po rebootu Linuxu, aplikovat příkaz níže:

systemctl enable ts3server.service

11. Rebootovat OS:

reboot

12. Po rebootu zkontrolovat status TS3 serveru:

systemctl status ts3server

Instalace TeamSpeak 3 serveru je hotova.

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

Pokud je nakonfigurovaný firewall (lze zjistit příkazem sudo ufw status), je nutné povolit provoz UDP/9987:

sudo ufw allow 9987/udp

Logy:

Všechny logy TS3 serveru lze najít v souboru /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 či 22.04. TS3 klient pro různé OS lze stáhnout zde: https://teamspeak.com/en/downloads/. Program otevřít a kliknout na Connections > Connect:

Instalace TeamSpeak 3 serveru

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):

Instalace TeamSpeak 3 serveru

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

Instalace TeamSpeak 3 serveruInstall 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:

Volitelně: Registrace TS3 serveru pres TSViewer:

TS3 server lze také přidat přes webové stránky https://www.tsviewer.com/aa a to konkrétně přes https://www.tsviewer.com/index.php?page=serverreg

Následně je nutné udělit dodatečná práva na TS3 serveru pro TSViewer https://www.tsviewer.com/index.php?page=faq&id=6

Pokud je nakonfigurovaný firewall na Ubuntu (lze zjistit příkazem sudo ufw status), je nutné povolit navíc provoz TCP/10011:

sudo ufw allow 10011/tcp

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.

Kdo navštívil můj TS3 server:

Výpis všech historicky připojených uživatelů se může provést příkazem:

tac /home/teamspeak/logs/ts3server* | grep "connect" | sort -r | less

Záloha TS3 serveru:

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!

Jak udělit admin práva pro dalšího uživatele

Přihlásit se jako administrátor a přejít do Permissions > Privilege Keys:

user rightsVytvořit nový privilegiovaný klíč kliknutím na Create:

create privilege keys

Podle potřeby zvolit určitá práva pro nového uživatele. V tomto příkladu budou udělaná plná práva pro budoucího admina. Kliknutím na Create se vytvoří nový privilegiovaný klíč:

Nového uživatele lze pozvat prostřednictvím odkazu, tak že se klikne pravým na Priviledge key a vybere se Use Privilege key as invitation:

Stačí kliknout Copy to clipboard a poslat mu tento link:

Tento link nový uživatel vloží do pole pro připojení k TS3 serveru:

invitation link

Hotovo, uživatel1 se stal adminem:

server admin

Ř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]:

heslo virtuální serveru

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

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

a) Jak vypnout smajlíky [7]:

Vypnutí smajlíků se nenastavuje přímo na TS3 serveru, ale musí si jej každý připojený uživatel vypnout sám. Stačí kliknout pravým tlačítkem myši do okna a odškrtnout „Show Emoticons“.

Jak vypnout smajlíky

b) Zmizel mi chat [8]:

Při připojení na TS3 server nejde vidět chat. Nicméně problém není na straně serveru, ale u uživatele. Je potřeba vysunout ze zdola okno, jak ukazazuje obrázek níže:

Zmizel mi chat

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

[7] https://forum.teamspeak.com/threads/119108-Disable-Emoticon-replacement

[8] https://forum.teamspeak.com/threads/61493-No-chat-in-TeamSpeak-3-Client

Dobrovolný dar

Ahoj čtenáři, rád bych tě poprosil aby ses zamyslel, co je vše potřeba ke vzniku článku.
Jakožto amatérský softwarový kutil musím:

1) Nejdříve vše nastudovat v cizích jazycích.
2) Vše následně prakticky vyzkoušet.
3) Svoje poznatky a zkušenosti napsat do článku který si právě přečetl v jazyku kterému rozumíš.
4) Dát článku hlavu a patu a publikovat.

Každý článek zabere několik hodin práce, za kterou mi nikdo neplatí.
Prosím zvaž, kolik času jsem ti právě ušetřil.
Pokud ti to stojí aspoň za cenu jedné kávy, tak mi ji kup.
Předem moc děkuji.

Příspěvek tak můžeš provést zasláním libovolné částky na mé číslo účtu 1558701011/3030 Nebo můžeš dar poslat kliknutím na tento odkaz Podpořit tento WEB , který tě přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu také používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *