Publiek: FiveM servereigenaren & ontwikkelaars
Moeilijkheidsgraad: Makkelijk → Gemiddeld
Resultaat: Op rollen gebaseerde toestemmingslijst met Discord-rollen (met optionele zwarte lijst), minimaal onderhoud, duidelijke feedback voor spelers.
Opmerking over versies: De open‑source repo
FAXES/DiscordWhitelistwordt door de community onderhouden en is voor het laatst bijgewerkt in 2022. Het werkt nog voor veel servers. Er bestaat een onderhouden commerciële versie; als je ondersteuning\/SLA nodig hebt, overweeg deze dan. Deze handleiding behandelt de gratis GitHub-versie.
TL;DR
- Maak een Discord Bot → inschakelen Server Members Intent → nodig het uit naar je Discord.
- Kopieer je Gilde (Server) ID En Rol-ID('s).
- Downloaden: FAXES\/DiscordWhitelist op GitHub → plaats het in
resources/→ configureerserver.js. - Toevoegen
ensure DiscordWhitelistnaarserver.cfg(of start in txAdmin). - Test: join zonder de rol (geblokkeerd) → voeg rol toe → opnieuw joinen (toegestaan).
Gerelateerde tutorials:
• FiveM Whitelist — Volledige Gids (txAdmin, Scripts, DB)
• Hoe maak je Discord-donatieniveaus
Waarom op Discord gebaseerde whitelisting?
- Dynamisch: Toegang verlenen\/weigeren door een Discord-rol toe te voegen\/te verwijderen—geen ACE- of DB-bewerkingen.
- Schaalbaar: Mods kunnen toegang beheren vanuit Discord op mobiel.
- Controleerbaar: Rolgeschiedenis + moderatielogs tonen wie wie heeft toegestaan.
Voorwaarden
- Een Discord-server (u bent Admin\/Eigenaar).
- FiveM-server met txAdmin of handmatige bediening.
- Spelers moeten de Discord desktop-app draaiende bij het verbinden (zodat FiveM een
discord:identificatie).
Stap 1 — Maak een Discord Bot & Schakel Intents in
- Ga naar de Discord Ontwikkelaarsportaal → Nieuwe Applicatie → noem het (bijv.,
FiveMX Whitelist Bot). - Voeg een Bot toe (Bot tabblad) → Token resetten → kopieer de Bot-token (bewaar het veilig).
- Onder Privileged Gateway Intents, schakel in Server Members Intent. (Aanwezigheidsintentie is niet vereist.)
- Nodig de Bot uit naar je Discord: OAuth2 → URL Generator → Scopes:
bot; Permissies: minimaal (kan geen zijn behalve joinen). Gebruik de gegenereerde URL en voeg deze toe aan je guild.
Beveiliging: Behandel de Bot Token als een wachtwoord. Doe niet het niet in Git of deel het in screenshots. Roteer indien gelekt.
Stap 2 — Verkrijg je ID's (Guild & Rollen)
- In Discord → Gebruikersinstellingen → Geavanceerd → Ontwikkelaarsmodus: AAN.
- Rechtsklik op je servernaam → Kopieer Server-ID.
- Serverinstellingen → Rollen → rechtsklik op de rol die je als whitelist gebruikt (bijv.,
Whitelisted) → Kopieer Rol-ID. - (Optioneel) Kopieer ID's voor rollen die je wilt blacklisten (bijv.,
Banned).
Houd deze bij de hand:
GUILD_ID = 123456789012345678WHITELIST_ROLE_IDS = ["111111111111111111", "222222222222222222"]BLACKLIST_ROLE_IDS = ["333333333333333333"]
Stap 3 — Download en installeer de resource
- Downloaden de ZIP van FAXES\/DiscordWhitelist (GitHub).
- Pak uit naar je server op:
resources/[discord]/DiscordWhitelist - Controleer of de map ten minste bevat:
fxmanifest.luaserver.jspackage.json
server.cfg (of txAdmin Recept \/ Opstarten):
# Start after your identifier providers and before join‑logic that depends on it ensure DiscordWhitelist
In txAdmin → Resources, markeer DiscordWhitelist om bij opstarten te starten (als je resources beheert via UI).
Plan je toegangsstrategie? Lees onze uitgebreidere gids: FiveM Whitelist — Volledige Gids (txAdmin, Scripts, DB) voor alternatieven (ACE, DB, hybride) en wanneer je ze gebruikt.
Stap 4 — Configureren server.js
Open resources/[discord]/DiscordWhitelist/server.js en stel het config-blok in. Het bestand kan al een eenvoudig config-object bevatten—pas de waarden hierop aan. Een typische configuratie ziet er zo uit:
// DiscordWhitelist configuration — example
const config = {
botToken: "PASTE_YOUR_DISCORD_BOT_TOKEN_HERE",
guildId: "123456789012345678", // Your server (guild) ID
// Players must have at least ONE of these role IDs to join
whitelistRoles: [
"111111111111111111", // Whitelisted
// "222222222222222222", // Staff (optional)
],
// If a player has ANY of these roles, reject the connection
blacklistRoles: [
// "333333333333333333", // Banned
],
// Cache fetched role data to reduce Discord API calls (seconds)
cacheMaxTime: 90,
// Deferral messages
messages: {
noDiscord: "Open Discord and rejoin. Your Discord app must be running.",
notWhitelisted: "You are not whitelisted. Join our Discord: discord.gg/yourinvite",
blacklisted: "Access denied. Please contact staff.",
welcome: "Welcome — you are verified. Loading…"
},
};
Monetiseringstip: Als je server perks gebruikt, combineer dit met Discord Donatieniveaus om rolgebaseerde voordelen voor supporters\/donateurs te automatiseren.
Sla het bestand op.
Stap 5 — Herstart & Test
- Herstart alleen de resource of de hele server:
txAdmin → Restart resourceof consolerefreshdanrestart DiscordWhitelist. - Negatieve test: Probeer verbinding te maken zonder de whitelist-rol → je zou het uitstelbericht moeten zien en worden gekickt.
- Positieve test: Ken jezelf de whitelist-rol toe → opnieuw verbinden → je zou toegang moeten krijgen.
Optioneel: Meerdere rollen & staff-bypass
- Toevoegen meerdere whitelist-rollen om meerdere trechters toe te staan (bijv.,
Donator,Police,EMS). - Toevoegen blacklist-rollen voor harde blokkades ongeacht whitelist (bijv.,
Banned). - Je kunt een staff-rol in
whitelistRolesom toegang voor admins te verifiëren.
Operationele tips
- Automatisering: Koppel de roltoewijzing van Discord aan je aanvraagformulieren of ticketgoedkeuringen (bijv., met een bot, Google Forms → webhook → rol toevoegen).
- Speler UX: Pin een
#how-to-whitelistbericht met ✅ rolvereisten en jouw server-uitnodiging. - Moderatie: Log rolwijzigingen in een privé
#mod-logskanaal.
Probleemoplossing
“Bot offline” of rollen worden nooit bijgewerkt
- Token verkeerd of bot niet uitgenodigd voor de juiste guild.
- Server Members Intent niet ingeschakeld.
- Firewall blokkeert uitgaande HTTPS van je game host (sta Discord API toe).
“Geen Discord-identificatie gevonden” \/ iedereen geblokkeerd
- Spelers moeten de Discord desktop app voordat ze FiveM starten. Vraag hen om Discord opnieuw te starten, daarna FiveM.
Rolwijzigingen worden pas toegepast na een herstart
- Verminder
cacheMaxTimetot 30–60 seconden. - Als je het extreem laag instelt en nog steeds vertragingen ziet, controleer dan de snelheidslimieten en vermijd veelvuldig herstarten.
403\/Permissions-fout bij ophalen van guild-leden
- Zorg ervoor dat de bot in de doel-guild is En Server Members Intent is ingeschakeld.
- De bot doet niet heb Admin-permissies nodig om ledenrollen te lezen.
Hoog API-gebruik / rate limiting
- Verhogen
cacheMaxTime. Vermijd massaal schoppen/herstarten dat API aanroepen spam.
Beveiligingsaanbevelingen
- Sla de Bot-token buiten versiebeheer. Als je configuraties zelf host, overweeg dan om ze uit een omgevingsvariabele of server.cfg convar te lezen, niet in platte tekst die aan Git is toegevoegd.
- Draaien de token als deze wordt gelekt.
- Beperk wie schrijftoegang heeft tot de resource.
Verwijderen / Uitschakelen
- Verwijderen
ensure DiscordWhitelistvanserver.cfg(of uitschakelen in txAdmin → Resources). - Verwijder de map uit
resources/als je het buiten gebruik stelt.
FAQ
Moeten spelers Discord draaien?
Ja. Zonder de discord: identifier, kan het script geen rollen verifiëren.
Welke intenties heb ik nodig?
Alleen Server Members Intent.
Kan ik meerdere whitelist-rollen gebruiken?
Ja. Toegang wordt verleend als de gebruiker de elk van de vermelde rollen.
Kan ik bepaalde rollen hard weigeren?
Ja. Voeg ze toe aan blacklistRoles.
Het werkte niet meer nadat ik van rol veranderde.
Lager cacheMaxTime, test dan opnieuw. Zorg ervoor dat de bot online is met het juiste token en de juiste guild.
Is er een onderhouden versie?
Ja. Er bestaat een commerciële, actief onderhouden editie als u updates/ondersteuning nodig heeft.
Bijlage — Voorbeeld server.cfg
# Discord whitelist ensure DiscordWhitelist # (Optional) put related Discord resources here as a block # ensure discord_perms # ensure discordrolesync
Bijlage — Voorbeeld van spelersberichten (uitstel)
Houd berichten kort en actiegericht:
messages: {
noDiscord: "Open Discord and rejoin. Your Discord app must be running.",
notWhitelisted: "Not whitelisted. Apply in #how-to-whitelist → discord.gg/yourinvite",
blacklisted: "Access denied. Contact staff via ticket.",
welcome: "Verified — loading city…"
}
Changelog (voor de editor)
- v1.1 — Natuurlijke interne links toegevoegd naar Donation Tiers, FiveM Whitelist Complete Guide, en GitHub download.
- v1.0 — Initiële gids: botcreatie, intents, ID's, installatie, configuratie, testen, FAQ.
