MinecraftREST
MinecraftREST, a powerful REST API interface for Minecraft servers that provides secure endpoints for server management and player interactions.
MinecraftREST
MinecraftREST
The first stable release of MinecraftREST, a powerful REST API interface for Minecraft servers that provides secure endpoints for server management and player interactions.
🚀 Features
- 🔒 Secure JWT Authentication - 🌐 RESTful API endpoints for server management - 👥 Player management (kick, gamemode, messaging) - 📊 Server information and statistics - ⚡ Rate limiting protection - 🔍 Real-time player and world data
📋 Requirements
- Java 17 or higher - Spigot/Paper server 1.20.4
🔧 Installation
1. Download the `minecraft-rest-1.0.0.jar` from this release 2. Place it in your server's `plugins` folder 3. Start/restart your server 4. Configure the plugin in `plugins/MinecraftREST/config.yml`
Configuration
The plugin creates a `config.yml` file in `plugins/MinecraftREST/` with the following options:
```yaml
API Configuration
api-port: 4567 # The port on which the HTTP API will run
Security Configuration
security: jwt-secret: "your-secret-key-here" # Change this to a secure random string max-requests-per-minute: 60 # Rate limiting threshold admin-credentials: username: "admin" # Change this to a secure username password: "change-this-password" # Change this to a secure password ```
⚠️ Important: Change the default security settings before using in production!
API Documentation
The API is documented using the OpenAPI (Swagger) specification. You can find the full API documentation in: - `api-docs/swagger.yaml` - OpenAPI 3.0 specification file - Import this file into tools like: - Swagger Editor - Postman - Insomnia
Quick API Overview
All endpoints except `/api/auth/login` require JWT authentication via Bearer token.
1. Authentication - `POST /api/auth/login` - Get JWT token
2. Server Management - `GET /api/server/info` - Get server information - `POST /api/server/command` - Execute console command - `POST /api/broadcast` - Broadcast message
3. Player Management - `GET /api/players` - List online players - `POST /api/player/message` - Send message to player - `POST /api/player/kick` - Kick player - `POST /api/player/gamemode` - Change player gamemode