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> |