MinecraftREST
MinecraftREST, a powerful REST API interface for Minecraft servers that provides secure endpoints for server management and player interactions.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
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