Why am I posting this.
Firstly sorry for the long post I have been working on this for a long time.
I take care of a few Minecraft servers. When one acts up I do the same thing. I look at the host machine/hosting panel, look into the logs, the crash logs if needed. This all takes a lot of time and it can be hard to find out what is going on, and if a big server is down, time is something we don't have as server admins. I wanted something that could do this stuff for me. If a server was having issues or errors, I wanted something that would spot these as they happen, identify the issue, and tell me how I could fix it.
I went looking for something like this but found nothing. So over 6 months ago I decided to try to make one, and after a lot of testing and tweaking, I feel like I am in a place to share this out.
I am going to call it "WatchTower". I made it as a NeoForge mod for 1.21.x for now. But I feel others would find what I made useful as well. Below is all the stuff it does so far.
How the server is doing
The mod says how the server looks, from Strong down to Poor, and whether a restart seems safe or not.
There's a chart page for TPS, players, memory, CPU, disk, network and temps. You can zoom the timeline to see when it got slow. You can configure how you want the metric rollups to work and how long you want to store this for.
It also tracks background jobs such as chunky and distant horizons pregen.
It shows list of problems as an inbox with recommended steps on how to fix. That list picks up lag spikes, client mods that ended up on the server, script errors from KubeJS or CraftTweaker that never actually crash, and backup warnings and a few other things.
Crashes and logs
Crashes also have thier own inbox are grouped so I'm not reading the same crash report twice, and it also provides recommended steps on how to prevent the same crash again. It also catches an out-of-memory kill even when Minecraft never wrote a crash report. There's a timeline of joins, commands and lag, so it will tell you exactly what happened right before a crash, with log snippets as well.
There is also a fancy log viewer designed specially for Minecraft logs.
Backups and disk
It can tell you if backups are getting old (configurable), and verify a backup's integrity before you restore if you need to.
There's a WinDirStat style viewer that shows what's filling the disk, and it tries to say how long until the disk fills up. You can also set a threashold of when you want to be alerted to low disk space.
Insights
There's a history/insights side to it as well. After you have this running on your server for a while, it finds the busy hours so you can pick the best scheduled restart time. It tracks CPU and memory over days so you can see heatmaps and trends of when the server gets hit hard. It will track when mods were added, removed or updated, and when the same crash keeps coming back.
It also looks at world pressure, chunks and entities. It checks JVM flags and calls out a bad memory setting. It also does a check of the main server config against the host it's running on, and gives recommendations based on best practices. Once a week it writes a digest of crashes, uptime and performance.
Mods
It can check mods and conflicts and also let you know if a mod needs or has an update directly on the server. It lets you know if an update would break any dependencies, or if you need to update them alongside if one is available. It notices if a mod jar got swapped but kept the same file name, and flags this as a potential security risk of a rogue mod. You can turn a mod on or off from WatchTower as well simular to modrinth. You can edit a mod's json or toml config with a dedicated mod editor. It will also back up the original configs and let you undo, or restore to defaults.
Players and startup
If a player can't join, there's a "join clinic" for the usual causes, wrong mods or missing files. It will then give you a copy-paste message to send to the player of what they need to do if they raise a support ticket.
It will analyse server startup, how long the boot took, and which step took the longest, with a full breakdown.
Spark
If you use Spark it will read the profile for you and give you a breakdown and recommendations, and if it detects a sustained period of lag it will automatically tell Spark to start profiling the server and give you a report. That kicks in when MSPT stays over 50ms for about 30 seconds, but it can be configured. (This bit is still a WIP, but I can only improve this with testing, or by getting more real world use from it)
Sharing logs, and when the server will not boot
If I have an issue with a specific mod and I want to raise a bug or issue, WatchTower can zip the logs, crashes and setup with the private stuff, such as IPs, stripped out ready for you to share as well as a timeline of events broken down into plain english as a text file.
If Minecraft won't start at all, there's a companion command line tool you can put alongside the main mod. If you have access to the host terminal you can run this and it will create a disaster recovery dump as a zip, including all the latest logs, debug logs and crash logs and settings/configs, with an HTML report of what it's found and steps on how to fix to get the server back up.
If you have multiple server admins or moderators, you can create individual accounts to log in to it, and there are different permission levels you can set for each user, as well as 2FA support.
How it runs
It runs all locally with no LLM/AI. It uses a bunch of custom rules to understand the logs of a Minecraft server. These live in a file called an "intelligence pack", which can be updated over the air so you won't need to reinstall the mod. This way I can add support for more issues and crash types, or fix any incorrect detections or fix steps. (This will be an opt-in feature, never on by default).
If this does gain traction and lots of people start using this, I may bring in a very basic and secure training data analytics feature, and opt-in only and have all sensitive info stripped, so if watchtower does not understand something it sees it can send it my way so I can make improvments.
This has also been built with server performance in mind, and most of what WatchTower does will run in the background. Very little of it has to run on the main server thread.
What I want to know
I've been using it on my own servers and I can't tell if this is just a tool for me. Would this be something server admins/owners would like?
This isn't public yet. I did put out a very early concept to some people about 2 months ago and got some very useful feedback. I think I'm still a few months away from releasing it, but I wanted to gauge if this is something worth putting my time into long term. There is a lot more this tool/mod will do but they are just small things a full feature list will also be put out on release.
If anyone also has any ideas for a mod/tool like this also please let me know. I appreciate any and all constructive feedback.
Long-term, if this gets enough attention, I may try to make this into a full hosting panel, something like Crafty so this can be an all-in-one suite for Minecraft server management. I feel there is a lot of good options out there but none did everything I want so I built this to fill the gaps. What do you think?
One final thing, I have used claude code to help me with this project but only to keep things tidy, annotated and document the project as I go along. I am one person and with my dyslexia things like documention is hard for me. I understand peoples views on "vibecoding" etc but I only use it as a tool to help me when I get stuck, not do the work for me. I am taking time on this project to make sure it is stable and reliable before it goes fully public.
You can see the source code here under a GPLv3 Licence: https://github.com/djinnbanter/WatchTower
NOTE: If you decide to run or test it in its current state it most likely not work as it is still very much in active development and undergoing a full re-write from the orginal POC that was made. This should NOT be put on any production minecraft servers.
Ohh and this will all be free I wont be asking money for this. I will be upfront some long term ideas if this blows up might include some form cloud paid version as it will cost me money to run and host. But we are talking years down the line and I will always make sure nothing is behind a paywall and a free local version will always be available. This project is not about me making money. I just like making cool things.