우분투로 뭐라도 하기

우분투로 마인크래프트 서버 돌리기

펜탈 2022. 12. 21. 04:19

-글 작성에 사용된 버전-

OS 버전: Ubuntu 22.04.1 LTS

마인크래프트 버전 1.12 이상 일 때 java 버전 8 요구

마인크래프트 버전 1.17 이상 일 때 java 버전 16 요구

마인크래프트 버전 1.18 이상 일 때 java 버전 17 요구

 

 

1. java 설치

 

APT(패키지 매니저)의 설치 가능 패키지 목록을 업데이트를 해주자

1
$ sudo apt update
cs

 

 

서버를 열기 위해 자바를 설치 해주자

자신이 열 서버 버전에 맞는 자바 버전을 설치해주자

1.12.2 버전을 돌릴거니까 8 버전을 설치해주자

1
$ sudo apt install openjdk-8-jdk
cs

 

 

설치가 끝나면 제대로 설치됬는지 자바 버전을 확인해보자

1
2
3
4
user@server:~$ java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-8u352-ga-1~22.04-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
cs

잘 설치되었다

 

 

지금 내가 설치한 버전 외에도 다른 버전이 설치되어 있으면 다른 버전이 표시되고 나중에 버킷 실행시 에러가 발생할 수도 있다.

설치되어 있는 자바들을 확인해보자

1
2
3
4
5
6
user@server:~$ apt list --installed | grep openjdk
 
openjdk-17-jre-headless/jammy-updates,jammy-security,now 17.0.5+8-2ubuntu1~22.04 amd64 [installed,automatic]
openjdk-17-jre/jammy-updates,jammy-security,now 17.0.5+8-2ubuntu1~22.04 amd64 [installed]
openjdk-8-jre-headless/jammy-updates,jammy-security,now 8u352-ga-1~22.04 amd64 [installed,automatic]
openjdk-8-jre/jammy-updates,jammy-security,now 8u352-ga-1~22.04 amd64 [installed]
cs

17 버전과 8 버전이 함께 설치 되어있다.

 

버킷 실행할때 에러가 생기면 안되니까 사용할 버전을 지정해주자

1
2
3
4
5
6
7
8
9
10
user@server:~$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
 
  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java      1711      auto mode
  1            /usr/lib/jvm/java-17-openjdk-amd64/bin/java      1711      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
 
Press <enter> to keep the current choice[*], or type selection number:
cs

2번에 8 버전이 있으니 2를 누르고 엔터를 눌러주면 된다

 

 

2. screen 설치

접속한 터미널의 접속을 끊으면 해당 터미널에서 돌아가던 프로그램도 종료된다

서버는 접속을 끊어도 계속 돌아가야 하니 그를 위한 프로그램을 설치하자

1
$ sudo apt install screen
cs

 

 

3. 서버 실행 프로그램 다운로드

서버를 돌려야하니 우분투 컴퓨터에 서버 프로그램(버킷)을 다운 받아야한다

 

일단 윈도우에서 다운로드를 받자

바닐라 서버는 여기서 다운로드하고 https://www.minecraft.net/en-us/download/server

Forge 서버는 여기서 다운로드하자 https://files.minecraftforge.net/net/minecraftforge/forge/

 

다운받은 프로그램을 C 드라이브 밑에 폴더를 폴더명 "file"로 만들고 여기로 옮기자

그리고 Win + R 키를 눌러서 cmd를 열고 밑의 명령어를 입력하자

단! 같은 네트워크 안에 있어야한다!

1
2
3
SCP C:\file\파일명 계정@서버주소:~/Downloads
 
SCP C:\file\forge-1.12.2-14.23.5.2859-installer.jar user@server:~/Downloads
cs

 

 

다시 터미널로 돌아와서 확인해보자

1
2
3
user@server:~$ ls -l ~/Downloads/
total 4492
-rw-rw-r-- 1 user group 4598797 12월 28 04:53 forge-1.12.2-14.23.5.2859-installer.jar
cs

윈도우에서 우분투로 파일이 잘 옮겨졌다

 

server 디렉토리를 만들고

파일을 server 디렉토리로 옮겨주자

1
2
$ mkdir ~/server
$ mv ~/Downloads/forge-1.12.2-14.23.5.2859-installer.jar ~/server
cs

 

4. 서버 실행 프로그램 만들고 실행하기

서버를 실행하기 위해 실행파일을 만들어 주도록 하자

1
2
3
4
5
6
7
8
$ vim ~/run_server.sh
 
-----vim-----
cd ~/server
java -Xmx 8G -Xms512M -jar forge-1.12.2-14.23.5.2859-installer.jar nogui
-------------
 
esc :wq
cs

 

그냥 실행하면 권한이 없어 실행이 되지 않으니 실행권한을 수정하고 실행하자

1
2
3
$ chmod +x ~/run_server.sh
$ cd
$ ./run_server.sh
cs

 

최초 실행시 EULA 약관이 false로 되어있을테니 true로 수정하고 다시 실행하면 정상적으로 실행된다.

1
2
3
4
5
6
7
8
9
$ vim ~/server/eula.txt
 
-----vim-----
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Wed Dec 21 13:27:35 KST 2022
eula=true
-------------
 
esc :wq
cs

 

서버가 정상적으로 실행됬으면 stop으로 종료하자

지금의 상태로 터미널을 종료하면 서버도 같이 종료되니 서버로서의 역할을 못하기 때문에 다른 방법으로 서버를 열어야한다.

 

아까 설치했던 screen을 사용하여 하나의 가상터미널을 열어 그 위에서 프로그램을 돌리면 현재 접속중인 터미널을 종료해도 가상 터미널은 살아서 서버를 가동한다.

1
2
3
4
$ screen -R // 가상 터미널 열기
$ ./run_server.sh
 
[ctrl + a + d] 로 가상 터미널 빠져 나오기
cs

ctrl + a + d 단축키로 가상 터미널을 빠져 나올수 있다. 종료가 아닌 빠져나오기 이기 때문에 서버는 계속 돌아간다.

 

다시 가상 터미널에 접속하기 위해서는 아래의 명령어로 접속하면 된다.

1
$ screen -r
cs

가상 터미널을 종료하고 싶으면 실행 중이던 서버를 stop으로 종료하고 exit로 종료하면 된다.