Łączenie serwerów za pomocą proxy

Łączenie serwerów za pomocą proxy

W tym poradniku pokażę jak połączyć kilka serwerów minecraft w “sieć” za pomocą proxy. Posłużę się FlameCordem.

1. Wybór silnika proxy

Wybór silnika należy do was, lecz w skrócie opiszę wam kilka z nich.

  • BungeeCord - najprostszy, często używany podczas początków z serwerami minecraft. Niestety posiada sporo błędów, przez co nie jest zalecany przy większych projektach.
  • Waterfall - fork BungeeCorda, naprawiający część jego błędów oraz z szerszą możliwością konfiguracji.
  • FlameCord - fork Travertine - wersji Waterfalla obsługującej minecrafta 1.7. Najlepiej zabezpieczony z powyższych silników proxy.
  • Velocity - nie jest forkiem żadnego z silników proxy, jest niezależne. Według wielu osób jest to najlepszy silnik proxy. Główną, i wydaje mi się że jedyną wadą jest niedostępność większości pluginów z BungeeCorda na Velocity.

2. Instalacja i pierwsze uruchomienie proxy

Windows

W przypadku systemu Windows jest to bardzo proste. Wystarczy pobrać naszego FlameCord’a, stworzyć nowy folder, przenieść tam plik FlameCord.jar oraz stworzyć nawet najprostszy plik startowy. W przypadku systemu Windows będzie to plik z rozszerzeniem .bat o treści

java -Xmx1000M -Xms1000M -jar FlameCord.jar
PAUSE

Wartości “Xmx” oraz “Xms” To ilość pamięci RAM zużywanej przez serwer, a “FlameCord.jar” to nazwa pliku .jar z silnikiem proxy. Przy pierwszym uruchomieniu, gdy nie mamy jeszcze żadnych pluginów itp. wiadomości w konsoli powinny wyglądać mniej więcej tak:

Zrzut ekranu 2021-06-05 125127

Ubuntu

Dla bezpieczeństwa zalecane jest utworzenie nowego użytkownika komendą adduser (przełączamy się na niego przez su <użytkownik>.

Aby w ogóle móc uruchomić proxy, musimy zainstalować Javę oraz screen’a, komendami apt install openjdk-11-jre-headless (jeśli chcecie zainstalować inną wersję Javy, w miejscu 11 należy wpisać inną liczbę) oraz apt install screen.

Aby stworzyć folder o nazwie np. flamecord, należy wpisać komendę mkdir /home/flamecord (możesz pominąć ten krok jeśli utworzyłeś nowego użytkownika). Następnie do nowo utworzonego folderu musimy przenieść silnik proxy. (dla ułatwienia można użyć wget - wget <bezpośredni link do silnika> -O FlameCord.jar

Po tym musimy stworzyć plik startowy wpisując następujące komendy:
cd /home/flamecord
nano start.sh
W pliku wpisujemy:

#!/bin/bash

screen -dmS proxy java -Xmx1G -Xms1G -jar FlameCord.jar 

Aby zapisać zmiany, klikamy po kolei CTRL + O, ENTER i CTRL + X.
Teraz musimy nadać uprawnienia do pliku startowego komendą chmod 755 start.sh.
Proxy uruchamiamy komendą ./start.sh będąc w lokalizacji z plikami proxy.

Jeżeli nasze proxy uruchamia się poprawnie, możemy przejść do konfiguracji.

3. Konfiguracja proxy oraz serwerów gry

W folderze z naszym proxy otwieramy plik config.yml i zmieniamy w nim następujące rzeczy:

● Zmieniamy wyświetlaną ilość slotów na proxy

listeners:
  max_players: (ilość slotów)

● Ustawiamy automatycznie dołączanie na serwer lobby za każdym razem

listeners:
  priorities:
    lobby

oraz

listeners:
  force_default_server: false (zmieniamy false na true)

● Zmieniamy MOTD proxy

listeners:
  motd: '(tutaj wpisujemy treść naszego MOTD)'

● Zmieniamy proxy na non-premium (opcjonalnie)

online_mode: true (zmieniamy true na false)

● Zmieniamy administratora serwera

groups:
  md_5: (zmieniamy md_5 na swój nick)
  - admin

● Włączamy przekazywanie IP

ip_forward: false (zmieniamy false na true)

●Zmieniamy port proxy na standardowy dla minecrafta - 25565

listeners:
  host: 0.0.0.0:25577 (zmieniamy 25577 na 25565)

● Dodajemy serwery
w zakładce servers: dodajemy serwery zgodnie ze wzorem:

  lobby:
    motd: '&1Just another FlameCord - Forced Host'
    address: localhost:25565
    restricted: false

Nie możecie zapomnieć aby w automatycznie dodanym serwerze lobby zmienić motd oraz adres!

Teraz możemy przejść do serwerów gry. Opisane zmiany należy wykonać na wszystkich dodawanych serwerach.
W folderze z serwerem otwieramy plik server-properties i zmieniamy w nim następujące rzeczy:
● Zmieniamy port serwera
server-port=25565 (port zmieniamy na jakikolwiek inny, np. 25566. Jeśli serwery gry nie są uruchamione na zwykłym komputerze, serwerze VPS czy serwerze dedykowanym to można pominąć ten krok.)

● Zmieniamy serwer na tryb non-premium

online-mode=true (zmieniamy true na false)

● Zmieniamy ustawienia kompresji pakietów

network-compression-threshold=256 (zmieniamy 256 na -1)

W pliku spigot.yml należy również dokonać pewnej zmiany:
● Włączamy tryb bungeecord

settings:
  bungeecord: false (zmieniamy false na true)

Oraz w pliku bukkit.yml:
● Zmieniamy czas pomiędzy możliwymi kolejnymi połączeniami z serwerem

connection-throttle: 4000 (zmieniamy 4000 na -1)

3. Zabezpieczenia proxy oraz serwerów gry

Ten poradnik miał się skupić na samym uruchamianiu proxy, lecz bez dobrych zabezpieczeń serwer nie może w pełni bezpiecznie funkcjonować. Przedstawię wam kilka rzeczy, dzięki którym wasze proxy będzie dość bezpieczne.

AuthMeBungee
AuthMeBungee to dodatek do popularnego pluginu AuthMe instalowany na proxy blokujący komendy proxy przed zalogowaniem. Możecie go pobrać tutaj

AntyBot
Ataki botów bardzo obciążają serwery i proxy, a czasem nawet doprowadzają do ich wyłączenia. Aby temu zapobiec, musicie zabezpieczyć się w dobry plugin blokujący boty. Osobiście polecam Botsentry, lecz jeśli wolicie darmowe rozwiązanie zainteresujcie się 2LS AntiBot.

IPWhitelist
Bez pluginu IPWhitelist, każdy kto stworzy własne proxy oraz zna adresy serwerów innych niż lobby i proxy może się do nich podłączyć omijając logowanie. Plugin należy zainstalować na każdym z serwerów gry. Trzeba go również skonfigurować, lecz jest to tylko wpisanie komendy /ipwl addip (adres IP maszyny z proxy). Plugin możecie pobrać tutaj

BungeeGuard
BungeeGuard to plugin sprawdzający czy gracz na pewno dołącza na serwer przez nasze proxy. Proxy zapisuje specjalny token podczas logowania gracza, a serwery np. lobby sprawdzają czy gracz ma dozwolony token. Plugin należy zainstalować zarówno na proxy jak i każdym z serwerów. Możecie go pobrać tutaj

I gotowe! Po uruchomieniu serwerów oraz proxy możemy przełączać się między serwerami komendą /server (nazwa serwera). Dla ułatwienia korzystania z permisji, zalecane jest zainstalowanie pluginu LuckPerms.

1 polubienie

Przeniesiono do kategorii Poradniki.