PERSONAL MINECRAFT SERVER ON A GK802 STICK PC

linuxium
Posts: 16
Joined: Thu Jan 03, 2013 1:30 am

PERSONAL MINECRAFT SERVER ON A GK802 STICK PC

Postby linuxium » Sun Jan 06, 2013 4:18 am

Whilst this started as a performance question and then an academic exercise, the results have proved more than acceptable to share with anyone wondering what to do next now they have their GK802.

Basic setup. Hardware-wise you don't need anything else other than the GK802 and its power supply. However you will find it faster and easier if you have a USB Ethernet adaptor connected to a USB hub with an external keyboard and mouse. The other item I am using is a SanDisk Extreme Pro microSDHC 8G card rather than the card that came with the unit. Again this is for speed as this card's read/write speeds are published as around 95MB/s. You will be installing software but it is all free and doesn't require any Linux skills as I'll point you to relevant online tutorials or tell you the commands to type. In fact the only skill that helps is knowing how to play Minecraft and even this can be easily overcome by involving that young teenager you sometimes see wandering around the house, typically at meal times, seemingly wearing white ear plugs permanently. Finally you will need another PC to prepare software and to play the game from. It can either be a Windows or Linux box and doesn't need to be anything too fancy. For example, I have used an old HP Mini netbook with 2G RAM running Linux 12.04 LTS connected to my LAN using its built in 802.11b/g wireless card. Minecraft does support Mac but as the tutorials tend to only include Windows and Linux instructions I'm leaving MAC users to figure it out for themselves.

The first step, and only if you haven't already done this, is to upgrade the GK802 firmware to the latest version offered by deadhp1. As is the case with many of these little projects, there often multiple ways of achieving the desired results. You could just upgrade the existing firmware by following http://www.armtvtech.com/armtvtechforum/viewtopic.php?f=51&t=1001. As I have the fast microSD card, I went for installing a complete firmware microSD image by following http://www.armtvtech.com/armtvtechforum/viewtopic.php?f=51&t=1113. Note you should read all the posts and links for installation instructions as sometimes they are not in the OP. Either way the basic requirement is for root and Google Play Store on your GK802 so as long as you have this we can start on the next step.

Being a quad-core stick PC, I was initially interested to see what the performance was like. So I downloaded the Android app "Complete Linux Installer" by ZPwebsites and clicked on "Install Guides". By following the "Ubuntu 12 Install Guide" I downloaded the "Large Ubuntu Image" and installed the full Ubuntu desktop with Unity. For your Minecraft server you can probably get away with less but I haven't tried the smaller images. One of the key packages you will need is Java and this is automatically included in the full install. The Ubuntu installation is very simple as you just follow the instructions the installer provides. The slowest part is downloading the Ubuntu image. If you want you could always download the image from a faster network connected Android device or directly from the web itself from http://sourceforge.net/projects/linuxonandroid/files/Ubuntu/12.04/full/ubuntu1204-v4-full.zip/download and then just copy it across to the GK802. As per the installer instructions, unzip the file (I used "File Manager") and put the image and md5 files in "/sdcard/ubuntu". Once installed, add the "Boot Ubuntu" widget to your home screen so you can then boot Ubuntu. When booting, say yes to start both VNC and SSH servers and I suggest using a screen size of 1280x700. On the screen you will see the IP address of this "Ubuntu" PC so make a note of this as you will be using it to connect from your other PC.

If you want you can pause here to enjoy the wonderful world of Ubuntu on your GK802. For the hardcore CLI enthusiast open up a terminal session on your other Ubuntu PC and enter "ssh -l ubuntu <GK802 Ubuntu IP address>" and use the ubuntu password set during the Ubuntu install. If your other PC is running Windows, I recommend installing PuTTY from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html (select putty.exe) and then login in using the IP and account credentials just mentioned. Of course for most people a GUI interface is going to be more fun, so if your other PC is running Ubuntu, I recommend using Remmina, or TightVNC from a Windows PC (see http://www.tightvnc.com/download.php) or you can even use the android-vnc-viewer app by androidVNC team + antlersoft from an Android device. Note that the VNC password to connect is set as "ubuntu".

Now for installing the Minecraft server. VNC to your new GK802 "Ubuntu" PC and start Firefox. We are going to follow the excellent instructions at http://www.wikihow.com/Create-a-Bukkit-Minecraft-Server together with Bukkitt's wiki at http://wiki.bukkit.org/Setting_up_a_server to install a CraftBukkit Minecraft server. However we are going to do things in a slightly different order with some intermediary steps to overcome performance restrictions. Lets start by reading both sets of instructions completely so we have the basic idea of what we are going to do. Given that you probably didn't do that lets get straight into it by downloading and entering commands.

Because the current Minecraft server at [url]minecraft.net[/url] is at version 1.4.6 we are going to load the beta development CraftBukkit build from http://dl.bukkit.org/downloads/craftbukkit/ (see build number #2586 and download by clicking on the green downward arrow). Set it up by following the Bukkitt's wiki Linux instructions numbers 2 to 6. As the startup script refers to "craftbukkit.jar" and you've just downloaded "craftbukkit-1.4.6-R0.3.jar" you now need to either update the script file, rename ("mv") the download file, or link the download file to the script file (my preference) by entering "ln -s craftbukkit-1.4.6-R0.3.jar craftbukkit.jar". Now follow instruction number 7 to start the server. What you'll probably find is that in amongst the messages that get displayed will be ones that say "[WARNING] Can't keep up! Did the system time change, or is the server overloaded?" and probably the message "Killed" when everything will stop. The actual target is to get everything loaded and see "[INFO] Done (<some value>s)! For help, type "help" or "?"" which means the server is ready to play Minecraft.

Whilst the GK802 stick PC is a Freescale iMX6 quad core cpu and Vivante GC2000 quad core GPU, it only has 1G of RAM leaving only about 800M+ to play with once Ubuntu has been installed using the method above. To successfully run our Minecraft server we are going to allocate only 512M to it and create a swap file to offload as many memory demands as possible. So from the terminal session we opened earlier, become root by entering "sudo su -" and your "ubuntu" password if asked. Now we can create a 1G swap file on "/sdcard" by entering "dd if=/dev/zero of=/sdcard/swapfile bs=1024 count=1M" and make a swap filesystem on it with "mkswap /sdcard/swapfile" and turn on swapping with "swapon /sdcard/swapfile". Finally we want to encourage the system to swap so we will set the swappiness to the maximum. This can be done dynamically by entering "sysctl vm.swappiness=100" (or it can be manually set by editing /proc/sys/vm/swappiness followed by a reboot). Now edit the script file so that line 4 reads "java -Xms512M -Xmx512M -jar craftbukkit.jar -o true" by entering "gedit craftbukkit.sh" in your terminal session. Now start the Minecraft server again. You will immediately see a new warning message which is recognising that we have started with reduced memory. However this time we should get all the way through the preparation and to the successful "Done" message where we can then enter "stop" to gracefully close the Minecraft server down.

To finalise our Minecraft server we should install some useful commands and features through plugins. Lets pick up from step 13 of the "How to Create a Bukkit Minecraft Server" instructions. Follow steps 13 to 15 which will explain how to install the plugin called "Essentials" and then leave your Minecraft server running.

Are you ready to play? So now go and complete steps 1 to 3 of the above instructions and install the stand-alone Minecraft launcher on your other PC. Start the launcher and after logging in with your Minecraft account, select "Multiplayer" and then "Add server". Modify your "Server Name" to something meaningful as you wish, and enter the GK802 Ubuntu IP address as the "Server Address". Your server will now appear in the list of available servers so just select it and click on "Join Server" and you're off.

But what can you expect? Playing from a netbook isn't great but it is possible and obviously playing from a more powerful PC will give you a better experience. Playing connected to a server running on a GK802 is also pushing the limits. However it does work. And having said that it gives you an opportunity to learn how to be a Minecraft server admin and allows you to experiment in Minecraft. In terms of performance, I was actually impressed with the capability of the GK802.

Return to “GK802”

Who is online

Users browsing this forum: No registered users and 1 guest