Der Thread bringt mich richtig zum Lachen, eher fast zum Weinen.
So um mal etwas gegen das allgemeine Halbwissen zu tuen:
1. Eine Datenbank ist wie der name schon sagt eine "Bank für Daten" sie macht nichts anderes als eine normale Bank für Geld, sie verwaltet diese/s. Um mit den Daten zu arbeiten bedient man sich Transaktionen, eine Transaktion kann Daten in die Datenbank schreiben, lesen und den inhalt vor selbigen schützen. Eine Datenbank hat in der Regel eine gewisse Struktur, welche von der Anwedung die auf diese zugreift vorgegeben ist. Die Struktur sollte dabei gewisse Kriterien erfüllen um möglicht ein effektives und sicheres Arbeiten zu ermöglichen.
Mehr werde ich nicht dazu sagen, wer Interesse and Datenbanken und wie sie funktionieren hat, soll sich ein passendes Buch dazu holen.
2. Ein Datenbackserver ist ein Programm, welches Datenbanken verwaltet und meistens auch Schnitstellen, um auf diese zuzugreifen, bietet.
3. Aus 1. und 2. folgt, dass aus einer Datenbank + Datenbankserver kein fertiger Spiele Server hervorgeht, sondern nur eine Möglichkeit Daten zu verwalten.
4. Ein Onlinespiel basiert meistens auf einem einfachen Kommunikationsprinzip, und zwar Client-Server. Dabei komunizieren mehrere Clients mit einem Server, die Kommunikation findet über ein sogennantes Protokoll statt.
5. Ein Protokoll hat ein Feste Struktur ähnlich einer Sprache, es gibt gewisse Sätze die einen Sinn ergeben und von den beiden Komunikationspartnern zu verstehen sind. Weiter gibt es gewisse Regeln in welcher Reihenfolge bestimmte Sätze kommen müßten. (Man Verabschiedet sich ja nicht bevor man sich nicht einmal begrüßt hat ^^) Wer was über Protokolle lernen will sollte einfach mal mit TCP, FTP oder ähnlich bekanntem und einfachen Beispiel anfangen.
6. Ein Client ist ein Programm welches mit einem Server kommuniziert und meistens beim Endanweder vorhanden ist. In der Regel werden dort bei Spielen wichtige Funktionen für ein schönes Erlebnis erledigt, wie zum Beispiel Grafiken und Ton, des weiteren verarbeitet der Client meißt auch die Eingaben des Nutzers um diese dem Server mitzuteilen. (Da ich keinen Anfängerguide fürs hacken schreiben will lass ich die Schwachstellenanalyse mal weg aber res file editing ist ein gutes Beispiel) Wer sich hier weiterbilden will sollte sich mal mir D3D programierung befassen, da das der größte Teil eines Clients sein wird.
7. Der Server ist ein Programm welches mit den Clients kommuniziert und die Daten, die daraus resultieren auswertet und gegebenenfalls wieder an die Clients verteilt. Dies wird meist als Spiellogik bezeichnet, beispiele wären hierfür die Berechnung von Schaden und die Verwaltung von Nutzern. Der Server bediehnt sich einiger anderer Techniken. Ein Beispiel ist unteranderem auch eine Datenbank, welche ideal ist um große mengen an Daten zu verwalten. Randomnumbergeneratoren sind meißt auch ein wichtiger Bestandteil eines Gameservers. Diese anderen "Techniken" liegen meist in form von Librarys (Bibliotheken) vor, welche eine API (Schnitstelle) zur Verfügung stellen. Der Gameserver redet also mit dem Datenbankserver über eine API und fordert eine gewisse Struktur in der Datenbank.
8. Punkt 4-8 Verdeutlichen, dass um einen Server/Serveremulator zu realisieren man als erstes Wissen über das Protokoll von flyff haben muß. Selbst wenn man eine Datenbank hat nutzt diese einem nichts, wenn der Server (aka das Programm das die funktionen des Servers übernimmt) eine andere Struktur in der Datenbank erwartet, als die aktuelle Datenbank vorweißt.
Ja die Datenbank ist ein wichtiger Bestandteil eines Gameservers aber in der Regel gibt der Code, welcher den Sever realisiert, vor wie diese auszusehen hat. Einen Server zu Programieren der auf eine vorhandene (fremde) Datenbank aufbaut ist meiner Ansicht nach der falsche Ansatz.
Ich hoffer ihr habt etwas gelernt und verzeiht mir mögliche Rechtschreibfehler.
MfG
KumaT