CoD2 Server States...

  • Themenstarter Themenstarter Creeping
  • Beginndatum Beginndatum
C

Creeping

Hallo,

Ich suche seit gestern schon ein perfektes Skript, um von einem Call of Duty 2 Server verschiedene Daten auszulesen...

Ich habe diverse sachen wie das von "pear.php.net", "Google" und von Hier getestet/versucht. Leider kam nicht das bei raus was ich mir vorgestellt hatte.

Also ich weiß schonmal, das ich mit fsockopen(); zum Server connecten muss... Danach muss ich i-wie mit fwrite(); etwas zum Server senden, weiß aber nicht was und den ganzen rest weiß ich leider auch nicht :D


Besitzt Jemand ein script welches eine so ähnliche ausgabe wie diese Seite macht:

http://www.lunarix.de/gameserver/status/cod2/85.25.147.114/14000/
 
Ich besitze zwar kein fertiges Script dafür, aber ich würde mal behaupten, dass die gewünschten Daten vom Server so oder so irgendwo geloggt/niedergeschrieben werden. Dem entsprechend musst du nur die richtige Stelle des Servers finden, die Socket-Verbindung benutzen und die entsprechende Datei mit
PHP:
fread()
auslesen.
 
Kam leider nicht das raus was ich mir vorgestellt habe...

PHP:
<?php
$fp = fsockopen("udp://85.25.147.114", "14000", $errno, $errstr, 10);

$filename = "server.cfg";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose ($handle);
?>
Warning: fopen(games_mp.log) [function.fopen]: failed to open stream: No such file or directory in

Warning: filesize() [function.filesize]: Stat failed for games_mp.log (errno=2 - No such file or directory) in

Warning: fread(): supplied argument is not a valid stream resource in

Warning: fclose(): supplied argument is not a valid stream resource in
 
Was mich verwundert ist, dass in deinem Skript eine Datei namens server.cfg angegeben wird in den Fehlermeldung aber das Fehlen der Datei games_mp.log gemeldet wird. Auf diesen Fehler bauen dementsprechend die Fehlermeldungen 2, 3 und 4 auf, weil die Datei nicht existiert.
 
Das liegt daran, dass ich es erst mit der sercer.cfg versucht habe...

da das nicht funktioniert hat, habe ich es mit der games_mp.log probiert die auf dem server liegt...

auch kein erfolg
 
Das Problem liegt daran, dass du mit fsockopen() einen Stream zu dem Server aufbaust, aber die Datei nicht in diesem Stream öffnest und mit fopen() dann noch einen anderen. Du musst die Datei gleich mit fsockopen() öffnen, so also:
PHP:
<?php
$filename = "server.cfg";
$fp = fsockopen("udp://85.25.147.114/".$filename, "14000", $errno, $errstr, 10);

$contents = fread($fp, filesize($filename));
fclose ($fp);
?>
 
PHP:
<?php 
$filename = "server.cfg"; 
$fp = fsockopen("udp://85.25.147.114/".$filename, "14000", $errno, $errstr, 10);   

$contents = fread($fp, filesize($filename)); 
fclose ($fp); 
?>

ergibt:


Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in

Warning: fsockopen() [function.fsockopen]: unable to connect to 85.25.147.114/server.cfg:14000 in
Warning: filesize() [function.filesize]: Stat failed for server.cfg (errno=2 - No such file or directory) in

Warning: fread(): supplied argument is not a valid stream resource in

Warning: fclose(): supplied argument is not a valid stream resource in
 
Dann kennt PHP entweder den Dienst UDP nicht, was ich nicht glaube, oder es muss noch eine andere Möglichkeit geben. Kann dir da nicht mehr weiterhelfen.
 
Zurück