Zum Inhalt springen
Aktueller Gutschein:10 % RabattIn der Bestellung einlösen

Servernetzwerk mit Velocity: Lobby, Survival und Minispiele unter einer Adresse

So verbinden Sie mehrere Minecraft-Server mit einem Velocity-Proxy: Installation, velocity.toml Zeile für Zeile, Modern Forwarding, Einrichtung von Paper und Fabric, Absicherung der Backends und Lösung von Fehlern.

  • Experte
  • ~40 Min.
  • Aktualisiert am 9.10.2026

Velocity ist ein Proxy, über den sich Spieler mit einer Adresse verbinden und dann mit dem Befehl /server zwischen Servern wechseln – zum Beispiel von der Lobby ins Survival oder zu den Minispielen. Wir zeigen, wie Sie Velocity installieren und einrichten, es über sicheres Modern Forwarding mit Ihren Servern verbinden und die Server hinter dem Proxy so absichern, dass niemand sie direkt erreicht.

Was Sie brauchen

  • Mindestens zwei Minecraft-Server: Paper oder Purpur (Version 1.13 oder neuer) oder Fabric, Forge oder NeoForge mit einem Forwarding-Mod
  • Einen Ort für den Proxy: einen VPS mit Ubuntu 24.04 oder Debian 13 (Verbindung über SSH); ein eigenes Produkt Minecraft Proxy bereiten wir vor
  • Zugriff auf die Registerkarten Dateien und Servereigenschaften jedes Servers
  • Etwa 40 Minuten

Wann Sie einen Proxy brauchen#

Sie möchtenBrauchen Sie einen Proxy?
Einen Server für Freunde oder eine CommunityNein
Eine Lobby + einen oder mehrere Spielserver unter einer AdresseJa
Verschiedene Spielmodi (Survival, Kreativ, Minispiele) mit Wechsel ohne Trennen der VerbindungJa
Gemeinsamen Chat, Berechtigungen oder Bans über mehrere ServerJa (mit Plugins auf dem Proxy)
Bedrock-Spieler im ganzen NetzwerkJa, Geyser läuft dann nur auf dem Proxy

Der Proxy führt das Spiel nicht selbst aus, er leitet nur Verbindungen weiter. Er ist sparsam: 1–⁠2 GB Arbeitsspeicher genügen für Dutzende Spieler.

So funktioniert das Netzwerk#

text
Spieler ──► mc.example.cz:25565  (Velocity, prüft den Spieler)
              │
              ├──► lobby     (Paper, online-mode=false, nimmt nur den Proxy an)
              ├──► survival  (Paper, online-mode=false, nimmt nur den Proxy an)
              └──► minihry   (Paper, online-mode=false, nimmt nur den Proxy an)
  1. Der Spieler verbindet sich mit der Adresse des Proxys. Der Proxy prüft bei Microsoft, ob er ein echtes Konto hat (online-mode = true).
  2. Der Proxy schickt ihn zum ersten Server in der Liste try (der Lobby).
  3. Zusammen mit der Verbindung übergibt der Proxy dem Server Namen, UUID, Skin und echte IP-Adresse des Spielers (Player Info Forwarding). Die Daten signiert er mit einem geheimen Schlüssel, den nur der Proxy und Ihre Server kennen.
  4. Die Server hinter dem Proxy (Backends) prüfen selbst nichts (online-mode=false) und vertrauen nur einem Proxy mit gültigem Schlüssel. Wer sich direkt verbindet, bekommt die Meldung This server requires you to connect with Velocity.

Proxy, Server und Domain#

  • Proxy: Velocity 4.x verlangt Java 25. Betreiben Sie es auf einem VPS (VPS Performance, VPS Budget). Auf den Proxy gehören nur Plugins für Velocity – Paper-Plugins funktionieren dort nicht.
  • Backends: gewöhnliche Minecraft-Server. Sie können bei StormHost als eigene Dienste laufen (jeder mit eigener Adresse und eigenem Port) oder auf demselben VPS wie der Proxy.
  • Domain (optional): Spieler geben statt einer IP mc.example.cz ein (Serveradresse und Domain).

Das Produkt Minecraft Proxy

Wir bereiten einen eigenständigen Proxy als Dienst vor. In der Registerkarte Startoptionen wird er ein voreingestelltes Preset Proxy für Velocity haben. Bis dahin verwenden Sie einen VPS – das Vorgehen steht unten.

Velocity auf einem VPS installieren#

Das funktioniert unter Ubuntu 24.04 und Debian 13 gleichermaßen. Führen Sie die Befehle als root aus.

  1. Installieren Sie Java 25 und curl:

    bash
    apt update
    apt install openjdk-25-jre-headless curl
    • apt update – lädt die aktuelle Paketliste herunter.
    • apt install openjdk-25-jre-headless – installiert die Java-⁠25-⁠Laufzeit ohne Grafikbibliotheken (ein Server braucht sie nicht).
    • curl – ein Programm zum Herunterladen von Dateien aus dem Internet (haben Sie es schon, passiert nichts).
  2. Prüfen Sie die Version:

    bash
    java -version

    Die erste Zeile der Ausgabe muss 25 enthalten.

  3. Legen Sie einen Benutzer und einen Ordner für den Proxy an:

    bash
    useradd --system --create-home --home-dir /opt/velocity --shell /usr/sbin/nologin velocity
    • useradd --system – legt einen Systembenutzer ohne Passwort an (der Proxy läuft nicht als root).
    • --create-home --home-dir /opt/velocity – legt den Ordner /opt/velocity an, in dem der Proxy liegen wird.
    • --shell /usr/sbin/nologin – niemand kann sich als dieser Benutzer anmelden.
    • velocity – der Name des Benutzers.
  4. Kopieren Sie auf papermc.io/downloads/velocity (öffnet sich in einem neuen Fenster) den Link zur neuesten stabilen Version und laden Sie sie herunter:

    bash
    cd /opt/velocity
    curl -o velocity.jar "<DOWNLOAD_URL>"
    chown velocity:velocity velocity.jar
    • cd /opt/velocity – wechselt in den Ordner des Proxys.
    • curl -o velocity.jar – lädt die Datei herunter und speichert sie als velocity.jar.
    • <DOWNLOAD_URL> – der Link, den Sie auf der Seite kopiert haben. Ersetzen Sie alles einschließlich der spitzen Klammern, die Anführungszeichen bleiben.
    • chown velocity:velocity – macht den Benutzer velocity zum Eigentümer der Datei.
  5. Starten Sie den Proxy zum ersten Mal, damit er seine Konfiguration anlegt:

    bash
    runuser -u velocity -- env MALLOC_ARENA_MAX=2 java -Xms1G -Xmx1G -XX:MaxDirectMemorySize=512M -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -jar velocity.jar
    • runuser -u velocity -- – führt den Befehl nach -- als Benutzer velocity aus.
    • env MALLOC_ARENA_MAX=2 – begrenzt die Speicherbereiche des Allokators, damit der Proxy nicht unnötig zusätzlichen Speicher belegt.
    • -Xms1G -Xmx1G – gibt dem Proxy 1 GB Heap (auf einmal, damit er ihn im Betrieb nicht vergrößern muss). Für ein größeres Netzwerk erhöhen Sie auf 2G. Der Proxy braucht auch außerhalb des Heaps viel Speicher für das Netzwerk; geben Sie ihm daher nicht mehr als die Hälfte des Speichers, den Sie für ihn haben.
    • -XX:MaxDirectMemorySize=512M – eine Grenze für Netzwerkpuffer. Ohne sie können diese bis zur Größe des Heaps wachsen.
    • -XX:+UseG1GC … -XX:+AlwaysPreTouch – von der Dokumentation von Velocity empfohlene Parameter (der Garbage Collector G1, eingestellt für einen Proxy).
    • -jar velocity.jar – startet den Proxy.

    Den Befehl für eine andere Speichergröße erstellt der Generator für Startskripte.

    Nach dem Start sehen Sie eine Zeile Done (…)!. Geben Sie end ein und drücken Sie Enter; der Proxy fährt herunter. Im Ordner liegen jetzt velocity.toml und forwarding.secret.

  6. Damit der Proxy dauerhaft läuft und nach einem Neustart des VPS selbst startet, legen Sie für ihn einen systemd-Dienst nach Eine Anwendung rund um die Uhr auf einem VPS betreiben an. Setzen Sie in der Unit-Datei User=velocity, WorkingDirectory=/opt/velocity, Environment=MALLOC_ARENA_MAX=2 und tragen Sie in ExecStart den Befehl aus Schritt 5 ohne runuser -u velocity -- env MALLOC_ARENA_MAX=2 und mit dem vollständigen Pfad zu Java ein, sodass er mit /usr/bin/java -Xms1G … beginnt.

  7. Erlauben Sie den Port des Proxys in der Firewall des VPS: TCP 25565 (und den UDP-Port von Geyser, falls Sie es verwenden). Siehe Firewall im Kundenbereich und UFW.

velocity.toml#

Öffnen Sie /opt/velocity/velocity.toml (zum Beispiel mit nano /opt/velocity/velocity.toml). Hier ein Beispiel mit Einstellungen für ein Netzwerk aus drei Servern (den Rest der Datei lassen Sie unverändert):

/opt/velocity/velocity.tomlTOML
bind = "0.0.0.0:25565"
motd = "<gold><bold>StormCraft</bold></gold> <gray>| lobby, survival, minihry"
show-max-players = 100
online-mode = true
force-key-authentication = true
player-info-forwarding-mode = "modern"
forwarding-secret-file = "forwarding.secret"

[servers]
lobby = "203.0.113.10:30066"
survival = "203.0.113.11:30067"
minihry = "203.0.113.12:30068"

try = [
    "lobby"
]

[forced-hosts]
"survival.example.cz" = [
    "survival"
]
EinstellungWas sie tutEmpfohlener WertWann ändern
config-versionDie Formatversion der Datei.Nicht ändernNie – Velocity verwaltet sie selbst.
bindIP-Adresse und Port, auf denen der Proxy lauscht."0.0.0.0:25565"Ein anderer Port, wenn Sie 25565 nicht verwenden möchten oder können.
motdDie Beschreibung in der Serverliste. Format MiniMessage (<gold>, <bold>, <#09add3>), keine §-Codes.Ihre BeschreibungJederzeit.
show-max-playersWie viele Slots die Serverliste zeigt. Velocity begrenzt die Spielerzahl nicht; es ist nur ein Anzeigewert.Z. B. 100Je nach Größe des Netzwerks.
online-modeDer Proxy prüft die Konten der Spieler bei Microsoft.trueAuf einem öffentlichen Server nie.
force-key-authenticationVerlangt von Spielern einen Chat-Signaturschlüssel.truefalse, wenn Geyser auf dem Proxy läuft (Bedrock-Spieler könnten sonst nicht schreiben).
prevent-client-proxy-connectionsKickt einen Spieler, dessen Internetanbieter nicht zu dem passt, was der Authentifizierungsserver sieht. Ein schwacher Schutz gegen VPNs.falseLassen.
player-info-forwarding-modeWie der Proxy Spielerdaten übergibt: none (nichts, Spieler bekommen Offline-UUIDs), legacy (BungeeCord-Format, unsicher), bungeeguard (legacy mit Schlüssel), modern (signiertes Velocity-Format, Version 1.13+)."modern"legacy/bungeeguard nur für Server mit 1.12 und älter.
forwarding-secret-fileDie Datei mit dem geheimen Forwarding-Schlüssel."forwarding.secret"Nicht ändern.
announce-forgeDer Proxy meldet sich in der Serverliste als Forge-Server.falsetrue für ein Netzwerk von Servern mit Mods.
kick-existing-playersMeldet sich dasselbe Konto ein zweites Mal an, wird die erste Sitzung gekickt (Verhalten von Vanilla).falsetrue, wenn Ihre Spieler das erwarten.
[servers]Die Liste der Backends als name = "IP:port". Den Namen sehen Spieler in /server.Die Adressen Ihrer ServerWenn Sie einen Server hinzufügen oder umziehen.
tryDie Reihenfolge der Server, zu denen der Proxy Spieler nach dem Beitritt oder nach einem Kick von einem Server zu schicken versucht.["lobby"]Ergänzen Sie einen Ausweichserver, auf dem Spieler landen, wenn die Lobby nicht läuft.
[forced-hosts]Schickt Spieler je nach eingegebener Adresse direkt zu einem bestimmten Server (wer survival.example.cz eingibt, landet direkt auf dem Server survival).Nach BedarfWenn Sie für jeden Server eine eigene Subdomain möchten. Die Domain muss auf den Proxy zeigen.

Drei Einträge in den Abschnitten [advanced] und [query] sind einen Blick wert:

Abschnitt und EinstellungWas sie tutEmpfohlener WertWann ändern
[advanced] › login-ratelimitDer Mindestabstand (ms) zwischen Verbindungen von einer IP.3000Nicht ändern; schützt vor Überflutung.
[advanced] › failover-on-unexpected-server-disconnectStürzt ein Backend ab, schickt der Proxy die Spieler zu einem anderen Server, statt sie zu trennen.trueLassen.
[query] › enabledBeantwortet Query-Anfragen (GameSpy4).falseWenn eine Statistik-Website sie braucht.

Velocity 3 und 4

In Version 4 gibt es statt der Zeile ping-passthrough = "DISABLED" einen eigenen Abschnitt [ping-passthrough] mit den Schaltern version, players, description, favicon und modinfo. Sie entscheiden, was der Proxy in der Serverliste vom Backend übernimmt. Standardmäßig ist alles aus, und es gilt das motd aus velocity.toml.

Der geheime Forwarding-Schlüssel#

Beim ersten Start legt Velocity eine Datei forwarding.secret mit einem zufälligen Schlüssel aus 12 Zeichen an. Wir empfehlen, ihn durch einen längeren zu ersetzen:

  1. Erzeugen Sie im Passwortgenerator ein Zufallspasswort mit 32 oder mehr Zeichen (Buchstaben und Ziffern).
  2. Schreiben Sie es als einzige Zeile in /opt/velocity/forwarding.secret (zum Beispiel mit nano).
  3. Denselben Schlüssel tragen Sie dann auf allen Backends ein.

Der Schlüssel ist wie ein Admin-Passwort

Wer forwarding.secret und die Adresse eines Backends kennt, kann sich als beliebiger Spieler damit verbinden, auch als Sie. Senden Sie ihn niemandem, legen Sie ihn nicht in öffentliche Repositorys, und tauschen Sie ihn bei Verdacht auf ein Leck auf dem Proxy und allen Backends aus.

Einrichtung der Backends (Paper und Purpur)#

Für jeden Server hinter dem Proxy:

  1. Schalten Sie in der Registerkarte Servereigenschaften in der Gruppe Spieler die Kontoprüfung aus (online-mode=false) und klicken Sie auf Speichern.

    Der Kundenbereich zeigt eine Warnung, dass jeder beitreten kann. Hinter einem Proxy mit Modern Forwarding ist das richtig – die Prüfung übernimmt der Proxy, und der Server nimmt nur Spieler mit gültigem Schlüssel an.

  2. Öffnen Sie in der Registerkarte Dateien die Datei spigot.yml und prüfen Sie, ob settings.bungeecord auf false steht:

    spigot.ymlYAML
    settings:
      bungeecord: false
    • bungeecord – schaltet Forwarding im BungeeCord-Format (legacy) ein. Für Modern Forwarding muss es aus sein.
  3. Öffnen Sie config/paper-global.yml und setzen Sie im Abschnitt proxies:

    config/paper-global.ymlYAML
    proxies:
      velocity:
        enabled: true
        online-mode: true
        secret: "<SECRET>"

    Ersetzen Sie <SECRET> durch den Inhalt der Datei forwarding.secret vom Proxy. Ersetzen Sie alles einschließlich der spitzen Klammern, die Anführungszeichen bleiben.

  4. Starten Sie den Server neu.

Was die Einstellungen in paper-global.yml bedeuten:

EinstellungWas sie tutEmpfohlener WertWann ändern
proxies.velocity.enabledDer Server nimmt Modern Forwarding von Velocity an und lehnt direkte Verbindungen ab.trueNur beim Entfernen des Proxys.
proxies.velocity.online-modeMuss zu online-mode in velocity.toml passen. Entscheidet, welche UUIDs Spieler bekommen.trueNie, wenn der Proxy die Spieler prüft.
proxies.velocity.secretDerselbe Schlüssel wie in forwarding.secret auf dem Proxy.Inhalt von forwarding.secretWenn Sie den Schlüssel austauschen.

Auf Paper 1.18.2 und älter stehen diese Einstellungen in paper.yml unter den Namen settings.velocity-support.enabled, settings.velocity-support.online-mode und settings.velocity-support.secret.

Fabric, Forge und NeoForge#

LoaderWas installierenWo der Schlüssel eingetragen wird
FabricDen Mod FabricProxy-Lite (von Modrinth, verlangt Fabric API)config/FabricProxy-Lite.toml, Eintrag secret = "<SECRET>"
Forge, NeoForgeDen Mod ProxyCompatibleForgeDie Konfigurationsdatei des Mods im Ordner config (wie auf der Modrinth-Seite des Mods beschrieben)

Einstellungen von FabricProxy-Lite:

EinstellungWas sie tutEmpfohlener WertWann ändern
secretDer Schlüssel aus forwarding.secret.Inhalt von forwarding.secretWenn Sie den Schlüssel austauschen.
hackOnlineModeErlaubt Verbindungen über den Proxy auch mit eingeschaltetem online-mode auf dem Backend.true (Standard)Lassen.
hackEarlySendSendet Spielerdaten früher. LuckPerms verlangt es, ebenso manche anderen Mods.true, wenn Sie LuckPerms verwendenSonst der Standard false.
hackMessageChainBehebt, dass Spieler nach einem Serverwechsel mit einer Meldung über eine ungültige Chat-Signatur gekickt werden.falsetrue, wenn Spieler nach /server wegen der Chat-Signatur gekickt werden.

Absicherung der Backends#

Ein Backend mit online-mode=false ohne funktionierendes Forwarding würde jeden unter jedem Namen hereinlassen. Je nachdem, wo Ihre Server laufen:

  • Backends bei StormHost (eigene Dienste): Adresse und Port setzen wir automatisch (server-ip lässt sich nicht ändern), die Server sind also aus dem Internet erreichbar. Geschützt werden sie durch das Modern Forwarding: Mit proxies.velocity.enabled: true lehnt der Server jeden ab, der nicht mit gültigem Schlüssel über den Proxy kommt. Verwenden Sie daher nie legacy oder none.
  • Backends auf demselben VPS wie der Proxy: Setzen Sie in der server.properties jedes Backends server-ip=127.0.0.1 und verwenden Sie in velocity.toml die Adressen 127.0.0.1:<PORT>. Von außen sind die Server dann überhaupt nicht erreichbar. Erlauben Sie in der Firewall des VPS nur den Port des Proxys.
  • Backends auf einem anderen VPS: Erlauben Sie in der Firewall des Backends den Port des Servers nur von der IP-Adresse des Proxys (Firewall im Kundenbereich).

Serverwechsel und Plugins auf dem Proxy#

BefehlWas er tutBerechtigung
/serverZeigt, auf welchem Server Sie sind, und bietet die anderen an.velocity.command.server (standardmäßig hat sie jeder)
/server survivalWechselt auf den Server survival.Dieselbe
/glistDie Spielerzahl auf dem Proxy; mit all aufgeschlüsselt nach Servern.velocity.command.glist (standardmäßig niemand)
/send <NICK> <SERVER>Verschiebt einen Spieler auf einen anderen Server.velocity.command.send
velocity reloadLädt velocity.toml neu (in der Konsole des Proxys).velocity.command.reload
shutdownFährt den Proxy herunter (nur Konsole).–

Plugins auf dem Proxy (im Ordner /opt/velocity/plugins, Versionen für Velocity):

  • LuckPerms – Berechtigungen für Befehle des Proxys. Für Berechtigungen auf den Servern muss LuckPerms auch auf jedem Backend laufen, und alle Instanzen müssen dieselbe MySQL-/MariaDB-Datenbank verwenden (MySQL für Plugins). Setzen Sie auf jedem Backend in der Konfiguration von LuckPerms einen anderen server (zum Beispiel lobby, survival), damit Sie Berechtigungen je Server vergeben können, und messaging-service: sql, damit Änderungen sofort auf allen Servern wirken. Details stehen in der Anleitung LuckPerms.
  • Geyser und Floodgate – Bedrock-Spieler; installieren Sie sie nur auf dem Proxy (Anleitung).
  • spark – Profiling des Proxys, Befehl sparkv.

Überprüfung#

  1. Starten Sie den Proxy und die Backends. Die Konsole des Proxys zeigt Listening on …:25565 und Done (…)!.
  2. Verbinden Sie sich im Spiel mit der Adresse des Proxys. Sie landen auf dem Server lobby.
  3. Geben Sie /server survival ein – Sie wechseln, ohne getrennt zu werden.
  4. Prüfen Sie in der Konsole des Backends die Zeile mit Ihrer Verbindung: Sie muss Ihre echte IP-Adresse enthalten, nicht die des Proxys. Dann funktioniert das Forwarding. Im standardmäßigen Streamer-Modus blendet die Konsole im Kundenbereich IP-Adressen aus – klicken Sie für diese Prüfung oben auf Details anzeigen.
  5. Versuchen Sie, sich direkt mit der Adresse des Backends zu verbinden. Sie müssen This server requires you to connect with Velocity. erhalten.

Fehlerbehebung#

Your server did not send a forwarding request to the proxy. Make sure the server is configured for Velocity forwarding.#

Auf dem Backend ist Modern Forwarding nicht eingeschaltet. Prüfen Sie proxies.velocity.enabled: true in config/paper-global.yml (auf Fabric FabricProxy-Lite) und ob Sie den Server nach der Änderung neu gestartet haben.

Unable to verify player details#

Der Schlüssel auf dem Backend passt nicht zu forwarding.secret auf dem Proxy. Kopieren Sie ihn erneut (ohne zusätzliche Leerzeichen oder Leerzeilen) und starten Sie das Backend neu.

This server requires you to connect with Velocity.#

Sie verbinden sich direkt mit dem Backend – das ist richtig, der Server ist geschützt. Sehen Sie die Meldung auch bei einer Verbindung über den Proxy, ist player-info-forwarding-mode auf dem Proxy auf etwas anderes als modern eingestellt.

Unable to connect you to lobby. Please try again later.#

Der Proxy hat das Backend nicht erreicht: Der Server läuft nicht, Adresse oder Port in [servers] passen nicht zur Adresse in der Registerkarte Netzwerk dieses Servers, oder eine Firewall blockiert die Verbindung.

There are no available servers to connect you to. Try again later or contact an admin.#

Keiner der Server in der Liste try ist verfügbar. Starten Sie die Lobby oder ergänzen Sie in try einen Ausweichserver.

Spieler haben nach dem Wechsel zum Proxy ein leeres Inventar und andere Berechtigungen#

Die Spieler haben andere UUIDs bekommen. Die Ursache ist player-info-forwarding-mode = "none" (Offline-UUIDs) oder ein Unterschied zwischen online-mode auf dem Proxy und proxies.velocity.online-mode auf dem Backend. Stellen Sie Modern Forwarding ein und beide Werte auf true. Die Daten unter den alten UUIDs bleiben in den Dateien der Welt und der Plugins; erstellen Sie vor dem Umzug eines großen Netzwerks auf einen Proxy ein Backup.

Der Proxy lässt Bedrock-Spieler nicht herein, oder sie können nicht schreiben#

Siehe Crossplay mit Bedrock: Geyser muss auf dem Proxy laufen, und force-key-authentication muss in velocity.toml ausgeschaltet sein.

Zusammenfassung

  • Spieler verbinden sich nur mit dem Proxy; der Proxy prüft die Konten (online-mode = true), die Backends haben online-mode=false.
  • Verwenden Sie immer player-info-forwarding-mode = "modern" und auf den Backends proxies.velocity.enabled: true mit demselben Schlüssel aus forwarding.secret.
  • forwarding.secret ist geheim; ersetzen Sie ihn durch einen langen Zufallsschlüssel.
  • Velocity 4 verlangt Java 25, und Plugins auf dem Proxy müssen für Velocity gemacht sein.
  • Prüfen Sie, ob eine direkte Verbindung zu einem Backend mit This server requires you to connect with Velocity. endet.

War diese Anleitung hilfreich?

Gilt für

  • Velocity 4.x
  • Paper 1.13 und neuer
  • Fabric (FabricProxy-Lite)
  • Forge, NeoForge (ProxyCompatibleForge)
  • Ubuntu 24.04
  • Debian 13
Fehler in der Anleitung melden

Anleitungen durchsuchen