Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18
  1. #1
    Trojaner
    Registriert seit
    16.02.2007
    Beiträge
    69

    Standard Teamspeak Connection Test PHP

    Hallo, wie kann man mit PHP einen Connection Test Durchführen?
    *~[B] EA KEYS ZUM ONLINE SPIELEN.~*

    Crysis, Battlefield2 nd 2142, Need for Speed Pro Street and more ...



  2. #2
    fh oldSQLer Avatar von PoLe
    Registriert seit
    22.11.2006
    Beiträge
    233

    Standard

    falsches forum ? frag in php foren nach, was hat das mit teamspeak zutun?

    habs mal hierhin verschoben
    Alle sagten es geht nicht, doch dann kam einer, der wusste das nicht und machte es!

  3. #3
    Trojaner
    Registriert seit
    19.01.2007
    Beiträge
    63

    Standard

    Er hat ja schon einen thread eröffnet, der aber schon geclosed wurde

    http://de.php.net/manual/de/function.fsockopen.php

  4. #4
    Trojaner
    Registriert seit
    16.02.2007
    Beiträge
    69

    Standard

    Genau, doch leider blick ich da net so durch mit dem fsockopen :oops: .
    Wäre echt nett wenn mir das mal einer erklären könnte. *hoff*
    *~[B] EA KEYS ZUM ONLINE SPIELEN.~*

    Crysis, Battlefield2 nd 2142, Need for Speed Pro Street and more ...



  5. #5
    Fortgeschrittener
    Registriert seit
    28.05.2007
    Beiträge
    36

    Standard

    naja daran kommste aber net vorbei ... du machst nen fsockopen auf den TS Port und wenn er dir TRUE zurückliefert läuft auf dem Port etwas ... also entsprechend dein Teampseak eben. Wenn du fsock net raffst ... geh auf php.net die Doku ist very good ... und in den Kommentaren sind zu hauf Anwendungsbeispiele.

  6. #6
    Trojaner
    Registriert seit
    16.02.2007
    Beiträge
    69

    Standard

    Jo. Aber auf es joint kein Bot Player auf meinen Server... Das ist ja das was ich erreichen will. UNd dafür muss man dann ja halt die datenpakete von nem player faken und per PHP versenden, ich weiß aber net wie man die pakete versendet .... *brauchhilfe*
    *~[B] EA KEYS ZUM ONLINE SPIELEN.~*

    Crysis, Battlefield2 nd 2142, Need for Speed Pro Street and more ...



  7. #7
    Fortgeschrittener
    Registriert seit
    28.05.2007
    Beiträge
    36

    Standard

    ja steht doch alles auf PHP.net wie ich schon sagte!!!!!!!!!!!!!!!!

    Code:
    <?php
    $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)
    \n";
    } else {
        $out = "GET / HTTP/1.1\r\n";
        $out .= "Host: www.example.com\r\n";
        $out .= "Connection: Close\r\n\r\n";
    
        fwrite($fp, $out);
        while (!feof($fp)) {
            echo fgets($fp, 128);
        }
        fclose($fp);
    }
    ?>
    Er macht nen socket zu nem Webserver auf und schickt die Befehle per fwrite an den Server .... jetzt musst du dir nur noch das Protokoll von TS zu gemüte führen un dem Server die Pakete senden .... allerdings solltest du dir gedanken machen was passiert wenn dein script ausläuft ... was ja bei üblichen PHP Installationen nach etwa 30 Sek. der Fall ist ....

  8. #8
    Trojaner
    Registriert seit
    19.01.2007
    Beiträge
    63

    Standard

    Das script läuft nach der standart PHP.ini nicht minimal 30 sekunden, sondern maximal 30 sekunden. Sonst würde der browser ja bei jeder webseite mindestens 30 sekunden laden, auch wenn die seite bereit aufgebaut ist.
    Zum auslaufen:
    Stichwort cronjob.
    Code:
    <?php
    set_time_limit(0);        //Maximale ausführungszeitzeit: unbegrenzt
    ignore_user_abort(TRUE);  //Script soll nach abbruch der verbindung mit dem clienten weiter laufen
    
    function machwas()
    {
      sleep(10);              //30 sekunden warten
      machwas();              //funktion erneut aufrufen
    }
    machwas();
    ?>
    Das script sollte natürlich besser per shell ausgeführt werden und nicht per browser. Dazu muss der safe_mode off sein!
    Anderes beispiel:
    Code:
    <?php
    set_time_limit(0);        //Maximale ausführungszeitzeit: unbegrenzt
    ignore_user_abort(TRUE);  //Script soll nach abbruch der verbindung mit dem clienten weiter laufen
    
    while(TRUE)
    {
      sleep(10);              //30 sekunden warten
    }
    ?>
    Alle 10 sekunden wird der code in der function bzw in der schleife ausgeführt.
    Zu dem teamspeak-problem:
    Code:
    <?php
    $ipaddy = '127.0.0.1';
    $port = 8767;
    
    $sock = fsockopen('udp://'.$ipaddy, (int)$port, $num; $error, 30) || die('Fehler! Fehlernummer:'.$num."\n".'Fehler:'.$error);
    
    fputs(das ganze teamspeak zeug);
    ?>

  9. #9
    Trojaner
    Registriert seit
    16.02.2007
    Beiträge
    69

    Standard

    Geil, das hat mich einen großen schritt weitergebracht jetzt muss ich es nur noch schaffen herauszufinden was ich für Pakete senden muss. Muss ich die dann einfach bei
    Code:
    $out = "datenpaketehier";
    schreiben ???
    *~[B] EA KEYS ZUM ONLINE SPIELEN.~*

    Crysis, Battlefield2 nd 2142, Need for Speed Pro Street and more ...



  10. #10
    Trojaner
    Registriert seit
    19.01.2007
    Beiträge
    63

    Standard

    Prinzipiell schon. Aber du musst bedenken, dass du keinen browser simulieren willst, wie in dem beispiel oben per TCP. Du musst einen UDP-sock öffnen und das als protokoll angeben.

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •