[Release] PacketFilter Source²

  • Hey Community,

    da ich eigt. vor habe diese Projekt Open Source zu machen, release ich den Source Code abermals in diesem Forum, mit der Hoffnung darauf, dass nicht gleich jeder wieder rumspammt ! :killzonesmiley:

    Der PacketFilter wird von mir weiterprogrammiert, verbessert und für FlyFF spezialisiert. Die einfachste Methode ein OpenSource Projekt zu aktualisieren ist die Benutzung eines SVN Servers !

    SVN Link:

    Zitat

    Geschrieben ist der PacketFilter in C++ - Api Only . Es handelt sich hierbei um eine Konsolenanwendung.

    Zum einbauen des Filters bei den Offiziellen Files geht ihr wie folgt vor:
    - CacheServer.ini bearbeiten
    - Port 15400 zu 15000 ändern

    Nun müsst ihr nurnoch alle ServerFiles starten und den PacketFilter. Der Client connected erst zum PacketFilter und dieser dann zum WorldServer. Die Config Datei('hConfig.h') muss gegebenfalls auch im PacketFilter editiert werden ! Ein INI-Reader wird demnächst folgen.

    Filter Funktionen beinhaltet der PacketFilter bis jetzt noch nicht, doch dieser wird baldmöglichst erweitert.

    Verbesserungen / Tipps sind gerne gesehen !

    Eine Liste mit Sicherheitslücken, bzw Bugs, womit man sich Items / Vorteile erschleicht wäre von Vorteil, damit ich bald die ersten Filter Funktionen einbauen könnte !

    mfg
    YeZZX aka Crunkx

    PS.: Es handelt sich nicht mehr um die Basis, die ich einmal hier released habe! Es wurde inzwischen schon auf eine neuere Version geupdated.

  • [COLOR="White"]Gute Idee, ich stell mich mal als Tester bereit, wenns weiter fortgeschritten ist.
    Auch cool, dass es ein OS-Projekt ist, wird aber, denke ich mal, nicht soo viel bringen,
    da kaum jemand im Flyff-Bereich C++ beherrscht..^^[/COLOR]

    .. ~> .. <~ ..

  • Ich würde die zusammenarbeit mit dem Programm WinCap empfehlen. Wenn der PaketFiltert crasht ist dan nicht sofort die verbindung tot und man muss nicht ports etc ändern.

  • Zitat von yannickmama;168069

    Ich würde die zusammenarbeit mit dem Programm WinCap empfehlen. Wenn der PaketFiltert crasht ist dan nicht sofort die verbindung tot und man muss nicht ports etc ändern.

    Eine gute Idee und auch Realisierbar. Doch damit kann ich keine eigenen packets an den Client, bzw die Clients senden und diese vom Spiel kicken ;)

    Das der PacketFilter crashed glaube ich eher weniger. Habe die Error Messages so eingestellt, dass keine wiedergegeben werden und dass das Programm weiterläuft. Habe außerdem einer Header Datei zum vermeiden von Memory Leaks hinzugefügt(laut google).

  • Zitat von Xenox3;168074

    0o klar kannst du

    Mit der Winpcap DLL kann ich zu bestimmten Clients, die mit dem WorldServer auf einem Port verbunden sind eigene Packete senden?

    Wäre mir neu, ich dachte mit der DLL kann man lediglich Packets sniffen?

  • Zitat von Crunkx;168077

    Mit der Winpcap DLL kann ich zu bestimmten Clients, die mit dem WorldServer auf einem Port verbunden sind eigene Packete senden?

    Wäre mir neu, ich dachte mit der DLL kann man lediglich Packets sniffen?

    Man kann ja Pakete dropen und auch versenden glaube ich mal hatte noch nicht viel damit zu tun.

    Aber das mit der verbindung killen würde ein problem darstellen ^^. Eventuel einfach jedes Paket dropen ? Oder die aktive verbindung killen kann man ja auch irgendwie. ErlyGuard funktioniert ja auch so ohne das er zwischen zwei ports steht. Kann man auch auf einem externen Server laufen lassen (wie eine firewall halt ;)).

  • Zitat von yannickmama;168081

    Man kann ja Pakete dropen und auch versenden glaube ich mal hatte noch nicht viel damit zu tun.

    Aber das mit der verbindung killen würde ein problem darstellen ^^. Eventuel einfach jedes Paket dropen ? Oder die aktive verbindung killen kann man ja auch irgendwie. ErlyGuard funktioniert ja auch so ohne das er zwischen zwei ports steht. Kann man auch auf einem externen Server laufen lassen (wie eine firewall halt ;)).

    hm ok lol O_O ich dachte immer early guard stellt sich zwischen 2 ports :D

  • [FONT="Trebuchet MS"][COLOR="LemonChiffon"][SIZE="2"]Das mit ErlyGuard wusste ich auch nicht.
    Könntest du den PacketFilter in C# übersetzen?
    Dann könnten auch mehrere Leute daran Arbeiten.
    Ich würde mich auch beteiligen ;)

    Edit// Es geschehen vielleicht noch Zeichen und Wunder ;>[/SIZE][/COLOR][/FONT]

    [CENTER]

    [/CENTER]

  • Zitat von Fixed;168736

    Das mit ErlyGuard wusste ich auch nicht.
    Könntest du den PacketFilter in C# übersetzen?
    Dann könnten auch mehrere Leute daran Arbeiten.
    Ich würde mich auch beteiligen ;)

    Ich glaub kaum , das er jetzt den Packetfilter in C# übersetzen wird , entweder du kommst mit C++ klar oder nicht.

  • Ich habe zwar keinen Plan von C++ aber ich finde es gut von dir das du das Projekt OS machst.

    Villeicht können die ein oder anderen ja von dem Source lernen und ihn auch erweitern.

    MfG. Blizzard

    P.S. Crunkx: Seit wann schreibst du Programme in C++ :O
    Ich dachte du kannst VB.net so gut :P (damals der Titan.emu :) )

  • Zitat von BlizZzard;168876

    Ich habe zwar keinen Plan von C++ aber ich finde es gut von dir das du das Projekt OS machst.

    Villeicht können die ein oder anderen ja von dem Source lernen und ihn auch erweitern.

    MfG. Blizzard

    P.S. Crunkx: Seit wann schreibst du Programme in C++ :O
    Ich dachte du kannst VB.net so gut :P (damals der Titan.emu :) )

    behersche:

    html, css, php, sql(mssql / mysql), vb.net, vb6, c#, c++

    so als anfang...

    und mir ist grad langweilig und habe echt lust ein emulator für ein game zu coden, doch kp welches >.>

    Ahja Leute:

    Ein PacketFilter in C# bringt NIX ! Ihr werdet bei vielen Playern(schon ab 100) massive Laggs und andere Probleme bekommen ... C++ ist da schon geeigneter!

  • Hört sich nett an, ich schau mir mal den ganzen Source an und gebe dir später Feedback dazu.
    Aufjedenfall ein Thx von mir :)

    [CENTER][COLOR=Red][/COLOR]
    [/CENTER]

  • [COLOR="DeepSkyBlue"]Ich muss dich auf einen Schönheitsfehler hinweisen.
    Alle Funktionen egal void oder nicht müssen eine return Anweisung haben :D[/COLOR]

  • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]

    Zitat von Chaosduckman;181375

    Ich muss dich auf einen Schönheitsfehler hinweisen.
    Alle Funktionen egal void oder nicht müssen eine return Anweisung haben :D


    Woher willste wissen, dass jede Funktion auch bei void ein return haben muss?
    Wenns der Compiler sagt, dann ists gut.
    Aber sonst doch nich.
    Alles was nich Void is, muss ein Return haben, anders meckert der Compiler.
    Aber void kann eig garnix zurückgeben, da is lediglich ein leeres Return zulässig sprich return; alles andere wird bemängelt.
    Wenn du Beweise hast, lass es mich wissen bin bei C++ eh nich aufm neusten Stand da ich kein C++ bisher mehr gelernt hab usw.
    Und da kanns halt mal sein dass ich sachen nich weiß.[/SIZE][/COLOR][/FONT]

  • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]Egal ob Schönheitsfehler oder nich, ich bezog mich auch auf den Schönheitsfehler.
    Void brauch kein return, wüsste nich wie ein return bei void nen bessere optischen Effekt hat^^
    Man kann return trotzdem auch bei void zum kontrollierten Aussteigen aus ner Funktion nutzen, aber sonst würd ichs weglassen[/SIZE][/COLOR][/FONT]

  • Chillt mal alle ihr habt es falsch interpretiert. Es bezieht sich hier rauf:

    Zitat von Server.cpp

    void IServer::loadServer()
    {
    ...
    IServer::AcceptConnections();
    }

    Hier fehlt die Anweisung. Aber auch eine void return liefert einen Wert zurück -> Nichts :D

    Zitat von Chaosduckman

    Ich muss dich auf einen Schönheitsfehler hinweisen.
    Alle Funktionen egal void oder nicht müssen eine return Anweisung haben :D



    Bitte das nächste mal genauer lesen ;-)

  • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]Mir rteurn Anweisung hab ich ein return; verstanden, also ein return was nix zurückgibt.
    Allerdings kann man bei void ganz auf return verzichten ausser man will die Funktion vll schon früher beenden.
    So hab ichs jedenfalls aufgefasst nach dem was du sagtest^^[/SIZE][/COLOR][/FONT]

Jetzt mitmachen!

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