Minecraft Server Hosting Guide

The Hustle

I started a Minecraft server called “Earthlatch 2.0” with my best friend. While relatively easy to set up, community management and server tweaking proved to be far more time-intensive than I imagined.

Numbers

  • Costs: $20 in fees to Digital Ocean for our server
  • Profit: $50 resulting from 4, separate donations
  • Time: 1 hour 30 minutes to set up the server. 20+ hours to manage the community (variable, though)

Proof

donationcraft

Note: I deleted one transaction of ~$5 from the history because I upped the prices and didn’t want users to see that someone had bought an elite rank for less than I was asking them to pay! The total ended up at almost exactly $50.

Pros

  • Learn some linux!
  • Scalable (if you develop demand, you can easily upgrade your digital ocean account for more players)
  • Extensive resources/tutorials to help you troubleshoot and get up and running
  • Secure… since you’re running on Digital Ocean, you don’t have to worry about exposing your own computer to security risks associated with opening ports to host a game.

Cons

  • Community management can be VERY time consuming
  • Requires several quick fixes/updates
  • Recent changes to Mojang EULA make it inappropriate to sell features that affect gameplay (for instance, people bought one rank b/c it granted them the ability to “fly,” which made gameplay unfair)

Step-by-Step Tutorial

Step 1: Create a $10/month droplet on Digital Ocean.

You can set up your account by visiting Digital Ocean and signing up.

minecraft2

I’m speaking from experience when I say the $5 per month isn’t really enough! I dealt with several unexpected crashes (and complaints) before I decided to upgrade.

Step 2: Download Putty to connect to your new server

If you’re on Windows, you should download the latest version of putty.

Once installed, open putty and enter the information you received in the email from Digital Ocean:

2014-11-23_1447

Make sure you select “22” as the port number as follows.

2014-11-23_1455

Before opening the terminal, go to “SSH” and select “2 only.”

2014-11-23_1457

You will login as “root” and will type your password from the email. Also, when typing your password, nothing will show up… this is normal! Don’t freak out like I did on my first try.

PRO-TIP: YOU CAN COPY AND PASTE IN PUTTY! You simply copy text to your clipboard normally then right-click into putty.

Once logged in, congratulate yourself! You’re starting to feel like a computer pro.

pro

STEP 3: Install necessary updates & Programs

Alright, you’ve logged into your server… now it’s time to get all the updates + java (java is, after all, the core of minecraft!)

Simply copy and paste the following into your terminal:

1
sudo apt-get update

1
sudo apt-get install default-jdk

Nice, you’re basically ready to go. (Also, you will need to type “Y” to install the updates… they do take up some space, but we have plenty on our digital ocean server!)
2014-11-23_1523

Next, install screen, a handy program that will allow our server to run in the background once we disconnect from putty.

Installation is as simple as:

1
sudo apt-get install screen

By now, you’re starting to like linux, right?

STEP 4: Download minecraft server files

While not required, I recommend making a directory for your minecraft server.

With linux, that’s as simple as typing:

1
mkdir mcserver

Once the directory is made, type

1
ls

(LS is a handy command that lets you view the contents of your current directory).

Next, to enter the directory type:

1
cd mcserver

Once in your new directory, you can download the minecraft server .jar file as follows:

1
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8/minecraft_server.1.8.jar

STEP 5: run your server in a new screen!

Next, type “screen” and press enter.

This has created a new screen in which your MC server can run.

1
java -Xmx1024M -Xms1024M -jar minecraft_server.1.8.jar nogui

Once you run this, you will get an error regarding the EULA.

Press CTRL + C to close the server. Then type

1
nano eula.txt

The nano command allows you to edit files with linux. Change eula = false to eula = true as follows:

2014-11-23_1538

Once you’ve made this change, press CTRL + X and then Y to save the document. Now, simply press the up arrow a few times or retype:

1
java -Xmx1024M -Xms1024M -jar minecraft_server.1.8.jar nogui

Now, your server is running!

2014-11-23_1542

Press CTRL + A + D to detach from your screen. To reconnect if anything goes wrong, type “screen -r”

STEP 6: RULE THE LANDS OF YOUR NEW SERVER!

Simply log into minecraft and direct connect to your server.

2014-11-23_1546 2014-11-23_1547

Congratulations on starting your first minecraft server!

STEP 7: Making money

I found the keys to making money on your minecraft server are to 1) interact with and help your users (within reason) and build/maintain these relationships 2) make sure your server rules are fairly enforced such that users WANT to play on your server and 3) don’t always ask for money… in my experience, the money just happens if you focus on 1 & 2 :).

The first two days of running my minecraft server were absolutely insane. I had MULTIPLE requests to fix things for users (we need to be able to sethome! ___ command is disabled for me! I can’t sell stuff to the server!)

It was overwhelming, but I was lucky enough to have a) a few dedicated players and b) a relative who stepped up and helped out, and who eventually became far more knowledgeable than me.

I found that running a bukkit server was key and that setting up permissions.yml files is key… SPEND TIME UP FRONT DOING THIS PRIOR TO LAUNCH!

Update: I have found out that bukkit is no longer compatible and/or supported with Minecraft, so I may revise this article to include SPIGOT instructions. That said, let me know what you think!

Resources

  • Craft Bukkit – While starting your first minecraft server is fun, you may want to run a bukkit server instead. It allows greater control and a HUGE variety of plugins. If you can follow the steps above, you can easily create a bukkit server as well
  • Linux Basic Commands – Though old, Stanford has several useful commands you may find useful. For instance to move UP a directory, type “cd ..”

Leave a Reply