Sideproject: Minecraft server, plugins, and Windows 8 integration

With Walter Bishop’s help, I started borrowing time and resources from another dimension. With my newfound time, I hooked up with a tech friend of mine – Paul Paliath – and set up a Minecraft server from scratch. This isn’t your ordinary single-executable server though. It’s a server based on the popular Bukkit kit that introduces an incredible amount of extensibility and terrible bugs. Paliath has the shopping list of what he installed, configured, and managed to get working without proper documentation.

But let’s talk about code! (Java-based) Bukkit offers an easy-to-use framework, allowing you tap into almost any event or facet of Minecraft you can think of. Want to know when people are punching cows? Wire up an event handler. Done. Want to know when someone tries to sleep in dark, so you can set their house ablaze? Done and done. But, wait – want to tie into the Windows platform? Errr. Cue the crickets. While Bukkit has a large following of plugin developers that do really crazy things, none seem to tap into the Windows platform itself. They were leaving it for me, of course!

Minecraft Control Center concept
Windows 8 (Metro-style) Minecraft Control Center, concept

As a Metro-style application development exercise, I figured I should tie Minecraft into Windows 8 somehow. I decided to roll out a Minecraft (Server) Control Center, which would allow for the remote administration of a server somewhere on the Internet. While I have some mini-map code here and event code there, I haven’t glued it all together yet. But above is a concept I drew out and am targeting for an initial tinker release.

The first column demonstrates some at-a-glance information I thought would be useful for the typical Minecraft server administrator. (It’s configurable, of course.) The next column displays a mini-map drawn using tiles output from a Bukkit-based plugin called dynmap. I’d like to note this plugin is an extreme pain in the ass to work with thanks to the horrible coordinate system used in Minecraft and/or in this plugin. (Drugs were obviously involved.)

I haven’t fleshed out other columns, but am kicking around some ideas. At the bottom would, perhaps, be a communication area giving admins a peek at what Minecraftians are arguing about. I’m not sure yet.

If you’re bored at work or perhaps want to claim some land, feel free to join our Punching Blocks server right now! We’re live!