# Red Dwarf Game Server



## Kr0e (23. Jun 2011)

Hallo,

wollte mal fragen, ob hier jemand Erfahrung mit RedDwarf hat und mir mal berichten kann, was er so davon hält... Lohnt sich der Aufwand der Einarbeitung ? -> Es geht bei mir speziell um ein 2D Coop-RPG Spiel...

Gruß,

Chris


----------



## Noctarius (23. Jun 2011)

Also ich habe mir den Server mal angesehen, als er noch nicht RedDwarf sonst noch (ähhhm) anders hieß. Mir fällt gerade der Name nicht mehr ein. Im Endeffekt ist viel der internen Ideen zur Implementierung von Servern bei JEE abgeschaut. Das ist auch der größte Kritikpunkt meiner Meinung nach, da die Verwaltung von internen Datenstrukturen bei Gameservern anders / optimierter sein sollte als reine Webapps. Ansonsten sah es damals ganz ok aus.

Wie es jetzt als RedDwarf ist: keine Ahnung


----------



## Kr0e (23. Jun 2011)

danke! Darkstar hieß der alte Server, soweit ich weiß. 

Aber im Gegensatz zu anderen JEE Servern soll RedDwarf aka Darkstar wohl speziell auf MMO-Games zugeschnitten sein... Ich hatte gehofft, jemanden vlt anzutreffen, der das bestätigen oder gar bestreiten kann... Ansonsten vlt die Frage: Gibt es Alternativen ? Also ich meine jetzt nicht Netty/Mina/Grizzly/SpiderMonkey/KryoNet etc... Also etwas ähnlich umfangreiches...


----------



## Noctarius (24. Jun 2011)

Genau Project Darkstar hies es vorher! 

Zu RedDwarf:
Es hat schon einige Besondernheiten, Supporter-Klassen welche es einfacher machen Gameserver zu entwickeln aber außer für Browsergames finde ich JEE generell eine ungünstige Ausgangsbasis für einen Gameserver.

Ansonsten gibt es einige alternative Möglichkeiten welche man nutzen kann:

Als Erstes könnte man ein bestehendes Gamesever Emulation Projekt aufgreifen (z.B. l2j oder Sphere / RunUO oder ähnliches) und an seine Bedürfnisse anpassen. Der Vorteil: Ein Großteil des Basiszeugs wie NPC- oder Playerhandling ist schon fertig. Nachteil: Oft ist das Verhalten sehr spezifisch programmiert.

Dann hatte ich selber mal ein Projekt angefangen. Ein Framework speziell zur Entwicklung von MMO-Gameservern mit entsprechenden Performance-technischen Aspekten. Die Entwicklung ist aber derzeit aus Zeitmangel und der Aufteilung des großen Projektes in viele kleine Unter- und Seitenprojekte etwas ins Stocken gekommen.

Dann gibt es noch Frameworks in verschiedensten Programmiersprachen, alle mehr oder weniger für MMO vorbereitet bzw mehr oder weniger aktiv gepflegt und vollständig:
- GNE -- Game Networking Engine
- callisto-framework - online game server engine - Google Project Hosting
- Home - UL2 - MMO server framework
- oregoncore - Oregon Core Open Source MMO Framework - Google Project Hosting
- TrinityCore MMoRPG Framework

Dann gibt es auch noch kommerzielle Projekte:
- SmartFoxServer: massive multiplayer game server for Flash, Unity 3D, Silverlight, iPhone games, MMO, virtual worlds and communities (hier gibt es auch eine Community Edition)
- Cloud Network Engine, Socket-Server, MMO Server for Games using Unity 3D, iPhone + iPad, Android, Flash, HTML 5 | Exit Games (auch hier gibt es eine kostenlose Version bis 100 Spieler oder so kostenlos)
uvm

Als letzte Möglichkeit bleibt natürlich noch das Selberbauen. Hier sind allerdings einige Dinge zu beachten. Man sollte von Anfang an auf Clustering achten um saubere Skalierbarkeit zu bekommen. Man sollte weiterhin auf sauberes Design achten, auf sauberes Threadhandling (bei letzten beiden Sachen ist l2j nicht gerade ein Glazlicht). Aber auch Dinge wie Knownlists, Geodaten, Zonehandling und Ähnliches müssen mit sauberen (teils auch kompromissbelasteten) Algorithmen implementiert werden. Hier sind fertige Frameworks meist schon vorbereitet - interessanterweise waren gerade solche Dinge in Darkstar nur gaaaaanz rudimentär unterstützt und man hätte 90% selber erarbeiten müssen.

Für mich war Project Darkstar nur ein Application Server mit alternativem Einsprungspunkt und der Behauptung tolles zu vollbringen. Unterstützung in Richtung Gameserver gab es nur sehr mager. Ob sich dies mittlerweile geändert hat (ist bestimmt schon 3 Jahre her der letzte tiefe Blick ins Core) kann ich dir allerdings nicht sagen.

Vom SmartFox Server hört man allerdings recht viel Gutes, angeschaut hab ich mir den bisher aber nur oberflächlich, da ich beruflich in einem anderen Bereich angekommen bin 

Ich hoffe das reicht ein wenig als Ansatzpunkt. Bei tieferen Fragen kannst du gerne auf mich zurückkommen.


----------



## Kr0e (24. Jun 2011)

Vielen dank!

Das mit dem Selbermachen hab ich mir schon bald gedacht... Ich hab das zuerst auch selbst gemacht mit Netty3 als NIO Basis und dann den Protokollkram daraufaufbauend. Hatte dann genau das gelesen, was du auch gesagt hast: "Clustering". Iwie ist das ziemlich viel, wenn man den Netzkram allein machen muss und daher war ich auf der Suche nach guten, bereits existierenden Lösungen...

SmartFox sieht sehr gut aus, auch dieses Angebot mit mehreren verschiedenen Lizenzen basierend auf der Anzahl der Nutzer finde ich interessant. Ist wohl wie mit fast allem im Leben: Will man Qualität, muss man zahlen ... 

Die anderen Links sind auch interessant... Ich werde dann versuchen eine kostenlose Variante zu nehmen. Obwohl SmartFox echt gut aussieht!

Danke nochmal,

Chris


----------



## Noctarius (24. Jun 2011)

Kein Problem  Gameserver (bzw MMO-Server) sind meine Leidenschaft *g*


----------

