Přejít na obsah
Aktuální kupón:sleva 10 %Uplatnit v objednávce

Síť serverů přes Velocity: lobby, survival a minihry pod jednou adresou

Jak propojit víc Minecraft serverů proxy Velocity: instalace, velocity.toml řádek po řádku, modern forwarding, nastavení Paperu a Fabricu, zabezpečení backendů a řešení chyb.

  • expert
  • ~40 min
  • Aktualizováno 2. 10. 2026

Velocity je proxy, přes kterou se hráči připojují na jednu adresu a pak mezi servery přecházejí příkazem /server – například z lobby do survivalu nebo na minihry. Ukážeme, jak Velocity nainstalovat, nastavit, propojit se servery přes bezpečný modern forwarding a zabezpečit servery za proxy tak, aby se na ně nikdo nedostal napřímo.

Co budete potřebovat

  • Aspoň dva Minecraft servery: Paper nebo Purpur (verze 1.13 a novější), případně Fabric, Forge nebo NeoForge s módem pro forwarding
  • Místo pro proxy: VPS s Ubuntu 24.04 nebo Debianem 13 (připojení přes SSH), samostatný produkt Minecraft Proxy u nás připravujeme
  • Přístup do záložek Soubory a Nastavení serveru u každého serveru
  • Asi 40 minut

Kdy proxy potřebujete#

ChceteProxy potřebujete?
Jeden server pro kamarády nebo komunituNe
Lobby + jeden nebo víc herních serverů pod jednou adresouAno
Různé módy hry (survival, kreativ, minihry) s přecházením bez odpojeníAno
Společný chat, oprávnění nebo bany napříč serveryAno (s pluginy na proxy)
Hráče z Bedrocku na celé sítiAno, Geyser pak běží jen na proxy

Proxy sama hru nepočítá, jen přeposílá spojení. Na výkon je nenáročná: pro desítky hráčů stačí 1–⁠2 GB paměti.

Jak síť funguje#

text
Hráč ──► mc.example.cz:25565  (Velocity, ověří účet hráče)
              │
              ├──► lobby     (Paper, online-mode=false, přijme jen proxy)
              ├──► survival  (Paper, online-mode=false, přijme jen proxy)
              └──► minihry   (Paper, online-mode=false, přijme jen proxy)
  1. Hráč se připojí na adresu proxy. Proxy u Microsoftu ověří, že má originální účet (online-mode = true).
  2. Proxy ho pošle na první server ze seznamu try (lobby).
  3. S připojením proxy předá serveru jméno, UUID, skin a skutečnou IP adresu hráče (player info forwarding). Data podepíše tajným klíčem, který zná jen proxy a vaše servery.
  4. Servery za proxy (backendy) samy nic neověřují (online-mode=false) a věří jen proxy s platným klíčem. Kdo by se připojil napřímo, dostane hlášku This server requires you to connect with Velocity.

Proxy, servery a doména#

  • Proxy: Velocity 4.x vyžaduje Javu 25. Provozujte ji na VPS (VPS Performance, VPS Budget). Na proxy patří jen pluginy pro Velocity – pluginy pro Paper na ní nefungují.
  • Backendy: běžné Minecraft servery. Mohou běžet u nás jako samostatné služby (každá má vlastní adresu a port), nebo na stejné VPS jako proxy.
  • Doména (volitelné): hráči zadají mc.example.cz místo IP (Adresa serveru a doména).

Produkt Minecraft Proxy

Samostatnou proxy jako službu připravujeme. Bude mít v záložce Spuštění preset flagů Proxy určený pro Velocity. Do té doby použijte VPS – postup níže.

Instalace Velocity na VPS#

Platí pro Ubuntu 24.04 i Debian 13. Příkazy spouštějte jako root.

  1. Nainstalujte Javu 25 a program curl:

    bash
    apt update
    apt install openjdk-25-jre-headless curl
    • apt update – stáhne aktuální seznam balíčků.
    • apt install openjdk-25-jre-headless – nainstaluje běhové prostředí Javy 25 bez grafických knihoven (na serveru nejsou potřeba).
    • curl – program pro stahování souborů z internetu (pokud už ho máte, nic se nestane).
  2. Ověřte verzi:

    bash
    java -version

    První řádek výstupu musí obsahovat 25.

  3. Vytvořte uživatele a složku pro proxy:

    bash
    useradd --system --create-home --home-dir /opt/velocity --shell /usr/sbin/nologin velocity
    • useradd --system – vytvoří systémového uživatele bez hesla (proxy nepoběží jako root).
    • --create-home --home-dir /opt/velocity – vytvoří složku /opt/velocity, kde bude proxy.
    • --shell /usr/sbin/nologin – pod tímto uživatelem se nejde přihlásit.
    • velocity – jméno uživatele.
  4. Na stránce papermc.io/downloads/velocity (otevře se v novém okně) zkopírujte odkaz na nejnovější stabilní verzi a stáhněte ji:

    bash
    cd /opt/velocity
    curl -o velocity.jar "<ODKAZ_KE_STAZENI>"
    chown velocity:velocity velocity.jar
    • cd /opt/velocity – přejde do složky proxy.
    • curl -o velocity.jar – stáhne soubor a uloží ho jako velocity.jar.
    • <ODKAZ_KE_STAZENI> – odkaz zkopírovaný ze stránky. Nahraďte ho celý včetně špičatých závorek, uvozovky ponechte.
    • chown velocity:velocity – soubor bude patřit uživateli velocity.
  5. Spusťte proxy poprvé, aby vytvořila konfiguraci:

    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 -- – spustí příkaz za -- jako uživatel velocity.
    • env MALLOC_ARENA_MAX=2 – omezí paměťové arény alokátoru, proxy pak nezabírá zbytečně paměť navíc.
    • -Xms1G -Xmx1G – proxy dostane 1 GB haldy (najednou, nemusí ji zvětšovat za běhu). Pro větší síť zvyšte na 2G. Proxy potřebuje hodně paměti i mimo haldu na síť, proto jí nedávejte víc než polovinu paměti, kterou pro ni máte.
    • -XX:MaxDirectMemorySize=512M – strop pro síťové buffery. Bez něj můžou narůst až do velikosti haldy.
    • -XX:+UseG1GC … -XX:+AlwaysPreTouch – flagy doporučené dokumentací Velocity (garbage collector G1 vyladěný pro proxy).
    • -jar velocity.jar – spustí proxy.

    Příkaz pro jinou velikost paměti připraví Generátor startovacího skriptu.

    Po startu uvidíte řádek Done (…)!. Zadejte end a Enter, proxy se vypne. Ve složce vznikly soubory velocity.toml a forwarding.secret.

  6. Aby proxy běžela trvale a po restartu VPS se spustila sama, vytvořte pro ni službu systemd podle návodu Aplikace 24/7 na VPS. Do unit souboru zadejte User=velocity, WorkingDirectory=/opt/velocity, Environment=MALLOC_ARENA_MAX=2 a do ExecStart příkaz z kroku 5 bez runuser -u velocity -- env MALLOC_ARENA_MAX=2 a s plnou cestou k Javě, tedy začínající /usr/bin/java -Xms1G ….

  7. Povolte port proxy ve firewallu VPS: TCP 25565 (a UDP port Geyseru, pokud ho budete používat). Viz Firewall v zákaznické zóně a UFW.

velocity.toml#

Otevřete soubor /opt/velocity/velocity.toml (například nano /opt/velocity/velocity.toml). Ukázka s nastavením pro síť tří serverů (zbytek souboru ponechte):

/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"
]
NastaveníCo děláDoporučená hodnotaKdy změnit
config-versionVerze formátu souboru.NeměnitNikdy – Velocity ji spravuje sama.
bindIP adresa a port, na kterém proxy poslouchá."0.0.0.0:25565"Jiný port, pokud 25565 nechcete nebo nemůžete použít.
motdPopis v seznamu serverů. Formát MiniMessage (<gold>, <bold>, <#09add3>), ne kódy §.Váš popisKdykoli.
show-max-playersKolik slotů ukáže seznam serverů. Velocity počet hráčů neomezuje, je to jen údaj.Např. 100Podle velikosti sítě.
online-modeProxy ověřuje účty hráčů u Microsoftu.trueNikdy na veřejném serveru.
force-key-authenticationVyžaduje od hráčů klíč pro podepisování chatu.truefalse, když na proxy běží Geyser (hráči z Bedrocku jinak nemohou psát do chatu).
prevent-client-proxy-connectionsOdpojí hráče, jehož poskytovatel internetu nesouhlasí s ověřovacím serverem. Slabá ochrana proti VPN.falsePonechte.
player-info-forwarding-modeJak proxy předává údaje hráčů: none (nic, hráči mají offline UUID), legacy (formát BungeeCord, nezabezpečený), bungeeguard (legacy s klíčem), modern (podepsaný formát Velocity, verze 1.13+)."modern"legacy/bungeeguard jen pro servery 1.12 a starší.
forwarding-secret-fileSoubor s tajným klíčem pro forwarding."forwarding.secret"Neměňte.
announce-forgeProxy se v seznamu serverů hlásí jako Forge server.falsetrue u sítě modovaných serverů.
kick-existing-playersPři druhém přihlášení stejného účtu odpojí to první (chování Vanilly).falsetrue, pokud to hráči očekávají.
[servers]Seznam backendů ve tvaru název = "IP:port". Název uvidí hráči v /server.Adresy vašich serverůPři přidání nebo přesunu serveru.
tryPořadí serverů, na které proxy zkusí poslat hráče po připojení nebo po vyhození ze serveru.["lobby"]Přidejte záložní server, kam hráči spadnou, když lobby neběží.
[forced-hosts]Podle adresy, kterou hráč zadal, ho pošle rovnou na určený server (kdo zadá survival.example.cz, skončí rovnou na serveru survival).Podle potřebyKdyž chcete pro každý server vlastní subdoménu. Doména musí vést na proxy.

Ze sekcí [advanced] a [query] stojí za pozornost tři položky:

Sekce a nastaveníCo děláDoporučená hodnotaKdy změnit
[advanced] › login-ratelimitMinimální odstup (ms) mezi připojeními z jedné IP.3000Neměňte, chrání před zahlcením.
[advanced] › failover-on-unexpected-server-disconnectPři pádu backendu pošle hráče na jiný server místo odpojení.truePonechte.
[query] › enabledOdpovídá na dotazy Query (GameSpy4).falseKdyž ho potřebuje web se statistikami.

Velocity 3 a 4

Ve verzi 4 je místo řádku ping-passthrough = "DISABLED" samostatná sekce [ping-passthrough] s přepínači version, players, description, favicon a modinfo. Určují, co proxy v seznamu serverů převezme z backendu. Ve výchozím stavu je vše vypnuté a platí motd z velocity.toml.

Tajný klíč forwardingu#

Velocity při prvním startu vytvoří soubor forwarding.secret s náhodným klíčem o 12 znacích. Doporučujeme ho nahradit delším:

  1. Vygenerujte náhodné heslo o 32 a více znacích (písmena a číslice) v generátoru hesel.
  2. Vložte ho jako jediný řádek do /opt/velocity/forwarding.secret (například přes nano).
  3. Stejný klíč pak zadáte na všech backendech.

Klíč je jako heslo administrátora

Kdo zná forwarding.secret a adresu backendu, může se na něj připojit pod jménem kteréhokoli hráče, včetně vás. Neposílejte ho nikomu, nedávejte ho do veřejných repozitářů a při podezření na únik ho vyměňte na proxy i na všech backendech.

Nastavení backendů (Paper a Purpur)#

U každého serveru za proxy:

  1. V záložce Nastavení serveru vypněte ve skupině Hráči Ověřování účtů (online-mode=false) a klikněte na Uložit.

    Zákaznická zóna zobrazí varování, že se může připojit kdokoli. Za proxy s modern forwardingem je to správně – ověření dělá proxy a server přijme jen hráče s platným klíčem.

  2. V záložce Soubory otevřete spigot.yml a zkontrolujte, že settings.bungeecord je false:

    spigot.ymlYAML
    settings:
      bungeecord: false
    • bungeecord – zapíná forwarding ve formátu BungeeCord (legacy). Pro modern forwarding musí být vypnutý.
  3. Otevřete config/paper-global.yml a v sekci proxies nastavte:

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

    Za <SECRET> vložte obsah souboru forwarding.secret z proxy. Nahraďte ho celý včetně špičatých závorek, uvozovky ponechte.

  4. Restartujte server.

Co nastavení v paper-global.yml znamenají:

NastaveníCo děláDoporučená hodnotaKdy změnit
proxies.velocity.enabledServer přijímá modern forwarding z Velocity a odmítá přímá připojení.trueJen při rušení proxy.
proxies.velocity.online-modeMusí odpovídat online-mode ve velocity.toml. Určuje, jaká UUID hráči dostanou.trueNikdy, pokud proxy ověřuje hráče.
proxies.velocity.secretStejný klíč jako ve forwarding.secret na proxy.Obsah forwarding.secretPři výměně klíče.

Na Paperu 1.18.2 a starším jsou tato nastavení v souboru paper.yml pod názvy settings.velocity-support.enabled, settings.velocity-support.online-mode a settings.velocity-support.secret.

Fabric, Forge a NeoForge#

LoaderCo nainstalovatKde zadat klíč
FabricMód FabricProxy-Lite (z Modrinthu, vyžaduje Fabric API)config/FabricProxy-Lite.toml, položka secret = "<SECRET>"
Forge, NeoForgeMód ProxyCompatibleForgeKonfigurační soubor módu ve složce config (podle popisu módu na Modrinthu)

Nastavení FabricProxy-Lite:

NastaveníCo děláDoporučená hodnotaKdy změnit
secretKlíč z forwarding.secret.Obsah forwarding.secretPři výměně klíče.
hackOnlineModeDovolí připojení přes proxy i se zapnutým online-mode na backendu.true (výchozí)Ponechte.
hackEarlySendPošle údaje hráče dřív. Vyžaduje ho LuckPerms a některé další módy.true, pokud používáte LuckPermsJinak výchozí false.
hackMessageChainOpraví vyhazování s hláškou o neplatném podpisu chatu po přechodu na jiný server.falsetrue, když hráče po /server vyhodí kvůli podpisu chatu.

Zabezpečení backendů#

Backend s online-mode=false bez funkčního forwardingu by pustil kohokoli pod libovolným jménem. Podle toho, kde servery běží:

  • Backendy u nás (samostatné služby): adresu a port nastavujeme automaticky (server-ip změnit nejde), servery jsou tedy dostupné z internetu. Ochranu zajišťuje modern forwarding: s proxies.velocity.enabled: true server odmítne každého, kdo nepřijde přes proxy s platným klíčem. Nikdy proto nepoužívejte legacy ani none.
  • Backendy na stejné VPS jako proxy: v server.properties každého backendu nastavte server-ip=127.0.0.1 a ve velocity.toml zadejte adresy 127.0.0.1:<PORT>. Servery pak nejsou zvenku vůbec dostupné. Ve firewallu VPS povolte jen port proxy.
  • Backendy na jiné VPS: ve firewallu backendu povolte port serveru jen z IP adresy proxy (Firewall v zákaznické zóně).

Přepínání serverů a pluginy na proxy#

PříkazCo děláOprávnění
/serverUkáže, na kterém serveru jste, a nabídne ostatní.velocity.command.server (výchozí mají všichni)
/server survivalPřepne na server survival.Totéž
/glistPočet hráčů na proxy, s all výpis podle serverů.velocity.command.glist (výchozí nikdo)
/send <NICK> <SERVER>Přesune hráče na jiný server.velocity.command.send
velocity reloadNačte znovu velocity.toml (v konzoli proxy).velocity.command.reload
shutdownVypne proxy (jen v konzoli).–

Pluginy na proxy (do složky /opt/velocity/plugins, verze pro Velocity):

  • LuckPerms – oprávnění pro příkazy proxy. Pro oprávnění na serverech musí být LuckPerms i na každém backendu a všechny instance musí používat stejnou databázi MySQL/MariaDB (MySQL pro pluginy). Na každém backendu nastavte v konfiguraci LuckPerms jiný server (například lobby, survival), ať jde dávat oprávnění pro jednotlivé servery, a messaging-service: sql, ať se změny projeví na všech serverech hned. Podrobně v návodu LuckPerms.
  • Geyser a Floodgate – hráči z Bedrocku, instalujte je jen na proxy (návod).
  • spark – profilování proxy, příkaz sparkv.

Ověření#

  1. Spusťte proxy a backendy. V konzoli proxy uvidíte Listening on …:25565 a Done (…)!.
  2. Připojte se ve hře na adresu proxy. Ocitnete se na serveru lobby.
  3. Napište /server survival – přepne vás bez odpojení.
  4. V konzoli backendu zkontrolujte řádek s vaším připojením: musí obsahovat vaši skutečnou IP adresu, ne adresu proxy. Pak forwarding funguje. Konzole v zákaznické zóně ve výchozím režimu streamu IP adresy skrývá – pro tuto kontrolu klikněte nahoře na Zobrazit údaje.
  5. Zkuste se připojit přímo na adresu backendu. Musíte dostat This server requires you to connect with Velocity.

Když něco nefunguje#

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

Backend nemá zapnutý modern forwarding. Zkontrolujte proxies.velocity.enabled: true v config/paper-global.yml (u Fabricu FabricProxy-Lite) a že jste server po úpravě restartovali.

Unable to verify player details#

Klíč na backendu nesouhlasí s forwarding.secret na proxy. Zkopírujte ho znovu (bez mezer a prázdných řádků navíc) a backend restartujte.

This server requires you to connect with Velocity.#

Připojujete se přímo na backend – to je správně, server je chráněný. Pokud hlášku vidíte i při připojení přes proxy, má proxy player-info-forwarding-mode jiný než modern.

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

Proxy se nedostala na backend: server neběží, adresa nebo port ve [servers] nesouhlasí s adresou v záložce Síť daného serveru, nebo spojení blokuje firewall.

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

Žádný server ze seznamu try není dostupný. Spusťte lobby nebo přidejte do try záložní server.

Hráči mají po přechodu na proxy prázdný inventář a jiná oprávnění#

Hráči dostali jiná UUID. Příčinou je player-info-forwarding-mode = "none" (offline UUID) nebo nesoulad online-mode na proxy a proxies.velocity.online-mode na backendu. Nastavte modern forwarding a obě hodnoty na true. Data se staršími UUID zůstávají v souborech světa a pluginů; před přechodem velké sítě na proxy si udělejte zálohu.

Hráče z Bedrocku proxy nepustí nebo nemohou psát#

Viz Crossplay s Bedrockem: Geyser musí být na proxy a ve velocity.toml vypnuté force-key-authentication.

Shrnutí

  • Hráči se připojují jen na proxy, proxy ověřuje účty (online-mode = true) a backendy mají online-mode=false.
  • Vždy player-info-forwarding-mode = "modern" a na backendech proxies.velocity.enabled: true se stejným klíčem z forwarding.secret.
  • forwarding.secret je tajný, nahraďte ho dlouhým náhodným klíčem.
  • Velocity 4 vyžaduje Javu 25, pluginy na proxy musí být pro Velocity.
  • Ověřte, že přímé připojení na backend skončí hláškou This server requires you to connect with Velocity.

Byl návod užitečný?

Platí pro

  • Velocity 4.x
  • Paper 1.13 a novější
  • Fabric (FabricProxy-Lite)
  • Forge, NeoForge (ProxyCompatibleForge)
  • Ubuntu 24.04
  • Debian 13
Nahlásit chybu v návodu

Hledání v návodech