Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Server Memory leak or whats the issue?

Newbie Spellweaver
Joined
Aug 20, 2018
Messages
10
Reaction score
7
So people who's either having or playing a v83 or lower MapleStory private server might have come across the graphical issue where the UI, skill effects, etc starts being messed up. However my question is. Is it because of client memory leak or what causes the game to start getting messed up? I run a custom server and it can happen regular which is bothering. If anyone has the same issue or has come across a way to fix it, please help <3
 
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
Unfortunately, this is a terrible effect of having WZ Edits. There's two main factors which cause this, though.

1. Client Memory Leak. Destructor issues in the client prevent it from freeing memory when it needs to. This issue only occurs when you're utilizing WZ files, as it's actually an issue in regards to the WZ library cleanup function not being called. I guess this was something OS-dependent because it was never an issue on XP, but only became a problem after Vista was introduced.
2. Your WZ Edits. For every wz edit that you've applied to your server, you're saving tons of images (I can tell). Whenever you're saving these images, you're saving them in a format that eats up more memory because they use more space. Most of these images can be saved in other pixel formats that use less size. However, this isn't really made possible in HaRepacker, WzRepacker, HaSuite, and probably the repacker you're using. While I suggested the feature for HaRepacker-resurrected, I'm not sure if the implementation of it is all there (and working entirely as intended) or not.

My first suggestion would be to try using HaRepacker-resurrected. Although, you've already re-saved all of your images previously under a higher pixel format, so it'd probably just do the same. Assuming that this works, I would try and get all of my custom XMLs and re-paste them into clean files. This way, all of Nexon's original entities are unchanged.

As for the client memory leak, unless you're experienced enough to code-cave your way around the client, you won't have much luck there. I might release a fixed client for v83 (or even a tutorial) in the future though since it affects all pre-bb versions.
 
Upvote 0
Junior Spellweaver
Joined
Sep 16, 2017
Messages
156
Reaction score
36
As for the client memory leak, unless you're experienced enough to code-cave your way around the client, you won't have much luck there. I might release a fixed client for v83 (or even a tutorial) in the future though since it affects all pre-bb versions.
Little question about this ~ are the clientside edits "big enough" to require a custom dll? Or is it something like adding extra calls to preexisting functions, meaning that a relatively small noped area in the client could handle it?

Also; I'd assume this to be true, but just to make sure, would fixing the client make the wz-side fix not necessary?

Thanks c:
 
Upvote 0
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
Little question about this ~ are the clientside edits "big enough" to require a custom dll? Or is it something like adding extra calls to preexisting functions, meaning that a relatively small noped area in the client could handle it?

Also; I'd assume this to be true, but just to make sure, would fixing the client make the wz-side fix not necessary?

Thanks c:

The edits are very small, you're just needing to call an additional function from in a destructor. Depending on the client version, you'll need to code-cave. I think when I did it on v90, I was able to fit it by nopping some instructions like you mentioned, but on v92 I had to hook and code-cave the function in order to fit it.

This is a good question actually, and the answer is no. It will fix your crashes and eliminate most of the problem, but not all of it. A good example to help explain it would be login intro images. If you were to save a whole new login intro animation under the default HaRepacker format, your client will utilize heavy amounts of memory regardless of the fix, and sometimes may STILL crash. If you were to however save it under the very small pixel format already used, then it'll work. This was a problem we had in Orion when Cham was trying to get a 60 FPS animation working, but the client kept on crashing once it hit the login screen.

I would try to stick to what Nexon does when you're adding custom content. Use the same pixel formats on items and effects as they do. For things that need higher quality (such as skills), you can use a better pixel format. Just don't use it everywhere, try to save yourself memory if you can help it.
 
Upvote 0
Junior Spellweaver
Joined
Sep 16, 2017
Messages
156
Reaction score
36
Mmhm, I see; that's good to know! I'm on v83, and I'll soon probably apply an edit that should free me a nice little bit of space again, so I would be able to use that.

Sorry if I borrow your knowledge once again c: which function is it, that I should be editing the destructor of?
 
Upvote 0
Back
Top