Introduction
Server events are the backbone of RSG Framework’s server-side communication system. They allow resources to listen for and respond to player actions, system events, and cross-resource communication.Server events run on the server and can be triggered by clients using
TriggerServerEvent or by other server-side code using TriggerEvent.How It Works
Event Flow
Registering Events
Server events are registered usingRegisterNetEvent:
Core Player Events
RSGCore:Server:OnPlayerLoaded
Triggered when a player successfully loads into the server after character selection.- Initialize player-specific data
- Load custom player stats
- Trigger welcome messages
- Set up player blips/markers
RSGCore:Server:OnPlayerUnload
Triggered when a player logs out or returns to character selection.- Clean up temporary data
- Save custom player stats
- Remove player from active lists
- Stop player-specific threads
Server Management Events
RSGCore:Server:CloseServer
Closes the server to non-whitelisted players with a custom reason.- Emergency maintenance
- Scheduled restarts
- Server events preparation
- Testing with limited players
RSGCore:Server:OpenServer
Reopens the server to all players.Player Data Events
RSGCore:UpdatePlayer
Updates and saves player needs (hunger, thirst, cleanliness).This event is typically called on a timer to gradually decrease player needs over time.
RSGCore:Server:SetMetaData
Sets a specific metadata value for a player with validation.- Restore hunger after eating
- Restore thirst after drinking
- Restore cleanliness after bathing
- Custom metadata updates
Job & Duty Events
RSGCore:ToggleDuty
Toggles a player’s on-duty status for their job.Callback Events
RSGCore:Server:TriggerCallback
Handles server-side callback requests from clients.This is an internal event used by the callback system. Use
RSGCore.Functions.CreateCallback instead of listening to this event directly.Permission Events
RSGCore:Server:GivePermission
Grants a permission level to a player (typically admin/god).RSGCore:Server:RemovePermission
Removes a permission level from a player.Best Practices
1. Always Validate Player
2. Validate Client Input
3. Use Meaningful Event Names
4. Handle Permissions Properly
Common Patterns
Pattern 1: Transaction Event
Pattern 2: Item Give/Take Event
Pattern 3: Proximity Check Event
Troubleshooting
Event Not Triggering
Check event name spelling
Check event name spelling
Make sure the event name matches exactly between client and server
Verify RegisterNetEvent vs AddEventHandler
Verify RegisterNetEvent vs AddEventHandler
Use
RegisterNetEvent for networked events triggered across client/serverCheck if source exists
Check if source exists
Always validate
source exists before using itPlayer Not Found
Permission Denied
Summary
Next Steps
- Client Events - Client-side event reference
- Server Functions - Server function reference
- Callbacks - Learn about the callback system
Need more help? Join the RSG Framework Discord!