Minecraft Docker Server Manager¶
Docker와 mcctl CLI를 사용하여 여러 Minecraft Java Edition 서버를 관리하는 DevOps 솔루션입니다.
주요 기능¶
- 멀티 서버 관리: 단일 호스트에서 여러 Minecraft 서버 실행
- 호스트네임 기반 라우팅: mc-router를 통해
server.local:25565로 접속 - nip.io 매직 DNS:
server.<ip>.nip.io로 클라이언트 설정 없이 접속 - 오토 스케일링: 접속 시 서버 시작, 유휴 시간 후 자동 종료
- 대화형 CLI: @clack/prompts 기반의 아름다운 터미널 UI
- 모드팩 지원: Modrinth 모드팩으로 서버 생성 및 동적 로더 감지
- 월드 관리: 서버 간 월드 할당, 잠금, 해제
- 플레이어 관리: CLI를 통한 운영자, 화이트리스트, 밴, 킥
- GitHub 백업: 비공개 저장소에 자동 월드 백업
시스템 요구사항¶
| 구성요소 | 최소 버전 | 비고 |
|---|---|---|
| Node.js | >= 18.0.0 | 20 LTS 권장 |
| Docker Engine | >= 24.0.0 | |
| Docker Compose | >= 2.20.0 | include 기능 필요 |
빠른 시작¶
# CLI 전역 설치
npm install -g @minecraft-docker/mcctl
# 플랫폼 초기화
mcctl init
# 서버 생성 (대화형 모드)
mcctl create
# 또는 인자와 함께
mcctl create myserver -t PAPER -v 1.21.1
# 서버 시작/중지
mcctl start myserver
mcctl stop myserver
# 상태 보기
mcctl status
주요 명령어¶
| 명령어 | 설명 |
|---|---|
mcctl create |
새 서버 생성 (대화형) |
mcctl start <name> |
서버 시작 |
mcctl stop <name> |
서버 중지 |
mcctl status |
모든 서버 상태 표시 |
mcctl logs <name> |
서버 로그 보기 |
mcctl console <name> |
RCON 콘솔 연결 |
mcctl config <name> |
서버 설정 보기/편집 |
아키텍처¶
flowchart TB
subgraph router["mc-router (:25565)"]
direction LR
R[호스트네임 라우팅]
end
C1[server1.local] --> router
C2[server2.local] --> router
router --> S1[mc-server1]
router --> S2[mc-server2]
문서¶
도움이 필요하신가요?¶
사용법이나 설정에 대해 궁금한 점이 있으신가요? AI 어시스턴트에게 물어보세요 - 이 문서를 학습한 AI가 질문에 대화형으로 답변해 드립니다.
링크¶
- 문제 해결 - 자주 발생하는 문제와 해결책
- GitHub 저장소
- itzg/minecraft-server 문서