TeamSpeak 3 Server mit ts3server.ini konfigurieren

    • Official Post

    Hallo liebe Community,


    ich möchte euch gerne die "ts3server.ini" etwas näher bringen. Dazu werde ich euch erstmal erklären, was sie überhaupt ist, was sie bringt und was man damit alles schönes anstellen kann. :)


    Inhaltsverzeichnis

    • Was ist die ts3server.ini überhaupt?
    • Welchen Nutzen bringt mir die ts3server.ini?
    • Wie benutzt man die ts3server.ini?
    • Tipp für Linux basierte Server


    • Was ist die ts3server.ini überhaupt?
      Bei der 'ts3server.ini' handelt es sich um eine einfache Text-Datei, welche für den TeamSpeak 3 Server als Konfigurationsdatei dient.


      Einstellungen werden doch per ServerQuery oder pro virtuellen Server entsprechend eingestellt, wozu benötige ich dann diese Konfigurationsdatei? Das ist korrekt, jedoch bezieht sich die Konfigurationsdatei nicht auf die virtuellen Server oder einstellbaren Funktionen der TeamSpeak 3 Server Instanz, sondern auf die TeamSpeak 3 Server Instanz im Sinne der Konfiguration, wo sie was während des Startvorganges findet. Siehe auch bei Punkt 2 für weitere Details.


    • Welchen Nutzen bringt mir die ts3server.ini?

      • Wenn mehrere IP-Adressen vorhanden sind, können auf einer physikalischen Maschine auch mehrere TeamSpeak 3 Server Instanzen gestartet werden, da man dem TeamSpeak 3 Server sagen kann, auf welcher IP-Adresse er lauschen soll


        Standardmäßig ist hier '0.0.0.0' (IPv4) und '::' (IPv6 ab Server Version 3.0.13) eingestellt. Diese IP-Adresse wird von und für jedes Betriebssystem automatisch vergeben, wenn sie keine Route(n) kennen, um in ein anderes Netz zu gelangen. Sie verweist auch auf das aktuelle Netz und ist nur als Quell-Adresse gültig.


        Diese IP-Adresse ist auch in jeder Routing-Tabelle zu finden. Hier ein Beispiel von einer Windows Routing-Tabelle:

        Code
        C:\Users\Max>route print -4[...]IPv4-Routentabelle===========================================================================Aktive Routen:     Netzwerkziel    Netzwerkmaske          Gateway    Schnittstelle Metrik          0.0.0.0          0.0.0.0        192.0.2.1       192.0.2.39     25        127.0.0.0        255.0.0.0   Auf Verbindung        127.0.0.1    306        127.0.0.1  255.255.255.255   Auf Verbindung        127.0.0.1    306  127.255.255.255  255.255.255.255   Auf Verbindung        127.0.0.1    306	192.0.2.0    255.255.255.0   Auf Verbindung       192.0.2.39    281       192.0.2.39  255.255.255.255   Auf Verbindung       192.0.2.39    281      192.0.2.255  255.255.255.255   Auf Verbindung       192.0.2.39    281        224.0.0.0        240.0.0.0   Auf Verbindung        127.0.0.1    306        224.0.0.0        240.0.0.0   Auf Verbindung       192.0.2.39    281  255.255.255.255  255.255.255.255   Auf Verbindung        127.0.0.1    306  255.255.255.255  255.255.255.255   Auf Verbindung       192.0.2.39    281===========================================================================[...]


      • Benutzerdefinierte Dateinamen und Pfade für die Query IP Black- und Whitelist


      • Dateitransfer-, "Standard" Voice- und Query-Port können geändert werden
        Der Query-Port ist standardmäßig 10011 und sollte gerade bei großen Unternehmen geändert werden, um die Hackerangriffe auf die Standard-Ports zu vermeiden.


      • Benutzerdefinierte Pfade für die Log-Dateien, SQL-Datenbank, Lizenz und einige weitere Dateien


    • Wie benutzt man die ts3server.ini?

      • Erst muss die Datei vom Server generiert werden. Hierzu führt ruft man einfach die Binär-Datei des Servers mit einem zusätzlichen Parameter auf:
        Linux:

        Code
        ts3server createinifile=1


        beziehungsweise

        Code
        ts3server createinifile=1


        Windows:

        Code
        ts3server.exe createinifile=1


        Mac:

        Code
        ts3server createinifile=1


      • Nachdem sie generiert ist, kann man sie mit einem Text-Editor seiner Wahl bearbeiten und anpassen:
        Linux:

        Code
        nano ts3server.ini


        Windows:

        Code
        notepad ts3server.ini


        Mac:

        Code
        open -e ts3server.ini


        Die Datei sieht dann wie folgt aus:


      • Nachdem die Datei angepasst wurde, muss man dem Server beim Start natürlich noch mitteilen, dass er sie verwenden soll. Standardmäßig benutzt er sie nämlich nicht, auch wenn sie vorhanden ist. Hierzu muss man den Server beim Starten einfach wie folgt aufrufen:
        Linux:

        Code
        ./ts3server_startscript.sh start inifile=ts3server.ini


        Windows:

        Code
        ts3server.exe inifile=ts3server.ini


        Mac:

        Code
        ./ts3server inifile=ts3server.ini



    • Tipp für Linux basierte Server
      Um nicht bei jedem Start des TeamSpeak 3 Servers die INI-Datei angeben zu müssen, kann man den Parameter auch in die ts3server_startscript.sh fest reinschreiben. Hierzu ändert man einfach die nachfolgende Zeile

      Quote from ts3server_startscript.sh

      COMMANDLINE_PARAMETERS="${2}" #add any command line parameters you want to pass here


      wie folgt ab

      Quote from ts3server_startscript.sh

      COMMANDLINE_PARAMETERS="${2} inifile=ts3server.ini" #add any command line parameters you want to pass here


    Ich hoffe ich konnte euch helfen und einen tieferen Einblick in den TeamSpeak 3 Server geben. :)

    • Official Post

    Vielen Dank für dein Feedback! :)


    Ich habe mich noch nicht mit den Datenbanken (SQLite, MySQL) zum Thema TeamSpeak auseinander gesetzt, daher kann ich dazu auch nichts sagen und bevor ich etwas falsches schreibe, überlasse ich es lieber jemanden, der damit bereits Erfahrung hat. ;)

  • Ahoihoi,


    Ich hab MySQL bei ein paar Servern laufen. Die Umstellung ist sehr einfach, wenn man es gleich zu Anfang macht (weil die Datenbank ja noch leer ist). Am einfachsten vor dem ersten Start, oder nochmal neu installieren mit MySQL.


    Nachträglich geht es auch, man muss allerdings einiges beachten, weil man die Daten aus der SQLite Datei in die MySQL Datenbank übertragen und umwandeln muss. Nachdem die Befehle aber ähnlich sind ist ein SQLite Dump fast 1:1 bei MySQL ausführbar. Natürlich gehen alle Änderungen zwischen Dump (also exportieren aus der SQLite Datei) und dem Einspielen in die MySQL Datenbank verloren. Hier heißt es also schnell sein, wenn man das auf einem Server macht, auf dem viele Leute, oder virtuelle Server sind.


    Danach die ini bearbeiten und neu starten.


    Vor und Nachteile:


    MySQL ist deutlich schneller!
    Bei der Umstellung auf einem Server mit ca 100 Servern und 2500 Slots habe ich die Downtime bei einem Update von ca 30 Sekunden auf !! 4 Sekunden reduzieren können.
    Ist aber auch irgendwie klar, weil SQLite ja genaugenommen nur ein Textfile ist in dem der Server erst alles suchen muss. MySQL hat eigene Logik um die Daten auszuliefern und hält auch viel im RAM vor.


    SQLite ist schon fix/fertig dabei
    Natürlich ist SQLite keine Arbeit und funktioniert automatisch. MySQL muss man erst installieren/konfigurieren und dann natürlich entsprechend gegen Angriffe sichern.
    Für Server unter 1000 Slots würde ich kein MySQL verwenden, weil der Geschwindigkeitsvorteil da noch nicht wirklich merkbar ist.


    Vorsicht bei Updates und MySQL
    Wenn die ini nicht mit übernommen wird, bzw. im Verzeichnis bleibt, erstellt TS eine neue SQLite Datei und alle Daten sind "weg".
    Natürlich sind sie noch in der Datenbank, aber man muss die ini wieder erstellen/kopieren und den Server nochmal neu starten.


    Eine Anleitung, wie das ganze funktioniert, wäre sicher auch noch hilfreich, aber vielleicht hat da ja jemand anders Lust :)


    mfg Thomas

  • This threads contains 11 more posts that have been hidden for guests, please register yourself or log-in to continue reading.