MindCraft: The game & setting up your own server.

***I will keep editing this posting with updates vs. making new posts.....so check back with THIS post if interested.

I started spending some time with a now 12 year old boy, who is addicted to computer games.  One of which is MineCraft.  I heard of this game previously, mostly about how it can be used as a learning tool. Science Friday (a National Public Radio show) and Wired Magazine are just some of the media sources who have reported on it.

This game has been out for well over five years now.  I have even sold some second hardware on Craig's List to people who intended to use it to be a MineCraft server.  Wait what? One can setup their own server?!?  It isn't just central corporation for gaming servers?  So I decided to dip my toe in the water.

The graphics are horrible by today's standards.  Kind of reminds me of the original Nintendo.  However, it is 3D, it is really lightweight, the "world" is REALLY big and able to have so much manipulation done to it.  It is kinda like Legos meets SimCity meets Age of Empires.  I have become somewhat addicted.

The application is really just a java file wrapped up in a GUI menuing system.  The system requirements are fairly low, most any Windows 7 machine can play it (being a Java file, both Macs & Linux machines can also run it).

The MineCraft Server is a free download, it also doesn't require much for system resources, and also just essentially just big Java file.  To setup a server, download the source file, expand it.  Manipulate the "eula.txt" file to say eula=true.  Many of the server parameters can be adjusted by manipulating a file called "server.properties".  The server is started via a command line, most people make a batch file.   Mine looks like this:

<start of file>
java -Xmx6144M -Xms102M -jar minecraft_server.jar -64 nogui
<end of file>

The batch file calls Java, passes the maximum ram parameter, passes the startup ram parameter, passes the filename, forces 64 bit mode, and suppresses the GUI.  I added the pause, just so I can see the error message if it doesn't launch properly.

The de facto ram config is 512mb.  I bumped it up.  I had a bunch of issues where I couldn't set it about 1700mb; Java would complain it couldn't assign that much memory.  I was able to fix that by uninstalling Java from this machine, downloading and installing the newest 64bit version.  Suppressing the GUI saves a bit of resources, and really isn't all that necessary, as regardless of the GUI or not, one will see a command prompt style window, that has a running log of what is going on, and commands can be issued.  Like "stop" to shutdown the server.

The game communicates on TCP port 25565; so normal firewall holes/NATting apply.  If one wants external access.

Obtain, install, and launch the client portion of the game.  Hit Multi-Player, add-server, use the IP/DNS of your machine, and connect.  The game costs $30, there are pirated copies out there but they will not connect to your server unless you change the server set settings to: online-mode=false.  That means that your server won't check in with MineCraft central for user authentication.

I am still getting messages that my server cannot keep up.  Not sure why, as the server isn't using hardly any CPU or ram.  Although after fixing my Java issue and giving it more than 2gb of ram did really help.

[18:01:51] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2107ms behind, skipping 42 tick(s)
[18:02:34] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 21613ms behind, skipping 432 tick(s)


A Windows Alternative

I have a PC that I spared from being recycled as it is an Intel Core2Duo machine.  However it has a Windows COA (Certificate Of Authority) sticker for Windows Vista.  Yuck, while an 'ok' OS back in the day, I have no interest in running it again.  I cannot legally run Windows 7 on it.  So what to do?

Introducing Elementary OS.  It is a Ubuntu Linux variant.  It is very, very, easy to use, one might even say "elementary"?  :)  Honestly, if one can use a smartphone or tablet, one can use this operating system.  The install was super easy.  It detected all of the hardware on this HP DC7700, onboard network, sound, and video.  I later added in an Nvidia 1gb PCI-e video card and a cheap USB wireless network card, it added all the drivers automatically with almost no intervention from me.  It did dual monitors without any hassle.  It is also quite fast, great for breathing new life into older hardware.

The built in web browser is quite sufficient, YouTube and what not works just fine.  Amazon Video streaming does not work.  Installing Google Chrome is a bit of a chore for those not familiar with Linux.  The App store has plenty of software available.  Getting Java installed correctly is a challenge I am still working through.

In summary, I am impressed.  If you got a machine laying around it give it a try.  If you got people in your life that are "not good at 'puter" this might be an answer.

Lenovo ThinkServer TD230

Interesting little SMB server.
It claims to be really power efficient, I haven't had my Kill-a-Watt on it yet.  It is super quiet!  A nice feature to have for those who don't have dedicated server rooms.

This one has an Intel Xeon E5620 2.4ghz quad core.  16gb DDR3 ECC ram (four 4gb modules), expandable to 32gb if one adds in a 2nd processor.  It has two banks of four memory slots (eight total), however in order to use the 2nd set of four memory banks, the 2nd processor must be installed.  I also think I tried 8gb memory modules and it didn't like them.  ThinkServer 9240-8i Lsi RAID Adapter

ThinkServer Remote Management Module v3 (Out Of Band management, like HP's ILO or Dell's DRAC)

Four hot swap drive trays/bays that are accessed from the side.  Why the side?  Why are the sleds hiding behind a trap door.  


RVTools: Vmware Inventory Application

I ran across this tool not long ago.  It doesn't anything one can't do via other means, but it does it faster, doesn't require doing a bunch of scripting, puts all sorts of useful information in one screen and can export to a spreadsheet.  One of the things I use it for is finding what VM's have old snapshots sitting around.  I also used it the other day, when I was deleting old ISO files from a datastore, but couldn't as it was locked.  A VM had it mounted, but which one?  With this tool I was able to goto the CD rom tab and quickly scan to find the offending VM.