Łą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:

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.

2 polubienia

Przeniesiono do kategorii Poradniki.