웹사이트 검색

Ubuntu 20.04에 Spigot Minecraft 서버를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 1단계 - 방화벽 구성\n
  3. 2단계 - Java 및 Git 설치
  4. 3단계 - Minecraft 사용자 만들기
  5. 4단계 - Spigot 다운로드 및 설치
  6. 5단계 - Spigot 서버 시작
  7. 6단계 - Spigot을 서비스로 구성
  8. 7단계 - Minecraft에 연결
  9. 8단계 - 서버 속성 사용자 정의
  10. 9단계 - 플러그인 설치\n
  11. 10단계 - 마개 업데이트
  12. 결론

Spigot은 CraftBukkit을 기반으로 수정된 Minecraft 서버 소프트웨어입니다. 기존의 모든 플러그인 및 모드와의 호환성을 유지하면서 추가 성능 최적화, 구성 옵션 및 기능을 제공합니다.

이 튜토리얼에서는 Ubuntu 20.04 기반 서버에 Spigot Server를 빌드 및 설치하고 플러그인을 설치하는 방법을 배웁니다.

전제 조건

  • A server running Ubuntu 20.04 with a minimum of 4GB RAM and 2 CPU Cores.

  • A non-root user with sudo privileges.

  • Everything is updated.

    $ sudo apt update && sudo apt upgrade
    
  • Install the required packages.

    $ sudo apt install wget apt-transport-https gnupg nano screen
    

1단계 - 방화벽 구성

첫 번째 단계는 방화벽을 구성하는 것입니다. 우분투는 기본적으로 ufw(복잡하지 않은 방화벽)와 함께 제공됩니다.

방화벽이 실행 중인지 확인하십시오.

$ sudo ufw status

다음 출력을 얻어야 합니다.

Status: inactive

SSH 포트를 허용하여 방화벽을 활성화할 때 현재 연결이 끊어지지 않도록 합니다.

$ sudo ufw allow OpenSSH

Spigot 서버가 연결을 수락하도록 포트 25565를 허용합니다.

$ sudo ufw allow 25565

방화벽 활성화

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

방화벽의 상태를 다시 확인하십시오.

$ sudo ufw status

비슷한 출력이 표시되어야 합니다.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
25565                      ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
25565 (v6)                 ALLOW       Anywhere (v6)

2단계 - Java 및 Git 설치

Spigot 설치 프로그램이 작동하려면 Java 및 Git이 필요합니다. Ubuntu 20.04는 사용 가능한 최신 Java 버전으로 OpenJDK 17과 함께 제공됩니다. 다음 명령을 실행하여 설치하십시오.

$ sudo apt install openjdk-17-jre-headless

릴리스를 확인합니다.

$ java --version
openjdk 17.0.1 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.1+12-Ubuntu-120.04, mixed mode, sharing)

힘내를 설치하십시오.

$ sudo apt install git

3단계 - Minecraft 사용자 만들기

다음 단계는 서버 실행을 위한 전용 사용자를 생성하는 것입니다.

$ sudo adduser minecraft

새로 만든 사용자로 전환합니다.

$ sudo su - minecraft

4단계 - Spigot 다운로드 및 설치

BuildTools.jar 애플리케이션을 사용하여 Spigot을 빌드합니다. 첫 번째 단계는 홈 디렉토리로 전환하는 것입니다.

minecraft:$ cd ~

BuildTools에 대한 새 디렉토리를 생성하고 이동합니다.

minecraft:$ mkdir buildtools && cd buildtools

BuildTools.jar 파일을 가져옵니다.

minecraft:$ wget -O BuildTools.jar  https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar

Spigot의 최신 안정 버전을 빌드합니다.

minecraft:$ java -jar BuildTools.jar --rev latest

사용 가능한 서버 리소스에 따라 이 프로세스를 완료하는 데 시간이 걸릴 수 있습니다.

생성된 Spigot jar 파일의 이름을 확인합니다.

minecraft:$ ls 
apache-maven-3.6.0  BuildData  BuildTools.jar  BuildTools.log.txt  Bukkit  CraftBukkit  Spigot  spigot-1.18.1.jar  work

우리의 경우 이름은 입니다.

Spigot Server용으로 다른 디렉터리를 만들고 이 디렉터리로 전환합니다.

minecraft:$ cd ~ && mkdir server && cd server

Spigot jar 파일을 새로 만든 서버 디렉터리로 이동합니다.

minecraft:$ mv ~/buildtools/spigot-1.18.1.jar ~/server/spigot.jar

5단계 - Spigot 서버 시작

Spigot 서버를 시작하려면 다양한 Java 매개변수를 전달하여 서버를 최적화할 수 있는 시작 스크립트를 생성해야 합니다.

Spigot의 시작 스크립트를 만들고 엽니다.

minecraft:$ sudo nano spigotstart.sh

파일에 다음 코드를 붙여넣습니다.

#!/bin/sh

java -Xms3G -Xmx3G -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

-Xms3G -Xmx3G 매개변수는 4GB RAM에 대한 Java 힙 공간을 구성했습니다. 우리는 OS와 RAM이 필요한 다른 것들을 위해 우리의 경우에 1GB의 여유 공간을 남겼습니다. 이것을 Spigot 서버에 할당하려는 RAM 양으로 변경합니다. 서버에 16GB RAM이 있는 경우 14GB 또는 15GB RAM을 차지하도록 매개변수를 설정해야 합니다.

완료되면 Ctrl + X를 누르고 메시지가 표시되면 Y를 입력하여 파일을 저장합니다.

시작 스크립트를 실행 가능하게 만드십시오.

minecraft:$ chmod +x spigotstart.sh

처음으로 Spigot 서버를 시작합니다.

minecraft:$ ./spigotstart.sh

서버가 시작되지 않고 대신 종료되며 다음 메시지가 표시됩니다.

[14:14:21] [ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

편집을 위해 eula.txt를 엽니다.

minecraft:$ nano eula.txt

변수 eula의 값을 true로 설정합니다.

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sun Dec 26 13:29:15 UTC 2021
eula=true

완료되면 Ctrl + X를 누르고 메시지가 표시되면 Y를 입력하여 파일을 저장합니다.

서버를 시작하기 전에 백그라운드에서 서비스로 실행되도록 구성하겠습니다.

6단계 - Spigot을 서비스로 구성

서버가 작동하려면 셸이 항상 실행 중이어야 하는데 이는 이상적이지 않습니다. 서버가 부팅 시 자동으로 시작되고 백그라운드에서 실행될 수 있도록 서비스를 만들어야 합니다.

minecraft 사용자를 종료합니다.

minecraft:$ exit

Spigot 서비스 파일을 만들고 편집을 위해 엽니다.

$ sudo nano /etc/systemd/system/spigot.service

다음 코드를 붙여넣습니다.

[Unit]
Description=SpigotMC
After=network.target

[Service]
Type=forking
User=minecraft
Group=minecraft
ExecStart=/usr/bin/screen -d -m -S minecraft /home/minecraft/server/spigotstart.sh
ExecStop=/usr/bin/screen -S minecraft -p 0 -X stuff "stop$(printf \\r)"
WorkingDirectory=/home/minecraft/server

[Install]
WantedBy=multi-user.target

완료되면 Ctrl + X를 누르고 메시지가 표시되면 Y를 입력하여 파일을 저장합니다.

서비스 데몬을 다시 로드합니다.

$ sudo systemctl daemon-reload

서비스를 활성화합니다.

$ sudo systemctl enable spigot

Spigot 서비스를 시작합니다.

$ sudo systemctl start spigot

서비스 상태를 확인하세요.

$ sudo systemctl status spigot
? spigot.service - SpigotMC
     Loaded: loaded (/etc/systemd/system/spigot.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-12-27 09:15:25 UTC; 6s ago
    Process: 32011 ExecStart=/usr/bin/screen -d -m -S minecraft /home/minecraft/server/spigotstart.sh (code=exited, sta>
   Main PID: 32012 (screen)
      Tasks: 25 (limit: 4691)
     Memory: 3.2G
     CGroup: /system.slice/spigot.service
             ??32012 /usr/bin/SCREEN -d -m -S minecraft /home/minecraft/server/spigotstart.sh
             ??32013 /bin/sh /home/minecraft/server/spigotstart.sh
             ??32014 java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockEx>

Dec 27 09:15:25 spigot systemd[1]: Starting SpigotMC...
Dec 27 09:15:25 spigot systemd[1]: Started SpigotMC.

7단계 - Minecraft에 연결

이제 서버가 가동되어 실행 중이므로 Minecraft에 연결할 차례입니다. Minecraft 게임을 시작합니다.

멀티플레이어 버튼을 클릭하고 이 화면을 다시 표시하지 않음 상자를 선택하여 향후 경고를 무시합니다.

다음 페이지에서 서버 추가 버튼을 클릭합니다.

서버 공용 IP 주소와 이름을 입력합니다. 완료되면 완료를 클릭합니다.

이제 서버가 목록에 나타납니다.

서버 이름을 클릭하고 서버 가입 버튼을 눌러 서버를 시작합니다. 게임이 곧 시작됩니다.

친구에게 서버에 가입하고 함께 플레이하도록 요청할 수 있습니다.

8단계 - 서버 속성 사용자 정의

/home/minecraft/server/server.properties 파일을 편집하여 서버를 사용자 지정할 수 있습니다. 아래 속성 중 일부를 살펴보겠습니다.

  • Enable command blocks: Values available are true and false.

    enable-command-block=false
    
  • Gamemode: Values available are survival, creative, adventure, and spectator. They can also be defined by integers starting from 0 for survival, 1 for creative, 2 for adventure, and 3 for spectator.

    gamemode=survival
    
  • Difficulty: Values available are peaceful, easy, normal, and hard. They can also be defined by integers starting from 0 for peaceful, 1 for easy, 2 for normal and 3 for hard.

    difficulty=easy
    
  • MOTD: Stands for Message Of The Day. It is the message that is shown on the Server list page. Accepts a string value. Supports color, special characters and formatting codes. It should not be longer than 59 characters.

    motd=A Minecraft Server
    
  • PVP: Enables the Player versus Player mode. Values available are true and false.

    pvp=true
    
  • Server Port: Defines the port on which the Minecraft server listens to. The default value is 25565.

    server-port=25565
    

    If you change the port value to something else, you will need to enable it in the firewall; otherwise, players won't be able to connect.

  • See the Minecraft wiki for more properties.

이러한 속성을 변경한 후에 적용하려면 Spigot 서버를 다시 시작해야 합니다.

$ sudo systemctl restart spigot

9단계 - 플러그인 설치

Bukkit 플러그인 페이지에서 플러그인을 다운로드할 수 있습니다.

Spigot에서 플러그인을 다운로드하면 차단되어 있으므로 다음 방법이 작동하지 않습니다. Jar 파일을 수동으로 다운로드하여 서버로 이동해야 합니다. 그러나 Bukkit에서 다운로드하는 경우 다음 방법을 사용하여 서버에 직접 다운로드하십시오.

위 페이지에서 플러그인의 .jar 파일을 /home/minecraft/server/plugins 디렉터리로 다운로드합니다.

$ sudo wget -P /home/minecraft/server/plugins/ --content-disposition <plugin url>

--content-disposition 플래그는 Content-Disposition 헤더를 사용하여 파일이 올바른 파일 이름으로 다운로드되도록 합니다.

예를 들어 WorldEdit 플러그인을 다운로드하는 경우 다운로드 방법은 다음과 같습니다.

$ sudo wget -P /home/minecraft/server/plugins --content-disposition https://dev.bukkit.org/projects/world
edit/files/latest

플러그인을 다시 로드하려면 Spigot 서버를 다시 시작하십시오.

$ sudo systemctl restart spigot

10단계 - 마개 업데이트

Spigot을 업데이트하려면 이 가이드의 4단계를 반복하여 BuildTools.jar 파일의 최신 버전을 가져온 다음 새로운 spigot.jar를 생성해야 합니다. 파일. 이전 jar 파일을 백업하고 그 전에 서버를 중지하십시오.

결론

이것으로 Ubuntu 20.04 기반 시스템에서 Spigot Minecraft 서버를 설치하고 구성하는 방법에 대한 자습서를 마칩니다. 질문이 있으시면 아래 의견에 게시하십시오.