Tags
Creators
Details
2.0-Nightly-3
Compatibility
Changes
CoreTuff v2.0 — Nightly-3
After approximately one month of development, debugging, college, practicals, exams, real-life side quests, and several encounters with the "I'll finish this tomorrow" boss fight, CoreTuff v2.0 Nightly-3 is finally here.
Yes.
We know.
It has been a month since Nightly-2.
No, we did not disappear.
College simply decided that CoreTuff needed another development break.
Practicals.
Exams.
Assignments.
And the usual academic chaos.
We apologize for the delay, and thank you for sticking around while development continued behind the scenes.
Nightly-3 continues the v2.0 development cycle with a major focus on player management, moderation, public statistics, Web Panel improvements, and several quality-of-life features.
Time Shorthand Commands
CoreTuff now includes five new time commands.
• /day
• /noon
• /sunset
• /night
• /midnight
These commands allow administrators to change the world time without opening a configuration menu.
Players automatically target their current world.
Worlds can also be specified manually.
Console users must specify a world.
The commands are also designed to work with Folia.
Because sometimes you just want the sun to come out without negotiating with the weather department.
Player Tracking
CoreTuff can now keep track of your server's players.
The new Player Tracking system stores information including:
• UUID • Player name • First seen • Last seen • Playtime • Current world • Gamemode • Ping • Online status
Player information is stored in the CoreTuff database and can be queried by the Web Panel.
The system also keeps track of playtime during player sessions and saves it when the player leaves or when CoreTuff shuts down.
Your server now remembers who has been playing.
Unlike that one player who somehow still claims they have never been online.
Players Dashboard
The CoreTuff Web Panel now includes a dedicated Players section.
Administrators can now:
• View online players • Search players • Open player profiles • View playtime • View current world • View gamemode • View ping • View punishment information • Open a player's moderation history
Player changes are also synchronized with the Web Panel so the player list can update without constantly rebuilding the entire thing.
Moderation Dashboard
Moderation now has its own dedicated section in the CoreTuff Web Panel.
The new Moderation Dashboard provides:
• Punishment statistics • Active punishments • Temporary bans • IP bans • Pardoned punishments • Expired punishments • Punishment history • Player punishment history • Moderator statistics • Search • Sorting • Filtering • Pagination
Administrators can inspect individual punishments and view the moderation history of specific players.
The panel also receives updates when moderation actions occur.
No more manually refreshing the page every time someone gets banned.
Moderation Synchronization
Moderation actions are now synchronized with the Web Panel.
The following actions can update the panel automatically:
• /ban
• /tempban
• /ban-ip
• /pardon
The Web Panel can receive these changes through the CoreTuff WebSocket connection.
The server does the work.
The panel notices.
Everyone is happy.
WebSocket Request System
The communication system between CoreTuff and the Web Panel has been expanded.
The panel can now send requests to CoreTuff and receive responses using request IDs.
Requests include timeout handling and cleanup when connections are closed.
The system now supports communication for:
• Player queries • Moderation queries • Player updates • Moderation updates • Player snapshots
The Web Panel can now actually ask the server questions instead of just staring at it.
Public Statistics
The CoreTuff Web Panel website has received a major upgrade.
https://ct.voxelware.org
The previous landing experience has been replaced with a public CoreTuff statistics page.
The page provides anonymous aggregated statistics including:
• Servers using CoreTuff • Players using CoreTuff • Historical server statistics • Historical player statistics • Server software • Minecraft versions • Java versions • CoreTuff versions • Module usage • Integration usage • Server environments • Record statistics
No player-identifying information is used for these public statistics.
The CoreTuff website can now actually tell you something useful instead of politely existing.
Statistics History
CoreTuff now records historical statistics for the public statistics system.
The statistics system can track server and player activity over time and generate historical data for the Web Panel.
Records can also be maintained for statistics such as concurrent player counts.
Because apparently knowing the current number of players wasn't enough.
Now we can remember the number too.
Web Panel
The CoreTuff Web Panel continues to evolve beyond configuration management.
The panel now includes:
• Overview • Players • Moderation • Configuration • Server health • Performance information • Incident monitoring • Plugin information • CoreTuff health information • Public statistics
Nightly-3 also introduces new player and moderation interfaces alongside the existing Dashboard functionality.
The Dashboard is slowly becoming less of an editor and more of an actual control center.
Incident Management Improvements
The CoreTuff Incident System has received several important improvements.
Incidents with the same type and title are now detected instead of automatically creating another duplicate incident.
When an existing incident happens again, CoreTuff can update the existing incident instead.
If the new event has a higher severity, the incident can also escalate.
This means the Dashboard no longer needs to display:
"Something broke."
"Something broke again."
"Something broke again again."
It can now understand that it is, in fact, the same problem.
Incident Notifications
Administrators can now receive important incident notifications directly in-game.
New permission:
coretuff.admin.notifyincident
Players with this permission can receive notifications when important health incidents are created.
Routine Dashboard activity no longer creates unnecessary informational incidents.
Dashboard startup.
Editor session activation.
Editor disconnection.
Those events no longer need their own incident report.
The incident system can finally focus on things that actually matter.
Server Metrics
The Dashboard's server information has also been improved.
Server metrics now display the actual server software being used, such as:
• Paper • Folia
The Dashboard also displays the server's all-time record concurrent player count alongside the current player count.
Current players:
"12"
Record players:
"47"
A completely reasonable way of reminding you that the server was once more popular than it is right now.
Configuration
CoreTuff's database configuration system can now write configuration values through the central configuration provider.
This allows configuration changes made by CoreTuff's systems to be properly persisted instead of simply existing in memory.
The configuration system now has a proper path for writing settings back into the database.
Because a configuration system that can only read things is basically just a very complicated book.
Editor Server Identity
The Web Editor server ID now persists across server restarts.
Previously, a new server ID could be generated every time CoreTuff started.
This meant the Web Panel could treat the same server as a completely new installation.
The server ID is now stored in the CoreTuff configuration database and reused across restarts.
Restarting the server no longer gives it an entirely new identity.
Public Statistics Storage
The statistics backend has also been upgraded.
Development environments can use the local statistics store, while production deployments can use PostgreSQL when a database connection is configured.
Statistics now support:
• Installations • Snapshots • Module usage • Integration usage • Environment information • Historical records
The statistics system also tracks stale installations so servers that have disappeared don't remain permanently counted as online.
Even servers eventually need to stop pretending they're awake.
Permissions
Nightly-3 introduces the following permissions:
coretuff.admin.notifyincident
Receives in-game health incident notifications.
coretuff.time.day
Allows /day.
coretuff.time.noon
Allows /noon.
coretuff.time.sunset
Allows /sunset.
coretuff.time.night
Allows /night.
coretuff.time.midnight
Allows /midnight.
Build Changes
Nightly-3 also includes several build and dependency updates.
• CoreTuff version updated to 2.0-Nightly-3
• Gradle Wrapper updated from 9.5.1 to 9.7.1
• Added statistics database support
• Added PostgreSQL support for production statistics
• Added Recharts to the Web Panel
• Added Radix Dialog components
• Updated Web Panel dependencies
The project keeps getting bigger.
The Gradle file is probably concerned.
Fixes
• Fixed editor server IDs changing across restarts.
• Fixed repeated incidents creating unnecessary duplicate entries.
• Improved incident severity escalation.
• Improved incident notifications.
• Removed routine Dashboard/editor lifecycle events from incident tracking.
• Improved server software detection in the Dashboard.
• Added record concurrent player display.
• Improved player data synchronization.
• Improved moderation data synchronization.
• Improved WebSocket request handling.
• Improved player search and profile data.
• Improved public statistics collection.
• Improved statistics storage handling.
• Added configuration database write support.
• Various internal stability improvements.
What Changed?
Nightly-1 established the new CoreTuff v2.0 architecture.
Nightly-2 turned the Dashboard into something that could actually watch your server.
Nightly-3 expands that system further.
CoreTuff can now:
Monitor → Detect → Track → Report → Manage
your server's health, players, moderation data, and activity.
The Dashboard is no longer just a configuration editor.
It is slowly becoming the control center for CoreTuff.
A Small Apology
Yes.
It has been a month.
Again.
We would like to formally blame:
College.
Practicals.
Exams.
Assignments.
Real life.
And the completely reasonable decision to say:
"I'll finish this after my practical."
Then the practical became an exam.
Then the exam became another assignment.
Then another thing appeared.
And suddenly it was September again.
Development wasn't abandoned.
It was simply forced to wait.
We apologize for the delay and genuinely appreciate everyone who continued waiting for Nightly-3.
Thank you for being patient while we balanced CoreTuff development with college.
We would rather take the extra time and release something properly than rush a build just because the calendar says we should.
Notes
CoreTuff v2.0 Nightly builds are development builds.
Features may change, be expanded, or occasionally decide they no longer understand the concept of software.
If you encounter a problem, please report it through the GitHub Issue Tracker.
GitHub: https://github.com/Voxelware-studios/CoreTuff/issues
Discord: https://discord.gg/tuArC9pTbv
Download: https://modrinth.com/plugin/coretuff
Thank you to everyone testing CoreTuff v2.0.
Welcome to CoreTuff v2.0 Nightly-3.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:s7Qe5Y2n:ta1eh3MJ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:s7Qe5Y2n:ta1eh3MJ"
}

