[NAS 구축] 4. CentOS7 Minecraft 서버 설치

NAS에 마인크래프트 서버를 같이 돌리면 좋을 것 같아 서버를 설치해보았다.
필자의 환경은 CentOS7.7이며 설치할 마인크래프트 버전은 1.18.1(lastest on 22.02.02.)이다.

방법은 간단하다.
JRE(JDK) -> BuildTools -> CraftBukkit -> 서버 실행의 네 단계이다.

만약 버전 업그레이드를 하고싶다면 CraftBukkit만 새로 받아 실행해주면 된다.
백업은 그냥 World 정보를 복붙하면 된다.

JRE 설치

JRE 설치를 위해 JRE 패키지를 확인한다. (JDK는 JRE를 포함한다)
참고로 마인크래프트 1.17.1 버전은 자바 16 이상, 1.18.1 버전은 자바 17 이상에서 동작한다.

Ubuntu의 경우 아래처럼 설치하면 된다.

$ sudo yum install openjdk-17-jre-headless

CentOS의 경우 아래처럼 설치하면 된다. (뒤에 -devel을 붙이면 JDK가 설치된다)

$ yum install java-latest-openjdk

만약 여러 개의 java가 설치되어 버전 충돌이 나는 경우 java 링크를 바꾸어주면 된다.
어려운 일 아니니 구글에 검색해보면 금방 나온다. [참고]

BuildTools

다음과 같이 BuildTools를 내려받아 압축을 해제한다.

$ curl "https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar" -o BuildTools.jar
$ java -jar BuildTools.jar

CraftBukkit

마인크래프트 버전에 맞는 CraftBukkit을 내려받는다. [홈페이지]
간혹 다운로드 링크가 변하는 경우가 있으니 홈페이지에서 최신 버전 링크를 확인하자.
필자의 경우는 1.18.1 버전이다.

$ curl -o craftbukkit-1.18.1.jar https://download.getbukkit.org/craftbukkit/craftbukkit-1.18.1.jar

서버 실행

백그라운드에서 서버를 실행한다.
xms와 xmx는 각각 최소할당메모리와 최대할당메모리를 의미한다.
필자의 NAS는 RAM이 적어 1G만을 할당해주었다.

$ nohup java -Xms1024M -Xmx1024M -jar craftbukkit-1.18.1.jar &

참고로 실행된 서버는 PID를 찾아 kill하거나 pkill java로 죽일 수 있다.
과정이 여러모로 조잡하기 때문에 필자는 service를 만들어 사용한다.
마지막 절을 참고하면 된다.

서버 백업

위의 단계에서 생긴 모든 파일을 백업하면 된다.
이후에는 위의 단계를 모두 거치되, 백업해둔 파일을 덮어씌우면 서버가 복원된다.

복원 대상 파일은 대략 다음과 같다.

  • logs
  • work
  • <worldname>
  • <worldname>-nether
  • <worldname>-the-end
  • plugins
  • server.properties
  • ops.json
  • banned_ips.json
  • banned_players.json
  • whitelist.json

버전 업그레이드

별거 없다.
위의 craftbukkit만 버전에 맞게 받아서 java로 실행해주면 된다.
간혹 craftbukkit 버전이 높아지며 더 높은 JRE 버전을 요구하는 경우가 있다.
위의 JRE 설치방법에 맞추어 JRE를 업그레이드해주면 된다.

Service 등록

*리눅스에 익숙하지 않다면 여기서부터는 굳이 하지 않아도 좋다.
리눅스 관련 설명은 글의 범위를 벗어나기에 최소한으로 작성하였다.

운영 편의를 위해서는 service 등록이 필수적이다.
필자는 마인크래프트 디렉터리를 /opt/minecraft에 집어넣고 관리한다.
그 후, 최신버전의 craftbukkit jar 파일에 소프트 링크를 걸어 service와 연결하였다.

$ ln -s /opt/minecraft/craftbukkit-1.18.1.jar /opt/minecraft/craftbukki
t-latest.jar

service 파일은 다음처럼 작성했다. (minecraft.service)
중요한 부분은 ExecStart이다.
ExecStart에는 절대경로만을 사용해야하기 때문에 java(소프트링크) 대신 java 바이너리(/usr/bin/java)를 사용해야 한다.
java 바이너리 위치는 which java를 통해 찾을 수 있다.

[Unit]
Description=Minecraft
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/java -Xms1024M -Xmx1024M -jar /opt/minecraft/craftbukkit-latest.jar
Restart=always
RestartSec=60
User=root

PIDFile=/opt/minecraft/minecraft.pid
WorkingDirectory=/opt/minecraft
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

그 이후 service 파일을 배포, 실행한다.

$ sudo ln -s /opt/minecraft/minecraft.service /etc/systemd/system/minecraft.service
$ sudo systemctl daemon-reload
$ sudo systemctl enable minecraft
$ sudo systemctl start minecraft

이제 service를 통해 마인크래프트 서버를 운용할 수 있다.

Series Navigation<< [NAS 구축] 3. ownCloud 설치 (작성중)[NAS 구축] 5. 토렌트 서버 설치 >>

댓글 남기기