TeamSpeak 3 Server mit ts3server.ini konfigurieren

  • 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
        1. 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
        1. ts3server createinifile=1


        beziehungsweise

        Code
        1. ts3server createinifile=1


        Windows:

        Code
        1. ts3server.exe createinifile=1


        Mac:

        Code
        1. ts3server createinifile=1


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

        Code
        1. nano ts3server.ini


        Windows:

        Code
        1. notepad ts3server.ini


        Mac:

        Code
        1. 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
        1. ./ts3server_startscript.sh start inifile=ts3server.ini


        Windows:

        Code
        1. ts3server.exe inifile=ts3server.ini


        Mac:

        Code
        1. ./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. :)

  • 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

  • normalerweise solltest du ausschließlich das ts3server_startscript.sh ausführen, wenn du fixe parameter hast kannst du diese auch da eintragen
    > mit einem editor öffnen
    > am anfang die Zeile mit "COMMANDLINE_PARAMETERS="${2}" #add any command line parameters you want to pass here" finden
    > Parameter hinzufügen


    das ganze sieht dann so aus:

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


    dann kannst du bequem über das ts3server_startscript.sh starten ohne gedanken zu machen iwelche Parameter zu vergessen
    das einzige bei dem du dir gedanken machen solltest ist wenn du ein Update des TS3 Servers durchführst da das ts3server_startscript.sh überschrieben wird und deine Parameter dann weg sind

  • Bei mir startet es irgendwie mit der ts3server_startcript.sh nicht....


    Habe das Problem... da steht:
    bind failed on 0.0.0.0:PORT
    Ich wollte eig. den Pport von query und filetransfer....


    Gibt es da irgendwelche begrenzten zahlen, die verwendet werden dürfen? Weil ich hab jz einfach 5 beliebige Zahlen genommen...

  • moin moin,


    Kein plan warum aber bei funkioniert kein Guide so wie im Guide beschrieben, egal zu welchem Thema. Der hier leider auch nicht.


    Die Datei Ts3server.ini konnt ich nicht mit "ts3server createinifile=1" generieren, sondern mit " bash ts3server_startscript.sh start createinifile=1" und öffnen kann ihc die auch nicht je nachdem was ich eingeben ob nano, pico vim/vi, ob mit mit bash und sudo ob nur mit bash oder nur mit sudo. Eer erzählt mir entweder "not such file or directory" oder "cannot execute binary files".


    Weiß da wer abhilfe? Müsste den Query Port änder, da der standard port vom hoster unserer Domain nicht unterstüzt wird und ohne unser TSViewer nicht läuft.

  • Hallo,
    die Datei, die du ausführen möchtest, muss ausführbar sein.


    Das ist am Rechtebit "x" erkennbar:

    Code
    1. $ ls -lh...-rwxr-xr-x 1 teamspeak teamspeak 7,8M Nov 8 09:57 ts3server...


    Wenn das nicht gesetzt ist, kannst du es nachtragen:

    Code
    1. chmod +x ts3server
  • Lade die Server Dateien bitte nochmal neu herunter - wenn die Rechte entsprechend korrekt gesetzt sind, kann es nur noch eine fehlerhafte / kaputte Binary sein.


    Btw: Du führst es aber schon so aus, oder?

    Code
    1. ./ts3server createinifile=1
  • das inifile hab ich ja kann aber irgendwie nichts öffnen oder bearbeiten entweder isses kein FIle, er kann das binary nicht ausführen oder er sacht einfach gar nichts.


    Aber der TsServer läuft nsonsten.


    Egal ich hab jetzt den Server enu aufgestzt, vlt hab ich irgendwo n Fehler gemacht bin noch relativ neu bei Linux und co.



    Update:


    Hm hab jetzt n neues Image aufgespielt bon von ubuntu zu Deabian, hab aber auch hier das Problem, egal was ich machen will er sagt cannot execute binary file. AUch bei sachen iwe "apt-get update". Muss mich mich mal an den Hoster des Servers wenden sind ja seine Imgaes und nicht meine.

  • Mit Debian kann ich das Inifile nicht mal erstellen er meckert immer nur "cannot execute binary Files".


    Gibt es da ne andere Mglichkeit den Queryport dauerhaft zu ändern?