CoreLink
PluginLicenseRef-All-Rights-Reserved

CoreLink

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

30
Downloads
2
Followers
2 months ago
Updated
📦
1
Versions

📖About CoreLink

CoreLink Banner

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)

Website Docs
GitHub Report

➤ 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-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 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://:/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
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!