File Details
Voidium 2.5
- R
- Mar 14, 2026
- 11.07 MB
- 87
- 1.21.11+10
- NeoForge
File Name
voidium-2.5.jar
Supported Versions
- 1.21.11
- 1.21.10
- 1.21.9
- 1.21.8
- 1.21.7
- 1.21.6
- 1.21.5
- 1.21.4
- 1.21.3
- 1.21.2
- 1.21.1
Curse Maven Snippet
[2.5] - 2026-03-14
🌐 Web Control Panel — React + Vite Rewrite
- React 19 + Vite 6 + TypeScript: Web panel frontend completely rewritten from inline Java strings (~1600 lines) to a proper React SPA with type-safe components, bundled into the mod JAR.
- 16 Modular Components: Hero, MetricGrid, TimerGrid, Timeline, QuickActions, SecurityPanel, PlayerRoster, ModuleHealth, VoteQueue, TicketPanel, StatsCharts, ConfigStudio, Console, LiveFeeds, AiPanel, MaintenanceBanner.
- SSE Real-time Updates: Dashboard uses Server-Sent Events (
/api/events) for 3-second push updates instead of 10-second polling. Automatic fallback to polling on connection loss. - Dark / Light Theme: Theme toggle in SecurityPanel with dark mode as default. Persistent via localStorage, anti-flash inline script prevents theme flicker on load.
- Locale Selector: Language dropdown (English / Čeština) in SecurityPanel, persisted to localStorage, compatible with
?lang=czURL parameter. - JSON Schema Export: New
/api/config/schema/exportendpoint returns full configuration schema in JSON Schema draft-07 format for external tooling and validation. - API Rate Limiting: 120 requests per minute per IP with sliding window on AI endpoints (
/api/ai/*). Returns 429 withRetry-Afterheader when exceeded. - Static Asset Serving: WebManager serves pre-built assets from classpath (
/web/) with content-type detection and immutable caching for hashed assets. - Dev Mode Support: Vite dev server with API proxy for hot-reload during development.
- Full Single-Page Dashboard: Real-time server metrics, player list, scheduled task timers, and alert banners.
- Config Studio: Complete visual config editor for all 12 modules — schema-driven forms with preview, diff, apply, rollback, defaults, and locale preset support.
- RGB Color Picker: Inline color helper for
&#RRGGBBtext fields in Config Studio. - Structured Editors: Dedicated editors for rank lists and Discord role prefix mappings.
- Impact Classification: Each config field change is labeled as "live-safe" or "restart-required".
- Live Console: Stream server logs in the browser with syntax highlighting and command execution.
- Live Chat Feed: Real-time chat history from
ChatHistoryManager. - Audit Trail: All web panel actions logged to
web-audit.logwith timestamp, action, source, and status. - SVG Performance Graphs: 24-hour history charts for player count and TPS.
/voidium webRe-enabled: Generate bootstrap URL + persistent admin URL directly from in-game.- Toast Notifications: Non-blocking toast system (success, error, warning, info) with auto-dismiss. Replaces generic alerts for all user-facing feedback.- System Info Cards: CPU usage, RAM usage, and disk usage metrics in the dashboard (via
OperatingSystemMXBean+FileStore). - Server Icon: Server favicon displayed in the dashboard hero section (
/api/server-iconendpoint). - Server Properties Editor: View and edit
server.propertiesdirectly from the Web panel (/api/server-propertiesGET/POST). - MC Text Preview: Live preview of Minecraft color codes (
&a,&b,&#RRGGBB, etc.) in Config Studio text fields. - HTTP Error Feedback: Frontend properly surfaces server error messages (rate limit, validation, etc.) instead of generic "Action failed".
- Custom Conditions Hints: Rank editor shows format examples and available condition types (KILL, VISIT, BREAK, PLACE) below the JSON textarea.
� Discord Improvements
- MC → Discord Ban Sync: Fixed mixin registration —
StoredUserEntryAccessorandUserBanListMixinwere implemented but not registered invoidium.mixins.json. Bans now properly sync bidirectionally. - Event Embeds: Player join/leave/death messages now use colored Discord embeds with player skin thumbnails (green for join, red for leave, gray for death) instead of plain text.
🎫 Ticket Auto-Assignment
- Auto-Assign Support Member: New tickets are automatically assigned to the support team member with the fewest active tickets.
- Configurable:
enableAutoAssigntoggle andassignedMessagetemplate inticket.json.
�🔐 Security & Session Hardening
- Secret Masking: Sensitive config fields (
botToken,adminToken,sharedSecret, API keys) are shown as••••••in Config Studio. Masked values are never written back. - Session Cleanup Thread:
Voidium-SessionCleanerdaemon purges expired bootstrap tokens and sessions every 5 minutes. - Session Sliding: Active sessions are renewed on each authenticated request.
- HttpOnly Cookies:
voidium_sessioncookie set withHttpOnly; SameSite=Lax; Path=/. - Configurable Session TTL:
sessionTtlMinutesinweb.json(default 120, minimum 5). - Console Command Allowlist: Web console only permits safe commands (messaging, teleport, utility, voidium).
- AI Secret Redaction: Config context sent to LLM has apiKey, botToken, sharedSecret, adminToken, and chatWebhookUrl redacted.
🛡️ Maintenance Mode
- Login Block: When
maintenanceMode: trueingeneral.json, only OPs (permission level 2+) can join. Non-OPs get a bilingual disconnect message. - Dashboard Banner: "⚠ MAINTENANCE MODE ACTIVE" banner with one-click disable button.
- Web Panel Toggle:
maintenance_on/maintenance_offactions from the dashboard. - Config Studio Warning: Preview shows a warning when maintenance mode is enabled.
🤖 AI System
- Per-Player Conversation History: Each player gets their own conversation state (max 16 turns), stored in-memory keyed by UUID.
- Player History Panel:
/api/ai/playersendpoint shows all player conversations sorted by last activity. - Moderation Guardrails: Input filter blocks keywords (hack, exploit, dupe, cheat, crash, grief, xray, bypass, injection, etc.). Blocked messages return a moderation notice.
- Response Length Cap: AI responses capped at 4000 characters.
- Prompt Length Limit: Player prompts capped at
playerPromptMaxLength(default 280 chars). - Per-Player Cooldown:
playerCooldownSeconds(default 20) prevents spam. - World / Game Mode Restrictions:
disabledWorldsanddisabledGameModeslists inai.jsonblock AI usage in specific dimensions or game modes. - Access Gating: 5 modes — ALL, PLAYTIME, DISCORD_ROLE, PLAYTIME_OR_DISCORD_ROLE, PLAYTIME_AND_DISCORD_ROLE.
- AI Config Suggestions:
/api/ai/admin/suggest— AI proposes config changes, staged in Config Studio with diff preview before apply. - Incident Review: One-click button grabs last 30 console + 20 chat lines, sends to AI for anomaly/error/security analysis.
📊 Dashboard Improvements
- Scheduled Task Timeline: Visual timeline panel with progress bars for restart, entity cleaner, and stats report timers.
- Live Timer Ticking: Timer cards and timeline update every second.
- Vote Queue Inspector: Pending vote snapshot, payout, and clear actions from dashboard.
- Boss Protection Status: EntityCleaner section shows boss protection toggle state.
🔧 Bug Fixes
- Config Studio Diff: Fixed phantom diff showing ~23 changes after apply. Root cause: GSON
deepCopy()converted integers to doubles, soequalsValue(24, 24.0)returned false. - Config Studio State: Diff, summary, and preview errors are now cleared after successful apply, rollback, or reload.
- AnnouncementManager Reload: Fixed
ScheduledThreadPoolExecutor"Task rejected" crash on config reload — scheduler is now recreated instead of reusing a terminated instance. - Mixin Registration:
StoredUserEntryAccessorandUserBanListMixinwere implemented but not registered invoidium.mixins.json.

