Discord-Webhooks einrichten
Nexus-Events (Bans, Reports, Tickets, Server-Status …) landen in Sekunden in eurem Discord – ohne Bot, ohne Plugin.
Schritte
- Discord: Servereinstellungen → Integrationen → Webhooks → Neuer Webhook → Kanal wählen → Webhook-URL kopieren.
- ACP: Sidebar → Webhooks → Webhook anlegen:
- Name: z. B.
#mod-log - URL: die kopierte Discord-URL
- Format:
Discord - Event-Filter: z. B.
ban.*(nur Strafen),report.created(neue Reports) oder*(alles)
- Name: z. B.
- Testen klicken – im Kanal erscheint sofort ein Test-Embed.
Fertig. Änderungen wirken ohne Neustart; fehlgeschlagene Zustellungen werden mit Backoff wiederholt, der letzte Fehler ist am Webhook sichtbar.
Eigene Systeme (Format GENERIC)
GENERIC sendet das rohe Event als JSON-POST:
{ "type": "ban.created", "data": { "playerId": "…", "type": "BAN", "reason": "…" }, "at": "2026-06-11T12:00:00Z" }
Mit gesetztem Secret wird jeder Request signiert:
X-Nexus-Signature: sha256=<hex(hmac_sha256(secret, body))>
Empfänger sollten die Signatur prüfen, bevor sie den Payload verarbeiten. Alles, was hier möglich ist, geht auch per API (/api/v1/webhooks, Scope core.webhook.manage) – z. B. für GitOps-Provisionierung.
Welche Events gibt es?
Die wichtigsten: player.join, player.quit, server.online, server.offline, ban.created, ban.revoked, ban.expired, ban.appeal.created, report.created, report.claimed, report.resolved, ticket.created, ticket.updated, ticket.closed, chatguard.flagged, module.enabled, module.disabled, config.changed. Filter unterstützen Wildcards mit .*-Suffix.