Beiträge von LTGT

    weiß nicht wo du dort serverside ließt

    Ich verstehe nicht, wieso man nicht einfach die Shop Klasse nimmt und diese dementsprechend anpasst… Man muss nicht immer das RAD neu erfinden… und man muss auch nicht die Coins Beträge direkt in die SQL schreiben… es gibt eine Socket API für Metin, die kann man auch nutzen.

    welche "socket" api ?



    jede netzwerkschnittstelle ist ein "socket" auch zur sql.


    wenn du die meinst mit HEADER_GC_TEXT hast du die hoffentlich ausgebaut sonst ist dein server off bevor du das Wort Beta sagen kannst.


    btw nen sufu ist z.b. auch nicht in der shop klasse geboten.

    there has been DoS attack going around spamming HEADER_CG_CHARACTER_SELECT with an invalid character id causing the db to overload and crash,

    in the db syslog you will find many [PLAYER_LOAD] Load from PlayerDB pid[0] entries


    to fix this:


    goto input_login.cpp

    add above


    this fix will make sure the player gets disconnected upon choosing an invalid character, making it harder to spam and making rate limits effective again



    Thanks go to:


    CYN3 for being my mental support

    PR1ME for getting attacked



    please be fair and give credits when you repost this.

    Hey everyone,

    As there is a big trend in the metin2 scene about attacking servers I'm here to offer you a solution for free as long as your server is in beta.


    this protection works by filtering the traffic through my custom filter written in GO ( Bitte melden Sie sich an, um diesen Link zu sehen. ) which will only allow legit traffic to pass.


    why am I offering it for free?

    I can test my protection and validate that everything is running smooth


    are servers already using it?

    yes, 4 servers are using it actively with players, as of writing this text 405 connections are open.


    are you interested ?

    contact me on discord <>#0001

    hierbei ist auch zu bedenken dass der standart source etwas angepasst werden muss um reverse proxies richtig zu unterstüzen

    if the only concern is speed and getting "somewhat" random numbers shouldn't a Xorshift random generator ( Bitte melden Sie sich an, um diesen Link zu sehen. ) be the solution?

    it's not time-based, you need one seed that keeps getting shifted and it requires basically no time and can be compressed to a few asm instructions.


    non the less, I agree that mersenee twister isn't any good for this application.


    could be fun porting infnoise to metin ( Bitte melden Sie sich an, um diesen Link zu sehen. )



    edit:

    Xoshiro seems to be based on Xorshift


    interesting would be seeing the performance difference with AVX2/AVX512

    Edit:

    musst schon dein string als string angeben.


    d.h. auf beiden seiten ein '


    das die query dann so aussieht:


    SELECT account_id FROM player.player WHERE name = 'testname';


    Wenn der Input von einem Nutzer bestimmt wird hast du hier aber definitiv eine SQL injection.



    probier mal ' an stelle von " zu benutzen.


    also von:


    SELECT account_id FROM player.player WHERE name = "testname";


    zu:


    SELECT account_id FROM player.player WHERE name = 'testname';



    Ich weiß nicht wie relevant das ist, da ich im reverse engineering nicht so fit bin, aber man kann recht einfach einen, wie es für mich aussieht, unverschlüsselten Status und 32 bit Key für die Server abfangen die den Service benutzen.


    Wie gesagt, ich weiß nicht wie kritisch das ist.

    Details gebe ich hier nicht public bekannt.

    der 32 bit key wird nur für einen Heartbeat benutzt der auf einen Zufallsgenerator basiert.

    die generation wid gestoppt sobald das Anticheat erkennt das ein Cheat erkannt wird, und damit wird ein Serverseitiger kick ausgelöst