Q. What is Kali anyway?
Kali is an online gaming system. The Kali software can browse and filter
all the Internet game servers for a particular game as well as search for and launch other multiplayer games
with players in Timbuktoo or on a home LAN (Local Area Network).
Kali was the first to prove online gaming a
reality (yes, even before Gamespy), and it continues to provide the fastest and
most flexible game browsing system anywhere.
Q. I registered Kali back in the old days; can I still use my old registration codes with the
new Kali software?
Sure! We mean it when we sell registration codes for life. When other services have bit the dust, Kali
continues to offer a superior online gaming experience.
However, if you did not keep a record of those codes, see below.
Q. I lost my registration codes! Can you look it up for
If you are a "new" user (registered in 2003 or later) you may submit a request through the Lookup
form and provide information on your account to enable us to look up your codes.
Note to Legacy Users: If you registered prior to 2003 there is no guarantee your codes can be recovered. Kali has gone through changes of
ownership before 2003 but rest assured it is back in the hands of the original developer, who is personally devoted to Kali!
However, we do not have access to all of the old registration information. What information we do have has been made available through a special
Q. How do I setup games in Kali?
Although Kali normally does this for you, sometimes it's necessary to manually configure a game, or tell Kali to re-scan for games
(like after you install a new game). If you have a game that Kali doesn't yet support, see the topic "How do I setup and test a
custom game on Kali?" to setup and test those games.
Scan for Games:
The easiest but often the most time-consuming way to have Kali setup games is by using the "Scan for Games" option in the Games
menu. This tells Kali to search all of your local drives to find any games that it doesn't already know about. This option is run
for you automatically when you first install Kali or upgrade to a new version.
When you select this option, Kali presents you with a question: Do you want to keep all of your current launch and game button information?
If you answer "Yes" (recommended) Kali will simply add any new games it finds. If you answer "No" Kali will delete all of your
current game information and start all over again. Press Cancel to abort the scan.
Once the scan begins, Kali will display it's progress and allow you a few options. You can "Skip this drive" if Kali is scanning a drive that
you know doesn't contain any games. You can "Stop Search" if you want Kali to stop and process just the games it's found so far. You can also
"Cancel" and have Kali abort the entire scan.
Once the scanning is complete (or if you press "Stop Search", Kali will display the games that were found. Sometimes you will see thigns here you
didn't expect. That's because finding and identifying games involves a little guesswork and sometimes you see games that you don't really
have. Be sure not to add those games or you may get unexpected/undesired results. If there are games listed that you do not want to add,
simply double-click those games and they will be moved to the "Do Not Add These" category.
When you are satisfied with the list of games, click "OK" and Kali will automatically setup default options for all of the listed games.
Manually adding games:
To add a game manually, one that Kali supports, select the "Game Resources" option on the left side of the Kali window near the bottom of
the "tree." The easiest way to manage your games is by expanding that folder (click the + to the left of the "Game Resources" folder) and selecting
The My Games window shows a list of all of the games Kali knows about on your PC. You can double-click the <Add New Game> option to add a
new game. Select the type of game from the long list (yes, quite long...over 360 games in the latest version) and click OK. The next screen will
allow you to specify the location of the game and other options which are game-dependent. Here are some of the most common options:
- Description: for your own use. Enter anything you want here. It's not used by Kali for anything.
- Program: enter the path and name of the game's EXE file here. Something like "c:\games\bridge\bridge.exe". You can also use the "Browse" button
on the right to locate the game, or you can simply click the "Find" button and Kali will search your PC for the game.
- Command Line Arguments: if the game has any special commandline arguments enter them here. If you don't know, just leave this blank. Kali will
often provide some default options here. When it does, it's a good idea to leave those as-is since they are sometimes necessary for proper operation of
Under most circumstances the other options on this page should be left alone. Kali automatically selects the correct options for all of the
games it knows about and changing these options can cause the game to stop working. If you change any of these options, and wish to reset them to the
default values, click the "Set to Defaults" option at the bottom of the dialog.
Q. How do I setup and test a custom game in Kali?
If you have a LAN game that Kali doesn't yet support, you can still setup Kali to
test and/or play this game with a few simple steps.
1. Open Kali and select the "Game Resources" option on the left side (at the bottom of the
2. Select "Add Custom Game" from the Games menu at the top of the screen (or right-click the
Game Resources folder to find the same menu).
3. Enter data as follows:
- Game: enter the name of the game. This is the name other people will see when you host
- Description: for your own use. Enter anything you want here. It's not used by Kali for
- Program: enter the path and name of the game's EXE file here. Something like
"c:\games\bridge\bridge.exe". You can also use the "Browse" button on the right to locate
the game, or you can simply enter the EXE name (e.g. "bridge.exe") and then click the "Find"
button and Kali will search your PC for the game.
- Command Line Arguments: if the game has any special commandline arguments enter them here.
If you don't know, just leave this blank.
If you want this game to appear with an icon on your list, click the "Change" button near the
top-right to select the .ico or .exe file that contains the game icon.
- Needs Winsock support: any Windows game that uses IPX or UDP will need this option selected.
Normally only DOS games wouldn't need this checked.
- This is not really a game...: select this if you're only using this game entry as a shortcut
to run some other program and do not want Kali to treat it as a game. Some people use this feature
to add shortcuts to their game toolbar (which shows up in chat) to launch other applications like
- Use these settings even if multiple configurations exist: if you have more than one copy of a game,
and don't want Kali to ask you which version to use each time you host or join that game, select this
option to tell Kali to use this instance of the game by default when hosting or joining.
- Uses Safe-disc/Use Alternate IPX support: some games will not work using Kali's default IPX emulation
due to certain CD protection and anti-hacking schemes. If the game refuses to run from Kali you might
try selecting this option to see if it helps.
Once you have added the game, you need to test it. Find someone else with the same game, get them to
add the game in the same manner, and then one of you host a game and have the other join. Does it
work? If so, report your success! See How can we get new games added to Kali
report a new game. See How do I host and join game lobbies
for information on setting
up and playing a game on Kali.
Click OK to save your changes. See How do I host and join game lobbies
information on playing games once they are setup.
Q. How do I host and join lobby games on Kali?
First, be sure you have setup the game you want to play in Kali. Kali can automatically find and setup
most games for you, but sometimes manual configuration is needed. See How do I setup and test
a custom game on Kali
for setting up games that Kali doesn't yet support or How do I setup games in Kali
for more information on setting up games that Kali supports.
Select the "Game Lobbies" folder on the left side of Kali (in Kali's "tree" list). This main lobby folder will show all currently hosted
games that are still joinable. There are sub-folders that can be seen by clicking the +box to the left of the "Game Lobbies" folder which break
down the lobbies into specific game folders. You can view or host games using either the main folder or any of the sub-folders.
To host a new game lobby:
1. Double-click the first line that says "<Start New Game>" to host a lobby. Select the game you wish to host and click "OK" to continue.
2. The next screen shows "Game Options". On this screen you can change the default behavior of the game lobby, but in most cases you can skip this
and simply click "OK" to start the lobby. Some of the most commonly used options are:
- Max Players: limit the number of people who can join this lobby. The maximum permitted changes based on the type of game
- Leave open for others to join after game starts: selecting this option causes your game lobby
to remain open even after you launch the game. This will allow other players to join the game
in-progress. Not all games support this option. If not selected, the game will disappear from the
list of game lobbies once the game has started.
- Block non-regged users: this option currently has no effect since all users are currently "registered".
- Allow unknown versions: some games aren't picky about allowing different versions to play at the same time.
If different versions are compatible, and you want to allow people to join using unknown versions, you can
select this option. To prevent someone from using a hacked version of the game, select this option and Kali
will only allow "known" versions to connect to your game.
- Only allow this exact version: select this option if you want only those people with the exact same version of
the game to join your lobby. Some games require this option because different versions are incompatible.
- Maximum Ping Value Allowed: set this value to restrict access to your lobby to players who have a ping
below a certain limit.
- Use these settings at the new defaults: selecting this option causes Kali to remember the settings
for the next time you host this game. If you un-check this option, Kali will not save the current
Click "OK" to continue to the game lobby.
3. You now have a new window which has a chat area, list of players, and a list of game settings.
If you selected the option to "Leave open for others to join after game starts" you can actually
go ahead and launch the game by clicking the "Launch" button on the toolbar (4 arrows pointing to
the center). Otherwise you must wait for at least one player to join the lobby before the launch
option is available.
4. Type "/help" for a list of commands available in the lobby. As a host you have special options
not available to other users. You can chat here as long as desired and launch whenever you are ready.
To join a lobby game:
1. Browse either the main "Game Lobbies" folder or any of the sub-folders for a game you wish to join. On Kali
versions prior to 2.5 the games with brackets "" are games that are in-progress. Games in-progress are represented
by the yellow arrows. Green arrows indicate lobbies that are still forming.
2. Double-click the lobby you want to join. If you have already setup the game, Kali will put you right into the lobby
(or if the game is in-progress, launch the game for you). If you don't have the game configured yet, a new game
settings screen will appear. See How do I setup and test a custom game on Kali
up games that Kali doesn't yet support or How do I setup games in Kali
for more information on
setting up games that Kali supports.
3. If you join a lobby that is still forming, a chat screen will appear. There is a button on the toolbar, the same 4
arrows used to launch a game as a host, which allows you to set your "ready" state. If ready, be sure the button is
depressed. If not, click it to become "un-ready".
4. When the host is ready, he will launch the game for you. Just chat and be ready for it to start.
Notes on hosting or joining lobbies:
When the game is launched, what happens next depends on how much support Kali has provided for the specific game. In
some cases Kali is able to launch you directly into the multiplayer game. However, in many cases Kali simply runs
the game for you and leave you to handle the setup. In those cases, it's up to you to select the menu options within
the game to host or join a LAN game. Normally the host of the lobby would host the LAN game and all others would join.
How that is done is different for every game and beyond the scope of this FAQ.
Q. Somebody is being really offensive and bugging me; what can I do about it?
Tell them to play nice! Seriously, Kali is a community and some minimal standards of behavior do apply.
See our online Player Guidelines
for more information about what may constitute actionable
behavior. Remember that there are always going to be assholes out there, and that is why Kali has an "ignore" command. If you have
tried to resolve a conflict in good faith and you believe the other person's behavior amounts to a violation of the Player
Guidelines, you may contact email@example.com
to state your claim.
Make sure you turn on chat capture
under File/Capture to File
the relevant capture file(s) along with
your complaint. Kali reserves the right to
suspend or ban your access to the service for violations of the Player Guidelines.
Q. What does it mean when I purchase a "lifetime subscription" to Kali?
It means that as long as the Kali System lives (and it has survived for quite a long time!) you
have free Kali software updates and unlimited access to the Kali System (subject to reasonable technical downtime and provided you do not violate the terms
of the Kali License Agreement
Q. How can we get new games supported by Kali?
If you have a LAN game (IPX or TCP/IP LAN) that works on Kali already
(see How do I setup and test a custom game in Kali
) then send me:
1. The game name (spelled and capitalized properly);
2. The version number you tested (i.e 1.0, 1.2, 2.0, etc.);
3. The name of the EXE that you used to start the game (must be an EXE, not a batch
4. The CRC which Kali displays instead of a version number (displayed in parenthesis
next to the game name); and
5. An icon for the game (.ico file).
Also, it helps a lot to know if the game is using IPX or TCP/IP when you run it under
Kali so we know what messages to display. If you have multiple versions please send
the version number and CRC for each version (including different language versions). If
you know which versions are compatible or not compatible please include that
information as well.
For DirectPlay games, Kali already detects these automatically. Still, if you have
some of these games, and they are not listed under Kali's Game Resources, let me know
about them and I can list them as well. For more technical users, try setting these
games up manually instead of using the automatic DirectPlay support and see if they
work on Kali in normal LAN mode instead of DirectPlay lobby mode. Usually this isn't
quite as smooth as the DirectPlay launching method, but can often be used to play DP
games through a Proxy/NAT where normally the game wouldn't work.
Next, for the game browser (NOT LAN GAMES), to add a new game, I need a lot of
information and would be VERY grateful for any help from you guys. I need most of the
same info above, but also need to know where to query for a list of servers (usually a
master server of some type), how to query that server (some sites post information on
obtaining the lists...including packet structures), how to query the servers (again
I need full details and packet structures), how to ping the servers (if there is a
smaller packet than the normal query packet), and commandline options for launching the game.
Note, many games use an existing protocol (based on Quake2, or another game). If you
know the game is similar, but just uses a different key name or master server location
you can send me that information and I can probably get most of it working. I can
easily test the query code myself, but will have to send back a test version of Kali to
test any launching code.
Q. Why do I get this NAT error message?
That error is caused by a connection problem, most likely a NAT router you have
setup to share an Internet connection. Sometimes your ISP sets up the NAT configuration making it harder
or impossible to fix.
What is NAT?
It stands for Network Address Translation. NAT is used to allow multiple PCs to share a single IP#. Most DSL
and Cable modem routers use some form of NAT to allow you to share an Internet connection and programs like Wingate
and Microsoft's Internet Connection Sharing (ICS) use a software NAT solution to allow connection sharing on a single
In most cases Kali works seemlessly through NAT. Many users can simply install and run Kali without ever knowing
about these problems that keep other users from enjoying Kali.
Why doesn't my NAT setup work properly?
It's probably because your NAT router (either hardware or software NAT solution) doesn't properly handle UDP packets.
Most of these NAT systems handle TCP properly as TCP is used for web browsing, email, ftp, and even some games. However,
UDP isn't as commonly used as TCP and in most cases UDP isn't used for peer-to-peer connections. The most common use of
UDP is for DNS lookups (when your web browser takes a name like www.kali.net and turns it into an IP# like 18.104.22.168).
A very crude NAT system can handle this very simple use of UDP, but anything more complicated will fail. Kali uses UDP and
when bad NAT routers are used with Kali, things can go wrong.
What goes wrong?
Kali uses peer-to-peer instead of client-server technology. There are many reasons for this setup including
efficiency, performance, and LAN emulation requirements.
In any case, peer-to-peers means that your PC directly communicates with every other PC connected to your game lobby
or chat server instead of only communicating directly with the Kali Servers.
In a normal (non-NAT setup) Kali will send and receive all data on a single "port". A "port" is a simple way TCP/IP
uses to allow different applications to use the same connection without getting data mixed up. Kali, by default, uses
UDP port 2213. That means that anything sent to your PC and labeled with port 2213 will be sent to the Kali application.
This allows any user on Kali to send data to your PC by referring to your Internet IP# and the Kali port number.
With NAT, your PC must share that ip# with other PCs on the LAN. If two PCs on the LAN both tried to use the same port,
communications would get totally mixed up. Data that was supposed to go to one PC would go to both PCs and it would be
impossible to communicate properly. NAT systems "solve" this problem by translating the port numbers so that the rest
of the internet sees each PC on a different port. Usually this solution works, but sometimes the NAT system behaves
poorly and causes trouble.
One common example of bad NAT behavior is only allowing one "connection" at a time on a port. UDP is supposed to be
connectionless. You should be able send and receive packets from one port to any number of other PCs, but these poorly
designed NAT systems make the assumption that like TCP, UDP must be only allowed to communicate with one other PC on any
given port. This is simply wrong and what happens in Kali depends on how the router handles this. Some routers will
create new NAT ports for each PC you communicate with which cause all sorts of strange behavior in Kali. Other NAT systems
simply block the other clients and causes Kali to have trouble communicating.
What can you do?
If Kali works on one PC, but fails when more than one PC uses Kali at the same time,
the fix may be simple. No matter what the problem, it's always a good idea to set each PC to use a different port in Kali
and avoid conflicts on the NAT system. By doing this you can prevent most of the NAT related problems since the port contention
no longer becomes a factor.
To change the port, run Kali, go to the File menu, select Settings, click the Advanced tab and enter a value next to "Local
Port". Each PC on the LAN should have a different port in Kali. Just use numbers like 2213, 2214, 2215, etc.
Another common setting that can usually help involves enabling the "Special NAT Processing" in Kali. You can do this under
the "Proxy" settings (File menu, Settings, Proxy). In some cases you may need to manually enter the local ip# of the other
PCs on the LAN, but usually this isn't necessary.
After doing both of the above, if you still have trouble, check to see if your router allows "static" port mappings or "pin
holes". If so, for each PC, add it's local ip# and the port you setup in Kali for that machine. Each PC needs to have its
own "pin hole" or "static" mapping with a unique IP# and port. Be sure to setup these entries with "UDP" ports and not "TCP"
(selecting both is ok, as long as UDP is selected).