FiveM Whitelist — Kompletter Guide (txAdmin, Scripts, DB)
Lerne, wie du eine Whitelist in FiveM einrichtest. Inklusive txAdmin-Konfiguration, Lua-Scripts und Datenbankintegration. Komplettes Tutorial für 2026.

Einführung: Was ist eine FiveM Whitelist?
Eine Whitelist in FiveM ist ein Zugangskontroll-Mechanismus, der den Server-Zutritt auf vorab genehmigte Spieler beschränkt, die anhand ihrer eindeutigen Bezeichner (Rockstar License, Steam ID, Discord ID usw.) überprüft werden. Im Folgenden findest du einen produktionsreifen Guide, der txAdmins eingebaute Whitelist, Script-Muster, Datenbankspeicherung und Zuverlässigkeitshinweise abdeckt.
TL;DR Optionen-Matrix
Modus | Wo einrichten | Was geprüft wird | Ideal für | Hinweise
--- | --- | --- | --- | ---
Approved License | txAdmin → Settings → Player Manager → Whitelist Mode | license: (Rockstar) | Die meisten Server | Einfach, zuverlässig; manuelle oder Vorvorab-Genehmigungen unterstützt
Discord Member | txAdmin (Discord verknüpft) | discord: ist Guild-Mitglied | Discord-zentrierte Communities | Nicht-Discord-Nutzer werden blockiert
Discord Role | txAdmin (Discord verknüpft) | discord: hat spezifische Rolle | Rollengesteuerter Zugang (Spender, Staff) | Mit Rollenautomatisierungen kombinieren
Admin-only | txAdmin | Nur Admins | Wartungs-/Entwicklungsnächte | Sperrt effektiv Server, nicht empfohlen
Custom Script | Lua/JS-Ressource | Beliebige Bezeichner | Granulare Regeln & UX | Braucht Code + Wartung
Empfehlung: Verwende Approved License als Basis (jeder hat eine Rockstar-License), dann füge Discord Role als extra Gate für besondere Stufen hinzu.
Whitelist in txAdmin aktivieren & betreiben
Voraussetzungen
- txAdmin läuft (wird mit FXServer mitgeliefert).
- Für Discord-Modi: Discord-Integration konfiguriert (Bot eingeladen, Guild/Rolle ausgewählt).
Whitelist aktivieren
- txAdmin → Settings → Player Manager öffnen.
- Whitelist Mode auf einen der folgenden setzen: Approved License, Discord Member, Discord Role oder Admin-only.
- Eine Ablehnungsnachricht setzen, z.B.:
Nicht auf der Whitelist. Bewerbe dich unter discord.gg/deineinvite - Speichern.
Spieler genehmigen (zwei Flows)
- Passiv (Queue): Wenn ein nicht genehmigter Spieler versucht beizutreten, erscheint eine Anfrage unter Whitelist. Mit einem Klick genehmigen/ablehnen.
- Aktiv (Vor-Genehmigung): Gehe zu Whitelist → Add Approval und füge einen Bezeichner im Format
typ:wertein, z.B.license:110000112345678steam:11000010abcdef0discord:123456789012345678
Tipps
- license: Bezeichner für den Basiszugang bevorzugen (universell vorhanden).
- Die Ablehnungsnachricht umsetzbar gestalten (Discord-Link + grundlegende Regeln + Ticket-CTA).
- Für Staff/Devs Anforderungen stapeln: z.B. muss
license+discord rolehaben.
Technische Implementierungsdetails
Whitelists laufen während der Connection Deferral-Phase. Der Server prüft den Bezeichner-Satz des Spielers und akzeptiert oder lehnt ab, bevor Ressourcen laden. Das hält die Last gering und blockiert nicht genehmigte Spieler früh.
Bezeichner-Typen (Zuverlässigkeit)
license:(Rockstar) — stabil, an Spielkauf gebunden; empfohlener primärer Schlüssel.steam:— nur vorhanden, wenn Steam läuft; kann fehlen, wenn Spieler Steam nicht nutzen.discord:— nur vorhanden, wenn Discord läuft und dein Server es liest.ip:— dynamisch; für Telemetrie/Rate-Limit verwenden, nicht für Identität.
Minimales Whitelist-Script (deferrals UX + Multi-ID)
-- Ressource: simple-whitelist
local STATIC_WHITELIST = {
["license:110000112345678"] = true,
["steam:11000010abcdef0"] = true,
["discord:123456789012345678"] = true,
}
local function collectIdentifiers(src)
local ids = {}
for _, id in ipairs(GetPlayerIdentifiers(src)) do ids[id] = true end
return ids
end
AddEventHandler("playerConnecting", function(name, setKickReason, deferrals)
local src = source
deferrals.defer()
deferrals.update(("Whitelist wird für %s geprüft..."):format(name))
local ids = collectIdentifiers(src)
-- Mindestens eine Rockstar-License in allen Fällen erfordern
local hasLicense = false
for id, _ in pairs(ids) do
if id:sub(1, 8) == "license:" then hasLicense = true break end
end
if not hasLicense then
return deferrals.done("Du musst das Spiel normal starten (Rockstar-License fehlt). Neustart und erneut versuchen.")
end
-- Statische Allowlist schneller Weg
for id, _ in pairs(ids) do
if STATIC_WHITELIST[id] then
return deferrals.done()
end
end
-- Fallback: nicht genehmigt
return deferrals.done("Nicht auf der Whitelist. Bewerbe dich unter discord.gg/deineinvite")
end)
Verwende deferrals.update, um Fortschrittsmeldungen anzuzeigen, während du IDs und/oder eine Datenbank prüfst. Das reduziert falsche „Timeout"-Meldungen.
Datenbankgestützte Whitelist (oxmysql, produktionsreif)
Schema
CREATE TABLE IF NOT EXISTS whitelist (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
identifier VARCHAR(64) NOT NULL,
note VARCHAR(120) NULL,
added_by VARCHAR(64) NULL,
added_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY u_identifier (identifier)
);
Server-seitige Prüfung (oxmysql)
AddEventHandler('playerConnecting', function(name, setKickReason, deferrals)
local src = source
deferrals.defer()
deferrals.update('Whitelist wird verifiziert...')
local ids = {}
for _, id in ipairs(GetPlayerIdentifiers(src)) do table.insert(ids, id) end
local rowCount = MySQL.scalar.await(
'SELECT COUNT(*) FROM whitelist WHERE identifier IN (?)',
{ ids }
)
if rowCount and rowCount > 0 then
return deferrals.done()
else
return deferrals.done('Zugang verweigert. Bewerbe dich unter discord.gg/deineinvite')
end
end)
Admin QoL-Befehle
RegisterCommand('wladd', function(src, args)
if src ~= 0 then return end -- nur Konsole zur Vereinfachung
local identifier = args[1]
if not identifier or not identifier:find(':') then
print('Verwendung: wladd bezeichnerTyp:bezeichnerWert')
return
end
local ok = MySQL.prepare.await('INSERT IGNORE INTO whitelist (identifier,note,added_by) VALUES (?, ?, ?)', {
identifier, 'manuell hinzugefügt', 'konsole'
})
print(ok and ('Whitelisted: %s'):format(identifier) or 'Hinzufügen fehlgeschlagen')
end, true)
Discord als Whitelist verwenden (ohne benutzerdefinierten Code)
Wenn deine Community auf Discord läuft, verwende txAdmins Discord Member oder Discord Role Modi:
- txAdmin mit deiner Discord-Guild verknüpfen.
- Discord Member wählen, um jedem Guild-Mitglied Zugang zu ermöglichen, oder Discord Role um nach einer spezifischen Rolle zu filtern (z.B.
@Whitelisted). - Approved License als zweites Gate beibehalten, wenn du beide Bedingungen willst.
Best Practice: Einen #whitelist-anfragen-Kanal + leichtes Formular pflegen. Rollenzuweisung nach Genehmigung über einen Bot oder Moderations-Flow automatisieren.
Fehlerbehebung & Fallstricke
- Spieler erscheint nicht in txAdmin-Anfragen: Stelle sicher, dass die Whitelist im korrekten Profil aktiviert ist; prüfe, ob der Spieler wirklich die Deferral-Phase erreicht hat (txAdmin Live-Konsole beobachten).
- Steam ID fehlt: Steam muss laufen; keyre Whitelist nicht allein auf
steam:. Bevorzugelicense:. - Discord ID fehlt: Nutzer muss Discord laufen haben und dein Server muss so eingerichtet sein, dass er
discord:liest. - Deferral-Timeouts: Rufe immer
deferrals.update(...)auf, während du auf DB wartest; innerhalb von ~10-15 Sekunden antworten. - Falsches Bezeichner-Format: Stelle sicher, dass du
typ:wertgenau einfügst (Kleinbuchstaben-Typ, Doppelpunkt-Trennzeichen).
SEO FAQ
Was ist der beste Bezeichner für FiveM-Whitelist?
Die Rockstar license: ist am universellsten und zuverlässigsten; verwende sie als primären Schlüssel.
Kann ich ohne Coding mit Discord whitelisten? Ja. txAdmin unterstützt Discord Member und Discord Role Whitelist-Modi, sobald Discord verknüpft ist.
Brauche ich Steam für die Whitelist?
Nein. Viele Spieler nutzen kein Steam; vermeide es, steam: für den Basiszugang verpflichtend zu machen.
Kann ich mehrere Prüfungen kombinieren (z.B. License + Discord-Rolle)? Ja. Verwende den txAdmin Rollen-Modus und behalte eine License-Prüfung in deinem Custom-Script oder Zulassungsflow.
Wie genehmige ich Spieler vorab?
txAdmin → Whitelist → Add Approval, bezeichnerTyp:bezeichner einfügen (z.B. license:...).
Fazit
Eine FiveM-Whitelist validiert Spieler-Bezeichner während der Connection-Deferral-Phase und blockiert nicht genehmigte Nutzer, bevor Ressourcen laden. Für die meisten Server Approved License in txAdmin aktivieren, optional Discord Role für Community-Gating hinzufügen und eine DB-gestützte Liste mit Caching für größere Skalierung verwenden.

