REBEL KINGDOM 26 -- SCREEN-FAITHFUL BUILD, VERSION 2026.9.12.6
E-mail me with any questions: alexcorris@outlook.com

This game does work with the new drop file standard - BBSDEV.DRP
But you can also use any of the old standards if needed

GET STARTED
1. Unzip into its own directory, for example C:\BBS\REBEL26.
2. Copy the exe from the exe folder for your system into the main directory
   
   MS-DOS: rebel26.exe
   LINUX : rebel26
   Win32 : rebel26W32.exe
   Win64 : rebel26W64.exe
   Pi/ARM: rebel26pi

For Linux, copy binary into the main REBEL26
directory before running (chmod +x REBEL26; ./REBEL26). 

The first normal launch creates a new world automatically. There is no
original-game save import. Existing original game files are not required.
Run this in a separate directory from your original Rebel Kingdom.

The game will automatically run on it's own as users play, but you can
make it seem more like NPCs are logging in and taking their turns
during the day.

NPC AND DAILY OPERATION
REBEL26 -m              Run daily rollover and NPC opportunities.
REBEL26 -npc            Force every NPC with turns left to play one turn now.
REBEL26 -npc 2          Force one turn for player slot 2 (an NPC) only.
REBEL26 -status         Display current stored state without advancing it.
REBEL26 -G<directory>   Override world/config directory; assets stay beside
                       the executable. All nodes must use the SAME world.

Schedule -m hourly with your BBS event system, cron or Task Scheduler.
No built-in background service is installed. Normal door launches also
process due NPC opportunities. A selected NPC may have nothing due yet.

A human must choose Begin The Game with turns available to activate NPCs
for that calendar day. Simply reading news or logging into the BBS does
not activate them. Each NPC gets one log-on time randomized across
START_HOUR through END_HOUR (or the remaining portion if activation is
late) and plays all of its turns in one sitting at the first run after it.
There is no requirement to poll every 10-15 minutes.

At the next day change, outstanding NPC turns from the stored ACTIVE day
are completed before rollover. Intervening days with no human play do not
generate turns. The new day starts inactive. Thus a maintenance run on an
inactive day can finish the previous active day's business, but NPCs do
not take turns allocated to the inactive day. Explicit -npc does not
bypass this gate. Its slot filter applies to today's opportunities, not
the mandatory previous-day completion.

Difficulty 1/2/3 changes decisions, reserves and aggression, not starting
resources or economic/combat formulas. NPC_ATTACKS=0 prevents NPC attacks
against humans; NPCs can still fight one another. NPCS accepts 0-24, within
48 total player slots. Lowering NPCS pauses excess NPCs and preserves their
kingdoms. See the sample per-NPC names/levels in REBEL26.CFG.

SAVES AND MULTINODE USE
WORLD.A / WORLD.B are alternating checksummed snapshots. The newest valid
one is loaded; a damaged newest slot falls back to the other. If neither
existing slot is valid, the game refuses to overwrite them. WORLD.NEW is
temporary. This protects against interrupted writes, without guaranteeing
durability through a power loss. Back up both snapshots with all door and
maintenance processes stopped, together with REBEL26.CFG.

WORLD.LCK is an exclusive directory lock held only during a transaction.
P001.LCK etc. prevent simultaneous sessions for the same player. Locks are
released on clean exit/disconnect. After a crash, stop ALL game processes,
then remove only stale lock directories before restarting. There is no
automatic lock stealing. A busy transaction retries briefly, then fails and can be
retried. Use a local shared directory; network filesystem behavior has not
been tested. Do not run two independent copies expecting them to synchronize.

Each successful action is saved. Disconnecting allows same-day resumption;
deliberately quitting gameplay forfeits remaining turns. On daily rollover
an unfinished human turn is abandoned, retaining already committed actions.
Rollover occurs on the next launch/maintenance run. Run the hourly event
even if a human keeps a long session open over midnight. Game dates use the
host's local calendar. A backward date is rejected until corrected.

The sysop opening menu ([S], shown below Enter Selection when the SYSOP name
matches) has Game Settings (turns, NPC count, default level, play hours,
NPC attacks, sysop name), NPC Rulers (names and levels), a two-column
player editor with reset/delete, Knight News posting and game reset. Every
entry shows its valid range and is rejected with a message until it fits;
settings are written back to REBEL26.CFG and applied immediately.
Reset requires typing RESET and saves BACKUP.A/B first. A later reset
replaces those backups. Victory wipes every kingdom (humans register again, NPCs are recreated)
and keeps news and winner history, as the original did. Export news/logs externally if needed:
the in-game news buffer holds 120 entries, mail 96 messages, winners 12.
