MinecraftREST

MinecraftREST, a powerful REST API interface for Minecraft servers that provides secure endpoints for server management and player interactions.

80

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

ADS