Skip to main content

WukongMP SDK 0.3.1 released

· 2 min read
ReadyM Team
Creators of WukongMP and OblivionMP

0.3.1 fixes the two resource problems people reported most, memory and CPU, along with a progression soft-lock and a batch of reconnect bugs. Binary packages and the Docker image are both up.

Mod authors: there is one small breaking change in this release, detailed under Upgrading below.

Fixes

  • Excessive memory usage. The server no longer grows its memory footprint the way it did in 0.3.0.
  • Excessive CPU usage on Linux. Linux hosts were burning far more CPU than Windows ones for the same session. Fixed.
  • The Bullguard fight cutscene would not trigger, which soft-locked progression at that point in the campaign. The cutscene now fires as it should.
  • Reconnect bugs. A range of problems that showed up when a player reconnected mid-session are fixed.

Known issues

We are being upfront about these because two of them affect a normal campaign run:

  • Enemies can go invisible. When players separate by a large enough distance, some enemies stop being rendered for one or more players.
  • Reconnecting can break hidden plant enemies. After a reconnect, whether from the reconnect command or from a dropped connection, hidden plant enemies can end up fighting in their plant form.
  • Bosses can die instantly for some players. The boss drops the moment the fight starts, for some players in the session but not others.

We are still investigating all three and will fix them in upcoming releases.

Upgrading

0.3.1 carries one small breaking change. The string fields on the core components are now NativeString256, from Yooni.Native.Container:

ComponentField
NicknameComponentNickname
PlayerComponentNickname
TamerComponentGuid, UnitPath

A mod that reads or writes any of these needs recompiling against 0.3.1, and often a .ToString() where it used to get a string straight out:

// 0.3.0
var guid = tamer.Guid;

// 0.3.1
var guid = tamer.Guid.ToString();

These components live in ReadyM.Wukong.Common, which both halves of a mod reference, so this applies to client-side mods touching the same fields as well as server-side ones. Nothing else changed, so a rebuild is all most mods need.

If you are coming from 0.2.4, the 0.3.0 migration guide still applies in full on top of this.

The documentation has been updated in place, so the installation guide and quick start now describe 0.3.1.