Potrápil jsem se trošku s rozchozením TeamSpeak3 Server pod Linuxem, spojený s databazí MySQL. Pokusím se srozumitelně popsat jak na to 🙂 Nejdříve ze všecho potřebujeme stáhnout balíček s TeamSpeak3 Server, který získáme nejlépe na oficiálním webu: http://www.teamspeak.com/?page=downloads
V Shellu napíšeme příkaz na stažení balíčku a rovnou přejmenování:
wget http://teamspeak.gameserver.gamed.de/ts3/releases/3.0.5/teamspeak3-server_linux-x86-3.0.5.tar.gz -O ts3.tar.gz
Rozbalíme balíček:
tar -xvzf ts3.tar.gz
Přesuneme rozbalenou složku do /etc/ts3:
mv teamspeak3-server_linux-x86 /etc/ts3
Dáme práva složce ts3:
chmod -R 777 ts3
Přepneme se do šložky ts3:
cd /etc/ts3
Pokud nemáme, tak nainstalujeme Mysql Server a ostatní pluginy/knihovny:
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev phpmyadmin
Připojíme se do DBS a vytvoříme databázi pro ts3:
mysql -u root -p CREATE DATABASE teamspeak3; quit
Nyní se vrátíme zpět a vytvoříme soubor ts3server.ini :
cat > ts3server.ini <<END machine_id= default_voice_port=9987 voice_ip=0.0.0.0 licensepath= filetransfer_port=30033 filetransfer_ip=0.0.0.0 query_port=10011 query_ip=0.0.0.0 dbplugin=ts3db_mysql dbpluginparameter=ts3db_mysql.ini dbsqlpath=sql/ dbsqlcreatepath=create_mysql/ logpath=logs logquerycommands=0
Dále vytvoříme ts3db_mysql.ini :
cat > ts3db_mysql.ini <<END [config] host=localhost username=root password=password ----- (heslo do dbs) database=teamspeak3 socket= END
Napíšeme příkaz na zjištění součástí pluginů:
ldd libts3db_mysql.so
Pokud nám na výpisu vypadne něco podobného, tak nám chybí plugin na komunikaci s MySQL:
linux-gate.so.1 => (0xb7791000)
libmysqlclient.so.15 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb74ab000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7484000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7465000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb730c000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb72f3000)
libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb72c1000)
libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb72a9000)
libz.so.1 => /lib/libz.so.1 (0xb7294000)
/lib/ld-linux.so.2 (0xb7792000)
To opravíme tím, že stáhneme knihovnu: libmysqlclient.so.15.0.0 .
wget http://blog.chury721.cz/all/libmysqlclient.so.15.0.0
a použijeme následující příkazy:
mv libmysqlclient.so.15.0.0 /usr/lib/mysql cd /usr/lib/mysql ln -s libmysqlclient.so.15.0.0 libmysqlclient.so.15cd /usr/lib
ln -s mysql/libmysqlclient.so.15 libmysqlclient.so.15
a po té vyrastartujeme MySQL Server:
/etc/init.d/mysql restart
Po té s použitím příkazu
ldd libts3db_mysql.so
bychom měli vidět něco podobného:
linux-gate.so.1 => (0xb77ce000) libmysqlclient.so.15 => /usr/lib/libmysqlclient.so.15 (0xb75dd000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb74e8000) libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb74c1000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb74a2000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7349000) libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7330000) libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb72fe000) libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb72e6000) libz.so.1 => /lib/libz.so.1 (0xb72d1000) /lib/ld-linux.so.2 (0xb77cf000)
To by mělo být OK. Potom stačí použít můj vytvořený script na spouštění, který stáhnete ZDE a stáhneme ho do složky /etc/ts3:
wget http://blog.chury721.cz/all/ts.sh
Přiřadíme mu práva:
chmod 777 ts.sh
a po té spustíme:
./ts.sh
Vidíme výpis: Je potreba vypsat prikaz:
./ts.sh {start|stop|restart|status}
Fungují na něj standardní dodatečné příkazy Takže nyní již stačí spustit:
./ts.sh start
Vypíše se nám:
TeamSpeak 3 server started, for details please view the log file
Když se mrkneme do MySQL přes phpMyAdmina, tak vidíme něco podobného:
Nyní se stačí připojit pomocí klienta, kterého sthneme zde(já se nacházím ve Win7, takže stáhnu Windows client verzi):
http://www.teamspeak.com/?page=downloads
Počeštění programu provedete následovně. Stáhneme lagos_cs.qm a uložíme ho do:
c:\Program Files\TeamSpeak 3 Client\translations\
Po té stačí program pustit a připojit se na server.
* Pro administrátorská práva je potřeba při první přihlášení zadat klíč který najdeme na serveru ve složce: /etc/ts3/logs
Ještě malý upgrade, protože mě pokaždý, když jsem se připojil na server, nebavilo hledat a vzpomínat, kde ts3 zdrojové kody jsou(kvůli spouštějícím scriptům).
Vytvoříme ALIAS přímo pro ovládání jednoho příkazu z shellu.
Nejprve je potřeba upravit soubor /etc/ts3/ts.sh:
nano /etc/ts3/ts.sh
Kde před všechny scripty v Casu vložíme /etc/ts3/ , takže napříkad pro spuštění script vypadal:
ts3server_startscript.sh start inifile=ts3server.ini
a po úpravě vypdá:
/etc/ts3/ts3server_startscript.sh start inifile=ts3server.ini
a takto to upravíme u všech čtyřech a uložíme. Dále upravíme soubor .bashrc, který se nachází(pro každého uživateleú) v /home/nejakyUzivatel/.bashrc . Já budu opravovat uživatele root, tudíž to budu upravovat zde:
nano /root/.bashrc
Kde přidáme následující řádek:
alias ts='/etc/ts3/ts.sh'
a uložíme. Nyní stačí odhlásit/přihlásit (ukončit/začít sezení v Conzoli). a napsat v Conzoli:
ts start, ts stop
a vše by mělo fungovat zapínat/vypínat TS3 server
V případě nefunkčnosti piště. Díky