NEO: The Game – Update v1.30.0: Stronger Worlds, Safer Space
NEO: The Game – Update v1.30.0: Stronger Worlds, Safer Space
Hello everyone,
This update is a big one behind the scenes: we rebuilt the foundations of NEO’s universe so your worlds are more stable, safer, and better protected than ever before. You will keep exploring the same galaxy — it just holds together much better now.
Stability & Reliability
- Your position is now saved exactly where it belongs. We fixed a subtle bug where player positions could drift after reconnecting. The exact spot you left is the exact spot you come back to. No more surprise teleports across the map.
- Safer saving at server shutdown. The game now finishes every save before it announces success. « Saved all datas. » actually means all your data is written.
- No more duplicate star systems. The galaxy generator can no longer create two identical systems at the same coordinates. Existing duplicates found in the live universe were cleaned up safely — no data was lost.
Security & Fair Play
- Stronger server authority. Commands for buildings, ships, orders, and stargates now verify that you actually own what you are controlling. A modified client can no longer interfere with other players’ property.
Economy & Progression
- Atomic resource economy. Resource gains and costs are now applied atomically — no more race conditions that could lose or duplicate resources under load.
- Unique resource and research tracking. The database now guarantees one resource entry and one research entry per player, cleanly.
- Smarter loading. Empire listings and stats load with far fewer database queries.
What you should see
- Reliable reconnection: position and planet stay exactly as you left them.
- Stable sector generation: every system you find is unique.
- A smoother, fairer multiplayer experience thanks to server-side validation.
Thanks for playing NEO! Stay tuned for more updates.
— Nalem
Full changelog (technical)
Stability & persistence
- Reworked the MongoDB write path: every first-party save is routed through a single reliable gateway with admission, draining, and a final shutdown scope.
- Server shutdown is now honest and idempotent: one stop, one deadline, real completion signal. TimedOutDraining is never mistaken for success.
- Added a load-completion gate: if a sector fails to load, shutdown reports an explicit failure instead of a fake success.
- Atomic upsert for player data models; explicit MongoDB result policies.
- Fixed player position persistence: positions on a planet are stored planet-local and converted exactly once at spawn. Legacy drifted data self-heals within one or two cycles.
Economy & data
- Introduced an atomic resource ledger: spend and gain operations use guarded $inc. No read-modify-write races remain.
- Unique indexes on resources, research, player stats, systems, ships, and ship orders. Duplicate detection is fail-closed (blocked index and log, no data deleted).
- Targeted multi-document transactions for trades and diplomacy and linked destruction. Standalone MongoDB fails explicitly instead of silently downgrading.
- schemaVersion with idempotent, non-downgrading migrations. Legacy documents remain readable and spendable.
- Removed dead code and added a standalone-transaction regression test.
Space & generation
- Fixed concurrent galaxy generation: duplicate system creation is now impossible (existence check, atomic guard, unique index).
- Production database deduplicated: 62 duplicate systems removed, 101 planets re-attached to their surviving system. Zero data loss, backups taken.
Network & security
- Centralized Can* authorization policy. Mutating Commands (buildings, consoles, ship orders, stargate) now validate real sender identity and ownership.
- Hostile-client test matrix added.
Builds & tooling
- Restored the DEV client build (server-only persistence files correctly guarded with #if IS_SERVER).
- SetVersion batchmode helper; documented DEV server build define requirement.
- Harness improvements: client auto-quit after delay, room log dir derived from GameServer cwd.
Verification
- EditMode suite green under Server (238+ tests), positive smokes with save/reload cycles, negative smoke (Mongo down) reports explicit failure, independent reviews passed, production smoke on treated sectors validated.
