Nohn IT KontaktGespräch vereinbaren

AntiAC: Server-Infrastruktur

Wie unser Gründer vor Nohn IT ein Spielnetzwerk mit eigener Cloud gebaut und unter hoher Last betrieben hat.

Gespräch vereinbaren

Früheres Projekt, kein Kundenprojekt

AntiAC war ein früheres Projekt des Gründers aus der Zeit vor Nohn IT, bis 2022. Es ist kein Kundenprojekt der Jannik Nohn UG. Wir zeigen es, weil es belegt, wie wir Systeme für viele gleichzeitige Nutzer bauen.

Stand

abgeschlossen

Rolle

Mitgründung, Entwicklung und Betrieb der Systeme

Für wen

Früheres Projekt des Gründers, vor Nohn IT

Kurz gesagt

AntiAC war ein deutsches Minecraft-Netzwerk für Wettkampf-Training, das unser Gründer Jannik Nohn vor Nohn IT mitgegründet und zu zweit entwickelt hat. Die gesamte Server-Infrastruktur war Eigenbau: eine eigene Cloud-Steuerung, ein eigenes Netzwerkprotokoll und Spielserver in Deutschland und den USA. In der Spitze waren knapp 2.000 Spieler gleichzeitig online.

Hinweis zur Marke

Minecraft ist eine Marke von Mojang. AntiAC war kein offizielles Minecraft-Produkt, nicht von Mojang oder Microsoft genehmigt und nicht mit ihnen verbunden.

Auf dieser Seite gibt es deshalb keine Spielbilder.

Die Aufgabe

Ein Trainingsnetzwerk für Brückenbau, Block-Clutches und Duelle braucht kurze Wege, auch für Spieler in Nordamerika. Dutzende Spielserver aus Vorlagen mussten auf mehreren Rechnern starten und stoppen, und gegen Crash-Angriffe mit präparierten Paketen brauchte es einen eigenen Schutz. Die gesamte Technik dafür war Eigenbau.

Zwei Kontinente

Spieler in Europa und in Nordamerika, gesteuert von einer zentralen Stelle in Deutschland.

Rund 15 Modi

Training, Bridge, Clutches, Knockback, MLGRush, BedWars, SkyWars und weitere, alle selbst programmiert.

Was Jannik Nohn mitgebaut hat

Sechs Bausteine, jeder selbst entwickelt. Was er tat und was er dem Betrieb brachte.

Eine eigene Cloud

Der Master hält den Gesamtzustand: Server, Spieler, Ränge, Partys, Clans, Warteschlangen, Turniere und Moderation. Auf jedem Rechner startet und stoppt ein Wrapper die Spielserver aus 36 Vorlagen.

Für den Betrieb hieß das: neue Spielserver per Vorlage statt von Hand, und ein Bild vom ganzen Netzwerk an einer Stelle.

Ein eigenes Protokoll

88 Nachrichtentypen auf Netty, ohne fremden Message-Broker. Proxys, Spielserver und Steuerung sprechen direkt miteinander.

Eine Schutzschicht

Sie filtert Positionspakete und Plugin-Kanäle auf Crash-Angriffe, damit präparierte Pakete keinen Spielserver zum Absturz bringen.

Replays

Auf Befehl zeichnet das System eine Runde auf, packt sie mit Zstandard und legt sie auf einem eigenen Dateiserver ab.

Ein Zugang für Nordamerika

Eine eigene US-Adresse mit US-Proxy und einem Rechner in den USA für die Trainingsmodi, bei denen jede Verzögerung zählt. Gesteuert vom Master in Deutschland.

150.235

Verwarnungen im eigenen Moderationssystem mit Bannpunkten, Mutes, Reports und Chatprotokollen, 2020 bis 2022.

So ist es gebaut

Spieler kommen über Proxys an zwei Standorten. Eine zentrale Steuerung in Deutschland lenkt alle Spielserver.

Früheres Projekt des Gründers: Minecraft-Netzwerk AntiAC.net AntiAC.net war ein früheres Projekt des Gründers, kein Kundenprojekt. Die gesamte Technik war Eigenbau: Eine zentrale Cloud-Steuerung lenkte Proxys und Spielserver in Deutschland und den USA über ein eigenes Protokoll. Deutschland Eigenbau USA Eigenbau Spielserver Spigot 1.8.8 Spieler in Europa Hauptadresse Team Admin- Oberfläche Spieler in Nordamerika eigene US-Adresse EU-Proxys BungeeCord, Waterfall Master Cloud-Steuerung, Gesamtzustand Wrapper je Rechner 36 Servervorlagen MySQL Teile der Verwaltung MongoDB Konten, Statistik, Ränge, Clans Replay-System Zstandard, Abruf per SFTP Lobbys Haupt- und Modus-Lobbys Spielmodi rund 15, selbst programmiert Schutzschicht filtert Positionspakete US-Proxy für Nordamerika US-Spielserver Trainingsmodi, eigener Wrapper Minecraft 1.8 1 Hunderttausende/s 2 eigenes Protokoll 3 Vorlagen, Start 4 Konten, Statistik 5 zeichnet auf 6 Minecraft 1.8 7 REST Legende Eigenbau von AntiAC Mensch oder Kanal Direkter Aufruf Weg der Spieler und Daten Pakete pro Sekunde, Schätzung 1 Schritt im Ablauf Ebene L1 · Stand laut Bericht: 2022 · Früheres Projekt des Gründers
Früheres Projekt des Gründers: Minecraft-Netzwerk AntiAC.net AntiAC.net war ein früheres Projekt des Gründers, kein Kundenprojekt. Die gesamte Technik war Eigenbau: Eine zentrale Cloud-Steuerung lenkte Proxys und Spielserver in Deutschland und den USA über ein eigenes Protokoll. Deutschland Eigenbau USA Eigenbau Spielserver Spieler in Europa Hauptadresse Spieler in Nordamerika eigene US-Adresse EU-Proxys BungeeCord, Waterfall Master Cloud-Steuerung, Gesamtzustand Wrapper je Rechner 36 Servervorlagen MongoDB Konten, Statistik, Ränge, Clans Lobbys Haupt- und Modus-Lobbys Spielmodi rund 15, selbst programmiert US-Proxy für Nordamerika US-Spielserver Trainingsmodi, eigener Wrapper Minecraft 1.8 1 Hunderttausende/s 2 Vorlagen, Start 4 Konten, Statistik 5 Minecraft 1.8 7 Ebene L1 · Stand laut Bericht: 2022 Früheres Projekt des Gründers
  • Eigenbau von AntiAC
  • Mensch oder Kanal
  • Direkter Aufruf
  • Weg der Spieler und Daten
  • Pakete pro Sekunde, Schätzung
  • Schritt im Ablauf
Früheres Projekt des Gründers, Stand 2022. Keine Adressen und keine Namen im Bild.

Der Weg eines Spielers

  1. Spieler in Europa verbinden sich mit Minecraft 1.8 über die Hauptadresse mit einem EU-Proxy.
  2. Der Proxy verteilt die Spieler auf Lobbys und Spielserver. In der Spitze liefen über die Spielserver schätzungsweise 90.000 bis 900.000 Netzwerkpakete pro Sekunde, also Hunderttausende (Schätzung nach dem Protokoll von Minecraft 1.8 für knapp 2.000 Spieler, nicht gemessen).
  3. Proxys und Spielserver tauschen sich mit dem Master über ein eigenes Netzwerkprotokoll mit 88 Nachrichtentypen aus, zum Beispiel für Serverwechsel und Spielerstatus.
  4. Der Master gibt dem Wrapper auf jedem Rechner Vorlagen sowie Start- und Stoppbefehle.
  5. Die Spielserver schreiben Spielerkonten und Statistiken je Modus direkt in die MongoDB.
  6. Auf Befehl im Spiel zeichnet das Replay-System die Pakete einer Runde auf, packt sie mit Zstandard und legt sie auf einem eigenen Dateiserver ab.
  7. Spieler in Nordamerika verbinden sich über eine eigene US-Adresse mit dem US-Proxy und spielen die Trainingsmodi auf einem Rechner in den USA.

Was nebenher lief

  • Der Wrapper startet und stoppt die Spielserver auf seinem Rechner.
  • Auch die Spielserver in den USA steuert der Master in Deutschland, über eine feste Zuordnung der US-Vorlagen.
  • Neben der MongoDB nutzt der Master für Teile der Verwaltung eine MySQL-Datenbank.
  • Das Team arbeitet über eine Admin-Oberfläche, die per REST-Schnittstelle mit dem Master spricht.

Die Technik im Einzelnen

Sprache
Java 8 für alle Dienste, auf Linux-Servern
Spielserver
Spigot 1.8.8 mit eigenem Plugin, Pakete über ProtocolLib
Proxys
BungeeCord und Waterfall, je Standort
Protokoll
eigene Serialisierung auf Netty 4.1
Daten
MongoDB für Konten und Statistik, MySQL für Teile der Verwaltung
Replays
gepackt mit Zstandard, abgerufen per SFTP von einem eigenen Dateiserver

Was das Projekt zeigt

Gebaut für Last, selbst betrieben

Zwei Jahre lang waren im Schnitt rund 250 Spieler gleichzeitig online, rund um die Uhr, in der Spitze knapp 2.000. Die Technik dafür haben zwei Entwickler gebaut, Moderation und Support übernahm ein eigenes Team. Daher planen wir Systeme von Anfang an so, dass sie im Betrieb tragen, nicht nur in der Vorführung.

Verteilte Systeme mit klaren Wegen

Proxys, Spielserver und Steuerung an zwei Standorten, verbunden über ein eigenes Protokoll mit 88 Nachrichtentypen.

Sicherheit gehört zum Betrieb

Eine eigene Schutzschicht gegen Crash-Angriffe, und im Dezember 2021 kam der Schutz gegen die Log4Shell-Lücke dazu.

Gezählt, 2020 bis 2022

Aus der Datenbank des Netzwerks, 12. August 2020 bis 9. August 2022. Die Spitze stammt aus einer öffentlichen Serverliste.

1,06 Mio.

Spielerkonten haben sich zwischen 2020 und 2022 mit dem Netzwerk verbunden, genau 1.061.525.

1.992

Spieler gleichzeitig in der Spitze, öffentlicher Serverlisten-Rekord.

248

Spieler gleichzeitig im Schnitt über zwei Jahre, rund um die Uhr.

4,33 Mio.

Spielstunden zusammen in zwei Jahren

12.025

aktive Konten am stärksten Tag, mindestens

104.071

neue Spieler im stärksten Monat, Januar 2021

Aus dem Quellcode

Rund 200.000 Zeilen selbst geschriebener Java-Code, zu zweit entwickelt. Der größte Teil davon stammt von Jannik Nohn. Dazu 88 Nachrichtentypen im eigenen Protokoll und rund 15 selbst programmierte Spielmodi.

Pakete pro Sekunde

Wie viel in der Spitze über die Spielserver lief. Eine Schätzung, nicht gemessen: Der Code enthält keine Paketzähler.

230.000

Rund so viele Netzwerkpakete pro Sekunde liefen in der Spitze nach der mittleren Annahme, also Hunderttausende. Eine Schätzung nach dem Protokoll von Minecraft 1.8, nicht gemessen.

  • Untere Annahme: rund 90.000 meist Duelle, wenige sichtbare Mitspieler, Abschlag für neuere Clients
  • Mittlere Annahme: rund 230.000 etwa 5 sichtbare Mitspieler je Spieler
  • Obere Annahme: rund 900.000 volle Arenen, etwa 15 sichtbare Mitspieler

Die Annahmen

  • Knapp 2.000 Spieler, gestützt auf den Serverlisten-Rekord 1.992.
  • Ein 1.8-Client sendet 20-mal je Sekunde ein Bewegungspaket.
  • Je Spieler und Sekunde 21 bis 55 Pakete zum Server und 32 bis 390 zurück, je nach Zahl sichtbarer Mitspieler.
  • Gerechnet an den Spielservern, ohne Verdopplung über die Proxys.

bis zu rund 40.000

Positionsdaten pro Sekunde prüfte die Schutzschicht in der Spitze auf Crash-Angriffe. Schätzung, Obergrenze.

Leistungen und Referenzen

Fragen zu AntiAC

Ist AntiAC ein Kundenprojekt von Nohn IT?

Nein. AntiAC war ein früheres Projekt unseres Gründers Jannik Nohn aus der Zeit vor Nohn IT, bis 2022. Es ist kein Kundenprojekt der Jannik Nohn UG. Wir zeigen es, weil aus diesem Projekt unsere Erfahrung mit Last, Echtzeit und Betrieb stammt.

Welche Rolle hatte Jannik Nohn bei AntiAC?

Er war Mitgründer und einer von zwei Entwicklern, die die gesamte Technik ohne weitere Entwickler gebaut haben. Der größte Teil der rund 200.000 Zeilen Java stammt von ihm. Moderation und Support übernahm ein eigenes Team.

Wie belastbar sind die Zahlen auf dieser Seite?

Spielerkonten, Spielstunden und Tageswerte sind aus der Datenbank des Netzwerks für August 2020 bis August 2022 gezählt. Die Spitze von 1.992 gleichzeitigen Spielern ist ein öffentlicher Serverlisten-Rekord. Die Paketrate ist eine Rechnung nach dem Protokoll von Minecraft 1.8 und ausdrücklich nicht gemessen.

Was hat ein Spielnetzwerk mit Software für Unternehmen zu tun?

Die Aufgaben sind dieselben: viele gleichzeitige Nutzer, Daten, die stimmen müssen, Rechte für ein Team, Schutz gegen Angriffe und ein Betrieb, der rund um die Uhr läuft. Wer so ein System selbst gebaut und betrieben hat, plant von Anfang an für den Betrieb und nicht nur für die Vorführung.

Welche Technik steckte hinter AntiAC?

Alle Dienste waren in Java 8 geschrieben und liefen auf Linux-Servern. Die Spielserver liefen auf Spigot 1.8.8, die Proxys auf BungeeCord und Waterfall. Ein eigenes Protokoll auf Netty 4.1 verband alles mit der zentralen Steuerung, die Daten lagen in MongoDB und MySQL.

War AntiAC ein offizielles Minecraft-Produkt?

Nein. Minecraft ist eine Marke von Mojang. AntiAC war kein offizielles Minecraft-Produkt, nicht von Mojang oder Microsoft genehmigt und nicht mit ihnen verbunden.