Mal so aus Neugier, da ich selber grade vor der Entscheidung stehe, doch was loggt ihr in eurem Spiel alles mit?
Die Frage bezieht sich jetzt speziell auf die User. Loggt Ihr Dinge wie Registrierungszeitpunkt, Login, Profiländerung und Co mit, nur spezielle Zeitpunkte oder gar überhaupt nichts?
Was loggt Ihr alles mit?
gepostet vor 18 Jahre, 5 Monate von Mudder
gepostet vor 18 Jahre, 5 Monate von Itchy
Ständig mitloggen tu ich gar nix, nur wenns irgendein Problem gibt, wird halt was in den Code gehackt
gepostet vor 18 Jahre, 5 Monate von alco
Werte für die Statistik sind nie schelcht (Reg-Datum etc.) ... des weiteren sind Login Daten aufschlussreich bei etwatigen Multis ....
gepostet vor 18 Jahre, 5 Monate von Kallisti
1 - Login (Id, Name, Zeitpunkt, IP Adresse, Remote Port + Clanid) - 4 Wochen
2- Fremdlogin! (s.o. + Oldid + Oldname)
3/4- Ueberweisung(+ Zielid + Zielname + Betrag) - 8 Wochen
5/6/7- Ueberfuehrung/Transport/Angriff(+ Zielid + Zielname + Geschwadername + Anzahl Schiffe (Qualitaet?) - 8/8/4 Wochen
8- IGM (+ Zielid + Zielname + Inhalt) - 4 Wochen
9- Torpedos (+ Zielid + Zielbesiter + Menge) - 4 Wochen
10- Auktionen(+ Zielid + Zielname + Produktinfos... + Betrag) - 4 Wochen
11- Vertretung setzen
12- Vertretung login
id, typ, userid, name, time, ip addr, remote port, useragent, targetid, targetname, value
{
mysql_query("INSERT DELAYED INTO multidata (typ, userid, name, time, ip, port, useragent, targetid, tar
".$typ.",
".$userid.",
'".$name."',
UNIX_TIMESTAMP(),
'".$_SERVER['REMOTE_ADDR']."',
".$_SERVER['REMOTE_PORT'].",
'".$_SERVER['HTTP_USER_AGENT']."',
".$targetid.",
'".$targetname."',
'".$value."'
");
}
Auswertungssoftware aber noch nicht geschrieben. )
2- Fremdlogin! (s.o. + Oldid + Oldname)
3/4- Ueberweisung(+ Zielid + Zielname + Betrag) - 8 Wochen
5/6/7- Ueberfuehrung/Transport/Angriff(+ Zielid + Zielname + Geschwadername + Anzahl Schiffe (Qualitaet?) - 8/8/4 Wochen
8- IGM (+ Zielid + Zielname + Inhalt) - 4 Wochen
9- Torpedos (+ Zielid + Zielbesiter + Menge) - 4 Wochen
10- Auktionen(+ Zielid + Zielname + Produktinfos... + Betrag) - 4 Wochen
11- Vertretung setzen
12- Vertretung login
id, typ, userid, name, time, ip addr, remote port, useragent, targetid, targetname, value
function logdata($typ, $userid, $name, $targetid, $targetname, $value)
{
mysql_query("INSERT DELAYED INTO multidata (typ, userid, name, time, ip, port, useragent, targetid, tar
".$typ.",
".$userid.",
'".$name."',
UNIX_TIMESTAMP(),
'".$_SERVER['REMOTE_ADDR']."',
".$_SERVER['REMOTE_PORT'].",
'".$_SERVER['HTTP_USER_AGENT']."',
".$targetid.",
'".$targetname."',
'".$value."'
");
}
Auswertungssoftware aber noch nicht geschrieben. )
gepostet vor 18 Jahre, 5 Monate von knalli
Registerierung kann nie schaden, das gehört bei mir fast zum Standardfeld bei einem Projekt.
Dinge wie Profiländerung weniger, sowas würde höchstens geloggt, wenn es sensible Bereiche dort gibt oder z.b. ein Sicherheitsproblem dort ist (und ich logge, wer es ausnutzt ).
Kämpfe mitloggen ist wieder teils/teils.. es läuft eine komplette Log, die aber aus Platzgründen nicht lange lieben bleiben kann.
Da nicht jedes Spiel ein perfekt, finales System hat, die einzige Möglichkeit, die teilweise konfusen Beschreibungen der User ("Bug!") nachzuvollziehen.
Andere Frage: Nutzt ihr Situationsabhängige Logs, oder standardisierte?
Ich habe bei uns eine kleine Funktion geschrieben, die per assoziertem Array quasi die Feldnamen akzeptiert - und in der Datenbank entsprechend einfügt (inkl der bereits bekannten Werte).
Also z.b. sowas wie bei lg_system (lg_userid, lg_time, lg_ip, lg_action..)
function loghandler('system', array('action'));
Dinge wie Profiländerung weniger, sowas würde höchstens geloggt, wenn es sensible Bereiche dort gibt oder z.b. ein Sicherheitsproblem dort ist (und ich logge, wer es ausnutzt ).
Kämpfe mitloggen ist wieder teils/teils.. es läuft eine komplette Log, die aber aus Platzgründen nicht lange lieben bleiben kann.
Da nicht jedes Spiel ein perfekt, finales System hat, die einzige Möglichkeit, die teilweise konfusen Beschreibungen der User ("Bug!") nachzuvollziehen.
Andere Frage: Nutzt ihr Situationsabhängige Logs, oder standardisierte?
Ich habe bei uns eine kleine Funktion geschrieben, die per assoziertem Array quasi die Feldnamen akzeptiert - und in der Datenbank entsprechend einfügt (inkl der bereits bekannten Werte).
Also z.b. sowas wie bei lg_system (lg_userid, lg_time, lg_ip, lg_action..)
function loghandler('system', array('action'));
gepostet vor 18 Jahre, 5 Monate von Mudder
Ich muss sagen, dass ich wenn eine MySQL-basierende, universelle Logfunktion nutze. (id, time, priority, name, text)
"name" ist hierbei ein Keyword wie z.B. 'user123' oder 'login'. "priority" bestimmt ein zusätzlichen Wichtigkeitsgrad um z.B. "auffällige" User länger zu überwachen.
Ältere, unwichtigere Daten wie normale Logindaten exportiere ich dann in regelmässigen Abständen und entferne sie dann aus der DB.
"name" ist hierbei ein Keyword wie z.B. 'user123' oder 'login'. "priority" bestimmt ein zusätzlichen Wichtigkeitsgrad um z.B. "auffällige" User länger zu überwachen.
Ältere, unwichtigere Daten wie normale Logindaten exportiere ich dann in regelmässigen Abständen und entferne sie dann aus der DB.
gepostet vor 18 Jahre, 5 Monate von Fornax
Vor habe ich, auch irgendwann mal mehr Sachen mitzuloggen, wie z.B. Allianz erstellen/auflösen. Bis jetzt logge ich nur die Logins (Userid, Zeit, später IP, SessionID). Wirklich jeden Gebäudebau zu speichern finde ich noch nicht erdenkenswert, aber dann könnte man nachvollziehen, wo Schwachstellen im Ballancing sind.
gepostet vor 18 Jahre, 5 Monate von Mudder
Naja ehe du solche Dinge mitloggst um das Gameplay auszuwerten, solltest dir ein entsprechendes Auswertungsscript schreiben bzw. auch überlegen was du damit wirklich auswerten kannst.
gepostet vor 18 Jahre, 5 Monate von friedenspanzer
Es kommen vermutlich noch Dinge hinzu, hier nur was im Moment mitgeloggt wird:
- Logins (ID, IP, Zeit)
- Kämpfe (Nur Teilnehmer mit Name und Level und Ausgang) --> Pushing aufspüren
- Handel (Verkauftes Objekt, Preis, Verkäufer, Käufer) --> Wieder Pushing
- "Standardaktionen" (Kleinere Dinge mit denen sich auf Dauer Geld/XP verdienen lässt, Zeitpunkt und Gewinn, nicht sehr lange in der DB) --> Bots aufspüren (Wenn gleiche Aktionen über 24 Stunden in Abständen von 0-5 Minuten durchgeführt werden KÖNNTE es gut ein Bot sein)
Außerdem landen noch einige Dinge für die Statistiken in der DB, also Anmeldedatum, gewonnene/verlorene Kämpfe, geraubte Handtaschen (meine Lieblingsstatistik ^^)...
- Logins (ID, IP, Zeit)
- Kämpfe (Nur Teilnehmer mit Name und Level und Ausgang) --> Pushing aufspüren
- Handel (Verkauftes Objekt, Preis, Verkäufer, Käufer) --> Wieder Pushing
- "Standardaktionen" (Kleinere Dinge mit denen sich auf Dauer Geld/XP verdienen lässt, Zeitpunkt und Gewinn, nicht sehr lange in der DB) --> Bots aufspüren (Wenn gleiche Aktionen über 24 Stunden in Abständen von 0-5 Minuten durchgeführt werden KÖNNTE es gut ein Bot sein)
Außerdem landen noch einige Dinge für die Statistiken in der DB, also Anmeldedatum, gewonnene/verlorene Kämpfe, geraubte Handtaschen (meine Lieblingsstatistik ^^)...