Skip to main content

Ressourcenmanagement & Limits

Ressourcenmanagement ist der entscheidende Faktor für stabile Game-Server. In Pterodactyl werden Ressourcen nicht „geschätzt“, sondern technisch über Docker, Linux-cgroups und Kernel-Mechanismen durchgesetzt.

Fehlkonfigurierte Limits sind die häufigste Ursache für:

  • Lag & Tick-Drops
  • unerklärliche Serverabstürze
  • massive Kundenbeschwerden trotz „genug Hardware“

1. Grundprinzip: cgroups als Fundament

Pterodactyl nutzt Docker, Docker nutzt Linux cgroups. cgroups sind Kernel-Mechanismen zur Kontrolle von:

  • CPU
  • RAM
  • IO
  • Prozessanzahl

Wichtig:

Pterodactyl konfiguriert Limits, der Kernel erzwingt sie.


2. CPU-Management (kritisch für Game-Server)

2.1 CPU-Limits in Docker

Docker setzt CPU-Limits über:

  • CPU Shares
  • CPU Quotas

Pterodactyl verwendet CPU Quotas, was bedeutet:

  • harte Zeitfenster
  • kein „weiches Drosseln“

Ein Game-Server, der sein Zeitfenster überschreitet, wird vom Kernel aktiv ausgebremst.


2.2 CPU-Pinning (Advanced)

CPU-Pinning bindet Container an feste CPU-Kerne.

Vorteile:

  • konstante Tick-Zeiten
  • keine Cross-Core-Contention

Nachteile:

  • geringere Flexibilität
  • schlechte Auslastung bei falscher Planung

CPU-Pinning ist sinnvoll für:

  • große Minecraft-Server
  • performancekritische Instanzen

2.3 Typische CPU-Fehler

  • Zu viele Server auf einem Core
  • Hohe CPU-Overcommitment
  • Low-Takt-CPUs mit vielen Kernen

Game-Server skalieren selten linear mit Kernanzahl.


3. RAM-Management (häufigster Crash-Grund)

3.1 RAM-Limits in cgroups

Das RAM-Limit ist ein hartes Limit.

Wenn ein Container dieses Limit überschreitet:

  • OOM-Killer greift
  • Game-Server wird sofort beendet

Es gibt keinen „sanften Übergang“.


3.2 JVM-Realität (z. B. Minecraft)

Java-Server benötigen:

  • Heap
  • Metaspace
  • Native Memory

Typischer Fehler:

  • -Xmx = Container-RAM

Korrekt:

  • -Xmx ca. 70–80 % des Container-Limits

Alles andere führt unweigerlich zu OOM-Kills.


3.3 Swap – warum er Gift ist

Swap verschleiert RAM-Probleme, löst sie aber nicht.

  • extreme Latenzen
  • Tick-Freezes
  • Server wirkt „online“, ist aber unspielbar

Best Practice:

  • Swap auf Nodes deaktivieren

4. Storage & IO (unterschätzt, aber tödlich)

4.1 IO-Wait als Lag-Ursache

Game-Server schreiben häufig:

  • World-Daten
  • Logs
  • Player-Daten

Langsames Storage führt zu:

  • Lag-Spikes
  • Chunk-Freezes

4.2 Shared Storage – Risiko

Shared Storage (z. B. überlastetes ZFS/NFS):

  • unvorhersehbare Latenzen
  • IO-Contention zwischen Servern

Für Game-Server nur bedingt geeignet.


5. Disk-Limits in Pterodactyl

Disk-Limits sind keine Performance-Limits.

  • sie verhindern nur Überfüllung
  • sie begrenzen nicht IO

Ein volles Volume führt oft zu:

  • korrupten Welten
  • Startproblemen

6. Prozess- & Thread-Limits

Unkontrollierte Prozesse sind ein Sicherheits- und Stabilitätsrisiko.

  • Fork-Bombs
  • Mod-Fehlverhalten

Prozesslimits schützen:

  • den Host
  • andere Kunden

7. Reale Praxiswerte (Beispiel)

Server-TypCPURAMBemerkung
Minecraft Vanilla (klein)1 Core2–3 GBkeine Mods
Minecraft Modded2–4 Cores6–10 GBCPU & RAM kritisch
Source Engine1 Core1–2 GBCPU-lastig

8. Typische Ressourcen-Fehlkonzepte

  • „Docker regelt das schon“
  • „Mehr Kerne = mehr Performance“
  • „Swap rettet den Server“

Diese Annahmen sind technisch falsch.


9. Best Practices (Venasty Systems Standard)

  • Keine CPU-Overcommitment bei Game-Nodes
  • RAM immer mit Reserve planen
  • Swap deaktivieren
  • Performance vor Dichte
  • Nodes niemals „vollfahren“

10. Fazit

Ressourcenlimits sind kein Marketing-Werkzeug, sondern harte technische Grenzen.

Wer sie realistisch plant, erhält:

  • stabile Tick-Raten
  • zufriedene Spieler
  • planbare Plattformen

Wer sie ignoriert, betreibt kontrolliertes Chaos.

Venasty Systems dimensioniert Pterodactyl-Nodes konservativ, messbar und belastbar, nicht nach Werbeversprechen.