구글 클라우드를 이용한 마인크래프트 24시 서버 개발기 2
이전 글은 https://tjtdkr.me/minecraft/minecraft-1/ 에서 보실 수 있습니다
3. 방화벽 설정
마인크래프트는 기본적으로 25565번 포트를 사용하도록 되어 있습니다. 하지만 보안 상의 이유로 이런 포트들은 막혀 있기 때문에 직접 방화벽 설정을 건드려 25565번 포트를 열어주어야 합니다.
- 먼저 GCP에서 네트워킹 탭의 VPC 네트워크 메뉴로 들어갑니다.
- 방화벽 규칙 메뉴에서 만들기를 눌러 방화벽 규칙을 생성합니다.
- 제목을 알아볼 수 있도록 작성하고 모든 조건이 아래 사진과 같도록 만들어 준 후 저장합니다. (tcp 25565, 소스 IP 범위 0.0.0.0/0)
- 포트가 열려있는지 확인하기 위해 https://www.yougetsignal.com/tools/open-ports/ 에 접속하여 저번에 설정했던 고정 IP주소를 넣고 포트에 25565를 적어 넣습니다. - 초록색 깃발이 나오면 성공입니다.
4. FTP 설정
리눅스 명령어만 사용해도 서버 구축에는 문제가 없지만 플러그인이나 버킷등을 보다 편하게 넣기 위해 FTP를 사용하기 위한 작업을 해 줄 것입니다.
- FTP를 이용하여 접속하려면 ssh 키가 필요합니다. 그 키를 생성하기 위해서 우리는 puttygen이라는 툴을 설치할 것입니다.
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 에서 다운로드 받으시고 puttygen을 실행해줍니다. - puttygen을 실행하고 하단의 generate를 누르면 키가 생성됩니다.
제일 상단 칸에 있는 키 전문을 모두 복사하고 save private key를 눌러 저장합니다. - 다시 GCP로 돌아와서 Compute Engine탭에 접속한 후 메타데이터 칸의 SSH 키 탭에 들어갑니다.
- 수정을 누르고
항목 추가를 누른 뒤 아까 복사한 키를 붙여넣습니다.
- 이렇게 하고 FTP 클라이언트를 설치합니다. 이 포스팅에선 가장 유명한(?)Filezilla를 사용할 것입니다.
Filezilla에서 설정으로 들어갑니다.설정에서 SFTP 메뉴에 들어온 후 키 파일 추가를 눌러 puttygen에서 저장한 키를 선택하여 추가합니다.
- 호스트 이름에는 sftp://ip주소, 사용자명에는 ssh키 제목을 넣어주면 정상적으로 접속되게 됩니다.
5. 서버 구축
- SSH라고 써 있는 버튼을 눌러 콘솔에 접속해줍니다.
- 콘솔에 접속했으면 제일 먼저 sudo apt-get update를 해 줍니다.
- 완료되었으면 sudo apt-get install -y default-jre-headless을 입력하여 자바 런타임을 설치해줍니다.
- 자바 런타임 설치가 완료되었으니 디렉토리를 생성해 줍니다.
mkdir minecraft으로 디렉토리를 생성하고 sudo su로 관리자권한을 획득 후 chmod 777 minecraft/ 을 입력해 수정 권한을 획득합니다. - 원하시는 버킷 파일을 다운받아 FTP로 minecraft/ 디렉토리에 넣어줍니다.
- 버킷이 설치되었으므로 실행해 봐야겠죠? java -Xms2048M -Xmx3840M -d64 -jar Paper-1237.jar nogui 로 실행해줍니다. 이것은 최소 램 2기가, 최대 램 3.75기가로 실행한다는 명령어입니다. (본 포스팅에선 테스트 인스턴스를 새로 생성하여서 아래 사진이 위와 완전히 같지는 않습니다.)
- 실행이 되지 않습니다. Eula(사용자 약관)에 동의하지 않아서인데요, 우리는 번거롭게 FTP로 업-다운 하지 않고 vim을 사용할 것입니다.
vim eula.txt를 입력합니다. i를 눌러 편집 모드로 들어가 false를 true로 바꿔주고 esc와 :wq를 눌러 저장하고 종료합니다. - 다시 java -Xms2048M -Xmx3840M -d64 -jar Paper-1237.jar nogui 를 실행하여 잘 작동하는지 확인합니다.
잘 작동합니다. - 하지만 이 상황에선 콘솔을 끄면 서버도 같이 꺼지기 때문에 screen을 설치해야 합니다.
stop을 눌러 서버를 종료 후 sudo apt-get install -y screen을 실행합니다. - screen -S mine java -Xms2048M -Xmx3840M -d64 -jar Paper-1237.jar nogui 를 실행하여 스크린 위에서 돌아가는 마인크래프트 서버를 실행해줍니다. mine은 임의의 문자로 바꾸어도 됩니다. (세션을 유지한 채 복구하려면 CTRL + A + D를 누릅니다.)
이제 모든 과정이 끝이 났습니다. 만드신 서버 위에서 플러그인을 넣으셔도 되고 vim을 활용해서 서버의 여러 설정을 만지시면서 가지고 노실 수 있습니다. 혹시 따라하시다 궁금한 점이 생기거나 제가 잘못 한 점이 있으면 아래 댓글 창에 댓글 남겨주시거나 메일 남겨주시면 최대한 빨리 달려오도록 하겠습니다.
감사합니다 수고하셨습니다! :)
댓글남기기