Helios Core
SpigotMCModrinthThe shared foundation every Helios plugin depends on — unified storage, permissions, dashboard
4 завантажень
остання v1.0.0 SpigotMC
☀️ HeliosCore
The foundation of the Helios ecosystem.
Service Registry • Unified Storage • Live Web Dashboard • Shared API
Helios Ecosystem | Paper 1.21.x + 26.1.x | Java 21+ | Premium
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HeliosCore is required by every Helios plugin. 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 — clean cross-plugin APIs via CoreServices.require(...)
- Unified Storage — Yaml / SQLite / MySQL / MariaDB shared by every Helios plugin
- PermissionService — runtime registration with descriptions, defaults, inheritance (LuckPerms-friendly)
- AuditService — append-only audit log used by HeliosAdmin and the dashboard
- Web Dashboard — built-in HTTP + SSE host with token authentication and pluggable contributors
- MessageService — Adventure / MiniMessage out of the box
- Developer Utilities — command framework, async chains, scheduling, debug logging
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Requirements
- Minecraft: 1.21.x + 26.1.x
- Server: Paper / Purpur (Spigot not officially supported)
- Java: 21+
- Soft-depends: Vault • PlaceholderAPI • LuckPerms (all optional)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Installation
Code (Text):
1. Drop HeliosCore-x.y.z.jar into 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 and dashboard
6. Run /hcore reload
7. Install other Helios plugins — they register into HeliosCore automatically
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Commands
Aliases: /hcore • /helioscore • /ncore • /ninezcore
- /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
Code (Text):
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
Suggested LuckPerms Setup
Code (Text):
# ────────── 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 gating — OWNER / ADMIN / STAFF actions checked server-side
- Token authentication — rotate any time with /hcore dashboard
Code (Text):
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)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Licensing [Work in Progress]
The Helios License Platform is currently in development. While the framework includes hooks for license validation, all premium features are fully functional without a license key during the WIP period. License enforcement, the seller portal, and key management will be rolled out in a future update — existing customers will be migrated automatically with no action required.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Configuration
Key sections in plugins/HeliosCore/config.yml:
Code (Text):
# 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: ""
# Audit log
audit:
retention-days: 30
console-mirror: false
# Debug logging
debug:
enabled: false
verbose-services: false
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Developer API
HeliosCore exposes services through a tiny, stable lookup:
Code (Text):
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");
}
Code (Text):
depend:
- HeliosCore
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Quick-Start Examples
Code (Text):
# ───── 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
Q: Do I have to use HeliosCore?
A: If you're using any Helios plugin, yes. It's the foundation — they won't enable without it.
Q: What database should I use?
A:
- 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)
A: Yes — token authentication, role-gated actions, and TLS support. Put it behind a reverse proxy (nginx / Caddy) for HTTPS in production.
Q: How does licensing work?
A: [Work in Progress] — The Helios License Platform is currently in development. All features are fully functional without a license key during the WIP period. Enforcement and key management will be added in a future update.
Q: Will HeliosCore conflict with Vault / LuckPerms / PlaceholderAPI?
A: No — those are soft-depends. HeliosCore detects and integrates with them automatically.
Q: Can I write my own dashboard page?
A: Yes — implement DashboardContributor and register it. Your plugin gets a tile, a page, and SSE/action endpoints. See the developer documentation.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Support
- Discord: Helios Support Server
- Issue Tracker: Use the Discussion tab on this resource
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☀️ HeliosCore
One foundation. One dashboard. The whole Helios ecosystem.
☀️ HeliosCore
One foundation. One dashboard. The whole Helios ecosystem.
Коментарі 0
Поки немає коментарів. Будь першим, хто поділиться думкою.