aciddesigns_de
Mitglied
ich weiss das es an meinem liegt da alle anderen Funktioniren.
kann sich vielleicht mal Jemand dieses Script runterladen und angucken:
http://sourceforge.net/project/showfiles.php?group_id=66007
und das mit meinem vergleichen. Evt. kommt einer auf einen Fehler.
Mein Problem : Ich brauch eine Funktion in der ich das RCON Password definiere.
Hier nochmal das Script:
kann sich vielleicht mal Jemand dieses Script runterladen und angucken:
http://sourceforge.net/project/showfiles.php?group_id=66007
und das mit meinem vergleichen. Evt. kommt einer auf einen Fehler.
Mein Problem : Ich brauch eine Funktion in der ich das RCON Password definiere.
Hier nochmal das Script:
PHP:
<?php
/*
RCON Halflife Admin Klasse
Aktion: PHP Scripte für die armen dieser Welt
Der Erlös geht für mein Pausenbrot drauf
Copyright (c) 2004 by Phillip 'Firebird' Berndt
*/
class hlAdmin
{
var $sockId;
function hlAdmin($server, $port)
{
$this->sockId = fsockopen('udp://'.$server, $port, &$errno, &$errstr, 15);
if(!$this->sockId)
die("<br /><br />Error($errno): $errstr<br />");
}
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
$myacid = new hlAdmin('193.192.58.59', 27500);
// Server informationen
if($myacid->executeCommand('info') == 'C')
{
echo("<table width='365' border='0' align='center' cellpadding='0' cellspacing='0'>
<tr>
<td width='110'> IP : </td>
<td width='255'>".$myacid->getString()."</td>
</tr>
<tr>
<td>Hostname :</td>
<td>".$myacid->getString()."</td>
</tr>
<tr>
<td>Map :</td>
<td>".$myacid->getString()."</td>
</tr>
<tr>
<td>Mod : </td>
<td>".$myacid->getString()."</td>
</tr>
<tr>
<td>Description : </td>
<td>".$myacid->getString()."</td>
</tr>
</table>");
$myacid->readBytes(3);
echo('<br />
');
}
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($myacid->executeCommand('rcon mp_foobar 1'))
echo($myacid->getString());
?>