aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Game-Server

Linux-Serververwaltung: Grundlagen für Gameserver

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 Prozessen
  • tmux oder screen — Sitzungen, die eine abgebrochene SSH-Verbindung überleben
  • git — Serverdateien mit Versionsverwaltung pflegen
  • ufw — 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üllen
  • free -h — freier Speicher und Swap
  • htop — 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.

Devamı için