Instalacja Spigot'a Ubuntu 20.04

1. Zainstaluj wymagane rzeczy

Zainstaluj wymagane narzędzia

$ sudo apt-get install wget apt-transport-https gnupg

Zaimportuj klucz GPG AdoptOpenJDK

$ wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -

Skonfiguruj repozytorium apt dla AdoptOpenJDK

$  echo "deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb $(cat /etc/os-release | grep UBUNTU_CODENAME | cut -d = -f 2) main" | sudo tee /etc/apt/sources.list.d/adoptopenjdk.list

Odśwież indeks pakietów

$ sudo apt-get update

Zainstaluj AdoptOpenJDK

$ sudo apt-get install adoptopenjdk-11-hotspot -y

2. Tworzenie pliku Swapfile

Utwórz plik swap. W przykładzie przydzielono plik o wielkości 1 GB, ustaw tę wartość zgodnie z własnymi potrzebami.

$ sudo fallocate -l 1G /swapfile

Ustaw uprawnienia pliku wymiany.

$ sudo chmod 600 /swapfile

Przydzielenie przestrzeni wymiany.

$ sudo mkswap /swapfile

Włączyć funkcję Swap.

$ sudo swapon /swapfile

Uczyń swój plik swap trwałym poprzez modyfikację pliku fstab.

$ sudo nano /etc/fstab

Dodaj tę linię do dolnej części pliku.

/swapfile   none    swap    sw    0   0

3. Pobierz i uruchom BuildTools

Upewnij się, że jesteś w katalogu home użytkownika używanego do budowania Spigota.

$ cd ~

Utwórz folder dla Spigota i zbuduj najnowszą wersję. Ten przykład buduje Spigota w wersji 1.16.5. Jeśli potrzebujesz innej wersji, zamień 1.16.5 na wersję, którą chcesz zbudować.

$ mkdir buildtools && cd buildtools
$ wget -O BuildTools.jar  https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
$ java -jar BuildTools.jar --rev 1.16.5

Zwróć uwagę na nazwę pliku jar spigota. Na przykład, spigot-1.16.5.jar

$ ls

Utwórz katalog dla swojego serwera.

$ cd ~ && mkdir server && cd server

Przenieś swój słoik spigot do katalogu serwera. Zamień nazwę spigotname.jar na nazwę swojego pliku.

$ mv ~/buildtools/spigotname.jar ~/server/spigot.jar

4. Uruchomienie serwera

Utwórz skrypt startowy dla swojego serwera.

$ nano start.sh

Do pliku start.sh wklej następujące informacje. Parametry 4G-Xms4G -Xmx4G konfigurują przestrzeń sterty Javy na 4 GB pamięci RAM. Zmień to na ilość pamięci RAM, którą chcesz przeznaczyć dla Spigota. System operacyjny wymaga również dostępnej pamięci RAM, proszę nie przypisywać całej dostępnej pamięci RAM do Spigota. Na przykład, jeśli VPS ma 8 GB RAM, możesz rozważyć ustawienie -Xms7G -Xmx7G.

#!/bin/sh
while true
do
java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar spigot.jar nogui
echo "restarting in 10"
sleep 10
done

Spraw, aby plik start.sh był wykonywalny.

$ chmod +x start.sh

Uruchom swój serwer.

$ ./start.sh

Przy pierwszym ładowaniu pojawia się monit o zaakceptowanie EULA i nie udaje się załadować programu. Skrypt następnie zapętla się i musisz wpisać CTRL + C, aby wyjść ze skryptu w tym momencie.

Zaakceptuj umowę EULA.

$ nano eula.txt

Zmień eula= z false do true. Zapisz i wyjdź z pliku.

Uruchom ponownie swój serwer.

$ ./start.sh

Opcjonalnie: Uruchom serwer w tle

Zainstaluj screen.

$ sudo apt-get install screen -y

Otwórz instancję screen.

$ screen -S "spigot"

Uruchom skrypt serwera.

$ cd ~/spigot && ./start.sh

Skonfiguruj ustawienia swojego serwera i zainstaluj wtyczki.

Rozwiązywanie problemów

Jeśli Twój spigot jar nie działa, potrzebujesz więcej pamięci RAM na swoim serwerze lub większy plik wymiany.