Category archives: Bukkit

I have a bukkit on my head, and sometimes I wear it for blog posts!

The story of the bone and the bukkit

January 1st of this year marked a very special day for me. It's hard for me to believe it, but my dear little Bukkit turned two years old. As cheesy as it sounds, I still remember writing that very first commit as if it were yesterday.

I figured now was a fantastic time to give you a history of the project, its impact on my life, and how everything came about to turn into the huge megaproject that it is today. Some of this may be new information to some people, and some of it may be a little out of order, but I'll try to do my best to make this a worthy read. Whilst the Bukkit project was the best thing that has ever happened to me, it didn't come without some big mistakes and sore spots. I may tell you about those, but they're not easy to write about and may involve a handful of politics.

Before we jump straight into Bukkit, let me take you back to late 2010 and introduce you to another server modding platform formally known as "hMod". Minecraft at this point was in Alpha 1.2 and modding wasn't as much of a thing as it is now. hMod was created by a guy known as hey0, and was an attempt to make a more customisable version of the server without having to learn how to code yourself. That may not sound like a modding platform... and that's because it wasn't created to be one; it just kinda ended up that way. It came with a few handy utilities for server owners such as some commands to control the server with (/ban, /give), a whitelist (this was huge!), and a message of the day. These ...

Continue reading

FAQ About Plugin Channels

So far I've seen an amazingly good response to my previous announcement, but I've also seen a lot of people with (reasonable!) questions and some thought of their own. I hope to address those here :)

"I'm A Beginner, What Does All This Actually Do?"

Basically, right now the mod community is fairly fractured - there's a huge divide between client mods and server mods, and getting these mods themselves to talk with eachother isn't so simple. We at Bukkit partnered with Mojang to introduce a new official system that should help alleviate the pressure on this, and make things easier for everyone involved. You can now efficiently talk to a client mod from the server, or vice verca, without having to worry about compatibility issues or conflicts or bandwidth or anything like that. It's all so very easy.

If you want this even simpler and a real world example of it all, think of Bukkit server plugins communicating effectively with MCP client mods. Before, this was a pain. Now, it should be very simple :)

What The System Is

The new system is a tool. It's something to use in the background and just forget about it. It's something for mods to implement silently, and it will immediately grant them 100% protection from now until the future against any conflicts on a network level. You're guaranteed that they will never interfere with the client/server if it's running something else, and that other mods will never interfere with your mod in return. You're safe in knowing that it's efficient, and you'll never waste a single byte sending data to someone who doesn't know what to do with it.

What The System Is Not

It's not a replacement ...

Continue reading

Minecraft Plugin Channels + Messaging

Some keen eyed developers may have noticed that there's a new packet in Minecraft 1.1, with no purpose or usage anywhere in the codebase. You may be wondering why this was added, and what use it could possibly have. You may also be wondering who cares, and why you have this page open. I'm here to answer all of these questions in a nice little (disclaimer: may not be little) blog post!

Update: See the FAQ on this over here! Now with simple questions like "but what does this actually mean?"

Backstory

We did some thinking a while back, about how the state of client mods and server mods for minecraft isn't really what it could be. There's so many problems with conflicts and one mod causing a bug in another and so forth, that it's really harming the potential of Minecraft modding in general. While we by no means think that we can solve this, we did start hypothesizing ways that could at least improve how mods play together, and try to make things a nicer experience for everyone - the users, the client modders, and the server modders. Most importantly, those who fit in all of the above!

One of the biggest issues with client and server modding is that having both can be hell for your users. If you have a server mod that needs a client mod, if a user without the client mod tries to join then they'll crash with seemingly no cause. Ditto for users with client mods joining a server and crashing themselves, because the server mod isn't compatible with that client mod.

Honestly, this whole thing is a mess. I'm sure most people will agree with me here. There are attempted workarounds, sure, but ...

Continue reading

Minecon and christmas!

I'm still alive! Just so very busy lately.

Minecon was a blast, I met lots of interesting people (some of which wanted my photo or signature, for some reason. I think they're PIs in disguise.) and had lots of fun! We held a small 1-hour long panel for people to come learn a little more about us, and you can check out the recorded videos of that over here.

We're all working hard trying to get an RB out for Minecraft 1.0.0 ASAP, and it should hopefully be very soon now! I've been losing so much sleep over it trying to get everything fixed and perfect, but it'll all be worth it in the end.

In other news, it happens to be the same month as Christmas! And by jolly tradition at this time of year, today I found out that I have exactly -£21.58 in my bank account. Oops. I'll probably have to borrow some money to pay for my rent again, which really isn't so fun - especially at this time of year :(

That's all for this post, back to working on bukkit!

Continue reading

Blizzcon and meetups!

So I got back from my trip to Blizzcon last week. It was lots of fun, I met most of the curse peeps, and the rest of the bukkit team were there too so we all met for the first time in person!

The flights were rather bad, I managed to get my name on some kind of blacklist somehow which got me a long random security check before I even checked in for my first flight! They asked me a bunch of random questions, such as if I had any letters from the bank as proof of address on me (why would I bring that to a holiday :(), and took my luggage to a special screening area with half a dozen employees watching the baggage screening monitor closely like it's about to explode. Personally, I'm blaming my new beard.

After some long meetings with Curse, we took a trip out to Disney Land for teambuilding. I managed to break my phone pretty early on, not quite sure how yet but I think I must have crushed it. It was ok at first, just a cracked screen but worked, however it's pretty much dead now and I think I'll wait for the Nexus Galaxy and buy that when it's out.

I managed to get sick pretty early on, and I lost my voice for blizzcon so I didn't get to spend much time there - I decided to just sleep it in. I did meet Gabe Newell though! Invited him to the Curse afterparty, he said sure but didn't come :( Ola met with Richard A. Knaak + Christie Golden and she was really excited about that!

The Curse party was excellent, lots of people there - famous and cool - and it was pretty fun. Unfortunately, loud ...

Continue reading

Just a thanks!

Since 1.8 came out, I received an amazing amount of donations (to me personally) and I was really surprised and touched. I didn't have time to personally reply to each one, but I'm going to do so now and also on my blog!

Before now, the most I've ever had in donations could have bought me a single pizza at Dominos. I'm certainly grateful for them, as it's the thought not the money, but I never really did much that deserved people donating towards me - lo is the life of working behind the scenes :D

But these, my word, I couldn't believe it. I really appreciate every single one, no matter how big or small they were, and everyone else who emailed me or tweeted me or left a comment over here to say "thanks!" - it was really touching. Thank you all <3

With recently moving house, my girlfriend moving country with no job*, and two big company trips coming up - it's pretty tough dealing with all the bills and stuff we have to get sorted out. You have no idea how much all your donations helped us both, and we're really grateful for each and every one. The majority of the money either was or will be spent on bills and typical nasty stuff we need to get out of the way, the rest went straight to delicious pizza!

Thanks again for all your wonderful words and assistance! If you ever need my help with something techy or programming, just drop me an email! :)

(*She has a job now! Yay! Don't forget to check out her blog at missmarzenia.com <3)

Continue reading

Blizzcon, Minecon and 1.9!

Yay, it's almost that time of year again! Where I spend over a full day travelling to meet some friends at blizzcon and waste all my money :D

I'm getting my flights, hotel and blizzcon tickets paid for by Curse, so this year that's a huge load off my mind. I got my flight info through yesterday... doesn't look so good. 3 stops both ways, and each one is in US :( I don't like being manhandled by US customs!

Unfortunately only a couple of my friends from MMO-Champion will be there this year, but I should see a bunch of other people whom I know and it should be a lot of fun. Any of you guys going too? :D

I won't be working on Bukkit while I'm out... unless mojang release while we're out and then I'll have to. But let's hope it doesn't come to that. I go on holidays to avoid work, not to find new scenery to work in :(

Speaking of, I have a nasty feeling that Notch wants to release Minecraft live at Minecon in november. The entire Bukkit team will be there, so it may look like we're all going to have to work together in person to get that some. Should be... interesting!

1.9 should hit us fairly soon, and we've been doing everything we can to prep for it. It shouldn't be as large of an update as 1.8 was, but it's still fairly big in terms of code changed. I managed to get a build of Bukkit working on 1.9 pre-1 but I decided instead to work on optimizing our deobfuscation stuff, which means I have to redo 1.9 pre-1 but it ...

Continue reading

Bukkit 1.8 dev diary

So I woke up Thursday morning to a strange surprise. I had a few tweets saying "good luck with 1.8" and suddenly many more "when is 1.8 gonna be updated lol" than I usually had. What a curious thing!

Unfortunately, sleepy me didn't realise what this meant at this point in time, and was unaware that he was better off just staying in bed all day, so he decided to go investigate. Some time later, it hit me. Like a wall full of irc highlights. Mojang released 1.8 much earlier than we thought they would. Uhoh!

IRC update checker bot

It appeared that I was a couple of hours late, so I thought, maybe it's ok and we've already started to work on it. But checking our repos and irc channels... it seems I was the only one who was available to handle it. It was just a bad time for all of us. The best part about our team is also the worst part; we're each in a separate timezone so there's always one of us awake for the major hours, but times like this it's just not possible for anyone else.

What's a bone supposed to do, but update the server by himself? First things first, though, is to tell everyone DON'T PANIC and that I'm working on it. Done! That wasn't so hard. Things might be easier than I expected!

So, to the actual updating. We have a top-secret-ultra-sensitive-really-hackish 3 step process of handling updates. Four, if you count the pizza time afterwards. The first two steps are essentially deobfuscation, and the third is almost rewriting the entirety of Craftbukkits net.minecraft.server section. That's a whole lotta code. We have some very fancy tools written by ...

Continue reading

Minecraft 1.8 soon!

Yay, minecraft is updating! To 1.8! And then again soon after with more features! :D

I both love and hate these periods where updates are coming. I love them because I actually have stuff to do, it's always interesting reading all the new changes in the code, and it's actually quite fun (in a sadistic manner, I guess) racing to be the first mod to release.

I hate it, because I always see complaints like "omg bukkit will take forever to update, I'll have to make a backup then switch to vanilla and wait for bukkit then restore the backup and then update bukkit and then update bukkit plugins it's so much work!"

Our update times lately are within the hour, sometimes minutes for experimental releases. Updating to bukkit will take you all of 1 minute, and updating your plugins is not needed (except for the VERY few that stupidly use native api which guarantee them to break very often. But that's true of other mods too). This puts the consumer amount of work to about 5 minutes, and seeing people complain about that when I'm about to spend an entire week crawling through obfuscated code line by line to actually make it possible... it does make me sad :(

But we'll still keep at it! And hopefully, we'll make this update as seamless as possible and as fast as you can imagine :)

Continue reading

Back to reality

Okay, Ola is here and we're having lots of fun, but it's time to get back to work.

I'll be making some more Bukkit tutorials starting tonight, finishing up on the carpet plugin and maybe going into something a little more adventurous (if you have any suggestions, leave a comment! I'll be glad to do anything that's helpful!)

We've managed to get enough money to pay our bills and rent and stuff, thank you all for your support! I got £80 from donations and (some day, when google let's go) £50 from ad money. Much more than I expected! Huge thanks to the three people who donated (v1sper, jrtc27 and FlayaN), iChingPow for his kind words and everyone else for putting up with the adverts! :D

I'm currently planning out some big changes for Bukkit stuff soon, including researching a possible new security system (let's be honest; allowing any plugin to do whatever it likes without you knowing... it's not good), Material enum aliases (with a twist; you'll see!) and hopefully a better Configuration class.

It's a good time to wear a bukkit on your head!

Continue reading

Page 1 of 2 1 2 »