It feels like I’ve spent the best part of four days learning Linux. Lets be specific (because I’ve discovered, you have to be specific), I’ve been learning the RedHat distro of Linux which does somethings differently to, for example, Ubunto. Oh, and I’ve been learning the Windows Command prompt syntax as well, all to get a Minecraft Portus up on to the University’s Minecraft server. As an arty-farty type who, after some BASIC in my schooldays, has been pretty exclusively a Mac user, my command line experience has seen me many times looking up into the afterlife whispering prayers of thanks to Saint Steve of Jobs. It was he who, in nicking the idea for a GUI (and drag-and-drop – oh all hail drag-and-drop!) from Xerox, saved most of us from the Hell of mis-typed commands and open source syntax (where for example, some commands use “-r” as an option to make the command recursive and other commands, quite arbitrarily it seems, scorn the lower case and only understand “-R” do do exactly the same thing).
The first day’s frustrations were all about getting the user permissions I needed to start tinkering. Some things worked, but other things were forbidden, and of course in my innocence I thought I was doing something wrong until I finally returned to the support line to find the administrator had mis-typed something in setting up my permissions.
Not that I blame him of course, I know how easy it is to mistype something. Readers of my blog have the evidence of that right in front of their eyes. But at least this blog uses actual words, not the contractions, acronyms and symbols so beloved of coders. Then there were three days of:
- loading files up to the server, mostly using wget;
- reading up of how to upload from Windows to the server, and deciding that acquiring and using the open source software, pscp, to do so sounded very, no, too complicated;
- discovering that if they came from github where the most excellent Shawn Graham had published them, then what I was transfering wasn’t the file, but the web page that held it;
- looking again at pscp, and again rejecting it;
- toying with the idea of getting to grips with Git, which seems like proper programmers, stuff, and instead deciding it would be easier to put the files on Dropbox and wget them from there;
- learning how to unzip and archive in ssh, and puzzling over why there were two of everything (binary files I’m guessing);
- trying to get one or other set of files (or a combination of both!) to work by changing the group and permissions to make them look like the ones in the default world (remember to use the recursive option when using chmod or chgrp on directories so that all the contained files also have their group and permissions changed);
- trying to wget the directories and files direct and uncompressed from Dropbox, only to discover that process seems to change every file’s name slightly;
- downloading pscp and discovering that wouldn’t open when double clicking on it (oh the innocence!), giving up;
- trying to load Git on the server, discovering I didn’t have permission, and deciding the this was an arcane thing that no mortal man should know;
- finally getting my head around opening pscp in Windows’ Command Prompt, setting a PATH for it so it would actually work (no I don’t know either, but it needs to be done, every time);
- loving the way that paths are described with “\” on windows and “/” on Linux (and the web);
- chmod and chgrping again (By this time I’m feeling quite the expert on these functions. Oh yes I can 775 with the best of them!);
- all of the above with frequent restarts of minecraft_server.1.8.1.jar to see if what I had done worked (and discovering it didn’t);
- accidentally deleting the actual minecraft_server.1.8.1.jar software (there’s no undo in a command line interface);
- quickly restoring minecraft_server.1.8.1.jar using my new-found pscp skills;
- restarting to find it still didn’t work
- tweaking the name of the players directory (to playerstats as in the default world) and moving the region directory (which seemed to have some how escaped from the world directory, and restarting again; and,
Its works! Ha-lleh-bloomin’-lu-yah!
So what is it exactly? Well, its the work of a group of Shawn Graham’s students “3rd year undergrad history class, but […] a mix of majors; none of them ancient historians” Shawn explained to me. According to their presentation, the intention was to recreate the life of a slave in Portus, by limiting the interactivity. I’m not sure whether that side of it is actually working in my version, as I seem to be be able to explore with complete freedom.
The model itself is based on these old archaeological (or maybe more appropriately, antiquarian) plans, most specifically the ones by Canina. It looks pretty good even without the Romecraft texture pack, which the students used (and which I’ll install when my head stops hurting).
The server isn’t publicly available currently, but if you have a University of Southampton username, open a VPN with the university, fire up your copy of Minecraft, click on multiplayer, and seek out this world, which goes under the name of svr00978.soton.ac.uk.
It’s also worth checking out Shawn’s assignment to his students which, explains why they worked so hard to create this.