# πŸ–₯️ Minecraft Dashboard - Backend λ§ˆμΈν¬λž˜ν”„νŠΈ μ„œλ²„ μƒνƒœλ₯Ό μ‘°νšŒν•˜κ³  μ‹€μ‹œκ°„μœΌλ‘œ μ „λ‹¬ν•˜λŠ” Node.js API μ„œλ²„μž…λ‹ˆλ‹€. ![Node.js](https://img.shields.io/badge/Node.js-20-339933?logo=nodedotjs) ![Express](https://img.shields.io/badge/Express-4-000000?logo=express) ![Socket.IO](https://img.shields.io/badge/Socket.IO-4-010101?logo=socketdotio) --- ## πŸ› οΈ 기술 μŠ€νƒ | 기술 | μ„€λͺ… | | ------------------------- | ----------------- | | **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 | ν”Œλ ˆμ΄μ–΄ 톡계 응닡 | --- ## πŸš€ μ‹€ν–‰ 방법 ```bash # 개발 λͺ¨λ“œ 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 |