Herní servery

Velocity proxy pro Minecraft – propojení více serverů pod jednu IP

Jak nastavit Velocity proxy s modern forwardingem a Paper backendy, proč backendy nesmí být veřejně dostupné a čím se Velocity liší od BungeeCordu.

12. 10. 2026 · 4 min čtení

Proxy server umožní hráčům připojit se na jednu adresu (mc.example.cz) a přepínat mezi několika servery – lobby, survival, minihry – bez odpojení. Dvě nejznámější proxy jsou BungeeCord (a jeho fork Waterfall, jehož vývoj byl ukončen) a Velocity, kterou dnes vyvíjí a doporučuje tým PaperMC.

Velocity vs. BungeeCord

Velocity BungeeCord
Vývoj PaperMC SpigotMC
Předávání informací o hráči modern forwarding (podepsané tajným klíčem) legacy (IP forwarding bez ověření)
Pluginy vlastní Velocity API BungeeCord API
Doporučení pro nové sítě ano spíš kvůli existujícím pluginům

Hlavní bezpečnostní rozdíl: BungeeCord předává UUID a IP hráče bez ověření, takže pokud je backend dostupný z internetu, útočník se na něj může připojit pod libovolným jménem. Velocity v režimu modern podepisuje data tajným klíčem a backend je bez klíče odmítne. Modern forwarding funguje pro Minecraft 1.13 a novější.

Architektura

hráč ──► Velocity :25565 (veřejný port)
             ├─► lobby    127.0.0.1:30066
             └─► survival 127.0.0.1:30067

Backendy běží v offline módu – ověření účtu u Mojangu provádí proxy. Proto je kritické, aby se na backendy nedalo připojit napřímo.

Instalace Velocity

Stáhněte Velocity z papermc.io/downloads/velocity a spusťte:

java -Xms512M -Xmx512M -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -jar velocity.jar

Proxy potřebuje málo paměti, pro desítky hráčů obvykle stačí 512 MB–1 GB. První spuštění vytvoří velocity.toml a forwarding.secret.

velocity.toml

Klíčové části:

bind = "0.0.0.0:25565"
motd = "<#09add3>Moje síť"
show-max-players = 100
online-mode = true
player-info-forwarding-mode = "modern"
forwarding-secret-file = "forwarding.secret"

[servers]
lobby = "127.0.0.1:30066"
survival = "127.0.0.1:30067"
try = ["lobby"]

[forced-hosts]
"survival.example.cz" = ["survival"]
  • try – na které servery se hráč připojí po vstupu (a kam spadne, když backend spadne).
  • forced-hosts – připojení přes konkrétní doménu pošle hráče rovnou na daný server.
  • forwarding.secret – náhodný řetězec. Nikde ho nezveřejňujte.

Nastavení Paper backendu

Na každém backendu:

server.properties

online-mode=false
server-port=30066

spigot.yml – BungeeCord režim musí být vypnutý:

settings:
  bungeecord: false

config/paper-global.yml (Paper 1.19+):

proxies:
  velocity:
    enabled: true
    online-mode: true
    secret: 'obsah-souboru-forwarding.secret'

Po restartu backendu se připojte přes proxy a zkontrolujte, že má hráč správné UUID a skin. Špatně nastavený forwarding se projeví hláškou typu „Unable to verify player details“ nebo hráči bez skinů.

Varianta s BungeeCord (legacy)

Pokud musíte použít BungeeCord nebo starší verzi hry:

  • config.yml BungeeCordu: ip_forward: true, online_mode: true,
  • spigot.yml backendu: settings.bungeecord: true,
  • server.properties backendu: online-mode=false.

Zde je zabezpečení backendů ještě důležitější, protože forwarding nemá žádné ověření.

Zabezpečení backendů

Backend musí přijímat spojení jen od proxy:

  • Pokud proxy a backendy běží na stejném stroji, nechte backendy naslouchat jen na 127.0.0.1 (server-ip=127.0.0.1 v server.properties).
  • Na různých strojích použijte privátní síť nebo firewall, který povolí port backendu jen z IP proxy.

V Pterodactylu dejte pozor: porty kontejnerů publikuje Docker a ten obchází ufw. Omezení musí být v řetězci DOCKER-USER – podrobnosti v článku Alokace a porty v Pterodactylu. Alternativou je přiřadit backendům alokaci na privátní IP nodu, pokud ji provider poskytuje.

Ověřte zvenku, že backend není dostupný:

nc -vz -w 3 VEREJNA_IP 30066

Spojení musí selhat.

Užitečné příkazy Velocity

/velocity info      – verze proxy
/velocity plugins   – nainstalované pluginy
/velocity reload    – znovunačtení konfigurace
/server survival    – přepnutí hráče na server
/glist              – hráči na jednotlivých serverech

Pluginy na proxy

Pluginy pro Velocity patří do složky plugins/ proxy a musí být napsané pro Velocity API – Paper ani BungeeCord pluginy nefungují. Typicky na proxy patří: chat napříč servery, ban systém, MOTD, tablist. Pro synchronizaci dat mezi servery se používá plugin messaging nebo sdílená databáze (MySQL/Redis).

Shrnutí

  1. Velocity s player-info-forwarding-mode = "modern".
  2. Backendy online-mode=false a v paper-global.yml Velocity s tajným klíčem.
  3. Backendy nedostupné z internetu.
  4. Ověřit připojení, UUID a nedostupnost backendů zvenku.