Ankündigung

Einklappen

WIR SUCHEN DICH! [Redakteur]


PSST.... Du zockst gerne?
Du schreibst gerne über das was du Zockst?
Dann Bewerbe dich als Redakteur bei uns.
Wir bieten dir Zugang zu neuen Spielen, große Beitrags Reichweite und vieles mehr.
Mehr Infos findest du HIER zum nachlesen.
Mehr anzeigen
Weniger anzeigen

SharpFly - C# FlyFF-Emulator

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SharpFly - C# FlyFF-Emulator


    Hallöchen!
    Willkommen beim Projekt SharpFly - Ein von Grund auf in C# geschriebener FlyFF v15-Emulator.
    Das Projekt ist zwar noch nicht besonders fortgeschritten, aber ich versuche möglichst alle 2-3 Tage, je nachdem wie es die Zeit und Lust zulässt, die neuesten Änderung in das Repository auf GitHub zu pushen.

    Das Projekt wird sowohl zu Lernzwecken als auch aus Spaß an der Sache geschrieben, soll also in keinem Fall irgendwelchen andere Files, egal ob Emulator oder Offi-Files, ersetzen.
    Ich möchte das Projekt (bzw. den Sourcecode um genauer zu sein) mit anderen Leuten teilen, die sich ebenfalls mit einem Projekt in dieser Richtung beschäftigen wollen. Ich bin bestimmt nicht der Einzige, der schon immer mal einen eigenen MMORPG-Server schreiben wollte. :)

    Dieser Thread soll dazu dienen, alle Interessierten auf dem Laufenden zu halten und auch eine Frage- und Diskussionsplattform bieten. Ich beantworte sehr gerne alle Fragen rund um SharpFly sowie Fragen für Leute, die gerade einen eigenen Emulator o.ä. schreiben und irgendwo festhängen oder einfach mal etwas über ein gewisses Thema (z.B. FlyFF Paketstruktur) Bescheid wissen wollen.
    Auch ich selbst werde hier vermutlich die eine oder andere Frage stellen, da ich mich bei weitem noch nicht mit allem beschäftigt habe.

    Den aktuellen Stand findet ihr immer in meinen Update-Posts. :)

    Den Sourcecode findet ihr in diesem GitHub-Repository: https://github.com/Kaev/SharpFly

    Ein großes Danke an Chyukasame für das aktuelle Logo!
    Ebenfalls ein großes Danke an die Entwickler der Emulatorprojekte OsaFlyFF, Black-Orion und Meteor, euer Sourcecode hat mir schon einige Stunden Offi-File-Code durchwühlen gespart! :)
    Zuletzt geändert von Kaev; 06.11.16, 12:37.
    sigpic

  • #2
    Nur um das richtig zu verstehen, du möchtest FlyFF komplett neu aufbauen aber mit den alten Inhalten wie sie waren?
    Also wäre es (am Ende) ein ganz normaler FlyFF Server, nur halt auf MySQL? Was mich freuen würde, da die Webseiten einfacher in MySQL als in MsSQL zu verwalten ist :D

    Kommentar


    • #3
      Zitat von Chyukasame Beitrag anzeigen
      Nur um das richtig zu verstehen, du möchtest FlyFF komplett neu aufbauen aber mit den alten Inhalten wie sie waren?
      Also wäre es (am Ende) ein ganz normaler FlyFF Server, nur halt auf MySQL? Was mich freuen würde, da die Webseiten einfacher in MySQL als in MsSQL zu verwalten ist :D
      So sieht's erstmal aus, ja. Als positiven Nebeneffekt versuche ich natürlich auch bekannte Bugs zu beheben und bekannte Exploits gar nicht erst zuzulassen.
      Außerdem will ich Items z.B. in der Datenbank haben und nicht in irgendwelchen unübersichtlichen Dateien. :)
      sigpic

      Kommentar


      • #4
        Wenn du Hilfe brauchst für bspw. ein Verwaltungstool (sofern du es nicht über ein Programm machst) könnte ich dir da helfen.

        Dann hätten (sofern es fertig ist bald) die Admins eine leichtere Methode neue Items hinzuzufügen.

        Kommentar


        • #5
          Zitat von Chyukasame Beitrag anzeigen
          Wenn du Hilfe brauchst für bspw. ein Verwaltungstool (sofern du es nicht über ein Programm machst) könnte ich dir da helfen.

          Dann hätten (sofern es fertig ist bald) die Admins eine leichtere Methode neue Items hinzuzufügen.
          Wenn du dir die Mühe machen willst, klar, gerne.
          Die normalen Items werde ich aus den Ressourcen parsen und dann so 1:1 in die Datenbank übernehmen. :)
          sigpic

          Kommentar


          • #6
            Wenn du es fertig hast, kannst du mir ja zeigen wie es aufgelistet ist und was wozu gehört, da ich lange schon kein Resource mehr gemacht habe ;D

            Kommentar


            • #7
              Hatte leider die letzten Tage nicht allzu viel Zeit zum Programmieren, habe mir aber Gedanken um den aktuellen Worldserver gemacht. Leider werde ich in der nächsten Woche auch nicht groß zum Programmieren kommen, da der Release von WoW:Legion ansteht und ich mich schon ewig drauf freue. :3


              Mein aktueller Gedankengang:
              Ich werde den Worldserver in Clusterserver umbenennen. Dieser Server spiegelt dann das Cluster an sich wieder und verwaltet alle seine Channel.
              Neu wird der sogenannte Channelserver sein, der jeweils einen Channel eines Clusters darstellt. Der Channel meldet sich beim Cluster an, welcher wiederum dem Loginserver mitteilen kann, dass er jetzt X Channel besitzt.
              Ob das im Endeffekt so bleibt, weiß ich leider noch nicht, da ich mir gut vorstellen kann, dass die Weiterleitung der Pakete zwischen Cluster- und Channelserver irgendwann einen Flaschenhals darstellen wird. Der Client baut afaik nur 2 Verbindungen auf: Zum Loginserver auf Port 23000 und zum Clusterserver auf 28000. Lieber wäre es mir, wenn der Client direkt am Channelserver hängen würde und nur Channelübergreifende Pakete weiterleiten würde, da dort der (höchstens minimale, vermutlich im sehr niedrigen Millisekundenbereich) Delay nicht stören würde, aber ich hab gerade keine Idee, wie ich das umsetzen sollte, ohne den Client zu verändern, was momentan nicht in Frage kommt. :<
              sigpic

              Kommentar


              • #8
                Ich hätte da mal ne Frage,
                du baust ja "FlyFF" sogesehen komplett neu.... machst du dann auch ein komplett neues Madrigal oder 1x1?

                Kommentar


                • #9
                  Zitat von Chyukasame Beitrag anzeigen
                  Ich hätte da mal ne Frage,
                  du baust ja "FlyFF" sogesehen komplett neu.... machst du dann auch ein komplett neues Madrigal oder 1x1?
                  .....
                  Zitat von Kaev Beitrag anzeigen
                  Willkommen beim Projekt SharpFly - Ein von Grund auf in C# geschriebener FlyFF v15-Emulator.
                  Das Projekt ist zwar noch nicht besonders fortgeschritten, aber ich versuche möglichst alle 2-3 Tage, je nachdem wie es die Zeit und Lust zulässt, die neuesten Änderung in das Repository auf GitHub zu pushen.

                  "The sun is my enemy, but the moon has been good to me."
                  Shinobu Oshino

                  Kommentar


                  • #10
                    Zitat von Chyukasame Beitrag anzeigen
                    Ich hätte da mal ne Frage,
                    du baust ja "FlyFF" sogesehen komplett neu.... machst du dann auch ein komplett neues Madrigal oder 1x1?
                    Siehe Post von kyou.
                    Würde ich den Client nachbauen, hätte ich direkt mein eigenes Spiel angefangen. :P
                    sigpic

                    Kommentar


                    • #11
                      Ein paar Neuigkeiten: Ich habe nun den Worldserver in Clusterserver umbenannt. Außerdem habe ich ein neues Projekt für den Worldserver hinzugefügt. 1 Worldserver wird sich um alle Channel eines Clusters kümmern, da meine ursprünglich geplante Struktur nicht so funktionieren würde, wie ich es gerne hätte. :<
                      sigpic

                      Kommentar


                      • #12
                        Entschuldigt die lange Entwicklungspause. Dieses Wochenende geht's endlich mal wieder weiter. :)
                        Habe mich mittlerweile dazu entschieden, für die Kommunikation unter den einzelnen Servern auf ZeroMQ zurückzugreifen und werde diese Umstellung hoffentlich dieses Wochenende abschließen.
                        sigpic

                        Kommentar


                        • #13
                          Endlich, nach 2 langen Monaten, gibt es ein neues Commit! :)
                          Ich habe jeglichen alten Interserver-Socket-Code gelöscht und NetMQ (Ein C# Binding von ZeroMQ) implementiert.
                          Ich habe ebenfalls das ServerList-Paket gefixt, keine Ahnung was ich mir dabei gedacht habe, ein funktionierendes Paket zu verändern.

                          https://github.com/Kaev/SharpFly/com...4e4929f39be1a4
                          sigpic

                          Kommentar


                          • #14
                            (>'-')> Update <('-'<)

                            Der Loginserver sowie der Clusterserver kommunizieren nun wie gewollt per NetMQ. Das heißt, dass ich jetzt jederzeit dynamisch einen neuen Channel oder ein neues Cluster hinzufügen kann. Jetzt kann es endlich langsam in Richtung Charaktererstellung und Worldserver gehen!
                            sigpic

                            Kommentar


                            • #15
                              (>'-')> Update <('-'<)

                              Charaktererstellung funktioniert nun in einfacherer Form! Die Charaktererstellung selbst ist noch nicht ganz fertig, aber man kann nun einen Charakter erstellen und dieser ist in der Charakterliste sichtbar. :)
                              sigpic

                              Kommentar

                              Lädt...
                              X