99 lines
2.3 KiB
Markdown
99 lines
2.3 KiB
Markdown
# 🎮 Minecraft Dashboard
|
|
|
|
마인크래프트 서버 상태를 실시간으로 모니터링하는 웹 대시보드입니다.
|
|
|
|

|
|

|
|

|
|
|
|
---
|
|
|
|
## ✨ 주요 기능
|
|
|
|
- 🟢 **서버 상태** - 온라인/오프라인 상태 및 플레이어 수 실시간 표시
|
|
- 👥 **플레이어 정보** - 접속 중인 플레이어 목록 및 3D 스킨 뷰어
|
|
- 🗺️ **월드 정보** - 서버 월드 목록 및 상세 정보
|
|
- 📊 **플레이어 통계** - 개별 플레이어 활동 통계
|
|
- ⚡ **WebSocket** - Socket.IO 기반 실시간 데이터 업데이트
|
|
|
|
---
|
|
|
|
## 📁 프로젝트 구조
|
|
|
|
```
|
|
minecraft-web/
|
|
├── frontend/ # React + Vite 프론트엔드
|
|
├── backend/ # Node.js + Express 백엔드
|
|
├── Dockerfile # 멀티스테이지 Docker 빌드
|
|
└── docker-compose.yml # Docker Compose 설정
|
|
```
|
|
|
|
---
|
|
|
|
## 🛠️ 기술 스택
|
|
|
|
### Frontend
|
|
|
|
| 기술 | 설명 |
|
|
| --------------- | -------------- |
|
|
| **React 18** | UI 라이브러리 |
|
|
| **Vite** | 빌드 도구 |
|
|
| **TailwindCSS** | CSS 프레임워크 |
|
|
| **Socket.IO** | 실시간 통신 |
|
|
| **skinview3d** | 3D 스킨 렌더링 |
|
|
|
|
### Backend
|
|
|
|
| 기술 | 설명 |
|
|
| ------------------------- | ----------------- |
|
|
| **Node.js** | 런타임 환경 |
|
|
| **Express** | 웹 프레임워크 |
|
|
| **Socket.IO** | 실시간 통신 |
|
|
| **minecraft-server-util** | 서버 상태 조회 |
|
|
| **MySQL2** | 데이터베이스 연동 |
|
|
|
|
---
|
|
|
|
## 🚀 실행 방법
|
|
|
|
### Docker (권장)
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
```
|
|
|
|
### 개발 모드
|
|
|
|
```bash
|
|
# 프론트엔드
|
|
cd frontend && npm install && npm run dev
|
|
|
|
# 백엔드
|
|
cd backend && npm install && npm start
|
|
```
|
|
|
|
---
|
|
|
|
## ⚙️ 환경 변수
|
|
|
|
`.env` 파일에 다음 변수들을 설정하세요:
|
|
|
|
```env
|
|
DB_HOST=mariadb
|
|
DB_USER=minecraft
|
|
DB_PASSWORD=your_password
|
|
DB_NAME=minecraft
|
|
MOD_API_URL=http://minecraft-server:25566
|
|
```
|
|
|
|
---
|
|
|
|
## 🌐 접속
|
|
|
|
- **URL**: https://minecraft.caadiq.co.kr
|
|
|
|
---
|
|
|
|
## 📄 라이선스
|
|
|
|
MIT License
|