minecraft-web/backend
caadiq 3ab156cd56 feat: 모드팩 수정/삭제 API 추가
- PUT /api/admin/modpacks/🆔 변경 로그 수정
- DELETE /api/admin/modpacks/🆔 모드팩 삭제 (DB)
2025-12-23 16:33:51 +09:00
..
data Initial commit: Minecraft Dashboard 2025-12-16 08:40:32 +09:00
lib feat: modpacks 테이블 초기화 함수 추가 2025-12-23 16:26:59 +09:00
routes feat: 모드팩 수정/삭제 API 추가 2025-12-23 16:33:51 +09:00
services 회원가입/로그인, 프로필 추가 2025-12-22 09:36:23 +09:00
package.json feat: 모드팩 업로드 API 구현 2025-12-23 16:32:06 +09:00
README.md Initial commit: Minecraft Dashboard 2025-12-16 08:40:32 +09:00
server.js feat: modpacks 테이블 초기화 함수 추가 2025-12-23 16:26:59 +09:00

🖥️ 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