Flash-Engine 0.4.0
Security, reliability & economy-integrity release. Verified in the real server on SQLite and MySQL/MariaDB, plus Zig core unit tests. The native core is rebuilt this release (state-store fix + native-invoker bounds), but the core contract (v12) and the FXServer artifact pin (31689) are unchanged.
Highlights
- Crash-atomic society↔player transactions; new
Db.ExecuteGuardedBatchAsyncfor conditional multi-row invariants. - Auto-save stale-session guard + transfer deadlock retry (no more lost
money_logrows). - Scheduler hardening: bounded per-frame drain (no watchdog crash from runaway
awaitloops) and dead-context drop (no ALC leak on restart). - State-store use-after-free fix (string/byte getters copy under lock).
- Lifecycle-event forgery guard:
Events.IsFromCorerejects client-forgedplayerJoining/playerDropped. - Msgpack/RefBridge payload caps,
Argsuint fix, threading-model docs. - SDK comments/messages translated to English.
Install: download flash-payload-0.4.0.zip, then run install-flash.ps1 -ServerDir <FXServer> -PayloadDir <folder>. See CHANGELOG.md for the full list and the compatibility matrix.