MonitoringMinecraft MonitoringMinecraft

Helios Core

Плагин BukkitBungeeCordPaper

Плагин для серверов Майнкрафт: ядро экосистемы Helios — общие сервисы хранения, прав, сообщений, профилей игроков и веб-панели.

20 скачиваний 0 подписчиков
Оцените первым

☀️ HeliosCore

Service Registry • Unified Storage • Live Web Dashboard • License Validation • Shared API

Helios Paper Java License


📖 Table of Contents


✨ Why HeliosCore?

HeliosCore is required by every Helios plugin (HeliosAdmin, HeliosEconomy, HeliosChat, HeliosTab, NinezJobs, NinezSkills, NinezMarket, NinezGUI, NinezLogs, …). Instead of every plugin re-implementing storage, permissions, messaging, and dashboards, HeliosCore provides them once — so your whole suite shares a single source of truth.

🧠 Service Registry 💾 Unified Storage 🔐 PermissionService
Clean cross-plugin APIs Yaml / SQLite / MySQL / MariaDB Runtime registration with descriptions
CoreServices.require(...) Shared by every Helios plugin LuckPerms / GroupManager friendly
📜 AuditService 🌐 Web Dashboard 🪪 Licensing (WIP)
Append-only audit log HTTP + SSE host with token auth One license check gates the suite
Used by every plugin Pluggable contributors Soft-fails in offline grace mode

🚧 Licensing is a work in progress. The License Server, key issuance, and runtime validation pipeline are still being finalized. HeliosCore currently runs in permanent offline grace mode — install and use the suite normally; the licensing layer will activate transparently in a future release.

✅ Adventure / MiniMessage native • PlaceholderAPI bridge • Vault adapter • bStats metrics


📋 Requirements

Requirement Version
Minecraft 1.21.x26.1.x (native & tested)
Server Paper / Purpur (Spigot not officially supported)
Java 21+
Soft-depends Vault • PlaceholderAPI • LuckPerms (all optional)

🔌 HeliosCore loads before all Helios plugins automatically (loadbefore directive).


📥 Installation

1. Drop HeliosCore-x.y.z.jar  →  plugins/
2. Start the server (config & data folder auto-generate)
3. Run  /hcore setup          (creates one-time dashboard owner link — REQUIRED)
4. Open the link printed in console → set username + password in your browser
5. (Optional) Edit plugins/HeliosCore/config.yml for storage, dashboard, license
6. Run  /hcore reload
7. Install other Helios plugins — they register into HeliosCore automatically

⚠️ /hcore setup is required. Until you run it and complete owner setup, the dashboard refuses logins.


🎮 Commands

Aliases: /hcore/helioscore/ncore/ninezcore

Command Description Permission
/hcore Show plugin status & loaded services
/hcore about Framework information & version helioscore.command.about
/hcore reload Reload framework configs and database settings helioscore.command.reload
/hcore services List loaded services and their owning plugins helioscore.command.services
/hcore database Inspect / test the configured database backend helioscore.command.database
/hcore dashboard View dashboard status and access URL helioscore.command.dashboard
/hcore doctor Run diagnostic health checks on the entire ecosystem helioscore.command.doctor
/hcore update Check & apply ecosystem plugin updates helioscore.command.update
/hcore setup Generate a one-time setup link for the dashboard owner helioscore.command.setup
/hcore register Generate a one-time registration link for staff users helioscore.command.register

🔐 Permissions

HeliosCore uses a clean, hierarchical permission tree that drops straight into LuckPerms, GroupManager, PermissionsEx, or vanilla op.

🌳 Hierarchy

helioscore.admin                  (default: op)  ━ grants EVERYTHING
└── helioscore.command.all                        ━ all leaf nodes below
    ├── helioscore.command.about
    ├── helioscore.command.reload
    ├── helioscore.command.services
    ├── helioscore.command.database
    ├── helioscore.command.dashboard
    ├── helioscore.command.doctor
    ├── helioscore.command.update
    ├── helioscore.command.setup
    └── helioscore.command.register

All nodes default to false for non-ops. Grant helioscore.admin for full access, or assign individual leaf nodes to staff roles.

💡 Suggested LuckPerms Setup

📋 Click to expand example LuckPerms commands
# ────────────── Owner — full control ──────────────
/lp group owner permission set helioscore.admin true

# ────────────── Admin — everything except setup/register ──────────────
/lp group admin permission set helioscore.command.all true
/lp group admin permission set helioscore.command.setup false
/lp group admin permission set helioscore.command.register false

# ────────────── Senior Staff — read-only diagnostics ──────────────
/lp group senior permission set helioscore.command.about true
/lp group senior permission set helioscore.command.services true
/lp group senior permission set helioscore.command.dashboard true
/lp group senior permission set helioscore.command.doctor true

🌐 Web Dashboard

HeliosCore ships with a built-in HTTP + SSE server. Every Helios plugin can mount its own page, actions, and live data feeds via the DashboardContributor API.

📊 Out of the box you get…

  • 📈 Live server status — TPS, MSPT, memory, uptime, online players
  • 📡 Audit log stream — every staff action across every plugin, in real time
  • 🧩 Plugin tiles — one tile per Helios plugin showing its service health
  • 💾 Backup controls (via HeliosAdmin) — create, list, delete, restore world backups
  • 🔒 Role gatingOWNER / ADMIN / STAFF actions checked server-side
  • 🔑 Token authentication — rotate any time with /hcore dashboard

🚀 First-Run Flow

1. /hcore setup                  → console prints a one-time link
2. Open link in browser          → set username & password for OWNER
3. Log in                        → Settings → Users to invite staff
                                   (or use /hcore register)

⚙️ Configuration

Key sections in plugins/HeliosCore/config.yml:

# Storage backend — shared by every Helios plugin
storage:
  type: sqlite        # yaml | sqlite | mysql | mariadb
  mysql:
    host: localhost
    port: 3306
    database: helios
    username: helios
    password: changeme
    pool-size: 10

# Web dashboard
dashboard:
  enabled: true
  host: 0.0.0.0
  port: 8765
  public-url: "https://panel.example.com"
  tls:
    enabled: false
    cert: ""
    key: ""

# Licensing — work in progress
# The license server and key issuance flow are still being built.
# These settings are read but currently no-op; HeliosCore runs in offline grace mode.
license:
  key: "PASTE-YOUR-LICENSE-HERE"
  server-url: "https://license.helios.dev"
  grace-period-hours: 72

# Audit log
audit:
  retention-days: 30
  console-mirror: false

# Debug logging
debug:
  enabled: false
  verbose-services: false

🔄 Run /hcore reload to apply changes without restarting.


🔌 Developer API

HeliosCore exposes services through a tiny, stable lookup:

import dev.ninez.core.api.CoreServices;
import dev.ninez.core.api.permission.PermissionService;
import dev.ninez.core.api.storage.StorageService;
import dev.ninez.core.api.message.MessageService;
import dev.ninez.core.api.audit.AuditService;

@Override
public void onEnable() {
    PermissionService perms   = CoreServices.require(this, PermissionService.class);
    StorageService    storage = CoreServices.require(this, StorageService.class);
    MessageService    msg     = CoreServices.require(this, MessageService.class);
    AuditService      audit   = CoreServices.require(this, AuditService.class);

    perms.registerPermissions(MyPermissions.defaults());
    audit.log(this, "Enabled MyPlugin");
}

Add HeliosCore as a hard depend in your plugin.yml:

depend:
  - HeliosCore

🚀 Quick-Start Examples

# ━━━━━━━━━━━ First boot ━━━━━━━━━━━
/hcore setup                          # Generate owner setup link (REQUIRED)
/hcore dashboard                      # Print dashboard URL & status

# ━━━━━━━━━━━ Day-to-day ━━━━━━━━━━━
/hcore                                # Status overview
/hcore services                       # Which plugins registered which services
/hcore doctor                         # Diagnostic health checks
/hcore database                       # Test storage backend connectivity
/hcore reload                         # Hot reload config

# ━━━━━━━━━━━ Maintenance ━━━━━━━━━━━
/hcore update                         # Check for ecosystem updates
/hcore register                       # Invite a new dashboard staff user

❓ FAQ

Do I have to use HeliosCore?

If you're using any Helios plugin, yes. It's the foundation — they won't enable without it.

What database should I use?
Use Case Recommended
Single server, small/medium playerbase sqlite (default, zero-config)
Multi-server / network / large playerbase mysql or mariadb (shared)
Tiny test servers yaml (human-readable, no driver)
Is the dashboard safe to expose to the internet?

Yes — token authentication, role-gated actions, and TLS support. Put it behind a reverse proxy (nginx / Caddy) for HTTPS in production.

How does licensing work?

🚧 Status: work in progress. The Helios License Server and key issuance flow are still under active development. Today HeliosCore reads the license: block in config.yml but always runs in offline grace mode, so the suite is fully usable while the licensing pipeline is finished.

Once shipped: paste your purchase key into config.yml. HeliosCore validates with the Helios License Server periodically. If the license server is unreachable, the plugin keeps working in offline grace mode for the configured period.

Will HeliosCore conflict with Vault / LuckPerms / PlaceholderAPI?

No — those are soft-depends. HeliosCore detects and integrates with them automatically.

Can I write my own dashboard page?

Yes — implement DashboardContributor and register it. Your plugin gets a tile, a page, and SSE/action endpoints. See the developer documentation.


💬 Support

Channel Link
💬 Discord Helios Support Server
🐛 Issue Tracker Use the Discussion tab on this resource
📚 Documentation Bundled README.md and developer guide

☀️ HeliosCore

One foundation. One license. One dashboard. The whole Helios ecosystem.

Смотри также

Похожие подборки плагины — по версиям Майнкрафта, загрузчикам и жанрам.

Сервера Майнкрафт

Играть интереснее на сервере — выбирай в рейтинге серверов Майнкрафт и заходи прямо сейчас.

SkyBars
SkyBars Java + BE
432 онлайн
1.8 — 26.2 версия
🎮 ВЫЖИВАНИЕ ⚔️ АНАРХИЯ 🚗 ГТА РП 🎤 ГОЛОСОВОЙ ЧАТ 🎁 БЕСПЛАТНЫЙ ДОНАТ 🌟 СМП 💻 ПК+ТЕЛЕФОН
MigosMc
MigosMc Java + BE
284 онлайн
1.8 — 26.2 версия
🌿 MigosMc.net | Гриферский сервер с войс-чатом | Награды за онлайн ⭐ ВЫЖИВАНИЕ⭐ ОДИНБЛОК⭐ МИНИ-ИГРЫ
SeasonEra
0 онлайн
26.1.2 версия
Выживание • Экономика • Кланы • Приваты • Донат
PLIRGAME - ДЕВУШКИ ВОЙС ЧАТ
29 онлайн
1.21.10 — 26.1.1 версия
❤️ Выживание! ❤️ Войс Чат ❤️ Девушки ❤️ /free
MineLauncher
Лаунчер Майнкрафт без лицензии — все версии
Бесплатный лаунчер для ПК и Андроид — все версии 26.2, 1.21.11, 26.1.2, 1.21.8. Fabric, NeoForge, Forge, шейдеры, моды и скины в один клик.
Без лицензии Fabric, NeoForge, Forge Моды, шейдеры, скины Все версии Майнкрафта ПК и Андроид Для слабых ПК Сервера в лаунчере
Скачать бесплатно
Windows и Андроид · Бесплатно · Без лицензии
Наш чат