Having Fun with the Cloud? Make a Minecraft Server on Ubuntu! Part 2
With the 30 day free evaluation of Microsoft’s Cloud, aka Azure, I decided to try and make the cloud fun, so I made a Ubuntu VM which now hosts Minecraft, which my kids love to play on now. Those that know about Minecraft servers, I am actually building a Bukkit server. It is very similar to a Minecraft server, it just has more built in administrative support as well as plugins, user made files that can change the server, which make multiplayer experience easier to manage. This will be a three part series that will cover the following topics.
To get started with your own trial account create an account here: http://aka.ms/mshosting
Part 1 will list out the tools that will need to be downloaded, as well as signing up for the free Azure account.
Part 2 will step you thru creating the Virtual Machine in the cloud, and creating an endpoint to access what is on the VM that was just created.
Part 3 will step you thru connecting to the server using PuTTY and WinSCP, copying files using WinSCP, installing Java, and finally starting up the Bukkit Server.
Creating a Certificate for Azure
Before creating the VM we will need to create a certificate that will be utilized during the VM installation. The current version of the Azure Portal only accepts SSH public keys that are encapsulated in an x509 certificate. When creating the Ubuntu VM you will be asked to upload compatible SSH key for authentication. The help file associated with this topic is viewable here http://www.windowsazure.com/en-us/manage/linux/how-to-guides/ssh-into-linux/
Microsoft’s documentation on “How to use SSH with Linux on Windows Azure” the section on Creating a Private Key on Windows, they throw three different tools at this problem of generating a private key on windows. To save yourself some time, just use GitHub, its very easy to use and it can be started after installing it by a shortcut on the desktop, called Git-Shell. Just copy the lines of code from the URL above under the section Creating a Private Key On Windows, and answer some questions to get the results shown below, and it will generate the private key
openssl.exe req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem
The next directions on the “How to use SSH with Linux on Windows Azure” on creating a PPK for PuTTY using the PuTTYgen tool as well as how to configure PuTTY, with the certificate created in PuTTYgen are spot on, and need to be done.
Login to the Azure Management Portal
Using your new Azure logon go into the Azure Management Portal, http://www.windowsazure.com/en-us/ and click the new button at the bottom of the portal page, and click Compute -> Virtual Machine -> From Gallery.
Scroll down the list and select Ubuntu Server 12.04 LST, then click next arrow. As seen in the screen shot below, there are several flavors of Linux support already available.
Name your virtual machine, select the size of the VM, enter the user name that you will want to logon to the Ubuntu Server with, select the *.per file that is created in the first step at the top of this blog post, then enter the password you want to use for the Ubuntu account.
This will be considered a new cloud service, and will utilize the DNS Name MinecraftVM01.cloudapp.net. As I live on the East coast, I want the game server to be in the same geographic location, and just keep the default for the storage account.
This is a single game server no need to setup an availability set and click the check button to start the provisioning process, so the Virtual Machine will be created. Give the installation 5 to 10 minutes to cook, and you should be ready to connect using PuTTY and WinSCP.
Creating an Endpoint
In order to access the Minecraft/Bukkit game, we will need to create an endpoint in the Azure Management Portal. Now that the VM has been created we can now create the endpoint. In the Azure Management Portal click, on the left hand side click Virtual Machines, then click the name of the virtual machine that was created in the last step. Under the name of the Virtual Machine click the word Endpoints. Click the Add button at the bottom of the Endpoints web page. This will start up a Wizard to add an endpoint to the virtual machine. As we are just adding an endpoint, and not a load balanced web application, select add endpoint, then click the right arrow button.
The port number that Minecraft and Bukkit use is TCP port 25565. Enter the name of the Application, select the TCP Protocol, and enter the port number 25565 for both the public and private port numbers, then click the check mark to complete and save the end point.
By creating this endpoint, once the application is setup it will be accessible on the internet using the FQDN of the server.
This series of posts is to illustrate how easy the cloud can be to use, it’s flexibility to be used in different ways, as well as show the broad range of Operating Systems that are available on the Microsoft Cloud Platform. This post is for demonstration purposes only.