마인크래프트 : 구글 클라우드로 24시간 서버 만들기(자바16)

2022. 1. 18. 07:58ROOM NAME : 마인크래프트

글만으로는 이해하는데 어려움이 있을것 같아 영상으로도 올립니다

*구글 클라우드를 이용한 24시간 서버는 최대 3개월까지만 무료로 이용할수 있음(4~5인 기준 렉없는 사양으로 맞췄을 경우)

이후에는 유료로 전환됨*

 

 

 

 

 

 

 

 

 

 

 

 

 

 


인스턴스 생성 및 방화벽 설정


하단 페이지 클릭

 

클라우드 컴퓨팅, 호스팅 서비스 및 API  |  Google Cloud

Google Cloud는 비즈니스의 발전을 위해 설계된 유연한 인프라, 엔드 투 엔드 보안, 지능형 통계를 제공합니다.

cloud.google.com

로그인 후 무료로 시작하기클릭 후 본인확인 및 결제정보 입력

결제정보까지 작성하게 되면 대시보드가 뜬다

Computing Engine > VM 인스턴스 클릭

상단 인스턴스 만들기 클릭

인스턴스 설정

* 우측에 월별 예상 가격을 보면서 자신에게 맞게 설정한다 *

이름 : 본인이 원하는 이름

리전 : 서울(가격문제가 있다면 다른 지역도 가능) / 영역 : 본인이 원하는 지역

시리즈 : 본인이 원하는 시리즈

머신 유형 : 커스텀으로 설정할 시 원하는 코어와 메모리를 설정할 수 있다

 

부팅 디스크 > 변경 클릭

운영체제, 버전, 부팅 디스크 유형, 크기 : 본인이 원하는 운영체제 및 사양 선택

방화벽

- HTTP 트래픽 허용 🗸

- HTTPS 트래픽 허용 🗸

네트워킹, 디스크, 보안, 관리, 단독 테넌시 클릭

네트워킹 클릭 

default default > 외부 IP 클릭

IP 주소 만들기 클릭

이름 : 본인이 설정하고 싶은 이름

예약 클릭

외부 IP 가 만들어진 것을 확인한 후

완료 > 만들기 클릭

하단 사진처럼 생성한 것을 확인했다면

VPC 네트워크 > 방화벽 클릭

상단 방화벽 규칙 만들기 클릭

이름만 본인이 원하는 이름으로 적고 나머지는 사진과 같이 바꾼 후 만들기 클릭

minecraft-server-firewall

0.0.0.0/0

방화벽 설정을 끝냈다면


JDK파일 및 버킷 설치 준비


하단 페이지 클릭

 

FileZilla - The free FTP solution

Overview Welcome to the homepage of FileZilla®, the free FTP solution. The FileZilla Client not only supports FTP, but also FTP over TLS (FTPS) and SFTP. It is open source software distributed free of charge under the terms of the GNU General Public Licen

filezilla-project.org

Download FileZilla Client 클릭

실행되는 것을 확인 후

하단 페이지 클릭

 

Download PuTTY: latest release (0.76)

This page contains download links for the latest released version of PuTTY. Currently this is 0.76, released on 2021-07-17. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

puttygen.exe (a RSA and DSA key generation utility) 

본인 컴퓨터에 맞는 버전 다운

실행 후 Generate 클릭

Public key for pasting into OpenSSH authorized_keys file : 

안의 내용들을 복사한 후 메모장 같은곳에 적어둔다

Key comment : 는 변경하지 않는다

Save private key 클릭하여 저장한다

저장할 때 파일 이름은 Key comment : 부분에 적힌 내용을 쓴다

Compute Engine > 메타데이터 클릭

SSH 키 선택 > 수정 클릭

 +항목 추가 클릭

아까 복사한 Public key for pasting into OpenSSH authorized_keys file : 안의 내용을

공개 SSH 키 입력 란에 적은 후 저장 클릭

FileZilla 실행

편집( E ) > 설정( S ) 클릭

연결 > SFTP > 키 파일 추가( A ) ... 클릭

아까 저장한 Save private key 파일을 선택한 후 확인 클릭

파일 이름은 rsa-key-XXXXXXXX.ppk 형식으로 되어있을 것이다

호스트( H ) :사용자명( U ) : 입력

호스트( H ) : sftp://복사한 외부 IP

사용자명( U ) : 아까 사용한 Key comment : 

빠른 연결( Q ) > 확인 클릭

연결 확인

확인을 마쳤다면


서버에 JDK파일 및 버킷 설치 


 

작성자가 쓰는 마인크래프트 버전은 1.17.1 인데 버전 1.17 부터는 자바 16을 사용하기 때문에

서버에 자바 16을 설치한다

SSH 접속

하단 페이지 클릭

마인크래프트 버전에 맞게 다운로드한다

 

Oracle - java OpenJDK 16 Download

Overview Welcome to the homepage of Oracle®, the free FTP solution. The Oracle Client not only supports FTP, but also FTP over TLS (FTPS) and SFTP. It is open source software distributed free of charge under the terms of the GNU General Public Licen

https://www.oracle.com/java/technologies/javase/jdk16-archive-downloads.html

 

Java Archive Downloads - Java SE 17

WARNING: These older versions of the JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production. For production use Oracle recommends downloading th

www.oracle.com

 

Java Archive Downloads - Java SE 18

WARNING: These older versions of the JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production. For production use Oracle recommends downloading th

www.oracle.com

Linux x64 Compressed Archive - jdk-16.0.2_linux-x64_bin.tar.gz 클릭

라이센스 계약 동의 후 Download jdk-16.0.2_linux-x64_bin.tar.gz 클릭

오라클에 로그인 하라고 뜬다면 로그인 후 파일 마저 다운

접속한 SSH 화면에서

sudo adduser minecraft(원하는 이름) 입력

입력하게 되면 패스워드를 생성하라는 문구가 뜨는데 간단하게 적는게 좋다 Ex : 1234

( 비밀번호 입력할때는 원래 안보이니 그냥 적으면 된다 ) 

minecraft 라는 사용자 추가

sudo usermod -aG sudo minecraft(원하는 이름) 입력

minecraft라는 사용자를 sudo 그룹에 추가

sudo su - minecraft(원하는 이름) 입력

minecraft라는 사용자로 접속

cd .. 입력

chmod 777 minecraft(원하는 이름) 입력

minecraft 라는 사용자에 권한 추가

 

접속한 FileZilla 에서

minecraft 사용자를 클릭한 후

다운했던 JDK 파일을 오른쪽으로 드래그하여 이동

sudo su - minecraft 를 입력하여 minecraft사용자로 접속한 후 JDK파일을 다운받은 것을 확인

순서대로 진행

sudo mkdir -p /usr/lib/jvm/ ( jvm 파일 추가 )

sudo mv 다운받은JDK파일.tar.gz /usr/lib/jvm/ 

cd /usr/lib/jvm/

sudo tar zxvf 다운받은JDK파일.tar.gz ( 압축 해제 )

순서대로 입력 (전부 복사하지 말고 중간에 있는 JDK 폴더 위치에 앞축푼 파일 이름을 적는다

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/JDK 폴더/bin/java" 1

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/JDK 폴더/bin/javac" 1

sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/JDK 폴더/bin/javaws" 1

java -version 입력

javac -version 입력

JDK 16 확인

하단 페이지 클릭

 

ServerJars

Download the latest version of Bukkit, Spigot, Paper and many more of the best Minecraft server jars!

serverjars.com

Tuinity 버전에 맞게 다운

*꼭 Tuinity를 쓸 필요는 없고 본인이 원하는 서버(CraftBukkit같은)를 다운하면 된다*

JDK 파일과 똑같이 드래그 하여 이동


버킷 실행 및 24시간 구동 설정 


이동된 것을 확인 후 sudo chmod +x ( 버킷이름 ).jar 입력

vi start.sh 입력 ( 서버 실행 파일 )

java -Xms2G -Xmx2500M -jar ( 버킷파일이름 ).jar nogui 입력후 저장하고 나가기

저장은 ESC를 누른후  " : " 클릭후 WQ를 친후 엔터

(Xms가 작은값 Xmx가 큰값 사진에선 오타남)

sh start.sh 입력 ( 버킷실행 )

아래 사진처럼 eula 오류가 뜰텐데 창을 강제로 닫은후 SSH를 다시 실행한다

그럼 eula.txt란 파일이 생겼을텐데 vi eula.txt 를 입력한다

eula=falseeula=true 로 바꾼뒤 저장후 나가기

다시 sh start.sh입력

Done 이 뜨면 서버에 접속한다 서버 주소는 GCP외부 IP이다

서버 접속이 확인됐다면 SSH로 돌아온 뒤 SCREEN 설정을 해줘야 한다

( SCREEN 으로 창을 닫아도 서버가 계속 돌아가게 만듦 )

stop 으로 콘솔창을 나온 후

screen 입력

키보드 Enter 키 입력

그 상태에서 sh start.sh 입력

서버가 구동되는 것을 확인했다면 그 상태에서 Ctrl + A + D 입력 ( SCREEN 을 detatch )

SCREEN 명령어

screen -r : 현재 생성돼있는 SCREEN 들을 보여줌

screen -r ( SCREEN 이름 ) : 원하는 SCREEN으로 접속

Ex : screen -r 13778.pts-1.minecraft1

screen -XS ( SCREEN 이름 ) : 지정한 SCREEN 종료

Ex : screen -XS 13778.pts-1.minecraft1