home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FMI Superhry 1
/
Superhry-I.bin
/
bonus
/
descent
/
network
/
kali
/
kali.doc
< prev
next >
Wrap
Text File
|
1995-08-30
|
26KB
|
597 lines
Kali Documentation
(c) Copyright 1995 by Jay Cotton
All right reserved.
(comments: jay@calc.vet.uga.edu)
updated 8/30/95
Introduction
Most games only support IPX networks and modem/direct serial link
play; TCP/IP networks are not natively supported. With the right
software, however, most games designed to be played over IPX LANs
can be fooled into operating over the Internet. In the pages that
follow, we will attempt to answer the most frequently asked
questions about playing these games over the Internet, including
what you need, and how to set it up.
IPX network games can be played over the Internet using a program
called Kali. Kali uses the UDP protocol to send game information
between multiple machines on the Internet. Kali has been used to
play Descent, DOOM, Rise of the Triad, Terminal Velocity, Warcraft,
VR Pool, Super Karts and other games over the Internet with
opponents from as far away as Estonia.
Getting Prepared - Hardware
To use Kali, you will need the following hardware:
* If your site is directly connected to the Internet, you'll need
a network interface card (NIC) for your machine. And not just any
old NIC, mind you - your NIC must be supported by a packet driver
if you wish to use it to play Internet games. Usually this means
that your NIC must be an ethernet card, although Kali has been
successfully played over token ring. We will assume that your PC
is already equipped with a suitable NIC, although it may currently
be in use for some other non-TCP/IP function (such as a node on a
Novell network). As long as your NIC is supported by a standard
packet driver, your machine can be readily converted into a Kali
"playstation."
* If you are not directly connected, you'll need a high speed modem
(the faster the better) as well as an account with an ISP (Internet
Service Provider) which has suitable dialup facilities.
NOTE: Users with "shell accounts" or who use SLIP emulators such as
TIA and SLiRP can also use Kali. See the section "Using Kali with
a shell account."
*If you're currently using SLIP or PPP, but your drivers operate
from under Microsoft Windows (such as Trumpet Winsock), you MUST
obtain a DOS SLIP or PPP driver; your Windows-based drivers will
NOT work for Kali.
Getting Prepared - Software
In addition to the hardware requirements, some software is also
required to complete your setup. Before you can play, you'll need
to pick up the following:
* A packet driver. The packet driver is a standardized interface
that lets Kali "talk" to an ethernet card or modem.
* Kali, the TCP/IP network driver for IPX games.
* Some basic network diagnostic tools, such as a PING or TRACEROUTE
program. These are not absolutely necessary, but can definitely be
useful for debugging and testing your setup.
Finding Kali and Related Files
------------------------------
To obtain Kali, log on to one of the following ftp sites (using
anonymous ftp). Change to the specified directory (e.g. cd
/pub/kali). Download the file kali11f.zip. This is the latest
version of Kali as of this writing.
ftp://ftp.axxis.com/pub/kali/
ftp://ftp.internexus.net/pub/kali/
ftp://kali.jedi.net/kali/
The following Web sites also include information and some files:
http://www.axxis.com/kali/
http://www.internexus.net/kali/
http://www.teleport.com/~caustic/
http://gremlinx.bevc.blacksburg.va.us/
Finding ethernet packet drivers
-------------------------------
Many ethernet cards come with the appropriate packet drivers on a
utilities diskette packaged with the card. If your card does not
come with a packet driver, there is an excellent collection of
freely available packet drivers called the Crynwr Packet Driver
collection. You can obtain it via anonymous ftp from:
ftp://oak.oakland.edu/simtel/msdos/pktdrvr/pktd11.zip
ftp://ftp.cdrom.com/pub/simtel/msdos/pktdrvr/pktd11.zip
Finding slip or ppp packets drivers
-----------------------------------
SLIP (or SLiRP) users should get the file slippr15.zip and PPP
users should get the file ppp.zip. Both of these files can be
found at the Kali sites listed above.
Diagnostic Software
-------------------
If you need basic network diagnostic utilities, the WATTCP
applications are freely available and include a PING program. Look
for a file called apps.zip on your favorite ftp site, or find it
and other wattcp sources at:
ftp://dorm.rutgers.edu/pub/msdos/wattcp/
NOTE: people using SLiRP will not be able to use ping utility.
Setting up the Hardware
Setting up your computer to use a DOS packet driver can be
complicated for people who aren't network gurus. This section will
attempt to show you all the steps needed to get the packet driver
installed and functioning properly.
Ehernet Setup Procedure
-----------------------
Step 0: START WITH A CLEAN BOOT!!!!! Set up your CONFIG.SYS and
AUTOEXEC.BAT files to load as few drivers as possible. Some
definite things to EXclude are memory managers (HIMEM, EMM386,
QEMM, etc.) and network drivers (e.g. LSL, IPXODI). Most games
don't need the former, and the latter will probably conflict with
the packet driver. We recommend that you prepare an alternate
configuration (the multiple configuration facility built into
MS-DOS is ideal for this purpose; see your DOS manual for details)
specifically for Internet games with a CONFIG.SYS portion
containing only a FILES=20 line, and an AUTOEXEC.BAT portion
containing only the line "prompt=$p$g". Be sure to include the
line which loads your mouse driver (if you play your game using a
mouse).
Step 1: Set up the packet driver. If you do not already have a
suitable packet driver installed on your machine, now is the time
to install one. Start by determining your ethernet card's IRQ
setting, it's base I/O port setting, and it's memory address
setting (if any). You should be able to determine this by looking
at the card itself and consulting the user manual. You'll need
some if not all of this information, depending upon which packet
driver you use and/or type of hardware you have (for example, some
IBM computers with theMicroChannel bus can determine the settings
on the card automatically without you having to supply them on the
packet driver command line). Unzip the appropriate driver from
Crynwr Packet Driver collection archive. In our example, the
packet driver is called SMC_WD.COM. By looking at the jumpers on
the card and consulting the manual, I determined that the card has
been set to IRQ 7, Base I/O port address 300h, and the base memory
address is at segment d800h. For this example, I have chosen to
use interrupt 60h for the packet driver. Packet drivers typically
operate on an interrupt in the range of 60h to 80h inclusive; since
nothing else in my sample system happens to be using the first
available interrupt (INT 60h), I chose that. Thus, to load my
packet driver, I use the command line
SMC_WD 0x60 0x7 0x300 0xd800
where 0x60 is the packet driver interrupt, 0x7 is the IRQ setting
on the card, 0x300 is the I/O port base address, and 0xd800 is the
memory base address (NOTE: all numbers are in C-style HEX
notation). Don't worry if you don't understand what all this stuff
means - as long as you use the correct numbers, your packet driver
should work. NOTE: If your PC is currently part of a Novell
network (e.g. Netware, Netware Lite, Personal Netware) the
parameters you need can be found in a file called NET.CFG, usually
located in your \NOVELL, \NWLITE or \NWCLIENT subdirectories (along
with all the other drivers needed by Novell). Add the proper
command line to the AUTOEXEC.BAT for your Kali configuration so
that the packet driver will be loaded automatically whenever you
boot using the Kali partition.
When successfully loaded, the packet driver should give a sign on
message and report the ethernet address of your NIC when you load
it. Chances are that if your NIC has been functioning properly for
other tasks (e.g. as a node on a Novell network) then you'll have
no problems here. If not, or if there are any error or warning
messages, something is wrong (D'OHH!). One possibility is that one
of the settings on your NIC is in conflict with those of another
expansion card in your system. No two cards can have the same IRQ,
I/O port, or memory address settings, nor can the memory areas of
two cards overlap. Whatever the cause, you'll need to find and
correct the problem before continuing.
SLIP Setup Procedure
This procedure assumes that you are using the cslipper SLIP driver
mentioned earlier. If you are using a different driver, you'll need
to change the commands which follow accordingly.
Step 0: Obtain Internet access from a service provider who allows
SLIP connections on their terminal server. A "shell account" (where
you log in to a remote UNIX host and type commands such as "telnet"
and "ftp") will require a SLIP emulator called SLiRP (read the
SLiRP section below before continuing). How to obtain this type of
service from such a provider is beyond the scope of this document.
Also, if you are using a Microsoft Windows-based SLIP or PPP
driver, such as Trumpet Winsock, you MUST obtain and install a DOS
SLIP or PPP driver on your machine. Kali will NOT work with
Windows drivers such as Trumpet or Cameleon
Step 1: Using your favorite serial communications package, dial in
to your service provider, log in, and issue whatever commands are
required to change their terminal server to SLIP mode. How this is
done varies from service provider to service provider and is beyond
the scope of this document. Check with your service provider for
more details.
Once you have logged on and enabled SLIP mode, exit your
telecommunications software WITHOUT HANGING UP THE MODEM - this is
VERY IMPORTANT! Any telecommunications package worth the floppy on
which it comes will have a "save without hangup" command, or will
prompt you when you exit to ask whether it should hang up or not.
Change to the directory where you have installed your packet driver
and load it. An example command line for CSLIPPER is
CSLIPPER com1 vec=0x60 baud=57600
where com1 is the serial port to which your modem is connected,
0x60 is the interrupt vector the packet driver should use, and
57600 is the DTE baud rate (the baud rate between the computer and
the modem, not necessarily the speed at which the modem has
connected to the remote system). The packet driver will display a
signon message and load itself into memory.
Your SLIP packet driver is now loaded and ready for testing.
Using Kali with a PPP account
(from the PPP.FAQ)
Here's a quick rundown on setting up PPP.EXE and Kali for a PPP
connection. For complete details on each program, see the related
documentation.
First, you need a batch file to run ppp.exe. Here is an example of
a batch file and what each option does:
DIAL.BAT
--------
ppp /c 2 /d script /s 57600
The "/c 2" tells PPP to dial out on COM2. The "/d script" tells
PPP to use the file DIAL.PPP as a script. The "/s 57600" tells PPP
to connect at 57600 (I've got a 14.4 modem and 16550 UART). As of
this writing, 57600 is the fastest speed supported by ppp.exe. If
you don't have a 16550 uart, you should select 38400 for the speed.
Now you need a login script. The login script must be in the file
called dial.ppp. Here is an example script:
DIAL.PPP
--------
send "ATZ\r" ;reset the modem
recv 3000 "OK\r\n" ;wait 3 seconds for OK response from modem
send "atdt1234567\r" ;dial your provider; the \r is for RETURN
recv 60000 "login:" ;wait 6 seconds for login prompt
send "username\r" ;send your username and RETURN
recv 10000 "Password:" ;wait 1 second for password prompt
send "password\r" ;send your password and RETURN
Note: the login and password prompts much match those used by your
provider.
Put your nickname in kali.cfg and then put your network information
in wattcp.cfg. In many cases, this information will change each
time you connect. In this case, you will have to re-edit
wattcp.cfg each time.
Using Kali With a Shell Account
To use Kali with a shell account, you need a SLIP emulator. The
only SLIP emulator that current supports port-redirection
(something very important to Kali) is a program called SLiRP. Many
internet providers, including netcom, use TIA for SLIP access.
When TIA 2.0 comes out, it *might* work with Kali. In the
meantime, you TIA users can use SLiRP instead.
You *must* use the latest version of SLiRP, 0.9k. The older
versions just won't work with Kali (problems with the UDP
redirection code). To get SLiRP, login into your shell account and
from there download the SLiRP source code from your favorite Kali
site or the latest can always be found at:
ftp://blitzen.canberra.edu.au/pub/slirp/
The instructions for installing SLiRP are included with this
program. Basically, you will need to unzip the archive first by
typing:
gunzip slirp-0.9k.tar.gz
You then must untar the archive by typing:
tar -xvf slirp-0.9k.tar
This will create a directory structure called slirp-0.9k/. Go to
the src subdirectory by typing cd slirp-0.9k/src. Type:
configure
Then type:
make
This will create a file called slirp. Copy this file to your home
directory. Something like:
cp slirp ~
might work. Then, using your favorite text editor, create a file
called .slirprc in your home directory. Put the following in this
file:
redir udp 2213 to aaa.bbb.ccc.ddd:2213
baudrate 28800
mtu 2000
IMPORTANT: Replace aaa.bbb.ccc.ddd with the ip number of the host
(unix) machine. Use this same number in your wattcp.cfg file.
Your ip number will be the same as that of your host. Do NOT use
the ip number reported by SLiRP anywhere in your configuration. If
you do, it just won't work! Also, the baudrate is not the actual
speed of the modem. It's hard to explain. Read the SLiRP docs for
more info. Basically, higher numbers have faster through-put and
slower response; lower numbers have slower through-put and faster
response. You can experiment.
Next, follow all the steps for using SLIP above. As far as
connecting to your SLIP provider, connect to your shell account as
you normally would. If you are connecting through a terminal
server, be sure to get an 8 bit connection using rlogin. Some
terminal servers have commands like "terminal download" or "set
session 1 passall" to provide a better connection for pseudo SLIP
users. If you have trouble with Kali working through a terminal
server, be sure to look into this. After attaching and logging in,
just type slirp. Exit your communication program without hanging
up and continue like other SLIP users (see above).
NOTE: Since SLiRP users must share the ip number of their host, two
Kali players on the same host will have to use different ports for
Kali. If you get an error when running SLiRP that says you don't
have permission to redirect the port, try using a different port.
Try 2214 instead. IMPORTANT: if you use a different port, be sure
to add a line in your kali.cfg file that reads something like:
port = 2214
Also, if you plan to host a Kali VSN, the other players will have
to enter your port number on the command line like this:
Kali aaa.bbb.ccc.ddd 2214
Setting up and using Kali
Step 1: Set up a new directory where Kali and all its configuration
files will be kept. You can name this directory anything you like
(we suggest c:\Kali). UnZIP the kali103.zip file into this new
directory, and make it the default (chdir to it). We will refer to
this directory as the "Kali directory."
Step 3: Set up your WATTCP.CFG file. Your WATTCP.CFG file contains
important parameters used by the WATTCP TCP/IP kernel built into
Kali. These values MUST be entered correctly if you wish to make a
connection with another Kali node. In preparation for this, you'll
need several bits of information. Contact the network administrator
for your site and find out the IP address for your machine, the IP
address for your gateway or router, the IP address of at least one
Domain Name Server local to your site, and your netmask value. The
three IP addresses will each consist of four groups of digits
separated by periods. In our example, the machine's IP address is
128.191.23.5, the gateway is 128.191.23.1, the netmask is
255.255.255.0, and the nameserver address is 128.191.44.67. NOTE:
it is important to use the numeric IP addresses, not the actual
host names. NOTE: If you have other Internet programs currently
installed on your machine, such as a Gopher client, the Trumpet
newsreader, or the iFrag program, you can probably find the
information you need in the configuration files used for those
programs. If the application is based on the Waterloo TCP package,
it will have it's own WATTCP.CFG, in which case you can simply copy
it over to your Kali directory. When you have collected all this
information, use your favorite ASCII text editor to edit the
WATTCP.CFG file in your Kali directory. Edit or add the lines
beginning with my_ip=, gateway=, nameserver=, and netmask=. On our
example machine, the WATTCP.CFG file looks like this:
my_ip=128.191.23.5
gateway=128.191.23.1
netmask=255.255.255.0
nameserver=128.191.44.67
Save the changed file and exit back to DOS.
If you don't know the proper values for some or all of these
settings, you can see if your site runs what is called a BOOTP
server. If your LAN has a BOOTP server installed, you can put
"BOOTP" on the "my_ip=" line and leave the other lines out. Kali
will contact the BOOTP server and determine all the settings it
needs to communicate with other machines on the Internet. If your
site is not running a BOOTP server, then your task is a little more
difficult (but not impossible!)
If you know your machine's IP address, but you can't determine the
other values, you can often get away with some educated guesswork.
For instance, the gateway for a subnet usually has an IP address
ending in .1, as is the case with our example. Thus, if your IP
address is xxx.yyy.zzz.www, try setting your gateway's IP address
to xxx.yyy.zzz.1. As for the subnet mask, a common value for this
parameter is 255.255.255.0. In some cases, the gateway value can be
something like xxx.yyy.1.1 with a corresponding netmask value of
255.255.0.0 - if one doesn't work, it can't hurt to try the other.
Finally, if you don't know your nameserver's IP address, you can
probably get by without it for the purposes of playing Internet
games. Since you'll be specifying IP addresses for all of your
opponents' machines, a nameserver lookup won't be necessary to
resolve their addresses.
Your basic setup is now complete. Please skip ahead to the section
on testing your TCP/IP setup.
Testing your TCP/IP Setup
Step 1: At this point, your packet driver should be loaded and
active. Now you'll use the network diagnostic programs obtained
earlier to test the connection. For example, if you are using the
WATTCP application suite, unzip the TCPINFO and PING programs from
the WATTCP apps archive into your Kali directory. At the DOS
prompt, type:
TCPINFO
and press the <Enter> key. If your WATTCP.CFG values are set up
correctly, and if your packet driver and net connection are
functional, you'll see a couple of screens of information about
your system, including your ethernet address and the parameters you
specified in the WATTCP.CFG file.
If everything looks OK, the next step is to use the PING program to
attempt to establish contact with your subnet gateway. At the DOS
prompt, type
PING <yourgateway's.numeric.ip.address>
and press the <Enter> key. After a brief delay, you should see a
message telling you that the host is responding, as well as the
round trip time for PING's test packets. If you see the "Timeout"
error message, then something is wrong with your setup; if your PC
is unable to reach your gateway, it will be unable to reach the
rest of the Internet as well, since all network packets which are
sent to nodes outside of your local area network must pass through
your gateway. For our sample system, we would type:
ping 128.191.23.1
If your gateway PING was successful, try PINGing your Domain Name
Server (at the IP address you specified in WATTCP.CFG) as well as
some well-known site on the internet (like ftp.cdrom.com). These
will test your machine's ability to connect with other machines
outside of your subnet as well as those outside of your site. All
of these PINGs should result in a "host responding" message with a
round trip time. If any of these attempts fails, recheck your
entries in WATTCP.CFG and/or get some help from your network
administrator. Examples for our test system:
ping 128.191.44.67
Put Me in, Coach - I'm Ready to Play!
All right! Kali is now installed and ready for carnage! For this
initial test, I have bribed 3 of my good friends with the promise
of Papa Del's Pizza, after which they readily agree to assist me.
We go over to the local computer lab (the one with P-90s, 21"
monitors, and GUS soundcards at every station) and install packet
drivers as outlined above. I note my IP address, and pass it along
to my friends. From my Kali directory, I start Kali by typing
Kali
and pressing the <ENTER> key. My friends each start Kali by typing
Kali followed by my machine's IP address, like so:
Kali 128.191.66.24
As each of my friends connects, his copy of Kali sends its IP
address to my KaliNode, and my KaliNode responds with a list of all
the other KaliNodes currently attached to mine. That way, each
KaliNode knows the addresses of all the other KaliNodes in our
game.
Once we have Kali loaded, we switch to our game directory (in this
case c:\games\descent) and load our games in the usual way. My
friend Tree begins a multiplayer game, and the rest of us join in.
After about 10 minutes of furious firefights, another player enters
the lab and asks to join our game. We invite him to join, and he
sits down at his computer, loads Kali with
Kali 128.191.66.26
(which is Tree's IP address). He then loads Descent, selects
multiplayer from the menu, and is able to join our game in
progress. Notice that the newcomer did not specify my IP address,
but rather Tree's. It makes no difference which KaliNode he
contacts, since he can receive the complete nodelist from any one
of them. After a long and satisfying game in which I beat Tree by
a 3:2 score ratio(*), we decide to take a break and head over to
the nearest Taco Bell.
Kali Servers and Kali Chat
Kali Servers are special Kali nodes that run 24 hours a day, all
year round. The purpose of Kali Servers is to provide a common
meeting place for Kali players. Here is the most recent list of
Kali Servers:
ip# Name
--- ----
204.96.20.10 Kali Central
199.233.91.1 kali.jedi.net
205.199.96.2 AXXIS Server
204.97.214.4 CastleNet
193.130.144.1 FlexNet
To connect to a Kali Server, just type:
Kali <server ip#>
Once connected you will see a list of other people wanting to play
games. Next to each name you will see what program they are
running. If you see anyone running DESCENTR, then you know that a
game of registered Descent is probably already underway and you can
go ahead and load Descent and join the game. If you see people
running KCHAT, then you know they are wanting to chat. Run Kali
Chat by typing:
kchat
(Be sure to edit the kchat.cfg file)
The chat program is a rather simple IRC-like chat program. You can
talk to other players and decide which of the many IPX games you
want to play.
A Final Thought
Killing your friends across the Internet can be VERY addictive.
Have fun, but don't lose your "real" life just to play a game!
(*) Hey, since I'm making up this hypothetical example scenario, I
might as well go whole hog, right? ;-)
Registering Kali
Like so many of the games it supports, Kali is shareware. The
price of Kali is $20 (US dollars). When you register, you will get
your own personal serial number and key to unlock the full power of
Kali. The shareware version has a 15 minute time limit; the
registered version will let you play until you drop.
Once you register, you will be assured free upgrades when Kali is
improved...even if the price goes up in the future.
Send registrations (US check or money order preferred) to:
Jay Cotton
PO Box 282
Franklin Springs, GA 30639-0282
*include your email address for faster response!
For faster delivery and the convenience of credit cards, call Axxis
at the following number:
1-801-565-1443 (this is NOT 1-800; it is NOT a toll-free call)
To obtain Kali, log on to one of the following ftp sites (using
anonymous ftp). Change to the specified directory (e.g. cd
/pub/kali). Download the file kali11f.zip. This is the latest
version of Kali as of this writing.
ftp://ftp.axxis.com/pub/kali/
ftp://ftp.internexus.net/pub/kali/
ftp://kali.jedi.net/kali/
The following Web sites also include information and some files:
http://www.axxis.com/kali/
http://www.internexus.net/kali/
http://www.teleport.com/~caustic/
http://gremlinx.bevc.blacksburg.va.us/
Kali was written by Jay Cotton (jay@calc.vet.uga.edu).
(C)Copyright 1995 by Jay Cotton. All Rights Reserved.