Unofficial site, not affiliated with modrinth.com.What is this?
mcsl

mcsl

MCSL is a dedicated server admin tool that lets you share your console logs, crash logs, timings, latest log and more. The platform allows sharing and management logs much easier.

17
0

📋 MCSL — MineCraftServerLogs

The fastest way to capture, analyse, and share your Minecraft server logs.

Minecraft Platform License Powered by HasteLog bStats


MCSL is a lightweight Minecraft server plugin that gives server administrators a single command to upload, parse, redact, and share server logs — all powered by HasteLog, a fast and free log-sharing service. No more copy-pasting giant log files into chat or Discord. One command and your log is live on the web, ready to share with support staff, developers, or your community.


[17:34:12 INFO]: ──────────────────────────────────────────────────
[17:34:12 INFO]:   MCSL — MineCraftServerLogs v1.0.0
[17:34:12 INFO]:   Powered by https://logs.protectcord.com
[17:34:12 INFO]: ──────────────────────────────────────────────────
[17:34:12 INFO]:   /mcsl upload [lines|all|errors] — Upload latest.log to HasteLog
[17:34:12 INFO]:   /mcsl info                      — Print server info summary
[17:34:12 INFO]:   /mcsl errors [lines]             — Show recent errors in chat
[17:34:12 INFO]:   /mcsl players                   — Show player events from log
[17:34:12 INFO]:   /mcsl plugins                   — List all plugins & status
[17:34:12 INFO]:   /mcsl share                     — Upload full diagnostic report
[17:34:12 INFO]:   /mcsl crash                     — Upload latest crash report
[17:34:12 INFO]: ──────────────────────────────────────────────────

🎯 Who Is This Plugin For?

MCSL is built specifically for server administrators and developers who spend time diagnosing issues on Bukkit, Spigot, Paper, Purpur, or Folia servers.

If you are...MCSL helps you...
A server owner with a broken pluginUpload errors instantly and share the link with the plugin's support team
A developer debugging your own pluginGet a full diagnostic report — version, all loaded plugins, errors, TPS — in one link
A network admin managing multiple serversRun /mcsl share on any node and get a single URL to compare behaviour across servers
A support volunteer on a help DiscordAsk users to run /mcsl upload errors instead of pasting 3,000 lines of log
A hosting providerInclude MCSL on your pre-installed plugin list — your clients get self-service diagnostics

✨ Features

🔼 One-Command Log Upload

Upload your entire latest.log — or just the last N lines, or only errors — to logs.protectcord.com with a single command. You get back a short, shareable URL that you can click directly from your in-game chat.

🔍 Intelligent Log Parsing

MCSL automatically scans your logs and categorises what it finds:

  • Errors & Exceptions — full stack traces, [ERROR], [SEVERE] entries
  • Warnings[WARN] and [WARNING] entries
  • Plugin events — which plugins enabled, disabled, or failed to load
  • Player events — join, leave, kick, and ban entries
  • Crash signals — Minecraft crash report headers and unhandled exceptions

🔒 Privacy-First Redaction

Before anything leaves your server, MCSL scrubs sensitive data:

  • IPv4 and IPv6 addresses → [REDACTED_IP]
  • JWT tokens → [REDACTED_TOKEN]
  • API keys and Bearer tokens → [REDACTED_KEY]
  • JDBC/database passwords → password=[REDACTED]
  • Your own custom regex patterns (defined in config.yml)

All redaction is configurable and can be turned on or off per category. Player IPs are redacted by default.

📊 Full Server Diagnostic Reports

/mcsl share produces a rich, structured report including:

  • Server software, version, and full build string
  • All loaded plugins with version and enabled/disabled status
  • All loaded mods (Forge 1.12, Forge 1.13+, and Fabric all supported via reflection)
  • Memory usage, TPS (1m/5m/15m), and server uptime
  • MOTD, gamemode, difficulty, online mode, max players
  • Parsed errors, warnings, and player events
  • The full log tail

💥 Automatic Crash Detection

If your server crashes unexpectedly, MCSL's JVM shutdown hook fires automatically, uploads the last 1,000 log lines along with the parsed error summary, and logs the HasteLog URL to console — even if the Bukkit scheduler is no longer running. Online operators receive an in-game notification with the link.

⚡ Fully Asynchronous

Every upload runs off the main server thread. Your TPS will never drop because of a log upload.

🧩 Mod Server Support

MCSL detects and lists mods on:

  • Forge (1.12.x via fml.common.Loader, 1.13+ via fml.ModList)
  • Fabric (via net.fabricmc.loader.api.FabricLoader)

📸 In Action

/mcsl upload 500

[MCSL] Uploading last 500 lines to HasteLog...
[MCSL] Uploaded (last 500 lines) successfully!
[MCSL] View report: https://logs.protectcord.com/GvuuyVDqN2

The URL is clickable in-game — click it to open in your browser.


/mcsl info

  ──────────────────────────────────────────────────
  Server Information
  ──────────────────────────────────────────────────
  Name:           My Minecraft Server
  Software:       Paper 1.20.4
  Version:        git-Paper-388 (MC: 1.20.4)
  Port:           25565
  Online Mode:    true
  Gamemode:       survival
  Difficulty:     normal
  Max Players:    100
  Online:         12 / 100
  Memory:         1842MB used / 4096MB max (committed: 2048MB)
  Uptime:         6h 34m 12s
  TPS:            19.98 / 19.97 / 19.95  (1m/5m/15m)
  Plugins:        32 enabled / 33 total
  ──────────────────────────────────────────────────

/mcsl plugins

  ──────────────────────────────────────────────────
  Plugins — 32 enabled / 33 total
  ──────────────────────────────────────────────────
  [+] EssentialsX                v2.20.1   by EssentialsX Team
  [+] LuckPerms                  v5.4.108  by Luck
  [+] Vault                      v1.7.3    by MilkBowl
  [+] WorldEdit                  v7.3.1    by sk89q
  [-] BrokenPlugin               v1.0.0    by SomeAuthor
  ──────────────────────────────────────────────────

[+] = enabled, [-] = disabled/failed to load


/mcsl errors

[MCSL] Found 3 errors and 7 warnings in the last 500 lines.
[MCSL] Last 3 errors:
  [ERROR] Could not load 'plugins/BrokenPlugin.jar' in folder 'plugins'
  org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
  [ERROR] Error occurred while enabling BrokenPlugin v1.0.0 (Is it up to date?)
[MCSL] Use /mcsl upload errors to upload the full error log.

Uploaded Report (example)

════════════════════════════════════════════════════════════
              MCSL — Server Diagnostic Report
════════════════════════════════════════════════════════════

Generated  : 2026-04-20 17:34:12 UTC
Generator  : MCSL v1.0.0 (https://logs.protectcord.com)

SERVER INFORMATION
────────────────────────────────────────────────────────────
  Name         : My Minecraft Server
  Software     : Paper 1.20.4
  Full Version : git-Paper-388 (MC: 1.20.4)
  MOTD         : Welcome to My Server
  Online Mode  : true
  Port         : 25565
  Max Players  : 100
  Online Now   : 12 / 100
  Memory       : 1842MB used / 4096MB max
  Uptime       : 6h 34m 12s
  TPS          : 19.98 / 19.97 / 19.95

PLUGINS (32 enabled / 33 total)
────────────────────────────────────────────────────────────
  [+] EssentialsX               v2.20.1
  [+] LuckPerms                 v5.4.108
  [-] BrokenPlugin              v1.0.0   ← DISABLED

ERRORS & EXCEPTIONS (3 found)
────────────────────────────────────────────────────────────
  [ERROR] Could not load 'plugins/BrokenPlugin.jar'
  ...

FULL LOG (500 lines)
────────────────────────────────────────────────────────────
  ... (redacted log content) ...

🚀 Installation

  1. Download MCSL-1.0.0.jar from the Releases tab
  2. Drop it into your server's /plugins/ folder
  3. Restart or reload your server
  4. A plugins/MCSL/config.yml will be generated automatically
  5. Run /mcsl help in-game or from console

No configuration required out of the box. The plugin ships with a pre-configured API key and sane defaults.

Requirements

RequirementVersion
Java8 or newer
ServerBukkit / Spigot / Paper / Purpur / Folia
Minecraft1.8.8 — 1.21.x

⚙️ Configuration

plugins/MCSL/config.yml is generated on first run. Every option is documented inline.

# HasteLog API settings
api:
  timeout-ms: 50000             # HTTP request timeout

# Privacy & redaction
redaction:
  enabled: true                 # Master toggle
  redact-player-ips: true       # Hide IPv4/IPv6 addresses
  redact-server-ip: false       # Hide the server's own IP (for /mcsl share)
  redact-api-keys: true         # Hide JWT tokens, Bearer keys, sk- keys, etc.
  custom-patterns: []           # Your own regex patterns, e.g. "password=[^\\s]+"

# Log upload behaviour
upload:
  default-lines: 25000          # Lines uploaded when no argument is given
  include-server-info-header: true
  include-plugin-list: true
  include-mod-list: true
  async: true                   # Always recommended

# Automatic actions
auto:
  upload-on-crash: true         # Auto-upload on abnormal server exit
  upload-on-start: false        # Upload a summary when the server starts
  notify-ops-on-crash-upload: true

# /mcsl share options
share:
  include-server-ip: true
  include-port: true
  include-player-count: true
  include-performance: true

# Chat formatting
messages:
  prefix: "&8[&bMCSL&8]&r "

Live Config Changes

You can change most settings without restarting:

/mcsl config redaction.redact-player-ips false
/mcsl config upload.default-lines 1000
/mcsl config auto.upload-on-crash false
/mcsl reload

⚠️ The API URL and API key are baked into the JAR and cannot be changed through config. This is intentional — it prevents misconfiguration and keeps the global key secure.


📖 Commands Reference

All commands require the mcsl.use permission (op by default).

/mcsl upload [argument]

Uploads latest.log to HasteLog and returns a clickable URL.

ArgumentBehaviour
(none)Upload the last upload.default-lines lines (default: 25,000)
500Upload the last 500 lines
allUpload the entire log file
errorsUpload only lines containing errors or warnings

Example:

/mcsl upload 1000
/mcsl upload errors
/mcsl upload all

/mcsl share

Generates and uploads a full structured diagnostic report — server info, plugin list, mod list, TPS, memory, errors, warnings, player events, and the full log tail — in a single HasteLog document.

This is the command to use when asking for help. Share the link with a support team, developer, or community Discord and they have everything they need to diagnose your issue.


/mcsl info

Prints a formatted server information panel directly to your chat or console. Includes software version, performance metrics, player count, and plugin summary. Nothing is uploaded — it's local only.


/mcsl errors [lines]

Scans the last N lines of latest.log and prints a summary of errors and warnings directly in chat. Shows the last 10 errors inline. Suggests /mcsl upload errors if there are more.

/mcsl errors        → scan last 25,000 lines
/mcsl errors 500    → scan last 500 lines

/mcsl players

Scans the log for player events (join, leave, lost connection, kick, ban) and prints the last 15 in chat. Useful for quickly checking recent player activity without reading the full log.


/mcsl plugins

Lists every plugin currently loaded by the server, with its version, author(s), and enabled/disabled status. Disabled or failed plugins are shown with [-] in red so they're immediately visible.


/mcsl mods

Lists all loaded Forge or Fabric mods, including mod ID, display name, and version. Returns a message if the server is vanilla/Bukkit-only with no mod loader.


/mcsl crash

Finds the most recently modified file in the crash-reports/ directory, uploads it with a plugin list header, and returns a HasteLog URL. Useful after a crash to quickly get the report online.


/mcsl config <key> <value>

Change a config setting at runtime without editing config.yml directly. Supports tab completion for key names and boolean values.

/mcsl config redaction.enabled false
/mcsl config share.include-server-ip false
/mcsl config upload.default-lines 5000

/mcsl reload

Reloads config.yml from disk and recompiles any custom redaction patterns.


🔐 Permissions

PermissionDefaultDescription
mcsl.useopAccess to all /mcsl commands
mcsl.uploadopUpload logs to HasteLog
mcsl.infoopView server info
mcsl.shareopGenerate full diagnostic reports
mcsl.configopChange config at runtime

mcsl.use is a parent permission that grants all children automatically.


🛡️ Privacy & Security

What is redacted by default?

DataRedacted?Replacement
Player IPv4 addresses✅ Yes[REDACTED_IP]
Player IPv6 addresses✅ Yes[REDACTED_IPv6]
JWT tokens✅ Yes[REDACTED_TOKEN]
API keys (sk-, Bearer, hl_, etc.)✅ Yes[REDACTED_KEY]
JDBC/database passwords✅ Yespassword=[REDACTED]
Server IP (in /mcsl share)❌ No (configurable)[SERVER_IP]
Player usernames❌ No
World names❌ No

What is uploaded?

Only the content you explicitly request. MCSL never uploads in the background unless you have auto.upload-on-crash: true or auto.upload-on-start: true in your config. The API key is embedded in the JAR and cannot be read from config.yml.

Where is the data stored?

All uploads go to logs.protectcord.com, which is a HasteLog instance operated by ProtectCord. Documents are accessible to anyone with the link.


📊 Analytics

MCSL collects anonymous usage statistics via bStats. This includes:

  • Number of servers using the plugin
  • Minecraft and server software versions in use

No log content, player data, or server-identifying information is ever collected. You can disable bStats server-wide in plugins/bStats/config.yml.


❓ FAQ

Q: Does /mcsl upload upload the entire log file? No — by default it uploads the last 25,000 lines. Use /mcsl upload all for the full file, or specify a number like /mcsl upload 500.

Q: Can players see the uploaded URL? Only operators (or players with mcsl.use) can run any MCSL command. The URL is shown only to the command sender.

Q: Is the API key safe? The API key is XOR-obfuscated and compiled into the JAR — it does not appear as a readable string in the bytecode. It is also excluded from config.yml entirely and cannot be changed or read by server admins.

Q: Does this work on Folia? MCSL loads on Folia servers. Commands, log reading, and uploads all work. TPS detection uses Folia's scheduler where available.

Q: Can I use a self-hosted HasteLog instance? Not through config — the URL is baked into the JAR. Contact ProtectCord if you need a custom build for your hosting environment.

Q: Does it work with Forge or Fabric? MCSL is a Bukkit plugin, so it runs on hybrid servers like Mohist (Forge+Bukkit) or Cardboard (Fabric+Bukkit). Mod detection works on these platforms via reflection.


🔗 Links

ResourceLink
HasteLog Servicelogs.protectcord.com
bStats Dashboardbstats.org/plugin/bukkit/MCSL/30872

Made with ❤️ by ProtectCord · Powered by HasteLog

Modrinth bStats

Совместимость

Minecraft: Java Edition

26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x1.13.x1.12.x1.11.x1.10.x1.9.x1.8.x

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:MIT
Опубликован:1 неделю назад
Обновлён:1 день назад
Главная