sockId = fsockopen('udp://'.$server, $port, &$errno, &$errstr, 15); if(!$this->sockId) die("

Error($errno): $errstr
"); } function executeCommand($command) { $cmdIdentifier = "\xFF\xFF\xFF\xFF"; fwrite($this->sockId, $cmdIdentifier.$command); $retVal = fread($this->sockId, 5); if(substr($retVal, 0, 4) != $cmdIdentifier) return false; return substr($retVal, 4); } function getString() { while(ord($mChar = fgetc($this->sockId)) != 0) { $retVal .= $mChar; } return $retVal; } function readBytes($count) { return fread($this->sockId, $count); } } // Testscript $testServer = new hlAdmin('213.202.198.59', 27015); // Server informationen if($testServer->executeCommand('info') == 'C') { echo('Server IP: '.$testServer->getString().'
Server Host: '.$testServer->getString().'
Server Map: '.$testServer->getString().'
Server Mod: '.$testServer->getString().'
Server Description: '.$testServer->getString().'
'); $testServer->readBytes(3); echo('
'); } else { echo('Verbindung fehlgeschlagen'); } // WICHTIG: // Vor Rcon Befehlen immer den Text "rcon " senden // Also z.B. ('rcon rcon_password 123'), sonst kommt ein // Fehler!! // Irgendwas zum Beweisen, dass auch andere Befehle gehen :D // Müsste kommen, dass ich keine rcon Rechte hab ;) if($testServer->executeCommand('rcon mp_foobar = 1')) echo($testServer->getString()); ?>