Half-Life RCON Script

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:

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());
?>
 
hi

biste denn jetz weiter gekommen?

also mit dem "Basic CS:S Rcon class by Freman. (V1.00)" was auf der seite vorher gepostet wurde konnte ich bisher alle befehle an den server sende.. auch solche die eine authentification brauchen, z.b. ein PW setzen.

EDIT:
ich hab da mal was zusammengezimmert..
einfach ip, port, rcon passwort und evtl. nen befehl eingeben (kann auch leer bleiben, dann wird "status" benutzt.
http://www.korizon.de/
 
Zuletzt bearbeitet:
Zurück