Update 0.1.4
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
- Map editor: searchable model catalog, preview/placement, selection, numeric and axis-step transforms, freecam, hierarchy, duplicate, undo/redo and save/load.
- 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.
- 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.
- Resource-local MapEditor helpers: MapEditor.CreateObject, MapEditor.DeleteObject, MapEditor.SetTransform, MapEditor.GetObjects. These are not engine globals.
- setMouseCapture gains optional exclusiveInput (default false), for fly-camera character-input suppression; existing one-argument calls retain look-only behavior.
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.
Safe time, resource security and WebP
- Since 0.1.4 BUILD126: new shared function os.time(), for Unix seconds and ordinary random seeding. No arguments are accepted. Only this function is exposed in the restricted os table; os.execute and all other OS-library functions remain unavailable.
- Since 0.1.4 BUILD125: static WebP images (lossy/lossless, including transparency) in the existing RML/RCSS image path. Existing PNG support remains. Animated WebP is rejected; no new Lua function or external codec installation is required.
- BUILD126 security hardening: shared resource extension/path policy, renamed native-executable header rejection, official HTTPS catalog-revision pinning, resource-owned verified GUI file access, and bounded TGA validation.
See Scripting limits for the allowlist, boundaries and migration notes, and RmlUi images for PNG/WebP examples. These are 0.1.4 development features, not a public updater rollout; the public release remains 0.1.3.