# Podłączenie zewnętrznego proxy do serwera na RaidVM

Jeśli masz własne proxy (np. Velocity) postawione na zewnętrznym hostingu (np. VPS) i chcesz podłączyć do niego serwer hostowany na RaidVM - ten poradnik jest dla ciebie.

# Dlaczego standardowe Velocity nie zadziała?

Na RaidVM nie dostajesz klasycznego adresu IP:port tak jak na większości hostingów. Zamiast tego dostajesz subdomenę w stylu p40000.raidsv.com. Pod spodem każdy serwer na RaidVM ma ten sam adres IP i ten sam port - ruch jest rozdzielany na podstawie nazwy hosta (virtual hosting). Dzięki temu nasz anti-DDoS działa na pełnych obrotach.

Problem w tym, że gdy Velocity łączy się z serwerem backendowym, wysyła do niego pole Server Address w pakiecie Handshake. Domyślnie Velocity wpisuje tam domenę, z której połączył się gracz - a nie domenę backendowego serwera RaidVM. Przez to serwer na RaidVM nie wie, do którego serwera kierować połączenie, i odrzuca je.

Velocity nie obsługuje podmiany tej domeny z poziomu konfiguracji, więc potrzebne jest inne rozwiązanie.

# Rozwiązanie: Gate jako pośrednik

Gate to lekki proxy Minecraft, który obsługuje opcję modifyVirtualHost. Dzięki niej Gate podmienia pole Server Address w pakiecie Handshake na poprawną domenę serwera RaidVM, zanim przekaże połączenie dalej.

Schemat działania:

Gracz -> Twoje Velocity (na VPS) -> Gate (na VPS) -> Serwer na RaidVM

# Instalacja Gate

Pobierz najnowszą wersję Gate ze strony gate.minekube.com i uruchom go na swoim VPS.

# Konfiguracja Gate

Przykładowy plik konfiguracyjny (config.yml):

config:
    bind: 0.0.0.0:25575
    forwarding:
        mode: velocity
    lite:
        enabled: true
        routes:
            - backend: p40000.raidsv.com:30571
              host: '*'
              modifyVirtualHost: true
              strategy: random
    servers:
        raidvm: p40000.raidsv.com:30571
    try:
        - raidvm
connect:
    allowOfflineModePlayers: true
    enabled: true

Podmień p40000.raidsv.com na adres swojego serwera z panelu.

# Podłączenie Velocity do Gate

W konfiguracji Velocity (velocity.toml) dodaj serwer wskazujący na Gate zamiast bezpośrednio na RaidVM:

[servers]
raidvm = "127.0.0.1:25575"

Jeśli Gate chodzi na tym samym VPS'ie co Velocity to 127.0.0.1 jest poprawne. Jeśli na innym - podaj IP tego VPS'a.