[Release] PacketFilter Source²

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [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:


      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.
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • yannickmama;168069 schrieb:

      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).
    • Crunkx;168077 schrieb:

      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 ;)).
    • yannickmama;168081 schrieb:

      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]
    • Fixed;168736 schrieb:

      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 :) )
    • BlizZzard;168876 schrieb:

      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!
    • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]

      Chaosduckman;181375 schrieb:

      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:

      Server.cpp schrieb:

      void IServer::loadServer()
      {
      ...
      IServer::AcceptConnections();
      }
      Hier fehlt die Anweisung. Aber auch eine void return liefert einen Wert zurück -> Nichts :D

      Chaosduckman schrieb:

      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]