
             S O L O M O R I A H ' S

           X    X    XX    XXXXX    XXX
           X    X   X  X   X    X   XXX
           X    X  X    X  X    X   XXX
           X    X  XXXXXX  XXXXX     X 
           X XX X  X    X  X   X       
           XX  XX  X    X  X    X   XXX
            X  X   X    X  X    X   XXX


WAR Version 4.4                       "Code by Solomoriah"
Copyright 1993, 1994, 2001, 2013 Chris Gonnerman
All Rights Reserved.
 

INTRODUCTION 
 
Two separate doc files are included with WAR!  The one you 
are reading, Manual, explains how to set up and run the 
game.  The other file, Rules, explains the user 
interface and basic game rules.  
 
 
GAME SETUP 
 
Since you are reading this file, you have obviously unZIPped 
the game archive WARPROG.ZIP.  Put all the JS files in a
directory by themselves.  
 
Several basic game worlds are included with WAR!  A game 
world is stored in two files: map and game.save.json.  map
is never changed by the game programs, while game.save.json
will be.  game.save.json will be backed up in the form of 
files named game.000, game.001, etc.  WAR! will clean up 
(remove) old game save backups when they are five 
generations out of date.  
 
A third file, master.cmd, is generated.  Generally you should 
not tamper with the contents of any files you find in the 
WAR! directory.  
 
To install a game world, the easiest thing to do is to copy
the world files into the directory you put the game programs
in.

And example SCFG configuation follows:
Name                       Solomoriah's WAR!
Internal Code              WAR
Start-up Directory         ../xtrn/war
Command Line               ?war.js
Clean-up Command Line                          
Execution Cost             None
Access Requirements        ANSI
Execution Requirements
Multiple Concurrent Users  Yes
Intercept I/O              No
Native Executable          No
Use Shell to Execute       No
Modify User Data           No
Execute on Event           No
Pause After Execution      No
BBS Drop File Type         None
Place Drop File In         Node Directory

If you're running multiple games, you can create a data
directory for each game then copy the map and game files
into it, then pass the path as the first argument to
war.js.
 
 
RUNNING UPDATES 
 
Running updates is done the same way.  Change to the 
directory WAR! is installed in and enter the command WARUPD.
WARUPD sends progress messages to stdout, so you can collect 
them as follows: 

    C:\SBBS\XTRN\WAR> \sbbs\exec\jsexec warupd >message.txt

On a BBS system you may want or need to automate the update 
processing.  Note that WARUPD will run even if someone is 
actively playing WAR! (I'm still thinking about how to fix 
that), so you should try to run the updates when no one will 
be playing the game.  
 
It is recommended for normal BBS game play that updates be 
run every 24 hours.  

An example timed event for SCFG follows:
Internal Code                   WARUPD
Start-up Directory              ../xtrn/war
Command Line                    ?warupd.js
Enabled                         Yes
Execution Node                  1
Execution Months                Any
Execution Days of Month         Any
Execution Days of Week          All
Execution Time                  03:15
Requires Exclusive Execution    No
Force Users Off-line For Event  No
Native Executable               No
Use Shell to Execute            No
Background Execution            No
Always Run After Init/Re-init   No

When running multiple games, you can pass each path as a
separate argument to a single instance of warupd which will
update all the listed games.

If you want to permit the "turn done" functionality to advance
the game automatically when all players are done, you'll need
an event which calls warpoll.js as often as you want the check
to occur.  You will need both events or the game will not
advance until all players mark as done.

An example timed event for SCFG follows:
Internal Code                   WARPOLL          
Start-up Directory              ../xtrn/war      
Command Line                    ?warpoll.js      
Enabled                         Yes              
Execution Node                  1                
Execution Months                Any              
Execution Days of Month         Any              
Execution Days of Week          All              
Execution Frequency             1440 times a day 
Requires Exclusive Execution    No               
Force Users Off-line For Event  No               
Native Executable               No               
Use Shell to Execute            No               
Background Execution            No               
Always Run After Init/Re-init   No               

