# onPlayerQuit (Server)

> Fired when a player leaves the server, before their element is destroyed.

- **Platform**: MY Multiplayer (MYMP)
- **Kind**: Lua Event
- **Side**: Server
- **Category**: Players and accounts
- **URL**: https://wiki.mymp.gg/en/onPlayerQuit

## Syntax

```lua
addEventHandler("onPlayerQuit", root, function(string reason) ... end)
```

## Handler parameters

| Name | Type | Description |
| --- | --- | --- |
| `reason` | `string` | Why they left, for example `"requested"`, `"timeout"`, `"kicked"`, `"crashed"`, `"process killed"`, `"signed in elsewhere"`, `"shutting down"`. `"requested"` is when they left on their own. |

## Source

The player that left.

## Example

```lua
addEventHandler("onPlayerQuit", root, function(reason)
    outputServerLog(getPlayerName(source) .. " left (" .. reason .. ")")
end)
```

### Note

A player removed with `kickPlayer` leaves with `"kicked"`: the reason given to `kickPlayer` does not reach this event.

## See also

- [onPlayerJoin (Server)](https://wiki.mymp.gg/en/onPlayerJoin.md): Fired when a player has finished joining and has received the server's initial state.
- [kickPlayer (Server)](https://wiki.mymp.gg/en/kickPlayer.md): Disconnects a player from the server with a reason.
- [onElementDestroy (Server)](https://wiki.mymp.gg/en/onElementDestroy.md): Fired when an element is about to be destroyed, while it still exists.
