Nightward

Data processing: what the agent sends to Ward CoreDatenverarbeitung: was der Agent an Ward Core sendet

An honest, field-by-field account of what the FiveM resource and the Minecraft plugin transmit, read directly from the current source. Not a substitute for legal advice.Eine ehrliche, feldgenaue Darstellung dessen, was die FiveM-Ressource und das Minecraft-Plugin übertragen, direkt aus dem aktuellen Quellcode gelesen. Kein Ersatz für Rechtsberatung.

Who processes this, and whereWer verarbeitet das, und wo

Ward Core is self-hosted: a server operator who installs it (see the install guide) runs it on infrastructure of their own choosing. The FiveM resource and the Minecraft plugin send telemetry only to that operator's own Ward Core address, configured by the operator. As shipped, none of it is transmitted to or stored by the sole proprietor behind Nightward.

The one exception is licence validation: the operator's own Ward Core periodically checks its licence key against the central Nightward licence authority, which the sole proprietor does operate. That flow is described separately below and carries no player data.

Ward Core wird selbst betrieben: Eine Serverbetreiberin oder ein Serverbetreiber, die es installieren (siehe die Installationsanleitung), betreiben es auf einer Infrastruktur eigener Wahl. Die FiveM-Ressource und das Minecraft-Plugin senden Telemetrie ausschließlich an die vom Betreiber selbst konfigurierte Ward-Core-Adresse. Im ausgelieferten Zustand gelangt nichts davon an den Einzelunternehmer hinter Nightward oder wird von ihm gespeichert.

Die einzige Ausnahme ist die Lizenzprüfung: Das eigene Ward Core des Betreibers prüft seinen Lizenzschlüssel in regelmäßigen Abständen gegen die zentrale Nightward-Lizenzautorität, die der Einzelunternehmer tatsächlich betreibt. Dieser Ablauf wird unten separat beschrieben und enthält keine Spielerdaten.

Every field the agent sends (11 fields, POST /api/ingest)Jedes vom Agenten gesendete Feld (11 Felder, POST /api/ingest)

Source: nightward-fivem/server/main.lua (flushSrc) and nightward-mc/.../net/Telemetry.java (flush), read 2026-09-11. A separate, more frequent POST /api/hello handshake carries only v, server, game, ts and nonce, an empty batch and no player data; it exists to recheck the licence and mode.Quelle: nightward-fivem/server/main.lua (flushSrc) und nightward-mc/.../net/Telemetry.java (flush), gelesen am 11.09.2026. Ein separater, häufigerer POST /api/hello-Handschlag enthält nur v, server, game, ts und nonce, ein leeres Batch und keine Spielerdaten; er dient der erneuten Prüfung von Lizenz und Modus.

Fields present on every signed telemetry requestFelder in jeder signierten Telemetrie-Anfrage
FieldFeld ValueWert What it isWas es ist
v1Protocol version number.Protokollversionsnummer.
serveroperator-chosen idvom Betreiber gewählte IDThe server id the operator set in their own config; not a player identifier.Die vom Betreiber in der eigenen Konfiguration gesetzte Server-ID; keine Spielerkennung.
gamefivem | minecraftWhich agent sent the batch.Welcher Agent das Batch gesendet hat.
tsunix timestampUnix-ZeitstempelTime of the batch, checked against a 30 second window.Zeitpunkt des Batches, geprüft gegen ein 30-Sekunden-Fenster.
noncerandom tokenZufallstokenOne-time value so a captured request cannot be replayed.Einmalwert, damit eine abgefangene Anfrage nicht wiederholt werden kann.
playerFiveM: the account's license: identifier. Minecraft: the account's Mojang UUID.FiveM: die license:-Kennung des Accounts. Minecraft: die Mojang-UUID des Accounts.A long-lived, pseudonymous identifier tied to the player's game account. Not a real name, email or address.Eine dauerhafte, pseudonyme Kennung des Spiel-Accounts. Kein echter Name, keine E-Mail, keine Anschrift.
namecurrent in-game nameaktueller Ingame-NameThe player's chosen display name at the moment of the flush.Der zum Zeitpunkt der Übertragung gewählte Anzeigename des Spielers.
fingerprintsame value as playeridentisch mit playerReused as the key for the operator's own local ban list.Wird als Schlüssel für die eigene lokale Bannliste des Betreibers wiederverwendet.
batch[].vectorrule name, e.g. fivem.weapon, mc.speedRegelname, z. B. fivem.weapon, mc.speedWhich detection rule fired; the full list is below.Welche Erkennungsregel ausgelöst hat; die vollständige Liste steht unten.
batch[].severity1-3How strongly that one rule fired.Wie stark diese eine Regel ausgelöst hat.
batch[].evidencesmall object, varies by rulekleines Objekt, je nach RegelA handful of numbers or short strings specific to that rule; see the table below.Ein paar Zahlen oder kurze Zeichenketten, spezifisch für diese Regel; siehe Tabelle unten.

Up to 50 flag entries can be queued per player between flushes (a fixed cap in both agents). A batch is only sent when at least one rule has fired; a clean, unflagged player generates no /api/ingest traffic beyond the periodic license/mode handshake.Zwischen zwei Übertragungen können pro Spieler bis zu 50 Meldungen aufgelaufen sein (eine feste Obergrenze in beiden Agenten). Ein Batch wird nur gesendet, wenn mindestens eine Regel ausgelöst hat; ein unauffälliger Spieler erzeugt außer dem regelmäßigen Lizenz-/Modus-Handschlag keinen /api/ingest-Verkehr.

What evidence contains, by ruleWas evidence je Regel enthält

vectorevidence keysevidence-Schlüssel
fivem.weaponweapon, dmg, cap, reason, count
fivem.teleportdist, dtms
fivem.speedspeed
fivem.godmodehp, from, to, kind
fivem.explosiontype, reason, count
fivem.neteventevent, reason
fivem.injectionhits (comma list of suspicious client global names)
fivem.aimmean, var
fivem.heartbeatsilentMs
mc.speedavgBpt, allowed
mc.flyairTicks, dy
mc.nofally (one vertical world coordinate)
mc.reachreach
mc.killauraangle, multiTarget, dtMs
mc.aimpitch, yawMean, yawVar
mc.autoclickcps, stdDevMs
mc.timermovesPerSec

Not sent: chat text, voice audio, screenshots, inventory contents, or a full X/Y/Z position. The single exception is one vertical (Y) coordinate used by the no-fall check.Nicht gesendet: Chattexte, Sprachaudio, Screenshots, Inventarinhalte oder eine vollständige X/Y/Z-Position. Die einzige Ausnahme ist eine einzelne Vertikalkoordinate (Y) für die Sturzflug-Prüfung.

From these fields, the receiving Ward Core additionally computes and stores a running score per detection rule, a total score, and an escalation step (for example observe or watch). None of that is sent by the agent; it is derived, and while the deployment is in detect mode it never authorises an automatic action.Aus diesen Feldern berechnet und speichert das empfangende Ward Core zusätzlich einen laufenden Wert je Erkennungsregel, einen Gesamtwert und eine Eskalationsstufe (zum Beispiel Beobachtung oder Wache). Nichts davon sendet der Agent; es wird abgeleitet und löst im Erkennungsmodus niemals automatisch eine Aktion aus.

The separate licence-validation flowDer separate Ablauf der Lizenzprüfung

The operator's own Ward Core, not the game-server agents, periodically calls the central Nightward licence authority to check its key. Source: ward-core/src/license.js. That request carries:Nicht die Spielserver-Agenten, sondern das eigene Ward Core des Betreibers ruft in regelmäßigen Abständen die zentrale Nightward-Lizenzautorität auf, um den Schlüssel zu prüfen. Quelle: ward-core/src/license.js. Diese Anfrage enthält:

  • the licence key itself,den Lizenzschlüssel selbst,
  • two fixed strings, ward-core-deployment and nightward-ward-core, neither of them a player or a person,zwei feste Zeichenketten, ward-core-deployment und nightward-ward-core, weder Spieler noch Person,
  • and the requesting Ward Core's IP address, read from the connection by the licence authority, used only to enforce that licence's activation limit.sowie die IP-Adresse des anfragenden Ward Core, von der Lizenzautorität aus der Verbindung gelesen, ausschließlich zur Durchsetzung des Aktivierungslimits dieser Lizenz genutzt.

How long it is keptWie lange es aufbewahrt wird

Player telemetry lives entirely on the operator's own Ward Core, in an append-only flags.ndjson log plus a periodically rewritten snapshot.json (current players, servers and bans). Nothing in the code ages out or deletes entries in flags.ndjson; retention there is not enforced in code and is left entirely to the operator. The operator's own admin-token-protected POST /api/admin/clear removes one player's live record from snapshot.json, but does not remove that player's already-written history from flags.ndjson. Ban records have no expiry and no removal route in the current code. The exact mechanics and the per-field retention table are on the retention page, and the one deletion route that exists, with what it does not reach, is on the deletion path page.

Spielertelemetrie liegt vollständig beim eigenen Ward Core des Betreibers, in einem nur anhängenden flags.ndjson-Protokoll sowie einer regelmäßig neu geschriebenen snapshot.json (aktuelle Spieler, Server und Banns). Nichts im Code lässt Einträge in flags.ndjson verfallen oder löscht sie; die Aufbewahrung ist dort nicht im Code durchgesetzt und liegt vollständig beim Betreiber. Das eigene, admin-token-geschützte POST /api/admin/clear des Betreibers entfernt den Live-Datensatz eines Spielers aus snapshot.json, löscht aber nicht dessen bereits geschriebene Historie aus flags.ndjson. Bann-Einträge haben im aktuellen Code weder Ablauf noch Löschweg. Die genaue Mechanik und die Aufbewahrungstabelle je Feld stehen auf der Aufbewahrungsseite, der einzige vorhandene Löschweg samt dem, was er nicht erreicht, auf der Seite zum Löschpfad.

Where it is processedWo es verarbeitet wird

Player telemetry: wherever the operator chooses to run their own Ward Core. We have no visibility into, and make no claim about, that location.

The licence-validation flow above: on the estate's own infrastructure, a node run by Hetzner Online GmbH in Falkenstein, Germany (verified live against the node's public IP on 2026-09-11).

Spielertelemetrie: dort, wo der Betreiber sein eigenes Ward Core betreibt. Wir haben keinen Einblick in diesen Ort und treffen dazu keine Aussage.

Der oben beschriebene Lizenzprüfungs-Ablauf: auf der eigenen Infrastruktur der Unternehmung, einem von der Hetzner Online GmbH in Falkenstein, Deutschland betriebenen Knoten (am 11.09.2026 live anhand der öffentlichen IP-Adresse des Knotens verifiziert).

Legal basis (draft wording)Rechtsgrundlage (Entwurfstext)

Draft, for the owner's and each operator's own legal review. Not legal advice. Because each server operator is the controller for their own players' data, the exact legal basis is their decision, not something this page can set for them. Suggested wording an operator could adapt for their own player-facing notice: "We use server-side anti-cheat monitoring (Nightward) to protect the fairness and security of this server. The gameplay signals listed at [this page's URL] are processed under Art. 6(1)(f) GDPR, our legitimate interest in preventing cheating and keeping the server usable, or under our server rules if you have agreed to those. Monitoring currently only observes: no automatic ban, kick or other action occurs."Entwurf, zur eigenen rechtlichen Prüfung durch den Eigentümer und jeden Betreiber. Keine Rechtsberatung. Da jede Serverbetreiberin oder jeder Serverbetreiber Verantwortlicher für die Daten der eigenen Spieler ist, ist die genaue Rechtsgrundlage ihre eigene Entscheidung und kann nicht von dieser Seite vorgegeben werden. Vorschlag zur Anpassung für einen eigenen spielerseitigen Hinweis: „Wir setzen eine serverseitige Anti-Cheat-Überwachung (Nightward) ein, um Fairness und Sicherheit dieses Servers zu schützen. Die unter [URL dieser Seite] gelisteten Gameplay-Signale werden gemäß Art. 6 Abs. 1 lit. f DSGVO auf Grundlage unseres berechtigten Interesses an der Verhinderung von Cheating und einem nutzbaren Server verarbeitet, oder auf Grundlage unserer Serverregeln, sofern Sie diesen zugestimmt haben. Die Überwachung beobachtet derzeit nur: Es erfolgt kein automatischer Bann, Kick oder sonstiger Eingriff.“

Cloudflare Web Analytics (this website, not Ward Core)Cloudflare Web Analytics (diese Website, nicht Ward Core)

Everything above is about telemetry the FiveM resource and the Minecraft plugin send to a self-hosted Ward Core; it is unaffected by the following. This website, nightward.gg, separately uses Cloudflare Web Analytics, a small measurement script loaded from static.cloudflareinsights.com and operated by Cloudflare, Inc. (101 Townsend St, San Francisco, CA 94107, USA; EU representative: Cloudflare Portugal, Unipessoal Lda.). It sets no cookies and performs no fingerprinting. For each page view it records the URL, referrer, country, browser and device type, and Core Web Vitals timing data, aggregated with no persistent identifier. The legal basis is Art. 6(1)(f) GDPR (legitimate interest in measuring reach and performance). Cloudflare processes this data under its Data Processing Addendum, including the EU Standard Contractual Clauses; see Cloudflare Web Analytics and Cloudflare's privacy policy for details. Because no personal profile is built, there is no opt-out cookie; you can block the script with a content blocker. See the privacy policy for the same statement in the site's general privacy notice.

Alles oben Beschriebene betrifft die Telemetrie, die die FiveM-Ressource und das Minecraft-Plugin an ein selbst betriebenes Ward Core senden; davon ist das Folgende unberührt. Diese Website, nightward.gg, nutzt separat Cloudflare Web Analytics, ein kleines Messskript, das von static.cloudflareinsights.com geladen wird und von Cloudflare, Inc. betrieben wird (101 Townsend St, San Francisco, CA 94107, USA; EU-Vertreter: Cloudflare Portugal, Unipessoal Lda.). Es setzt keine Cookies und führt kein Fingerprinting durch. Je Seitenaufruf werden URL, Referrer, Land, Browser- und Gerätetyp sowie Core-Web-Vitals-Zeitwerte erfasst, aggregiert und ohne dauerhafte Kennung. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an der Reichweiten- und Performance-Messung). Cloudflare verarbeitet dies auf Grundlage seines Auftragsverarbeitungsvertrags einschließlich der EU-Standardvertragsklauseln; Details unter Cloudflare Web Analytics und in der Datenschutzerklärung von Cloudflare. Da kein Nutzerprofil erstellt wird, gibt es kein Opt-out-Cookie; Sie können das Skript mit einem Inhaltsblocker blockieren. Siehe die Datenschutzerklärung für dieselbe Aussage im allgemeinen Datenschutzhinweis der Website.

Deletion requests and contactLöschanträge und Kontakt

Because each Ward Core is self-hosted, only the operator who runs it holds the admin token that can act on a request about a specific player; ask your server operator first. For a request about the licence-validation flow above, the key, the fixed label and the IP address held by the central Nightward licence authority, contact hello@nightward.gg.

Da jedes Ward Core selbst betrieben wird, hält nur die Person, die es betreibt, das Admin-Token, mit dem sich eine Anfrage zu einem bestimmten Spieler bearbeiten lässt; wenden Sie sich zuerst an Ihre Serverbetreiberin oder Ihren Serverbetreiber. Für eine Anfrage zum oben beschriebenen Lizenzprüfungs-Ablauf, den Schlüssel, das feste Label und die bei der zentralen Nightward-Lizenzautorität gehaltene IP-Adresse, kontaktieren Sie hello@nightward.gg.

This page makes no claim about detection accuracy, false-positive rate or production behaviour; see the status page for what is and is not proven.Diese Seite trifft keine Aussage zu Erkennungsgenauigkeit, Fehlalarmquote oder Produktivverhalten; siehe die Statusseite für das, was bewiesen ist und was nicht.