BungeeGuard – Jak zabezpieczyć serwery Spigot przy Bungeecord

BungeeGuard – Jak zabezpieczyć serwery Spigot przy Bungeecord

Wstęp

Korzystając z proxy BungeeCord, łączymy kilka serwerów w jedną sieć. Niestety, takie rozwiązanie może być podatne na ataki, gdy gracze łączą się bezpośrednio z serwerami Spigot, omijając proxy. BungeeGuard to plugin stworzony przez PaperMC, który pozwala zabezpieczyć serwery przed nieautoryzowanymi połączeniami.

W tym poradniku dowiesz się, jak skonfigurować BungeeGuard krok po kroku, aby zabezpieczyć swoją sieć serwerów Minecraft.


Wymagania

  • Serwer proxy z BungeeCord lub jego forkami (np. Waterfall).
  • Serwery typu Spigot, Paper lub ich modyfikacje.
  • Plugin BungeeGuard pobrany z GitHub.

Jak działa BungeeGuard?

BungeeGuard opiera się na wymianie specjalnych tokenów między serwerem proxy a serwerami Spigot. Proxy wysyła token podczas połączenia, a serwer Spigot weryfikuje jego poprawność. Dzięki temu tylko połączenia pochodzące z proxy są akceptowane.


Instalacja

Na serwerze proxy (BungeeCord):

  1. Pobierz najnowszą wersję BungeeGuard z GitHub.
  2. Umieść plik BungeeGuard.jar w folderze plugins serwera proxy.
  3. Uruchom serwer, aby wygenerować pliki konfiguracyjne.
  4. W folderze plugins/BungeeGuard znajdziesz plik token.yml, w którym znajduje się token, np.:
    
    token: RANDOMOWY_TOKEN
    
                
  5. Skopiuj ten token – będzie potrzebny na serwerach Spigot.
  6. Zrestartuj serwer proxy.

Na serwerach Spigot:

  1. Umieść plik BungeeGuard.jar w folderze plugins każdego serwera Spigot.
  2. Uruchom serwer, aby wygenerować pliki konfiguracyjne.
  3. W folderze plugins/BungeeGuard otwórz plik config.yml.
  4. W sekcji allowed-tokens wklej token skopiowany z proxy:
    
    allowed-tokens:
    
      - RANDOMOWY_TOKEN
    
                
  5. Zrestartuj serwer Spigot.

Uwaga: Wszystkie serwery Spigot w sieci muszą mieć ten sam token w konfiguracji!


Dodatkowe zabezpieczenia

Ograniczenie dostępności serwera Spigot

Aby uniemożliwić bezpośrednie połączenia z serwerami Spigot:

  1. Skorzystaj z reguł firewalla, aby dopuścić tylko ruch z adresu IP proxy.
  2. Jeśli nie masz dostępu do firewalla, możesz ustawić w server.properties opcję server-ip, aby serwer działał tylko lokalnie:
    
    server-ip=127.0.0.1
    
                

Przykład reguły firewalla (iptables na Linuxie):


iptables -A INPUT -p tcp --dport 25565 -s IP_PROXY -j ACCEPT

iptables -A INPUT -p tcp --dport 25565 -j DROP

    

Testowanie konfiguracji

  1. Uruchom serwer proxy i serwery Spigot.
  2. Spróbuj połączyć się bezpośrednio z serwerem Spigot – połączenie powinno zostać odrzucone.
  3. Połącz się przez proxy – jeśli wszystko działa poprawnie, konfiguracja jest gotowa.

Częste problemy i ich rozwiązania

Problem: "Player cannot connect to Spigot directly."

Upewnij się, że token w config.yml serwera Spigot jest zgodny z tym na proxy.

Problem: "Players cannot connect at all."

Sprawdź, czy token jest poprawny i czy proxy wysyła go prawidłowo. Upewnij się, że proxy i serwery Spigot komunikują się po tym samym IP.


Podsumowanie

Korzystanie z BungeeGuard to prosty sposób na zabezpieczenie serwerów Spigot w sieci BungeeCord. Dzięki wymianie tokenów oraz dodatkowym zabezpieczeniom, takim jak firewall, możesz skutecznie ochronić swoją sieć przed nieautoryzowanymi połączeniami.

Jeśli masz pytania, daj znać w komentarzach!