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:
TS3 server běží na IP adrese 192.168.88.15, vložit libovolný nickname a kliknout na 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):
Úspěšné připojení na TS3 server s právy administrátora:
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:
Vytvořit nový privilegiovaný klíč kliknutím na Create:
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:
Hotovo, uživatel1 se stal adminem:
Ř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:
- Najet myší na Server Admin -> mělo by se objevit číslo ID, což je v tomto případě 6:
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:
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“.
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:
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
[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