마인크래프트 1.17.1 서버 만들기
오늘은 AWS ec2를 사용해 마인크래프트 서버를 열어보도록 하겠습니다. 저는 마인크래프트 게임을 해본 적이 없었는데, 16년도쯤, 군대에 입대하기 전 동생에게 사주었던 마인크래프트 계정이 생각나 한 번 플레이를 해보았습니다. 그 이후 동생과 같이 즐기고 싶은 마음에 Realm이랑 하마치 등 알아보았지만 네트워크 속도나 아까운 비용 문제로 그냥 서버를 하나 만들기로 했습니다.
AWS ec2에 기존 포트폴리오를 배포하고 있어 여기에 인스턴스를 하나 더 추가하기로 했습니다. 저의 경우 AWS 계정 및 결제 정보를 이미 입력해 두었습니다. 이와 관련해서 미리 정보를 등록해주세요.
일단 요금은 온디맨드 방식으로 실행 중인 인스턴스에 따라 시간당 또는 초당 비용을 지불하는 방식입니다. (인스턴스는 자신이 대여하는 PC 1대를 부르는 말입니다) 그래서 24시간 서버를 돌리는 경우라면 온디맨드 요금 방식은 비추천입니다. 이 방식 말고도 예약 인스턴스 방식이 있습니다. 년단위 계약방식으로 선금 납입 후 이용할 수 있는데, 장점은 온디맨드 요금보다 최대 75% 저렴하다고 합니다. 24시간 오랫동안 서버를 유지하는 분들은 해당 요금제가 좋아 보이네요.
온디맨드 요금은 아래에서 확인해 주세요.
인스턴스 생성
상단 리전을 서울로 맞춰주고 모든 서비스 - 컴퓨팅 - EC2 로 접속합니다.
인스턴스 시작 클릭
Amazon Linux 2 AMI를 선택
인스턴스 유형을 선택해야합니다. 대여할 서버의 성능을 선택하는 옵션이기 때문에 개개인마다 다르게 옵션을 선택할 수 있습니다. 선택한 옵션마다 온디맨드 요금이 달라 상단에 온디맨드 인스턴스 요금을 확인할 수 있는 링크를 첨부해 두었으니 확인해주세요.
저의 경우 t2.small을 선택했는데요. 목장에 닭이 다량으로 증식했을 때, 서버가 다운됐습니다. 겨우 TNT로 폭파시켜 서버 렉을 풀었답니다.
마크의 경우 싱글코어 클럭이 높을 수록 좋고 메모리는 다다익렘입니다.
개인적으로 c4.large가 괜찮아 보입니다.
기본 설정으로 유지
저장 용량은 10GB로 지정하고 보안 그룹 구성을 눌러줍니다.
개인적으로 용량이 더 필요한 분들은 더 추가해서 사용하면 되겠죠.
보안 그룹 구성은 인스턴스에 네트워크 접속 차단/허용을 설정할 수 있습니다.
0.0.0.0/0은 모든 아이피를 뜻하고 25565번 포트는 마인크래프트 전용 서버의 포트로 위처럼 규칙을 추가해 포트 범위와 소스, 설명을 입력해줍니다.
검토 및 시작을 눌러주면 새 키 페어를 생성하라고 나옵니다. 저의 경우 기존에 생성된 키 페어를 사용할 것입니다.
키 페어는 외부에서 putty나 터미널을 사용하여 인스턴스에 접속할 때 필요한 보안 키로 생각하면 됩니다.
반듯이 저장해서 잘 보관해주세요.
다음은 지금 만든 인스턴스에 접속해야 하는데요.
윈도우 사용자는 아래 링크에서 AWS 인스턴스 접속 방법을 확인해주세요.
이렇게 새롭게 인스턴스가 생성되었으면, 오른쪽 클릭 후 연결을 눌러줍니다.
인스턴스 연결에는 접속 방법이 있는데요. 저는 맥을 사용하기 때문에 이 방법을 사용하겠습니다.
(Mac 기준, 윈도우의 경우 위 AWS putty 접속하기 링크 참고)
1. 터미널을 실행하고 키 페어 파일을 저장한 폴더로 위치를 이동합니다.
2. 키 페어 읽기 권한을 부여합니다.
3. ssh 시큐어 셀 명령어를 사용해 인스턴스에 접속합니다.
4. yes를 입력해 접속합니다.
접속 후 다음과 같이 명령어를 순서대로 입력해줍니다.
0. 관리자 계정으로 접속
sudo su -
1. 패키지 업데이트
yum update
명령어 입력 후 y를 입력해주면 업데이트가 진행됩니다.
2. 디렉토리 이동
cd /home/ec2-user
3. 디렉토리 생성
mkdir ./mc
저의 경우 마인크래프트 서버를 돌릴 파일들을 mc 폴더를 만들어 보관하려고 합니다. 폴더 명은 마음대로 입력해도 좋습니다.
4. 생성 디렉토리로 이동
cd ./mc
5. 서버 파일 다운로드
리눅스에서 wget 명령어로 파일을 다운로드할 수 있습니다. 저는 처음 바닐라 서버 파일을 사용했는데, 스피곳으로 변경했습니다. 서버는 여러 가지가 있으니 본인이 사용할 서버를 다운로드하면 됩니다.
다운로드 링크에 오른쪽 클릭을 해서 링크 주소 복사를 해줍니다.
wget <다운로드 링크 붙여넣기>
wget https://download.getbukkit.org/spigot/spigot-1.17.1.jar
7. 자바 설치 및 JDK 16.0.2 버전 다운로드
wget https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-x64_bin.tar.gz
tar xvf openjdk-16.0.2_linux-x64_bin.tar.gz
cp -r ./jdk-16.0.2 /root
마인크래프트 1.17.1 버전은 자바 JDK 16부터 실행 가능하다고 합니다. 지금은 위 명령어로 다운로드할 수 있겠지만 나중에 링크가 바뀌게 되면 아래와 같이 링크를 복사해줍니다.
8. 서버 실행
> ~/jdk-16.0.2/bin/java -Xmx1024M -ms1024M -jar spigot.jar nogui
서버를 한 번 실행하면 eula.txt 및 로그 폴더 등 기타 파일들이 생성됩니다. 제대로 서버를 실행하려면 eula.txt를 수정해주어야 합니다.
9. eula.txt 수정
> vim ./eula.txt
> i
eula=ture로 수정
> <esc>키 입력
> :<세미콜론> 입력
> wq! <엔터> 입력
vi 명령어를 모르시는 분들을 위해 위 명령어를 따라서 입력해주시면 됩니다.
10. 서버 재실행
> ~/jdk-16.0.2/bin/java -Xmx1024M -ms1024M -jar spigot.jar nogui
여기서 -Xmx1024M은 사용할 최대 RAM 용량이고 -ms1024M은 최소 RAM 용량입니다. 1024M는 1G로도 표현할 수 있습니다. 시스템 사양을 확인해서 적절히 램을 할당해주시면 좋을 듯합니다. 시스템 RAM 용량이 4GB라면 최대 2G 최소 1G로 할당할 것입니다.
spigot.jar은 실행할 서버 파일 이름입니다. ls 명령어를 사용해 파일명 확인 후 입력해주세요. 다운로드할 때마다 달라지더라고요.
서버 실행 명령어를 간단하게 하는 방법
명령어 입력 후 성능에 따라 1~5분 후 Done이 출력됩니다. 그렇다면 오픈한 서버에 접속해보겠습니다.
11. 서버 접속
아이피를 확인할 때에는 AWS 콘솔에서 해당 인스턴스 IPv4 퍼블릭 IP를 확인해주세요. 포트는 25565입니다.
서버 종료는 Ctrl + c 또는 ⌘ + c
터미널 종료 시 서버 종료
터미널을 종료해도 서버를 유지하고 싶은 경우 screen을 사용하면 되는데 아래 링크를 확인해주세요.
24시간 켜놓으면 요금 많이 나오니깐 주의해서 사용하세요.
여기까지 마인크래프트 1.17.1 서버를 만들어보았습니다.