hat schon jemand versucht den Status von einem Couterstrike Source server per PHP abzufragen? Nen fertiges Script würde mir auch schon reichen, habe aber bisher nur Scripts für 1.6 server gefunden und die gehen auf meinem server nicht.
Ich mnöchte kein Plugin auf dem Server installieren oder sowas.
soweit bin ich:
$server_ip = "80.190.205.125"; $server_port = 27015; $hlserver_con = fsockopen("udp://".$server_ip, $server_port); // 4x 255 Bytes, String-Command und Zero-Byte schicken fwrite($hlserver_con, sprintf('%c%c%c%c%s%c', 0xFF, 0xFF, 0xFF, 0xFF, "T", 0x00)); $server_data1 = fread($hlserver_con, 6); // den int32-Wert (4 Bytes) holen $server_data2 = fread($hlserver_con, 24); echo "Server Name: ".$server_data2."<br>"; $server_data3 = fread($hlserver_con, 12); echo "Server Map: ".$server_data3."<br>"; $server_data4 = fread($hlserver_con, 8); echo "Server Game: ".$server_data4."<br>"; $server_data5 = fread($hlserver_con, 14); echo "Server Game: ".$server_data5."<br>"; $server_data6 = fread($hlserver_con, 14); echo "Server 11: ".$server_data6."<br>";
so folgendes problem, so kann ich ja schön die infos byte nach byte holen, aber was ist wenn eine info aufeinmal länger ist, also wenn zb der servername größer ist?
das ist die erklärung zu den daten die man bekommt:
(int32) Header (char) Character 'I' (byte) Protocol Version (string) Host Name (string) Map Name (string) Game Directory (string) Game Description (int32) Steam Application ID (byte) Player Count (byte) Max Players (byte) Bot Count (byte) Server Type (l=listen, d=dedicated) (byte) Server OS (l=linux, w=windows) (byte) Passworded (byte) Secure Server
wie man die bytes abschneidet am anfang is mir klar, aber wie kann ich die strings direkt auslesen?
EDIT:::Hab alle Probleme bis jetzt gelöst, kann das fertige script posten wenn es wen interessiert, einfach runter schreiben
Dieser Beitrag wurde von MaliMaster bearbeitet: 19. April 2005 - 11:59