Jump to content

IceShiva

Member
  • Posts

    134
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by IceShiva

  1. msf-64F8BClEhg4xPg88.png

    There is also stupid bug, You can access 0-255 array index where vaild index is 0-4,  if memory is filled at address which array points and value is < 1 with incorrect index  you should get free name change.

    If you want trigger, just call net.SendChangeNamePacket(254, "newcharactername") from python. Try to decrement/increment index to find filled memory and check behaviour.

    • Metin2 Dev 1
    • Think 3
    • Love 1
  2. Also since mysql 5.6 you cannot use 0000-00-00 00:00:00 as default date

    If you want use InnoDB as default storage engine at all databases and tables you need to rewrite libsql connector to something that suport transactions and of course rest of code due data in innodb can have few states such as commited and uncommited.

    Of course is worth.

  3. It's eterpack bug/feature. If you have multiple files with same virtual path in diffrent locations ex. pc2 and path_fix_pc2. Files are loaded by priority appointed by index.

    So if you have in index record like.

    Quote

    d:/ymir work/pc2/
    pc2

    d:/ymir work/pc2/
    path_fix_pc2

     

    First one just will be loaded and second one will be discarded as "already loaded"

    • Love 1
  4. You need also to replace maria/mysql connector lib. Additionally you cant use InnoDB storage engine on metin2 server due to InnoDB is transaction level database and you have to manage behaviour like which data should be readed at this moment when specific row is now locked (read commited/read uncommited). So you also need to implement sql connector which support transactions.

    Of course if you want still use InnoDB on metin2 server you should just update you connector this will fix errors as described on up post. But unwanted behaviour is guaranted.

    • Love 1
  5. 14 hours ago, Speachless said:

    6. Multiple fps drops on loading mounts, pets and players.

    Resource manager and lack of async assets loading.  Particle system is one  most blocking part of client.

    We should ask a little different question. What working good in metin2 especially on client side.

    Additionally if you want fix something you need to start from code fundamentals due to desing pattern(s) limitation.

    The easier way is to take that is " the best of metin2" and implement on rich abstracted engine designed in modern style.

     

  6. Then you need to make "retrospection". Revert all changes since last known working version and analyse changes.

    For futherer tips I really don't recommend technique known as "control+c + control+v" magic combo wombooo mamboo.

    This technique is really myopic and never does not lead to "clean tidy working game core"

    Cheers.

  7. good way to debug problems like yours is attach debugger do process and trace while crash.

    Even better solution is developping server under windows environment since you can set breakpoints in runtime using visual studio. In gdb it is also possible but little bit harder. I see many problems posted by users about pointer to no where.  Nobody use this possibility for "understanding what i'm fucked up"

    It's really sad becouse can teach more than user replies on forum.

    Cheers.

    • Love 2
  8. You can solve this problem by creating blacklist map which includes ip address as key and unhandled connections count as data in specific time, then define "connection threshold" if exceesed you just reject futherer connection from this ip. This mehod theoretically solve all problems with dos and other unwanded shieet. Of course all should be implemented in server source due "raw pf" is l3/4 firewall

    Cheers.

    • Love 1
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.