Connection Events
playerConnecting
Triggered when a player is attempting to connect to the server. Parameters:name(string) - Player’s namedeferrals(Deferrals) - Deferrals object for async connection handling
server/events.lua:78
- Server closed status
- License validation
- Duplicate license detection
- Ban status
- Whitelist verification
- Database user creation
- Queue system integration
playerJoining
Triggered when a player is joining the server (before fully connected). Handled by:server/events.lua:20
- Removes player from queue
- Checks for duplicate licenses
- Marks license as in use
playerDropped
Triggered when a player disconnects from the server. Parameters:reason(string) - Disconnect reason
server/events.lua:37
- Clears used license
- Updates global player count
- Saves player data
- Logs disconnect to webhook
- Cleans up routing bucket data
Player Lifecycle Events
QBCore:Server:PlayerLoaded
Triggered when a player successfully loads into the server. Parameters:Player(table) - The player object
server/player.lua:1033
QBCore:Server:OnPlayerLoaded
Client-side sync event when player loads. Handled by:server/events.lua:189
Triggers:
- Sets player state
isLoggedIntotrue
QBCore:Server:OnPlayerUnload
Triggered when a player is being unloaded/logged out. Parameters:source(Source) - Player server ID
server/events.lua:194
- Sets player state
isLoggedIntofalse
qbx_core:server:playerLoggedOut
Triggered after a player has fully logged out. Parameters:source(Source) - Player server ID
server/player.lua:727
Job & Gang Events
QBCore:Server:OnJobUpdate
Triggered when a player’s job is updated. Parameters:source(Source) - Player server IDjob(PlayerJob) - New job data
server/player.lua:211, server/player.lua:979
QBCore:Server:OnGangUpdate
Triggered when a player’s gang is updated. Parameters:source(Source) - Player server IDgang(PlayerGang) - New gang data
server/player.lua:435, server/player.lua:1019
qbx_core:server:onGroupUpdate
Triggered when a player is added to or removed from a job/gang. Parameters:source(Source) - Player server IDgroupName(string) - Job or gang namegrade(integer | nil) - Grade if added,nilif removed
server/player.lua:277, server/player.lua:331, server/player.lua:500, server/player.lua:563
QBCore:Server:SetDuty
Triggered when a player’s duty status changes. Parameters:source(Source) - Player server IDonDuty(boolean) - New duty status
server/player.lua:144
QBCore:ToggleDuty
Player triggered event to toggle their duty status. Handled by:server/events.lua:228
Money Events
QBCore:Server:OnMoneyChange
Triggered when a player’s money changes. Parameters:source(Source) - Player server IDmoneyType(MoneyType) - Type of money (cash,bank,crypto)amount(number) - Amount changedactionType(string) -'add','remove', or'set'reason(string) - Reason for the change
server/player.lua:1243, server/player.lua:1355, server/player.lua:1408
Metadata Events
qbx_core:server:onSetMetaData
Triggered when player metadata is updated. Parameters:metadata(string) - Metadata field nameoldValue(any) - Previous valuevalue(any) - New valuesource(Source) - Player server ID
server/player.lua:1162
Permission Events
QBCore:Server:OnPermissionUpdate
Triggered when a player’s permissions are updated. Parameters:source(Source) - Player server ID
server/functions.lua:260, server/functions.lua:277, server/functions.lua:292
Note: This is deprecated. Use ACE permissions instead.
Server Management Events
QBCore:Server:CloseServer
Close the server and kick non-admin players. Parameters:reason(string) - Reason for closing
server/events.lua:201
QBCore:Server:OpenServer
Open the server to allow players to join. Handled by:server/events.lua:217
Chat Events
chatMessage
Triggered when a player sends a chat message. Handled by:server/events.lua:13
- Cancels messages starting with
/(commands)
Resource Events
onResourceStart
Triggered when qbx_core starts. Handled by:server/events.lua:175
- Creates users table in database
- Adds
userIdcolumn to players table
State Bag Handlers
hunger/thirst/stress
State bag change handlers for player needs. Handled by:server/events.lua:256, server/events.lua:261, server/events.lua:266
- Syncs state bag values with player metadata