mnemonic technology

Frustrations & Solutions for playing RPGs online

August 5th, 2008 by mnology
Respond

With the release of the new Dungeons & Dragons 4th edition core rulebooks, my inner dorky teenager has reared his pimply head. Admittedly he wasn't that repressed to being with. However I wish to justify it, I've purchased them, perused them and I am excited to play again. Fifteen years of passable socially acceptable behavior and professional accomplishments dashed in a single purchase.

Perhaps, as intended, my attempts at shunning my questionable past has bitten me in the backside. I have no one to play with. Pings for interest on teh MyBook and Facespace have gone unacknowledged. My current social circle, either in the throes of WoW addition or recently recovered, even give me side glances when I mention "You should make a character and use your imagination!". So off to the trusty internet I go.

Unfortunatley, the web is not kind to those attempting to play RPGs on line. There is no Flickr for RPG geeks, no LinkedIn for seekers of the hand of Vecna. But there is some help.

RPTools is a collection of platform independent RPG tools(natch), for things like rolling dice, character sheets, tracking battle initiative and perhaps the crowning jewel in this treasure horde MapTool.

MapTool is where your Dungeon Master/Game Master creates the battle field for your adventures. A direct analogy to the graph paper, white board and miniatures. Ideally players would connect to a server started by the GM in MapTool. The server is integrated in to the main program. Player and GM will place and move their character tokens on the map, all the while chatting in the integrated chat client(which can also roll dice). The spectacular RPTools tutorials are a great introduction to this method of playing and are what got me excited in the idea in the first place. Additionally most online games using chat or a virtual table top program(like MapTools) also use the various VoIP technologies(Skype, Ventrilo, TeamSpeak) so you're not just restricted to typing in chat your actions and roleplaying encounters.

Now I've found a way to play online, awesome! How do I find people to play with? Luckily there's a wealth of on line forums out there for just this purpose. Though, their abundance is both a boon and a detriment. Yahoo Pipes to the rescue!

I have created a Yahoo Pipe which sucks in some feeds that I scraped(using feed43) from various looking for group forums: D&D 4e LFG. I've tacked on a simple filter to the pipe to look for '4' in the title; in the hopes of only seeing posts in which people are looking to play D&D 4th edition. If D&D 4e isn't your forte, feel free to clone it and modify the filter.

Tags:   · · · · · · · · 2 Comments

Unix System Monitoring with Symon, Symux and Syweb

June 30th, 2008 by mnology
Respond

Syweb is an all in one package for displaying RRDtool data collected via Symon and Symux. These tools collect helpful data such has CPU usage, disk I/O usage and process resource usage. The screenshot shows the various devices and processes that I've decided I would like to monitor. As you can see it provides an at a glance view of resource usage on your server.

Let's start off by building and installing all three(Symon, Symux & Syweb). You can do this using your systems package manager or building from source. I'll be installing from OpenBSD's ports system.

Symux is the collection agent for the data generated by Symon and needs to be configured and running before we start Symon. However, Symon includes a script for scanning your system for devices to generate data on and creates a Symon configuration file. It's a bit of chicken-and-egg issue.

Now we'll execute the script for the Symon config so we have a basis of what our Symux config is going to look like. Locate c_config.sh script installed by the Symon package. In my installation it is located at /usr/local/share/symon/c_config.sh. Redirect the output from this script to /etc/symon.conf to start with. Modify this file to fine-tune what to generate data on depending on your system and monitoring requirements.

Example /etc/symon.conf:

monitor {
   cpu(0), cpu(1), mem,
   io(wd0),
   if(lo0), if(dc0), if(dc1),
   mbuf,
   pf,
   proc(httpd2), proc(mysqld), proc(squid),
   sensor(acpitz0.temp0), sensor(admtemp0.temp0),
   sensor(it0.fan0), sensor(it0.fan1)
}
 
stream to 127.0.0.1 2100

Now that we know what devices we're going to be generating data for, we can configure the Symux collection service. The main difference to note here is where the collected data is going to end up and what IP address and port the service is going to be listening on.

Example: /etc/symux.conf

mux 127.0.0.1 2100
source 127.0.0.1 {
  accept {
    cpu(0), cpu(1), mem,
    io(wd0),
    if(lo0), if(dc0), if(dc1),
    mbuf,
    pf,
    proc(httpd2), proc(mysqld), proc(squid),
    sensor(acpitz0.temp0), sensor(admtemp0.temp0),
    sensor(it0.fan0), sensor(it0.fan1)
  }
 
  datadir "/var/data/symon/rrds/localhost"
}

Great! Now the data collection and reporting services are configured. Now that we have Symux configured we can use the provided /usr/local/share/symon/c_smrrds.sh (OpenBSD) script to generate the RRD files for the devices & processes we configured in Symux. Without generating the RRDs no data will be collected and starting the services will fail.

We are now ready to start the Symux & Symon services. You must start Symux first so Symon has a place to send data to. This should be as simple as:

# /usr/local/libexec/symux
# /usr/local/libexec/symon

Don't forget to add these to your platforms start-up scripts. On OpenBSD we use /etc/rc.local

if [ -x /usr/local/libexec/symux ]; then
  echo -n ' symux';
  /usr/local/libexec/symux
fi
 
if [ -x /usr/local/libexec/symon ]; then
  echo -n ' symon';
  /usr/local/libexec/symon
fi

Perfect! Okay, now that we're collecting all this data let's look at it with Syweb. Syweb installation can be as easy as unpacking the tarball from the download directory and moving the syweb/htdocs/syweb directory to your web servers DocumentRoot. You will also need to move the .layout files located under the extracted directory syweb/symon to the layout_dir directory you specify in the Syweb setup file below.

After extracting and moving Syweb to your web servers document root(/var/apache2/htdocs/syweb) we'll want to modify Syweb's configuration to tell it where our RRDs(created by Symon & Symux) are located and where the rrdtool binary is located. This is done by modifying the setup.inc file included in the Syweb directory.

Example /var/apache2/htdocs/syweb/setup.inc:

/* running OpenBSD, apache not chrooted: */
$symon['rrdtool_path']='/usr/local/bin/rrdtool';
$symon['cache_dir']='/var/data/symon/cache';
$symon['host_tree']='/var/data/symon/rrds';
$symon['layout_dir']='/var/data/symon';

Congratulations! You should now be seeing graphs for collected Symon data by browsing to http://localhost/syweb. If you wish to modify the reports look at the .layout files in the layout_dir.

For my configuration I have a virtual host(http://syweb.domain.com) configured for this service. Whether or not you can do this depends on what type of access you have to your webservers configuration.

Tags:   · · · · · · 7 Comments

Windows XP re-registration over the phone

June 1st, 2008 by mnology
Respond

After the news of Microsoft extending the end-of-life for Windows XP out until 2014 I had decided(after haranguing by my wife) to get the installation on her PC up to par. After making the purchase from Microsoft($150) and re-validating with my newly minted registration life was peachy. No more annoying WGA popups is a good thing in my wifes eyes.

Well, life was peachy until her XP install took a nose dive requiring a full reinstall.

After the reinstall I attempted to use the online tool for re-registering my legal copy of XP. No luck. None of the online methods worked. I had not installed new hardware in to the machine and it was installed on to the exact hardware that it was installed on initially. This was going to require a phonecall..to Microsoft.

After working at places that had $10k support contracts with Microsoft and the crappy service I had recieved when actually needing support, I was dreading calling Microsoft for my personal needs.

Actually, it wasn't too bad. I called up the 888 number that the validation tool instructed me to call(when no online options work) I had to do the following:

  1. Say the 35 character validation code. I couldn't just say the whole thing at once, nor could I enter it on the phone keypad. I was prompted for each 5 digit sequence 7 times.
  2. Say hello to the nice call center person in India
  3. Give her the first 5 digits of my validation code
  4. Told her the registration code wasn't in use on any other hardware
  5. This may be key, she also asked if it was the first time I was installing the code on this hardware, which it wasn't.
  6. Enter in another long string of digits which the call center tech told me wrong 3 times

Then after an uncomfortable silence,  I clicked next and my validation was complete. At this point the tech line went dead 'Hello..Is that all' 'Yes, that is all, thank you for calling Micr'

</click>

Tags:   · · · No Comments.

launched, with some difficulty

May 29th, 2008 by mnology
Respond

I've been tinkering with getting WP re-installed for the past few weeks in order to get the blog you see before you today.

Basically I had to switch over from OpenBSD's  heavily modified Apache HTTPD server to the Apache2 server located in OpenBSD's ports.

This goes against OpenBSD's best practices by not using the heavily audited code base of Apache and running outside of a chroot jail. Unfortunatley I was having issues with Wordpress's Plugins page never loading for me(timing out, etc.) with no activity in the php logs as to why. The Plugins were so important for me because I had been hearing about the WP OpenID and FriendFeed plugins and I knew if I was going to have a blog, I would need those plugins.

If any OpenBSD admins are looking to get Wordpress working on their systems, this is what you have to look forward to:

  1. Maintain  a new directory structure for the OpenBSD port of Apache2 under /var/apache2 & /etc/apache2
  2. Recompile OpenBSD's port of php5 to use Apache2's apxs by modifying the Makefile for php5
  3. Reinstall from bottom up php5 and all of it's extensions
  4. Move or softlink your page file structures under /var/apache2 and reconfigure any vhosts. I've created a vhosts directory under /etc/apache2 and modified extras/httpd-vhosts.conf to point there.

Tags:   · · · · · · No Comments.