This is gonna sound unrealistic, but I found a way to reproduce this 100% consistently. I found it through reverse engineering, so I don't think I can share the details here.
To reproduce, have your system run for 2^32 milliseconds (or 49.7 days) with no full shutdowns. That's it lol..
Hint to Nexon's developers: the 'timeGetTime' API on Windows returns a DWORD therefore it caps at 2^32, unfortunately the value this API returns only gets reset when you boot from a full shutdown.
Now, why is this called "Memory/DLL Corruption" if there's nothing "corrupted"...?
It's called "Memory/DLL Corruption" because:
1. The process behaves abnormally. This means that either its data or its code are not as they should be (and normally are). Hence, "corruption".
2. Restarting the process does not restore normalcy. Therefore, the cause of the problem is not within the process' own memory.
3. (Full) Restarting the computer does restore normalcy. Therefore, the cause of the problem is not in persistent memory (HDD).
4. Therefore, the cause of the problem is in volatile memory that does not belong to the process alone. I don't know enough about Windows programming to know what forms of "shared memory" it has, hence the "memory/DLL".
Yours is an interesting theory, but I have two problems with it.
1. I have a Windows 7 laptop (where all shutdowns are "full") and looking at the event log I see it has never been up for 49 days straight. Longest I can see is 27 days. And yet Maple does go into this abnormal state on that computer. Note that I use this computer for mules, and sometimes don't even notice or care that Maple is "corrupted" on it.
Looking at my Windows 10 computer's event log, it looks like the correct number for when Maple "corrupts" is around 25 or possibly even 21 days. But I am not sure as I don't know how to differentiate "full" from "hybrid" shutdowns in that log. It does seem fairly consistent, though, which lends credence to the thought that the cause of the "corruption" is not user behavior but something external.
2. It's true that timeGetTime only returns a DWORD, but if I understand correctly it wraps back to 0 once it reaches MAXINT. While this might cause the Maple client to behave strangely if it happens to be up at the moment of rollover, the strange behavior should not persist after restarting the client. Unless it saves the time "high water mark" into persistent memory (HDD, Registry, etc) for whatever reason - in which case a full shutdown wouldn't help either.
My fault, I looked at it incorrectly but it seems to be a signed int32 (therefore it caps at 2^31-1, (24.8 days)) rather than a DWORD (unsigned int32).
As in, timeGetTime returns a DWORD, however the game stores it as an int32.
I updated the original post with the correct information.
As you can see, it overflows all the way to -2 billion:
And honestly the 24.8 days makes a lot more sense, as you said it happens around 25 days (perfectly matches my explanation).
Cutscenes and such get stuck because the game simply wasn't designed to operate with negative numbers for the time the system is up for, simply put. I honestly can't see why MapleStory doesn't manage durations on its own.
I'm not saying you can't lowering latency shouldn't be a goal, I'm saying having a high ping or being ping-dependent isn't a bug. Some classes benefit from lower ping, but that's just the way they're designed.
I don't care about my latency, this game is designed horribly and redesigning the way some things work is the way to go.
You can't just say "some classes benefit from lower ping" because that's just denying the issue. This is GMS - Global MapleStory. Why do American players have an edge over me when playing Blaze Wizard just because of their geographical location? Because of bad development and bad game design, of course.
If that's not a bug report, then I don't know what to do with this complaint and I don't know how to make Nexon react.
Do you feel like actually saying anything useful instead of trying to invalidate my post? Justifying bad design won't get this game anywhere.
This is not a bug, some classes in many games simply rely on ping and many game communities sort their classes based on being "ping friendly". For example, this Overwatch thread which suggests that one of the best classes to play on high ping is typically Torbjörn.
Ping is a very difficult issue, since it's based on your physical location, the physical location of the server, our (society's) technological level, and even something as silly as the speed of light versus the speed of computers. While certain game updates can improve on latency, ping can only really be solved by being closer to the server or making all classes functionally similar. The former option isn't feasible, and the second option isn't desirable.
If you want to suggest changes to improve latency, you may, but this isn't something that can be "fixed" in the same way Root Abyss boxes DCing players or a missing tooltip on Metro hair can.
Are you making up things? Just setup Orbital Flame to shoot at the client side and make Equinox Cycle change the buff on the client side before the serve relays it.
Don't use Overwatch to compare the two. Overwatch is an FPS game with engine prediction of the players' coordination. MapleStory is 2D and doesn't need anything to be ping friendly. Also, I know what ping is and I do networking and system administration for years.
This very same issue with flash jumping/teleporting multiple times being stopped due to high ping was fixed (was very noticeable with Angelic Buster, Xenon, the explorer thieves or every class with double flash jumps), so I can't see why they can't apply a similar fix to those skills.
Do you think anyone from Australia would bother with a class like Wild Hunter in GMS if it was ping reliant? Yeah, me neither.
And yes, if it functions incorrectly under certain circumstances that cannot be avoided whatsoever, it's a bug. If I get 25% of my potential DPM with Blaze Wizard due to having extra ping, it's a bug. It doesn't happen with the top-DPMing classes but only with 2 buggy classes.
Brief bug summary: Some skills are VERY reliable on latency (ping to the game servers).
More details:
The following skills play horribly when playing under high pings -
Dawn Warrior's "Equinox Cycle" (4th job skill). The skill changes between Sun and Moon modes and allowing players to get higher damage when used to combo properly. However, every attack changes your current active mode buff and that waits for the server's buff update. If there's some lag ongoing, the skill can cause attacks to delay for more than one second.
Blaze Wizard's "Orbital Flame" (1st, 2nd, 3rd and 4th job skills; main attacking skill). The skill shoots a flame from the character. The time it takes to the flame to shoot out of the character is your ping to the server. For me, as I live in Israel, this takes nearly a whole second in the American servers, or just a bit less than 0.2 seconds in the European server. The delay issue makes it very hard to control the skill. And due to the high latency, Blaze Wizard's max hits-per-minute output is limited to about 25% of what the Korean players are able to achieve under the same conditions (latency excluded).
Those skills were designed with the Korean version of the game in mind, where it's region-locked to Korea and everyone gets very low latency (mostly less than 15ms) to the game server so it never got noticed by the developers.
Steps to reproduce:
1. Play from a personal computer, outside of the Nexon offices. Preferably outside of the USA.
2.1 Play Blaze Wizard, shoot an Orbital Flame.
2.2 Play Dawn Warrior, get it to 4th job and use Equinox Cycle.
Character name: Irrelevant.
Character level: Irrelevant.
Character job: Blaze Wizard, Dawn Warrior.
World name: Irrelevant.
Date and time of the incident: Since the Cygnus revamp update, up to today.