Beiträge von Sebbo

    Hallo,


    nur als Vorschlag, der immer gehen sollte - egal ob der Server online, oder offline ist: Hol dir eine Liste aller virtuellen Server IDs und prüfe dann, ob in der Datenbank-Tabelle "client_properties" ein entsprechender Eintrag existiert oder nicht.


    Nachfolgend die DB Strukturen:

    Code
    > DESCRIBE servers;+-----------------------+---------------------+------+-----+---------+----------------+| Field                 | Type                | Null | Key | Default | Extra          |+-----------------------+---------------------+------+-----+---------+----------------+| server_id             | int(11)             | NO   | PRI | NULL    | auto_increment || server_port           | int(10) unsigned    | YES  | MUL | NULL    |                || server_autostart      | int(10) unsigned    | YES  |     | NULL    |                || server_machine_id     | varchar(50)         | YES  |     | NULL    |                || server_month_upload   | bigint(20) unsigned | YES  |     | 0       |                || server_month_download | bigint(20) unsigned | YES  |     | 0       |                || server_total_upload   | bigint(20) unsigned | YES  |     | 0       |                || server_total_download | bigint(20) unsigned | YES  |     | 0       |                |+-----------------------+---------------------+------+-----+---------+----------------+8 rows in set (0.00 sec)


    Code
    > DESCRIBE client_properties;+-----------+------------------+------+-----+---------+-------+| Field     | Type             | Null | Key | Default | Extra |+-----------+------------------+------+-----+---------+-------+| server_id | int(10) unsigned | YES  | MUL | NULL    |       || id        | int(10) unsigned | YES  | MUL | NULL    |       || ident     | varchar(100)     | NO   |     | NULL    |       || value     | varchar(255)     | YES  |     | NULL    |       |+-----------+------------------+------+-----+---------+-------+4 rows in set (0.00 sec)


    Die SQLite und MariaDB bzw. MySQL Datenbanken sind vollständig identisch aufgebaut - lediglich auf einer anderen Engine. ;)


    "Pseudocode":

    Code
    > SELECT server_id FROM servers;+-----------+| server_id |+-----------+|         1 ||         2 ||         3 ||         4 ||         5 |+-----------+5 rows in set (0.00 sec)


    Für jede virtuelle Server ID dann folgendes:

    Code
    > SELECT id FROM client_properties WHERE server_id=1 GROUP BY id;
    +------+
    | id   |
    +------+
    |    2 |
    |  416 |
    |  452 |
    |  483 |
    +------+
    4 rows in set (0.00 sec)


    Die Ergebnisse speicherst du dir jeweils als Array ab. Du hast jetzt folgende Infos:

    • Alle virtuellen Server IDs
    • Alle Clients jedes virtuellen Servers

    Ich würde mir die Liste aller virtuellen Server IDs generieren lassen, dann davon die IDs der Clients aus der Datenbank ziehen und überprüfen, ob der Wert 0, höher als 1 oder sonst was ist. Somit kannst du dann die Ausgaben direkt richtig ausgeben. ;)


    PS: Das "GROUP BY" sorgt dafür, dass du nicht 4 Zeilen erhälst, wenn es sich nur um einen Client handelt. Der Client wird nämlich immer 4x gespeichert. :)

    Also laut aktuellen Störungsmeldungen, gibt es bei Strato ein paar Probleme bzg. der vServer. Die werden derzeit wohl oftmals umgezogen und das nervt etliche Kunden. Netzwerkprobleme gibt es aber anscheinend nicht.


    Prinzipiell würde ich sagen, dass dein Netzwerk am Server komisch ist, denn du hast extrem viele TCP Connection Fehler: 819 fehlerhafte Verbindungsversuche


    Bei mir selber steht der Counter auch nicht auf 0, aber gerade mal auf 19. Also 819 ist schon krass hoch.


    Ebenfalls ist den mittlerer Ping vom Server relativ hoch. Wenn ein TS Server einen mittleren Ping von +50 hat, konnte ich bisher immer Verbindungsabbrüche von Clients feststellen, deren Internet nicht so der Hit ist.


    Hast du vielleicht eine Firewall - zum Beispiel "iptables" - eingerichtet oder irgendwo davor hängen? Das kann nämlich dazu führen, dass die Verbindung deutlich schlechter wird.


    Bezüglich der Serverinformationen... Mir fehlt noch der mittlere Paketverlust. Verbinde dich mal mit dem Client auf einen Server und klicke mit einem Rechtsklick auf den Servernamen und wähle dort "Verbindungsinformationen". Das öffnet dann ein Fenster mit den entsprechenden Infos.

    Das problem war einfach das mann keine tut´s komplett übernehmen konnte da immer andere eingaben ervorderlcih waren.


    Das soll in der IT eigentlich auch nie gegeben sein, dass man einfach alles komplett übernehmen kann. Man sollte die Schritte immer verstanden haben und entsprechend anpassen können. Das ist auch der Grund, warum ich hier im Forum hinter her bin, dass alles möglichst gut erklärt wird und vor allem auf wichtige Informationen/Hinweise verwiesen wird. :)


    Das hat den Hintergrund, dass sonst jeder irgendeinen Müll als Tutorial verfassen könnte und ein paar "Copy Paster" würde den Code 1:1 einfach ausführen. Das Endergebnis kann dann zum Beispiel dazu führen, dass man sein System dank der Befehle explizit zerstört hat. Das wäre einem, der die Befehle verstanden hat, nicht passiert. ;)


    Und die java insatllation war im gegensatz zum tut der reinste spießrutenlauf.


    Ja, Java ist aber schon immer der reinste Horror/Spaß unter Linux. Vor allem jetzt, seitdem Oracle die Lizenzen geändert hat. :(


    Mein Tipp ist allerdings folgender: Nutze nicht das richtige Java, sondern das "openjdk":

    Code
    # aptitude search openjdkp   openjdk-6-dbg                                                                                                  - Java runtime based on OpenJDK (debugging symbols)p   openjdk-6-demo                                                                                                 - Java runtime based on OpenJDK (demos and examples)p   openjdk-6-doc                                                                                                  - OpenJDK Development Kit (JDK) documentationp   openjdk-6-jdk                                                                                                  - OpenJDK Development Kit (JDK)p   openjdk-6-jre                                                                                                  - OpenJDK Java runtime, using Hotspot JITp   openjdk-6-jre-headless                                                                                         - OpenJDK Java runtime, using Hotspot JIT (headless)p   openjdk-6-jre-lib                                                                                              - OpenJDK Java runtime (architecture independent libraries)p   openjdk-6-jre-zero                                                                                             - Alternative JVM for OpenJDK, using Zero/Sharkp   openjdk-6-source                                                                                               - OpenJDK Development Kit (JDK) source filesp   openjdk-7-dbg                                                                                                  - Java runtime based on OpenJDK (debugging symbols)p   openjdk-7-demo                                                                                                 - Java runtime based on OpenJDK (demos and examples)p   openjdk-7-doc                                                                                                  - OpenJDK Development Kit (JDK) documentationp   openjdk-7-jdk                                                                                                  - OpenJDK Development Kit (JDK)p   openjdk-7-jre                                                                                                  - OpenJDK Java runtime, using Hotspot JITp   openjdk-7-jre-dcevm                                                                                            - Alternative VM for OpenJDK 7 with enhanced class redefinitionp   openjdk-7-jre-headless                                                                                         - OpenJDK Java runtime, using Hotspot JIT (headless)p   openjdk-7-jre-lib                                                                                              - OpenJDK Java runtime (architecture independent libraries)p   openjdk-7-jre-zero                                                                                             - Alternative JVM for OpenJDK, using Zero/Sharkp   openjdk-7-source                                                                                               - OpenJDK Development Kit (JDK) source filesp   uwsgi-plugin-jvm-openjdk-6                                                                                     - Java plugin for uWSGI (OpenJDK 6)p   uwsgi-plugin-jvm-openjdk-7                                                                                     - Java plugin for uWSGI (OpenJDK 7)p   uwsgi-plugin-jwsgi-openjdk-6                                                                                   - JWSGI plugin for uWSGI (OpenJDK 6)p   uwsgi-plugin-jwsgi-openjdk-7                                                                                   - JWSGI plugin for uWSGI (OpenJDK 7)


    Mit Hilfe von "apt-cache show PAKETNAME" kann man sich dann noch mehr Details zum entsprechenden Paket anzeigen lassen. Zum Beispiel die genauere Beschreibung des Pakets. ;)


    Auf das Video bin ich gespannt! Das würde mich interessieren! Wenn es gut ist und du willst, könnten wir es dann auch als Teil eines Tutorials hier nennen/einbinden. :)

    Hallo,


    ich denke, hier fehlen noch ein paar Fakten:

    • Bei wem hast du den root-Server gemietet/gehostet?
      Eventuell besteht in diesem RZ/Provider derzeit ein Problem bzg. des Netzwerkes.


    • Was sagen die Verbindungsinformationen des Servers selber?
      Hier sind "Mittlerer Ping" und "Mittlerer Paketverlust" interessant. :)


    • Wie viele Errors hast du laut deiner Netzwerkschnittstelle auf dem root?

      Code
      # netstat -s


      Code
      # ip -s link


      HINWEIS: Verschleier bitte deine IP-Adresse, wenn es eine öffentliche ist!


    • Was liefert ein Ping von dir Daheim aus auf den Server, wenn das Problem mit den Verbindungsverlusten auftritt?

    Ich bin auf dem TS mit 45ms Ping, bei einer Person, wo ich weiß das sie die Verbindungsprobleme hat, hat nen 78ms ping und auch öfter mal verlorene Pakete.


    Das macht nicht wirklich was aus, denn wenn ich mobil online bin, hab ich teilweise Pings im 2.900er Bereich und kann noch reden und alles verstehen... :D


    Siehe auch hier:

    Richtig geil, die API! Vielen Dank, die werde ich nutzen und einbauen! ;)


    Ebenfalls vielen Dank für die anderen Informationen. :)


    @ScP: Wäre es auch möglich, dass ich den API-Teil für den Update-Check erhalte? Ich hasse es nämlich, wenn ich auf andere Dienste angewiesen bin, die dann irgendwann mal verschwinden, daher bin ich immer der Freund von lokal mitgelieferten Schnittstellen.^^

    Hi,


    vielen Dank für das Tutorial und die ganzen Erklärungen! :)


    Nachfolgend noch meine Kritik-Punkte bzw. Verbesserungsvorschläge...


    [...] wie ihr euch auf eurem MAC OSX Mavericks [...]


    Das geht natürlich auch auf jedem anderen Mac OS X Betriebssystem. Hier wurde allerdings alles auf der Version "Mavericks" durchgeführt. :)


    Auf dem Serverbetriebssystem MAC OSX Server müssen möglicherweise andere Schritte gemacht werden.


    Nein, müssen es nicht, denn die Mac OS X Server Version ist lediglich eine Erweiterung der Desktop-Version und beinhaltet nur ein paar vorinstallierte Dienste/Anwendungen, die die Administration und Bedienung des Servers erleichtern. ;)


    Kann man hier auch nochmal nachlesen:

    Zitat von http://de.wikipedia.org/wiki/OS_X_Server

    OS X Server ist die Server-Variante des Betriebssystems OS X von Apple. Es erweitert das normale Betriebssystem um Software, welche die Administration und Bedienung von Diensten wie Web und E-Mail vereinfacht.


    Jetzt muss man folgendes auf die rechte Seite schreiben:

    Code
    cd && cd Desktop && cd teamspeak3 && cd ts3-server_mac && ./ts3server_mac


    Ich denke - ohne es probieren zu können oder je probiert zu haben - es geht auch so:

    Code
    cd ~/Desktop/teamspeak3/ts3-server_mac/ && ./ts3server_mac


    Behaupte ich jedenfalls, da das Mac OS relativ identisch zu Linux funktioniert.^^

    Also ich weis nicht, was an den Examples gepfuscht ist, aber auf'n ersten Blick ist's eigentlich schon sehr verständlich, zudem alles sehr schön erklärt ist:

    Nutze einfach die MySQLi Klasse, denn die wird bald nur noch nutzbar sein. Die MySQL Klasse ist seit PHP-Version 5.5.0 veraltet und funktioniert noch, aber wurde auch ganz groß als "wird entfernt" angekündigt.


    Noch funktioniert's, aber bereits mit dem nächsten PHP-Update kann's schon wieder nicht mehr funktionieren.^^