home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
UTILITY
/
WWIVL210.ZIP
/
WWIVLOCK.DOC
< prev
next >
Wrap
Text File
|
1994-05-03
|
25KB
|
489 lines
What is WWIVlock?
WWIVlock is a program designed to help you get your chains, or online games
running successfully for all your callers. It is targeted especially for
people running high speed modems, and/or WWIV 4.23+ with multiple instances.
The problem with high speed modems and chains is that in most cases you can
only configure the chain either for a fossil or not. When using a fossil for
high speed communications, you tell the fossil driver your locked baud rate
when you load the fossil. WWIV, in most cases does not really lock the baud
rate for all connects. It does lock it for error correcting connects but
does not lock it for "normal" connections. This can be a problem for chains.
WWIV is very intelligent in the way it determines baud rates for the a caller.
Everything is controlled by the entries in the MODEMS.MDM file you are using.
Under normal circumstances when a caller connects, the bbs determines the
type of connection. If it is an error correcting connection (MNP,ARQ,REL),
the bbs will use a "Locked" rate for the com rate (The speed between the
computer and the modem), and let the modems figure out the speed difference
for the connect. This allows data compression for data through the modem and
greatly improves throughput for the caller. When a NON error correcting
connection is established, WWIV uses the modem connect rate for its com rate.
This enables the normal user to bypass the usual modem buffering that occurs
and get a good response from the BBS in space bar aborts and in online games.
Many online games use a fossil driver to handle their high speed communications.
When a fossil is in use, you must tell it a communications speed to use.
The problems occur when the fossil rate, or the games rate when it handles its
own communications differs from the callers rate. The caller will see
garbage characters. This is usually caused by the game reading the wrong
speed line in CHAIN.TXT, the drop file created by WWIV, or by the game
using the modem connect speed for the com port rate. WWIVlock fixes these
difficulties for you by either respeeding the fossil to the proper rate, if
you are using a fossil, or by allowing you many different options of configuring
a game, so that the proper rate is used.
Multi-instance operation adds another level of complexity to the situation.
WWIV creates a "drop" file (Used by the games) for each instance. It actually
creates several different format drop files: DOOR.SYS, PCBOARD.SYS, CHAIN.TXT,
CALLINFO.BBS, DORINFO1.DEF. For the different instances these have different
names. Since it is unlikely that your games can read the new names directly,
WWIVlock will make sure that the proper drop file, with necessary baud
rate corrections, will be used by the proper instance. Also it is very likely
that you have different communications parameters for each instance. WWIVlock
will let you use a different setup file for each instance, so that you only
need one bat file per game, and it will work from all instances!
WWIVlock REQUIRES registration. The registration fee is handled a little
differently than most other shareware. The fee depends on how much use you
get from the program. The cost is ONE DOLLAR for every game that WWIVlock
gets running for you. So if you only use it on one game, then it only costs
one dollar! If you use it on 20 games, then the fee is 20 dollars. The
maximum fee is 25 dollars. Please see REGISTER.DOC for more information on
registration.
This is version 2.00 of WWIVlock. It has changed significantly from version
1.00. If you are upgrading from version 1.00, I'm afraid I was not able to
keep the program downward compatible. However the setup for version 2.00 is not
too difficult.
How it works:
WWIVlock now reads a script file to determine it's actions. The script files
are just plain text files containing information and directives for WWIVlock.
All information in the script files must be in CAPS. All paths to data in
the script file must be terminated with a trailing \. ie: C:\WWIV\
An explanation of the script files and their contents will be presented later
in this document. Besides the Script file, referred to from here on out as a
WSC file, WWIVlock will create a small bat file, called the WLSET.BAT file
to set some environment variables that can be used as substitution parameters
in your game bat files. The WLSET bat file will be named after the instance
you are running on, if you are running more than one instance. ie:
Instance 1 would create a WLSET bat file named WLSET1.BAT. Instance 2's file
would be called WLSET2.BAT etc. More information on these parameters can
be found in the section on game bat files.
WWIVlock also creates a log file when it runs that can be used to help
determine what is going on, and what is going wrong when a game still won't
work. The log file will also be named after the instance. It will be called
WWIVLLOG.001 for instance 1, WWIVLLOG.002 for instance 2 etc. If you are
running a version of WWIV prior to 4.23 or are running only a single instance
the log file will be called WWIVLLOG.001.
WWIVLCFG
I know things may seem like they are getting a little complicated already,
but I have taken steps to make this easy to use and very complete.
WWIVlock comes with a utility called WWIVLCFG. WWIVLCFG will walk you through
the setup of each game, asking you questions along the way. It will create
the WSC file for you for each game and make a skeleton bat file for you to
use when running your games. It is very easy to use, and self explanatory.
Copy it into your main BBS directory and run WWIVLCFG. The more preparation
you can do before setting up a game using WWIVLCFG the easier the process
will be. You can shell to dos from within the WWIVLCFG program in order to get
the answers to some of the questions asked. However here is a short explanation
of the questions you will need to have answered:
What Drop file you are going to use. (CHAIN.TXT, DORINFO1.DEF etc.)
Whether the game can sense multi-nodes (Multi-instance) and can run multiple
copies at the same time.
Whether or not the baud rate, locked port status, com port setup etc. can be
entered on the command line to run the game, or whether these are in the game's
config file, or whether they are retrieved from the drop file.
How to get the game to get the proper drop file. Do you have to tell it the
whole file name or just the path to the drop file. If you tell it the path,
does it need the trailing backslash or not. The baud rate your port gets locked
at for high speed or error correcting (MNP/REL) callers.
WWIVLCFG is pretty self explanatory. You must place the WWIVLCFG.EXE and
WWIVLCFG.FIL files in your main BBS directory. These may not be run as chains.
From your DOS prompt (OR OS/2) type WWIVLCFG. From the intro screen you can
choose F1 to get the answers to commonly asked questions about WWIVlock.
At any time if you need to go to DOS to find the answers to some of the
questions you will be asked, press ALT S. To return to the config program
type EXIT. Just answer the questions as you are asked them and a WSC file
for your game will be created for you. In addition, at the end of the
configuration process, a file called SKELETON.BAT will be created.
You should copy this file to the appropriate name for you game, and insert
the game execution commands where indicated by the REM statements in the
bat file. You can use any text editor to do this.
WWIVLUTL
One of the questions you will be asked is for the baud rate that your
port is locked at for high speed connections. If you do not know, and don't
know how to tell from your modems.mdm file, I have included a utility called
WWIVLUTL. Make this utility part of your LOGON.BAT if you are using one.
If not, go into INIT and make your logon event WWIVLUTL. Put WWIVUTL.EXE in
your main BBS directory. Run for about a week or so, or 3 days if you have
a very busy BBS. For each instance you run (the program works even for one
instance, or versions of WWIV prior to 4.23), the program will accumulate
statistics about your logons. Whenever you want, from your main BBS
prompt type WWIVLUTL REPORT and it will give you a summary of your logons.
It will list the com rates and the modem rates. Com rates over 9600 are
"locked" rates. These are what you will need for WWIVLCFG. If the display
goes over a screen you can capture the report to a file by typing:
WWIVUTL REPORT > output.fil.
WWIVLCHK
If you want to find out exactly what WWIVLOCK will do when it runs for
a particular WSC file you can run WWIVLCHK. This will produce a report
of the actions WWIVLOCK Will take for that game and will tell you what
files it expects to find and where it expects to find them. It will also
tell you where the drop file will be placed for each instance. It is
IMPERATIVE that you get your games to look for the drop file in the right
place. See the section on the WLSET.BAT for more some help with that
when all else fails.
THE WSC FILE
The wwivlock script file usually ends with a file extension of WSC. The
WSC file controls what happens when WWIVlock is executed. It can be created
using WWIVLCFG.EXE or you can create it with any editor that can create
an ASCII text file. Once a WSC file is created, whether by WWIVLCFG or
manually, you can edit it with a text file editor.
WWIVlock expects all options to appear in CAPS. Do not use lower case in
your WSC files.
The FIRST 3 lines of the WSC file must appear in the correct order. All other
lines can be in any order.
The first line of the WSC file is the full path to your BBS directory. This is
where WWIVlock will expect to find the "Raw" unmodified CHAIN.TXT drop file, and
the other drop files created with WWIV 4.23+. Even if you are using a door
converter or a different drop file with the game, WWIVLOCK needs CHAIN.TXT.
This path should include the drive letter, especially if game dirs and the BBS
dir are on separate drives. The path MUST end with a \. If your main BBS dir
was on drive C and the dir name was WWIV you would enter C:\WWIV\ on the first
line of the WSC file.
The second line of the WSC file is the full path to your GAME directory. Again,
it is important to include the drive letter in this path if the drive for the
game is different from the drive where the BBS is located. It must be
terminated with a trailing \. If you were configuring Operation: Overkill ][
and it was kept in an OOII dir under your BBS dir you would enter
C:\WWIV\OOII\ on the second line of the WSC file.
The third line of the WSC file is the type of baud rate correction you desire
WWIVlock to perform. There are 3 choices. STANDARD, FORCE and NONE. These
rate corrections are what makes WWIVlock work. For most games Standard is the
appropriate choice. The line must be entered in all caps.
Standard changes "Invalid" baud rate values for locked ports to a valid value.
Since when the port is locked it does not really matter what the value is,
WWIVlock will assign a value of 9600. This fixes many problems. When a Fossil
driver is used with a game, some rates passed in the drop files are invalid
for fossil initialization, ie: 14400. Standard fixing will fix this.
If STANDARD does not work for you, try FORCE. Force will make the MODEM rate
the SAME as the com port rate in the drop file. This takes care of any
problems that standard fixing does not.
The remaining WSC file options can appear in any order. Each option is
explained in detail. There are a lot of different options, and I'll try
to explain when each should be used. Your best bet is to use WWIVLCFG to
create this file for you initially, and then modify it if necessary to
get your games running. There are numerous examples that you may be able to
use in the EXAMPLES.ZIP file.
FOSSIL
Use this directive when you are using a fossil driver with WWIVlock. This
will cause WWIVlock to execute the appropriate command to respeed the fossil
driver so that it's speed matched the actual com speed for this connection.
The FOSSIL Action can be used in conjunction with any of the other actions
when a fossil respeed is required in addition to another action!
BNU
Use this directive in conjunction with the FOSSIL directive to tell WWIVlock
that you are using BNU as your fossil driver. BNU MUST be in your path in
order for WWIVlock to respeed the fossil. If it is NOT WWIVlock will not
work.
X00
Use this directive in conjunction with the FOSSIL directive to tell WWIVlock
that you are using X00 as your fossil driver. XU.EXE MUST be in your path in
order for WWIVlock to respeed the fossil. If it is NOT WWIVlock will not
work.
COPYCONFIG
This directive is used to have WWIVlock copy an appropriately setup game
configuration file into the active game configuration file name for this game.
Use this option when the game gets some of it's communication parameters from
the games configuration file instead of the drop file, AND the game config
file CANNOT be specified on the command line for executing the game. This
required you to set up the game config files AHEAD of time for each possible
combination of parameters. For example, BBSBOWL keeps the locked baud
rate in the BBSBOWL.CFG file. You will need a config file for both locked
and unlocked connections. You will create these config files in the game's
directory and name them different names than the original config file. Note
these names as we will have to enter them later in the WSC file.
POINTCONFIG
This works like COPYCONFIG except WWIVlock does NOT copy the config
file, instead it sets an environment variable in the WLSET.BAT file that
POINTS to the proper game config file name. This is used when the game
can accept different configuration file names on the command line, ie:
Global War. When you enter the game command line in your BAT file you will
enter %WLCONFIG% (use BOTH % signs) INSTEAD of the config file name. This
will cause the game to use the proper configuration filename each time the
game runs.
ERRORLEVEL
When nothing else works, but you know what action you need to take to
get a game working you can have WWIVlock return ERRORLEVELS for use in your
bat files with this game. The errorlevels returned depend on the instance
WWIVlock is running on. Errorlevels are returned from ALL executions
of WWIVlock. If you are uncertain about errorlevels and how to use them,
let WWIVLCFG generate the game bat file for you and just insert your various
commands where indicated.
The errorlevel returned starts at 10 times the instance number: Instance 3
will return a minimum errorlevel of 30. Instance 1 will be 10. If the
game is being run locally, then the errorlevel will be 5 more. For example
if you run a game locally on instance 3, WWIVlock will return an errorlevel
of 35. Single instance operation, or versions of WWIV prior to 4.23 return
a maximum errorlevel of 15. Locked ports will have 1 added to their
instance errorlevel. Locked rates are any rates over 9600. A locked call
on instance 1 will return an errorlevel of 11. A value of 2 will be added to
the instance errorlevel for 9600 baud connects. This allows special actions
for calls that are at 9600 but do NOT cause the com port to lock at a high
speed. This is very rare, but has to be considered. A value of 3 will
be added to the instance errorlevel for 4800 baud connections. A value
of 2 will be added for less than 4800 baud connections that do not lock
the port.
Here's a recap. For instance 1 these are the valid errorlevels returned
by WWIVlock:
15 - Local logon
14 - 9600 baud connection
13 - 4800 baud connection
12 - less than 4800 baud connection
11 - locked rate connection
NOACTION
When this directive is specified, WWIVlock fixes up the drop file and writes
it to the game directory and then takes no further actions. This is good for
games that have proper setups but do not understand multi-instance drop file
names, or have a special command for local play.
DROPFILE, DROPSLASH, DROPNOSLASH
These selections affect how the WLSET file sets the WLDROP replacement
value that points to the drop file's location after WWIVlock fixes it up.
DROPFILE reports the full path and filename
DROPSLASH reports the full path with a trailing backslash
DROPNOSLASH reports the full path with NO trailing backslash
CHAIN
Indicates that the drop file to be fixed up is CHAIN.TXT.
If your game can sense CHAIN.002 for instance 2, and CHAIN.003 for
instance 3 etc you should enter CHAIN,Y
DOOR
Indicates that the drop file to be fixed up is DOOR.SYS
CALLINFO
Indicates that the drop file to be fixed up is CALLINFO.BBS
PCBOARD
Indicates that the drop file to be fixed up is PCBOARD.SYS
DORINFO
This directive requires an additional parameter. Some games can
sense the multi-instance (multi-node) file name for DORINFOx.DEF.
ie: Node 1 is DORINFO1.DEF, node 2 is DORINFO2.DEF, etc.
Some games do NOT understand this and always look for DORINFO1.DEF.
The DORINFO line should say : DORINFO,Y or DORINFO,N. Use the Y if the
game properly understands DORINFOx.DEF, use N if it does not, and needs to
find DORINFO1.DEF. WWIVlock will fix things up for you depending on these
settings.
If your game is capable of SIMULTANEOUS Multi-instance play you will need
to create SEPARATE directories for WWIVlock to place the drop files into.
This allows some games that expect the SAME drop file name for each execution
from having a problem getting the proper callers drop file. I suggest you make
one directory for each instance. ie: C:\INST1\, C:\INST2\ etc. You tell
WWIVlock about these directories with the instance line. This line in
the WSC file starts with an I and is followed by the instance number then a
comma and the path to the directory where you want WWIVlock to place the drop
file. You MUST have your games point to this directory to find the drop file.
The best way is to use the WLDROP environment setting set by WLSET.
Examples of the instance lines:
I1,C:\WWIV\INST1\
I2,C:\WWIV\INST2\
Note the trailing back slash. The above is for instance 1 and instance 2
respectively.
The CONFIG file line.
When running multi-instance games or games where the com speed specific
information is in the game config file, WWIVlock can copy a pre setup
config file into the proper config file name. Some games EXPECT different
config file names for different instances, ie: BBSBOWL. On the config
line we tell WWIVlock what the PROPER config file name is for each instance.
If you are running only one instance or a version of WWIV prior to 4.23
you still need these lines if you are using COPYCONFIG as a WWIVlock
action. The config file line is simply the instance number then a comma
and the name of the game config file for each instance WITH NO PATHS.
ie:
1,BBSBOWL1.CFG
2,BBSBOWL2.CFG
This covers instance 1 and instance 2. If you are running only 1 instance
or a version of WWIV prior to 4.23 assume instance 1 for setup purposes.
The FROM Config file line
When using COPYCONFIG or POINTCONFIG we need to tell WWIVlock
which configuration file to use for each instance, and each baud rate
combination. Some modems.mdm files direct WWIV to potentially lock at different
speeds based on the connect speed. There are 3 basic lines you will have for
each instance you are running. One for locked baud rates, one for 9600 only
connections, and one for Normal, less than 9600 baud connections.
In most cases your normal and 9600 baud config files will be the same. You
must create these game config files using whatever procedure is provided
with the game ahead of time. These lines start with L for Locked rates,
S for 9600 baud connections and N for normal connections. Next is a comma, then
the instance number again followed by a comma. Next comes the game config
file that will be copied to the proper game config file name (or pointed to
when POINTCONFIG) is used. Do not use a path when showing the game
config file name. When entering the Locked line an additional parameter MAY
be used. If your port can be locked at more than one rate, you can use
different file named depending on that rate. Put a comma and the locked baud
rate after that. Here are some examples from BBSBOWL.
L,1,BBSB1L.CFG,38400
L,2,BBSB2L.CFG,38400
L,3,BBSB3L.CFG,38400
N,1,BBSB1N.CFG
N,2,BBSB2N.CFG
N,3,BBSB3N.CFG
S,1,BBSB1N.CFG
S,2,BBSB2N.CFG
S,3,BBSB3N.CFG
FULLPORT and ACTUALPORT
These control how the com port is reported in the WLPORT setting set
by WLSET. Normally the port number reported is 1 less than the actual
com port number. ie: COM1 will be reported as 0, COM2 as 1 etc. This is
how most fossils make use of the port, and this setting is useful when using
a fossil other than X00 or BNU.
FULLPORT can be used for those games where you need the FULL com port.
FULLPORT will cause WWIVlock to report the full com port number. ie COM1,
COM2 or COM3.
ACTUALPORT can be used when you don't want the full port number but you need
to refer the ACTUAL number of the port. ACTUALPORT will cause WWIVlock to
report a call on COM1 as 1, COM2 as 2 etc.
SU
If you specify SU in the WSC file, WWIVlock will make a port respeed call
to the SU utility included with the SIO device drivers for OS/2. SU must be
in the path in order for the respeed to work.
STOP
STOP can be specified in the WSC file, and will cause processing to stop and
wait for keyboard input before continuing when WWIVlock encounters a problem
processing. This should only be used for debugging purposes.
WLSET bat file options
You will notice in the examples that every time WWIVLOCK is run, right
after that there is a CALL WLSET%WWIV_INSTANCE%. This runs a bat
file that is created by every execution of WWIVLOCK. Even if you are running
single instance or a version of WWIV prior to 4.23 you should use the
%WWIV_INSTANCE%. What WLSET does is set several environment variables that you
can use in your game bat files to do special things if necessary. This assumes
that you have enough environment area free to set these settings. Please note:
Just because you have a large value on your SHELL= in your config.sys does NOT
mean you will have a large environment area when running a chain from WWIV.
The environment area for the chain will default back to 256 bytes. UNLESS you
have SET COMSPEC=C:\DOS\COMMAND.COM /E:1024 or something similar in your
AUTOEXEC.BAT. This will ensure plenty of environment area even when running
a chain. To use the replacement variables set by WLSET just use them where
you want the corresponding value and put a % on each side of them. See the
examples in EXAMPLES.ZIP for some details on how these are used. Here are
the settings set by WLSET.
WLDROP The path or full file name of where WWIVlock put the
drop file for this game. This can be changed by the
choices for DROPFILE, DROPSLASH or DROPNOSLASH in the
WSC file.
WLCONFIG When POINTCONFIG is used, this will be the config file
to be used for this game.
WLSPEED The Speed of the com port being used for this game.
WLPORT The com port for this game. This can be changed by the
choices of ACTUALPORT or FULLPORT in the WSC file.
WLHANDLE The user name for this execution.
GAME bat files.
There are some special considerations you need to follow when setting
up a game bat file. Unless you have about 110K free when you do a //STAT
you should shrink for any game that uses WWIVlock. When setting up your bat
file, do the run of WWIVLOCK and the CALL to WLSET before any CD commands or
any other game commands. If using BNU and you are loading it for each game
as it runs, the BNU load command MUST occur in the bat file BEFORE you
run WWIVLOCK. Otherwise WWIVlock will load it, fragmenting memory, and
possibly preventing it's removal.
Here is an example game bat file first few lines:
WWIVLOCK GAME.WSC
CALL WLSET%WWIV_INSTANCE%
CD\GAME
game command
CD\WWIV
Technical Support
Technical support is available via the WWIVlock support sub.
The subtype is 36550. The host is 16550 in WWIVlink, and 6560 in ICEnet.
Or you can write to me, SKY, at 2@16550 WWIVlink or 2@6560 ICEnet.
Thanks for using WWIVlock and be sure to register!