OnPlayerQuit: Difference between revisions

From Wiki G1R-MP G1 Remake Multiplayer
Jump to navigation Jump to search
Update Lua event reference
 
Document Lua events available or improved from G1R:MP 0.1.2
 
Line 1: Line 1:
<!-- This page is generated from the verified Lua event definition: onPlayerQuit. -->
= onPlayerQuit =
= onPlayerQuit =
Triggered when a player disconnects or is removed from the server.
<div style="background:#fff5f5; border:1px solid #d13b3b; border-left:5px solid #d13b3b; color:#111111; padding:0.85rem 1rem; margin:0.75rem 0 1rem;">
<div style="color:#111111; font-weight:bold; letter-spacing:0.04em;">IMPROVED FROM UPDATE 0.1.2</div>
<div style="color:#111111; margin-top:0.25rem;">This event is available in earlier releases and has corrected or expanded behavior in G1R:MP 0.1.2 and later. The contract below describes the updated behavior.</div>
</div>
 
Triggered synchronously while an authenticated player's disconnect is being finalized.


== Availability ==
== Availability ==
Line 27: Line 31:


== Notes ==
== Notes ==
* Save authoritative state and clean up player-owned script data in this event.
* The player is already offline for lifecycle and mutation purposes: <code>isPlayerConnected(playerId)</code> returns <code>false</code>, <code>getPlayers()</code> excludes the ID, and player mutators reject it.
* Read-only getters backed by cached authoritative player state remain available only while synchronous <code>onPlayerQuit</code> handlers are running. Read and persist every required final value before the callback returns; deferred work cannot query the removed session.
* Use this event to save final authoritative state and clean up player-owned script data, but do not rely on it as the only crash-safety mechanism. No quit callback is guaranteed if the server process ends in a hard crash or forced termination.


[[Category:Lua Events]]
[[Category:Lua Events]]
[[Category:Server Events]]
[[Category:Server Events]]
[[Category:Player Events]]
[[Category:Player Events]]

Latest revision as of 18:41, 3 September 2026

onPlayerQuit

IMPROVED FROM UPDATE 0.1.2
This event is available in earlier releases and has corrected or expanded behavior in G1R:MP 0.1.2 and later. The contract below describes the updated behavior.

Triggered synchronously while an authenticated player's disconnect is being finalized.

Availability

This event is available in server-side scripts.

Callback signature

onPlayerQuit(playerId)

Parameters

Name Type Description
playerId int The ID of the player that left.

Examples

Handle the event:

addEventHandler("onPlayerQuit", root, function(playerId)
    outputDebugString("Player " .. playerId .. " left")
end)

Notes

  • The player is already offline for lifecycle and mutation purposes: isPlayerConnected(playerId) returns false, getPlayers() excludes the ID, and player mutators reject it.
  • Read-only getters backed by cached authoritative player state remain available only while synchronous onPlayerQuit handlers are running. Read and persist every required final value before the callback returns; deferred work cannot query the removed session.
  • Use this event to save final authoritative state and clean up player-owned script data, but do not rely on it as the only crash-safety mechanism. No quit callback is guaranteed if the server process ends in a hard crash or forced termination.