Main Page: Difference between revisions

From Wiki G1R-MP G1 Remake Multiplayer
Jump to navigation Jump to search
Announce official 0.1.3 / BUILD106 / Protocol 35
Release 0.1.9 / BUILD264 / Protocol42: availability and download setup; preserve experimental limits
 
(26 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
<div style="border:1px solid #b28a3d; border-left:4px solid #b28a3d; background:#faf9f5; padding:0.9rem 1rem; margin:0 0 1.2rem;">
'''G1R:MP 0.1.3 — official release, BUILD106 / Protocol 35.''' Windows client and Windows/Linux dedicated server downloads are available on the [https://g1r-mp.com/download/ Download page]. Update both the client and server. See [[Update 0.1.3]] for scripting additions and migration notes.
</div>
<div style="background:#fff8f8; border:1px solid #d13b3b; border-left:5px solid #d13b3b; color:#111; padding:0.95rem 1.1rem; margin:0 0 1.25rem;">
<div style="color:#111; font-size:1.05rem; font-weight:bold;">CHAPTER SCREENS — AVAILABLE FROM UPDATE 0.1.3</div>
<div style="color:#111; margin-top:0.35rem; line-height:1.55;">'''2 new server-side functions''': [[showChapterScreen|ShowChapterScreen]] and [[hideChapterScreen|HideChapterScreen]] (also available with lower-camel aliases). Show custom chapter-style title cards without advancing the story. See [[Chapter screens]] for examples, validation, resource ownership and <code>/chaptertest</code>.</div>
</div>


<div style="background:#111611; color:#eee7d5; border:1px solid #8f7338; border-top:4px solid #c6a251; padding:1.6rem 1.8rem; margin-bottom:1.25rem;">
<div style="background:#111611; color:#eee7d5; border:1px solid #8f7338; border-top:4px solid #c6a251; padding:1.6rem 1.8rem; margin-bottom:1.25rem;">
Line 17: Line 8:
</div>
</div>


<div style="background:#fff8f8; border:1px solid #d13b3b; border-left:5px solid #d13b3b; color:#111; padding:0.95rem 1.1rem; margin:0 0 1.25rem;">
<div style="border:1px solid #b28a3d; border-left:4px solid #b28a3d; background:#faf9f5; padding:0.9rem 1rem; margin:0 0 1.2rem;">
<div style="color:#111; font-size:1.05rem; font-weight:bold; letter-spacing:0.04em;">OBSERVER NAMEPLATES — AVAILABLE FROM UPDATE 0.1.3</div>
'''Current public release: G1R:MP 0.1.9 / BUILD264 / Protocol 42.''' Windows client and Windows/Linux dedicated servers are available on the [https://g1r-mp.com/download/ Download page]. Update both client and server; Protocol 41 and older cannot join. See [[Update 0.1.9]] for changes and compatibility notes.
<div style="color:#111; margin-top:0.35rem; line-height:1.55;">'''12 new server-side functions''' add per-observer text, whole-label visibility and numeric-ID policy. Build directional acquaintance presentation with exclusive resource-owned fields and reliable relevance replay. See [[Observer nameplates]] for APIs, lifecycle, database integration and the optional three-client <code>/nametest</code> sequence. Overhead customization does not anonymize other packets, chat or player lists.</div>
</div>
</div>


<div style="background:#fff8f8; border:1px solid #d13b3b; border-left:5px solid #d13b3b; color:#111; padding:0.95rem 1.1rem; margin:0 0 1.25rem;">
<!-- upcoming019:start -->
<div style="color:#111; font-size:1.05rem; font-weight:bold; letter-spacing:0.04em;">PLAYER CUSTOMIZATION — AVAILABLE FROM UPDATE 0.1.3</div>
<div style="border:1px solid #6f8461; background:#f5f8f2; padding:0.9rem 1rem; margin-bottom:1.2rem;">
<div style="color:#111; margin-top:0.35rem; line-height:1.55;">'''7 new server-side functions''' provide independent skin-color and tattoo overrides. Existing identity selection has improved head and armor compatibility from update 0.1.3. See [[Player customization]] for examples and reset behavior, and [[Player tattoo catalog]] for all 12 keys.</div>
'''New in [[Update 0.1.9|0.1.9]].''' See the guides below for APIs, examples and scope.
<div style="color:#111; margin-top:0.65rem; line-height:1.65;"><strong>Skin color:</strong> [[setPlayerSkinColor]] &bull; [[getPlayerSkinColor]] &bull; [[resetPlayerSkinColor]]</div>
* [[Item type stats|Server-controlled item statistics]], jewelry/consumables/rune settings and positive-mana casting recovery.
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Tattoos:</strong> [[setPlayerTattoo]] &bull; [[getPlayerTattoo]] &bull; [[resetPlayerTattoo]] &bull; [[getPlayerTattooNames]]</div>
* [[Armor upgrades|Armor bases, upgrade pieces and full sets]]; [[Female identities|corrected female identities]].
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Improved existing API:</strong> [[setPlayerIdentity]] keeps the game-owned body and equipped armor. These are cosmetic controls, not a full NPC body/outfit replacement.</div>
* [[Activity animations|844 added activity aliases and fishing]] (962 total), with the [[Activity animation catalog|complete list]].
* [[Interactive map objects|94 editor prefabs]], [[World model removal|original-world inspection/removal]], shared placed doors and [[Custom keys|custom native keys with server APIs/callbacks]].
* [[Native crafting UI|Crafting-window visibility]] and [[Weather|extended weather]] with the [[Weather catalog|43-setting catalog]].
* [[Discord Rich Presence|Optional Discord Rich Presence]]: eight server Lua functions, status callback and [[Discord Presence configuration|server-owner configuration]], from 0.1.9.
See each guide for availability, current limits and remaining visual qualification.  
</div>
</div>
<!-- upcoming019:end -->
[[Armor upgrades|Also available from 0.1.9: armor upgrade slots and full sets]], with the [[Armor catalog|26-base catalog]], [[Armor upgrade catalog|84-part catalog]] and eight server Lua functions.


<div style="background:#fff8f8; border:1px solid #d13b3b; border-left:5px solid #d13b3b; color:#111; padding:0.95rem 1.1rem; margin:0 0 1.25rem;">
 
<div style="color:#111; font-size:1.05rem; font-weight:bold; letter-spacing:0.04em;">SCRIPTED CAMERA — AVAILABLE FROM UPDATE 0.1.3</div>
<!-- dimensions018:start -->
<div style="color:#111; margin-top:0.35rem; line-height:1.55;">'''15 camera functions''' and '''2 client camera events''' are available from G1R:MP 0.1.3. Build login backgrounds, fixed shots, smooth transitions, paths and orbits. See [[Scripted camera]] for examples, limits and client/server differences.</div>
<div style="border:1px solid #6f8461; background:#f5f8f2; padding:0.9rem 1rem; margin-bottom:1.2rem;">
<div style="color:#111; margin-top:0.65rem; line-height:1.65;"><strong>Client and server (10):</strong> [[setCameraPos]] &bull; [[setCameraRot]] &bull; [[setCameraLookAt]] &bull; [[setCameraFOV]] &bull; [[setCameraPose]] &bull; [[moveCameraTo]] &bull; [[playCameraPath]] &bull; [[orbitCamera]] &bull; [[stopCameraMovement]] &bull; [[resetCameraPos]]</div>
'''Also available since [[Update 0.1.8|0.1.8]].''' [[Character dimensions]] for players, NPCs and monsters: six server-side Lua functions, three events and private character-creator examples. Also includes UI rendering fixes and automatic completion of multiplayer loading screens when loading is finished.
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Client read-back (5):</strong> [[getCameraPos]] &bull; [[getCameraRot]] &bull; [[getCameraFOV]] &bull; [[getCameraState]] &bull; [[requestCameraState]]</div>
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Client events (2):</strong> [[onClientCameraCommandResult]] &bull; [[onClientCameraReset]]. Client commands use asynchronous acknowledgements; server calls return only a queued boolean.</div>
</div>
</div>
<!-- dimensions018:end -->


<div style="background:#fff8f8; border:1px solid #d13b3b; border-left:5px solid #d13b3b; color:#111; padding:0.95rem 1.1rem; margin:0 0 1.25rem;">
<!-- g1r-upcoming017-game-audio:start -->
<div style="color:#111; font-size:1.05rem; font-weight:bold; letter-spacing:0.04em;">AVAILABLE AND IMPROVED FROM UPDATE 0.1.2</div>
<div style="border:1px solid #b89a50; padding:0.85rem 1rem; margin:1rem 0;">
<div style="color:#111; margin-top:0.35rem; line-height:1.55;">The following '''40 Lua functions''' &mdash; 29 server-side and 11 client-side &mdash; are available from G1R:MP 0.1.2. Existing lifecycle, inventory, JSON, NPC, monster, and world-item APIs also include corrected or expanded behavior from this update.</div>
'''Also available (since [[Update 0.1.7|0.1.7]]).''' [[Native HUD and menus]]: 5 client Lua functions and a result event, resource-owned HUD/menu control and multiplayer save/load protection. [[Game audio|Built-in game audio]]: 11 client functions and a result event. [[Server TTS|Optional server TTS]]: 33 server functions and 4 events, reusable recordings and remote 3D/NPC speech. English guides: [[TTS configuration|Windows/Linux setup]] and [[TTS voices|own/downloaded voice samples and presets]]. Also: NPC crowd optimizations, melee skill tiers, remote acrobatics, climbing/ladder transitions, torch synchronization, identity accessory and gate-streaming fixes.
</div>
<!-- g1r-upcoming017-game-audio:end -->


<div style="color:#111; margin-top:0.65rem; line-height:1.65;"><strong>Accounts and consumables (4):</strong> [[completePlayerConsumableFinalize]] &bull; [[completePlayerConsumableUse]] &bull; [[getPlayerAccountBindingSerial]] &bull; [[getPlayerConsumableNames]]</div>
<!-- upcoming016:start -->
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>World items (1):</strong> [[spawnItem]] &mdash; see also the [[World item catalog]].</div>
<div style="border:1px solid #6f8461; background:#f5f8f2; padding:0.9rem 1rem; margin-bottom:1.2rem;">
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Monster identity, health, and combat (5):</strong> [[setMonsterName]] &bull; [[setMonsterIdVisible]] &bull; [[setMonsterMaxHealth]] &bull; [[getMonsterAttackDamage]] &bull; [[setMonsterAttackDamage]]</div>
'''Also included (since [[Update 0.1.6|0.1.6]]).''' Four new server-side functions: [[Area notifications|custom area notifications]] and [[Mounts|player-owned rideable scavengers]]. Also includes mounted nameplate/recovery fixes, smoother ordinary doors and pickup performance/animation improvements. See the guides for remaining in-game validation.
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Monster navigation (6):</strong> [[setMonsterNavigationMode]] &bull; [[setMonsterNavigationCollisionMode]] &bull; [[setMonsterMoveGoal]] &bull; [[stopMonsterMovement]] &bull; [[testMonsterMove]] &bull; [[walkMonsterTo]]</div>
</div>
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>NPC identity and navigation (7):</strong> [[setNpcIdVisible]] &bull; [[setNpcObstacleBehavior]] &bull; [[setNpcNavigationMode]] &bull; [[setNpcNavigationCollisionMode]] &bull; [[setNpcMoveGoal]] &bull; [[stopNpcMovement]] &bull; [[testNpcMove]]</div>
<!-- upcoming016:end -->
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Custom navigation blockers (6):</strong> [[createAiNavigationBlocker]] &bull; [[updateAiNavigationBlocker]] &bull; [[setAiNavigationBlockerEnabled]] &bull; [[destroyAiNavigationBlocker]] &bull; [[getAiNavigationBlockerData]] &bull; [[getAiNavigationBlockers]] &mdash; see [[NPC and monster navigation collision]].</div>
 
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Client audio (11):</strong> [[playSound]] &bull; [[playSound3D]] &bull; [[stopSound]] &bull; [[setSoundVolume]] &bull; [[getSoundVolume]] &bull; [[setSoundPaused]] &bull; [[isSoundPaused]] &bull; [[isSoundPlaying]] &bull; [[setSoundLooped]] &bull; [[setSound3DPosition]] &bull; [[setSound3DMinMaxDistance]] &mdash; see [[Client audio]].</div>
<div style="border:1px solid #6f8461; background:#f5f8f2; padding:0.9rem 1rem; margin-bottom:1.2rem;">
'''Also included (since [[Update 0.1.5|0.1.5]]).''' [[NPC scripting|NPC combat and scripting]], walk/run pursuit, identity, skin colour, tattoos, player weapon modes and events. Also includes crouch synchronization, melee presentation and knockdown recovery improvements.
</div>


<div style="color:#111; margin-top:0.65rem; line-height:1.65;"><strong>Events available from 0.1.2 (8):</strong> [[onNpcIdVisibilityChange]] &bull; [[onMonsterNameChange]] &bull; [[onMonsterIdVisibilityChange]] &bull; [[onMonsterMoveBlocked]] &bull; [[onMonsterMoveComplete]] &bull; [[onNpcMoveBlocked]] &bull; [[onNpcMoveComplete]] &bull; [[onWorldItemDrop]]. Existing [[onPlayerJoin]], [[onPlayerQuit]], [[onWorldItemPickup]], and [[onWorldItemSpawn]] contracts are also improved from 0.1.2.</div>
<div style="border:1px solid #6f8461; background:#f5f8f2; padding:0.9rem 1rem; margin-bottom:1.2rem;">
'''Also included (since [[Update 0.1.4|0.1.4]]).''' See [[MySQL connection recovery]], [[Weapon control]], [[Mouse capture]], [[UpdateCameraPose]], [[Map editor]], [[World objects]] and [[Player animation catalog|118 player animations]] for released tools and scripting APIs. Also see [[RmlUi images|WebP images]], [[os.time]] and [[getEventClient|remote event security]].
</div>
</div>


Line 61: Line 61:
<li>[[:Category:Lua Functions|Complete function catalog]]</li>
<li>[[:Category:Lua Functions|Complete function catalog]]</li>
<li>[[Lua events|Complete event and callback catalog]]</li>
<li>[[Lua events|Complete event and callback catalog]]</li>
<li>[[Scripting limits|Lua, resource and API limits — 0.1.3 BUILD81]]</li>
<li>[[Scripting limits|Lua, resource and API limits]]</li>
<li>[[Lua API catalogs|Validated skin, monster, equipment, and gameplay keys]]</li>
<li>[[Lua API catalogs|Validated skin, monster, equipment, and gameplay keys]]</li>
<li>[[NPC and monster navigation collision|NPC and monster navigation collision]]</li>
<li>[[NPC and monster navigation collision|NPC and monster navigation collision]]</li>
<li>[[Client audio|Client audio and synchronized 3D playback]]</li>
<li>[[Client audio|Client audio and synchronized 3D playback]]</li>
<li>[[Scripted camera|Scripted camera and moving login backgrounds (0.1.3)]]</li>
<li>[[Game audio|Built-in game audio (since 0.1.7)]]</li>
<li>[[Chapter screens|Custom chapter title cards (0.1.3)]]</li>
<li>[[Game dialogue catalog|Complete dialogue catalog (since 0.1.7)]]</li>
<li>[[Observer nameplates|Observer-specific labels and acquaintance presentation (0.1.3)]]</li>
<li>[[Server TTS|Server TTS (since 0.1.7)]] — [[TTS configuration|setup]] · [[TTS voices|voice samples and presets]]</li>
<li>[[Native HUD and menus|Native HUD/menu control and custom key bindings]]</li>
<li>[[Scripted camera|Scripted camera and moving login backgrounds]]</li>
<li>[[Map editor|Map editor: controls, save and reopen (0.1.4)]]</li>
<li>[[Interactive map objects|Interactive seats and lights (since 0.1.9)]]</li>
<li>[[Item type stats|Item statistics and armor protection (since 0.1.9)]]</li>
<li>[[Map scene deployment|Load exported objects for players (0.1.4)]]</li>
<li>[[Player animation catalog|Player animations: work, sitting, sleep and gestures (expanded in 0.1.4)]]</li>
<li>[[Player customization|Identity, skin color and tattoos]]</li>
<li>[[Character dimensions|Character dimensions and private creators (since 0.1.8)]]</li>
<li>[[Chapter screens|Custom chapter title cards]]</li>
<li>[[Area notifications|Custom area notifications (since 0.1.6)]]</li>
<li>[[Mounts|Rideable scavengers and ownership (since 0.1.6)]]</li>
<li>[[Observer nameplates|Observer-specific labels and acquaintance presentation]]</li>
<li>[[:Category:Resource Functions|Resource lifecycle functions]]</li>
<li>[[:Category:Resource Functions|Resource lifecycle functions]]</li>
<li>[[:Category:Lua Examples|Lua examples]]</li>
<li>[[:Category:Lua Examples|Lua examples]]</li>
<li>[[Hosting a G1R:MP dedicated server|Hosting a dedicated server]]</li>
<li>[[Hosting a G1R:MP dedicated server|Hosting a dedicated server]]</li>
<li>[[Known issues|Known issues and GPU crash workarounds]]</li>
<li>[[:Category:Experimental Lua API|Experimental API status]]</li>
<li>[[:Category:Experimental Lua API|Experimental API status]]</li>
</ul>
</ul>
Line 81: Line 95:
<li>[[:Category:Server Functions|Server-side functions]]</li>
<li>[[:Category:Server Functions|Server-side functions]]</li>
<li>[[:Category:Client Functions|Client-side functions]]</li>
<li>[[:Category:Client Functions|Client-side functions]]</li>
<li>[[:Category:Audio Functions|Client audio functions]]</li>
<li>[[:Category:Audio Functions|Audio functions (client / server)]]</li>
<li>[[:Category:Shared Functions|Shared functions]]</li>
<li>[[:Category:Shared Functions|Shared functions]]</li>
<li>[[:Category:Server Events|Server-side events]]</li>
<li>[[:Category:Server Events|Server-side events]]</li>
Line 114: Line 128:
<div>[[:Category:GUI Functions|RmlUi and GUI]]</div>
<div>[[:Category:GUI Functions|RmlUi and GUI]]</div>
<div>[[:Category:Database Functions|Database]]</div>
<div>[[:Category:Database Functions|Database]]</div>
<div>[[Known issue: MySQL error 2006 (Server has gone away)|Known MySQL/MariaDB issue]]</div>
<div>[[MySQL connection recovery|Connection recovery (0.1.4)]]</div>
<div>[[:Category:Timer Functions|Timers]]</div>
<div>[[:Category:Timer Functions|Timers]]</div>
<div>[[:Category:Command Functions|Commands]]</div>
<div>[[:Category:Command Functions|Commands]]</div>
Line 152: Line 166:
<div style="flex:1 1 22rem; border-top:3px solid #6f8461; background:#f5f2e9; padding:1rem 1.15rem;">
<div style="flex:1 1 22rem; border-top:3px solid #6f8461; background:#f5f2e9; padding:1rem 1.15rem;">
<div style="font-size:1.2rem; font-weight:bold; margin-bottom:0.4rem;">Documentation status</div>
<div style="font-size:1.2rem; font-weight:bold; margin-bottom:0.4rem;">Documentation status</div>
<div style="line-height:1.6;">The reference contains '''312 Lua functions''' and '''94 events''', including '''2 chapter-screen functions, 12 observer/nameplate-ID functions, 7 skin-color/tattoo functions, 15 camera functions and 2 camera events available from update 0.1.3'''. Version notices distinguish newly available APIs from improved contracts in earlier APIs. See [[Chapter screens]] for custom title cards, [[Observer nameplates]] for directional labels, [[Player customization]] for identity, color and tattoos, [[Lua API catalogs]] for validated gameplay keys, and [[Scripted camera]] for camera state and lifecycle rules. APIs marked [[:Category:Experimental Lua API|experimental]] may still change while the multiplayer runtime is under active development.</div>
<div style="line-height:1.6;">Browse functions and events by topic above. Each API page identifies its version and execution side. See [[Update 0.1.9]] for the current release and [[Update 0.1.8]] for the previous release. APIs marked [[:Category:Experimental Lua API|experimental]] may change. Historical release notices remain on their dedicated reference pages.</div>
</div>
</div>
</div>
</div>


[[Category:Lua API]]
[[Category:Lua API]]

Latest revision as of 13:30, 20 October 2026


Gothic 1 Remake Multiplayer
G1R:MP Scripting Wiki
Build multiplayer resources and gamemodes with Lua 5.1. This wiki documents the server, client, networking, gameplay, database, and RmlUi APIs exposed by G1R:MP.
Lua 5.1 • server and client resources • authoritative gameplay • RmlUi

Current public release: G1R:MP 0.1.9 / BUILD264 / Protocol 42. Windows client and Windows/Linux dedicated servers are available on the Download page. Update both client and server; Protocol 41 and older cannot join. See Update 0.1.9 for changes and compatibility notes.

New in 0.1.9. See the guides below for APIs, examples and scope.

See each guide for availability, current limits and remaining visual qualification.

Also available from 0.1.9: armor upgrade slots and full sets, with the 26-base catalog, 84-part catalog and eight server Lua functions.


Also available since 0.1.8. Character dimensions for players, NPCs and monsters: six server-side Lua functions, three events and private character-creator examples. Also includes UI rendering fixes and automatic completion of multiplayer loading screens when loading is finished.

Also available (since 0.1.7). Native HUD and menus: 5 client Lua functions and a result event, resource-owned HUD/menu control and multiplayer save/load protection. Built-in game audio: 11 client functions and a result event. Optional server TTS: 33 server functions and 4 events, reusable recordings and remote 3D/NPC speech. English guides: Windows/Linux setup and own/downloaded voice samples and presets. Also: NPC crowd optimizations, melee skill tiers, remote acrobatics, climbing/ladder transitions, torch synchronization, identity accessory and gate-streaming fixes.

Also included (since 0.1.6). Four new server-side functions: custom area notifications and player-owned rideable scavengers. Also includes mounted nameplate/recovery fixes, smoother ordinary doors and pickup performance/animation improvements. See the guides for remaining in-game validation.

Also included (since 0.1.5). NPC combat and scripting, walk/run pursuit, identity, skin colour, tattoos, player weapon modes and events. Also includes crouch synchronization, melee presentation and knockdown recovery improvements.

Also included (since 0.1.4). See MySQL connection recovery, Weapon control, Mouse capture, UpdateCameraPose, Map editor, World objects and 118 player animations for released tools and scripting APIs. Also see WebP images, os.time and remote event security.

Start here
Find the right entry point for your first resource.

Your first server script

The following example welcomes a joining player and places them at an authoritative spawn point:

addEventHandler("onPlayerJoin", root, function(playerId)
    setPlayerName(playerId, "Newcomer")
    spawnPlayer(playerId, 12.0, 24.0, 2.0, 90)
    outputChatBox("Welcome to G1R:MP!", playerId, 225, 195, 110)
end)

See onPlayerJoin, addEventHandler, setPlayerName, spawnPlayer, and outputChatBox for parameter details and additional examples.

Documentation status
Browse functions and events by topic above. Each API page identifies its version and execution side. See Update 0.1.9 for the current release and Update 0.1.8 for the previous release. APIs marked experimental may change. Historical release notices remain on their dedicated reference pages.