Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
The Ultimate Secure REST API and WebSocket Orchestration Layer for Minecraft Servers.
➤ What is CoreLink?
CoreLink is an advanced, production-grade Minecraft server control layer designed for Paper API (1.21.1+). It acts as a bidirectional bridge between your Minecraft server infrastructure and external dashboards, Discord bots, or management panels. CoreLink provides extremely fast and secure access to REST API endpoints and real-time WebSocket communication.
Stop managing your server through clunky console panels or SSH—take full control of your community with a modern tech stack.
➤ Quick Links (Click to Navigate)
➤ Core Features
- Real-Time WebSocket Streaming: Stream live console outputs, in-game player chat, and critical performance metrics directly to your external clients instantly.
- Ironclad Security: Built with security first. Your endpoints are protected by Nimbus JOSE + JWT authentication, IP whitelisting, strict rate limiting, and core brute-force protection.
- Advanced Moderation Suite: A full, custom-built punishment system (
/mute,/ban,/warn,/freeze,/kick) that permanently logs actions asynchronously to your Local storage or MongoDB database. - Dynamic Server Utilities: Modify
/view-distance,/simulation-distance, and/max-playeron the fly through in-game commands or the REST API. No server restarts required! - Server Properties (SRV) Manager: Seamlessly toggle server maintenance modes, update extreme PVP states, and manage world settings from anywhere securely.
➤ In-Game Commands
We've built a suite of dedicated commands to manage your server in real-time. Click below to expand the list.
Click to View All In-Game Commands
⚖️ Moderation
/mute <player> <duration|perm> [reason]- Mute a player (e.g. 10m, 1h, perm)./unmute <player>- Restore a player's chat./warn <player> [reason]- Send an official warning./ban <player> [duration/perm] [reason]- Ban a player (defaults to permanent)./unban <player>- Remove a player's ban./kick <player> [reason]- Remove a player from the server./freeze <player>- Freeze a player in place./unfreeze <player>- Unfreeze a player.
⚡ Utility & Server Properties
/view-distance <distance>- Change world view distance./simulation-distance <distance>- Change world simulation distance./max-player <count>- Set the dynamic player limit./pvp <on/off>- Toggle server-wide PVP./pvp-world <world> <on/off>- Toggle per-world PVP./maintenance <on/off>- Toggle server maintenance mode./maintenance-whitelist <add/remove/list> <player>- Manage maintenance access./broadcast <message>- Send a cross-server broadcast.
🛡️ CoreLink Admin
/cl-info- View detailed plugin and node info./cl-reload- Reload plugin configurations./cl-restart- Restart the CoreLink Netty layer./cl-connections- View active WebSocket/API connections./cl-help- Display advanced help documentation.
➤ REST API & WebSockets
CoreLink is more than just a plugin—it's a developer-first networking layer. Click below to view major endpoints.
Click to View Major API Endpoints
1. SERVER ACTIONS (Base: `/api/server`)
Requires api_server JWT scope or global whitelist
GET /health- Returns node health status.GET /info- Returns version, uptime, connections, and player counts.POST /restart- Restarts the server. Body (Optional):{"delay": 10, "reason": "Updating"}POST /stop- Stops the server gracefully.POST /kill- Forcefully halts the JVM.POST /save-all- Saves worlds and player data.POST /save-off- Disables auto-save.POST /save-on- Enables auto-save.POST /pvp- Toggles PVP globally.POST /pvp-on / pvp-off- Enables/Disables PVP globally.POST /maintenance- Toggles whitelist/maintenance mode.POST /maintenance-whitelist- Modifies whitelist. Body:{"action": "add|remove", "player": "Name"}POST /broadcast- Send a server-wide broadcast message.POST /weather- Sets server weather (clear/rain/thunder).POST /difficulty- Sets world difficulty.POST /view-distance / /simulation-distance- Update world scaling properties.POST /max-players- Update the dynamic player limit.
2. MODERATION ACTIONS (Base: `/api/action`)
Requires api_action JWT scope or global whitelist
POST /ban-{"player": "...", "reason": "...", "duration": "1d|perm"}POST /unban-{"player": "..."}POST /kick-{"player": "...", "reason": "..."}POST /mute / /unmute- Manage player chat access.POST /gamemode- Change a player's gamemode.POST /tp- Teleport a player to a destination.POST /freeze / /unfreeze- Manage player movement.POST /warn- Issue an official player warning.
3. CONSOLE COMMANDS (Base: `/api/console`)
Requires api_console JWT scope or global whitelist
POST /send- Dispatch a command. Body:{"command": "time set day"}
4. PLAYERS INFORMATION (Base: `/api/players`)
Requires api_players JWT scope or global whitelist
GET /list- Fetch all players (Name & UUID).GET /online / /offline- Filter players by connection status.GET /banned- View the server ban-list.GET /whitelist-list- View whitelisted players.GET /{uuid_or_name}- Returns detailed player profile (Health, Loc, GM).GET /{uuid_or_name}/stats- Returns block/item interaction statistics.GET /{uuid_or_name}/history- Returns session join/quit history.GET /{uuid_or_name}/inventory- Returns full inventory (Armor, Enderchest, Base64).GET /{uuid_or_name}/location- Returns world/coords/biome data.GET /{uuid_or_name}/permissions- Returns active permission groups.GET /{uuid_or_name}/punishments- Returns historical bans/mutes/warns.POST /{uuid_or_name}/message- Sends a private message to the player.
🛰️ WebSocket Channels
`ws://<ip>:<port>/console`
- Raw log/console streaming in real-time.
- Multi-threaded log distribution.
`ws://<ip>:<port>/chat`
- Global bi-directional communication bridge.
- Features: Player messages, Join/Leave notices, Death messages, Advancement alerts.
`ws://<ip>:<port>/stats`
- Private server health heartbeats.
- Features: TPS & MSPT, Memory usage, Entity counts, Player telemetry.
➤ Supported Platforms & Requirements
| Platform / Tool | Supported Versions |
|---|---|
| Server | PaperMC 1.21 - 1.21.x |
| Java | Java 21+ |
| Database | LocalDB or MongoDB (Required for async storage) |
⚠️ NOTE: This plugin requires a specific setup to configure the JWT secrets and MongoDB connection string. Please read the documentation before starting your server!


