15. Mai 2010

Multi Accounts aufdecken

15. Mai 2010 - Geschrieben von Martin - 2 Kommentare

Heute geht für einen Leser ein Wunsch in Erfüllung. Viel Spaß beim lesen. Falls du dir auch einen Beitrag wünschen willst, schreib mir eine eMail.

Betreiber von Onlinespielen sowie Chats sind immer auf der suche nach sogenannten Doppel- oder Multi-Accounts, das sind Benutzer, die sich öfter auf einer Plattform wie einem Browsergame anmelden um dadurch Vorteile zu erhalten.

Das man sich dabei nicht nur auf sein Gespür verlassen sollte sollte natürlich auch klar sein, darum was kann man machen, damit solche User von vornherein keine Chance haben? Mit ist das sofort eine IP Sperre in den Sinn gekommen, gesagt getan, ich habe meine bestehenden IP Felder – welche die IP Adresse des letzten Logins beinhält – beim Login des Spielers nach seiner IP Adresse abgesucht und wenn sich ein User binnen weniger Stunden öfter als ein mal eingeloggt hat, hab ich ihm den Login untersagt.

Folgendermaßen sieht mein Script aus:

// IP Adresse vom User holen
$ip = $_SERVER['REMOTE_ADDR'];
// die Zeit ab der nach gleichen IPs gesucht wird
$time = time() - 24*60*60;
// nun kann die IP Adresse im users Table gespeichert werden
mysql_query("UPDATE users SET ip = '".$ip."' WHERE userid = '".$userid."'");
// nun können wir prüfen ob andere Benutzer mit dieser IP vorhanden sind
$count = mysql_num_rows("SELECT userid FROM users WHERE ip = '".$ip."' AND last_login > '".$time."'");
if($count > 1)
{
   die('TO MUCH USERS PER IP!');
}

(Geschrieben in PHP)
Dies wäre nun die Brutale Lösung (Kann allerdings durch zusätzliche Filter wie z.B. Punkte entschärft werden), welche alle Multi Account Spieler Aussperrt. Das kann allerdings auch negative Nebeneffekte haben, und zwar können so Familien, Wohngemeinschaften und Büros diese Seite nicht mehr nutzen, da dort alle über einen Internet Anschluss ins Internet gehen und somit eine IP Adresse haben.

Deswegen empfehle ich solange sich der dadurch entstandene Schaden der durch solche Doppelaccounts entsteht in Grenzen hält erst ein mal ein Script zu schreiben, welches alle Doppelaccountspieler auflistet, um diese explizit zu befragen oder ihre Accounts zu überprüfen.

Folgendermaßen hab ich das einmal für ein Mafia Browsergame gemacht:

$query = mysql_query("SELECT ip, userid, username FROM users");
while($users = mysql_fetch_array($query))
{
  // nun gehen wir alle user nach und nach durch
  // falls auch hier ein Zeitlimit benötigt wird, kann das von oben übernommen werden
  $count = mysql_num_rows("SELECT userid FROM users WHERE ip = '".$users['ip']."'");
  if($count > 1)
  {
    // nun da es ja offensichtlich ein Multiaccount Spieler ist, wird er ausgegeben
    // wenn gewünscht könnte man auch in diesem Schritt Informationen zu den
    // gespielten Accounts holen, allerdings würde das dieses Beispiel sprengen
    echo $users['username'] - $users['ip'];
  }
}

(Geschrieben in PHP)

Nun haben wir 2 Möglichkeiten in Betracht gezogen wie man mit Doppelaccounts fertig wird. Ich hoffe sie finden Anklang, und Helfen den Admins bei ihrer Täglichen Arbeit.

2 Antworten zu “Multi Accounts aufdecken”

  1. Uwe sagt:

    Ein interessantes Thema sprichst du da an. Viele Browsergames gehen den konsequenten Weg und halten gleich in den Spielregeln fest, dass Multis nicht erlaubt sind und sperren alles weg was nach Multi aussieht. Dein andere Möglichleit, die Multis zu befragen, ist bei grösseren Games mit 10tausenden Usern nicht machbar. Zumal ein schnelles einloggen beim Freund oder Kollegen schon eine Warnmeldung bringen würde.
    Einige Spiele haben ein Score System, bei dem dann auch mehr Daten verglichen werden, wie Provider, Browser usw. Inwieweit diese Datensammelei mit dem Datenschutz vereinbar ist, ist auch nicht sicher.
    Ein schwieriges Thema also.
    Grüsse
    Uwe

  2. Martin sagt:

    Wie du richtig ansprichst, das ist eine heikle Sache, was darf man, was kann man verwenden und wie stellt man es zueinander in Bezug.

    So haben wir bei Resigame eine Mischung aus beiden, allerdings ist diese mit dem Logging System verbunden, durch dieses beim Prüfen auf Gültigkeit des Accounts noch gleich Transaktionen zu den anderen Spielern miteinbezogen werden, dadurch stellen wir sicher, das keiner „zu Unrecht“ bestraft wird.

    Die zweite Möglichkeit was lediglich für ein Browsergame mit unter 1000 Spielern, deshalb wurden dort auch nicht auf die Ressourcen geachtet.

    Ein wenig Kontrolle ist noch OK, aber so viel Misstrauen, das ich noch gleich Clientdaten auslesen muss, geht in meinen Augen zu weit.

    Mit freundlichen Grüßen,
    Martin

Schreibe einen Kommentar