Community Forums Today's Posts     Member List     Archive    
Page 1 of 2 12 LastLast
Results 1 to 15 of 28
  1. #1
    Join Date
    Apr 2007
    Location
    Germany
    Posts
    33

    Howto: TeamSpeak 2.x mit MySQL-Server 5.x

    Da mich der Server-Umzug eine Menge Zeit und Nerven gekostet hat und es eigentlich nur an Kleinigkeiten gelegen hat, will ich euch das kleine Mini-Howto nicht vorenthalten. Ich gehe davon aus, dass er ein oder andere vielleicht über die selben Steine stolpern wird wie ich und es ihm dann eine Hilfe ist.

    Ich habe das hier beschriebene Vorgehen nun bereits zweimal erfolgreich unter Debian Sarge und Debian Etch getestet. Der Datenbank-Server muss bereits installiert sein und laufen.

    Teamspeak-Server installieren

    Der Server wird erstmal so installiert, wie es in der Anleitung (INSTALL.mysql) erklärt ist. In diesem Beispiel wird der Server in das Verzeichnis /opt/teamspeak installiert und läuft als Benutzer "teamspeak". Das neueste Release findet man auf der TS-Homepage; aktuell ist die Version 2.0.20.1.

    Code:
    mkdir /opt/teamspeak
    cd /opt/teamspeak
    
    groupadd teamspeak
    groupadd servers
    useradd -d /opt/teamspeak -g teamspeak -G servers teamspeak
    passwd teamspeak
    
    wget ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_server_rc2_20201.tar.bz2
    tar xvjf ts2_server_rc2_20201.tar.bz2
    
    cp -r tss2_rc2/* .
    rm -r tss2_rc2/
    
    chown -R teamspeak:teamspeak .
    Es sollten sich nun alle Dateien (server.ini, server.log, etc) im Verzeichnis /opt/teamspeak befinden und dem Teamspeak-Benutzer gehören.

    MySQL 3.23.x Client-Bibliotheken installieren

    Um Teamspeak mit dem MySQL Server 5.x nutzen zu können, werden in jedem Fall alte (MySQL 3.23) Client-Bibliotheken benötigt, da Teamspeak wiederum eine Bibliothek (libsqlmy.so) zum Zugriff auf MySQL nutzt, die veraltet und nicht mit den neuen Client-Bibliotheken kompatibel ist.

    Zur Installation der alten Client-Bibliotheken müssen diese lediglich in das Verzeichnis /usr/lib kopiert und zwei symbolische Links erzeugt werden. Alle anderen Anwendungen, die aktuelle Bibliotheken nutzen, werden dadurch nicht beeinflusst.

    Code:
    cd /usr/lib
    
    wget http://dafox.nb4f.de/files/libmysqlclient.so.10.0.0
    wget http://dafox.nb4f.de/files/libmysqlclient_r.so.10.0.0
    
    ln -s libmysqlclient.so.10.0.0 libmysqlclient.so.10
    ln -s libmysqlclient_r.so.10.0.0 libmysqlclient_r.so.10
    Datenbank vorbereiten

    Es muss ein Benutzer und eine leere Datenbank für den Teamspeak-Server angelegt werden. Wichtig hierbei ist, dass für diesen Benutzer das Kennwort mit der Funktion "OLD_PASSWORD()" nachträglich geändert wird, da die alte Bibliothek einen falschen Hash an die Datenbank sendet.

    Code:
    mysql -u root -p
    
    mysql> create database teamspeak;
    mysql> grant all privileges on teamspeak.* to teamspeak@localhost;
    mysql> set password for teamspeak@localhost = OLD_PASSWORD('<PW>');
    Wichtig ist in diesem Zusammenhang auch, dass der MySQL-Server mit Netzwerkunterstützung gestartet wurde (d.h. der skip-networking-Parameter in der Datei /etc/mysql/my.cnf ist auskommentiert). Ist dies nicht der Fall meldet der Server die unpassende Fehlermeldung "Invalid username/password".

    Konfigurationsdatei anpassen

    Wichtig ist hier, dass anstatt localhost die IP-Adresse des Loopback-Interfaces (127.0.0.1) verwendet wird, damit der MySQL-Client eine TCP-Verbindung zur Datenbank aufbaut und nicht über UNIX-Sockets mit dem Server verbindet. Das erübrigt sich, wenn der MySQL-Server ohne Socket-Unterstützung gestartet wurde.

    Eine zu diesem Beispiel passende Konfigurationsdatei:

    Code:
    [DBEXPRESS]
    sqldir=mysql_sql/
    Drivername=mysql
    Database=teamspeak
    Hostname=127.0.0.1
    User_name=teamspeak
    Password=xxx
    GetDriverFunc=getSQLDriverMYSQL
    VendorLib=/usr/lib/libmysqlclient_r.so.10
    LibraryName=./libsqlmy.so
    Active=1
    Server automatisch starten

    Der Server ist nun eingerichtet und kann gestartet werden. Dafür wird das Script "/etc/init.d/teamspeak" erstellt und ausführbar gemacht:

    Code:
    #!/bin/bash
    
    # User which will run the teamspeak server
    USER=teamspeak
    
    # The installation directory of the teamspeak server
    DIR=/opt/teamspeak
    
    # Run the start script
    su -c "cd $DIR && $DIR/teamspeak2-server_startscript $1" - $USER
    Nachdem das Script ausführbar gemacht wurde (chmod +x /etc/init.d/teamspeak), kann der Server gestartet werden:

    Code:
    /etc/init.d/teamspeak start
    Wenn das Script als root ausgeführt wird, wird der Teamspeak-Server automatisch als Benutzer "teamspeak" gestartet. Andere Systembenutzer werden dazu aufgefordert, das anfangs vergebene Kennwort für den Teamspeak-Benutzer einzugeben, um den Server zu starten.

    Damit der TS-Server auch beim Neustart des Systems (Runlevel 2 oder Runlevel 3) gestartet wird, muss ein Link auf das Startscript im Verzeichnis /etc/rc3.d, /etc/rc0.d/ und im Verzeichnis /etc/rc6.d/ eingerichtet werden.

    Code:
    cd /etc/rc2.d/
    ln -s ../init.d/teamspeak S99teamspeak
    Code:
    cd /etc/rc0.d/
    ln -s ../init.d/teamspeak K99teamspeak
    Code:
    cd /etc/rc6.d/
    ln -s ../init.d/teamspeak K99teamspeak
    Troubleshooting

    Wenn der Server nicht startet, dann sollte man unbedingt einen Blick in die Logdatei (/opt/teamspeak/server.log) werfen.

    Invalid username/password

    • Wird die DB mit Netzwerkunterstützung gestartet?
    • Wird in der server.ini die IP statt "localhost" verwendet?
    • Wurde das Kennwort mit OLD_PASSWORD() in der Datenbank geändert?


    Input/Output error

    • Hat der TS-Benutzer Schreibrechte in /opt/teamspeak?
    • Hat der TS-Benutzer Schreibrechte auf /dev/null?


    dbError: Operation not supported

    Siehe http://forum.goteamspeak.com/showthr...582#post114582
    Last edited by DaFox; 14-08-2007 at 20:54.

  2. #2
    Join Date
    Apr 2007
    Location
    Germany
    Posts
    98

    Thumbs up

    Erstmal ein fettes Lob für das Tut ! Ist dir gut gelungen muss ich sagen Aber ein kleiner Fehler hat sich eingeschlichen (bei den Links) Es sollte so heißen:

    MySQL 3.23.x Client-Bibliotheken installieren

    Um Teamspeak mit dem MySQL Server 5.x nutzen zu können, werden in jedem Fall alte (MySQL 3.23) Client-Bibliotheken benötigt, da Teamspeak wiederum eine Bibliothek (libsqlmy.so) zum Zugriff auf MySQL nutzt, die veraltet und nicht mit den neuen Client-Bibliotheken kompatibel ist.

    Zur Installation der alten Client-Bibliotheken müssen diese lediglich in das Verzeichnis /usr/lib kopiert und zwei symbolische Links erzeugt werden. Alle anderen Anwendungen, die aktuelle Bibliotheken nutzen, werden dadurch nicht beeinflusst.


    Code:
    cd /usr/lib
    
    wget http://dafox.nb4f.de/files/libmysqlclient.so.10.0.0
    wget http://dafox.nb4f.de/files/libmysqlclient_r.so.10.0.0
    
    ln -s libmysqlclient.so.10.0.0 libmysqlclient.so.10
    ln -s libmysqlclient_r.so.10.0.0 libmysqlclient_r.so.10

    Aber ansonsten TOP ! Vielleicht könntest du ja mal schauen, an was es bei mir liegen könnte, dass es nicht klappt ( http://forum.goteamspeak.com/showthr...342#post159342 )

  3. #3
    Join Date
    Oct 2002
    Location
    Germany
    Posts
    24

    Thumbs up

    Geiles Tutorial.
    Und ohne den zusatz von Lil-rich hätte es auch nicht geklappt.

    Danke Jungs !!!

  4. #4
    Join Date
    Dec 2006
    Location
    Germany, Bay, Würzburg,...
    Posts
    3,158
    vielleicht sollte das mal jemand sticky machen?

  5. #5
    Join Date
    Aug 2005
    Location
    Germany
    Posts
    76

    Talking

    Quote Originally Posted by Hook88 View Post
    vielleicht sollte das mal jemand sticky machen?
    "Push"

    Zustimm.


    mfg
    AMA

  6. #6
    Join Date
    Aug 2007
    Location
    germany
    Posts
    6
    Hi!
    Ich habe nur den Teil mit dem Systemstart gemacht. Weil mein TS-Server nicht mit mysql läuft. Leider startet aber meij server jetzt nicht nach reboot. ich kann ihn per /etc/init.d/teamspeak start starten, aber nach systemstart startet er nicht.

    Der ts-server läuft unter dem benutzer "teamspeak" der ein passwort hat.
    bitte um hilfe!

  7. #7
    Join Date
    Apr 2007
    Location
    Germany
    Posts
    33
    Quote Originally Posted by splinter263 View Post
    Hi!
    Ich habe nur den Teil mit dem Systemstart gemacht. Weil mein TS-Server nicht mit mysql läuft. Leider startet aber meij server jetzt nicht nach reboot. ich kann ihn per /etc/init.d/teamspeak start starten, aber nach systemstart startet er nicht.

    Der ts-server läuft unter dem benutzer "teamspeak" der ein passwort hat.
    bitte um hilfe!
    Du musst das ggf. im Runlevel 2 verlinken, bei Debian ist das sogar sehr wahrscheinlich. Es kann auch nicht schaden, dass Killscript neben Runlevel 0 zusätzlich im Runlevel 6 zu verlinken, damit der Server immer sauber gestoppt wird.

    Schau mal in deine /etc/inittab, welches dein Default-Runlevel ist:

    Code:
    grep default /etc/inittab
    Wenn dort id:2:initdefault steht, dann musst du den Link anstatt in /etc/rc3.d in /etc/rc2.d erstellen. Ich habe das im Howto ergänzt.

  8. #8
    Join Date
    Dec 2006
    Location
    NRW
    Posts
    3
    Hi DaFox,
    ich habe das selbe Problem wie splinter263

    Originally Posted by splinter263 View Post
    Hi!
    Ich habe nur den Teil mit dem Systemstart gemacht. Weil mein TS-Server nicht mit mysql läuft. Leider startet aber meij server jetzt nicht nach reboot. ich kann ihn per /etc/init.d/teamspeak start starten, aber nach systemstart startet er nicht.

    Der ts-server läuft unter dem benutzer "teamspeak" der ein passwort hat.
    bitte um hilfe!
    Du musst das ggf. im Runlevel 2 verlinken, bei Debian ist das sogar sehr wahrscheinlich. Es kann auch nicht schaden, dass Killscript neben Runlevel 0 zusätzlich im Runlevel 6 zu verlinken, damit der Server immer sauber gestoppt wird.

    Schau mal in deine /etc/inittab, welches dein Default-Runlevel ist:

    Code:

    grep default /etc/inittab

    Wenn dort id:2:initdefault steht, dann musst du den Link anstatt in /etc/rc3.d in /etc/rc2.d erstellen. Ich habe das im Howto ergänzt.
    meine Ausgabe bei grep default /etc/inittab :

    # runlevel 0 is System halt (Do not use this for initdefault!)
    # runlevel 6 is System reboot (Do not use this for initdefault!)

    was mach ich falsch?
    Wo genau muss S99 und K99 gesetzt werden? Habe runlevel 0 (rc0.d) - 6 (rc6.d)

    gruss und herzlichen Dank

    Ostpower

  9. #9
    Join Date
    Oct 2007
    Location
    Germany
    Posts
    3
    Was mach ich mit dieser konfigurationsdatei?

    Wo mus sie hin?


    [DBEXPRESS]
    sqldir=mysql_sql/
    Drivername=mysql
    Database=teamspeak
    Hostname=127.0.0.1
    User_name=teamspeak
    Password=xxx
    GetDriverFunc=getSQLDriverMYSQL
    VendorLib=/usr/lib/libmysqlclient_r.so.10
    LibraryName=./libsqlmy.so
    Active=1
    Last edited by G-Evil; 10-10-2007 at 17:12.

  10. #10
    Join Date
    Oct 2008
    Location
    Deutschland
    Posts
    1

    Question

    Hallo,

    ich hab nen TS-Server der läuft schon länger.

    Nun wollte ich den auf Mysql umstellen.

    Habe das
    Code:
    [DBEXPRESS]
    sqldir=mysql_sql/
    Drivername=mysql
    Database=teamspeak
    Hostname=127.0.0.1
    User_name=teamspeak
    Password=xxx
    GetDriverFunc=getSQLDriverMYSQL
    VendorLib=/usr/lib/libmysqlclient_r.so.10
    LibraryName=./libsqlmy.so
    Active=1
    zur server.ini hinzugefügt, natürlich mit meinen Daten.

    Wenn ich ihn nun starte, startet er zwar aber ohne mysql.

    Er meldet euch keinen fehler iregendwie.

    Woran kann das liegen ?

  11. #11
    Join Date
    Oct 2008
    Location
    Germany
    Posts
    2
    Erstmal danke für die gute Anleitung.

    Es hat FAST alles geklappt. Teamspeak wurde gestartet, Inhalte der Datenbank wurden erstellt u.s.w.

    Nun habe ich aber das Problem, dass ich mich als Admin gar nicht einloggen kann über das Webintarface. Er lädt und lädt und lädt, es passiert aber gar nichts.

    Und wenn ich mich als Superadmin einlogge, was geht, kann ich aber keine Änderungen vornehmen. Dann kommt immer die Fehlermeldung: your selected server is invalid

    Was habe ich da noch falsch gemacht? Der Server läuft ja und die Files in der Datenbank sind auch enthalten. Leider bekomme ich bei der suche immer eine Fehlermeldung bzw. nur eine leere Seite geht auf. Deshalb bitte ich um Entschuldigung, falls dieses schon irgendwo erwähnt worden ist.

    So sieht die server.log aus:
    -------------- log started at 18-10-08 13:59 -------------
    ---------------------------------------------------------------
    18-10-08 13:59:03,ALL,Info,server, Server init initialized
    18-10-08 13:59:03,ALL,Info,server, Server version: 2.0.23.19 Linux
    18-10-08 13:59:03,WARNING,Info,SQL, created table ts2_servers
    18-10-08 13:59:03,WARNING,Info,SQL, created table ts2_server_privileges
    18-10-08 13:59:03,WARNING,Info,SQL, created table ts2_channels
    18-10-08 13:59:03,WARNING,Info,SQL, created table ts2_channel_privileges
    18-10-08 13:59:03,WARNING,Info,SQL, created table ts2_clients
    18-10-08 13:59:03,WARNING,Info,SQL, created table ts2_bans
    18-10-08 13:59:04,ALL,Info,server, Starting VirtualServer id:1 with port:8767
    18-10-08 13:59:04,ALL,Info,server, Started VirtualServer id:1 with port:8767
    18-10-08 13:59:04,WARNING,Info,SERVER, Default VirtualServer created
    18-10-08 13:59:04,WARNING,Info,SERVER, admin account info: username: admin password: xxxxx
    18-10-08 13:59:04,WARNING,Info,SERVER, superadmin account info: username: superadmin password: xxxxx
    18-10-08 13:59:05,ALL,Info,server, Server init finished
    18-10-08 13:59:05,WARNING,Info,server, TeamSpeak Server daemon activated
    18-10-08 13:59:48,ERROR,All,WEBINTERFACE, Progress_COMMAND Exception: EInvalidField.field b_sp_AdminEditServerWelcomeMessage not found
    18-10-08 14:05:48,ERROR,All,WEBINTERFACE, Progress_COMMAND Exception: EInvalidField.field b_sp_AdminEditServerWelcomeMessage not found
    18-10-08 14:06:40,ERROR,All,WEBINTERFACE, SetVariables Exception: EInvalidField.field b_sp_AdminEditServerWelcomeMessage not found
    18-10-08 14:06:41,ERROR,All,WEBINTERFACE, SetVariables Exception: EInvalidField.field b_sp_AdminEditServerWelcomeMessage not found
    18-10-08 14:06:43,ERROR,All,WEBINTERFACE, SetVariables Exception: EInvalidField.field b_sp_AdminEditServerWelcomeMessage not found
    18-10-08 14:06:44,ERROR,All,WEBINTERFACE, SetVariables Exception: EInvalidField.field b_sp_AdminEditServerWelcomeMessage not found
    18-10-08 14:06:46,ERROR,All,WEBINTERFACE, SetVariables Exception: EInvalidField.field b_sp_AdminEditServerWelcomeMessage not found
    18-10-08 14:06:47,ERROR,All,WEBINTERFACE, SetVariables Exception: EInvalidField.field b_sp_AdminEditServerWelcomeMessage not found
    18-10-08 14:07:05,ERROR,All,WEBINTERFACE, SetVariables Exception: EInvalidField.field b_sp_AdminEditServerWelcomeMessage not found
    System
    VServer
    Ubuntu
    Plesk 8.6
    Ports in der Plesk Firewll eingetragen.

    In Plesk habe ich über die Firewall die Ports UDP 8767, TCP 51234 und TCO 14534 jeweils den Eingang/ausgang und Weiterleitung von belibiegen Hosts erlaubt. Allerdings erst nachdem Ts schon gestartet war. Sollte ich noch irgendetwas neustarten?
    Last edited by DFCDay; 18-10-2008 at 13:37.

  12. #12
    Join Date
    Oct 2008
    Location
    GErmany
    Posts
    1
    Wie kann ich die Datenbank hinterher noch installieren.

    Ich hab bereits einige server laufen wie bekomme ich die daten nun in die Datenbank.

    Bitte um hilfe desse

  13. #13
    Join Date
    Dec 2006
    Location
    Germany, Bay, Würzburg,...
    Posts
    3,158
    Quote Originally Posted by BC-Radio View Post
    Wie kann ich die Datenbank hinterher noch installieren.

    Ich hab bereits einige server laufen wie bekomme ich die daten nun in die Datenbank.

    Bitte um hilfe desse
    Die Datenbank des TeamSpeakservers ist nichts anderes als eine ganz normale SQLite-Datenbank. Deshalb benötigst du einen Converter, der dir die Datenbank ins MySQL-Format bringt. Dieses Tool kann dir hoffentlich helfen!

  14. #14
    Join Date
    Jan 2009
    Location
    AtHome
    Posts
    3
    Sehr geehrte Damen und Herren,

    ich bin derzeit daran am Arbeiten das mein TS Server unter MySQL läuft, schon unteranderem deswegen, damit sich andere Personen über die WebSite registrieren können und durch die Suche kam ich eben auf diesen Lösungsweg.

    Habe diesem Tutorial gefolgt, leider aber bekomme ich die Fehlermeldung "Invalid Username/Password" obwohl die Daten alle Korrekt eingetragen sind und auch in der Datenbank Korrekt sind.

    Ich sitze bereits seit mehreren Tagen daran und hänge nun an diesem Punkt fest welcher so schnell wie möglich behoben werden sollte, denn solang diese Fehlermeldung nun kommt ist der TS Server erstmals Offline. Ich weiß zwar das ich den wieder Online nehmen könnte, aber ich will mir die Zeit ersparen alles hinterher zu Konvertieren.

    Also das Operating System ist Suse Linux auf einem vServer. MySQL Version ist 4.021 womit es auch klappen sollte.

    Bei weiteren Fragen bin ich Anwesend und hoffe das jemand eine Lösung weiß.

    Vielen Dank

    Mit freundlichem Gruß
    Amai123

  15. #15
    Join Date
    Dec 2006
    Location
    Germany, Bay, Würzburg,...
    Posts
    3,158
    Quote Originally Posted by Amai123 View Post
    ich bin derzeit daran am Arbeiten das mein TS Server unter MySQL läuft, schon unteranderem deswegen, damit sich andere Personen über die WebSite registrieren können und durch die Suche kam ich eben auf diesen Lösungsweg.
    Benutze zur Benutzerregistration einfach die TCP-Queryschnittstelle des Servers. Gibst du den befehl 'help' ein, bekommst du eine Liste aller Befehle, die zur Verfügung stehen.
    Mit dem Befehl sql kannst du auch Datenbankabfragen auf die SQLite-Datenbank des Servers durchführen. Diese Möglichkeit ist um einiges leichter, als den Server über MySQL laufen zu lassen.

    php5 kann übrigens auch auf die sqlite-Datenbank des TeamSpeakservers genauso wie auf eine mysql-Datenbank zugreifen.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Router problems
    By bigteam0385 in forum [TeamSpeak 2] Server Support
    Replies: 4
    Last Post: 24-05-2011, 10:53
  2. Teamspeak mit MySQL Startet nicht - Operation not Suported
    By Dunkelbier in forum [TeamSpeak 2] Server Support
    Replies: 1
    Last Post: 05-02-2007, 17:22
  3. TeamSpeak 2.x with MySQL 5.x - Tutorial
    By yahooadam in forum [TeamSpeak 2] Server Support
    Replies: 2
    Last Post: 14-09-2006, 20:09
  4. The novel lol
    By Plebby in forum [TeamSpeak 2] Client Support
    Replies: 0
    Last Post: 02-01-2006, 12:24
  5. TS server and wn 98 probs ?
    By ghboom in forum [TeamSpeak 2] Server Support
    Replies: 0
    Last Post: 30-05-2003, 06:05

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •