December 21, 2010

Green Stuff I

"Green stuff" is awesome and I don't always have the patience for it. In an effort to wind down after a long day, I spent some time modifying the musician for my Empire State Troops, adding straps for his unwieldy drum. I used 5 small pieces; 1 long strap, 2 shorter straps that appear to cross underneath the main strap, and 2 small balls pressed flat where the strap joins the drum, to give the appearance of pins.

I flattened the straps and squared the edges with a pair of coffee stirrers, and trimmed excess with a scalpel. The process took about 20 minutes.

I also spent some downtime drooling at the new releases for Hordes and Warmachine. Anyone interested in picking up a starter box and learning the game with me? I remember owning the original Cygnar starter set in '04 or '05, but I ended up selling it, fully painted, for about 75$; never did get to play.

Cross posted at 25mmk.

December 20, 2010

Missing Passwords in PostgreSQL

We run a PostgreSQL installation on Red Hat and periodically need to dump our test database and do a full restore from production; a dreadful experience, particularly when no one on the team is responsible for the current implementation. Most of our heavy lifting is done by MongoDB where full database backups consist of two commands, so the prospect of a PostgreSQL backup with a missing pgsql password was not pleasant.

The backup part is easy. I log into the database server and issue the following commands:

pg_dump -U <owner> <database> > data.sql \
&& scp data.sql <user>@<test database server>:/home/<user>/data.sql

A copy of our production database now exists on the test database server. Great. I disconnect from production and connect to our test database server, where things get fun. I enter the command to restore the database:

psql -U <owner> <database> < data.sql

It runs, but a ton of errors and warnings are displayed: "duplicate key value violates unique constraint"; "relation already exists". The database must be dropped first because this is a full backup. Unfortunately, I must connect to PostgreSQL as the super user, pgsql, in order to drop the database, but the password has been lost. From root, I set pgsql's user password with:

root> passwd pgsql

Great. Now I log in with the pgsql user and tell PostgreSQL to use trusted authentication instead of password authentication (i.e. PostgreSQL will log me into postgres with the current shell user assuming prior authentication) by saving the current pg_hba.conf file and restoring the original pg_hba.conf file. Basically, I want that file to temporarily look like this:

local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust

After restarting the database, the following command gets me into the postgres shell:

pgsql> psql postgres

The first thing I do is set a pgsql password so I don't have to dance with .conf files in the future, then I drop and create an empty database to restore:

postgres=# alter user pgsql with password '<password>';
postgres=# drop database <database>;
postgres=# create database <database> owner <owner>;

I exit the shell, then restore the correct pg_hba.conf and restart the database. Once back, I execute:

psql -U <owner> <database> < data.sql

Success! Fun times? Fun times.

December 19, 2010

Torchlight

I picked up Torchlight for 5$ off of Steam. After messing around with various characters I settled on the Destroyer and finally beat the game this evening. With some time spent on side quests it took 15 hours from start to finish on Hard at level 34; Ordrak is a ridiculously long (and laggy, on my aging laptop) fight.

There is a ton (65+ levels) of post-story game, which only encompasses the first 35 levels of play. I’m not sure I'll continue just to get to the 100th level (my Completionist days are hopefully past), but I will eventually try and beat Ordrak on Very Hard/Hardcore mode; if you die, your character is essentially deleted and you must start over. Alas, two poor Alchemists have already met their untimely end at my hands.

Still, even if I don't continue playing, Torchlight is my best 5$ gaming investment to date. If you see it on sale, I recommend it.

Session 1: The Curse

Cormick (Summoner 1): Menoan transplant, scribe, and shopkeeper.
Erasmus Ghent (Abjurer 1): Local apothecary.
Kheshef (Barbarian 1): An escaped slave turned mason.
Luka (Rogue 1): Vagrant follower of Kheshef.
Norben Fletcher (Cleric 1): Itinerant preacher.

The group wakes on a crisp spring morning to an eerily silent Rustidge. The residents of the large mining town, save the five individuals that gather outside the inn, are trapped in an enchanted slumber. Unsure of a course of action, the small group skirts the town green, eerily abuzz with swarming crows, and arrives outside the chapel hoping for guidance.

The chapel’s door stands open and the motionless forms of sleeping townsfolk can be seen on the floor and in pews. Upon entry, a stooped, half-rat, half-human demon and its hellish rat servants, identified as a lesser pestilence demon and its spawn, attack the group. After the death of the first spawn at the hands of Cormick's summoned ally, red energy coalesces from the withering corpse and floats to the nearest sleeping commoner. He gasps and begins to stir as the energy is absorbed into his body. As each demons falls more energy disperses and zips unnaturally towards the remaining commoners in the chapel, freeing them from the enchanted slumber.

After the encounter, as the group talks with the awakened townsfolk, Norben explores the infirmary and is set upon by another pair of the rat demons. The group rushes to his aid and, with the help of one hysterical townswoman, puts the pair and one of their spawn to rest. The energy from these demons does not revive any of those afflicted by the curse in the infirmary, but instead leaves the church through the open front door.

Still looking for a source of the curse, the group searches the cellar of the chapel and, after a few minutes of rummaging through crates and barrels, discover a recently sealed entrance by its fresh masonry. With the help of Kheshef, a brutish southerner and former slave, the wall is dismantled and a secret chamber is revealed. A summoning circle the color of dried blood stains the center of the floor and occult trappings are scattered on tables around the edges of the room; great evil was done here.

After collecting a pair of books found in the secret room, the group leaves and investigates the gathering crows in the town commons. The birds call out menacingly as the group enters the sparsely wooded green. The branches are black with crows, though Luka spots an anomaly among them: a crow demon; half-human and half-bird with razor sharp talons and a cruel beak. The demon, also a lesser servant of pestilence, incites the surrounding crows into a swarm that pecks furiously at Cormick and Norben while the others pursue the demon. With the help of Erasmus’s fire magic the swarm is dispersed and the demon is quickly vanquished by Kheshef, its energy awakening to two members of the town guard in a heap near the green’s well.

Tired, injured, and wary of another ambush, the group raids the market. Luka is able to force his way into several shops where armor, weapons and supplies are gathered. Now fully prepared, the group heads for the keep, hoping the influence of the curse does not extend beyond the edges of town. Unfortunately, the keep is motionless, two guards asleep at their posts, and Luka must scale the gatehouse with Kheshef's aid in order to open the gate. Once inside, the group scours the stables, finding nothing out of the ordinary, before discovering that the chapel is magically protected against entry. Only "those who serve the Corrupter" may bypass the wards on the front door; entrances to the chapel from the barracks and the keep are similarly barred. Frustrated, the search for clues continues.

The large keep is empty save for scattered, sleeping servants. Evidence of a small fire and burned breakfast in the kitchen point to the enchantment's onset some time in the early morning. A quick inspection of each floor finds the group in the private chambers of Lord and Lady Roels, both abed with strange charcoal marks on their foreheads. The wizard Erasmus erases the marks after it is determined they augment a tracking spell. While awaiting repercussions, Kheshef finds a spyglass and surveys the countryside to the north and south on either side of Rustidge Keep. To the south, he notices a small Menoan military camp; apparently unaffected by the curse. To the north, he sees small fires and signs that the nearby village of Edelford is both under the same spell and on fire. Having nothing left to accomplish in the keep, the group decides to head back to town.

In the castle's courtyard, two guards awakened in the village green are caught stealing horses in an attempt to flee Rustidge. Erasmus casts a spell to charm one, while the other is knocked unconscious and locked up in the dungeons. Erasmus commands his captivated friend to light all of the torches along the wall and in the keep, hopefully creating the illusion that Rustidge's residents were unaffected by the curse.

The group returns to town and, searching likely locations for agents of the Corrupter, discovers more pestilence demons feasting in a brothel. After the building is cleared, the wizard Evrard is found in one of the beds. Erasmus and Cormick discover that by focusing magical detection spells a mystical cord can be see connecting the sleeping wizard to a nearby demon. A short pursuit and bloody combat later, Evrard is awake. The ornery old man is eventually convinced that the town is in some danger and, after he is dressed, he leads the five to his house.

December 17, 2010

Painting Again

With the second session of the new Pathfinder game past, I decided it was time to paint some of the miniatures picked out by players to represent their characters. These two minis have been in my collection, primed black and wanting, for about eight years now. The first was this elfish ranger:

I’m not happy with his right hand, which has been remodeled several times and eventually pinned after breaking at the hilt. The cloak also has some strange coloration due to a repainting; I glued my finger to it while adding the sand base and subsequently ripped off parts of the base coat.

The necromancer has been half finished since the day I got it. I actually painted over some red in favor of blue-complementing brown. The runes on the scroll are clumsily painted on (this smaller resolution version of the image handily conceals my frequent erasing with white paint).

As an aside, I learned how to take pictures of miniatures with my 50mm lens. The f-stop was at 1.8 for the pictures in the previous post, which in poor light at macro distances produces an extremely narrow focus. With the f-stop increased to 5.0, near the lens’s maximum of 5.6, there is a deeper field of focus. I am pleased with the results, though the miniatures are a little shiny as the matte varnish was still wet when the pictures were taken.

Cross posted on 25mmk.

December 10, 2010

BLAM!

My life is pretty good right now, but this is my new favorite image on the Internet:

December 3, 2010

New Campaign(s)

I am super excited for a character building session tonight with the folks in my weekly D&D game. We recently retired our 4th edition campaign, which spanned from 1st to 11th level and 16 months. The last game wrapped up with our halfling Rogue retrieving the missing half of his soul from a powerful lich, a phased combat that absorbed most of the session.

The next campaign's plot will be more humble. I have a tendency to turn every story into an epic yarn with the characters at a vortex of world-shattering events. I’m devolving to a town-dungeon-castle triumvirate that houses the entire world much like one of my favorite video games, Shining in the Darkness; more recently, Torchlight (of course, no castle here). I wonder if Torchlight's creators played Shining in the Darkness?

Speaking of devolving, at least numerically, we're giving Pathfinder a try. After a handful of paragon-level combats in 4th edition I was ready to tear my hair out; tracking status effects, every player frozen in encounter or daily indecision, total inability to challenge a party with 2 leaders because some combination of healing and neutered stock monsters is broken.

I've been spending some time on terrain and modeling for the new campaigns (the above, plus the game I now run monthly for the formerly-of-Ossining crowd). My desk is currently a clutter of miniatures, paints, coffee stirrers, and more. Expect more terrain- and craft-related posts in the near future.

Lastly, I purchased my ticket for PAX East 2011!