From aa13e29dd20c7ee8790e93714ea054e44ee82ee4 Mon Sep 17 00:00:00 2001 From: winnie Date: Tue, 12 May 2026 19:36:18 +0000 Subject: [PATCH] Remove outdated readme --- README.md | 149 +----------------------------------------------------- 1 file changed, 1 insertion(+), 148 deletions(-) diff --git a/README.md b/README.md index dd3f1ce..9eed682 100644 --- a/README.md +++ b/README.md @@ -1,149 +1,2 @@ # MinePanel - -![MinePanel](https://img.shields.io/badge/MinePanel-Web%20Panel%20for%20Paper-4f8cff?style=for-the-badge) -![Java](https://img.shields.io/badge/Java-21-ff8a65?style=for-the-badge) -![Paper](https://img.shields.io/badge/Paper-1.21.x-58d68d?style=for-the-badge) -![Folia](https://img.shields.io/badge/Folia-Compatible-8e44ad?style=for-the-badge) -![Extensions](https://img.shields.io/badge/Extensions-Modular-9b59b6?style=for-the-badge) - -MinePanel is a Paper plugin that runs an embedded web panel for Minecraft server administration. - -The plugin is compatible with both Paper and Folia (1.21.x). - -The core plugin provides a secure web UI (login, roles, sessions, dashboard pages, logs, users, etc.) and an extension system so extra features can be added as separate jars. - -## What You Get - -### Core (works without extensions) - -- 🖥️ Embedded HTTP server for panel pages and API. -- 🔐 First-launch bootstrap flow to create the owner account. -- 🛡️ Secure auth with BCrypt + server-side sessions. -- 👥 Role/permission based panel access (`OWNER`, `ADMIN`, `VIEWER`). -- 📜 Console page with live panel log updates and command sending. -- 📊 Overview page with: - - TPS, memory, CPU cards - - TPS/Memory/CPU time-series charts - - Join/leave heatmaps (day x hour) -- 🎮 Players page with profile details and activity info. -- 🔌 Plugin and bans pages. -- 🎨 Themes page. -- 🧩 Extension management page. - -### Extension system - -- Core scans `plugins/MinePanel/extensions` on startup. -- If no extension jars are installed, you get the default panel only. -- If extension jars are present, their routes/tabs/features are loaded after restart. -- Extensions are discovered via Java `ServiceLoader` using: - - `META-INF/services/de.winniepat.minePanel.extensions.MinePanelExtension` -### All Extensions and their features are listed [here](https://github.com/WinniePatGG/MinePanel/tree/main/docs/AVAILABLE-EXTENSIONS.md) -## Runtime Configuration - -Default config in `src/main/resources/config.yml`: - -```yaml -web: - host: 127.0.0.1 - port: 8080 - sessionTtlMinutes: 120 - -security: - bootstrapTokenLength: 32 - -integrations: - github: - token: "" - releaseCacheSeconds: 300 -``` - -Use `integrations.github.token` (or environment variable `MINEPANEL_GITHUB_TOKEN`) for authenticated GitHub API requests and higher rate limits. - -## Build - -### Build core + extension jars - -```powershell -.\gradlew.bat assemble -``` - -### Build only core shadow jar - -```powershell -.\gradlew.bat shadowJar -``` - -## Build Outputs - -- Core plugin jar: - - `build/libs/MinePanel-.jar` -- Reports extension jar: - - `build/libs/extensions/MinePanel-Extension-Reports-.jar` -- Player-management extension jar: - - `build/libs/extensions/MinePanel-Extension-PlayerManagement-.jar` -- LuckPerms extension jar: - - `build/libs/extensions/MinePanel-Extension-LuckPerms-.jar` -- Player Stats extension jar: - - `build/libs/extensions/MinePanel-Extension-PlayerStats-.jar` - -## Installation - -1. Copy core jar to your server `plugins` folder. -2. Start server once. -3. Check console for the bootstrap token. -4. Open panel in browser: `http://127.0.0.1:8080` (or your configured host/port). -5. Complete setup and create owner account. - -## Installing Extensions - -1. Build or download extension jars. -2. Put them in: - - `plugins/MinePanel/extensions` -3. Restart the server. -4. New extension tabs/features become available. - -## Extension Links - -- GitHub releases: `https://github.com/WinniePatGG/MinePanel/releases` -- The panel reads extension assets from the latest selected channel (Release or Pre-release). -- If the GitHub API rate limit is reached, MinePanel falls back to cached release data and shows a warning in the Extensions tab. - -## Included Extension Artifacts in This Repo - -This repository can build two extension jars: - -- `MinePanel-Extension-Reports-*` - - Adds report system features. -- `MinePanel-Extension-PlayerManagement-*` - - Adds moderation/mute related player-management features. -- `MinePanel-Extension-LuckPerms-*` - - Adds LuckPerms player details in Players tab (groups, permissions, prefix/suffix). -- `MinePanel-Extension-PlayerStats-*` - - Adds player kills, deaths and economy balance (if Vault-compatible economy is present). - -## Writing Third-Party Extensions - -Detailed step-by-step guide: - -- `docs/EXTENSIONS.md` - -Implement `de.winniepat.minePanel.extensions.MinePanelExtension`. - -Typical flow: - -1. Implement extension class (`id`, `displayName`, lifecycle hooks). -2. Add service descriptor file: - - `META-INF/services/de.winniepat.minePanel.extensions.MinePanelExtension` -3. (Optional) Register panel routes via `registerWebRoutes(...)`. -4. (Optional) Add sidebar tabs via `navigationTabs()`. -5. (Optional) Register runtime commands via `ExtensionContext.commandRegistry()`. -6. Package jar and drop into `plugins/MinePanel/extensions`. - -## Security Notes - -- Use a reverse proxy + HTTPS in production. -- Restrict direct access to panel port (`web.port`) with firewall/network rules. -- Treat bootstrap tokens and owner credentials as sensitive secrets. - - - +## Readme coming soon \ No newline at end of file