Stability improvements

This update is aimed to fix some of the most critical problems with the game, including memory leaks and crashes.

One of the biggest problems with the game so far was the instability of the client, which was constantly crashing. Mainly this happened due to various memory leaks, which led to running out of available memory. Previously, the game was running in the default 32-bit process mode, that allows the process to use only 2GB of memory for everything (including the code itself, mapped files, etc.). This ended up way too low for the game, leaving only about 700MB of free memory after loading into the game. Which then usually was quickly consumed by various memory leaks. Interestingly enough, the game was much more stable when running on Linux. Which led me to discover some important clues to locate the problems and I was able to fix a few of the biggest memory leaks in the game. In addition to that, the game now can use full 4GB of memory, maximum possible for a 32-bit process.

Another game-breaking problem was invisible or stuck monsters and NPCs. When the monsters were supposed to be rendered by the client, but the client couldn’t render them, or when they were rendered in a wrong place as uninteractable models. This was especially prominent on low-end hardware. This now should be mostly fixed, but there’s still a chance that on your particular hardware it can glitch out. Please let me know if you’re still experiencing this problem.

Other changes were focused on various stability improvements of the client, server and the project infrastructure overall.

Some of these changes affected a huge portion of the project codebase and because of that they can uncover smaller bugs, that were never showing up before. So please use the crash reporter and notify me about any new bugs or crashes that you may stumble upon and I’ll try to fix them quickly.

Full changelog

Changed

  • Game client switched to the large address mode to access full 4GB of RAM (maximum for 32-bit processes) instead of the default 2GB.
  • “Reduced visual effects” option no longer disables all projectors. Now it only hides the ones that are specifically marked as visually intensive. Shadows and AoE markers are now visible again even with this option is turned on.
  • Server engine updated to use the latest versions of libraries/frameworks.
  • Various server-side performance optimizations.

Fixed

  • A few most significant memory leaks in the game client fixed.
  • A few race conditions fixed on the client side, which should fix most (if not all) problems with invisible monsters and stuck monster models.
  • A few more client crashes are now fixed.
  • Fixed client freeze when exiting the game.
  • Incorrect out of memory error text fixed.
  • Various improvements and fixes for the server-side time-related calculations.
  • Fixed a server-side bug, because of which some NPCs and monsters were getting stuck and couldn’t move.
  • Various fixes for the error reporter.
  • Various server infrastructure fixes and improvements.
Read more on the forums »