Update

NEO: The Game – Update v1.30.0: Stronger Worlds, Safer Space

Nalem

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.