마인크래프트 서버 구축: 친구들과 함께 즐기는 완벽 가이드
🎮 친구들과 함께하는 마인크래프트, 직접 서버를 만들어볼까요?
안녕하세요! 13년차 인프라 엔지니어입니다. 혹시 친구들과 마인크래프트(Minecraft) 멀티플레이를 즐기고 싶은데, 접속이 자꾸 끊기거나 원하는 모드를 적용하지 못해 답답했던 경험 있으신가요? 공식 렐름(Realms)은 비용이 들고, 매번 친구에게 접속을 부탁하기도 좀 그렇고요.
저도 처음엔 그랬거든요. 로컬 서버로 잠시 열었다가 닫고, 친구들은 제가 게임을 켜야만 들어올 수 있어서 정말 불편하더라고요. '에이, 이참에 아예 나만의 전용 서버를 하나 만들어버리자!' 하는 마음으로 홈랩(HomeLab)에 직접 마인크래프트 서버를 구축해봤거든요. 처음엔 삽질도 좀 했지만, 막상 해보니 생각보다 어렵지 않았고, 결과는 정말 뿌듯했습니다. 🤩
이 글에서는 여러분이 저처럼 삽질하지 않고, 친구들과 함께 언제든 접속해서 즐길 수 있는 마인크래프트 서버 구축 방법을 처음부터 끝까지 자세히 알려드릴게요. 마인크래프트 서버 호스팅 없이도 나만의 게임 서버를 만드는 완벽 가이드입니다. 자, 그럼 시작해볼까요?
💡 마인크래프트 서버, 대체 왜 필요할까요?
마인크래프트 서버가 필요한 이유는 크게 두 가지거든요. 첫째, 안정적인 멀티플레이 환경을 제공하기 위함이고, 둘째, 다양한 커스터마이징(Customizing)을 가능하게 하기 위함입니다. 일반적인 로컬 호스트 방식은 게임을 연 사람의 컴퓨터가 꺼지면 모든 플레이어가 접속할 수 없게 되죠. 하지만 전용 게임 서버는 24시간 내내 운영되며, 언제든 친구들이 접속할 수 있어요. 저는 업무 중에 잠시 쉬면서 친구들이 제 서버에서 잘 놀고 있는지 확인하기도 합니다. ㅎㅎ
여기서 중요한 포인트! 마인크래프트는 크게 Java Edition(자바 에디션)과 Bedrock Edition(베드락 에디션)으로 나뉜다는 거거든요. 이 글에서는 가장 보편적이고 커스터마이징이 자유로운 Java Edition 서버 구축에 초점을 맞출 겁니다. Java Edition 서버는 바닐라(Vanilla) 서버와 스피곗(Spigot), 페이퍼(Paper) 같은 최적화된 서버 소프트웨어로 나뉘는데, 저는 성능과 플러그인(Plugin) 호환성 때문에 PaperMC를 강력히 추천해요. 바닐라 서버보다 리소스(Resource) 사용량이 적고, 다양한 기능을 추가하기 훨씬 쉽거든요.
친구들과 함께 즐길 마인크래프트 서버의 기본적인 아키텍처 구성도를 한눈에 살펴보세요. 직접 서버를 구축할 때 전체적인 흐름을 이해하는 데 도움이 됩니다.
🛠️ 마인크래프트 서버 구축, 단계별로 따라하기
이제 본격적으로 서버를 만들어볼 시간입니다. 제가 홈랩에서 리눅스(Linux) 환경으로 구축했을 때의 경험을 바탕으로, 일반적인 Windows 환경에서도 쉽게 따라하실 수 있도록 설명해 드릴게요.
1. 마인크래프트 서버 실행 환경 준비
마인크래프트 자바 에디션 서버는 이름처럼 Java 기반으로 작동합니다. 따라서 가장 먼저 Java 런타임 환경(Runtime Environment)을 설치해야 해요.
- 운영체제(OS) 선택: 저는 보통 안정성과 효율성 때문에 리눅스(Ubuntu Server)를 사용하지만, 처음이라면 익숙한 Windows 10/11 환경도 괜찮습니다.
- Java 설치: 마인크래프트 서버 버전에 맞는 Java Development Kit(JDK) 또는 Java Runtime Environment(JRE)를 설치해야 합니다. 최신 마인크래프트 버전(1.18 이상)은 일반적으로 Java 17 또는 Java 21을 요구하더라고요.
💡 팁: 오라클(Oracle) JDK도 있지만, 저는 오픈소스인 OpenJDK를 선호합니다. 다음은 리눅스 환경에서 OpenJDK 17을 설치하는 예시입니다.
sudo apt update
sudo apt install openjdk-17-jre-headless # 서버용 JRE (헤드리스 버전)
java -version # 설치 확인
# openjdk version "17.0.X" 202X-XX-XX
# OpenJDK Runtime Environment (build 17.0.X+X-XXXX)
# OpenJDK 64-Bit Server VM (build 17.0.X+X-XXXX, mixed mode, sharing)
Windows의 경우, OpenJDK 공식 웹사이트에서 설치 파일을 다운로드하여 설치하시면 됩니다.
- 서버 파일 다운로드: 저는 앞서 언급했듯이 성능이 뛰어난 PaperMC를 추천합니다. PaperMC 공식 다운로드 페이지에서 최신 안정화 버전의 jar 파일을 다운로드하세요.
다운로드한 파일을 서버를 운영할 폴더(예: <code>C:\minecraft_server 또는 /home/user/minecraft_server)에 넣어줍니다.
2. 마인크래프트 서버 설정 파일 생성 및 초기화
서버 파일을 처음 실행하면 몇 가지 파일이 자동으로 생성됩니다. 이 중에서 가장 중요한 것은 eula.txt와 server.properties입니다.
eula.txt동의: 마인크래프트 최종 사용자 라이선스 계약(EULA)에 동의해야 서버가 실행됩니다.eula.txt파일을 열어eula=false를eula=true로 변경하고 저장하세요.server.properties설정: 이 파일은 서버의 모든 설정을 담고 있어요. 메모장이나 텍스트 편집기로 열어서 원하는 대로 수정하면 됩니다. 제가 주로 건드리는 핵심 설정들은 다음과 같습니다.
# server.properties 예시 (주요 설정)
enable-query=false
motd=§aWelcome to §bMy Awesome Minecraft Server! §r(by 13-year Infra Engineer)
pvp=true
difficulty=easy
gamemode=survival
max-players=20 # 동시 접속 최대 플레이어 수
server-port=25565 # 마인크래프트 기본 포트
level-name=world # 월드 폴더 이름
online-mode=true # 정품 유저만 접속 가능하도록 설정 (보안상 매우 중요!)
allow-flight=false
view-distance=10 # 시야 거리 (리소스 소모에 영향)
# ... 기타 설정들은 필요에 따라 수정하세요.
motd는 서버 목록에 표시되는 메시지인데, § 코드를 이용하면 색깔도 입힐 수 있어서 저는 꼭 활용하는 편입니다. online-mode=true는 반드시 유지하여 비정품(크랙) 유저의 접속을 막아야 하거든요. 보안상 정말 중요합니다!
3. 마인크래프트 서버 실행 스크립트 작성
서버를 매번 명령 프롬프트(Command Prompt)나 터미널(Terminal)에 직접 입력하는 건 번거롭죠. 간단한 스크립트 파일을 만들어서 편하게 실행할 수 있습니다.
새로운 텍스트 파일을 만들고, 내용을 입력한 후 start.bat (Windows) 또는 start.sh (Linux)로 저장하세요.
Windows (start.bat) 예시:
@echo off
java -Xms2G -Xmx4G -jar paper-1.20.4-XXXX.jar --nogui
PAUSE
Linux (start.sh) 예시:
#!/bin/bash
java -Xms2G -Xmx4G -jar paper-1.20.4-XXXX.jar --nogui
여기서 -Xms2G -Xmx4G는 서버에 할당할 메모리(RAM)를 지정하는 부분입니다. -Xms는 최소 할당 메모리, -Xmx는 최대 할당 메모리거든요. 저는 보통 4GB 정도를 할당하는데, 친구들과 몇 명이 함께 플레이하는지, 어떤 플러그인을 사용할지에 따라 유연하게 조절해주세요. (최소 2GB는 권장합니다.) paper-1.20.4-XXXX.jar 부분은 다운로드한 PaperMC 파일 이름과 일치시켜야 합니다. Linux에서는 chmod +x start.sh 명령으로 실행 권한을 부여해야 한답니다.
4. 마인크래프트 서버 방화벽 및 포트 포워딩 설정
이제 서버는 준비되었지만, 외부에서 친구들이 접속하려면 몇 가지 네트워크(Network) 설정을 해줘야 합니다. 저는 이 부분에서 가장 많이 삽질했던 기억이 나네요. 😅
- 서버 PC 방화벽 설정: 서버가 실행되는 컴퓨터의 방화벽에서 마인크래프트 포트(기본 25565/TCP)를 허용해야 합니다.
- Windows: [Windows Defender 방화벽]에서 [새 규칙]을 만들어 TCP 25565 포트를 허용하면 됩니다.
- Linux:
ufw같은 방화벽 도구를 사용한다면 다음과 같이 설정합니다.
sudo ufw allow 25565/tcp
sudo ufw enable
sudo ufw status
- 공유기(Router) 포트 포워딩(Port Forwarding) 설정: 이게 가장 중요합니다! 친구들이 여러분의 집 외부 IP(Public IP)로 접속했을 때, 공유기가 그 트래픽(Traffic)을 여러분의 서버 PC로 정확히 전달해주도록 설정해야 거든요.
- 공유기 설정 페이지(보통
192.168.0.1또는192.168.1.1)에 접속합니다. - [NAT/라우터 관리], [포트 포워딩], [가상 서버] 등 메뉴를 찾아 들어갑니다.
- 새 규칙을 추가하여, 외부 포트
25565, 내부 포트25565, 프로토콜TCP, 내부 IP 주소는 여러분의 서버 PC의 내부 IP 주소를 입력하세요. (예:192.168.0.100)
외부에서 마인크래프트 서버에 접속할 수 있도록 공유기(Router)에서 포트 포워딩(Port Forwarding)을 설정하는 화면 예시입니다. TCP 25565 포트가 서버 IP로 정확히 지정되었는지 확인해야 합니다.
⚠️ 경고: 간혹 DMZ(DeMilitarized Zone) 기능을 사용하라고 하는 경우도 있는데, 이는 서버 PC를 외부 네트워크에 완전히 노출시키는 것이므로 보안상 정말 위험합니다. 가급적 포트 포워딩만 사용하세요.
⚠️ 삽질 경험: "친구들이 접속이 안 돼요!"
제가 겪었던 흔한 문제들과 그 해결책을 공유해 드릴게요. 아마 여러분도 비슷한 경험을 하실 수 있을 겁니다.
- "친구들이 접속을 못 해요!"
- 해결: 가장 흔한 문제는 역시 포트 포워딩과 방화벽입니다. 서버 PC의 방화벽이 25565 포트를 막고 있지는 않은지, 공유기에서 서버 PC의 내부 IP로 포트 포워딩이 제대로 되었는지 다시 한번 확인해보세요. CanYouSeeMe.org 같은 웹사이트에서 25565 포트가 열려 있는지 테스트할 수 있거든요.
- 친구들에게 알려줄 IP 주소는 여러분의 외부(Public) IP 주소입니다. WhatIsMyIPAddress.com 같은 곳에서 확인하면 돼요.
- "서버가 너무 느려요" 또는 "렉이 심해요"
- 해결: 대부분 메모리 부족이거나 CPU 성능 문제입니다.
start.sh(또는.bat) 파일의-Xmx값을 충분히 늘려보세요. (예:-Xmx4G또는-Xmx6G) server.properties파일에서view-distance값을 줄이는 것도 도움이 돼요. (예:10에서7이나8로)- 인터넷 업로드/다운로드 속도(Bandwidth)가 충분한지도 확인해보는 게 좋습니다.
- 해결: 대부분 메모리 부족이거나 CPU 성능 문제입니다.
- "Java 버전 오류가 나요"
- 해결: 마인크래프트 서버 버전과 호환되는 Java 버전을 사용해야 합니다. 예를 들어, 마인크래프트 1.17은 Java 16 이상, 1.18 이상은 Java 17 이상을 요구하더라고요. 설치된 Java 버전을 다시 확인하고, 필요하다면 올바른 버전으로 재설치하세요.
✅ 마인크래프트 서버 접속 및 플레이!
모든 설정이 끝났다면, 이제 마인크래프트 클라이언트(Client)에서 서버에 접속해볼 시간입니다. 두근두근! 🎉
- 마인크래프트 게임을 실행합니다.
- [멀티플레이] 메뉴로 들어갑니다.
- [서버 추가] 또는 [직접 연결]을 선택합니다.
- 서버 주소(Server Address) 입력란에 다음 중 하나를 입력합니다.
- 로컬 접속 (서버 PC에서 직접 접속):
localhost또는 서버 PC의 내부 IP (예:192.168.0.100) - 외부 접속 (친구들 또는 다른 PC에서 접속): 여러분의 외부(Public) IP 주소 (예:
203.0.113.42)
- 로컬 접속 (서버 PC에서 직접 접속):
- [서버 팩 불러오기] 또는 [서버 참가]를 클릭하면... 드디어 접속!
성공적으로 마인크래프트 서버에 접속하여 플레이하는 게임 화면입니다. 친구들과 함께 만든 세상에서 모험을 시작할 준비가 되었습니다!
🚀 게임 서버 안정적 운영: 다음 단계로 나아가기
서버 구축에 성공했다면, 이제 더 안정적이고 재미있게 운영하기 위한 몇 가지 팁을 알려드릴게요. 저도 처음엔 몰랐다가 삽질하면서 배운 것들입니다.
- 자동 백업(Automatic Backup): 월드를 잃는 것만큼 슬픈 일은 없죠. 플러그인을 사용하거나 간단한 스크립트를 짜서 주기적으로 월드 데이터를 백업하는 게 정말 중요합니다.
- DDNS (Dynamic DNS): 가정용 인터넷은 대부분 유동 IP(Dynamic IP)를 사용합니다. IP 주소가 바뀌면 친구들에게 매번 새로운 IP를 알려줘야 하죠. No-IP나 DuckDNS 같은 DDNS 서비스를 이용하면 고정된 도메인(Domain) 주소로 서버에 접속할 수 있어서 훨씬 편리합니다.
- 모니터링(Monitoring): 서버의 CPU, RAM 사용량을 주기적으로 확인해서 서버가 버벅거리지 않도록 관리해주세요. 리눅스에서는
htop이나top명령어를, Windows에서는 작업 관리자를 활용하면 좋습니다. - 플러그인/모드(Plugin/Mod): PaperMC 서버를 사용한다면 다양한 플러그인을 설치하여 게임 플레이를 더욱 풍부하게 만들 수 있어요. (예: EssentialsX, WorldEdit 등)
안정적이고 효율적인 마인크래프트 서버 운영을 위한 핵심 팁들을 요약한 인포그래픽입니다. 백업, DDNS, 모니터링, 플러그인 활용 등 다음 단계를 위한 아이디어를 얻을 수 있습니다.
맺음말: 나만의 게임 서버, 직접 만들어보니 뿌듯하죠?
길고 긴 여정이었지만, 마침내 친구들과 함께 즐길 수 있는 나만의 마인크래프트 서버를 구축하는 데 성공하셨을 겁니다. 처음엔 복잡해 보여도, 하나하나 따라 하다 보면 충분히 해낼 수 있거든요. 저도 처음엔 낯선 리눅스 명령어와 포트 포워딩 때문에 머리를 싸맸지만, 결국 서버가 정상적으로 작동하고 친구들이 접속해서 즐거워하는 모습을 보니 그동안의 삽질이 모두 보상받는 기분이었습니다.
이 경험은 단순히 게임 서버를 만드는 것을 넘어, 네트워크, 시스템 관리 등 인프라 엔지니어링의 기본적인 개념들을 직접 몸으로 익히는 소중한 기회가 될 거예요. 다음번에는 Docker(도커)를 활용해서 마인크래프트 서버를 좀 더 효율적으로 관리하는 방법이나, 유용한 플러그인들을 소개하는 글로 다시 찾아뵙겠습니다. 궁금한 점이 있다면 언제든 댓글로 남겨주세요! 감사합니다!
'Tech & Hobby > Game' 카테고리의 다른 글
| [Game] ROG Ally에 SteamOS 설치 후기: 윈도우에서 리눅스로 게이밍 환경 전환 (0) | 2026.05.25 |
|---|---|
| [PC 조립 가이드] AI 반도체 가격 상승, 2026년 게이밍 PC 조립 비용에 미칠 영향 분석 (0) | 2026.05.22 |
| [Game] 스팀덱 Decky Loader 필수 플러그인: 설정 가이드 및 추천 (0) | 2026.05.20 |
| [Game] 레트로 게임 에뮬레이션: RetroArch 완벽 가이드 (설정부터 플레이까지) (0) | 2026.05.17 |
| [Game] 휴대용 게이밍 UMPC 비교: 스팀덱, ROG Ally, 리전 고 심층 분석 (0) | 2026.05.16 |
| [Game] RetroArch 설정 및 최적화 가이드: 올인원 에뮬레이터 완벽 활용법 (0) | 2026.05.16 |