Programm für Spiel-Protokoll
- Count Ypsilon
- Kriechlapf
- Beiträge: 52
- Registriert: 5. Jun 2006, 23:23
Programm für Spiel-Protokoll
Hallo,
eigentlich wollte ich nur auf mein hübsches neues Avatar-Bild hinweisen (siehe links). Captain Future rulez!
Ich habe ein Skript gemacht, mit dem man alles, was man im Freewar tut, mitprotokollieren kann - jede Bewegung, jede Transaktion, jeden Brief, und so weiter.
Für skeptische Gemüter gleich vorweg die Beruhigung: Es ist 100% AGB-konform, es erfordert keinerlei Eingriffe in den Browser, verändert nicht die Benutzeroberfläche, ruft keine Daten vom Server ab, usw. usw. usw.
Das Funktionsprinzip beruht darauf, dass der TCP-Datenstrom zwischen dem eigenen Rechner und dem Freewar-Server mitgeschnitten und analysiert wird. Es ist quasi so, als würde man während der ganzen Sitzung eine Videokamera auf den Bildschirm richten und später aufschreiben, was alles passiert ist (nur dass es weniger Arbeit macht). Das Skript "sieht" genau alles, was man selbst auch sieht, nicht mehr und nicht weniger, aber es hat ein präziseres Gedächtnis.
Das Skript ist derzeit noch in den Anfängen, es gibt sicher vieles, was es noch nicht kann (um aussagefähige Logs zu erzeugen, muss das Skript viel über Freewar "wissen"). Aber so Sachen wie Briefe und Geldtransaktionen mitloggen (wann hab ich welches NPC gekillt, welches Drop hab ich dabei bekommen usw.) geht schon gut. Besonders viel Spass macht mir eine Funktion, die ich eingebaut habe, mit der ich im laufenden Betrieb beim Jagen in der Gruppe immer sehen kann, welches Gruppenmitglied schon wieviel Geld "eingespielt" hat - das spornt einen richtig an ;-)
Leider hat das Skript noch nicht ansatzweise einen Zustand erreicht, in dem man es einem Noob in die Hand geben könnte - es geht einstweilen nur unter Linux und erfordert die Installation einiger Perl-Module sowie zumindest rudimentäre Kenntnisse davon, was "tcpdump" ist und was das macht. Alle, die das nicht haben, jetzt bitte nicht weiterlesen (für Euch gibt es hoffentlich auch irgendwann mal eine fertige, leicht bedienbare Version des ganzen!)
Die anderen sind herzlich eingeladen, sich auf dieser Seite hier eingehend über das Skript zu informieren, es herunterzuladen, auszuprobieren, und zu verbessern:
http://www.remote-island.org/101912/gamelog/
Wenn das alles mal richtig gut funktioniert, wird das Skript sicher auch für Mods eine willkommene Hilfe werden, weil es dann auch alle erhaltenen und versandten Mod-Briefe protokolliert - wer, wann, was, an wen - und den Schrei-, Feld- und Flüster-Chat gleich mit.
Besonders freuen würde mich natürlich, wenn sich ein paar Leute mit den notwendigen Kenntnissen so für die Sache interessieren, dass sie mithelfen, das Skript zu perfektionieren. Gerade Mod-Aktivitäten, aber auch PvP-Kämpfe, sind zwei Sachen, die in meinem Spiel-Alltag eher selten vorkommen und die daher noch unzureichend abgedeckt sind. Auch einiges andere fehlt noch (z.B. Shops). Wenn man das richtig implementiert, könnten die Shop-Preis-Aktualisierer mit dem Skript im Schlepptau in Nullkommanix die aktuellen Prozente eines Shops bestimmen und protokollieren... bestimmt gibt es noch 1000 weitere Einsatzmöglichkeiten.
Viel Spass
Y.
eigentlich wollte ich nur auf mein hübsches neues Avatar-Bild hinweisen (siehe links). Captain Future rulez!
Ich habe ein Skript gemacht, mit dem man alles, was man im Freewar tut, mitprotokollieren kann - jede Bewegung, jede Transaktion, jeden Brief, und so weiter.
Für skeptische Gemüter gleich vorweg die Beruhigung: Es ist 100% AGB-konform, es erfordert keinerlei Eingriffe in den Browser, verändert nicht die Benutzeroberfläche, ruft keine Daten vom Server ab, usw. usw. usw.
Das Funktionsprinzip beruht darauf, dass der TCP-Datenstrom zwischen dem eigenen Rechner und dem Freewar-Server mitgeschnitten und analysiert wird. Es ist quasi so, als würde man während der ganzen Sitzung eine Videokamera auf den Bildschirm richten und später aufschreiben, was alles passiert ist (nur dass es weniger Arbeit macht). Das Skript "sieht" genau alles, was man selbst auch sieht, nicht mehr und nicht weniger, aber es hat ein präziseres Gedächtnis.
Das Skript ist derzeit noch in den Anfängen, es gibt sicher vieles, was es noch nicht kann (um aussagefähige Logs zu erzeugen, muss das Skript viel über Freewar "wissen"). Aber so Sachen wie Briefe und Geldtransaktionen mitloggen (wann hab ich welches NPC gekillt, welches Drop hab ich dabei bekommen usw.) geht schon gut. Besonders viel Spass macht mir eine Funktion, die ich eingebaut habe, mit der ich im laufenden Betrieb beim Jagen in der Gruppe immer sehen kann, welches Gruppenmitglied schon wieviel Geld "eingespielt" hat - das spornt einen richtig an ;-)
Leider hat das Skript noch nicht ansatzweise einen Zustand erreicht, in dem man es einem Noob in die Hand geben könnte - es geht einstweilen nur unter Linux und erfordert die Installation einiger Perl-Module sowie zumindest rudimentäre Kenntnisse davon, was "tcpdump" ist und was das macht. Alle, die das nicht haben, jetzt bitte nicht weiterlesen (für Euch gibt es hoffentlich auch irgendwann mal eine fertige, leicht bedienbare Version des ganzen!)
Die anderen sind herzlich eingeladen, sich auf dieser Seite hier eingehend über das Skript zu informieren, es herunterzuladen, auszuprobieren, und zu verbessern:
http://www.remote-island.org/101912/gamelog/
Wenn das alles mal richtig gut funktioniert, wird das Skript sicher auch für Mods eine willkommene Hilfe werden, weil es dann auch alle erhaltenen und versandten Mod-Briefe protokolliert - wer, wann, was, an wen - und den Schrei-, Feld- und Flüster-Chat gleich mit.
Besonders freuen würde mich natürlich, wenn sich ein paar Leute mit den notwendigen Kenntnissen so für die Sache interessieren, dass sie mithelfen, das Skript zu perfektionieren. Gerade Mod-Aktivitäten, aber auch PvP-Kämpfe, sind zwei Sachen, die in meinem Spiel-Alltag eher selten vorkommen und die daher noch unzureichend abgedeckt sind. Auch einiges andere fehlt noch (z.B. Shops). Wenn man das richtig implementiert, könnten die Shop-Preis-Aktualisierer mit dem Skript im Schlepptau in Nullkommanix die aktuellen Prozente eines Shops bestimmen und protokollieren... bestimmt gibt es noch 1000 weitere Einsatzmöglichkeiten.
Viel Spass
Y.
- Drosan
- Gelbbart-Yeti
- Beiträge: 2476
- Registriert: 17. Mär 2006, 08:38
- Wohnort: FreewarTools.com
- Kontaktdaten:
Mheatus hat geschrieben:Was bei deiner Seite klar fehlt ist eine einfache , klare Anweisung, wie man es bedient.. *gg* Läuft das überhaupt auf einem Windows-PC ?
Du könntest es ja mit cygwin versuchenCount Y hat geschrieben: Leider hat das Skript noch nicht ansatzweise einen Zustand erreicht, in dem man es einem Noob in die Hand geben könnte - es geht einstweilen nur unter Linux und erfordert die Installation einiger Perl-Module sowie zumindest rudimentäre Kenntnisse davon, was "tcpdump" ist und was das macht.

Berion dS
Gründer und einziger Mitarbeiter der Stiftung Obi Test
[17:20:06] <tanine> Hiermit, Obi, ernenne ich dich zu meinem persönlichen Privatmasseur. Du bist der einzige, der Hand an meine Schultern legen darf.
[17:20:39] <Obraka> *total stolz guck*
[17:20:06] <tanine> Hiermit, Obi, ernenne ich dich zu meinem persönlichen Privatmasseur. Du bist der einzige, der Hand an meine Schultern legen darf.
[17:20:39] <Obraka> *total stolz guck*
- Count Ypsilon
- Kriechlapf
- Beiträge: 52
- Registriert: 5. Jun 2006, 23:23
Das Problem ist vermutlich weniger das zum Laufen kriegen, als vielmehr die Tatsache, dass ein Windows-User ein schönes Windows-Programm erwarten wird und kein Kommandozeilen-Tool... und sowas kann ich nicht ;-)larsibär hat geschrieben:müßte theoretisch auch unter windows zum laufen zu bekommen sein ...
die meisten module gibt es als source code oder auch für windows ...
praktisch ... ojeee ^^
also wenn du es laufen haben willst count, dann musst du dich nen bißl
bemühen und je nach wissensstand viiiiel lesen ^^
Was das zum-Laufen-kriegen anbetrifft, so wäre es unter Windows vermutlich einfacher, das ganze als Proxy zu designen, d.h. man stellt in seinem Browser als Proxy sowas wie "127.0.0.1:1234" ein, und auf dem Port lauscht dann das Programm, das die Anfragen alle an den Freewar-Server durchreicht und die Antworten vom Server an den Browser (und dabei eben alles protokolliert).
Der Grund, warum ich das nicht gemacht habe, ist, dass ich damit ganz streng genommen ein Programm erschaffe, dass anstelle des Browsers die Requests an den Freewar-Server schickt - auch wenn es sie nur durchreicht! - und damit die AGB verletze. Klingt albern, ist albern, aber ich wollte halt nicht, dass mir irgendein Spinner, dem meine Nase nicht gefällt, an den Karren fahren kann. Daher die tcpdump-basierende Lösung.
Y.
-
- Gelbbart-Yeti
- Beiträge: 2153
- Registriert: 4. Apr 2006, 18:49
- Kontaktdaten:
Hmm netter AnsatzIch habe ein Skript gemacht, mit dem man alles, was man im Freewar tut, mitprotokollieren kann - jede Bewegung, jede Transaktion, jeden Brief, und so weiter.
Ich fände so ein Script eher gut um die Aktionen der Spieler auf Seite der Admins auszuwerten.
Schnipsel eines selbstgeschriebenen Programms rumwerf
Programmiersprache Java
Code: Alles auswählen
public class WorldSay extends AktiondesUser
{
private String line = null; // private also nur von dieser Klasse zu ändern
public WorldSay()
{
// Konstruktor bleibt leer
}
public boolean istVerantwortlich()
{
if (super().istVerantwortlich != true)
{
return false;
// ruft die Java-Klasse AktiondesUsers auf
// diese ist nicht explizit beschrieben
// sollte aber abstrakt sein
}
line = Analyse.getLine()
// die Analyse klasse geht eine datei durch Linie für Linie
if (line.indexOf("Auf der ganzen Welt zu hören")!=-1)
// das ist ein Suchstring
{
return true;
}
return false;
}
public void addToDatabase()
{
int start = line.indexOf("Auf der ganzen Welt zu hören")+1
int end = line.indexOf(":")+1;
line = line.substring(start,ende);
Database database = new Database();
// Database wäre eine Klasse
// Diese baut die Verbindung auf zur Datenbank
// MySQL / Access / Oracle ... ist eigentlich egal
database.setDatabaseEntry(line);
// Methode in der Klasse Database
// Eintrag ist sicher ausbau fähig (User , sessionid, tag , Zeit, ...)
}
}

Vorraussetzungen sind
-> Auf dem Server muß der Jdk installiert sein
-> besser J2EE
Hi!
Ich habe gerade das Skript zum Großteil gelesen und bin ziemlich positiv überrascht wie einfach man manche Sachen mit Perl lösen kann *fg*
Ich bin die oben genannte Person, die soetwas ähnliches programmiert. Viele Lösungen sind fast identisch und bei einigen sieht man auch, dass einfach auf andere Sichten/Dinge Wert gelegt wurde.
Vielleicht lässt sich ja eine Kooperation hinbekommen bzw. gegenseitige Ideenhilfe. Machbar ist mit den Logs ziemlich viel, aber jeden intressieren andere Dinge
Ich finde den Ansatz mit tcpdump sehr intressant. Ich habe trotzdem bei mir einen Proxy auf JAVA 1.5 Basis genommen. Sinn der Sache sollte sein, dass Browser und Betriebssystem mehr oder minder egal sind.
Gruß damh
Ich habe gerade das Skript zum Großteil gelesen und bin ziemlich positiv überrascht wie einfach man manche Sachen mit Perl lösen kann *fg*
Ich bin die oben genannte Person, die soetwas ähnliches programmiert. Viele Lösungen sind fast identisch und bei einigen sieht man auch, dass einfach auf andere Sichten/Dinge Wert gelegt wurde.
Vielleicht lässt sich ja eine Kooperation hinbekommen bzw. gegenseitige Ideenhilfe. Machbar ist mit den Logs ziemlich viel, aber jeden intressieren andere Dinge

Ich finde den Ansatz mit tcpdump sehr intressant. Ich habe trotzdem bei mir einen Proxy auf JAVA 1.5 Basis genommen. Sinn der Sache sollte sein, dass Browser und Betriebssystem mehr oder minder egal sind.
Gruß damh
- Count Ypsilon
- Kriechlapf
- Beiträge: 52
- Registriert: 5. Jun 2006, 23:23
[quote="DarkLord"]
Schnipsel eines selbstgeschriebenen Programms rumwerf
Programmiersprache Java
[/quote]
Darklord, dafuer brauchst Du weder jdk, noch j2ee, noch eine Datenbank. Nimmst Du zum Unkrautjäten auch einen Hydraulikbagger? Da reicht ein "wget" und ein Shell-Skript. Sowas hab ich schonmal gemacht, nicht nur fuer Worldsay, sondern fuer den kompletten Schrei-Chat auf Basis des von aussen zugaenglichen Schrei-Chat-Links, aber man hats mir untersagt (u.a. weil es die Persoenlichkeitsrechte der so mitgeloggten User verletzten koennte). Hm, fuer ausschliesslich-Worldsay koennte man es vielleicht machen, Worldsay hat ja keine Persoenlichkeit ;-)
Y.
Schnipsel eines selbstgeschriebenen Programms rumwerf
Programmiersprache Java
[/quote]
Darklord, dafuer brauchst Du weder jdk, noch j2ee, noch eine Datenbank. Nimmst Du zum Unkrautjäten auch einen Hydraulikbagger? Da reicht ein "wget" und ein Shell-Skript. Sowas hab ich schonmal gemacht, nicht nur fuer Worldsay, sondern fuer den kompletten Schrei-Chat auf Basis des von aussen zugaenglichen Schrei-Chat-Links, aber man hats mir untersagt (u.a. weil es die Persoenlichkeitsrechte der so mitgeloggten User verletzten koennte). Hm, fuer ausschliesslich-Worldsay koennte man es vielleicht machen, Worldsay hat ja keine Persoenlichkeit ;-)
Y.
Korrigiere mich wenn ich mich irre, aber deine Idee mit wget verstößt gegen die AGBs weil du Freewar mit was anderem als deinem Browser aufrufst.Count Ypsilon hat geschrieben:Darklord, dafuer brauchst Du weder jdk, noch j2ee, noch eine Datenbank. Nimmst Du zum Unkrautjäten auch einen Hydraulikbagger? Da reicht ein "wget" und ein Shell-Skript. Sowas hab ich schonmal gemacht, nicht nur fuer Worldsay, sondern fuer den kompletten Schrei-Chat auf Basis des von aussen zugaenglichen Schrei-Chat-Links, aber man hats mir untersagt (u.a. weil es die Persoenlichkeitsrechte der so mitgeloggten User verletzten koennte). Hm, fuer ausschliesslich-Worldsay koennte man es vielleicht machen, Worldsay hat ja keine PersoenlichkeitDarkLord hat geschrieben: Schnipsel eines selbstgeschriebenen Programms rumwerf
Programmiersprache Java
Y.
Die Idee von Ihm mit dem TCPDUMP war ja nur zu gucken was da durch die Leitung fließt und damit also keine eigenen Aufrufe zu generieren.
- Drosan
- Gelbbart-Yeti
- Beiträge: 2476
- Registriert: 17. Mär 2006, 08:38
- Wohnort: FreewarTools.com
- Kontaktdaten:
Genau, und jetzt lies nochmal den fett markierten Teillarsibär hat geschrieben:Korrigiere mich wenn ich mich irre, aber deine Idee mit wget verstößt gegen die AGBs weil du Freewar mit was anderem als deinem Browser aufrufst.Count Ypsilon hat geschrieben: Da reicht ein "wget" und ein Shell-Skript. Sowas hab ich schonmal gemacht, nicht nur fuer Worldsay, sondern fuer den kompletten Schrei-Chat auf Basis des von aussen zugaenglichen Schrei-Chat-Links, aber man hats mir untersagt (u.a. weil es die Persoenlichkeitsrechte der so mitgeloggten User verletzten koennte). Hm, fuer ausschliesslich-Worldsay koennte man es vielleicht machen, Worldsay hat ja keine Persoenlichkeit
Y.
Berion dS
Gründer und einziger Mitarbeiter der Stiftung Obi Test
[17:20:06] <tanine> Hiermit, Obi, ernenne ich dich zu meinem persönlichen Privatmasseur. Du bist der einzige, der Hand an meine Schultern legen darf.
[17:20:39] <Obraka> *total stolz guck*
[17:20:06] <tanine> Hiermit, Obi, ernenne ich dich zu meinem persönlichen Privatmasseur. Du bist der einzige, der Hand an meine Schultern legen darf.
[17:20:39] <Obraka> *total stolz guck*
- fireburn
- Zauberer der Bergwiesen
- Beiträge: 670
- Registriert: 12. Nov 2003, 20:08
- Wohnort: Oz
- Kontaktdaten:
Cool, genau so ein Tool wollte ich auch mal machen, allerdings nicht über den Datenstrom, sondern über die Browsercontrols, die permanent ausgelesen werden. Halt ein Tracker der alles protokolliert und Statistiken erstellt usw.
Das geht allerdings beim Firefox nicht (man müsste also mit IE zocken), daher hab ichs sein gelassen.
Würde dein tool gerne testen, hab nur grad kein Linux hier.
Porte das doch nach windows. Mit den winpcap Treibern kann man ja auch die Leitungen "abhören".
Genial ist sowas auch für Dinge wie: "Auf wieviel NPCs kommt im Durchschnitt eine Amulett-Aktivierung und wieviele Amulett Aktivierungen habe ich insgesamt?", dann müsste man nicht alles manuell mit ner Strichliste machen.
Ahja, irgendwer hat hier cygwin vorgeschlagen, aber dort gibt es doch nur Textbrowser?! Wie soll man freewar in einem Textbrowser spielen? Es geht nicht, habs schonmal probiert.

Würde dein tool gerne testen, hab nur grad kein Linux hier.

Porte das doch nach windows. Mit den winpcap Treibern kann man ja auch die Leitungen "abhören".
Genial ist sowas auch für Dinge wie: "Auf wieviel NPCs kommt im Durchschnitt eine Amulett-Aktivierung und wieviele Amulett Aktivierungen habe ich insgesamt?", dann müsste man nicht alles manuell mit ner Strichliste machen.
Ahja, irgendwer hat hier cygwin vorgeschlagen, aber dort gibt es doch nur Textbrowser?! Wie soll man freewar in einem Textbrowser spielen? Es geht nicht, habs schonmal probiert.

Rape is no laughing matter unless you're raping a clown.
und du bitte die angegebene begründung von count y dahinter ...Drosan hat geschrieben:aber man hats mir untersagt (u.a. weil es die Persoenlichkeitsrechte der so mitgeloggten User verletzten koennte).
Genau, und jetzt lies nochmal den fett markierten Teil
Berion dS
dann weißt du meinen kommentar vielleicht als "das hat auch die AGBs verletzt und konnte deswegen untersagt werden, im gegensatz zu dem tool hier" zu verstehen

Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste