minecraft-web/backend
caadiq 00be44fc33 feat: 모드팩 배포 시스템 UI/UX 개선
백엔드:
- 중복 모드팩 업로드 시 409 에러 반환
- changelog UTF-8 인코딩 수정
- S3 경로에서 한글 제거 (ASCII만 사용)

프론트엔드:
- 업로드 중 로딩 인디케이터 추가
- 에러 토스트 빨간색/성공 초록색 구분
- 다이얼로그 배경 클릭 시 닫히지 않음 + 스케일 바운스 효과
- 취소 버튼 로딩 중 비활성화
2025-12-23 17:15:32 +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: 모드팩 배포 시스템 UI/UX 개선 2025-12-23 17:15:32 +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