This blog is centered on the video game industry and reads much like a short story. I can’t help but focus on what I do for a living, which is building integration engines. I’ve been at it for over 20 years as the principal architect at TwoConnect, Inc., and my passion for integration engines is definitely here to stay.
While the video game industry is a slightly different integration concept from what we do at TwoConnect, it is integration just the same. If instead of plugins, you think business apps, and instead of CraftBukkit, you think Microsoft BizTalk Server, you begin to understand what we do every day at TwoConnect. Read on…
CraftBukkit vs Minecraft
““Papi, it’s down, it’s down” yelled my son, Javi, throughout the house. “Calm down Jav, that’s impossible” I said. “Papi, the CraftBukkit site is down. We will never get version 1.8. None of our Minecraft plugins will ever work again. Our Minecraft server is done. It’s over.””
I could not believe my eyes when I confirmed that the site was truly down, and in its place was a notice in the form of an email from a CraftBukkit developer named Wesley Wolfe (aka Wolveress) essentially claiming copyright infringement. But for what? And why? And what does CraftBukkit have to do with Minecraft anyway? Why is it so important?
The Minecraft attraction
A few years ago, my wife and I started noticing our three kids spending a lot of time with one specific video game. With hundreds of games at their disposal on multiple devices, they were choosing to spend nearly all of their time playing a game called Minecraft. They could play Minecraft on most devices; however, they wanted to play the game on their PC or MAC so they could connect to the Minecraft private servers on the internet.
Mojang, the company that created Minecraft, made their server game software available for anyone to download and install on their own server and make it available to anyone on the internet. All you needed to access the servers was an official Mojang/Minecraft user account. For 25 dollars, you could open an account and gain access to all worldwide Minecraft servers. But why pay if you can get the game for free on most all other devices?
Well, the reason soon became evident. Server owners were customizing their servers, enhancing them with elaborate gaming capabilities that made the game even more fun to play.
And then came Minecraft plugins
A new community of developers arose whose sole purpose was to build code enhancements for Minecraft, called Minecraft plugins. Plugins for world economy, for world construction, for world permissions, for running store shops, for anything and everything, started to populate Minecraft servers, but significant problems arose that were very frustrating to server admins.
Plugin integration engines
While customized plugins worked fine on the Minecraft server, they did not work well, or at all, with each other. And so came the plugin integration engines.
Many different API engines evolved; however, CraftBukkit soon emerged as the leader, and CraftBukkit plugins exploded in popularity as did the number of servers and the unbelievable creativity that every new Minecraft world brought.
Copyright and legal issues
With CraftBukkit, server admins were no longer required to download different versions of the Minecraft server JAR file (the Java program that runs the server) from Mojang. Instead, they downloaded the CraftBukkit JAR, which included the bits from the Minecraft Server JAR. As you can imagine, this resulted in copyright and legal issues.
It is difficult to explain the copyright and legal issues that eventually brought down CraftBukkit. Even seasoned copyright lawyers would need to buckle-up, hold on tight, and dive into one heck of a rabbit hole to attempt to understand it all.
Legal problem or an integration problem?
However, more important for the purpose of this writing is that the legal issues are not what finished CraftBukkit and led to Mojang being sold to Microsoft. The legal issues were just the means to the end. At the root of it all, in the end, was an integration problem.
It took thousands of hours of software development from thousands of talented developers, most working for no pay, to develop an integration engine that allowed numerous plugins to work with each other. It was a great achievement.
Many would argue convincingly that while Minecraft was in itself a great game, what made it a phenomenon was its many plugins courtesy of its integration engine.
The role of great integration engines
Mojang hired a core group of CraftBukkit developers in an attempt to recreate a CraftBukkit type engine that was to be the standard API; however, they were out of their league. While they could build impressive games in house, they had no idea how to build great integration engines.
The bottom line is that the integration plan must be solid before starting. If it is not, control of the outcome is lost. An organization can have 50 very important best-of-breed apps running at its site, and if any one of them fails, attention is quickly given to fixing it. However, if the integration glue that holds them together fails then, then all apps also fail. Replace best of breed apps with Minecraft plugins and the company with Minecraft, and you have a real-world enterprise IT nightmare played out in the form a video game.
Mojang’s principal owner, and the creator of the Minecraft game, Markus Persson, is known to all in the Minecraft world as Notch. On the day that he sold his company,more importantly his beloved game, to Microsoft, he published a goodbye letter on the internet in which he directly references the legal issues pertaining to CraftBukkit, essentially citing his integration issues as the reason he had to sell.
As odd as it seems to accept, given that he is pocketing a cool $2.5 billion, you get a sense from reading his letter that this was not precisely what Notch would have wanted, but he was left without a choice.
This story transcends technology. It is bigger than video games and bigger than any one company or one person, and it’s certainly not about software integration alone. However, for software geeks like us, especially those who make integration our day-to-day work, it certainly hits close to home. It’s a shame. If all Notch needed was an integration engine, he should have just called TwoConnect.
Javier Mariscal (Minecraft name – Orcas123)