Velocity - nowoczesny proxy sieciowy Minecraft
Velocity to proxy nowej generacji od zespołu PaperMC. Łączy wiele serwerów Minecraft w jedną sieć, oferując graczom płynne przechodzenie między lobby, trybami gry i światami. Szybszy i bezpieczniejszy od BungeeCord, obsługuje wersje od 1.7.2 do 1.21.x.
Co to jest Velocity
Velocity to darmowy, open-source proxy sieciowy stworzony przez zespół PaperMC (twórców Paper i Waterfall). Pełni rolę bramy wejściowej do sieci serwerów Minecraft - gracze łączą się z adresem proxy, a następnie są kierowani na odpowiedni serwer backendowy (lobby, survival, minigry, SkyBlock itp.).
Projekt powstał w 2018 roku jako odpowiedź na ograniczenia BungeeCord. Velocity został napisany od zera z naciskiem na wydajność, bezpieczeństwo i nowoczesne API. Jest rozwijany aktywnie przez ten sam zespół, który stoi za serwerem Paper, co zapewnia doskonałą kompatybilność.
Velocity pobierzesz z oficjalnej strony PaperMC. Kod źródłowy jest na GitHub, dokumentacja na docs.papermc.io.
Velocity vs BungeeCord
Velocity różni się od BungeeCord w kilku kluczowych aspektach:
| Cecha | Velocity | BungeeCord |
|---|---|---|
| Wydajność | Wielowątkowa obsługa połączeń, niższe zużycie CPU | Jednowątkowy event loop |
| Bezpieczeństwo | Modern forwarding (HMAC), domyślnie bezpieczny | Wymaga ręcznej konfiguracji ip-forward + firewall |
| API | Nowoczesne, event-driven, dobrze udokumentowane | Starsze API, trudniejsze w utrzymaniu |
| Kompatybilność | Własny ekosystem pluginów | Ogromna baza istniejących pluginów |
| Wersje MC | 1.7.2 - 1.21.x | 1.8 - 1.21.x |
Velocity jest rekomendowany dla nowych sieci serwerów. BungeeCord nadal ma sens, jeśli korzystasz z pluginów, które nie mają wersji na Velocity.
Instalacja i konfiguracja
Uruchomienie Velocity wymaga osobnej instancji Java (minimum Java 17). Pobierz plik .jar ze strony PaperMC i uruchom go:
java -Xms512M -Xmx512M -jar velocity.jar Przy pierwszym uruchomieniu Velocity wygeneruje plik velocity.toml. Najważniejsze ustawienia:
# Adres i port proxy
bind = "0.0.0.0:25577"
# Tryb przekazywania danych gracza
player-info-forwarding-mode = "modern"
# Lista serwerów backendowych
[servers]
lobby = "127.0.0.1:25565"
survival = "127.0.0.1:25566"
minigry = "127.0.0.1:25567"
# Kolejność prób połączenia
try = ["lobby", "survival"]
# Maksymalna liczba graczy
show-max-players = 500 Każdy serwer backendowy musi działać na osobnym porcie. Velocity kieruje graczy na serwer wymieniony jako pierwszy w liście try.
Modern forwarding
Modern forwarding to unikalna funkcja Velocity, która bezpiecznie przekazuje dane gracza (UUID, skin) z proxy do serwera backendowego. W przeciwieństwie do BungeeCord IP forwarding, modern forwarding używa kryptograficznego podpisu HMAC, co uniemożliwia podszywanie się pod proxy.
Konfiguracja modern forwarding wymaga dwóch kroków:
- W
velocity.tomlustawplayer-info-forwarding-mode = "modern" - Na każdym serwerze Paper ustaw w
config/paper-global.yml:proxies.velocity.enabled: truei wklej sekret z plikuforwarding.secret
Po tej konfiguracji serwery backendowe akceptują połączenia wyłącznie przez Velocity. Bezpośrednie połączenie na port serwera zostanie odrzucone, co eliminuje jedną z najczęstszych luk bezpieczeństwa w sieciach BungeeCord.
Pluginy dla Velocity
Velocity ma własny ekosystem pluginów. Najpopularniejsze:
- LuckPerms - uprawnienia i rangi synchronizowane między serwerami
- ViaVersion + ViaBackwards - obsługa wielu wersji Minecraft
- PremiumVanish - ukrywanie adminów na całej sieci
- GeyserMC - most Bedrock-Java na poziomie proxy
- AJQueue - kolejki wejścia na pełne serwery
- SkinsRestorer - zarządzanie skinami graczy
Pluginy Velocity instalujesz wrzucając pliki .jar do folderu plugins/ w katalogu Velocity. Pluginy BungeeCord nie są kompatybilne - musisz szukać wersji dedykowanej dla Velocity.
Wskazówki dla adminów
- Zablokuj porty backendowe - serwery za proxy nie powinny być dostępne bezpośrednio z internetu. Użyj firewalla (ufw/iptables) aby zablokować porty 25565-25567 dla zewnętrznych IP
- Modern forwarding zawsze - nigdy nie używaj trybu "legacy" na produkcji. Modern forwarding jest bezpieczniejszy i prostszy w konfiguracji
- Oddzielny Java process - Velocity wymaga mało RAM (512MB wystarcza dla 500+ graczy), ale powinien działać jako osobny proces
- Forced hosts - możesz przypisać subdomeny do serwerów (np. survival.mc.pl kieruje na serwer survival) w sekcji
[forced-hosts] - Monitoruj połączenia - włącz
show-ping-requests = truew logach, aby wykrywać boty i ataki na listę serwerów
Powiązane poradniki: BungeeCord (alternatywny proxy), jak stworzyć serwer (podstawy hostingu), LuckPerms na Velocity.