minecraft-web/backend
caadiq 15709c4fb8 feat: 아이콘/번역 삭제 시 S3 파일도 삭제, UI 용어 통일
- S3 deleteFromS3, deleteByPrefix 함수 추가
- 아이콘 삭제 시 S3 파일도 삭제
- 번역 삭제 시 아이콘(S3 파일)도 함께 삭제
- 다이얼로그 '초기화' → '삭제'로 용어 통일
- 토스트 메시지 개선
2025-12-26 20:14:43 +09:00
..
data Initial commit: Minecraft Dashboard 2025-12-16 08:40:32 +09:00
lib feat: 아이콘/번역 삭제 시 S3 파일도 삭제, UI 용어 통일 2025-12-26 20:14:43 +09:00
routes feat: 아이콘/번역 삭제 시 S3 파일도 삭제, UI 용어 통일 2025-12-26 20:14:43 +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