tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
22
ZUGRIFFE
890
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Hallo zusammen,

    ich soll für einen Freund eine Gameserverstatusabfrage erstellen.

    Das Spiel ist ein MMO mit Loginserver von wo man auf den Spielserver weitergeleitet wird.

    Ich habe mit den Entwicklern geredet, wie das am besten funktionieren würde und die meinten, ich muss mein Script dazubringen, sich wie der Gameclient zu verhalten und sich einzuloggen.

    Allerdings habe ich keinen Dunst, wie ich mit PHP einen Gameclient emulieren soll.

    Kann mir da wer helfen?

    Die meinten, es ginge mit PHP aber genauere Infos konnten/wollten die mir auch nicht geben.

    Danke schonmal.
    Geändert von nchristoph (01.11.11 um 18:37 Uhr)
     

  2. #2
    Joe Joe ist offline Mitglied Brokat
    Registriert seit
    Aug 2009
    Ort
    Thüringen
    Beiträge
    339
    Hi ich bin da auf dem Gebiet nicht sonderlich firm aber ich schreib mal was ich denke.
    Der Client sendet ja die Daten an eine Adresse. Eingabeformular mit Postdaten halt $post(User) und $post(PW).
    Tja und genau das müsstest du dann auch machen. Ein Formular ausgefüllt an die Adresse schicken.
    Ob das so geht wess ich nicht das Thema grenzt stark an das Thema Sicherheit.
     

  3. #3
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Also was ich jetzt noch herausgefunden habe ist, das die Userdaten in ner MySQL DB gespeichert sind.

    Also müsste ich jetzt nur noch rausfinden, wie der Table und die DB heissen und die einzelnen Spalten.

    Danach sende ich die Abfrage an den Server. aber wie kriege ich raus, ob der Login ok war?

    Es kann ja sein, das der Server down ist, dann hängt man immer beim Trying to login screen.
     

  4. #4
    Joe Joe ist offline Mitglied Brokat
    Registriert seit
    Aug 2009
    Ort
    Thüringen
    Beiträge
    339
    Also die DB spielt da eigentlich keine Rolle. Wichtig ist das Formular also wohin wird gesendet und mit welchen Daten (PW,Username) das müsste man dann eben genau an die selbe Adresse ausgefüllt schicken und schon passiert ein Login. Hmm wie das überprüfen aussehen könnnte .. grad keine Idee.
     

  5. #5
    jannicars jannicars ist offline Mitglied Gold
    Registriert seit
    Jun 2011
    Beiträge
    219
    Was soll denn die Gameserverstatusabfrage machen?
    Nur prüfen, ob der Server online ist, oder einloggen und weitere Informationen bekommen?
     

  6. #6
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Lediglich, ob der Server online ist. Später mal sollte es erweitert werden, wieviele Spieler online sind auf dem Server.

    PHP-Code:
    <?php
    if (!@$fp fsockopen("IP",Port$errno$errstr1)){
       echo 
    "Offline";
    } else {
       echo 
    "Online";
    }
    ?>
    So zeigt er mir immer nur Offline an.
     

  7. #7
    threadi threadi ist offline Mitglied Brokat
    Registriert seit
    Dec 2006
    Ort
    Leipzig
    Beiträge
    478
    Hast Du die richtige IP und vor allem den richtigen Port angegeben? Letzterer dürfte bei einem Spiel ein anderer sein als von einem Webserver.
     

  8. #8
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Ja habe ich beides richtig angegeben.
     

  9. #9
    Fragenfrager Fragenfrager ist offline Mitglied Bronze
    Registriert seit
    Apr 2007
    Beiträge
    46
    Hast Du auch auf Deiner FW den Port offen, damit Du überhaupt rauskommst?
     

  10. #10
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Ja habe ich, sogar Online habe ichs versucht und hat nicht funktioniert.
     

  11. #11
    threadi threadi ist offline Mitglied Brokat
    Registriert seit
    Dec 2006
    Ort
    Leipzig
    Beiträge
    478
    Funktioniert fsockopen() denn auch ohne die Bedingung?

    Gibt es evtl. Fehlermeldungen? Wenn nicht: hast Du sie vlt. unterdrückt? (display_errors / error_reporting)
     

  12. #12
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    display_Errors und error reporting sind beide angeschaltet.

    Ohne die Bedingung funktionierts auch nicht.

    Fehlermeldungen gibt es keine, auch nicht wenn ich @ entferne.

    //Edit: Speichern sollte man vor dem Upload auch:P


    Warning: fsockopen() [function.fsockopen]: unable to connect to 216.180.242.218:44453 (Connection refused),

    //Edit2: Ich habs jetzt hingekriegt:

    Der Gameserver ist nur über UPD erreichbar, umgestellt und funktioniert wie geschmiert.
    Geändert von nchristoph (02.11.11 um 10:07 Uhr)
     

  13. #13
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Tja funktioniert leider doch nicht so geschmiert wie ich dachte.

    Egal ob der Gameserver läuft oder nicht, die Domain ist trotzdem erreichbar und mit

    PHP-Code:
    <?php
    if (!@$fp fsockopen("IP",Port$errno$errstr1)){
       echo 
    "Offline";
    } else {
       echo 
    "Online";
    }
    ?>
    testet man ja, ob eine Verbindung zu der IP und dem Port möglich ist.

    Wenn der Server läuft und mit dem Netz verbunden ist, ist eine Verbindung möglich und dadurch steht er immer auf online.

    Kennt wer von euch eine Möglichkeit, um den richtigen Online Status herauszufinden?
     

  14. #14
    threadi threadi ist offline Mitglied Brokat
    Registriert seit
    Dec 2006
    Ort
    Leipzig
    Beiträge
    478
    Der Port wäre der Schlüssel. Wenn der Game-Server nur auf einem bestimmten Port läuft, dürfte - wenn der Game-Server nicht läuft - bei diesem Port nichts erreichbar sein. Wenn doch, dann müsstest Du eher auf einen Datenaustausch mit dem Game-Server auf diesem Port prüfen. Wie das geht hängt jedoch von dem Spiel ab was Du dort hast.
     

  15. #15
    nchristoph nchristoph ist offline Mitglied Platin
    Registriert seit
    Sep 2007
    Beiträge
    527
    Tja das habe ich auch getestet:

    Port 44453 ist der Loginserver, Port 44463 ist der Gameserver. Ich habe auf beides geprüft, der Server ist definitiv offline aber ich krieg trotzdem ein Online.

    Wie prüfe ich mit PHP bitte auf Datenaustausch mit dem Gameserver?
    Geändert von nchristoph (06.11.11 um 17:17 Uhr)
     

Ähnliche Themen

  1. Problem bei Server status abfrage auf anderen Server !
    Von deinpapa im Forum Linux & Unix
    Antworten: 5
    Letzter Beitrag: 15.07.06, 01:06
  2. Server Status
    Von ulf123 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 31.10.04, 18:11
  3. Server Status
    Von NeXoN im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 13.07.04, 14:42
  4. CS Server Status?
    Von vodka im Forum PHP
    Antworten: 1
    Letzter Beitrag: 25.03.04, 17:50
  5. Server Status
    Von Bender_1986 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 13.10.02, 15:32