⚔ THE CLANS
⚔ THE CLANS — SYSOP DOCUMENTATION
v0.97b2 · Copyright © 1997–2026 Allen Ussher and contributors
[0.1]

Description

The Clans is a mix of role playing game and strategy war game for your BBS. The greatest feature of The Clans is its InterBBS support. The InterBBS feature should help increase the number of calls to your BBS from users who don't normally call — they may originally call to play the game but given time, they may choose to write messages and do other things as well.

How InterBBS Works

  1. Each BBS acts as a "Village" in the league.
  2. A player logging into Village A can choose the "travel to another village" option. If he chooses to travel to Village B, his user data will be sent over to Village B.
  3. During maintenance, the data from BBS A is sent to BBS B and the player will be able to log into BBS B the next day to play there with his clan.
  4. Each Village will have its own power struggles between clans and a ruler (which will change often). The ruler sets things like tax rates, so it's in the player's interest to visit each Village to find the best one for him.
  5. Each village will be able to attack other villages in the league and steal supplies. Clans in that village can help supply the village's army with troops and other things.
[0.2]

Disclaimer

NO WARRANTY is provided for this product. Allen Ussher, the author, is not liable for any damages incurred by use of The Clans. The Clans is provided "as is" and a warranty of any kind is neither expressed nor implied — all are hereby explicitly disclaimed. Any damage caused by The Clans directly or indirectly is not the responsibility of Allen Ussher. There is also no guarantee that this software will continue to be updated or that support will be offered.
[0.3]

Registration

Registration is no longer required for The Clans.

[0.4]

No Multinode

Because of the complexity of the game and its strategic, somewhat turn-based nature, multinode play is not featured. However, The Clans will ensure no two users enter the game at the same time — it will alert a user trying to enter while someone is already on.

To do this, an ONLINE.FLG semaphore file is created in the Clans directory. If something causes the file to still exist after a user has exited the door, you may simply delete the file (otherwise, users will be told someone is online even though they are not). This file is also deleted during maintenance.

[0.9]

⚡ Lazy Sysop's Guide

To set up the game for local play only, follow these steps. You MUST read the full docs to set up InterBBS.

  1. Run CONFIG.EXE. Configure your node data here.
  2. Modify RUNCLANS.BAT to suit your BBS. Call it from your BBS as a door.
  3. Run RESET.EXE from DOS.
  4. Add Clans /M to your nightly maintenance.
NOTE: If you are planning on joining an InterBBS league, you MUST set up your BBS software to call the door with REAL NAMES ONLY. This standardizes the league and makes it easier for players to travel from board to board. Handles can change from board to board, but real names can't.
[1.1]

Setting Up The Clans

First, run the setup program CONFIG.EXE. This program lets you specify which nodes you have on your BBS and their dropfile directories. The Clans doesn't need to know what type of dropfile to look for — it will detect this automatically.

You must create a batch file to run the game. How to set up a door varies by BBS software — refer to your BBS documentation. Your batch file should look like this:

RUNCLANS.BAT
cd \TheClans          <-- Change this to your Clans directory
Clans /N%1            <-- %1 is the node you wish to run
cd \bbsdirectory      <-- Change this to your BBS directory

To run from Node 1, use RUNCLANS.BAT 1. If you create your own batch file, remember: you MUST change to the Clans directory and specify the node using CLANS /Nx where x is the node number.

NOTE: If you are planning on joining an InterBBS league, you MUST set up your BBS software to call the door with REAL NAMES ONLY.
[1.2]

Resetting The Clans

To reset the game, run RESET.EXE from within the Clans directory. You will be given several options. After entering information, the game will reset and all data files from the previous game will be removed automatically.

IMPORTANT: You MUST reset the game the first time it is installed.

If you are in a league, you must also run CLANS /I after running RESET.EXE. Ensure all configurations are set up first — have your WORLD.NDX and ROUTE.CFG files created before running CLANS /I.

For a local IBBS league (on one BBS only), use CLANS /LIBBS /I.

[1.3]

Daily Maintenance

Add the following to your nightly BBS maintenance:

cd \TheClans
CLANS /M
cd \bbsdirectory

If maintenance is not run, The Clans will automatically run it the next time someone enters the game. However, it is highly recommended to run maintenance daily to ensure stats are calculated properly — this is especially critical for InterBBS games.

[1.4]

Starting an InterBBS Game

Key Terms

TermDefinition
LeagueThe system of BBSes linked together to play The Clans. Also thought of as the "world" the game takes place in, as each BBS is a "Village."
LeagueIDA two-character alphanumeric identification code that differentiates one league from another (no special chars: . ? * % / \ etc.).
League Coordinator (LC)The sysop of the main BBS coordinating the game. That's you, if you're starting a new league. The LC's BBSID should be 1.
BBSIDA unique numerical ID for each BBS in the league. The main BBS is always ID 1.

Setup Steps

  1. Create the WORLD.NDX file (see WORLDNDX.SMP for a sample). This file defines your league.

    A. Choose a LeagueID (2 alphanumeric chars, unique in your area).
    B. Choose a World Name (the name of the "world" all villages exist in).
    C. Create entries for each BBS using these keywords:
    BBSId           1
    BBSName         Revolution Nine
    VillageName     The Village
    Address         1:1/1
    
    BBSId           2
    BBSName         Joe's BBS
    VillageName     Joe's City
    Address         1:1/2
    
    BBSId           3
    BBSName         Frank's BBS
    VillageName     Franktown
    Address         1:1/3
    D. Optionally, add an Ascii section for a coloured welcome message displayed to players:
    Ascii  [ put stuff here ]
    Ascii  [ and here ]
  2. Send the completed WORLD.NDX to each BBS in the league. Tell them to copy it to their Clans directory and enable InterBBS in CONFIG.EXE. Give each sysop their BBS ID. Enable InterBBS on your own system (as BBS ID 1).
  3. Run the reset program and choose "Leaguewide reset", then run CLANS /I to send packets to each BBS in the league. Set the game start date a week ahead to give everyone time to get ready.
    RESET
    CLANS /I
  4. Check the league coordinator log LC.LOG to confirm each BBS received the reset packet and replied with a receipt.
  5. Optionally, add a VillInfo section to WORLD.NDX — this acts as an advertisement shown to players when they choose a village to travel to. Very useful for attracting callers to your board.
  6. Choose a routing method if desired (see Routing Methods below).
IMPORTANT: As a league coordinator, you MUST remind all fellow sysops to use real names only when running the game. This prevents duplicate players and ensures players can travel from board to board seamlessly.
REMINDER: Be sure you toss your netmail right after packets from The Clans are created.

Adding a New Node Mid-Game

  1. Modify WORLD.NDX to add a new BBS entry. If you use HOST routing, add the new node to one of the host BBSes. Tell the joining sysop what their BBS ID is.
  2. Distribute the updated WORLD.NDX automatically using:
    CLANS /NewNDX

Routing Methods

The Clans supports two routing methods that can be used together.

HOST METHOD — Set up BBSes that act as hubs for others via the Host keyword in WORLD.NDX. Example topology:

1 / \ 2 3 - 8 / | | \ 4 5 6 7 / 9 BBS 1 hosts 2 and 3. BBS 2 hosts 4 and 5. BBS 3 hosts 6, 7, and 8. BBS 4 hosts 9.
BBSId           1
Host            2 3
BBSName         Revolution Nine
Address         3:2/1

BBSId           2
Host            4 5

BBSId           3
Host            6 7 8

BBSId           4
Host            9

BBSId           5
BBSId           6
BBSId           7
BBSId           8
BBSId           9

ROUTE.CFG METHOD — Allows individually specified routing per node. Contents of this file differ per system. Settings here supersede the Host method. See ROUTE.CFG for full reference.

For small local leagues with no long-distance connections, the simplest method is to route everything through the LC's BBS:

ROUTE ALL 1
CRITICAL: The league coordinator's ROUTE.CFG must NOT contain ROUTE ALL 1. If it does, packets will loop back to the coordinator and never reach other BBSes. Only member nodes should use ROUTE ALL 1.
[1.5]

Joining an Existing InterBBS League

  1. Find an existing Clans league to join. If none exist, start your own (see section 1.4).
  2. Contact the league coordinator. Tell them your desired Village name. The LC will supply you with a WORLD.NDX file and routing instructions. Copy WORLD.NDX to your Clans directory. Run CONFIG.EXE, choose Setup InterBBS, and enter the BBS ID given to you. Also enter your netmail directory, inbound directory, and mailer type.
  3. Set up your mailer to process packets by adding to your batch file:
    cd \clans
    clans /I
  4. Run the reset program and choose "Join a league":
    RESET
    CLANS /I
    The game will reset and wait for a message from the main BBS telling it to start accepting local users.
NOTE: You SHOULD already have CLANS /M in your nightly maintenance. If not, the game will automatically run maintenance the first chance it gets each day.
REMINDER: Be sure you toss your netmail right after packets from The Clans are created.
[1.5b]

How InterBBS Packets Are Handled

This section is for users who wish to set up an IBBS game without a mailer or mail network.

Packet Naming

CLxxxyyy.ida

xxx = BBS ID the packet is FROM
yyy = BBS ID the packet is DESTINED FOR
id  = league ID (2 chars)
a   = arbitrary character (A–Z) used by the game

Example: a packet from BBS #1 to BBS #9 in league "22" would be: CL001009.22F

Outbound packets appear in the OUTBOUND directory. Inbound packets go in the INBOUND directory (named CL???003.ida for BBS #3).

Without a Mailer

If you cannot use a mailer, you must manually transfer packets between BBSes via terminal, script, or other means. When you receive a packet, put it in your inbound directory and run:

CLANS /I
[1.6]

Local InterBBS

You can run several copies of The Clans on one machine, each acting as a separate village — no mailer required. This is how the InterBBS feature was originally tested.

  1. Install The Clans in a separate directory for each village:
    C:\VILLAGE1    -- first Clans game
    C:\VILLAGE2    -- second game
    C:\VILLAGE3    -- third game
  2. Set up batch files for each game with the /LIBBS parameter:
    CLANS /LIBBS /N1
  3. Set daily maintenance for each copy:
    CLANS /LIBBS /M
  4. Set up ROUTE.CFG for each village:
    NORMAL ALL
  5. Create a WORLD.NDX listing all villages. Addresses can be arbitrary since this is a local game:
    village1  -- 99:1/1
    village2  -- 99:1/2
    village3  -- 99:1/3
  6. Copy WORLD.NDX to each village directory.
  7. Modify each clans.cfg so each has a unique BBS ID. Set one as Main BBS (ID=1). Enable the InterBBS flag in CONFIG.EXE for each.
  8. Create a shared outbound directory (e.g. C:\CLANOUT) and set each game's outbound AND mail directory to point to it.
  9. Run RESET on all games. For the main village (BBSId=1) choose Leaguewide reset. For the others, choose Join a league.
  10. Optionally process packets from the main village manually:
    CLANS /LIBBS /I
[1.7]

Troubleshooting & Q&A

The game is rewriting my DOOR.SYS file and setting the username to all caps.
Use another dropfile type such as DORINFO1.DEF. OpenDoors has issues with DOOR.SYS and rewrites it unexpectedly.
It can't find the WORLD.NDX file.
You only need this file for InterBBS play. If you're not in a league, turn OFF the InterBBS option in CONFIG.EXE. If you ARE in a league, get WORLD.NDX from the league coordinator. If you ARE the LC, read section 1.4 on how to create it.
It can't find the WORLD.DAT file.
You'll need to reset to create this file. Run RESET.
Users from other boards always have to create new players — their data isn't transferred.
Make sure you have set REAL NAMES ONLY for running your door, and that all other sysops have done the same. If that's not the issue, verify your routing is set up correctly.
I added a new node but it hasn't received a reset packet.
You likely set up WORLD.NDX incorrectly for host routing. Edit the new node out of WORLD.NDX (prefix its entry lines with #) and run CLANS /I. Then fix your host hierarchy, uncomment the new node, and The Clans will send a correct reset packet.
It's been a couple days and nothing is received by other nodes. They're still awaiting the LC's ok.
Check your ROUTE.CFG. If you use ROUTE ALL 1 for the league, the LC's own ROUTE.CFG must NOT contain that line — it will create an infinite feedback loop. Also confirm your netmail is being tossed: whenever The Clans creates a netmail message it must be processed by your mail tosser.
I don't seem to be getting any packets and the game isn't making any either.
Use the /Recon parameter to test without affecting the game. To create a recon packet for BBS #9:
CLANS /Recon 9
Common WORLD.NDX config errors.
When using the Host method, every BBS must be linked into the hierarchy. A BBS with no Host parent and no one pointing to it is unreachable. Also verify each BBS's ID in clans.cfg exactly matches the ID listed in WORLD.NDX.
[1.8]

Miscellany

The Clans was first developed around the fall of 1996. Coding began around December of that year. The first beta appeared on the webpage on March 25, 1997.

Special Thanks

Rev.Nine users — thanks for playing the game so rigorously and loving it!
Title Page Man — thanks for helping test out the InterBBS features!
All beta testers who emailed with bugs — thanks.
Phil205 Prof — thanks for an incredibly dull class which forced him to think up ideas for this game.
Music: My Bloody Valentine, Lush, Sloan, Blur, Teenage Fanclub, Stereolab, and The Beatles.

Upgrade Notes — v0.97b1

This version fixes too many code issues to list, but very few actualy gameplay changes.
If upgrading from BELOW v0.97b1: You must reset after upgrading. If you are in a league, get everybody to upgrade then have everybody reset — members choose "Join a league" while the LC does a leaguewide reset. Delete any packets of the form CLxxxyyy.* in your inbound directory before upgrading.

If upgrading from v0.97b1 or higher: No reset is required.

File bug reports at: SourceForge