Update 0.1.9: Difference between revisions

From Wiki G1R-MP G1 Remake Multiplayer
Jump to navigation Jump to search
Document armor catalogs and eight armor-upgrade Lua APIs from upcoming 0.1.9; public release unchanged
Release 0.1.9 / BUILD264 / Protocol42: availability and download setup; preserve experimental limits
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Update 0.1.9 =
= Update 0.1.9 =
'''Upcoming / in development — not yet publicly released.''' This page documents implemented additions targeted for '''0.1.9''', including experimental features and their current boundaries. Public 0.1.8 remains the released download. This is documentation, not a release announcement or a client/server deployment.
'''Released: G1R:MP 0.1.9 / BUILD264 / Protocol 42.''' The Windows client and Windows/Linux dedicated servers are available on the [https://g1r-mp.com/download/ Download page]. Update both client and server. Experimental features and remaining qualification limits are identified below.


== Server-controlled item statistics ==
== Server-controlled item statistics ==
Line 27: Line 27:


== Interactive map-editor objects ==
== Interactive map-editor objects ==
The experimental [[Interactive map objects]] extension adds a searchable catalogue of '''18 seat variants and 48 light/flame variants''', editor placement/transforms, duplicate/history, prefab-aware save/open/export, initial light state and local native testing. [[Interactive prefab catalog]] lists all entries.
The experimental [[Interactive map objects]] extension adds a searchable catalogue of '''94 entries: 18 seats, 48 lights/flames, 7 doors and 21 ladder sizes''', editor placement/transforms, duplicate/history, prefab-aware save/open/export, initial light state and local native testing. [[Interactive prefab catalog]] lists all entries.


[[MapEditor.CreateInteractiveObject]] is a new editor-resource client helper. Preview/local-test transform alignment and deferred seat cleanup were corrected; cleanup waits for native release and a 1-metre clearance. These additions are distinct from the existing static-object API.
[[MapEditor.CreateInteractiveObject]] is a new editor-resource client helper. Preview/local-test transform alignment and deferred seat cleanup were corrected; cleanup waits for native release and a 1-metre clearance. These additions are distinct from the existing static-object API.


'''Shared multiplayer interactions for newly placed objects are not finished.''' The editor preview is static; Test native is local. Version-2 interactive maps cannot be deployed with the existing static-only map_scene loader. Beds, workshops and quest mechanisms are not enabled by this feature.
'''Approved doors now have shared server-owned deployment''', through Apply removals + doors LIVE or the complete updated [[Map scene deployment|map_scene]] loader. Test native remains local; seats, lights and placed ladders are not yet shared deployed interactions. Beds, workshops and quest mechanisms are not enabled by this feature. The updated loader accepts formats 1/2/3 for supported static objects, doors and original-world removals.


== Scope and release status ==
== Scope and release status ==
Ordinary armor protection and [[Armor upgrades|armor-upgrade-slot effects]] are implemented; see the armor guide for catalog coverage and remaining visual qualification. Special haste/orc-spore/joint effects, critical-hit multipliers, stagger damage and NPC toughness are not advertised as writable. Consult [[getItemStatDefinitions]] rather than assuming all engine fields are supported.
Ordinary armor protection and [[Armor upgrades|armor-upgrade-slot effects]] are implemented; see the armor guide for catalog coverage and remaining visual qualification. Special haste/orc-spore/joint effects, critical-hit multipliers, stagger damage and NPC toughness are not advertised as writable. Consult [[getItemStatDefinitions]] rather than assuming all engine fields are supported.


In-game tests have confirmed selected potion and life-jewelry scenarios, not every item, tooltip, equipped-reset case or remote/late-join lifecycle. Experimental features remain marked as such until qualification is complete. No release date, final build number or protocol number for 0.1.9 is announced here. Use matching supported client/server versions when the update is released.
In-game tests have confirmed selected potion and life-jewelry scenarios, not every item, tooltip, equipped-reset case or remote/late-join lifecycle. Experimental features remain marked as such until qualification is complete. The release is BUILD264 / Protocol 42. Use matching 0.1.9 client/server packages; publication does not remove the qualification limits above.


[[Category:Lua API]]
[[Category:Lua API]]
Line 42: Line 42:
<!-- armor019:start -->
<!-- armor019:start -->
== Armor bases and upgrade pieces (from 0.1.9) ==
== Armor bases and upgrade pieces (from 0.1.9) ==
Not yet publicly released; not included in public 0.1.8. [[Armor catalog]] lists all 26 bases (24 existing plus Royal Guard and Judge additions); [[Armor upgrade catalog]] lists all 84 authored parts and exact family presets. [[Armor upgrades]] explains ownership, full sets, individual slots, players/NPCs, numeric protection and persistence.
Available from 0.1.9. [[Armor catalog]] lists all 26 bases (24 existing plus Royal Guard and Judge additions); [[Armor upgrade catalog]] lists all 84 authored parts and exact family presets. [[Armor upgrades]] explains ownership, full sets, individual slots, players/NPCs, numeric protection and persistence.


Eight new server functions: [[getArmorUpgrades]], [[getArmorUpgradePresets]], [[getPlayerArmorUpgrades]], [[setPlayerArmorUpgrades]], [[setPlayerArmorPreset]], [[getNpcArmorUpgrades]], [[setNpcArmorUpgrades]], [[setNpcArmorPreset]]. Local-player and NPC checks are reported working; remote-human/late-join visual qualification remains pending. This is documentation, not a release announcement.
Eight new server functions: [[getArmorUpgrades]], [[getArmorUpgradePresets]], [[getPlayerArmorUpgrades]], [[setPlayerArmorUpgrades]], [[setPlayerArmorPreset]], [[getNpcArmorUpgrades]], [[setNpcArmorUpgrades]], [[setNpcArmorPreset]]. Local-player and NPC checks are reported working; remote-human/late-join visual qualification remains pending.  
<!-- armor019:end -->
<!-- armor019:end -->
<!-- female019:start -->
== Female identity presentation ==
The existing <code>syra</code>, <code>velaya</code>, <code>seraphia</code>, <code>chani</code> and <code>natalia</code> identities receive corrected facial proportions, addressing stretched faces on female characters, including while wearing armor. The correction covers local players, remote human players and scripted human NPCs.
A matching identity without armor displays its full authored female body/outfit; an equipped armor keeps its original shape and selected pieces with the corrected female head. Facial expression is currently neutral. Existing [[setPlayerIdentity]] and [[setNpcIdentity]] APIs are used; no separate female API is introduced. See [[Female identities]] for usage, skin/tattoo limits and synchronization expectations. This is included from 0.1.9.
<!-- female019:end -->
<!-- activities019:start -->
== Expanded activity animations and fishing ==
'''Available from 0.1.9.''' Both the server and observing clients need the matching update.
'''844 additional aliases; 962 total.''' The existing 118 remain available. New entries include gathering, rice/herb processing, crafting/work variations, sitting/rest, daily activities, carrying, poses and gestures. Many entries address sections/variants of the same animation rather than separate full animations.
Fishing adds idle, reeling and four held direction poses, with corrected rod size, hand attachment and orientation. Cosmetic props cover local players, relevant observers and scripted human NPCs; they are not inventory grants. There is no verified casting animation or complete fishing minigame.
Existing [[startAnim]], [[stopAnim]], [[startNpcAnim]] and [[stopNpcAnim]] calls are retained. [[getPlayerAnimationInfo]] adds catalogIndex, assetKind, since and verifiedInGame; [[getPlayerAnimationNames]] enumerates the expanded catalog. See [[Activity animations]] for Lua examples and limits, and [[Activity animation catalog]] for every new alias. New aliases are asset-audited, not all visually confirmed; local corrected fishing appearance was reported working, while complete observer/late-join visual qualification remains pending.
<!-- activities019:end -->
<!-- customkeys019:start -->
'''Available from 0.1.9. Use matching updated server and clients.'''
== Custom native keys and shared placed doors ==
[[Custom keys]] adds independent native key types, names/descriptions, approved model/icon reuse, multiple copies and normal authoritative drop/pickup. Server-owned door rules check canonical key quantities; wrong/local-only keys do not authorize shared operations. Includes definition/query/placement/lock APIs and lifecycle callbacks. [[World door prefab catalog]] lists the supported door aliases. Persistence/economy remain gamemode responsibilities.
<!-- customkeys019:end -->
<!-- weather019:start -->
== Extended weather ==
'''Available from 0.1.9. Use matching updated clients and server.'''
[[Weather]] adds 38 explicit game presets alongside five legacy biome-aware modes: 43 names including snow/blizzard, fog, sky/rain and sand/dust/regional variants. [[Weather catalog]] lists every name and alias. New [[getWeatherTypes]] plus the existing set/get/revision/sync functions and [[onWeatherChange]]; shared snapshots and late join are retained. New preset rendering still requires in-game qualification; an ACK is not visual proof, and snow coverage depends on map materials.
<!-- weather019:end -->
<!-- crafting019:start -->
== Native crafting-window visibility ==
[[Native crafting UI]] adds the crafting key to [[setNativeHudComponentVisible]] and includes it in [[showNativeHud]]. Recipe/progress windows can be hidden while station interaction and normal exit remain. Hidden new recipe starts are guarded; running crafts are not deliberately cancelled. This is client presentation control, not a recipe API or server authorization. New getNativeUiState diagnostics and existing asynchronous result event are documented. Available from 0.1.9; full station qualification remains pending.
<!-- crafting019:end -->
<!-- worldmodels019:start -->
== Original-world inspection and reversible removal ==
[[World model removal]] adds object/model inspection, candidate/Nearby selection, original-world hide/restore with collision/interaction handling, undo/redo, persistent placement identities, format-3 save/export and server-guarded live publication/replay. Supported adapters include standalone and grouped models, foliage, authored doors, lights and whole ladders. Busy interactions wait for native release. Terrain, characters, world controllers and baked distant HLOD remain protected; NPC obstacle data is intentionally unchanged. Matching game/catalog data is required after restart/update.
[[Interactive prefab catalog]] also includes 21 native ladder lengths (7..25, 28 and 30 steps) and all seven approved door prefabs. Local preview/native alignment and moving-door initialization were corrected. Shared doors use the original mechanism synchronization path, server interaction ownership, streamed construction and late-join state. See [[Interactive map objects]] for limits and production checks.
<!-- worldmodels019:end -->
<!-- discord019:start -->
== Optional Discord Rich Presence ==
'''Available from 0.1.9. Use matching updated clients and server.'''
[[Discord Rich Presence]] adds eight server Lua functions and [[onPlayerDiscordPresenceStatus]] for public server/location/job text, artwork, timers, displayed counts and two HTTPS buttons. [[Discord Presence configuration]] includes the complete optional Windows/Linux server resource and application setup. Player launcher opt-in is off by default. Resource ownership, coalescing and automatic cleanup are built in; no bot/token/account linking or automatic Join/Spectate. Real Discord visibility still requires owner-application acceptance testing.
<!-- discord019:end -->
== Installation and compatibility ==
* Install the matching '''0.1.9 / BUILD264 / Protocol 42''' client and dedicated server. Protocol 41 and older clients/servers are incompatible.
* Windows and Linux each have two dedicated-server downloads: '''with TTS''' includes the CPU speech runtime/models; '''without TTS''' is smaller. TTS is optional and disabled by default in both variants. See [[TTS configuration]] before enabling it.
* Distribution configurations contain no operator passwords or private state. Back up and preserve your own serverconf.cfg, database credentials, keys, maps and resource .storage when upgrading; merge new settings and updated bundled resources instead of overwriting your data.
* Optional [[Discord Rich Presence]] requires server-owner configuration and a separate player opt-in. It is disabled by default.
* Back up single-player saves before using the mod; multiplayer use may remove save files.
== Remote head and upper-body look direction ==
Native look direction is forwarded for remote head/neck/upper-body presentation. No new Lua command is required. Missing native look data falls back to neutral, and interaction/combat/climbing and other full-body activities take priority. This does not change gameplay aiming or damage. Full multi-player visual qualification remains pending.

Latest revision as of 13:30, 20 October 2026

Update 0.1.9

Released: G1R:MP 0.1.9 / BUILD264 / Protocol 42. The Windows client and Windows/Linux dedicated servers are available on the Download page. Update both client and server. Experimental features and remaining qualification limits are identified below.

Server-controlled item statistics

Item type stats introduces eight server Lua functions:

One profile changes every copy of the same item type on that server, not individual inventory instances. Supported fields cover weapon and ammunition damage, seven damage/protection channels, armor and jewelry bonuses, equipment requirements, consumable restoration/regeneration, appropriate rune settings, and available common metadata such as value and stack size. See Item stat properties for exact support and ranges.

Changes are validated atomically, resource-owned, reversible and replayed to compatible joining clients. Profiles can be saved/restored by Lua. onPlayerItemStatsReport reports client application diagnostics; it is not authoritative proof of damage, inventory or gameplay success.

The bundled GothicRP generated native-item metadata follows configured value/weight/stack-size values; separately authored gamemode item/shop definitions remain the gamemode's responsibility. Changing stack size does not delete or rearrange existing quantities.

Armor, jewelry and NPCs

Ordinary armor defense values can be configured directly, independently for cutting, blunt, piercing, fire, wind, ice and energy damage. Armor/player bases and bonuses are kept separate. Raising maxima does not heal/refill; lowering them clamps current values when needed.

Explicit armor HP/mana/strength/dexterity bonuses also affect equipped scripted NPCs. NPC maximum setters use base values; getters return effective values. Combat-config dexterity remains a base value, and getNpcData exposes the new breakdown. Profile refresh does not intentionally reload ammunition or restart accepted attacks/casts. See NPC scripting and Item type stats.

Numeric ring/amulet overrides support the normal inventory equip/remove workflow and two owned identical rings. Reset-while-worn and multi-client lifecycle cases remain under qualification; NPC jewelry is not introduced.

Rune settings and mana recovery

Appropriate implemented runes support damage, range, duration and magic-circle requirements. A custom manaCost is a fixed cost per accepted release; zero means free and resetting restores original cost rules. It preserves other spell eligibility checks. Custom paid/free/reset casting still requires final in-game qualification.

The client also corrects a stale out-of-mana state after a successful positive mana assignment. This addresses cases where mana was visible in the HUD but casting remained blocked until restarting the game. The baseline Fire Bolt/Light and empty/refill sequence has been confirmed in game without restarting. The fix does not grant spells or bypass circle, ownership or equipment requirements. Scroll support is not added.

Interactive map-editor objects

The experimental Interactive map objects extension adds a searchable catalogue of 94 entries: 18 seats, 48 lights/flames, 7 doors and 21 ladder sizes, editor placement/transforms, duplicate/history, prefab-aware save/open/export, initial light state and local native testing. Interactive prefab catalog lists all entries.

MapEditor.CreateInteractiveObject is a new editor-resource client helper. Preview/local-test transform alignment and deferred seat cleanup were corrected; cleanup waits for native release and a 1-metre clearance. These additions are distinct from the existing static-object API.

Approved doors now have shared server-owned deployment, through Apply removals + doors LIVE or the complete updated map_scene loader. Test native remains local; seats, lights and placed ladders are not yet shared deployed interactions. Beds, workshops and quest mechanisms are not enabled by this feature. The updated loader accepts formats 1/2/3 for supported static objects, doors and original-world removals.

Scope and release status

Ordinary armor protection and armor-upgrade-slot effects are implemented; see the armor guide for catalog coverage and remaining visual qualification. Special haste/orc-spore/joint effects, critical-hit multipliers, stagger damage and NPC toughness are not advertised as writable. Consult getItemStatDefinitions rather than assuming all engine fields are supported.

In-game tests have confirmed selected potion and life-jewelry scenarios, not every item, tooltip, equipped-reset case or remote/late-join lifecycle. Experimental features remain marked as such until qualification is complete. The release is BUILD264 / Protocol 42. Use matching 0.1.9 client/server packages; publication does not remove the qualification limits above.

Armor bases and upgrade pieces (from 0.1.9)

Available from 0.1.9. Armor catalog lists all 26 bases (24 existing plus Royal Guard and Judge additions); Armor upgrade catalog lists all 84 authored parts and exact family presets. Armor upgrades explains ownership, full sets, individual slots, players/NPCs, numeric protection and persistence.

Eight new server functions: getArmorUpgrades, getArmorUpgradePresets, getPlayerArmorUpgrades, setPlayerArmorUpgrades, setPlayerArmorPreset, getNpcArmorUpgrades, setNpcArmorUpgrades, setNpcArmorPreset. Local-player and NPC checks are reported working; remote-human/late-join visual qualification remains pending.

Female identity presentation

The existing syra, velaya, seraphia, chani and natalia identities receive corrected facial proportions, addressing stretched faces on female characters, including while wearing armor. The correction covers local players, remote human players and scripted human NPCs.

A matching identity without armor displays its full authored female body/outfit; an equipped armor keeps its original shape and selected pieces with the corrected female head. Facial expression is currently neutral. Existing setPlayerIdentity and setNpcIdentity APIs are used; no separate female API is introduced. See Female identities for usage, skin/tattoo limits and synchronization expectations. This is included from 0.1.9.

Expanded activity animations and fishing

Available from 0.1.9. Both the server and observing clients need the matching update. 844 additional aliases; 962 total. The existing 118 remain available. New entries include gathering, rice/herb processing, crafting/work variations, sitting/rest, daily activities, carrying, poses and gestures. Many entries address sections/variants of the same animation rather than separate full animations.

Fishing adds idle, reeling and four held direction poses, with corrected rod size, hand attachment and orientation. Cosmetic props cover local players, relevant observers and scripted human NPCs; they are not inventory grants. There is no verified casting animation or complete fishing minigame.

Existing startAnim, stopAnim, startNpcAnim and stopNpcAnim calls are retained. getPlayerAnimationInfo adds catalogIndex, assetKind, since and verifiedInGame; getPlayerAnimationNames enumerates the expanded catalog. See Activity animations for Lua examples and limits, and Activity animation catalog for every new alias. New aliases are asset-audited, not all visually confirmed; local corrected fishing appearance was reported working, while complete observer/late-join visual qualification remains pending.

Available from 0.1.9. Use matching updated server and clients.

Custom native keys and shared placed doors

Custom keys adds independent native key types, names/descriptions, approved model/icon reuse, multiple copies and normal authoritative drop/pickup. Server-owned door rules check canonical key quantities; wrong/local-only keys do not authorize shared operations. Includes definition/query/placement/lock APIs and lifecycle callbacks. World door prefab catalog lists the supported door aliases. Persistence/economy remain gamemode responsibilities.

Extended weather

Available from 0.1.9. Use matching updated clients and server.

Weather adds 38 explicit game presets alongside five legacy biome-aware modes: 43 names including snow/blizzard, fog, sky/rain and sand/dust/regional variants. Weather catalog lists every name and alias. New getWeatherTypes plus the existing set/get/revision/sync functions and onWeatherChange; shared snapshots and late join are retained. New preset rendering still requires in-game qualification; an ACK is not visual proof, and snow coverage depends on map materials.

Native crafting-window visibility

Native crafting UI adds the crafting key to setNativeHudComponentVisible and includes it in showNativeHud. Recipe/progress windows can be hidden while station interaction and normal exit remain. Hidden new recipe starts are guarded; running crafts are not deliberately cancelled. This is client presentation control, not a recipe API or server authorization. New getNativeUiState diagnostics and existing asynchronous result event are documented. Available from 0.1.9; full station qualification remains pending.

Original-world inspection and reversible removal

World model removal adds object/model inspection, candidate/Nearby selection, original-world hide/restore with collision/interaction handling, undo/redo, persistent placement identities, format-3 save/export and server-guarded live publication/replay. Supported adapters include standalone and grouped models, foliage, authored doors, lights and whole ladders. Busy interactions wait for native release. Terrain, characters, world controllers and baked distant HLOD remain protected; NPC obstacle data is intentionally unchanged. Matching game/catalog data is required after restart/update.

Interactive prefab catalog also includes 21 native ladder lengths (7..25, 28 and 30 steps) and all seven approved door prefabs. Local preview/native alignment and moving-door initialization were corrected. Shared doors use the original mechanism synchronization path, server interaction ownership, streamed construction and late-join state. See Interactive map objects for limits and production checks.

Optional Discord Rich Presence

Available from 0.1.9. Use matching updated clients and server.

Discord Rich Presence adds eight server Lua functions and onPlayerDiscordPresenceStatus for public server/location/job text, artwork, timers, displayed counts and two HTTPS buttons. Discord Presence configuration includes the complete optional Windows/Linux server resource and application setup. Player launcher opt-in is off by default. Resource ownership, coalescing and automatic cleanup are built in; no bot/token/account linking or automatic Join/Spectate. Real Discord visibility still requires owner-application acceptance testing.

Installation and compatibility

  • Install the matching 0.1.9 / BUILD264 / Protocol 42 client and dedicated server. Protocol 41 and older clients/servers are incompatible.
  • Windows and Linux each have two dedicated-server downloads: with TTS includes the CPU speech runtime/models; without TTS is smaller. TTS is optional and disabled by default in both variants. See TTS configuration before enabling it.
  • Distribution configurations contain no operator passwords or private state. Back up and preserve your own serverconf.cfg, database credentials, keys, maps and resource .storage when upgrading; merge new settings and updated bundled resources instead of overwriting your data.
  • Optional Discord Rich Presence requires server-owner configuration and a separate player opt-in. It is disabled by default.
  • Back up single-player saves before using the mod; multiplayer use may remove save files.

Remote head and upper-body look direction

Native look direction is forwarded for remote head/neck/upper-body presentation. No new Lua command is required. Missing native look data falls back to neutral, and interaction/combat/climbing and other full-body activities take priority. This does not change gameplay aiming or damage. Full multi-player visual qualification remains pending.