This page lists most of the projects and tools that I have released over the years, with a selection of my favourites highlighted at the top.

Quak 2014-01-10

Quake-inspired, "old-school" first-person shooter game in which you run, jump, and rocket-jump your way around an enclosed arena attempting to eliminate its inhabitants before they devour you. Your armament consists solely of a combined rocket/grenade launcher which is highly effective at dispatching said inhabitants - but also your legs if you are not careful. Scattered throughout the arena are various pickups to aid you on your quest, ranging from a large green crate of rocket-hardened armour to allow you to soar majestically across the arena like an eagle (piloting a blimp), to a measly 5-point red health pickup to hopefully keep you alive for a few more microts, or even a nice blue box containing a barrage-worth of ammunition for your weapon.

Throttle 2013-05-15

Open-source backend system for google-breakpad aimed at being a powerful alternative to Socorro for smaller projects. It handles crash dumps from submission through to processing and analysis, including features such as checking the Microsoft Symbol Server for missing symbols, and reprocessing crash dumps when missing symbols become available later.

The project is still in it's early stages and is currently tailored towards SourceMod's use cases.

TF2Items 2010-01-10

SourceMod Extension that exposes an interface to manipulate the quality, level and attributes of items in Team Fortress 2.

It also includes a simple plugin that provides a KV-based config file to provide basic user-facing functionality - alongside it's rich developer API.

Steam-Store-Stats 2013-07-17

Simple web app to visualise Steam purchase history broken down by category. It was created during the 2013 Summer Sale to investigate how purchasing habits changed over time.

Pegopolis 2013-05-07

The aim of Pegopolis is to clear all of the orange pegs from a board of blue and orange pegs, using as few balls as possible, accruing as many points as possible.

It's kind of like Peggle®

SPIDER 2013-04-05

Alternative to the SourceMod web compiler for compiling SourceMod Plugins. The SourcePawn compiler was compiled to native JavaScript with emscripten, and is run directly in the user's web browser.

It has a number of advantages over the traditional web compiler, including support for custom include files, simple code highlighting, and displaying warnings and errors inline with the input.

gnucash-crossfilter 2013-03-04

Small project to help visualise financial data (from GNUCash data files) interactively in a web browser. It is not currently very feature complete, and I hope to get back to it with some expansions at a later date.

SourceMod-Compile 2012-12-26

Primarily a script for Vagrant, a program that uses Oracle’s VirtualBox to build configurable, lightweight, and portable virtual machines dynamically, to allow you to quickly and easily provision a virtual environment that you can use to compile SourceMod extensions for Linux.

The environment that is setup is aimed at extensions using the AMBuild build system (which is the preferred one), but with some fiddling you should be able to build any extension.

IDA VTable Dump Script 2012-07-29

Project to create a replacement for the popular linux_vtable_dump.idc IDA script used to dump Virtual Function Table definitions from Linux binaries that could accurately reconstruct the equivalent MSVC VTable.

Connect 2011-07-19

SourceMod Extension that provides a forward to SourceMod Plugins that can be used to manipulate clients as they join a game server, i.e. in order to implement a whitelist-only server or reserved slots without requiring a feeder slot to be kept free at all times.

It was created to be a more-secure alternative to a similar extension that caused some authentication checks to be bypassed, while also providing a more feature-rich API.

Free2BeKicked 2011-06-24

SourceMod Plugin written by request in response to TF2 going Free-To-Play. It uses information provided by SteamTools to check if a client owns the game and removes them from the server if not.

There was quite a bit of backlash over the release of this plugin and it generated some media coverage.

RocketBounce 2011-03-05

Simple SourceMod Plugin for TF2 that makes rockets reflect off of all in-game surfaces. It was a popular request to complement TFDodgeball in less serious servers.

Accelerator 2010-12-30

Originally a Metamod:Source Plugin that patched the URL that the Source Engine posted minidumps to upon a crash, in order to facilitate 3rd party collection and analysis (using an early version of what later became Throttle) - as Valve were unresponsive in assisting to debug plugin-caused crashes.

Alongside the release of Throttle, it was recently rebuilt from scratch as a SourceMod Extension to instead embed it's own copy of the google-breakpad client libraries, aggressively blocking the server's built-in implementation in order to handle crashes itself.

VoiceHook 2010-12-16

Metamod:Source plugin that exposes an interface to hook into and modify VoiceChat in Source game servers.

People have used it to write plugins to do things such as broadcast voice chat outside the server for monitoring, automatically normalise volume levels of loud clients, and apply DSP effects to game clients.

ServerSecure 2010-11-03

SourceMod Extension that patched a particularly nasty exploit which allowed malicious clients to upload and download files from Source game servers. The exploit has since been patched by Valve (after being ignored for years) and it is no longer maintained.

VPhysics 2010-08-25

SourceMod Extension to expose the API of the Source game server's physics library of the same name to SourceMod Plugins.

VPhysics is an extremely comprehensive physical simulation library built by Valve around the Havok and Ipion physics libraries, with an extensive C++ API.

ZombieFix 2010-08-06

SourceMod Extension that patched a bug in HL2:DM which caused Windows servers to crash when a Zombie NPC was spawned. It was created at the request of the HL2:DM community. The bug was patched by Valve a few years later when porting the Source engine client to Linux and the extension is no longer maintained.

UnVAC 2010-07-19

Metamod:Source Plugin that allows server owners to whitelist specific players from Valve Anti-Cheat checks on connect, allowing them to let currently banned players into their servers.

SteamTools 2010-06-16

SourceMod Extension that exposes the server-side portion of Valve's Steamworks API to SourceMod plugins, utilising the headers from the OpenSteamworks project.

TFDodgeball 2010-05-16

Combination of a SourceMod Plugin and Extension that together provide an implementation of the popular Team Fortress 2 game mode known as Dodgeball.

It was the first open source implementation available and is highly configurable.