When we recently set up a new Linux web host, I had to configure two 4TB disks into a RAID1 (mirrored) array.

I created whole-disk partitions on the two disks using fdisk, created the array with mdadm, created an ext filesystem on it, and mounted it. Job done, right?

Unfortunately, some time later we noticed the filesystem was only 2TB, not 4TB as we’d expected. This turned out to be caused by a limit on the size of the old-school PCDOS partitions fdisk can create. The fix was to use parted and GPT partitions instead.

I wondered whether it was possible to do this without destroying the array… long story short: it is. (I did back up the data first as a precaution.)

The plan:

  • remove one disk from the array
  • repartition it with parted
  • re-add it to the array
  • sync the array
  • remove the other disk from the array
  • repartition it with parted
  • re-add it to the array
  • sync the array
  • grow the ext filesystem to use the expanded space

Here are the commands, in this case for an md device /dev/md3 made up of /dev/sdc1 and /dev/sdd1:

Remove one disk from the array:

mdadm /dev/md3 --fail /dev/sdd1 --remove /dev/sdd1

Create a gpt partition using most of the disk (the page I copied this from said it would leave 1MB unused at either end):

parted --align optimal /dev/sdd
mklabel gpt
mkpart primary 1 -1

Re-add to the array:

mdadm --add /dev/md3 /dev/sdd1

(This caused a re-sync but it was very quick, which I found surprising; shouldn’t it have had to copy 2TB of stuff?)

Repeat the above for the other disk.

Grow the RAID array:

mdadm --grow /dev/md3 --size=3815318M

(I got to that figure by repeated grows in a binary-chopish fashion. parted reported the partition at 4001G, but passing this to the grow command yielded ‘no space left on device’.)

Finally, resize the filesystem:

resize2fs /dev/md3

If you have a server you can ssh to in the UK, you can use it to bypass the region restrictions imposed by itvplayer and BBC iPlayer.

Christmas generally means (amongst other things, you understand) lounging around watching Downton Abbey with my parents. As they live abroad, I just take along the DVDs and all is well. However, the annual Christmas special poses a bit of a conundrum.

Last year we watched it on filmon.com, but that requires you to watch it live at the time of broadcast, and this year we couldn’t.

Fortunately, it was still available for viewing via itv’s online catch-up service, itvplayer. However, this does some geolocation to determine where you are, and refuses to play if it detects you’re outside the UK. (It seems the BBC iPlayer does the same.)

My first thought was to use an HTTP proxy running on my server in Blighty. Back in the day, we used a squid proxy in the office; all browsers were set up to proxy through the squid server, which forwarded HTTP requests to the outside world and funnelled the responses back to the browser. So the plan was to set up such a proxy on my home server back in the UK, then point Safari on my laptop at it. This would mask my foreign IP address, making traffic to itvplayer appear to originate in the UK.

These days I’d use haproxy as a lightweight proxy, but for the life of me I couldn’t work out how to make it forward requests to arbitrary destination servers rather than a pre-configured set. (haproxy is mainly used for load balancing. If anyone knows whether haproxy can do simple old-school web proxying, I’d appreciate a note in the comments)

After an hour or so of fruitless googling and experimentation I thought perhaps trusty old ssh might offer something in this area, given that I use it for all other tunneling jobs. And it turns out it does indeed, as outlined in this blog post at linuxjournal.com.

Concretely, the steps were:

  • in a terminal window, run: ssh -D 12345 your-uk-server
  • in Safari, in Preferences > Advanced > Proxies, click the button to change settings (this opens the proxies pane of the Network system preferences panel for your current network interface)
  • enable the SOCKS proxy, using localhost as the server and 12345 as the port (see screenshot)

socksproxy

That’s it – Safari supports the SOCKS protocol and will send its traffic over the ssh connection.

One caveat – your download speed will be capped at the upload speed of the remote server, since it is in effect uploading the itvplayer content to you. UK residential ADSL broadband tends to have rubbish up speed (fibre ought to be ok), so you may have trouble with playback. (Unfortunately itvplayer at least doesn’t appear to do much buffering, so you can’t just pause it for a bit to let it load up the content; you’ll have to put up with the stuttering.)

For Windows users: you can probably achieve the same thing with PuTTY. Google up “putty dynamic tunnel socks” and you should get most of the way there.

If you don’t have an ssh server available to you, or your upload speed isn’t up to it, then you may be able to google  a cheap or free UK-based VPN or HTTP proxy service which will similarly route all your traffic through the UK. Good luck!

UPDATE: BBC iPlayer download tip

It seems the Beeb have a downloader application which you can use to download stuff for later viewing. (You can get to it via the “download” options when on an iPlayer programme.) If you kick this off while the SOCKS proxy is enabled, then pause the download and turn off the SOCKS proxy in network preferences, then resume the download, it’ll download at your full broadband speed rather than being limited by the upload speed of your SOCKS proxy.

Recently I needed to do some data processing on a pile of CSV files exported from an Access database. Since the relational structure was fairly complex, I decided not to try to stitch it together with UNIX commands but rather to import the whole lot into a sqlite3 database on which to run queries.

Here’s the Python code, which is fairly straightforward. The only slightly exciting thing is that it detects columns whose names end in “_id” and adds an index for them, so that when you start doing join queries they’re not painfully slow.

The script traverses a directory full of CSV files. It takes two arguments; run it like so:

python csv2sqlite.py nameofdb directory

 

from __future__ import print_function
import sqlite3
import csv
import os
import glob
import sys

db = sys.argv[1]

conn = sqlite3.connect(db)
conn.text_factory = str  # allows utf-8 data to be stored

c = conn.cursor()

# traverse the directory and process each .csv file
for csvfile in glob.glob(os.path.join(sys.argv[2], "*.csv")):
    # remove the path and extension and use what's left as a table name
    tablename = os.path.splitext(os.path.basename(csvfile))[0]

    with open(csvfile, "rb") as f:
        reader = csv.reader(f)

        header = True
        for row in reader:
            if header:
                # gather column names from the first row of the csv
                header = False

                sql = "DROP TABLE IF EXISTS %s" % tablename
                c.execute(sql)
                sql = "CREATE TABLE %s (%s)" % (tablename,
                          ", ".join([ "%s text" % column for column in row ]))
                c.execute(sql)

                for column in row:
                    if column.lower().endswith("_id"):
                        index = "%s__%s" % ( tablename, column )
                        sql = "CREATE INDEX %s on %s (%s)" % ( index, tablename, column )
                        c.execute(sql)

                insertsql = "INSERT INTO %s VALUES (%s)" % (tablename,
                            ", ".join([ "?" for column in row ]))

                rowlen = len(row)
            else:
                # skip lines that don't have the right number of columns
                if len(row) == rowlen:
                    c.execute(insertsql, row)

        conn.commit()

c.close()
conn.close()

It seems that with Yosemite, Apple have decided to change the system font from Lucida Grande to Helvetica Neue.

Perhaps on retina screens it looks lovely, but on my 2009 MacBook Pro it’s a step backwards in terms of legibility. (For example, the ‘i’s and ‘l’s in “legibility” are a bit of a blur.

Alas, it seems you can’t revert to Lucida Grande. However, you can improve the appearance of text in applications that use the default system font. (For me, that’s primarily Firefox and Thunderbird.)

  • Download TinkerTool
  • In the Fonts section, change the Application font to Lucida Grande 12pt
  • Restart your applications (or your system)

This doesn’t seem to fix the Finder, but suddenly my Firefox tabs are a lot more readable.

Edit: I’ve since found https://github.com/jenskutilek/FiraSystemFontReplacement which lets you install a new font in such a way that it replaces Helvetica Neue as the system font. How does it work?

These Fira fonts have a special name table with names identical to those of the system fonts. Because the font folder /Library/Fonts takes precedence over the fonts which are in /System/Library/Fonts, these specially crafted fonts are used for the user interface instead of the real system fonts. The original system fonts are not deleted or modified in any way.

The font is rather pleasant too. Perhaps there’s a way to copy Lucida Grande and modify it to replace the system font in the same way?

I used to back up my DVDs with RipIt, but found that it couldn’t handle some DVDs that MDRP could, so I switched. Whereas RipIt extracts the DVD contents to a .dvdmedia folder (playable by Apple’s DVD player application), MDRP has an option to rip the DVD to a single .iso file, which is playable in VLC and XBMC.

I then wanted to convert my .dvdmedia folders into .iso files. In theory a .iso is just a file container, so my first attempt was to use Disk Utility to make a CD .img of the folder and then rename it to .iso. This kind of worked, in that VLC did begin to play something when pointed at the .iso, but there were weird issues – no DVD menu, no audio, or the wrong language.

It turns out that the structure of the .iso is important, and just dumping the DVD files into it isn’t good enough. I found a forum post out there (which unfortunately I can’t find again) which pointed me at a command line tool called mkisofs, which I was familiar with from work when mastering multimedia CDs for replication.

Unfortunately mkisofs isn’t available by default, but you can get it from the Homebrew package manager.

Once installed, the command you need is

mkisofs -dvd-video -o output.iso input.dvdmedia

It didn’t work for all my .dvdmedia rips, but did for most.

How to set up ZFS zpools using disk partitions and make them visible to FreeNAS

Update 22/01/2015: see also this stackoverflow post for an alternative scheme.

I’d outgrown my off-the-shelf NAS, ending up with files overflowing onto various travel disks and flash drives. My existing NAS wasn’t really something I could upgrade, so I resolved not to buy another proprietary device but rather to roll my own out of ordinary components, which might give me a bit more opportunity for expansion down the line.

Looking around for NAS software I settled on FreeNAS, which apart from seeming to be generally well-regarded, also gave me an excuse to dip my toe into FreeBSD land and to use ZFS, about which I’d heard good things.

Using your old disks

Like most of us whose storage needs have grown over the years I’ve accumulated a small stack of disks of various sizes. The general advice for RAID is to buy a bunch of disks of the same size, but I hate binning hardware if it’s still completely fine.

In total I had the following drives:

  • 2 TB x 2
  • 1 TB x 1

Since 3 and 4 TB disks are available and seem to be roughly the same $/GB as any other disk size, my plan was to buy one of each and arrange them and my old disks in a ZFS RAIDZ array as follows:

<--------------- RAID Z --------------->
+----------+  +----------+  +----------+
|   1 TB   |  |          |  |          |
+----------+  |   2 TB   |  |          |
|          |  |          |  |          |
|          |  +----------+  |   4 TB   |
|   3 TB   |  |          |  |          |
|          |  |   2 TB   |  |          |
|          |  |          |  |          |
+----------+  +----------+  +----------+

Unfortunately, while ZFS does do all manner of clever things, there’s one thing it doesn’t do: disk spanning or striping within a RAID set. In other words, you can’t stack your smaller drives and then treat them as a 4TB device within a RAID set as envisioned above.

ZFS does support striping across multiple disks (of different sizes if you like), but this gives you no redundancy. If you want to mirror or use RAIDZ, the disks need to be the same size.

BTW, another thing that ZFS apparently can’t do is expand an existing RAID array by adding a new disk. (You can replace a disk with a larger one, but not add an additional disk. Don’t ask me why; I’d have thought it’s just a case of adding the disk and then redistributing the data, even if that takes a month of Sundays. But they’re clever people, so it must be harder than it seems.) The upshot is, there’s no point aiming at 4 TB chunks with the idea that later on you can just buy another 4 TB disk and slot it into the array.

While you can’t mix disk sizes very easily, ZFS can work with partitions as well as whole disks. So I resolved to add 2 x 3TB drives and partition them to achieve two zpools in the following arrangement:

<---------------------- RAID Z --------------------->
+----------+  +----------+  +----------+ +----------+
|          |  |          |  |          | |          |
|   2 TB   |  |   2 TB   |  |   3 TB   | |   3 TB   |
|          |  |          |  |          | |          |
+----------+  +----------+  |..........| |..........| +----------+
                            |          | |          | |   1 TB   |
                            +----------+ +----------+ +----------+
                            <-------------- RAID Z -------------->

Unfortunately, FreeNAS doesn’t provide any disk partitioning capability in its GUI, and doesn’t see partitions when setting up ZFS volumes (it only lets you select whole disks). So, you’ll need to head to the command line.

Working out how big your disks are

When creating a ZFS RAIDZ virtual device (vdev), you’ll want to make sure all the underlying physical devices (whole disks or partitions) are exactly the same size. In my case, this meant that I needed to know how big my 1 TB and 2 TB drives were so I could partition my 3 TB drives correctly.

Firstly, to identify the BSD device names of your drives use the camcontrol command:

[root@freenas] ~# camcontrol devlist
<OCZ-AGILITY3 2.22>                at scbus0 target 0 lun 0 (ada0,pass0)
<WDC WD30EFRX-68EUZN0 80.00A80>    at scbus1 target 0 lun 0 (ada1,pass1)
<SAMSUNG HD204UI 1AQ10001>         at scbus2 target 0 lun 0 (ada2,pass2)
<SAMSUNG HD204UI 1AQ10001>         at scbus3 target 0 lun 0 (ada3,pass3)
<WDC WD30EFRX-68EUZN0 80.00A80>    at scbus4 target 0 lun 0 (ada4,pass4)
<ST31000520AS CC32>                at scbus5 target 0 lun 0 (ada5,pass5)
<Kingston DataTraveler SE9 PMAP>   at scbus7 target 0 lun 0 (pass6,da0)

The manufacturer names should be enough for you to identify what’s what.

To find out exactly how big a disk is, use the diskinfo command:

[root@freenas] ~# diskinfo -v ada2
ada2
    512             # sectorsize
    2000398934016   # mediasize in bytes (1.8T)
    3907029168      # mediasize in sectors
    4096            # stripesize
    0               # stripeoffset
    3876021         # Cylinders according to firmware.
    16              # Heads according to firmware.
    63              # Sectors according to firmware.
    S2H7J1CZB02790  # Disk ident.

The crucial number is the media size, bolded above. This tells you how big the drive really is.

Partitioning your drives

The gpart command is what you need to partition your disks. Although what I’m describing here is partitioning an empty drive, you can use it to re-partition non-destructively — but be very careful or make sure your data is backed up.

First, you need to set up the partition table on your drive (ada1 in this case):

[root@freenas] ~# gpart create -s gpt ada1

Then, you want to create a partition of a specific size (in this case, the size of my 2 TB drives):

[root@freenas] ~# gpart add —t freebsd-zfs -s 2000398934016b ada1

(Note the ‘b’ after the number, to indicate the unit is bytes.)

You can add further partitions by repeating the command (in this case, the size of my 1 TB drive):

[root@freenas] ~# gpart add —t freebsd-zfs -s 1000204886016b ada1

That’s it, your partitions are created. To inspect them, use gpart show:

[root@freenas] ~# gpart show ada1
=>        34  5860533101  ada1  GPT  (2.7T)
          34           6        - free -  (3.0k)
          40  1950351360     1  freebsd-zfs  (930G)
  1950351400  3907029088     2  freebsd-zfs  (1.8T)
  5857380488     3152647        - free -  (1.5G)

If you make a mistake and need to start again, you can remove the partitions and the partition table:

[root@freenas] ~# gpart delete -i 1 ada1
[root@freenas] ~# gpart delete -i 2 ada1
[root@freenas] ~# gpart destroy ada1

Creating a FreeNAS ZFS volume

Once you’ve got your partitions set up, you can create a ZFS pool (volume). There’s one fly in the ointment: by default, FreeBSD mounts ZFS pools at the root of the filesystem, but FreeNAS mounts them under /mnt. So, you need to tell ZFS where the mount point is using the -m flag to zpool:

[root@freenas] ~# zpool create -m /mnt/data data raidz ada2 ada3 ada1p1 ada4p1

This is actually doing two things in one command: creating a RAIDZ virtual device (made up of ada2, ada3, ada1p1 and ada4p1), and then creating a zpool containing just that vdev. If you know a bit about ZFS you’ll know that a zpool can actually contain multiple vdevs, so you might be tempted to create several vdevs using partitions and then put them all in a single pool. But be aware that ZFS stripes data across vdevs, and expects them to be independently resilient; if you put two separate vdevs using different partitions of the same disk into a zpool and the disk fails, you’ll lose all your data.

FreeNAS won’t be able to see this new pool by default; it maintains its own state information, rather than probing the OS. To make the new pool visible in FreeNAS, you first need to “export” it (exporting/importing is how you move ZFS volumes between systems):

[root@freenas] ~# zpool export data

Finally, use the GUI to auto-import the volume:

  • Go to Storage > Volumes > View Volumes
  • Click the Auto Import Volume button
  • Your volume’s not encrypted, so select No when asked
  • Your volume should appear in the drop-down; click ok

And that’s it – your volume appears in the list of volumes, and you’re set to go.

For a variety of reasons, towards the end of last year I fell out of love with Star Wars: The Old Republic. Once things had quietened down again, I started casting around for another MMO to try out. In a Slashdot post on MMOs, someone mentioned The Secret World, which caught my eye because I’d never heard of it, and from the description it sounded like a breath of fresh air.

Since I’ve been noobing it up for a few weeks now, and have had a chance to try a few things, I thought I’d keep track of all the answers to the questions I had coming to it as a veteran of Warcraft and SW:TOR. Spoiler-free I hope!

If I find out any other beginner nuggets, I’ll update this, but in the meantime if you decide to give it a go, happy questing! Look me up if you like, I’m Pozolero on Huldra.

Should you play it?

No one in their right mind follows this blog, so if you’re reading this chances are you already know a bit about The Secret World and got here by googling. So I won’t describe the premise of the game, that’s what Wikipedia is for after all. Or, read the reviews on the Steam page.

What I will say is that I’d describe the combat system as seriously flawed, probably even broken in the long run (though there are those who disagree, which gives me hope). What really keeps me playing is the truly excellent missions, and the refreshingly dark vibe of the game — there’s plenty of swearing, sexual references, and some creepy horror.

It’s free to play and seems to be genuinely unrestricted for f2p players (paying for a monthly subscription buys you credits for the item shop and XP bonuses), so I certainly think it’s worth the 10 quid or so you pay for the game.

Factions

It doesn’t seem to matter which faction you choose, the starting areas and missions are the same. You can even group and communicate with members of other factions. Here’s what I’ve found that’s different:

  • Your faction city. However, they’re small, no one hangs out there, and it turns out you’re free to visit the other cities anyway. London particularly seems to have a bunch of stuff the others don’t: shops, the bank/auction house, etc.
  • Your “chapter” missions. At various points you end up back at your faction city doing transitional missions; they’re different for each faction.
  • Your handler’s personality. When you hand in a mission, you get a little response from your faction handler. The Dragon ones are pretty dull to be honest, but the Illuminati ones are full of attitude and humour.
  • Your faction “decks” (skill sets you can work toward) are rewarded with distinctive uniforms.
  • Cabals (guilds) are faction-specific.

They give you three character slots, so you can try all the factions.

Classes (ability points and decks)

The game does have the traditional roles (tank/healer/dps/hybrid) but there are no classes as such. You get to pick two weapons to wield, and each weapon type has its own characteristics. As you go along doing missions, you get ability points (AP) to spend on weapon skills from the ability wheel.

Now in theory you keep getting AP to spend, so eventually you’ll have all skills for all weapons. But there are no AP refunds in the game, and what weapons you pick at the beginning will colour your experience of combat early on, so I’d advise you choose fairly carefully. Here’s what I’ve concluded so far:

  • You may have thought to yourself, “MMOs always need tanks & healers, so I’ll head off down that route”. But there’s pretty much zero grouping during levelling (more on that later), so going for all out damage and solo survivability initially is probably the way to go. You can always specialise later.
  • While all weapons have a pure damage spoke on the wheel, you might want to pick a healing weapon too to improve your survivability, given some of the characteristics of combat (again, more on that later). Swords+Blood for example.
  • You can go for one of the “starter decks” (ability combinations suggested by the game) if you like, but I wouldn’t bother with the non-starter decks; I think they’re intended more for pvp/endgame. If you do go for a deck, when you complete it you need to “claim” your uniform via a button in the ability wheel UI.
  • Don’t spend your ability points just because you have them. If you’re happy with your abilities, save them up until you get bored or frustrated, and then you’ll have a good bank to branch out in some other direction.
  • The inner wheel abilities are cheap, so it doesn’t cost much to experiment.
  • Active abilities require that you wield the appropriate weapon, but passive abilities don’t. So if you see an ability low in some other weapon spoke that has synergy with your weapons, you can buy it and equip it.

Some weapons tend go well together because they apply or trigger off the same buffs/debuffs. Here’s a useful table of the weapon types and their synergies.

You can have 7 active abilities and 7 passive abilities, which together make up a “deck”.

  • Your action bar is effectively locked in the main UI; you can only change your abilities in the ability wheel UI.
  • You can save your deck via the gear management bit of your character view (press C).
  • You can switch decks out of combat. (For example, I have an aoe deck and a single target deck.) It’s a bit of a faff, in that it’s quite a few clicks to switch decks. There are add ons for the UI which purport to make this better but I’ve not tried any.

Gearing (quality level and skill points)

Items have a quality level (QL). You can only equip them if your “skill” in the item’s type is at or above the item’s stated QL. You increase your skill by spending Skill Points (SP), which you earn as you go but at a much slower rate than AP.

As with AP I’d advise you don’t spend your SP just because you have them; save them and spend them only when you get an item you want to equip but can’t because of its QL.

Your weapon skill level also seems to affect your ability to hit mobs — at one point I switched to Assault Rifles, spent 1 SP so I could equip a rifle, but then found that all my rifle abilities glanced off the mobs. So you probably want to keep your weapon skills up; I don’t know whether it’s worth focusing on maximising them — I did see some alts running around the starter area with QL10 weapons cutting through mobs with a few hits, so it might make the combat less painful.

I don’t really know much about item stats yet so I won’t go into that. It’s pretty obvious which are the tank/healer/dps stats, but beyond that, I guess you might want to prefer +crit (say) if you have abilities that trigger on critical hits.

Inventory

You have a set number of bag slots, which you can increase for money. Unlike Warcraft/SWTOR though, you can create sub-bags if you want to, so you can keep your crafting mats (say) separate from your random loot bag. It can get a bit confusing, because you can resize your bags to show more slots than you actually have, but you get used to it.

Combat

Combat is combo-point based, a bit like rogues in WoW. You use a “resource” builder ability to build up weapon resources, and then other abilities consume the resources.

Unfortunately, it’s pretty tedious. Mobs tend to have a lot of health and you do sod-all damage, so it generally takes forever. Plus, you’ve only got seven abilities, so all the cc, escape abilities and other situational stuff you’re used to from WoW/SWTOR is off the table. All of this means it’s pretty repetitive.

You can run away from mobs, but they follow you for a long way and tend to aggro other mobs. Also, there are lots of them, so typically you either win or die, initially at least. I’d avoid trying to take on more than one mob unless you outrank them completely, or they’re an aoe mob. (There’s a little dot next to the mob’s name whose colour indicates how hard they are; mobs with three little dots are low-health, aoe-able groups.) Also, you’ll probably want to be at full health before you engage anything.

Unlike WoW/SWTOR, you can cast while moving. In fact, moving is very much a part of combat and one of the things that makes it a little less tedious; melee mobs hit you less if you’re running around them, plus you’ll be wanting to avoid aoes (indicated on the ground before they’re cast). You can execute a quick roll/flip by double-tapping a movement key WASD, which is quite satisfying. I’m told this is similar to Guild Wars’ combat.

Crafting

You can disassemble loot and craft stuff from the outset. There’s a mission at the police station in Kingsmouth which introduces you to it. Unlike WoW/SWTOR, you don’t have to buy or learn patterns, you just need to know the shape of the item for the assembly window. There are plenty of guides out there, like this one.

Note that the crafting UI is also how you attach a glyph (item enhancement) to a weapon. Drag them both into the upper bit of the UI and click assemble.

Also, you’ll use the crafting UI for certain missions that require you to construct an item from parts you’ve assembled.

To be honest, I haven’t done all that much crafting: I vendored most of the loot to pay for movement speed boosts. However, low-level materials can be assembled into higher level materials, so if you think you’ll enjoy crafting later on you can disassemble everything from the outset and nothing will go to waste. You’ll still need money to pay for bag space!

Vendors

There are vendors, you can buy and sell stuff.

There’s a Sell tab which lists your saleable items. However you can also open your inventory window while you’re interacting with a vendor and click what you want to sell, like in Warcraft/SWTOR.

Buyback is a bit confusing — unlike other MMOs, it’s just a button, and it seems to buy back the last thing you sold, so keep clicking it till you get back what you want.

You can repair your gear at any vendor.

Travel and movement

Press X to sprint. They tell you this at some point, but not right away. You can however sprint from the outset.

I haven’t seen mounts anywhere, but you can buy movement speed improvements. Look for a mobility vendor in your faction city; the item is called something like Quickened Anima. (It doesn’t appear in your bag as a consumable, it’s just applied right away; I guess that means you can’t sell it back if you bought it by mistake.)

If you’re lazy, to travel a long distance across the map you can kill yourself (/reset) and then pick a different Anima Well to resurrect at via the drop-down in the “you’re dead” popup. This does damage your equipment though, so it’s not free. (Although now I think about it, you could probably have a “naked” setting in the gear manager…)

Missions

You don’t have a quest log. Instead, you can have 6 active missions, indicated on the right side of the screen. These are limited by type:

  • 1 story mission (this is the main story line) –
  • 1 dungeon mission
  • 1 main mission
  • up to 3 side missions

Main missions come in various flavours:

  • “brown” missions, which are like traditional WoW missions; go there, talk to him, collect that, etc. Side missions are like this too.
  • “yellow” missions, which are covert missions and involve you using the environment to avoid obstacles, solving simple puzzles etc.
  • “green” missions, which are investigation missions that will need you to engage your brain.

The investigation missions are really fantastic; it’s up to you to figure them out, rather than just following on-screen instructions. You’ll need to look for clues both in the game and outside to solve puzzles and figure out what to do next. For example, one mission involves you googling for a book to find out its ISBN. They’re frequently frustrating and arbitrarily cryptic, and you’ll probably end up online for the answers, but once you get the hang of it it’s a lot of fun to try and figure it out for yourself first.

If you click on an active mission, you can see details about it, which often includes the pictures and maps you were shown when you picked up the mission.

If you’re enjoying it and think you’re going to want to play alts, you might want to not do all the missions in an area. There are more than you strictly need to progress. Also, there are missions tucked away around the map, so exploring is rewarded.

Grouping & dungeons

There’s very little social stuff going on in the starting areas. I don’t know if it’s just the server I chose, but there’s literally nothing in general chat. I’ve sometimes said something and someone else has answered, so I know it works, but I’ve never seen anyone else post.

The chat channels seem to be area-specific, so for example Looking For Group when you’re in Kingsmouth is only seen by other people in Kingsmouth, which probably doesn’t help. It’s as dead as General.

There aren’t any group missions apart from the dungeon missions. No one seems to be interested in doing the dungeons though, which is a real shame. I did manage to get one response late at night once, and he pulled in a high-level mate, so I did get to see one of the dungeons at breakneck boosting speed. It seemed like it would be fun with an ordinary group, but good luck with that.

All the chat action seems to be in Agartha, so maybe you’re supposed to go there to find people. Certainly if you have questions, people there will answer.

There’s a group finder, but it seems to ignore roles, so you’ll frequently end up in an all-dps group, which makes it a bit useless.

In general though it feels like a Massively Single-player Online RPG. Which isn’t a problem really because the single player experience is great, but not having group missions seems a missed opportunity.

Bank, Auction House, Mailbox

There’s a bank in London where you can hoard your junk. The bank teller provides access to your vault and to the auction house, where you can buy/sell stuff in the usual way. The same teller is also the mail interface. You can send your alts your cruft, or money. Cross-faction mail works.

Miscellaneous

You can change your features, but it’ll mean a trip to a back alley cosmetic “surgeon” in New York.

%d bloggers like this: