Alle Spieler von einer Gameserver Abfrage rausfiltern

Manuel

Mitglied
Hallo Leudde,

ich habe ein Webinterface für meinen Gameserver programmiert der bei mir zu Hause läuft. Wenn ich den RCON Befehl status an den Server sende, kommt folgendes zurück:

Code:
map: mp_highrise
num score ping guid                             name            lastmsg address               qport rate
--- ----- ---- -------------------------------- --------------- ------- --------------------- ----- -----
  0  1240  212                 01100001024zxx9c Skaut^7                 0 000.000.000.000:00000 -25439 25000
  2   700   81                 01100001cg9ddkz4 ^2----->[Tiësto^7         0 00.0.000.000:0000     -24556 25000

IP-Adressen und GUID von den Usern die derzeit auf dem Server sind natürlich ersetzt ;)

Ich bekomme es einfach nicht hin wenn ich das was oben steht in $status speicher dann die ganzen Daten in eine stink normale Tabelle speichern kann. Also einfach in die HTML Tablle soll:

GUID Spielername IP-Adresse Score Ping Optionen

Bei den Optionen kommt dann Kicken / Tempbannen hin.

Ich habe kein Plan wie ich das anfangen soll. Ein anderes Forum konnte mir da nicht helfen. Ich weis das ich es in ein Array speichern soll aber wie genau nicht.
 
Den String in einzelne Zeilen zerlegen.
$zeile = explode("\n",$daten);
Dann den Array durchlaufen, und die einzelnen Zeilen (Array Felder) ebenfalls nochmals zerlegen dabei, dafür würde sich dann eher preg_split eignen.
 
Ich habe das jetzt so gemacht:
PHP:
   <?php
    // status vom server holen
    $str = Rcon::console('status');
    // farbcodes rausnehmen
    $str = str_replace('^0', '', $str);
    $str = str_replace('^1', '', $str);
    $str = str_replace('^2', '', $str);
    $str = str_replace('^3', '', $str);
    $str = str_replace('^4', '', $str);
    $str = str_replace('^5', '', $str);
    $str = str_replace('^6', '', $str);
    $str = str_replace('^7', '', $str);
    $str = str_replace('^8', '', $str);
    $str = str_replace('^9', '', $str);
    // explode
    $str = explode("\n", $str);
    echo $str[9];
   ?>

Also es werden jetzt die Daten in ein Array gelegt und wenn ich jetzt $str[9] oder $str[10] mache bekomme ich z.B.
5 60 187 01100001b224e9zx toto 0 00.00.0.000:00000 1589 25000

Zur Erklärung:
5 = ID
60 = Score
01100001b224e9zx = GUID
toto = Spielername
0 = lastmsg (keine Ahnung was das ist)
00.00.0.000:00000 = IP-Adresse
1589 = qport
25000 = rate

OK, wie mache ich jetzt aus diesen Daten eine Tabelle mit ID, Spielername, Score, GUID, IP-Adresse, Optionen

Genau in dieser Reihenfolge.
 
Zurück