Half-Life RCON Script

Dann wirst Du Dir dafuer wohl eine Funktion schreiben muessen. Dafuer wirst Du dann wohl diese CommandID benoetigen. Diese zu bekommen duerfte mit Ethereal kein Problem sein.
 
Du musst das rcon passwort setzen

Das geht so:
Code:
rcon_password xyz
und schon kannst du mittels
Code:
rcon say "hallo Ihr"
Befehle an den Server senden
 
Achso, sorry das hab ich missverstanden.

Wenn du zb. über HLSW oder dem Spiel direkt befehle auf dem Server ausführe lassen willst.
Dann musst du ja erst das Passwort setzen, damit du Rechte bekommst, um diese auszuführen.

Soviel ich weiß, wird jedesmal wenn man ein Befehl über rcon ausführen will, das Passwort mitgesendet. Das müsstest du wahrscheinlch hinbekommen.

Gruss,
MArc
 
Folgendes habe ich Herausgefunden:

wenn ich nur
PHP:
    if($myacid->executeCommand('bla'))
sende kommt das beim server an.
wenn ich aber
PHP:
    if($myacid->executeCommand('bla bla'))
sende kommt es nicht an.
kann das an
PHP:
        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);
        }
liegen ?
das da vielleicht was geändert werden muss da man scheinbar nur 1 Wort senden kann.
 
Also ich habs wahrscheinlich.

Du musst "server_password definieren.
Das script was du hast, ist wohl für Server die kein rcon passwort gesetzt haben (?)(falls das geht)

Füge einfach vor
Code:
$this->sockId = fsockopen('udp://'.$server, $port, &$errno, &$errstr, 15);

ein

Code:
$this->server_password = 'meinpasswort';
ein.
Hoffe das Hilft.

Nachtrag: Ähm, ich glaube es gibt befehle die kein rcon erfordern, (info zb.) und andere die eins benötigen. Da bin ich mir aber nicht ganz sicher.

Gruss,
MArc
 
Zuletzt bearbeitet:
Zurück