komplizierte ausgabeumleitung von Programm in PHP

Antworten
Nachricht
Autor
pkrix
Beiträge: 11
Registriert: 03. Apr 2009 10:24

komplizierte ausgabeumleitung von Programm in PHP

#1 Beitrag von pkrix » 03. Apr 2009 10:46

Hallo, ich habe folgendes Problem:

ich habe einen root-server, auf dem mehrere call of duty uo gameserver laufen. die server starte ich mit dem befehl:

Code: Alles auswählen

screen -dmS portxy ./coduo_lnxded +exec server.cfg +set net_port xy
wenn ich dann mit

Code: Alles auswählen

screen -r portxy
das programm coduo_lnxded in den vordergrund nehme, dann bekomme ich beispielsweise folgende ausgabe:

Code: Alles auswählen

Sending heartbeat to coduomaster.activision.com
Client 149 connecting with 150 challenge ping from 212.44.79.62:28960
Going from CS_FREE to CS_CONNECTED for Unknown Soldier (num 4 guid 814193)
Sending heartbeat to coduomaster.activision.com
status
Client 150 connecting with 100 challenge ping from 87.205.128.43:28960
Going from CS_FREE to CS_CONNECTED for ^1#^7Core^9'^7cr^9w^1'^9K^7atru (num 5 guid 754631)
status
5:^1#^7Core^9'^7cr^9w^1'^9K^7atru EXE_DISCONNECTED
map_rotate...

"sv_mapRotation" is:"is: gametype ctf map mp_uo_stanjel"

"sv_mapRotationCurrent" is:""

Unknown keyword 'is:' in sv_mapRotation.
Setting g_gametype: ctf.
Setting map: mp_uo_stanjel.
==== RestartGame ====
------- Game Initialization -------
gamename: CoD:United Offensive
gamedate: Sep 10 2004
0 teams with 0 entities
-----------------------------------
Hitch warning: 1704 msec frame time
Sending heartbeat to coduomaster.activision.com
Das Logfile, das von dem Programm automatisch erstellt wird, ist jedoch noch umfangreicher und viel schwerer zu lesen. Nun versuche ich seit ein paar tagen die direkte bildschirmausgabe 1 zu 1 in eine textdatei zu kopieren.
Der Hintergrund ist folgender: Ich habe für diese Gameserver ein Webinterface mit php programmiert, worüber ich die gameserver starten, stoppen und dergleichen kann. Nun möchte ich noch die funktion hinzufügen, dass der user, der sich im webinterface einloggt selber auf seine spezielle gameserverconsole schauen kann. ich dachte mir, dass der einfachste weg wohl eine umleitung der bildschirmanzeige in eine textdatei ist und diese dann von php mit leserechten aufgerufen wird. die ansicht würde dann alle bsp. 30 sekunden aktuallisiert. Und da ist das problem. ich habe es bis jetzt weder mit >> noch mit tee geschafft die anzeige komplett in eine textdatei zu kopieren. Habe nur geschafft, dass die befehle, die ich über die console an den server schicke in die datei geschrieben werden, jedoch ohne die ganzen antworten und ausgaben, die das ganze ja erst interessant machen ;)

Ich hoffe ich habe mein problem detailiert genug geschildert. Für jede Antwort bin ich dankbar!!

Gruß

Benutzeravatar
Janka
Beiträge: 3581
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 03. Apr 2009 18:15

Gib screen die Option "-L" mit, dann loggt er alle Ein- und Ausgaben in der Sitzung in einer Datei mit. Von dieser Datei liest du dann alle paar sekunden jeweils die letzten n Zeilen aus und zeigst sie auf der Webseite an.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

pkrix
Beiträge: 11
Registriert: 03. Apr 2009 10:24

#3 Beitrag von pkrix » 03. Apr 2009 18:44

super danke für die info. werde ich direkt ausprobieren!!! melde mich dann, ob es geklappt hat!!

gruß

pkrix
Beiträge: 11
Registriert: 03. Apr 2009 10:24

#4 Beitrag von pkrix » 03. Apr 2009 19:12

Es funktioniert!!! Hab vielen dank ^^ und für diese 2 zeichen (-L) hab ich 2 tage gescuht xD oh mann.. wie peinlich ^^

das mit der alle paar sec aktuallisieren mach ich ein ander mal.. hauptsache ist, dass es funktioniert xD

Antworten