마인크래프트 서버 환경 만들기(구글 클라우드) 2 서버 설정

✒️ 2025-05-15 15:12 내용 수정



root 설정과 사용자 추가

  1. VM 인스턴스에서 이전 작업에서 추가한 인스턴스를 SSH 연결을 통해 접속한다.
    • 승인을 묻는 창이 뜨면 Authorize를 눌러 접속 승인을 한다.

googlecloud 23.png
googlecloud_mc 18.png

  1. sudo passwd root로 root의 비밀번호를 새로 지정한다.

googlecloud_mc 19.png

  1. su root 또는 su를 입력해 root 계정으로 전환한다.
    • 계정이 바뀌면 쉘에서 사용자 이름이 바뀐다.

googlecloud_mc 20.png

  1. adduser minecraft를 입력해 서버 파일을 관리할 사용자 minecraft를 추가한다.
    • 비밀번호를 잊지 말고 잘 입력한다.
    • 그 외의 정보는 그냥 Enter를 눌러 넘기고, Is the information correct는 y를 눌러 넘긴다.

googlecloud_mc 23.png


패키지 설치

  1. sudo apt update && apt upgrade로 ubuntu에 설치된 패키지들을 업데이트한다.
    • 이미 root 계정으로 접속한 상태라면 sudo를 안 붙여도 상관없다.
    • 중간에 Do you want to continue 가 뜨면 y를 입력해 계속 진행한다.

googlecloud_mc 21.png

  1. 서버 설치를 위한 패키지들을 sudo apt install wget apt-transport-https gnupg nano screen ufw git로 다운 받는다.
    • 마찬가지로 이미 root 계정이라면 sudo는 생략해도 된다.
    • wget : 웹 서버로부터 컨텐츠를 가져오는 프로그램
    • apt-transport-https : HTTPS 프로토콜을 사용한 다운로드용 APT 전송 방식
    • gnupg : 보안 프로그램
    • nano : Linux의 편집 프로그램
    • screen : SSH 연결에 여러 shell 세션을 관리할 수 있는 프로그램, 이를 이용해서 SSH 연결을 종료해도 서버를 계속 가동할 수 있다.
    • ufw : 데비안 계열 및 다양한 리눅스 환경에서 작동하는 방화벽 관리 프로그램. 간혹 기본 설치가 안되어 ufw 명령어를 사용할 수 없는 경우가 있으니 같이 설치하는 것이 좋다.
    • git : 분산 버전 관리 시스템

googlecloud_mc 22.png


방화벽 설정

  1. sudo ufw allow OpenSSH를 입력해 OpenSSH를 방화벽에서 허용하도록 설정한다.

googlecloud_mc 24.png

  1. sudo ufw allow 25565로 방화벽에서 25565 포트를 허용한다.

googlecloud_mc 25.png

  1. sudo ufw enable로 방화벽을 활성화하고, y를 눌러 방화벽 활성화를 계속 진행한다.

googlecloud_mc 26.png


Java 설치

  1. apt install openjdk-21-jdk -yJDK 21 버전을 다운 받는다.

googlecloud_mc 28.png

  1. su - minecraftminecraft 사용자로 변경해주고, 현재 디렉터리의 위치를 pwd로 확인하여 minecraft 사용자의 home 디렉터리인지 확인한다.
    • home이 아니라면 cd 또는 cd ~로 홈 디렉터리로 이동한다.

googlecloud_mc 30.png

  1. mkdir buildtools && cd buildtools로 빌드 파일을 받을 디렉터리를 생성 및 이동한다.

googlecloud_mc 31.png

  1. wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar으로 웹서버로부터 빌드에 필요한 파일을 다운 받는다.

googlecloud_mc 32.png

  1. ls로 파일을 잘 다운 받았는지 확인하고 java -jar BuildTools.jar --rev latestBuildTools.jar 파일을 실행한다.
    • 명령어 구문을 보면 최신 버전으로 서버 파일을 받는다.
    • 여기서 다운 받으려는 서버의 최신 버전(마인크래프트의 최신 버전을 따라간다)과 이를 지원하는 Java(JDK) 버전이 맞지 않으면 진행되지 않는다.
    • Starting clone of ~ 구문이 안 뜨고 에러가 뜬다면 에러 문구를 확인하고 Java 버전을 맞게 다운 받았는지 확인한다.

googlecloud_mc 33.png

  1. cd ~ && mkdir server && cd serverminecraft 사용자의 home 디렉터리로 이동 후 server라는 디렉터리를 만들어 해당 디렉터리로 이동한다.

googlecloud_mc 36.png

  1. mv ~/buildtools/spigot-1.21.1.jar ~/server/spigot.jar~/buildtools/spigot-1.21.1.jar에 있던 파일을 현재 server 디렉터리에 spigot.jar라는 파일로 이름을 변경하여 이동한다.

googlecloud_mc 37.png

  1. su 또는 su root로 root 계정으로 전환 후 vi /etc/sudoers 또는 nano /etc/sudoers/etc/sudoers파일을 연다.

googlecloud_mc 38.png

  1. 화면을 조금 내려 root ALL=(ALL:ALL) ALL 구문 아래에 minecraft ALL=(ALL:ALL) ALL를 추가한다.
    • vi로 열었다면 i를 눌러 편집 모드로 바꿔 내용을 추가한 뒤 ESC:w!로 저장, :q로 종료
    • nano로 열었다면 일반 메모장처럼 편집 후 ctrl+s로 저장하고 ctrl+x로 종료

googlecloud_mc 39.png
googlecloud_mc 40.png

  1. exit로 root 계정을 빠져 나와 다시 minecraft 계정으로 돌아오거나, su minecraftminecraft 계정으로 전환한 뒤, sudo nano start.sh로 서버 실행 파일을 만든다.

googlecloud_mc 41.png

  1. 파일에 아래 내용을 붙여 넣고 ctrl+sctrl+x로 종료한다.
#!/bin/sh

java -Xms8G -Xmx8G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar spigot.jar nogui

googlecloud_mc 42.png

  1. sudo chmod +x start.shstart.sh 파일에 실행 권한을 추가하고, ./start.sh로 서버를 실행한다.
    • ls -lthr로 파일의 생성 시간과 권한 등을 확인할 수 있다.

googlecloud_mc 43.png

  1. 서버가 자동으로 꺼지는데, 이는 EULA에 동의해야 하기 때문이다. nano eula.txt로 파일을 열어 falsetrue로 변경한 후 저장한다.

googlecloud_mc 44.png
googlecloud_mc 45.png

  1. 다시 ./start.sh로 서버를 가동하면 서버가 동작한다.
    • 서버 실행 중에 문제가 생긴다면 에러 코드를 잘 확인하여 문제점을 찾아 해결해보자.
    • SSH 접속을 종료하면 서버가 꺼지기 때문에 screen을 입력한 뒤 ./start.sh를 입력하면 SSH를 종료해도 서버가 돌아간다.

googlecloud_mc 46.png

  1. 이제 서버에 접속하기 위해 마인크래프트를 서버와 동일한 버전으로 실행한다.
  2. VM 인스턴스에서 현재 인스턴스의 외부 IP를 복사한 뒤, 마인크래프트에서 멀티 플레이를 들어가 서버 추가 또는 직접 연결을 선택하여 서버 주소를 인스턴스외부IP:25565로 입력한 뒤 연결한다.

googlecloud_mc 48.png
googlecloud_mc 47.png
googlecloud_mc 49.png

  1. 이상이 없다면 서버에 잘 연결된다.

googlecloud_mc 50.png