webbasierende echtzeit remoteconsole

Mentel

New Member
Hallo,

ich versuche schon seit längerer Zeit eine webbasierende RemoteConsole für meinen Jedi Knight 3 (jk3) Server zu basteln.

Nichtmals mein Ansatz um zu connecten (port 29000 UDP) funktionierte.

Meine idee ist es den Chat also die Console in ECHTZEIT anzeigen lassen zu können (ohne farbcodes) und als Server (svsay) kann man mitchatten und auch direktcommands (z.B clientkick per Button und JavaScript eingabeformular) eingeben bzw. via. Button an den Server senden kann.

Ich habe mir sämtliche Scripts und HowTows reingehauen, und das Nächtelang, nichts davon funktionierte.

hat jemand vl. eine Idee wie es eventuel funktionieren könnte (connecten, befehle senden und chat anzeigen)?

Würde mich über jegliche Hilfe bestens freuen.
 
Hast du eine (funktionierende) Protokoll-Liste?
Ansonsten wirds schwer - reverseengineeren respektiv Netzwerksniffen vorprogrammiert...
 
Hi,

nein hab ich auch noch nicht. Hab da verschiedene Arten ausprobiert scheint auch nicht hinzuhauen so wie ich das möchte.

Falls gewisse php.ini Einstellungen erforderlich sind kann ich diese ggf. auch einstellen.
 
ohne Protokoll kannste ja nicht sehr viel machen :S
Nimm einen RCON-Client und sniffe seinen Traffic mit zB Tenable mit.
Dann kannste mal sehen was er macht und ganz wichtig: WIE.

PHP kommt erst zum Zug wenn du mal das weißt :D
 
Hi,

ha mir malwas zusammengeproggt mit hängen und würden über 10 tausende howtows..

naja das endlich mal was klappt...

Code:
if (!isset($_GET['command'])) {
   $_GET['command'] = 'svsay ^1^0i^1X^0clusiv ^2rCon activated.. panel.sithempire-clan.com:2233';
}

set_time_limit(0);
$cs_server["ip"] = "myip";
$cs_server["port"] = "myport";
$cs_server["rcon"] = "mypw";

$server_connect =  fsockopen("udp://".$cs_server[ip], $cs_server[port], $errno, $errstr, 0); // zum server verbinden
if(!$server_connect) {
    echo "Fehler beim verbinden!";
}
else {
   echo "<font color='green'>Verbindung steht!</font><br><br>";
   // rcon id holen
   fwrite($server_connect, "\xFF\xFF\xFF\xFFstatus\x00");
   
    $read_id = fread($server_connect, 1);
   $sockets = socket_get_status($server_connect);
   $read_id = $read_id;
   $rcon_pw = explode(" ", $read_id);
   $cs_server[rcon_id] = $rcon_pw[2];
   $cs_server[rcon_id] = str_replace("\n","",$cs_server[rcon_id]);
   $command = sprintf("rcon %s \"%s\" %s", $cs_server['rcon_id'], $cs_server['rcon'], $_GET['command']);
   $tosend = sprintf("%c%c%c%c%s%c", 0xFF, 0xFF, 0xFF, 0xFF, $command, 0x00);
   fwrite($server_connect,$tosend);
   $read_cmd = fread($server_connect, 1);
   $sockets = socket_get_status($server_connect);
   $read_cmd = $read_cmd . fread($server_connect,$sockets['unread_bytes']);
   echo $read_cmd;
   ?>
   <br><br>
   <?php
   echo $sockets['status'];
   fclose($server_connect);
}

also einen Befehl kann ich schonmal senden, funktioniert prima, nur jetzt weiß ich echt nicht wie man das live bekommt. JS kann ich nicht,damit sind viele php-Chats gemacht.
 
"Live" kriegste nur mit flush() in PHP, also die direkte Ausgabe in den Browser und nicht Javascript. Für Javascript brauchste einen Daemon der im Hintergrund auf dem Server lläuft und die Daten in eine Datenbank speist von wo du sie abrufst

Allerdings wird dein Script dann nur auf eigenen Webservern laufen, da alle gängigen Anbieter dich nach spätestens 10Sekunden beenden.


Übrigens ist das was du da geschrieben hast genau das was ich meinte: man muss exakt wissen wie was geht sonst kriegt man es nit hin :D
 
Back
Top