MineCraft Pocket Edition Logo

Setting up a free Minecraft PE Server

Being the amazing nerdy Dad that I am, of course I’ve done my share to introduce my kids into video gaming. Being that they are elementary age, of course I introduced them into Minecraft. Given that hey had been using an iPad for few years already, my daughter took to the game building amazing objects. My son, enjoyed it mostly because it let him destroy his sister’s creations.

What really blew their minds was when they discovered they could also play with their cousin that lived over 600 miles away. They would setup a facetime session (video chat) and then open Minecraft and play with each other. The problem was that the world they built either lived on my daughter’s iPad, or my nephews. Meaning that they couldn’t always keep working on the world when the other wasn’t online. So I set out to find a solution.

Mojang, came out with their solution to this problem by creating Realms. Now a realm is a world that Mojang will keep online and you and your friends can come and go as you wish. This was exactly the idea, however they only allow for up to 3 people connected a time and charge $4 a month to keep the world hosted. Now I know that doesn’t seem much, but $48 a year so my kids can play online and the moment I stop paying all of their creations are lost didn’t really sit well with me. So that idea was no good.

I began looking into setting up a Minecraft server, since you can download the Java jar file for free from Mojang, but I quickly discovered that this server would only work with Windows, Mac, and Linux clients. However given that they used an iPad, they used Minecraft Pocked Edition (PE), which wasn’t compatible.

After doing some googling I stumbled onto a free opensource project called PocketMine MP. A group of talented developers created an Open Source PHP based application that acts as a Minecraft PE server. BINGO! So now that I found the software, I needed someplace to put it. Well reading over the installation documents, it appears that at this moment it is primarily setup to run using Linux. Now, I’ve setup my fair share of Linux servers and clients in the past and for those that are worried, don’t be its fairly straight forward. So the server doesn’t need to be powerful, but I did want it in a place that will always be online.

So recently I’ve been growing an learning about Amazon Web Services (AWS) and cloud computing and I realized that EC2 (AWS’s virtual machine services in the cloud) has a free teir that allows me to run a Linux host with a public IP from for free for a whole year! So I decided, heck yeah I’ll use the power of the cloud to run a public Minecraft server!

So, without being too specific, you want to go signup for a free AWS account. After you do that head to EC2 and select Launch Instance. Then select the Amazon Linux AMI.


Then select the t2.micro instance. This will give you 1 CPU and 1 GB of memory.


On the next page, go to the bottom and expand the Advanced Details and then copy the below script into the User Data field. This will update the server and then download the latest version of the PocketMine-MP.

yum update -y
mkdir /usr/local/pmmp
cd /usr/local/pmmp
wget -q -O - https://raw.githubusercontent.com/pmmp/php-build-scripts/master/installer.sh | bash -s - -r

Then head to the Configure Security Group page. Security groups are like a group of firewall rules. By default only TCP port 22 is open to allow SSH into the system. We will want to also add 19132 UDP to allow for the clients to connect to the PocketMine server.You can also open 19132 TCP if you would like to use the remote console.


Then launch the instance and you will have a running server with the latest version of PocketMine installed. All you need to do is to SSH into the server and then begin the configuration wizard by launching ./start.sh in /usr/local/pmmp/.



  1. Hi Joshua, thank you for this excellent walkthrough. I’ve been trying to set-up something similar for my kids with the same outcome in mind. I’m curious if you can give me a bit more info on how you are using this. For example, on the ipads are you using Minecraft PE v1.0.5? I’ve tried installing this a number of different ways and keep getting a message “Logged out due to outdated server”. After lots of Googling and experimentation with different .phar files I’m wondering if it’s just the version of the app within ios. Or did you have similar problems and resolve somehow?


    • Hi Joel,

      Unfortunately this has also been an issue that I faced, but I forgot to address in the post. It appears that Mojang is releasing updated client versions that somehow change the network protocol and cause these types of errors. For this to function the client and the server need to be running the same exact version. At the time of writing both the client and server was at version After 1.0.5 was released we started getting this error as well.

      I just checked the PocketMP site and it appears their most recent stable version is still 1.4.11. On the PocketMP forums, a developer appears to have made a build that is compatible with 1.0.5 but he said it may not be stable (https://forums.pmmp.io/threads/1-0-5.1657/).


      • Thanks for that. After digging a few more threads in to that link you posted I found a PHAR file version that seems to be playing nice. For the first time I’ve been able to actually get the game going on the ipad. Thanks a million! Next up…I need to work out how to make it run in the background.


  2. I appreciate the guide. I set this up successfully for my daughters to play on. However I have run into an issue that is difficult to troubleshoot. They can connect to the server and play as expected. However if they don’t log into the server for 20-30 minutes or they cannot connect to the server without me rebooting the EC2 instance and restarting the service. Their Minecraft PE client shows the server as available as well as the max number of players. Any help would be appreciate. Thanks


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s