Einen Gameserver reibungslos zu betreiben beginnt mit einer soliden Grundlage in der Linux-Serververwaltung. Ob du einen Metin2-PvP-Server, eine Minecraft-Welt oder eine eigene C++-Serveranwendung hostest – dieselben Kernaufgaben kehren wieder: Anmelden, Benutzer trennen, Dienste automatisch starten und das Netzwerk absichern stützen sich alle auf dieselben grundlegenden Werkzeuge. Dieser Leitfaden geht die ersten Schritte nach dem Mieten eines VPS durch, mit echten, funktionierenden Befehlen in sinnvoller Reihenfolge.
Verbindung über SSH
Linux-Server erreichst du meist ohne grafische Oberfläche, über SSH. Dein Anbieter gibt dir eine IP-Adresse und ein temporäres Passwort. Die erste Verbindung sieht so aus:
ssh root@SERVER_IP
Einen SSH-Schlüssel statt eines Passworts zu verwenden ist sicherer und zugleich praktischer. Du erzeugst ein Schlüsselpaar auf deinem eigenen Rechner und kopierst den öffentlichen Schlüssel auf den Server:
ssh-keygen -t ed25519 -C "gameserver"
ssh-copy-id root@SERVER_IP
Anbieter nutzen standardmäßig Port 22. Hat deiner einen eigenen Port vergeben, gibst du ihn mit der Option -p an: ssh -p 2222 root@SERVER_IP. Sobald die Schlüssel-Anmeldung funktioniert, ist das Deaktivieren der Passwort-Anmeldung ein wichtiger Sicherheitsschritt.
System und Kernpakete aktualisieren
Die erste Aufgabe ist, die Paketliste und installierte Software zu aktualisieren. In der Debian/Ubuntu-Familie:
apt update && apt upgrade -y
Bei RHEL-Derivaten wie AlmaLinux/Rocky ist das Äquivalent dnf upgrade -y. Einige unverzichtbare Werkzeuge für die Verwaltung eines Gameservers:
htop— Live-Ansicht von CPU, RAM und Prozessentmuxoderscreen— Sitzungen, die eine abgebrochene SSH-Verbindung überlebengit— Serverdateien mit Versionsverwaltung pflegenufw— eine verständliche Firewall-Oberfläche
apt install -y htop tmux git ufw
Einen separaten Benutzer anlegen
Alles als root auszuführen ist ein großes Risiko; ein einziger falscher Befehl kann das gesamte System betreffen. Betreibe den Gameserver unter seinem eigenen eingeschränkten Benutzer. Legen wir einen neuen Benutzer an und erteilen ihm Administratorrechte (sudo):
adduser game
usermod -aG sudo game
Bei RHEL-Derivaten heißt die Gruppe wheel statt sudo. Du kannst dich nun als dieser Benutzer anmelden und Befehlen bei Bedarf sudo voranstellen. Die Gameserver-Dateien sollten im Home-Verzeichnis dieses Benutzers liegen, etwa unter /home/game/server. Um die Dateibesitzrechte zu korrigieren:
chown -R game:game /home/game/server
Dienste mit systemd verwalten
Startest du deinen Gameserver von Hand mit ./start.sh, stoppt die Anwendung, sobald die SSH-Sitzung schließt oder der Server neu startet. Die richtige Lösung ist ein systemd-Dienst: Er läuft im Hintergrund, startet bei einem Absturz automatisch neu und startet beim Hochfahren mit. Erstelle die Datei /etc/systemd/system/game.service:
[Unit]
Description=Gameserver
After=network.target
[Service]
Type=simple
User=game
WorkingDirectory=/home/game/server
ExecStart=/home/game/server/start.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Nachdem du die Datei geschrieben hast, registriere und starte den Dienst:
systemctl daemon-reload
systemctl enable --now game
Mit systemctl status game prüfst du den Status und mit journalctl -u game -f verfolgst du die Live-Logs. Dank der Zeile Restart=on-failure holt systemd den Server innerhalb von fünf Sekunden zurück, falls er unerwartet beendet wird.
Firewall und Portverwaltung
Gameserver nehmen Verbindungen über bestimmte Ports an. Alles andere zu schließen verkleinert die Angriffsfläche erheblich. Erlaube mit ufw zuerst SSH (damit du dich nicht selbst aussperrst), öffne dann den Game-Port:
ufw allow 22/tcp
ufw allow 30000/tcp
ufw enable
Bei Spielen, die UDP nutzen, denke daran, das Protokoll anzugeben: ufw allow 30000/udp. Deine Regeln listest du mit ufw status numbered auf. Zusätzlich Fail2ban zu installieren blockiert Brute-Force-Versuche gegen SSH automatisch und hält deine Logs sauber.
Überwachung, Backups und Festplattenkontrolle
Die Verwaltung geht weiter, nachdem der Server läuft. Mache einige Befehle zur festen Gewohnheit:
df -h— Festplattenbelegung; Logdateien können die Platte unbemerkt füllenfree -h— freier Speicher und Swaphtop— welcher Prozess unter Last die CPU frisst
Regelmäßige Backups der Datenbank und der Welt-/Charakterdateien sind unverzichtbar. Ein einfaches MySQL-Backup sieht so aus:
mysqldump -u root -p game_db > /home/game/backup/game_db_$(date +%F).sql
Indem du diesen Befehl an einen cron-Job hängst, kannst du jede Nacht ein automatisches Backup erstellen. Das Backup außerhalb des Servers, an einem separaten Ort aufzubewahren, rettet dich im Katastrophenfall.
Häufige Fragen
Welche Linux-Distribution sollte ich für einen Gameserver wählen?
Ubuntu Server LTS ist dank breiter Community-Unterstützung und aktueller Pakete die praktischste Wahl. Debian ist schlanker und sehr stabil, während AlmaLinux/Rocky für alle geeignet sind, die RHEL-Kompatibilität wünschen. Als Einsteiger beginnst du am besten mit Ubuntu LTS; die meisten Befehle in diesem Artikel laufen direkt.
Wie viele Spieler kann ein Server fassen?
Das hängt vom Spieltyp, der Zahl der genutzten CPU-Kerne und dem verfügbaren RAM ab. Eine Single-Thread-Spielschleife stößt bei vielen Spielern auf einen CPU-Engpass. Beobachte die Last mit htop, um den Engpass zu finden, und wechsle bei Bedarf zu einem leistungsstärkeren VPS.
Meine SSH-Verbindung bricht ständig ab – was tun?
Starte den laufenden Prozess in tmux; selbst wenn die Verbindung abbricht, läuft der Prozess weiter und du kehrst mit tmux attach zurück. Langfristig ist der Betrieb des Gameservers als systemd-Dienst die robusteste Lösung.
Bei der Servereinrichtung festgefahren? Wir können gemeinsam an der Linux-Konfiguration, der Sicherheit und der Automatisierung deines Gameservers arbeiten — nimm Kontakt mit mir auf.