minecraft-web/backend/README.md

2.8 KiB

🖥️ Minecraft Dashboard - Backend

마인크래프트 서버 상태를 조회하고 실시간으로 전달하는 Node.js API 서버입니다.

Node.js Express Socket.IO


🛠️ 기술 스택

기술 설명
Node.js 런타임 환경
Express 웹 프레임워크
Socket.IO 실시간 통신
minecraft-server-util 서버 상태 조회
MySQL2 데이터베이스 연동

📡 API 엔드포인트

REST API

엔드포인트 설명
GET /api/status 서버 상태 조회
GET /api/players 플레이어 목록
GET /api/worlds 월드 정보

WebSocket 이벤트

이벤트 방향 설명
status Server → Client 서버 상태 브로드캐스트
players Server → Client 플레이어 목록 전송
get_player Client → Server 플레이어 상세 요청
player_detail Server → Client 플레이어 상세 응답
get_worlds Client → Server 월드 목록 요청
worlds Server → Client 월드 목록 응답
get_player_stats Client → Server 플레이어 통계 요청
player_stats Server → Client 플레이어 통계 응답

🚀 실행 방법

# 개발 모드
npm install
npm start

서버는 포트 80에서 실행됩니다.


📁 구조

backend/
├── server.js          # 메인 서버 (Express + Socket.IO)
├── routes/
│   └── api.js         # REST API 라우트
├── lib/
│   ├── db.js          # MySQL 연결 및 번역 로드
│   ├── minecraft.js   # 마인크래프트 서버 통신
│   ├── icons.js       # 아이콘 유틸리티
│   └── s3.js          # S3 스토리지 연동
└── data/              # 정적 데이터 파일

⚙️ 환경 변수

변수 설명
DB_HOST MariaDB 호스트
DB_USER 데이터베이스 사용자
DB_PASSWORD 데이터베이스 비밀번호
DB_NAME 데이터베이스 이름
MOD_API_URL 마인크래프트 Mod API URL