Join System
Players can join events instantly or through an approval process, with support for paid entry and participant limits.
Join Types
Instant Join
- Player clicks Join and is immediately added as a participant
- For paid events, the entry fee is deducted from the player's bank on join
- No action required from the event creator
Approval-Based Join
- Player clicks Request to Join — a pending request is created
- Event creator sees pending requests in their dashboard
- Creator can approve or reject each request
- Approved players are added as participants (with payment if paid event)
- Rejected players receive a notification
Location Privacy
For approval-based events, the event location is hidden until the player is accepted:
- Unjoined players see "Location Hidden" in place of coordinates
- Once approved and joined, the full location and waypoint feature become available
- This prevents non-participants from showing up to private events
Participant Management
Event creators can manage their participants:
- View all current participants with avatars and names
- Kick participants — removes them from the event with notification
- Monitor participant count vs. maximum capacity
Payment Processing
For paid events:
- Player initiates join (instant) or gets approved (approval-based)
- Server checks if player has enough money in bank
- Entry fee is deducted from the player's bank
- Revenue is recorded in the earnings system with creator/admin split
- Player is added to participants
Configuration
| Option | Default | Description |
|---|---|---|
Config.Features.AllowPaidEvents | true | Allow paid events |
Config.Features.MaxEventPrice | 100000 | Maximum entry fee |
Config.Features.MaxParticipants | 100 | Maximum participants per event (0 = unlimited) |
