ID

aus FreewarWiki, der Referenz für Freewar
Version vom 2. Juni 2011, 17:36 Uhr von Andocai (Diskussion | Beiträge) (Schützte „ID“: dauerhafter Bot-Spam ([edit=autoconfirmed] (unbeschränkt) [move=autoconfirmed] (unbeschränkt)))
(Unterschied) ← Nächstältere Version | ↑ Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Das Akronym ID (für engl. identification number Identifikationsnummer) ist im Allgemeinen eine Kennung, die ein Objekt eindeutig identifiziert und leichter verarbeitbar macht, ahnlich wie Nummernschilder bei Autos. Generell ist aus der ID eines Objekts nicht direkt etwas darüber zu erfahren: So erfährt man aus der ID eines NPCs keineswegs dessen Lebenspunkte oder Stärke; diese Daten werden in der Datenbank gespeichert und durch die ID nur wieder abgerufen. Im Bezug auf Freewar werden IDs in den folgenden Bereichen eingesetzt:

Für jeden Benutzer offengelegte IDs

User-IDs

Jeder Charakter bekommt bei seiner Anmeldung im Spiel eine interne Identifikationsnummer zugewiesen, die ihn für das Spiel kenntlich macht. Dabei erhält jeder neu registrierte Spieler eine möglichst niedrige ID. Die Spieler-IDs sind von einstellig, wie bei Sotrax, bis zu bislang siebenstellig, bei neueren Spielern. Diese siebenstelligen Nummern trotz der jeweils vierstelligen Gesamtspielerzahl rührt daher, dass früher die ID unabhängig von niedrigen freien Nummern mit jedem neuen Spieler inkrementiert wurde (→ siehe auch: Geschichte).

Item-IDs

Die Items werden ebenso wie die Spieler mit IDs versehen, und zwar jeder Gegenstand einzeln. So haben zwei gleiche Gegenstände immernoch eine unterschiedliche ID. Die Items werden also nicht anhand ihrer ID der Art des Gegenstands zugeordnet, sondern quasi nur voneinander unterschieden; andernfalls könnten für zwei gleichartige Items keine unterschiedlichen Haltbarkeiten o. ä. festgehalten werden. Die Item-IDs werden stur mit jedem Item inkrementiert, da bei der Menge der vorhandenen Items eine überprüfnug auf möglichst kleine IDs eine hohe Rechenbelastung darstellt. Dadurch liegen hohe Item-IDs momentan im achtstelligen Bereich.

Siehe auch: Tipps/Tricks:Item-Id und Gruppierung

NPC-IDs

Alle (lebenden) NPCs erhalten zwei IDs:

  1. Die Nummern, die die NPCs mit ihren spezifischen Werten identifizieren. Diese Nummern bleiben auch beim Tod des NPCs erhalten und sind nach dem Respawn identisch. Sie werden meistens innerhalb eines Gebietes durchnummeriert. Auch hier bekommt jedes NPC eine eigene einzigartige ID, also haben zwei identische NPCs keineswegs die gleiche ID (dies würde die Speicherung von unterschiedlichen Lebenspunkten oder NPC-Zuständen für nur eines dieser beiden NPCs behindern).
    Diese IDs sind im Wiki bei der Erstellung von Karten hilfreich. Näheres dazu auf Hilfe:Karten.
  2. Die so genannte "checkid", die nur bei lebendigen NPCs gegeben ist. Dies ist keine ID im herkömmlichen identifizierenden Sinne, sondern lediglich eine Kontrollnummer. Sie ist eine durchweg zehnstellige Zahlenfolge, welche den Unix-Timestamp (Anzahl der Sekunden, die seit dem 01.01.1970 um 00.00 Uhr vergangen sind) seines Spawn-Zeitpunktes angibt. Sie dient zum Vorbeugen gegen Bots, da dadurch das einfache Brute-Force-Verfahren, beliebige NPC-IDs anzugreifen, blockiert wird, sofern die checkid nicht angegeben wird. Diese kann von einem Bot, der sie nicht ausliest, nur ebenfalls mit Brute Force "erraten" werden, indem sehr viele Möglichkeiten probiert werden.
    Die checkid ist daher keine wirkliche ID, da zum gleichen Zeitpunkt mehrere NPCs spawnen und damit die gleiche checkid erhalten können.

Session-IDs

Die Session-IDs sind recht lange alphanumerische Zeichenfolgen, welche einen Benutzer für eine Sitzung (engl. session) identifizieren. Der Grund für ihre Länge liegt nicht an der Zahl der Benutzer, die gerade online sind, sondern daran, dass eine Session-ID nicht durch dritte ausprobiert werden können soll. Kennt man die Session-ID eines eingeloggten Benutzers, so kann man damit ohne Weiteres mit seinem Account in das Spiel eingreifen und alle Aktionen damit ausführen.

Die Session-IDs werden intern von der Programmiersprache verwaltet. Sie haben eine feste Länge und werden pseudo-zufällig generiert. Somit ist ein Angriff per Brute Force ineffektiv und auszuschließen.


Geschichtliches

Bis November 2006 wurden die User-IDs immer in aufsteigender Reihenfolge vergeben, so dass man an der ID das ungefähre Anmeldedatum erkennen konnte. Kurz nach Einführung von Welt 10 beschloss Sotrax aber, künftig immer die niedrigste freie ID zu vergeben, so dass jetzt gerade neue Spieler auch sehr niedrige IDs haben können. Außerdem werden IDs von gelöschten Spielern wieder vergeben, so dass man nicht mehr zwingend von der ID auf die Identität des Accounts schließen kann (etwa bei der Verfolgung von Betrügern).