Instalacja serwera TeamSpeak 3 na Centos 1


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 🙂

ts3_logo

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/

http://blog.dastrup.com/?p=300


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Komentarz do “Instalacja serwera TeamSpeak 3 na Centos