프로그래밍/마인크래프트 서버, 플러그인

[무료] GCP (Google Cloud Platform)으로 마인크래프트 서버 여는 법

Lou Park 2021. 9. 22. 02:46

Step 1 구글 로그인 하기

먼저 구글 로그인을 해주세요! 저는 loki24park이라는 구글 아이디로 시작 해보겠습니다.

로그인 후 https://console.cloud.google.com 으로 이동하셔서 아래와 같이 무료 평가판을 사용할 수 있는지 확인 해 주세요.

아래 사진처럼 무료 평가판을 사용할 수 있는지 확인하세요. (안되면 다른 구글아이디로 Gogo~)

 

평가판을 사용할 수 있을 경우 위 배너가 활성화 됩니다.

 

Step2 동의하기

아래 사진과 같은 다이얼로그가 뜰텐데 대충 체크체크하고 넘어갑니다.

예 저 지은이에요...

 

그리고 무료 평가판 배너 우측 활성화를 눌러줍니다.

 

평가판을 사용할 수 있을 경우 위 배너가 활성화 됩니다.

 

Step3 결제 정보 등록하기

결제 정보를 등록해야합니다. 유료 계정으로 직접 업그레이드 하지 않는 이상 요금이 청구되지 않는다고 하지만 조심하면 좋죠~

자연스럽게 3단계를 채워주세요. 카드번호까지 입력하면 완료입니다.

 

 

Step4 VM 인스턴스 만들기

마인크래프트를 돌릴 가상 머신 서버를 생성하려고 합니다. 메뉴에서 Compute Engine > VM 인스턴스를 클릭하고, 

 

Compute Engine > VM 인스턴스

 

Compute Engine API 활성화 [사용]

Compute Engine API 사용을 눌러 활성화하신 후 (시간이 조금 걸릴겁니다. 저는 한 1분가량 걸렸고) 다시 VM 인스턴스 메뉴로 돌아가서 인스턴스 만들기를 누릅니다. 이러면 구글이 서버를 빌려주는건데요, 이제 어떤 사양의 서버를 빌릴지 선택해야합니다.

 

Compute Engine > VM 인스턴스 > 인스턴스 만들기

Step5 인스턴스 사양 설정

 

각 영역별로 간단하게 설명하겠습니다. 우측에는 예상 가격이 표시되며, 서버 스펙을 늘리고 줄임에 따라 달라집니다.

 

이름: 인스턴스 이름입니다. 그냥...아무거나 자기가 알아볼 수 있는 이름으로 적어주세요.

리전: 플레이어와 가까운 지역이 좋습니다만, 비용때문이라면 도쿄나 싱가폴까지도 문제 없습니다.

머신구성 - 시리즈: N1이 쿨럭이 좋다고해서 N1으로 선택 해 주었습니다.

머신구성 - 머신유형: 커스텀을 해주었는데, 저는 10명정도 플레이할 서버를 기준으로 삼는다면 저정도도 적당합니다.

그외 10명이하는 n1-standard-1도...빡빡하지만 괜찮을 것 같고, 20명까지는 n1-standard-2를 선택해주세요. 하지만 90일 무료체험판이니 90일동안 $300를 불태울 사양을 하세요~ㅋㅋㅋ

 

다음은 부팅 디스크 설정입니다. 서버의 OS를 설정하는 건데요, 자기가 편한 OS를 선택하면 됩니다.

저는 Ubuntu 18.04 LTS로 선택하였습니다.

 

부팅 디스크 변경 버튼 클릭

 

부팅디스크 쪽에 변경 버튼을 클릭하면, 상세 설정창이 나옵니다.

하단에는 부팅디스크유형이라고 크기와 디스크 유형을 설정하는 곳이있는데, SSD 영구디스크, 크기는 넉넉하게 32GB로 잡아줍니다. 얼만큼 계획해야 좋을지는 이 글을 참조 해 주세요.

 

SSD를 명심하라

 

다음은 방화벽 설정이있는데, 아래와 같이 설정하고, 네트 워킹 탭 > 아래의 연필 버튼을 클릭합니다.

 

 

연필 버튼을 클릭하면 다음과 같이 뜰겁니다.

외부 IP는 기본적으로 임시라고 되어있을텐데, 그 부분을 클릭해서 IP 주소를 만들어줍니다.

 

 

 

예약을 누르면 유저들이 접속하는데 사용할 수 있는 고정된 외부 IP가 설정됩니다. 완료를 누르고, 인스턴스 만들기를 눌러 최종적으로 인스턴스를 생성합니다.

 

Step5-2 방화벽 규칙 설정

마인크래프트 포트로 외부에서 접속할 수 있게 방화벽 규칙을 설정해야 합니다. 복잡해 보일 수 있지만 사진과 똑같이 만든 후 만들기를 누릅니다!

Step6 SSH 접속

다 만들고 나면, SSH 버튼을 눌러 콘솔을 통해 서버에 접속합니다. 까만 터미널 창이 뜰것입니다. 당황스러워 하실 여러분들을 위해 사진은 귀찮아도 가급적 많이 첨부하겠습니다.

 

이런식으로 뜨면 성공입니다.

 

💡 2022.11.04 업데이트

혹시나 여기까지 했는데 컴퓨터나 프로그래밍 관련 지식이 부족해서 아래 스텝들이 어려울것 같다 하시는 분들은 Step7 ~ 10을 진행하지 마시고 마인크래프트 서버 쉽게 열고 관리하기 - 초급편 포스팅으로 이동하셔서 마저 따라하시면 됩니다!

 

Step7 필요한 패키지 설치

아래 코드 3줄을 복사하여 콘솔에 붙여넣습니다. 그리고 자신있게 Enter 키를 누릅니다. 

그러면 자바 패키지가 설치되면서...필요한 엄청난 글자들이 주루룩 뜰텐데 눈 감으셔도 됩니다. 

sudo apt update -y
sudo apt upgrade -y
sudo apt install default-jre-headless -y

패키지 설치 후 다시 입력창이 활성화되면 아래 명령어를 쳐서 사진과 같이 나오는지 확인하세요.

java -version

 

성공이라구!

 

Step8 서버 버킷 다운로드

이제 마인크래프트 서버 버킷을 다운로드 해 볼건데요, 저는 치즐모드용 서버를 만들거라 Forge 1.16.4 로 쓰겠습니다. 

다운로드 주소를 공수해오면 되는데요, 이렇게 끝에 .jar로 끝나서 인터넷 브라우저로 열었을때 바로 jar 파일이 다운로드 되는 주소면 됩니다. 버킷 다운로드 주소를 알아내는 방법은 따로 포스팅하겠습니다...안할수도있고~ㅋㅋㅋ

 

https://maven.minecraftforge.net/net/minecraftforge/forge/1.16.4-35.1.37/forge-1.16.4-35.1.37-installer.jar

wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.16.4-35.1.37/forge-1.16.4-35.1.37-installer.jar

콘솔에 위 명령어처럼 wget을 쓰고, 한칸 띄우고 버킷 다운로드 주소를 치고 엔터를 눌러주세요.

ls 라고 입력하면 방금 다운받은 파일이 보일겁니다.

 

 

위 스텝에서 그냥 버킷 jar를 다운받았다면 다음으로 넘어가도 됩니다. 하지만 제가 다운받은건 인스톨러(파일이름도 끝자리가 installer로 끝나죠?)이기 때문에 인스톨하여 버킷 jar파일을 얻어보겠습니다.

java -jar forge-1.16.4-35.1.37-installer.jar --installServer

그러면 새로운 파일들이 생성될텐데 ls를 입력하면 forge-1.16.4-35.1.37.jar 라는 파일과 마인크래프트 어쩌고 자시고하는 jar 파일도 생성된것을 볼 수 있습니다.

 

파일이름이 좀 어려우니까 아래 명령어로 파일이름을 forge_server.jar로 바꿔보았습니다. 명령어 쓰다가 Tab 키를 누르면 파일 이름이 자동완성되니 편리하게 이용하세요.

mv forge-1.16.4-35.1.37.jar forge_server.jar

 

 

Step9 서버 관리용 쉘 스크립트 만들기

서버시작이나 재 시작마다 복잡한 명령어를 입력해주는것이 불편하므로 그걸 간단하게 start만 입력하면 되는식으로 만들어주기 위해 쉘스크립트를 작성할겁니다.

touch start.sh
touch stop.sh
touch show.sh

위 명령어를 입력하면 쉘스크립트가 쭈루룩 생성될겁니다.

 

vi start.sh

vi start.sh라고 입력하면, 방금 만든 쉘스크립트를 편집할 수 있게 되는데요...아래 코드를 복사해서 붙여넣습니다.

하지만 복사전! 주의해야 할 것이 있습니다. 명령어를 자세히 읽어보시면 -Xms6G, -Xmx6G가 있는데요, 이부분이 마인크래프트가 6GB정도까지 램을 할당할 수 있다는것을 의미합니다. 운영체제나 기타 프로그램을 생각해서, 최소한 컴퓨터 사양보다 2GB정도는 여유있게 두는 것이 좋습니다. 서버 램이 8GB라고 8GB를 전부 할당 해 버리면 마크서버가 죽습니다. 

 

* -Xms1024M -Xmx1024M 같은식으로 MB 단위의 할당도 가능합니다.

 

#!/bin/sh
screen -S mcs java -Xms6G -Xmx6G -jar forge_server.jar nogui

붙여넣은 후 Esc 키 -> Shift를 눌러서 : 입력 -> wq -> Enter를 눌러주면 저장됩니다.

어려울 수 있지만 차분하게 Esc 난타 -> : -> wq -> Enter 해주시면됩니다...

 

다음은 서버 로그를 보는 쉘스크립트인데요, vi show.sh를 입력한 후 아래 스크립트를 복붙 해 줍니다.

#!/bin/sh
screen -r

그리고 마찬가지로 Esc -> : -> wq -> Enter로 저장하여 종료.

 

 

다음은 서버를 멈추는 쉘스크립트입니다.

vi stop.sh를 입력한 후 아래 스크립트를 복붙해주세요.

#!/bin/sh
screen -S mcs -X quit

그리고 마찬가지로 Esc -> : -> wq -> Enter로 저장하여 종료하면~다 준비되었습니다.

그리고 이들을 실행가능하게 만들기 위해서 아래 명령어를 콘솔에 입력합니다.

chmod +x show.sh start.sh stop.sh

 

 

Step9 EULA 만들기

아직 시작하는 방법을 알려드리진 않았지만 그대로 시작할 경우에 EULA 가 정의되어 있지 않다면서 오류가 날겁니다.

아래 명령어를 통해서 eula.txt. 파일을 만들고 편집 해 봅시다.

touch eula.txt
vi eula.txt

별건 없고 아래 스크립트를 복사해서 붙여넣고, Esc -> : -> wq -> Enter 해서 변경사항을 저장하세요.

eula=true

 

Step10 마인크래프트 서버 시작!

쉘스크립트를 만들어 두었으니 아래명령어로 쉽게 서버를 조작할 수 있습니다.

./start.sh 를 입력하면 서버가 시작됩니다.

서버시작시 ./start.sh
서버종료시 ./stop.sh
서버로그확인 ./show.sh

서버가 시작되면 이런식으로 뜨면서 월드가 생성될겁니다. 

서버를 종료하지 않고 이 화면에서 나가기 위해서는 Control + A를 누른상태에서 D를 누르면 됩니다.

그러면 [detached from 24802.pts-0.minecraft-server]라고 메세지가 뜨며 창을 빠져나올수 있으면서도 서버는 돌아가는 상태에 있게 됩니다.

 

*screen을 더 자세히 알고싶다면 이 글을 참조하세요.

 

다시 서버로그를 보고싶다면, 아까 만들어둔 쉘스크립트를 이용하면 됩니다. 

./show.sh 를 입력하면 다시 서버 로그창이 보이게 될겁니다.

 

Step10 마인크래프트 서버 접속 방법

마인크래프트에서 아까만든 VM 인스턴스의 외부 IP와 마인크래프트 프로세스의 포트를 조합해서 서버에 접속합니다.

IP 주소가 34.174.2.24라면 서버주소에 34.174.2.24:25565를 입력해주면 됩니다.

그러면 타다-! 마인크래프트 서버에 접속 될 겁니다.