티스토리 뷰

반응형

Photo by Mika Baumeister on Unsplash

 

유치원 다니는 아들 둘이 마인크래프트를 시작했는데, 둘이 같은 서버에서 만나 놀고 싶어해서 방법을 찾아보았다. 다양한 조건과 상황에 대해 모두 들여다 보지는 못했지만 일단 돌아가는 상황까지 만들었다. 실제로 마인크래프트를 하지도 않고 게임에 대한 충분한 지식이 없기에 틀리거나 보충할 부분이 있다면 댓글을 부탁드린다.

 

조건은

1. 24시간 돌아갈 : 무료 서버로 유명한 Aternos 서버는 5분이상 접속한 유저가 없으면 꺼지는 등의 단점이 있다.

2.  Pocket Edition Server : 아이들 안드로이드 태블릿의 (9,900)으로 접속한다

 

오라클 클라우드에서 VM(인터넷상의 공짜 컴퓨터라고 생각하자) 제공하는데 무난하다고 하여 여기에 올려보려고 한다. 상세하고 친절하지는 않은 점 양해를... 참고 링크는 다음과 같다

 

라클 클라우드에 마인크래프트(Java Edition) 올리기

- https://blogs.oracle.com/developers/post/how-to-set-up-and-run-a-really-powerful-free-minecraft-server-in-the-cloud

 

마인크래프트 Pocket Edition 설치하기

- https://www.terminalbytes.com/create-your-own-minecraft-pe-server-for-free/

 

전체 순서

1. 오라클 클라우드에 계정 생성하기

2. VM 생성하고 ssh 접속하기

3. Minecraft Pocket Edition 설치하기

4. 안드로이드 태블릿에서 접근하기

오라클 클라우드에 계정 생성하기

사이트: https://www.oracle.com/

계정 생성 방법은 생략한다. 신용카드를 등록하여야 하는데 무언가 자동으로 전환되어 비용이 청구되는 부분은 없으니 안심해도 된다. 무료로 개의 VM 개의 오라클 데이터베이스를 제공한다.

VM 생성하고 ssh 접속하기

로그인 이후 화면에서 새로운 VM instance 생성 메뉴가 보인다

Create compute instance

컴퓨터 사양을 맞춰서 생성하는 과정이며 아래와 같이 만들었다.

 

- Intel CPU

    - https://blogs.oracle.com/developers/post/how-to-set-up-and-run-a-really-powerful-free-minecraft-server-in-the-cloud

    - 링크에서는 Ampere CPU 선택했다. 선택지중 사양이 가장 우수한가 보다.

    - Java Edition 설치에는 문제 없나본데 마인크래프트 PE 설치중 이런저런 에러 발생해서 제외. Oracle Linux OS 아니라 CPU 문제인 것으로 보인다

- Canonical Ubuntu 20.04: 제일 무난하겠지?

- Public IP address: 이걸 설정해야 외부에서 인터넷으로 접근이 가능하다

- Private key/Public Key: Private key ssh 접속을 위해 다운받아 놓는다.

 

네트워크 설정 - Ingress Rules

VM 사양 중에서 Primary VNIC Subnet 클릭하면 아래와 같이 Security List 나온다.

 

다시 Security List 선택하거나 Add하면 나오는 화면에서 Ingress Rules 추가해준다

핵심은 Minecraft PE server 들어오는(Ingress) TCP UDP 19132 포트를 열어준다는 것이다.

 

방화벽 설정과 screen

시행착오를 거쳐서 아래 부분을 적용하였다. 솔직히 부분은 이해가 안된다. 위에 Ingress Rules 설정했는데 이건 하는 것일까? 충분히 들여다 시간은 없었다.

참고 링크: https://www.reddit.com/r/MCPE/comments/o9vxdd/how_to_create_a_free_minecraft_bedrock_server/

 

1. firewalld 설치, 설정, 리로드 해준다. 이렇게 해줘야 외부에서 접근이 가능해진다

2. screen 설치해준다. ssh 접근하여 서버를 시작한 다음 터미널을 닫으면 서버가 종료해 버린다. 이걸 방지하려면 screen 이용해서 시작해주고 터미널을 종료해주어야 한다

$ sudo apt-get update
$ sudo apt-get install firewalld
$ sudo apt-get install screen

$ sudo firewall-cmd --permanent --zone=public --add-port=19132/tcp
$ sudo firewall-cmd --permanent --zone=public --add-port=19132/udp
$ sudo firewall-cmd --reload

Minecraft Pocket Edition 설치하기

VM start 하고 원격으로 해당 컴퓨터로 들어간다. MobaXterm이라는 프로그램을 사용해서 ssh 접근을 하였다.

참고: https://bit.ly/32yLMQw

 

할당된 Public IP 적고, username ubuntu 적고, 마지막으로 다운받아 두었던 private key 위치를 말해둔다. 설명을 덧붙이자면, 오라클의 서버는 Private key/Public key 가지고 있기에 우리의 ssh client MobaXterm Private key 가지고 있는지 여부를 확인하여 접근을 허락하는 것이다.

PocketMine-MP 설치

참고 링크: https://www.terminalbytes.com/create-your-own-minecraft-pe-server-for-free/

 

마인크래프트 서버 설치를 하려고 ssh VM 원격접속을 것이다. 아래와 같이 폴더를 만들고 들어가서 서버를 설치하자. Ampere CPU에서는 우여곡절을 겪었는데 인텔 CPU에서는 금방 설치된다

 

$ mkdir PocketMeServerCreative && cd PocketMeServerCreative
$ curl -sL https://get.pmmp.io | bash -s -

서버를 시작해보자

./start.sh 실행하면 시작한다. 하지만 위에서 언급했듯 ssh 원격접속을 끊고도 서버가 동작하게 하려면 screen 통해서 실행시켜줘야 한다.

 

Screen  사용법 참고 링크: https://bio-info.tistory.com/42

 

1. $ screen -S minecraft 하면 minecraft라는 이름의 세션 시작

2. 세션 안에서 ./start.sh 시작한다

    - 최초 실행시에는 언어, 모드 등등의 설정을 해준다

    - 참고로 나는 아이들을 위해 서바이벌, 크리에이티브 모드로 개의 오라클 VM 개의 서버를 띄워주었다.

3. 세션에서 나오려면 ctrl+a, d(그래도 서버는 돌고 있다.

4. 세션의 리스트를 보려면 $ screen -ls

이제는 ssh client MobaXterm 꺼줘도 서버가 죽지 않는다

아래는 서버 설정 참고. 이후에 설정을 변경할 수도 있다.

 

참고: 실행시 서버 설정

안드로이드 태블릿에서 접근하기

 

생성한 서버의 Public IP 19132포트로 새로운 서버를 설정하면, 설정한 서버의 이름이 보일것이다. 접속해서 즐기면 된다

참고: 태블릿에서 서버가 보이지 않으면 오라클 VM 정지시켰다 재시작해보자. 특정 설정이 반영되지 않아서일 있다.

추가 할일들

Screen으로 계속 실행하게 해두었기에 ssh 원격접속이 끊겨도 마인크래프트 서버는 계속 돌아간다. 하지만 오라클 VM 자체가 꺼지거나 재시작하면 다시 접속애서 마인크래프트 서버를 재시작해줘야한다VM 서버가 부팅이 되면 자동으로 마인크래프트 서버가 재시작되게 해보자. crontab으로 하면 같다.

반응형
댓글
댓글쓰기 폼