Spheron (V6) Server Files

  • [COLOR="DeepSkyBlue"]

    Spheron V6

    In diesem Thread möchte ich euch das Projekt Spheron vorstellen.

    Was ist Spheron?

    Spheron ist ein Projekt das V6 Server Files entwickelt.
    Früher hat der Admin TyroXx an einem Flyff v12 Emulator geschrieben die Source davon müssten einige haben da diese Public ist.


    Dev log auszüge:

    Zitat

    In diesem Thema werde ich euch über Neuigkeiten auf dem Laufenden halten. Für Kommentare gibt es ein separates Thema.

    11.04.10
    Ich habe die Visual C++-Projekte angelegt und erste Code-Dateien erstellt. Es gibt folgende Projekte in der Projektmappe "Spheron":

    • Login Server
    • Char Server
    • World Server
    • Account Database Server
    • Character Database Server


    Die ersten drei in der Liste sind klar. Die beiden "Database Server" kümmern sich um sämtliche Spielinhalte. Der "Account DB Server" verwaltet Accounts und bedient den Login Server. Char und World Server erhalten ihre Informationen vom "Character DB Server", der sich um Charaktere und alles in der Welt kümmert. Die Database Server dienen als Schnittstelle zwischen Spiel-Servern und der echten Datenbank, die zum Beispiel MySQL sein kann. Es gibt für diese Maßnahme mehrere Gründe:

    1. MySQL ist sehr langsam bei bestimmten Queries. Ein separater Database Server versucht deshalb, die Last gering zu halten.
    2. MySQL kann gefährlich sein. Eine zusätzliche Datenbankebene schafft mehr Schutz vor Injections. Vor allem jedoch muss der MySQL-Port nicht für alle Welt geöffnet sein, wenn der Database Server auf demselben Server wie MySQL läuft.
    3. Der Database Server kann einfach ersetzt werden. Der Umstieg von MySQL auf ein anderes System oder etwas ganz Eigenes erfordert keine Änderung an den Spiel-Servern.


    Noch ein paar grundsätzliche Informationen zum neuen Projekt: Ja, es wird alles neu geschrieben. Nein, das ist nicht zu aufwändig, weil es durch das Neuschreiben am Ende schneller gehen wird. Als Flyff-Version wird V15(+) angestrebt. Der Client wird voraussichtlich dFlyff/eFlyff + japanische Neuz sein. Für den Anfang programmiere ich alleine. In den nächsten Tagen werde ich bei Google Code wieder ein SVN Repository einrichten. Die neue Version wird also wieder Open Source sein (wie die alte auch).


    Zitat

    14.04.10
    Bis jetzt habe ich an den Grundlagen der Server gearbeitet und das TCP-Zeug ist schon fertig. So verschickt der Login Server zum Beispiel das erste Packet an den Client:

    C++
    ServerPacket packet(outBuffer);
    packet.startMain(0);
    packet << (uint32)123456;
    packet.finish();


    Genauer ausgedrückt erstellt er hier nur das Packet in einem Puffer outBuffer der Connection-Klasse. Dieser Puffer wird einmal pro Frame gesendet und danach geleert. Einkommende Daten werden ebenfalls gepuffert, bevor sie ausgewertet werden.
    Falls jemanden die technischen Details interessieren: Spheron verwendet WinSockets (natürlich nicht direkt, sondern in Form einer von mir geschriebenen Klasse) mit select. Das sollte für den Anfang angemessen sein. Der Code ist so angelegt, dass er für Linux kompilierbar sein wird.


    Zitat

    17.04.10
    Soeben habe ich das Projekt bei Google Code angelegt (Link). Den aktuellen Code gibt es immer per SVN auf spheron3 - Revision 29: /trunk.
    Ich fange gerade richtig mit dem Login Server an.
    Und schon gibt es das erste Problem: Das Login Packet vom japanischen Client ist merkwürdig. Anstelle des Passwortes sind da ca. 700 zufällig aussehende Bytes.


    Zitat

    18.04.10
    Da es für das Passwortproblem in absehbarer Zeit keine Lösung geben wird, muss Version 15 warten. Fürs Erste werde ich deshalb mit Version 6 arbeiten.
    Eine funktionierende Version des Login Servers mit statischer Server-Liste ist auf dem Repository (Rev 4).


    Zitat

    19.04.10
    Der aktuell unterstützte Client hat Version 6 und umfasst komprimiert ca. 364 MB. Ich lade den in Teilen hoch und gebe die Links hier bekannt:


    Es handelt sich dabei um ein 7z-Archiv, das mit einem tar-Archiv gesplittet worden ist. Mit 7-zip lässt sich das zum Beispiel entpacken.
    Bitte melden, wenn einer der Links nicht mehr funktioniert oder es Probleme mit dem Client gibt!


    Wichtige Links:

    SVN: spheron3 - Revision 29: /trunk

    Info :

    Zitat

    Der aktuelle Code ist zu finden auf spheron3 - Revision 29: /trunk. Um ihn abzurufen eignet sich auf Windows TortoiseSVN.

    Zum Kompilieren benötigt man Folgendes:

    • Visual C++ Express 2008 oder höher
    • die Boost-Bibliothek (boost.org)
    • die MySQL-Bibliothek (mysql.com)

    Forum: IServer Forum


    Es werden derzeit DINGEND c++ Entwickler gesucht das TyroXx momentan noch alleine am Server arbeitet.

    Bewerbungen können im Spheron Forum gepostet werden oder ihr schickt ein pn an TyroXx

    mfg

    [/COLOR]

  • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]Viel Glück mit der Suche .[/SIZE][/COLOR][/FONT]

    [SIZE=3][COLOR=White]MfG Zer0[/COLOR][/SIZE]

    [CENTER]

    [SIZE=2]We are in the Core![/SIZE][SIZE=2][COLOR=White][/COLOR]
    [/SIZE]
    [/CENTER]

  • Danke für die Source =) Leider kann ich nur die Grundlagen von C++ sonst würde ich ja helfen. Aber ich schaue mir mal die Source an^^

  • [COLOR="DeepSkyBlue"]Das ist SVN es gibt keine bessere Methode ein Source Code so zu hosten.....lol

    Der Server ist noch nicht weit er ist noch sehr am Anfang

    TyroXx hat erst mit dem Projekt angefangen daher klappt bis jetzt nur der Login.

    mfg[/COLOR]

  • wer lesen kann ist klar im Vorteil

    Zitat

    Der Server ist noch nicht weit er ist noch sehr am Anfang

    TyroXx hat erst mit dem Projekt angefangen daher klappt bis jetzt nur der Login.

  • wollt mal fragen ob jemand weis ob an den files noch was gemacht wird oder ob die auf eis gelegt wurden weil die eigentlich vom aufbau her sehr gut sind und man hat die sorce

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!