Whitelist
Control exactly who can join your server with a configurable whitelist workflow.
sxPanel's whitelist keeps unwanted players out without the overhead of a separate resource. It runs on the self-contained database and can be managed from the web panel, Discord, or your own scripts via webhooks.
Whitelist workflows
Whitelisting is workflow-based: you configure one or more workflows and pick a single active workflow — only one runs at a time, there is no "stacking" of multiple checks.
| Workflow type | How it works | Best for |
|---|---|---|
| Admin Only | Only registered sxPanel admins can join | Maintenance and staging |
| Discord Member | Player must be a member of your configured Discord server | Community servers |
| Discord Role | Player must hold one of the configured Discord roles | Donators, verified members |
| Manual Review | Players submit an application (optionally via a custom form); an admin approves or denies it, or approves via Discord | Closed betas, curated whitelists |
| External Whitelist | sxPanel does not enforce joins itself — use this with a third-party allowlist resource; it only controls the server-browser padlock icon | Servers with their own whitelist resource |
| Disabled | No whitelist check | Open servers |
Checked once, at connect time
The active workflow is evaluated when a player connects (as part of the connection deferral). Discord Member/Role checks are not re-verified on a schedule afterward — a player who loses the role stays whitelisted until their entry is manually revoked or they reconnect after the change.
There is no standalone "License allow-list" mode anymore. Servers migrating
from the legacy approvedLicense mode are converted to a Manual Review
workflow instead.
Manual Review: forms, deferral cards & schedules
The Manual Review workflow can use a custom application form, and rejected/ pending connections show a customizable deferral card (per-scenario title, body template and branding) instead of a generic disconnect message. You can also restrict when applications can be submitted with a schedule (timezone, open windows, and a "closed" message).
Managing entries
- From the panel — open the Whitelist settings to configure workflows, forms, deferral cards, schedules and webhooks, or manage individual entries and pending applications.
- From Discord — use
/whitelist memberto pre-approve a Discord member, or/whitelist application <id>to approve a pending application by its ID (e.g.R1234). - From scripts — subscribe to
txAdmin:events:whitelistPlayer(fires{ action: 'added' | 'removed', license, playerName, adminName }) via the Events API, or configure a webhook.
Webhooks
Whitelist workflow events (application.created, application.approved,
application.denied, application.withdrawn, entry.granted,
entry.revoked, entry.consumed) can be dispatched to external webhook URLs
configured in the panel's Whitelist settings, so you can sync an external
system without polling.
Next steps
- Enable Discord notifications to get alerted on whitelist changes and join attempts.
- Review permissions to decide which admins can manage the whitelist.