Coraz bardziej wciągająca mnie rozgrywka w różne gry multiplayer-owe (World of Tanks, Planetside 2) wymusiła na mnie konieczność posiadania własnego serwera TeamSpeak w celu porozumiewania się ze znajomymi i cieszenia się w pełni z rozgrywki 🙂
Po pierwsze musimy zalogować się na nasz serwer jako root i wydać kilka poleceń tworzących nam użytkownika ts3:
useradd -g users ts3 -d /home/ts3
passwd ts3
Po tym poleceniu podajemy dwukrotnie hasło dla naszego nowego użytkownika ts3.
A następnie logujemy się jako on:
su - ts3
sprawdzamy poleceniem pwd czy znajdujemy się w katalogu /home/ts3:
$ pwd
/home/ts3
Przechodzimy na stronę http://teamspeak.gameserver.gamed.de/ts3/releases/ i wybieramy wersję jaką chcemy (na dzień dzisiejszy najbardziej aktualna wersja serwera to 3.0.8), oraz wybieramy odpowiednią dla naszej architektury paczkę dla linuxa.
W moim przypadku bezie to teamspeak3-server_linux-x86-3.0.8.tar.gz ponieważ posiadam 32 bitową architekturę systemu. Następnie kopiujemy adres odnośnika pliku i na serwerze w katalogu domowym użytkownika ts3 pobieramy ten plik poleceniem:
wget -c http://teamspeak.gameserver.gamed.de/ts3/releases/3.0.8/teamspeak3-server_linux-x86-3.0.8.tar.gz
Jeśli wyskoczy błąd że wget – nieznane polecenie należy jako root doinstalować wget poleceniem yum install wget.
Po pobraniu rozpakowujemy archiwum poleceniem:
tar xvzf teamspeak3-server_linux-*
wchodzimy do katalogu rozpakowanego archiwum poleceniem:
cd teamspeak3-server_linux-*
i uruchamiamy nasz server teamspeak po raz pierwszy poleceniem:
./ts3server_minimal_runscript.sh
Po uruchomieniu otrzymasz w konsoli coś sporo informacji a między nimi coś takiego:
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
Server Query Admin Account created
loginname= "serveradmin", password= "2ocfgCOupl"
------------------------------------------------------------------
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
ServerAdmin privilege key created, please use it to gain
serveradmin rights for your virtualserver. please
also check the doc/privilegekey_guide.txt for details.
token=Srt4N2qV3lVJpvV8TsUT18GkswM5lAmeFIbSGxBhpl
------------------------------------------------------------------
Skopiuj z konsoli te informacje z nagłówkami Important, będą one potrzebne i nie wyświetlą się już ponownie.
Przerywamy pracę serwera teamspeak kombinacją klawiszy Ctrl + C
Teraz naszym zadaniem bezie utworzenie pliku startowego który umożliwi nam zarządzać procesem serwera teamspeak za pomocą polecenia service.
Ponownie jako root przechodzimy do katalogu /etc/init.d:
cd /etc/init.d
i tworzymy plik ts3:
touch ts3 && chmod 0755 ts3
edytujemy go za pomocą mcedit lub nano:
mcedit ts3
i wklejamy poniższą zawartość:
#!/bin/bash
# /etc/init.d/ts3
### BEGIN INIT INFO
# Provides: teamspeak
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Teamspeak 3 Server
# chkconfig: 2345 94 05
# Description: Starts the Teamspeak 3 server
### END INIT INFO
# Settings
SERVICENAME='Teamspeak 3 Servers'
SPATH='/home/ts3/teamspeak3-server_linux-*'
SERVICE='/home/ts3/teamspeak3-server_linux-*/ts3server_startscript.sh'
OPTIONS='inifile=ts3server.ini'
USERNAME='ts3'
ME=`whoami`
as_user() {
if [ $ME == $USERNAME ] ; then
bash -c "$1"
else
su - $USERNAME -c "$1"
fi
}
mc_start() {
echo "Starting $SERVICENAME..."
cd $SPATH
as_user "cd $SPATH && $SERVICE start ${OPTIONS}"
}
mc_stop() {
echo "Stopping $SERVICENAME"
as_user "$SERVICE stop"
}
# Start and stop the service here
case "$1" in
start)
mc_start
;;
stop)
mc_stop
;;
restart)
mc_stop
mc_start
;;
*)
echo "Usage: /etc/init.d/ts3 {start|stop|restart}"
exit 1
;;
esac
exit 0
Zapisujemy F2 i wychodzimy F10.
Uruchamiamy usługę poleceniem:
service ts3 start
i otrzymamy informację że serwer został uruchomiony.
Teraz możemy dodać nasz serwer teamspeak do uruchamiania podczas startu systemu:
chkconfig --add ts3
chkconfig ts3 on
Musimy jeszcze dodać bazę do mysql dla teamspeaka (jeśli nie mamy mysql to dodajemy repo epl i instalujemy odpowiednie pakiety) poleceniami:
mysql -u root -p
create database teamspeak;
grant all on teamspeak.* to 'ts3'@'localhost' identified by 'ZMIEN_NA_SWOJE_HASLO';
grant all on teamspeak.* to 'ts3'@'127.0.0.1' identified by 'ZMIEN_NA_SWOJE_HASLO';
flush privileges;
exit
Gdzie ZMIEN_NA_SWOJE_HASLO to hasło naszego użytkownika ts3 do bazy danych.
(Jeśli nie korzystamy jeszcze z mysql to teraz dodajemy go do uruchamiania poleceniem chkconfig mysqld on).
Teraz tworzymy jako użytkownik ts3 plik konfiguracyjny ts3server.ini:
su - ts3
cd teamspeak3-server_linux-*
touch ts3server.ini
i edytujemy go poleceniem:
mcedit ts3server.ini
A w jego zawartość wklejamy:
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
query_ip_whitelist=query_ip_whitelist.txt
query_ip_blacklist=query_ip_blacklist.txt
dbplugin=ts3db_mysql
dbpluginparameter=ts3db_mysql.ini
dbsqlpath=sql/
dbsqlcreatepath=create_mysql/
dbconnections=10
logpath=logs
logquerycommands=0
dbclientkeepdays=30
logappend=0
Zapisujemy F2 i wychodzimy F10, teraz tworzymy i edytujemy plik ts3db_mysql.ini:
touch ts3db_mysql.ini
mcedit ts3db_mysql.ini
Następnie wypełniając go danymi:
[config]
host=localhost
port=3306
username=ts3
password=ZMIEN_NA_SWOJE_HASLO
database=ts3
socket=
Gdzie ZMIEN_NA_SWOJE_HASLO jest hasłem podanym wcześniej w uprawnieniach do bazy danych. Zapisujemy F2 i wychodzimy F10.
Teraz jako root pobieramy i rozpakowujemy plik libmysqlclient.so_.15.0.zip:
su
wget -c https://blog.sloniupl.eu/wp-content/uploads/2013/08/MySQL-shared-compat-5.6.10-1.linux_glibc2.5.i386.rpm
rpm -Uvh MySQL-shared-compat-5.6.10-1.linux_glibc2.5.i386.rpm
dla 64 bitów nazwa pliku to MySQL-shared-compat-6.0.11-0.rhel5.x86_64.rpm (podmień w linku i w poleceniu rpm).
Pliki rpm MySQL-shared-compat odpowiednie dla naszej wersji możemy również pobrać ze strony:
http://rpm.pbone.net/index.php3?stat=3&limit=1&srodzaj=3&dl=40&search=MySQL-shared-compat
!!WAŻNE!!
Po każdej aktualizacji mysql należy zainstalować ponownie pakiet mysql-libs:
yum install mysql-libs
a nastepnie zainstalować ponownie MySQL-shared-compat według metody podanej powyżej.
Na koniec odblokowujemy porty dla teamspeaka edytując plik /etc/sysconfig/iptables:
mcedit /etc/sysconfig/iptables
I wklejamy dodatkowe trzy linijki w odpowiednie miejsce:
-A INPUT -m state --state NEW -m udp -p udp --dport 9987 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10011 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30033 -j ACCEPT
Restartujemy usługę:
service iptables restart
I gotowe 🙂
Linkografia:
https://martial-design.com/how-to-install-a-teamspeak-3-server-on-centos-6/
No dobrze skonfigurowany TeamSpeak to podstawa do dobrego giercowania. Wszystkim fanom multi polecam korzystanie podczas rozgrywki – instalkę znajdziecie tutaj: http://www.instalki.pl/programy/download/Windows/komunikatory/TeamSpeak.html