Pubblico: Proprietari e sviluppatori di server FiveM
Difficoltà: Facile → Intermedio
Risultato: Elenco consentito basato sui ruoli tramite i ruoli Discord (con blacklist facoltativa), manutenzione minima, feedback chiaro per i giocatori.
Nota sulle versioni: Il repository open source
FAXES/DiscordWhitelistÈ gestito dalla community e aggiornato l'ultima volta nel 2022. Funziona ancora su molti server. Esiste una versione commerciale mantenuta; se hai bisogno di supporto/SLA, prendila in considerazione. Questa guida riguarda la versione gratuita GitHub.
In breve
- Crea un Discord Bot → abilita Intento dei membri del server → invitalo sul tuo Discord.
- Copia il tuo ID gilda (server) E ID ruolo.
- Scaricamento: FAX/DiscordWhitelist su GitHub → mettilo dentro
resources/→ configurareserver.js. - Aggiungere
ensure DiscordWhitelistAserver.cfg(oppure avviare in txAdmin). - Test: unisciti senza ruolo (bloccato) → aggiungi ruolo → unisciti nuovamente (consentito).
Tutorial correlati:
• FiveM Whitelist — Guida completa (txAdmin, script, DB)
• Come creare livelli di donazione su Discord
Perché la whitelist basata su Discord?
- Dinamico: Concedi/nega l'accesso aggiungendo/rimuovendo un ruolo Discord, senza modifiche ACE o DB.
- Scalabile: I moderatori possono gestire l'accesso da Discord sui dispositivi mobili.
- Verificabile: La cronologia dei ruoli + i registri di moderazione mostrano chi ha consentito a chi.
Prerequisiti
- Un server Discord (sei amministratore/proprietario).
- Server FiveM con txAdmin o controllo manuale.
- I giocatori devono avere il Applicazione desktop Discord in esecuzione quando ci si connette (quindi FiveM espone un
discord:identificatore).
Passaggio 1: crea un bot Discord e abilita gli intenti
- Vai al Portale per sviluppatori Discord → Nuova applicazione → nominarlo (ad esempio,
FiveMX Whitelist Bot). - Aggiungi un bot (Scheda Bot) → Reimposta token → copia il Token del bot (conservarlo in modo sicuro).
- Sotto Intenti del gateway privilegiato, abilitare Intento dei membri del server(Non è richiesta l'intenzione di presenza.)
- Invita il bot sul tuo Discord: OAuth2 → Generatore URL → Ambiti:
bot; Permessi: minimi (nessuno può essere oltre l'iscrizione). Utilizza l'URL generato e aggiungilo alla tua gilda.
Sicurezza: Tratta il token del bot come una password. Fai non Invialo su Git o condividilo tramite screenshot. Ruotalo se trapelato.
Fase 2: Ottieni i tuoi ID (Gilda e Ruoli)
- Su Discord → Impostazioni utente → Avanzate → Modalità sviluppatore: SU.
- Fai clic con il pulsante destro del mouse nome del server → Copia ID server.
- Impostazioni server → Ruoli → fai clic con il pulsante destro del mouse sul ruolo che utilizzerai come whitelist (ad esempio,
Whitelisted) → Copia ID ruolo. - (Facoltativo) Copia gli ID per tutti i ruoli che desideri lista nera (per esempio,
Banned).
Tieni a portata di mano:
GUILD_ID = 123456789012345678WHITELIST_ROLE_IDS = ["111111111111111111", "222222222222222222"]BLACKLIST_ROLE_IDS = ["333333333333333333"]
Passaggio 3: scarica e installa la risorsa
- Scaricamento il codice postale da FAX/DiscordWhitelist (GitHub).
- Estrai sul tuo server all'indirizzo:
resources/[discord]/DiscordWhitelist - Verificare che la cartella contenga almeno:
fxmanifest.luaserver.jspackage.json
server.cfg (o txAdmin Ricetta / Avvio):
# Start after your identifier providers and before join‑logic that depends on it ensure DiscordWhitelist
In txAdmin → Risorse, segno DiscordWhitelist per avviarsi all'avvio (se si gestiscono le risorse tramite interfaccia utente).
Stai pianificando la tua strategia di accesso? Leggi la nostra guida più ampia: FiveM Whitelist — Guida completa (txAdmin, script, DB) per le alternative (ACE, DB, ibrido) e quando utilizzarle.
Passaggio 4: configurazione server.js
Aprire resources/[discord]/DiscordWhitelist/server.js e imposta il blocco di configurazione. Il file potrebbe già esporre un semplice oggetto di configurazione: regola i valori di conseguenza. Una configurazione tipica è la seguente:
// 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…"
},
};
Suggerimento per la monetizzazione: Se il tuo server utilizza vantaggi, abbinalo a Livelli di donazione Discord per automatizzare i vantaggi basati sui ruoli per i sostenitori/donatori.
Salva il file.
Passaggio 5: riavvia e testa
- Ricomincia solo la risorsa o l'intero server:
txAdmin → Restart resourceo consolerefreshPoirestart DiscordWhitelist. - Test negativo: Prova a connetterti senza ruolo whitelist → dovresti vedere il messaggio di rinvio ed essere espulso.
- Test positivo: Concediti il ruolo di whitelist → riconnettiti → dovresti essere autorizzato ad entrare.
Facoltativo: ruoli multipli e bypass del personale
- Aggiungere diversi ruoli nella whitelist per consentire più imbuti (ad esempio,
Donator,Police,EMS). - Aggiungere ruoli nella lista nera per blocchi rigidi indipendentemente dalla whitelist (ad esempio,
Banned). - Puoi includere un ruolo del personale In
whitelistRolesper verificare l'accesso per gli amministratori.
Suggerimenti operativi
- Automazione: Collega l'assegnazione del ruolo Discord al tuo moduli di domanda O approvazioni dei biglietti (ad esempio, con un bot, Google Forms → webhook → aggiunta ruolo).
- UX del lettore: Aggiungi un pin
#how-to-whitelistPubblica con ✅ requisiti di ruolo e il tuo invito al server. - Moderazione: Registra le modifiche di ruolo in un privato
#mod-logscanale.
Risoluzione dei problemi
"Bot offline" o non aggiorna mai i ruoli
- Token errato o bot non invitato alla gilda corretta.
- Intento dei membri del server non abilitato.
- Il firewall blocca l'HTTPS in uscita dal tuo host di gioco (consente l'API Discord).
"Nessun identificatore Discord trovato" / tutti bloccati
- I giocatori devono eseguire il Applicazione desktop Discord Prima di avviare FiveM, chiedi loro di riavviare Discord e poi FiveM.
Le modifiche al ruolo si applicano solo dopo un riavvio
- Ridurre
cacheMaxTimea 30–60 secondi. - Se imposti un valore molto basso e continui a riscontrare ritardi, controlla i limiti di velocità ed evita di riavviare frequentemente.
Errore 403/Permessi durante il recupero dei membri della gilda
- Assicurati che il bot sia nella gilda di destinazione E L'intento dei membri del server è abilitato.
- Il bot fa non sono necessari permessi di amministratore per leggere i ruoli dei membri.
Elevato utilizzo dell'API/limitazione della velocità
- Aumento
cacheMaxTimeEvita espulsioni/riavvii di massa che invadono le chiamate API.
Migliori pratiche di sicurezza
- Conservare il Token del bot Al di fuori del controllo di versione. Se si ospitano autonomamente le configurazioni, si consiglia di leggerle da una variabile d'ambiente o da una convar server.cfg, non in testo normale inviato a Git.
- Ruotare il token se trapelato.
- Limita chi ha accesso in scrittura alla risorsa.
Disinstalla / Disabilita
- Rimuovere
ensure DiscordWhitelistdaserver.cfg(o disattivarlo in txAdmin → Risorse). - Rimuovi la cartella da
resources/se lo stai dismettendo.
Domande frequenti
I giocatori hanno bisogno che Discord sia attivo?
Sì. Senza il discord: identificatore, lo script non può verificare i ruoli.
Di quali intenti ho bisogno?
Soltanto Intento dei membri del server.
Posso utilizzare più ruoli whitelist?
Sì. L'accesso è concesso se l'utente ha Qualunque dei ruoli elencati.
Posso negare categoricamente determinati ruoli?
Sì. Aggiungili a blacklistRoles.
Ha smesso di funzionare dopo che ho cambiato ruolo.
Inferiore cacheMaxTime, quindi esegui nuovamente il test. Assicurati che il bot sia online con il token e la gilda corretti.
Esiste una versione mantenuta?
Sì. Esiste un'edizione commerciale, mantenuta attivamente, se hai bisogno di aggiornamenti/supporto.
Appendice — Esempio server.cfg
# Discord whitelist ensure DiscordWhitelist # (Optional) put related Discord resources here as a block # ensure discord_perms # ensure discordrolesync
Appendice — Esempio di messaggio al giocatore (rinvii)
Mantieni i messaggi brevi e concreti:
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 (rivolto all'editor)
- v1.1 — Aggiunti link interni naturali ai livelli di donazione, alla guida completa alla whitelist di FiveM e al download di GitHub.
- v1.0 — Guida iniziale: creazione del bot, intenti, ID, installazione, configurazione, test, FAQ.
