ERLEDIGT
NEIN
NEIN
ANTWORTEN
22
22
ZUGRIFFE
890
890
EMPFEHLEN
-
01.11.11 18:34 #1
- 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)
-
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.
-
01.11.11 19:37 #3
- 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.
-
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.
-
Was soll denn die Gameserverstatusabfrage machen?
Nur prüfen, ob der Server online ist, oder einloggen und weitere Informationen bekommen?Tutorials: Ajax JSON Chat PHP
-
01.11.11 19:52 #6
- 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.
So zeigt er mir immer nur Offline an.PHP-Code:<?php
if (!@$fp = fsockopen("IP",Port, $errno, $errstr, 1)){
echo "Offline";
} else {
echo "Online";
}
?>
-
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.
-
01.11.11 20:44 #8
- Registriert seit
- Sep 2007
- Beiträge
- 527
Ja habe ich beides richtig angegeben.
-
01.11.11 20:56 #9
- Registriert seit
- Apr 2007
- Beiträge
- 46
Hast Du auch auf Deiner FW den Port offen, damit Du überhaupt rauskommst?
-
01.11.11 20:58 #10
- Registriert seit
- Sep 2007
- Beiträge
- 527
Ja habe ich, sogar Online habe ichs versucht und hat nicht funktioniert.
-
Funktioniert fsockopen() denn auch ohne die Bedingung?
Gibt es evtl. Fehlermeldungen? Wenn nicht: hast Du sie vlt. unterdrückt? (display_errors / error_reporting)
-
01.11.11 21:08 #12
- 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)
-
06.11.11 14:48 #13
- 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
testet man ja, ob eine Verbindung zu der IP und dem Port möglich ist.PHP-Code:<?php
if (!@$fp = fsockopen("IP",Port, $errno, $errstr, 1)){
echo "Offline";
} else {
echo "Online";
}
?>
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?
-
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.
-
06.11.11 15:26 #15
- 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
-
Problem bei Server status abfrage auf anderen Server !
Von deinpapa im Forum Linux & UnixAntworten: 5Letzter Beitrag: 15.07.06, 01:06 -
Server Status
Von ulf123 im Forum PHPAntworten: 1Letzter Beitrag: 31.10.04, 18:11 -
Server Status
Von NeXoN im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 13.07.04, 14:42 -
CS Server Status?
Von vodka im Forum PHPAntworten: 1Letzter Beitrag: 25.03.04, 17:50 -
Server Status
Von Bender_1986 im Forum PHPAntworten: 2Letzter Beitrag: 13.10.02, 15:32





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren