Sunsetting The Minecraft Protocol Wiki and Notifico

tl;dr I've decided to sunset two of my longest-running projects, wiki.vg and n.tkte.ch. Both of these 'temporary' projects have well exceeded their intended lifespan and are now over a decade old.

wiki.vg

wiki.vg

wiki.vg started as a simple page on my personal DokuWiki in 2010 to document the Minecraft protocol and internals. Through the hard work of hundreds of contributors, it grew into a comprehensive resource for anyone looking to understand how Minecraft works. The IRC community the formed around it has been a great place to learn and share knowledge about Minecraft and has survived the rise and fall of numerous chat platforms and the epic collapse of freenode. By-and-large, this has been the most drama-free community I've ever been a part of and has essentially run without needing any moderation for over a decade.

To say that wiki.vg became a success is an understatement. It's had billions of page views, and was probably used by every single custom Minecraft project directly or indirectly. Even Mojang's own developers have used it as a reference and would occasionally make the rare contribution. Several early contributors went on to work for Mojang and Microsoft themselves. Millions of end-users have benefited from the knowledge shared on wiki.vg.

tweet

In the end, this project was always intended to be temporary. We were promised a modding API and documentation for Minecraft that never came, and the project was supposed to be a stopgap until that happened.

On November 30th, wiki.vg will close for good. The final content will be archived and made available for download in MediaWiki's XML export format under the CC-BY-SA license, along with an archive of images and other media. My hope is that the content will be subsumed into the official Minecraft wiki, but if not, it will be available for anyone to host.

FAQ

Q: Would you accept offers to take over responsibility for its hosting and upkeep?

A: No. I appreciate the offer, but I don't believe the user's that have signed up for an account on wiki.vg have given me the right to decide that their data should be transferred to someone else.

Q: What will happen with the domain?

A: The domain will be redirected to the archive of the content for the foreseeable future. The domain has trust behind it, and I don't want the headache of ensuring that any successor doesn't turn it into an abomination like they did with my first Minecraft-related website, minecraftskins.com.

n.tkte.ch

notifico

Before Discord or Slack existed, practically every open source project with more than a few contributors had an IRC channel on Freenode. We used svn, Jenkins, and dozens of other tools that have for the most part been replaced by GitHub and its ecosystem. One of the most important tools for monitoring all of these disparate systems was cia.vc, a service that would listen to commit hooks and other events and relay them to IRC.

cia.vc

Then, suddenly on September 26th 2012, cia.vc went down and never came back up. Poof. It was gone. Everyone scrambled to make a quick replacement, resulting in irker, kgb and my own notifico. Notifico was a simple service to consume webhooks, and at the time, a clone of cia.vc's XML-RPC payload and relay it to IRC. It really was intended to be temporary as many of us expected cia.vc to come back online, but it never did. It appears there were never any backups. A decade later, Notifico is still running and has delivered over 15 million messages for thousands of projects like CPython, FreeBSD, Godot, Qutebrowser, and even NASA weather balloons.

But, the project was never designed to be maintained long-term and its codebase really shows that, making refactoring and the addition of new features time-consuming. Tests were never even a consideration for a project that was supposed to be a quick hack.

Notifico is completely open source under the MIT license, and easy to host. The project itself will not disappear, but my personal instance which has been running for over a decade will be shut down on November 30th.

Why?

These services were maintained ad-free and cost-free for over a decade, but it's not really the material cost that's driving this decision. These projects were never meant to be permanent, and even though IRC never really changes, there's always a maintenance burden that comes with running a service. Keeping servers up to date, ensuring emails are getting delivered, dealing with deprecated and disappearing dependencies, user issues, and so on. Allowing public registration will always lead to spam at some point which is a whole other can of worms.

As I get older, I find myself with less and less time to dedicate to these types of projects, and I've ultimately come to the conclusion that maintaining any service with users sucks. They can be the best users you could ask for (and in this case, are), but they're still users. They have expectations, and they have problems, and they have questions, and they have feature requests, and so on.

When I sit down after a long day of work, I want to work on something that I want to work on then and there, not something that I feel obligated to work on because a user is depending on it being available. I want to work on things that I can break willy-nilly and no one will even notice.