80 lines
1.6 KiB
Markdown
80 lines
1.6 KiB
Markdown
|
|
# 🌐 ServerStatus
|
||
|
|
|
||
|
|
HTTP API로 마인크래프트 서버 상태를 제공하는 NeoForge 모드입니다.
|
||
|
|
|
||
|
|

|
||
|
|

|
||
|
|

|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ✨ 주요 기능
|
||
|
|
|
||
|
|
- 📊 **서버 상태 API** - 실시간 서버 정보 제공
|
||
|
|
- 👥 **플레이어 목록** - 접속 중인 플레이어 정보
|
||
|
|
- ⚡ **TPS 모니터링** - 서버 성능 지표
|
||
|
|
- 🗺️ **월드 정보** - 로드된 월드 및 청크 정보
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📡 API 엔드포인트
|
||
|
|
|
||
|
|
기본 포트: **25580**
|
||
|
|
|
||
|
|
### 서버 상태
|
||
|
|
|
||
|
|
```
|
||
|
|
GET /api/status
|
||
|
|
```
|
||
|
|
|
||
|
|
응답 예시:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"online": true,
|
||
|
|
"players": {
|
||
|
|
"online": 5,
|
||
|
|
"max": 20,
|
||
|
|
"list": ["Player1", "Player2"]
|
||
|
|
},
|
||
|
|
"tps": 20.0,
|
||
|
|
"version": "1.21.1"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🛠️ 기술 스택
|
||
|
|
|
||
|
|
| 기술 | 설명 |
|
||
|
|
| ------------------------- | --------------------- |
|
||
|
|
| **NeoForge** | Minecraft 모딩 플랫폼 |
|
||
|
|
| **Kotlin** | 주 개발 언어 |
|
||
|
|
| **Java HttpServer** | 내장 HTTP 서버 |
|
||
|
|
| **kotlinx.serialization** | JSON 직렬화 |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📁 구조
|
||
|
|
|
||
|
|
```
|
||
|
|
ServerStatus/
|
||
|
|
├── src/main/
|
||
|
|
│ ├── kotlin/co/caadiq/serverstatus/
|
||
|
|
│ │ ├── api/ # HTTP API 핸들러
|
||
|
|
│ │ └── ServerStatus.kt
|
||
|
|
│ └── resources/
|
||
|
|
│ └── META-INF/ # 모드 메타데이터
|
||
|
|
└── build.gradle.kts
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🚀 빌드
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./gradlew build
|
||
|
|
```
|
||
|
|
|
||
|
|
빌드된 JAR: `build/libs/serverstatus-1.0.0.jar`
|