SubSpace

Introduction

When I was a kid, I read about this game called SubSpace on the back of my Command & Conquer manual. It was free at the time (1996) and still in beta so I gave it a shot. It was a massively multiplayer online game and played surprisingly well on my 486DX2/66 over a 14.4 Kbps modem. I was completely addicted. Then, one day, it went pay-to-play and that event marked the end of my SubSpace days.

(more)

Quick Links

  • Documents - documents that capture some of our knowledge
  • Encryption - description of Continuum's packet encryption
  • Twister - source code of the Twister cheat program for SubSpace 1.35
  • UnPeX - an executable unpacker for Continuum

Starlight

Starlight is a chat client for SubSpace and Continuum. Unlike other SubSpace chat clients, Starlight connects to both SubGame and ASSS servers without special (VIP) access. Download the Starlight binary below.

Directory Server

A SubSpace directory server provides information to SubSpace clients about active and available SubSpace game servers. The official SubSpace directory server lists only game servers which register with it. I've written an alternate directory server that synchronizes with other directory servers while still accepting registrations from game servers. In essence, it lists the union of all of the game servers registered on other directory servers and on itself.

Isometry

Isometry is a new SubSpace billing server (biller) with a feature-set that rivals the SSC biller. It extracts as much information from Continuum clients as the SSC biller and uses all of those fields to check for aliases. Most importantly, it is designed to be a secure and open biller: any zone may connect to the biller.

The documentation for Isometry is available online: Isometry Command Reference

ASSS 1.4.5

I've rolled up all of the changes I've made to ASSS (including changes that I haven't released as patches) and made it available as a new source distribution. I've bumped the version numer to avoid confusion with the official 1.4.4 release by Grelminar.

In addition to the core changes, I've written a peer module for 1.4.5 and made the source available for others to build on top of.

ASSS Patches

ASSS is an open-sourced game server for SubSpace written by Grelminar. The current release, 1.4.4, does not handle the new player registration form correctly. Specifically, ASSS uses an incorrect value for the biller-to-subgame response code on player login and does not use the correct value for the subgame-to-client response code. The ASSS 1.4.4 Demographics Patch fixes the problems and allows the biller to collect registration information from the client. It should be applied in the src/ directory of the ASSS distribution with the command: "patch -p0 < asss-1.4.4-demographics.patch".

Although the above patch allows a biller to collect registration form data via ASSS, the same technique can't be used with a subgame server. In fact, subgame servers refuse to forward the registration data to non-SSC billers, even if it's collected from a client. An attempt to use the modified response code will result in subgame not sending any subsequent packets to the biller for that client connection. I've created the ASSS 1.4.4 Isometry Demographics Patch to allow a biller to determine whether it's safe to send a modified response code. It should be applied on top of the one above with the command: "patch -p0 < asss-1.4.4-isometry-demographics.patch".

ASSS contains a persist module that stores persistent information such as player scores. Unfortunately, it does not forward correct score values to the billing server. While players connecting to the zone see a consistent view, exporting score information from the biller will return invalid data. The ASSS 1.4.4 Biller Scores Patch fixes the issue in the core:billing_ssc module to send correct score data.