Windows 또는 Ubuntu에서 Minecraft 서버(자바 에디션)를 만드는 방법

친구와 함께 마인크래프트 서버를 구축하고 즐기는 방법

마인크래프트는 창조적인 놀이터이자 동시에 때로는 좌절감을 주는 블록 세상입니다. 하지만 그 매력 덕분에 전 세계 수많은 게이머들이 이 게임을 즐기고 있으며, 마인크래프트는 역대 가장 많이 팔린 비디오 게임 중 하나입니다.

마인크래프트를 혼자 플레이하는 것도 즐겁지만, 오랜 시간 채굴과 제작을 반복하다 보면 지루해질 수 있습니다. 이때 멀티플레이어가 재미를 더해줍니다. 다른 플레이어들과 함께 대형 서버에서 즐길 수도 있지만, 직접 서버를 만들어 가까운 친구들과 함께 플레이하는 것이 더욱 즐거울 수 있습니다.

이 가이드에서는 개인 PC에 마인크래프트 서버를 구축하는 방법을 안내합니다. 서버를 운영하면 사용자의 IP 주소가 공개되므로 신뢰할 수 있는 사람들과만 서버를 공유하는 것이 중요합니다. 이 가이드는 Windows, macOS, Linux 환경에서 마인크래프트 Java 에디션 서버를 호스팅하는 방법을 다룹니다.

그럼 이제 본격적으로 서버를 만들어 보겠습니다.

마인크래프트 서버를 만드는 방법

대부분의 사용자는 개인 PC를 사용하여 서버를 호스팅합니다. 그러나 대규모 사용자 지원과 전문적인 게임 환경을 원한다면 마인크래프트 서버 호스팅 서비스를 이용하는 것도 좋은 방법입니다.

여기서는 개인 PC를 사용한다는 가정 하에 진행하겠습니다. 마인크래프트 Java 에디션을 실행하기 위해 먼저 Java를 설치하거나, 이미 설치되어 있다면 최신 버전으로 업데이트해야 합니다.

Windows에서 Java를 설치하는 방법은 간단합니다. Java 다운로드 페이지에서 최신 버전을 다운로드하여 설치하세요.

Ubuntu 사용자는 터미널을 열고 `sudo apt install openjdk-18-jre` 명령어를 입력하여 Java를 설치할 수 있습니다. 이 글을 작성하는 시점에는 Java 18이 최신 버전이지만, 필요에 따라 버전을 수정해야 할 수 있습니다.

만약 DigitalOcean과 같은 클라우드 서버에서 마인크래프트를 실행하려면, `sudo apt install openjdk-18-jre-headless` 명령어를 사용하여 Java를 설치해야 합니다. 이 명령어는 그래픽 사용자 인터페이스(GUI) 없이 마인크래프트를 실행하는 데 사용됩니다.

다음으로, 마인크래프트 Java 에디션 서버 파일을 다운로드하여 설치합니다. 이 파일은 ‘server’라는 이름의 단일 파일로 제공됩니다. Windows와 Linux용 파일이 따로 있는 것은 아닙니다.

다운로드한 서버 파일은 기본 다운로드 폴더 대신 별도의 폴더에 저장하는 것이 좋습니다. 서버 실행 시 다양한 파일이 생성되므로 깔끔하게 관리하는 데 도움이 됩니다.

이제 GUI가 있는 서버와 없는 서버 중 하나를 선택할 수 있습니다. GUI를 사용하면 편리하지만, 명령 프롬프트 방식으로 서버를 실행하면 추가적인 리소스를 확보할 수 있습니다. 여기서는 두 가지 방법 모두를 살펴보겠습니다.

GUI를 사용하는 마인크래프트 서버

GUI를 사용하는 마인크래프트 서버 설정은 Windows와 Ubuntu에서 거의 동일합니다.

Windows

서버 파일을 실행하면, 곧바로 실행되는 대신 ‘eula.txt’ 파일을 포함한 여러 파일이 생성됩니다. ‘eula.txt’ 파일을 열어 ‘eula=false’를 ‘eula=true’로 변경하고 저장합니다.

이것은 개발자의 이용 약관에 동의한다는 의미입니다. 이 단계를 건너뛰면 서버를 열 때 즉시 종료됩니다.

이제 서버 파일을 다시 실행하면 그래픽 사용자 인터페이스가 나타납니다. 서버가 모든 설정을 로드하기 시작하고, 오른쪽 하단에 ‘완료’ 메시지가 표시되면 서버가 호스팅 준비가 된 것입니다.

Ubuntu

터미널을 열고 `cd` 명령어를 사용하여 마인크래프트 서버 폴더로 이동합니다. 또는, 특정 폴더를 열고 마우스 오른쪽 버튼을 클릭한 후 ‘터미널에서 열기’를 선택하여 해당 폴더를 직접 지정할 수 있습니다.

`java -Xmx1024M -Xms1024M -jar server.jar` 명령어를 입력하고 엔터 키를 누릅니다. `Xmx`와 `Xms`는 각각 마인크래프트 서버에 할당되는 최대 및 최소 RAM 용량을 나타냅니다. 최적의 환경을 위해 이 값들을 조정할 수 있습니다.

예를 들어, 다음과 같이 변경할 수 있습니다.
`java -Xmx4096M -Xms2048M -jar server.jar`
이 명령어는 마인크래프트 서버가 2GB에서 4GB 사이의 RAM을 사용하도록 설정합니다.

서버를 실행하기 전에 EULA에 동의하라는 메시지가 나타납니다. Windows에서와 마찬가지로 ‘eula.txt’ 파일을 찾아 ‘false’를 ‘true’로 변경합니다.

그 후 동일한 명령어를 다시 입력하여 실행합니다.

시간이 조금 걸릴 수 있지만, 곧 서버 상태를 보여주는 그래픽 사용자 인터페이스가 나타납니다.

또한 “canberra-gtk-module.canberra-gtk-module” 모듈을 로드하지 못했다는 오류 메시지가 표시될 수 있습니다. 이 오류는 별도의 터미널을 열고 `sudo apt install libcanberra-gtk-module libcanberra-gtk3-module` 명령어를 실행하여 필요한 파일을 설치함으로써 해결할 수 있습니다.

이제 서버를 다시 시작하면 이 오류가 발생하지 않습니다.

GUI를 사용하는 것이 편리하지만, 매번 터미널을 사용하는 것이 번거로울 수 있습니다. 따라서 서버를 쉽게 실행할 수 있도록 스크립트를 만들어 보겠습니다.

먼저, 폴더 안에 ‘start.sh’라는 이름의 텍스트 파일을 만듭니다. 텍스트 편집기로 이 파일을 열고 `java -Xmx1024M -Xms1024M -jar server.jar` 명령어를 복사하여 붙여넣은 다음 저장합니다.

마지막으로, 마우스 오른쪽 버튼을 클릭하고 ‘속성’을 선택한 후, ‘권한’ 탭에서 ‘파일을 프로그램으로 실행 허용’을 체크합니다.

이제 ‘start.sh’ 파일을 마우스 오른쪽 버튼으로 클릭하고 ‘프로그램으로 실행’을 선택하면 마인크래프트 서버 GUI를 쉽게 열 수 있습니다.

지금까지 GUI를 사용하는 마인크래프트 서버를 만드는 방법을 알아보았습니다. 다음으로 대안적인 방법을 살펴보겠습니다.

GUI 없이 마인크래프트 서버 실행하기

GUI 없이 서버를 실행하는 것은 고급 사용자에게 적합하며, 좀 더 강력한 기능을 제공합니다.

Windows

이 방법에서는 ‘server.jar’ 파일을 직접 실행하지 않습니다. 대신, 명령 프롬프트에서 서버를 실행하기 위한 ‘start.bat’ 파일을 생성합니다.

먼저 ‘server.jar’ 파일이 있는 폴더를 열고 ‘start.txt’ 파일을 만듭니다. 메모장에서 이 파일을 열고 다음 코드를 복사하여 붙여넣고 저장합니다.

`java -Xmx1024M -Xms1024M -jar server.jar nogui`

이제 파일 이름을 ‘start.txt’에서 ‘start.bat’로 변경합니다.

‘start.bat’ 파일을 실행하여 서버를 처음으로 실행합니다. 이 과정에서 몇몇 파일이 추가로 생성됩니다. 명령 프롬프트 창은 자동으로 닫힙니다.

GUI 방식과 마찬가지로, ‘eula.txt’ 파일을 수정해야 합니다. ‘eula=false’를 ‘eula=true’로 변경합니다.

수정 후 ‘start.bat’ 파일을 다시 실행하면 다음과 같은 출력이 표시됩니다.

마지막에 표시되는 ‘완료’ 메시지는 서버가 정상적으로 실행되고 있음을 나타냅니다.

Ubuntu

Ubuntu에서 GUI 없이 서버를 실행하는 것은 앞서 만든 스크립트 파일에 ‘nogui’를 추가하는 것과 같습니다. 즉, 스크립트 파일의 내용은 다음과 같습니다.
`java -Xmx1024M -Xms1024M -jar server.jar nogui`

변경 사항을 저장하고 스크립트를 실행하여 터미널에서 마인크래프트 서버를 실행합니다.

`help` 명령어를 입력하여 사용 가능한 명령어 목록을 확인할 수도 있고, 마인크래프트 위키를 참고할 수도 있습니다.

이제 서버를 성공적으로 구축했습니다. 이 서버에 접속하려면 마인크래프트 런처의 멀티플레이어 메뉴에서 ‘서버 추가’를 선택한 다음, 서버 주소에 ‘localhost’ 또는 ‘0’을 입력하고 ‘완료’를 클릭합니다.

그러면 멀티플레이어 메뉴에 서버가 표시됩니다. 서버를 선택하고 하단의 ‘서버 참여’를 클릭하면 게임에 접속할 수 있습니다. 하지만, 혼자 플레이하기 위해 서버를 만든 것은 아니므로 다른 사람들과 함께 플레이하는 방법을 알아보겠습니다.

마인크래프트 서버에서 다른 플레이어 호스팅하기

마인크래프트 서버에 LAN(Local Area Network) 내부 또는 외부에서 다른 플레이어를 초대할 수 있습니다.

같은 네트워크 내에 있는 플레이어는 호스트의 내부 IP 주소만 있으면 됩니다. Windows에서는 명령 프롬프트에서 `ipconfig`를 입력하여 내부 IP 주소를 확인할 수 있습니다.

Ubuntu 사용자는 `hostname -I` 명령어를 사용하여 내부 IP 주소를 얻을 수 있습니다.

위 예시에서는 ‘192.168.1.32’가 내부 IP 주소입니다.

이 IP 주소를 다른 플레이어에게 공유하면, 그들은 멀티플레이어 탭의 서버 주소 섹션에 이 주소를 입력하여 서버에 참여할 수 있습니다.

하지만 LAN 외부 사용자를 호스팅하려면 몇 가지 추가적인 설정이 필요합니다.

첫 번째 단계는 서버 폴더 내에 생성된 ‘server.properties’ 파일에서 확인할 수 있는 특정 포트 번호에 대한 연결을 허용하도록 방화벽을 구성하는 것입니다.

마인크래프트의 기본 포트 번호는 25565입니다.

이제 이 포트를 통해 연결을 허용하도록 방화벽 설정을 조정해야 합니다.

방화벽 설정

방화벽 설정 방법은 운영체제에 따라 다릅니다. 여기서는 Windows와 Ubuntu의 설정 방법을 알아보겠습니다.

Windows에서 방화벽 설정

⊞+R 키를 누른 후 ‘firewall.cpl’을 입력하고 엔터 키를 누릅니다.

기본적으로 UDP 및 TCP 네트워크 프로토콜에 대한 포트(25565)에 대한 인바운드 및 아웃바운드 규칙을 설정해야 합니다. TCP 인바운드 규칙을 설정하여 첫 번째 단계를 완료하는 방법을 보여드리겠습니다.

동일한 포트에 대해 인바운드(UDP) 및 아웃바운드(TCP 및 UDP) 규칙을 반복적으로 설정합니다.

Ubuntu에서 방화벽 설정

Ubuntu에서 방화벽은 기본적으로 비활성화되어 있습니다. 터미널에서 `sudo ufw status verbose` 명령어를 실행하여 확인할 수 있습니다.

만약 상태가 ‘비활성’으로 표시되면 `sudo ufw enable` 명령어로 활성화할 수 있습니다.

다음으로 `sudo ufw allow 25565`를 입력하고 엔터 키를 눌러 포트 25565를 엽니다. 포트 25565는 마인크래프트에서 연결을 허용하는 기본 포트입니다.

이제 `sudo ufw status verbose` 명령어를 다시 사용하여 열린 포트를 확인할 수 있습니다.

이제 포트를 통해 연결할 수 있게 되었으므로, 다른 사람들이 서버에 접속할 수 있도록 해야 합니다. 이를 포트 포워딩이라고 합니다. 설정 과정은 WiFi 라우터 모델에 따라 다르기 때문에 여기서는 자세히 설명하지 않겠습니다.

장치 설명서를 참고하여 포트 포워딩을 설정하십시오.

설정이 완료되면, 친구들에게 공개 IP 주소를 알려주어야 합니다. Whatismyipaddress 웹사이트를 방문하거나 인터넷 검색을 통해 공개 IP 주소를 확인할 수 있습니다.

신뢰할 수 없는 사람과 공개 IP 주소를 공유하지 않도록 주의해야 합니다.

다른 사람이 서버에 접속하는 과정은 본인이 서버에 접속하는 과정과 비슷합니다. 다만 서버 주소 섹션에 공개 IP 주소와 포트 번호를 함께 입력해야 합니다. 예를 들어, ‘125.245.74.894:25565’와 같이 입력합니다. 서버 이름은 자동으로 설정되므로 신경 쓰지 않아도 됩니다.

결론

지금까지 마인크래프트 Java 에디션 서버를 구축하고 다른 플레이어를 초대하는 방법을 살펴보았습니다.

서버 호스트와 플레이어가 동일한 LAN에 있다면 설정 과정은 간단합니다. 서버를 만들고 내부 IP 주소를 공유하기만 하면 됩니다.

다른 네트워크에 있는 플레이어의 경우 마인크래프트 서버 파일을 다운로드하여 실행하고, 방화벽을 설정하고, 포트 포워딩을 구성하고, 외부 IP 주소를 공유해야 합니다.

데스크탑 PC를 소규모 서버로 사용하는 것은 가능하지만, 서버를 운영하면서 동시에 게임을 플레이하려면 강력한 PC 성능이 필요합니다.

만약 PC에서 서버를 운영하고 싶지 않거나 관리형 마인크래프트 서버가 마음에 들지 않는다면, Vultr에서 마인크래프트를 호스팅하는 방법을 참고해볼 수 있습니다.