Jump to content

IceShiva

Member
  • Posts

    134
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by IceShiva

  1. 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.
  2. Register your server/client command with ScriptButton() function and pass arguments from server/client.
  3. You neeed also to compile stdlib from python as shared/static object and modify python interpreter interface in client due to public disclosure.
  4. 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.
  5. 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. First one just will be loaded and second one will be discarded as "already loaded"
  6. 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.
  7. 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.
  8. I think you still use code under "tr1" namespace and this causes crash. Additionally do not use old libraries from extern. You dont need anything from extern to do game server working. libstdc++.so.6, libcxxrt.so.1 libc++.so.1 mixing of these libraries is not coool
  9. Yes. Check you msm file. You have something wrong with collision or other attribute.
  10. Additionally you can compile code in debug mode, you dont have values in variables due to optimalization. Debug can slow down you code but is really helpfull
  11. Probably youre fuckuped auth sequence by removing one of deleted functionality. Enable packet trace in client and check which packet is sended last then analyze it. You can do it by defining _PACKETDUMP in NetStream.cpp
  12. [Hidden Content] Run binary under lldb and trace it. I think using latest standard on metin2 source is not good idea due to changes in stl.
  13. client extraction request are not allowed on this forum. Additionally nobody will help you without name or working client for extracting
  14. 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.
  15. Check "securitycode" in account table. Should be empty.
  16. You can install binary package by typing "pkg add cryptopp" of course if you using fresh bsd distribution
  17. 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.
  18. I don't know what to answer, but i will try. Yes.
  19. 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.
  20. Can you create gif or video? Will be really helpful. Additionally can you check your client on another computer? That will deduces problem with os.
  21. This is just information about lack of information what to do with packet of id 80 and handler cannot process this packet so it's ignored. Sometimes happend when someone trying to send wreid data to server. Probably you have packet mismatches in protocol and of course it's not a vulnreability.
×
×
  • 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.