Update 0.1.4: Difference between revisions

From Wiki G1R-MP G1 Remake Multiplayer
Jump to navigation Jump to search
Document Map Editor, saved maps, static scene deployment and Lua APIs since 0.1.4
0.1.4 BUILD124: remove fixed world-object count and request caps; document remaining data/transport bounds
Line 29: Line 29:
* [[Map scene deployment]]: Export Lua to map_scene, per-client static scene reconstruction and late-join loading. Live editing remains private; Save is not deployment.
* [[Map scene deployment]]: Export Lua to map_scene, per-client static scene reconstruction and late-join loading. Live editing remains private; Save is not deployment.
* New client API: [[WorldObjects.request]], [[onClientWorldObjectResult]], [[onClientWorldObjectsReset]].
* New client API: [[WorldObjects.request]], [[onClientWorldObjectResult]], [[onClientWorldObjectsReset]].
* BUILD124 capacity revision: removed fixed 512 native / 500 editor-loader object counts, 32 pending requests and 80 requests/second checks. Updated client and editor/scene scripts required; the server executable is unchanged. JSON/document bounds and bounded IPC backpressure remain; see [[Scripting limits]] and [[World objects]].
* New server storage functions: [[readResourceData]], [[writeResourceData]], [[writeResourceText]].
* New server storage functions: [[readResourceData]], [[writeResourceData]], [[writeResourceText]].
* Resource-local [[MapEditor helpers]]: [[MapEditor.CreateObject]], [[MapEditor.DeleteObject]], [[MapEditor.SetTransform]], [[MapEditor.GetObjects]]. These are not engine globals.
* Resource-local [[MapEditor helpers]]: [[MapEditor.CreateObject]], [[MapEditor.DeleteObject]], [[MapEditor.SetTransform]], [[MapEditor.GetObjects]]. These are not engine globals.

Revision as of 18:37, 20 September 2026

Update 0.1.4

Status: in development. The public release remains 0.1.3. This page documents the next version, not an updater rollout.

MySQL recovery

  • dbConnect gains the opt-in autoreconnect=true option (default false).
  • New server functions: dbReconnect and dbGetConnectionState.
  • New server event: onDatabaseConnectionStateChange.
  • Background reconnect with backoff, generation tracking, idle health checks and resource ownership.
  • No automatic SQL replay; interrupted transactions/session-control operations require explicit recovery.
  • gothic_rp reconnects after runtime loss without replaying startup initialization; uncertain COMMIT results are reconciled using transaction receipts.
  • Character saves no longer treat queue acceptance as successful persistence.

See MySQL connection recovery for examples, limitations and test cases. Existing 0.1.3 servers do not expose the new functions or event; update the dedicated server before using these scripts. This database change does not alter network protocol 35.

Weapon requests and mouse capture

  • Weapon control: independent melee/ranged confirmation, getPlayerWeaponState and onPlayerWeaponChangeResult.
  • Weapon clearing: native slot and carry-visual cleanup, server confirmation and empty replication/late-join state; subsequent manual equipment changes remain allowed. No new Lua signatures are introduced by these corrections.
  • Mouse capture: resource-owned relative motion and look-only capture for camera scripts.
  • UpdateCameraPose: latest-value camera streaming.

These changes require the current 0.1.4 development client and updated server. This is not a public updater rollout.

Lua Map Editor and static map deployment

All above are since 0.1.4, in development; not available in public 0.1.3. See World objects and Resource data storage for limits. Existing Weapon control, MySQL connection recovery and UpdateCameraPose additions remain documented above.