CoreLink

CoreLink bridges Minecraft servers and external dashboards via secure REST/WebSocket APIs, featuring built-in moderation, live stats, and dynamic server commands.

14

Quick challenge

How far can you run before the mobs catch you?

CoreLink

CoreLink Banner

<b>The Ultimate Secure REST API and WebSocket Orchestration Layer for Minecraft Servers.</b>

---

➤ 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)

Website Docs
GitHub Report

---

➤ Core Features

- Server Properties (SRV) Manager: Stream live console outputs, in-game player chat, and critical performance metrics directly to your external clients instantly. - Server Properties (SRV) Manager: Built with security first. Your endpoints are protected by Server Properties (SRV) Manager, IP whitelisting, strict rate limiting, and core brute-force protection. - Server Properties (SRV) Manager: A full, custom-built punishment system (`/mute`, `/ban`, `/warn`, `/freeze`, `/kick`) that permanently logs actions asynchronously to your Local storage or MongoDB database. - Server Properties (SRV) Manager: Modify `/view-distance`, `/simulation-distance`, and `/max-player` on 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
<b>1. SERVER ACTIONS</b> (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://:/console`

- Raw log/console streaming in real-time. - Multi-threaded log distribution.

`ws://:/chat`

- Global bi-directional communication bridge. - Features: Player messages, Join/Leave notices, Death messages, Advancement alerts.

`ws://:/stats`

- Private server health heartbeats. - Features: TPS & MSPT, Memory usage, Entity counts, Player telemetry.

---

➤ Supported Platforms & Requirements

| Platform / Tool | Supported Versions | |-----------------|--------------------| | Database | PaperMC 1.21 - 1.21.x | | Database | 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!*

ADS