v3.0.0
This release fixes critical performance and stability issues that were uncovered from stress testing. It is highly recommended to upgrade to this version.
Performance and stability changes
- Fix an issue where the Persist module would cause spikes. (e39207a, reported by @plushmonkey)
- Persist module to use a single transaction when reading and writing data. (#5 from @plushmonkey, 8b8c612)
- Fix a deadlock issue in the Network module. (e6bd5b5, reported by @plushmonkey)
- Convert to use System.Threading.Lock (aec15e2, d94fb21)
- Reduce string allocations for base arena names by using StringPool. (3fdf6ab)
Other changes
- Enhance ArenaManager logic for refreshing permanent arenas when the global.conf changes. (#4 from @reighnman, ff50147)
- Add the ability to configure staff members in arena.conf files using the [Staff] section. (7826507)
- Fix a vulnerability in CapabilityManager. (8fe091b)
- Fix spawn positions in the client settings packet. (4b38056, reported by @plushmonkey)
- Fix carry flag game bugs. (9c30169, reported by @plushmonkey)
- Allow a mainloop timer that's executing to be able to cancel itself using IMainloopTimer.ClearTimer rather than having to return false. (c644031)
- Enhance fast bomb detection logic to handle cases where settings are configured to modify bomb fire delay when carrying a flag or a ball (Flag:FlaggerBombFireDelay and Soccer:UseFlagger).(80eed64)
- Prevent client setting Prize:PrizeNegativeFactor from being set to 0 when reading the arena.conf. (af39bbc, reported by @reighnman)
For those upgrading with custom modules, see the breaking changes for this release.
Requires: .NET 9.0 Runtime