#1 23. Januar 2008 HLDS Infos abrufen Heho, ich würd gern ein kleines PHP-Script schreiben um allgemeine Server-Infos von einem HLDS abzufragen. Ich finde da über google ne Menge Anleitungen und Dokumentationen zu dem verwendeten Protokoll aber es geht einfach nicht :/. Ich habe folgendes Screipt gebaut: PHP: function hlds_getInfo ( $server , $port , $req = "infostring" ) { $link = fsockopen ( "udp://" . $server , $port ); if (! $link ) return - 1 ; fwrite ( $link , sprintf ( '%c%c%c%c%s%c' , 0xFF , 0xFF , 0xFF , 0xFF , $req , 0x00 )); stream_set_timeout ( $link , 3 ); fread ( $link , 24 ); $status = socket_get_status ( $link ); if ( $status [ "timed_out" ]) return - 2 ; if ( $status [ "unread_bytes" ] == 0 ) return - 3 ; $reply == "" ; do { $reply .= fread ( $link , 1 ); $status = socket_get_status ( $link ); } while ( $status [ "unread_bytes" ] != 0 ); fclose ( $link ); return $reply ;} das ist nur zum probieren (infos werden nicht geparst zB) aber schon das bricht jedes mal mit dem Rückgabewert -2 ab. Wenn ich irgendwelche anderen Scripts ausprobiere geht es auch nicht, sie bleiben alle einfach hängen. Ich probiere das ganze bei einem lokalem, über Steam runtergeladenen HLDS und bei zufällig rausgepickten Internet-Servern. Das Script kann ich zuhause (XAMPP) oder aufm Root laufen lassen: Immer Timeout. WTF? ;( greez myth + Multi-Zitat Zitieren
#2 23. Januar 2008 AW: HLDS Infos abrufen kurz überflogen: $temp ist nicht definiert (evt mit $status verwechselt?) => deswegen auch der abbruch mit -3 fread([resource], 1); unsinnig, nimmt 1024 statt 1 oder mehr und der der übliche array access mit " mal wieder ~.~ PHP: "udp://" . $server //plöd //entweder 'udp://' . $server //oder "udp:// { $server } " + Multi-Zitat Zitieren
#3 23. Januar 2008 AW: HLDS Infos abrufen Wasn an dem Array Access mit " so schlimm? Ich persönlich mach das natürlich nicht, weil ich sowieso meistens ' benutze :-\ aber will wissen. + Multi-Zitat Zitieren
#4 23. Januar 2008 AW: HLDS Infos abrufen hoppsa ja alte version in zwischenablage. //edited + Multi-Zitat Zitieren
#5 23. Januar 2008 AW: HLDS Infos abrufen in " " werden variablen, \r\n usw interpretiert, in ' nicht. gibt ein ganzkleinbisschen prefomance. außerdem gehörts zum guten ton und soweit ich weiß auch zu den pear-coding-standards + Multi-Zitat Zitieren
#6 24. Januar 2008 AW: HLDS Infos abrufen hmm schient hier keiner zu wissen @mods: könnte den thread bitte mal jemand zu clans & gameserver verschieben? vielleicht weiß da jemand bescheit. + Multi-Zitat Zitieren
#7 24. Januar 2008 AW: HLDS Infos abrufen naja, wenn du dir davon erfolg versprichst > moved ^^ vllt. solltest du dann aber den text im ersten post etwas ändern + Multi-Zitat Zitieren