Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Quellcode |
|
1 2 3 4 5 6 7 8 9 |
function connect() { $this->fp = fsockopen("udp://".$this->ip, $this->port, $errno, $errstr, 3); if (!$this->fp) { echo "Fehler: $errno - $errstr\n"; $confail = 1; } |
Quellcode |
|
1 2 3 4 5 6 7 8 9 |
function connect($this) { $this->fp = fsockopen("udp://".$this->ip, $this->port, $errno, $errstr, 3); if (!$this->fp) { echo "Fehler: $errno - $errstr\n"; $confail = 1; } |
Quellcode |
|
1 |
<span class="syntaxdefault">$Verbindung </span><span class="syntaxkeyword">= new </span><span class="syntaxdefault">hlserver</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">hlserver</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"83.142.82.222:27016"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">players</span><span class="syntaxkeyword">(); </span><span class="syntaxdefault"></span> |
Quellcode |
|
1 |
<span class="syntaxdefault">$Verbindung </span><span class="syntaxkeyword">= new </span><span class="syntaxdefault">hlserver</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">hlserver</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"83.142.82.222:27016"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">infos</span><span class="syntaxkeyword">();<br />echo </span><span class="syntaxdefault">$serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"maxplayers"</span><span class="syntaxkeyword">]; </span><span class="syntaxdefault"></span> |
Quellcode |
|
1 |
<span class="syntaxdefault">$Verbindung </span><span class="syntaxkeyword">= new </span><span class="syntaxdefault">hlserver</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">hlserver</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"83.142.82.222:27016"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">$Infos </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">infos</span><span class="syntaxkeyword">();<br />echo </span><span class="syntaxdefault">str_replace</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"-1"</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">NULL</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$Infos</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"map"</span><span class="syntaxkeyword">]); </span><span class="syntaxdefault"></span> |
Quellcode |
|
1 |
<span class="syntaxdefault"><?php<br /></span><span class="syntaxkeyword">class </span><span class="syntaxdefault">Server </span><span class="syntaxkeyword">{<br /> <br /> var </span><span class="syntaxdefault">$ip</span><span class="syntaxkeyword">;<br /> var </span><span class="syntaxdefault">$port</span><span class="syntaxkeyword">;<br /> var </span><span class="syntaxdefault">$fp</span><span class="syntaxkeyword">;<br /> var </span><span class="syntaxdefault">$challenge </span><span class="syntaxkeyword">= -</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">;<br /> <br /> var </span><span class="syntaxdefault">$serverinfo</span><span class="syntaxkeyword">;<br /> var </span><span class="syntaxdefault">$playerlist</span><span class="syntaxkeyword">;<br /> var </span><span class="syntaxdefault">$cvarlist</span><span class="syntaxkeyword">;<br /> <br /> var </span><span class="syntaxdefault">$A2S_SERVERQUERY_GETCHALLENGE </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"W"</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// challenge<br /> </span><span class="syntaxkeyword">var </span><span class="syntaxdefault">$A2S_INFO </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"TSource Engine Query\0"</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// info<br /> </span><span class="syntaxkeyword">var </span><span class="syntaxdefault">$A2S_PLAYER </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"U"</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// player<br /> </span><span class="syntaxkeyword">var </span><span class="syntaxdefault">$A2S_RULES </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"V"</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// rules<br /> </span><span class="syntaxkeyword">var </span><span class="syntaxdefault">$S2C_CHALLENGE </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"A"</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// challenge<br /> <br /> <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">hlserver</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$server_address </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">) {<br /> <br /> list(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">ip</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">port</span><span class="syntaxkeyword">) = </span><span class="syntaxdefault">explode</span><span class="syntaxkeyword">(</span><span class="syntaxstring">":"</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$server_address</span><span class="syntaxkeyword">);<br /> <br /> }<br /> <br /> function </span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">() {<br /> <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fsockopen</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"udp://"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">ip</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">port</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$errno</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$errstr</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">3</span><span class="syntaxkeyword">);<br /> if (!</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">) {<br /> <br /> </span><span class="syntaxdefault">$Fehler </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">;<br /> <br /> }<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// String-Command senden<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$strcmd</span><span class="syntaxkeyword">) {<br /> <br /> </span><span class="syntaxdefault">fwrite</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">sprintf</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'%c%c%c%c%s%c'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0xFF</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0xFF</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0xFF</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0xFF</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$strcmd</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0x00</span><span class="syntaxkeyword">));<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// 1 Byte vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">() {<br /> <br /> return </span><span class="syntaxdefault">ord</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">));<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// 1 Zeichen (1 Byte) vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_char</span><span class="syntaxkeyword">() {<br /> <br /> return </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">);<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// einen int16-Wert (2 Bytes) vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_int16</span><span class="syntaxkeyword">() {<br /> <br /> </span><span class="syntaxdefault">$unpacked </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">unpack</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'sint'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">2</span><span class="syntaxkeyword">));<br /> return </span><span class="syntaxdefault">$unpacked</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">int</span><span class="syntaxkeyword">];<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// einen int32-Wert (4 Bytes) vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">() {<br /> <br /> </span><span class="syntaxdefault">$unpacked </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">unpack</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'iint'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">4</span><span class="syntaxkeyword">));<br /> return </span><span class="syntaxdefault">$unpacked</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">int</span><span class="syntaxkeyword">];<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// einen float32-Wert (4 Bytes) vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_float32</span><span class="syntaxkeyword">() {<br /> <br /> </span><span class="syntaxdefault">$unpacked </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">unpack</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'fint'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">4</span><span class="syntaxkeyword">));<br /> return </span><span class="syntaxdefault">$unpacked</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">int</span><span class="syntaxkeyword">];<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// einen String vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">() {<br /> <br /> while((</span><span class="syntaxdefault">$char </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">)) != </span><span class="syntaxdefault">chr</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)) {<br /> <br /> </span><span class="syntaxdefault">$str </span><span class="syntaxkeyword">.= </span><span class="syntaxdefault">$char</span><span class="syntaxkeyword">;<br /> <br /> }<br /> <br /> return </span><span class="syntaxdefault">$str</span><span class="syntaxkeyword">;<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// Challenger vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">challenge</span><span class="syntaxkeyword">() {<br /> <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"$this->A2S_SERVERQUERY_GETCHALLENGE"</span><span class="syntaxkeyword">);<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$challenge </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">challenge </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$challenge</span><span class="syntaxkeyword">;<br /> return </span><span class="syntaxdefault">$challenge</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">);<br /> <br /> }<br /> <br /> <br /> </span><span class="syntaxcomment">// Infos vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">infos</span><span class="syntaxkeyword">() {<br /> <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">challenge</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"$this->A2S_INFO"</span><span class="syntaxkeyword">);<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">();<br /> <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"protokoll"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"name"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"map"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"directory"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"discription"</span><span class="syntaxkeyword">]= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"steam_id"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int16</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"players"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"maxplayers"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"bot"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /> <br /> return </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">);<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// Player-Liste vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">players</span><span class="syntaxkeyword">() {<br /> <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">challenge</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"$this_>A2S_PLAYER."</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">challenge</span><span class="syntaxkeyword">);<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$playercount </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /> <br /> for(</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">< </span><span class="syntaxdefault">$playercount</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++) {<br /> <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">playerlist</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">][</span><span class="syntaxstring">"index"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">playerlist</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">][</span><span class="syntaxstring">"name"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">playerlist</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">][</span><span class="syntaxstring">"frags"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">playerlist</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">][</span><span class="syntaxstring">"time"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">date</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'H:i:s'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">round</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_float32</span><span class="syntaxkeyword">(), </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)+</span><span class="syntaxdefault">82800</span><span class="syntaxkeyword">);<br /> <br /> }<br /> <br /> </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">);<br /> return </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">playerlist</span><span class="syntaxkeyword">;<br /> <br /> }<br /> <br /> </span><span class="syntaxcomment">// Rules-Liste (CVARs) vom Server holen<br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">cvars</span><span class="syntaxkeyword">() {<br /> <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">challenge</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">();<br /> <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"$this->A2S_RULES."</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">challenge</span><span class="syntaxkeyword">);<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">();<br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_char</span><span class="syntaxkeyword">();<br /> <br /> </span><span class="syntaxdefault">$cvarcount </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int16</span><span class="syntaxkeyword">();<br /> <br /> for(</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">< </span><span class="syntaxdefault">$cvarcount</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++) {<br /> <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">cvarlist</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">()] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">();<br /> <br /> }<br /> <br /> </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">);<br /> return </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">cvarlist</span><span class="syntaxkeyword">;<br /> <br /> }<br />}<br /></span><span class="syntaxdefault">?></span> |
Quellcode |
|
1 |
<span class="syntaxdefault"><?php <br /><br />$Verbindung </span><span class="syntaxkeyword">= new </span><span class="syntaxdefault">HLServerAbfrage</span><span class="syntaxkeyword">; <br /></span><span class="syntaxdefault">$Verbindung </span><span class="syntaxkeyword">-> </span><span class="syntaxdefault">hlserver</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"85.14.227.237:27015"</span><span class="syntaxkeyword">); <br /><br /></span><span class="syntaxdefault">$Players </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$Verbindung</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">players</span><span class="syntaxkeyword">(); <br /><br />class </span><span class="syntaxdefault">HLServerAbfrage </span><span class="syntaxkeyword">{ <br /><br /> var </span><span class="syntaxdefault">$ip</span><span class="syntaxkeyword">; <br /> var </span><span class="syntaxdefault">$port</span><span class="syntaxkeyword">; <br /> var </span><span class="syntaxdefault">$fp</span><span class="syntaxkeyword">; <br /> var </span><span class="syntaxdefault">$challenge</span><span class="syntaxkeyword">; <br /> var </span><span class="syntaxdefault">$serverinfo</span><span class="syntaxkeyword">; <br /> var </span><span class="syntaxdefault">$playerlist</span><span class="syntaxkeyword">; <br /> var </span><span class="syntaxdefault">$cvarlist</span><span class="syntaxkeyword">; <br /><br /> var </span><span class="syntaxdefault">$A2S_SERVERQUERY_GETCHALLENGE </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"\x57"</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// challenge <br /> </span><span class="syntaxkeyword">var </span><span class="syntaxdefault">$A2S_INFO </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"TSource Engine Query\x00"</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// info <br /> </span><span class="syntaxkeyword">var </span><span class="syntaxdefault">$A2S_PLAYER </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"\x55"</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// player <br /> </span><span class="syntaxkeyword">var </span><span class="syntaxdefault">$A2S_RULES </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"\x56"</span><span class="syntaxkeyword">; </span><span class="syntaxcomment">// rules <br /><br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">hlserver</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$server_address </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">) { <br /> list(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">ip</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">port</span><span class="syntaxkeyword">) = </span><span class="syntaxdefault">explode</span><span class="syntaxkeyword">(</span><span class="syntaxstring">":"</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$server_address</span><span class="syntaxkeyword">); <br /> } <br /><br /> </span><span class="syntaxcomment">// Verbindung zum Server aufbauen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">() { <br /><br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fsockopen</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"udp://"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">ip</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">port</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$errno</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$errstr</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">3</span><span class="syntaxkeyword">); <br /> if (!</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">) { <br /> </span><span class="syntaxdefault">$Fehler </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">; <br /> } <br /> } <br /><br /> </span><span class="syntaxcomment">// String-Command" senden <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$strcmd</span><span class="syntaxkeyword">) { <br /> </span><span class="syntaxdefault">fwrite</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">sprintf</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'%c%c%c%c%s%c'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0xFF</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0xFF</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0xFF</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0xFF</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$strcmd</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0x00</span><span class="syntaxkeyword">)); <br /> } <br /><br /> </span><span class="syntaxcomment">// 1 Byte vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">() { <br /> return </span><span class="syntaxdefault">ord</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">)); <br /> } <br /><br /> </span><span class="syntaxcomment">// 1 Zeichen (1 Byte) vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_char</span><span class="syntaxkeyword">() { <br /> return </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">); <br /> } <br /> <br /> </span><span class="syntaxcomment">// einen int16-Wert (2 Bytes) vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_int16</span><span class="syntaxkeyword">() { <br /> </span><span class="syntaxdefault">$unpacked </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">unpack</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'sint'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">2</span><span class="syntaxkeyword">)); <br /> return </span><span class="syntaxdefault">$unpacked</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">int</span><span class="syntaxkeyword">]; <br /> } <br /><br /> </span><span class="syntaxcomment">// einen int32-Wert (4 Bytes) vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">() { <br /> </span><span class="syntaxdefault">$unpacked </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">unpack</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'iint'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">4</span><span class="syntaxkeyword">)); <br /> return </span><span class="syntaxdefault">$unpacked</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">int</span><span class="syntaxkeyword">]; <br /> } <br /><br /> </span><span class="syntaxcomment">// einen float32-Wert (4 Bytes) vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_float32</span><span class="syntaxkeyword">() { <br /> </span><span class="syntaxdefault">$unpacked </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">unpack</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'fint'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">4</span><span class="syntaxkeyword">)); <br /> return </span><span class="syntaxdefault">$unpacked</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">int</span><span class="syntaxkeyword">]; <br /> } <br /><br /> </span><span class="syntaxcomment">// einen String vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">() { <br /> while((</span><span class="syntaxdefault">$char </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">)) != </span><span class="syntaxdefault">chr</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)) { <br /> </span><span class="syntaxdefault">$str </span><span class="syntaxkeyword">.= </span><span class="syntaxdefault">$char</span><span class="syntaxkeyword">; <br /> } <br /> return </span><span class="syntaxdefault">$str</span><span class="syntaxkeyword">; <br /> } <br /><br /> </span><span class="syntaxcomment">// Challenger vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">challenge</span><span class="syntaxkeyword">() { <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">A2S_SERVERQUERY_GETCHALLENGE</span><span class="syntaxkeyword">); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$challenge </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">(); <br /><br /> return </span><span class="syntaxdefault">$challenge</span><span class="syntaxkeyword">; <br /> </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">); <br /><br /> } <br /> <br /> </span><span class="syntaxcomment">// Infos vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">infos</span><span class="syntaxkeyword">() { <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this </span><span class="syntaxkeyword">-> </span><span class="syntaxdefault">A2S_INFO</span><span class="syntaxkeyword">); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /><br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"network_version"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"name"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"map"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"directory"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"discription"</span><span class="syntaxkeyword">]= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"steam_id"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int16</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"players"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"maxplayers"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"bot"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"dedicated"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_char</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"os"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_char</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"password"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"secure"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"version"</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">(); <br /><br /> </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">); <br /> return </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">serverinfo</span><span class="syntaxkeyword">; <br /><br /><br /> } <br /><br /> </span><span class="syntaxcomment">// Player-Liste vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">players</span><span class="syntaxkeyword">() { <br /><br /> </span><span class="syntaxdefault">$challenge </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">challenge</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this </span><span class="syntaxkeyword">-></span><span class="syntaxdefault">A2S_PLAYER</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$challenge</span><span class="syntaxkeyword">); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /><br /> </span><span class="syntaxdefault">$playercount </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">(); <br /> echo </span><span class="syntaxstring">'Anzahl der Spieler: '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$playercount</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'<br><br>'</span><span class="syntaxkeyword">; <br /><br /> </span><span class="syntaxcomment">/* for($i=0; $i < $playercount; $i++) { <br /> $this->playerlist[$i]["index"] = $this->get_byte(); <br /> $this->playerlist[$i]["name"] = $this->get_string(); <br /> $this->playerlist[$i]["frags"] = $this->get_int32(); <br /> $this->playerlist[$i]["time"] = date('H:i:s', round($this->get_float32(), 0)+82800); <br /><br /> } */ <br /> <br /> </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">); <br /> return </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">playerlist</span><span class="syntaxkeyword">; <br /> } <br /><br /> </span><span class="syntaxcomment">// Rules-Liste (CVARs) vom Server holen <br /> </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">cvars</span><span class="syntaxkeyword">() { <br /><br /> </span><span class="syntaxdefault">$challenge </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">challenge</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this </span><span class="syntaxkeyword">-></span><span class="syntaxdefault">A2S_RULES</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$challenge</span><span class="syntaxkeyword">); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">(); <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_char</span><span class="syntaxkeyword">(); <br /><br /> </span><span class="syntaxdefault">$cvarcount </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int16</span><span class="syntaxkeyword">(); <br /><br /> for(</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">< </span><span class="syntaxdefault">$cvarcount</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++) { <br /> </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">cvarlist</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">()] = </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_string</span><span class="syntaxkeyword">(); <br /> } <br /><br /> </span><span class="syntaxdefault">fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">); <br /> return </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">cvarlist</span><span class="syntaxkeyword">; <br /> } <br />} <br /></span><span class="syntaxdefault">?></span> |
Quellcode |
|
1 |
<span class="syntaxdefault">function get_4</span><span class="syntaxkeyword">()<br />{<br /></span><span class="syntaxdefault">   return fread</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 4</span><span class="syntaxkeyword">);<br />}</span><span class="syntaxdefault"> </span> |
Quellcode |
|
1 |
<span class="syntaxdefault">function challenge</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">connect</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">            $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">send_strcmd</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">A2S_SERVERQUERY_GETCHALLENGE</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_int32</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">            $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_byte</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">            $challenge </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">get_4</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">            return $challenge</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            fclose</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fp</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">      </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> </span> |