Połączenie sieci Proxy (Velocity & BungeeCord)

In 

Serwery proxy (np. Velocity lub BungeeCord / Waterfall) pozwalają na łączenie wielu niezależnych podserwerów (np. Lobby, Survival, BedWars) w jedną spójną sieć, po której gracze mogą przechodzić za pomocą komend (np. /server survival) lub portali.

Poniższy poradnik wyjaśnia, jak poprawnie i bezpiecznie spiąć podserwery z silnikiem proxy, unikając luk bezpieczeństwa.

🔒 Kluczowa zasada bezpieczeństwa:
Wszystkie podserwery w sieci muszą mieć ustawione online-mode=false w pliku server.properties, ponieważ to proxy weryfikuje konta graczy w bazie Mojang.
Nigdy nie zostawiaj podserwera z wyłączonym online-mode bez włączonego forwardingu (Velocity Modern Forwarding lub BungeeGuard). Bez tego każdy gracz może połączyć się bezpośrednio z adresem podserwera pod dowolnym nickiem (w tym administratora) i przejąć uprawnienia.


Wariant 1: Konfiguracja Velocity (Zalecana)

Velocity to nowoczesny silnik proxy zapewniający najwyższą wydajność oraz wbudowany, kryptograficznie zabezpieczony system Modern Forwarding.

1. Skonfiguruj serwer Proxy (Velocity)

  1. W Menedżerze plików serwera proxy otwórz plik velocity.toml.
  2. Ustaw tryb przesyłania danych graczy na modern:
    player-info-forwarding-mode = "modern"
  3. W polu forwarding-secret zdefiniuj własny, długi ciąg znaków (lub skopiuj wygenerowany sekret z pliku forwarding.secret):
    forwarding-secret = "twoj_bardzo_tajny_ciag_znakow_123456"
  4. W sekcji [servers] zdefiniuj adresy IP i porty swoich podserwerów:
    [servers]
    lobby = "193.70.12.34:25566"
    survival = "193.70.12.34:25567"
    
    try = [
        "lobby"
    ]
  5. Zapisz plik.

2. Skonfiguruj podserwer (Paper / Purpur)

  1. Otwórz plik server.properties podserwera i zmień:
    online-mode=false
  2. Otwórz plik config/paper-global.yml (w starszych wersjach paper.yml):
    proxies:
      velocity:
        enabled: true
        online-mode: true
        secret: "twoj_bardzo_tajny_ciag_znakow_123456" # Wklej ten sam sekret co w velocity.toml!
  3. Zapisz plik i zrestartuj podserwer.

Wariant 2: Konfiguracja BungeeCord / Waterfall

Jeśli korzystasz ze starszego silnika BungeeCord lub Waterfall:

1. Konfiguracja BungeeCord (config.yml)

  1. Otwórz plik config.yml w głównym folderze proxy.
  2. Włącz przesyłanie adresów IP i UUID graczy:
    ip_forward: true
  3. W sekcji servers: wpisz swoje podserwery:
    servers:
      lobby:
        motd: 'Serwer Lobby'
        address: 193.70.12.34:25566
        restricted: false

2. Konfiguracja podserwera Spigot / Paper

  1. W pliku server.properties ustaw:
    online-mode=false
  2. W pliku spigot.yml przestaw:
    settings:
      bungeecord: true
  3. Zabezpieczenie: Zainstaluj plugin BungeeGuard na serwerze proxy oraz na wszystkich podserwerach, aby uniemożliwić wejście na podserwery z pominięciem proxy.

💡 Najczęściej zadawane pytania (FAQ)

❔ Błąd przy łączeniu: "Unable to verify player details" lub "Connection refused" – co oznacza?
Sekret w konfiguracji podserwera (paper-global.yml) nie zgadza się z sekretem w velocity.toml. Upewnij się, że w obu plikach wpisany jest dokładnie ten sam ciąg znaków bez zbędnych spacji.

❔ Wszyscy gracze na podserwerze mają ten sam adres IP (127.0.0.1) lub domyślny skin – jak naprawić?
Nie włączyłeś przesyłania danych gracza (forwarding). Upewnij się, że w Velocity masz player-info-forwarding-mode = "modern", a w Paper włączoną opcję proxies.velocity.enabled: true.