mmofacts.com

Logauswertung - Multischutz

gepostet vor 17 Jahre, 7 Monate von darkmanx
Hallo,
ich zerbreche mir schon seit tagen den kopf, wie ich meine logs auswerten könnte. ich habe eine tabelle (mysql) mit den ip und den userids (und noch andere sachen^^). jetzt müsste das script guck, ob es logins mit der selben ip gibt und wenn ja die user rausfiltern. soweit ja kein problem, nur - beispeil:
ein user hat 3 accounts (a,b und c)
mit ip a loggt er sich mit acc a ein
mit ip a loggt er sich mit acc b ein
mit ip b loggt er sich mit acc a ein
mit ip b loggt er sich mit acc c ein
es wären also 2 fälle, die das script ausspucken würde. diese müssen aber zusammengefasst werden. außerdem ist ziemlich unökonomisch, da jeder log dieses prozedere durchlaufen müsste.
hab schon an eine temporäre tabelle gedacht. auch alles in arrays packen und dann nach schnittstellen prüfen... usw. keine kam aber wirklich rational vor.
kennt ihr vielleicht welche? wie sollte ich da vorgehen?
dmx
gepostet vor 17 Jahre, 7 Monate von Mot
filtere deine Logs aus (teile der IP nummer wegblenden) und stell sie öffendlich, deine Community wird sich dann daraum kümmern und besser als jedes Programm unregelmässigkeiten herrausfinden. Denn Multis schaden jeden ehrlichen Spieler.
gepostet vor 17 Jahre, 7 Monate von Kampfhoernchen
Ich glaube es geht eher darum, die Multis erstmal zu finden.
Ich habe hierfür mal ne Querry gebastelt. Funzt nicht einwandfrei und sollte nur als Indiz herhalten:

Select distinct avg(l2.start - u1.zeit) as avg,
min(l2.start - u1.zeit) as diff,
count(distinct l2.start - u1.zeit) as anzahl,
s1.ingame_name,
s2.ingame_name,
l2.start
from session_log l1, spieler s1, url_log u1, session_log l2, spieler s2
where
s1.spieler_id = l1.user_id
and l1.log_id = u1.session
and s2.spieler_id = l2.user_id
and l1.user_id != l2.user_id
and u1.zeit < l2.start
and l2.start - u1.zeit < "'.addslashes($zeitdiff).'"
group by l1.user_id, l2.user_id
having anzahl > "'.addslashes($verdacht).'"
order by anzahl desc, s1.ingame_name

Auf diese Diskussion antworten