WedTM's Blog

Web developer, father, husband, and awesome dude. All rolled into one.

What I would have done different…

First of all, it’s important to note, that this is not going to be a “Bash Mojang” post. This is simply going to detail why/how I think Mojang could improve.

Mojang is by far one of the fastest growing companies I’ve had the pleasure of working with in the past year. They have a great product, and even greater employee’s, however, they have one fatal flaw that countless other companies have fallen victim to in the past years.

They don’t learn from their mistakes.

We all do it, we think that the circumstances have changed, we think that this time it will be different for reasons A, B, and/or C. However, it’s not.

First off, I don’t know Mojang’s development practices, nor do I know Java all that well, however I know that if you haven’t caught up to the Behavior Driven Development paradigm, then you’re doing it wrong.

You should never write code, and then decide what it should do. You should detail out what you want your code to do, and then write the code to do it. This will give you a much greater understanding of your project, and also allow you to consolidate or even remove parts that you though you would need.

Secondly, FFS, if you have made over $100k on your project, you should have seperate development, staging, and production environments. Every patch/update you send out should hit that staging setup first, and you should have a subset of users do testing for you. That way, silly little things will be caught by the group of users who KNOW they are being testers.

That leads me to my next point. Beta. Yeah, we know, Minecraft is in beta. But so was GMail for years, and I can’t remember when they went down. If I can expect stability from a beta project from one company, then whether or not you like it, they have set the precedent of how a beta project SHOULD behave. We’re not talking about random bugs, or things randomly appear in game. We’re talking about keeping your servers up. Ensuring that when you do maintenance, that people are given a time frame as to when to expect things to go down, and when they will go up. If you had a staging environment, you should have very little downtime for your production systems.

Next point. Everyone loves to goof off at work, but when you have a buggy product, and your customers are upset, it’s best not to let them see you tweeting every 30 seconds about nerf guns or how popular you’re becoming.

Next point. Use your resources wisely, and when you need to, swallow your pride. One of the best parts of the internet is the ability to network with like minded individuals. The ability to talk to someone half way across the world about how something isn’t working, and the possibility of them having the fix already on hand is slim, but on the off chance they do, then you BOTH are a hero. If you’d rather shut the door on free help, then at least be prepared to do it right. If you don’t, then you just look foolish, as you have 30 thousand tweets about how to fix your issue, and all of your customers see that.

Next point. Hire enough people so that you have at least one person available 24/7. When you sell a global product, it’s asinine to think that your customers should bow to your time zone. 

My final point isn’t really a point, it’s just a reminder. If you’re starting a company with a product that people love, your number one goal should be to ensure that those people CONTINUE to love it. If not, you’re going to be up a creek without a paddle on your next venture, because everybody will remember how your last project went.

I for one send praises to Markus and his group for the amazing work they have done, and are undoubtedly doing. The above points are not issues that Mojang may currently be having or even had in the past, I think they are points that had Markus known from the beginning, would have helped him in the long run.

Project Wonderful Ads, now on MCServerlist.net

I’ve gotten quite a few emails from people asking if they can advertise on MCServerlist. I’ve never really had the time to work out deals with everyone, and it was starting to aggravate me that I couldn’t provide what the community seemed to want, so I’ve instead added project wonderful advertisements on the server list.

Project wonderful allows ANYBODY to advertise on the serverlist, and your ad will appear on the site for as long as you are the top bidder.

So go for it, start advertising your clan server, or your hosting business, the sky is the limit!

-WedTM

MCServerlist.net For Sale

The time has come. I’m in need of more R&D time, and mcserverlist is taking up all of it. It has a thriving userbase, a loyal community, and is the largest publicly available listing of Minecraft Survival Multiplayer servers in the world. I need someone who is as dedicated to the community as I am to take over, and give the site the attention that I cannot.

Here’s some basic stats for those who are interested.

Stats

  • Currently costs ~$150/month to run the site, could be cheaper if you ran it on your own server, however I use heroku because of it’s simplicity.
  • Currently serves ~170,000 pageviews per day (5.27 million per month)
  • Currently serves ~33,000 uniques per day (625,000 per month)
  • Has it’s own bukkit (http://bukkit.org) plugin that allows servers to update the system.
  • Has 2,090 registered users. With 1,554 logging in within the last 10 days.
  • Written in Ruby, using Rails 3.0, mongodb, memcached, and a plethora of other technologies
  • Premium features planned, but not implemented. (Sponsored servers, whitelist management, SMS notification of offline servers, etc, etc.)

Reach

  • 73.57% from search engines
  • 14.47% from referring sites
  • 11.96% from direct traffic
  • 20.61% increase in pageviews from 1/16/11-1/22/11 to 1/23/11 - 1/29/11

What’s included in the purchase?

EVERYTHING!

If you have a heroku account (they’re free), I can push the app to your account, and everything will run exactly the same. If you’d prefer that it be installed on your own server, we can include my services of migrating the app to your chosen location. I’ll take care of migrating the site, ensuring everything is setup properly, and leave you with the keys.

You’ll receive the entire Git repository that contains ALL the historical changes made to the site since it’s inception.

How to submit an offer / find out more information

The best way to contact me is on IRC. I’m always on, but don’t always respond, but a message left there will get to me with 24 hours. Unfortunantely, due to the massive amounts of email I get from the wiki, forums, and mcserverlist, any email sent there wont’t be seen for weeks. In IRC you can find me in #rsw on irc.esper.net. Most people in that channel will know where I am, or how to contact me. If you’d prefer the old fashioned way, you may email me at [email protected] Try to put something regarding the site in the subject, as that inbox get’s pretty full!

Reasonable Offers

Please don’t come to me with a lowball offer, I know that alot of people don’t realize how to monetize sites, and they think that a project like this is worth a couple hundred bucks. I will not entertain any low ball offers. Period.

So, if your interested, come and ask any questions you may have, send me an offer, and let’s make a deal!

I don’t expect the site to stay on the market for long, so if your interested, get your name in the pot early.

Some Changes

I have quite a few changes coming up. One of the biggest ones that have been requested, is a singular IP address that does the pinging of servers. I’ll be making the changes that only one IP address is pinging the servers.

Hopefully this will also fix the random “0%” errors that are occurring as well.

Changes to MCServerlist

Alright. I’ve done it. I’ve been bugged for months about how people want more control over their servers, the ability to vote on servers, etc, etc. All these things needed to have user accounts in order to work properly.

So that’s what I’ve done. Starting today, you need a user account to post a server. In the next couple days (maybe hours) I’ll be enabling voting on servers, and also integrating advanced searching.

As always, this is bound to introduce some bugs, so if you find any add a comment below. I’m entertaining the idea of getting a “Get Satisifaction” account, but we’ll see.

If you had an older server (one before today), then all you need to do is create an account with the same email that you used to post your server, and the magic will connect the two!

Why standards are important to follow

Citricsquid linked me to this awesome SO post (http://stackoverflow.com/questions/198462/get-versus-post-in-terms-of-security/202465#202465) where a user details that all his app’s data was being deleted randomly every few days.

They checked the logs and found that Google was spidering the site and GET’ting all the links, including the “Delete” and “Are you sure?” links.

The standard is to NEVER put any destructive actions under the HTTP verb “GET”. That’s what the POST, PUT, and DELETE verbs are for! USE THEM!

Why standards are important to follow

Citricsquid linked me to this awesome SO post (http://stackoverflow.com/questions/198462/get-versus-post-in-terms-of-security/202465#202465) where a user details that all his app’s data was being deleted randomly every few days.

They checked the logs and found that Google was spidering the site and GET’ting all the links, including the “Delete” and “Are you sure?” links.

The standard is to NEVER put any destructive actions under the HTTP verb “GET”. That’s what the POST, PUT, and DELETE verbs are for! USE THEM!

Oops, sorry about that.

So it seems that a bug in the software has deleted any server that failed a check within the last 24 hours. Sorry about that, feel free to re-add your server if yours was affected, you can hit me up in IRC to restore your percentage if needed.

API Almost Ready For Primetime

I’ve been working closely with several mod developers to allow dynamic updates and posting of server info to the server list. I’m proud to say that this is almost complete, and we’ll be rolling out the first wave to beta users soon.

To become a beta user, please contact me in #rsw on irc.esper.net. Not all applicants will be accepted, you’ll need to be a mod developer, or a large server provider like multiplay.

Server List Updates

Over the past few days I’ve been reworking the minecraft server list (http://mcserverlist.net). There was over 2,000 servers listed, most of them defunct, so I wanted to remove those from the database as they were just using up space.

I removed the GC code in favor of a total uptime code, I feel this reflects what people are looking for more.

I’ve also added a search feature, which was easily the most requested feature.

I’ll start posting more updates here, so keep checking back for more updates.