============================================================
Mod name:         Phineas Bot
Version:          0.22 (unofficial preview 3)
Release Date:     June 12, 2000
WWW site:         http://www.planethalflife.com/phineas
Author:           Leon Hartwig (jehannum@planethalflife.com)
Platforms:        Win32 + Half-Life client 1.1.0.0
                  Win32 + Half-Life dedicated server 4.1.0.0
                  Linux + Half-Life dedicated server 3.1.0.0
============================================================

DESCRIPTION
===========
Phineas Bot is a multiplayer-only, server-only mod for Half-Life that
introduces computer opponents (bots) into standard and teamplay
deathmatch games.

It was built with Microsoft Visual C++ 6.0, using the Half-Life Full SDK
2.0 Full.  My build/test system for Win32 is an AMD Athlon 650, 256 MB
RAM, and 3dfx Voodoo3 3000 AGP, running Windows 98.  My build/test system
for Linux is a dual Pentium Pro 200, 256 MB RAM, running SuSE 6.1.

INSTALLATION
============
Before installing, check to make sure that you have updated your Half-Life
program to the version specified above in 'Platforms'.  This mod will NOT
work properly (if at all) with older versions of Half-Life.

Two methods of installation are possible:

 INSTALL METHOD 1 (Win32):
  Extract this archive into the main Half-Life folder.  The archive is
  built with pathname information, so make sure to extract with a
  'use folder names' type of option enabled.  If properly extracted, a new
  folder named 'phineas' will be created in the main Half-Life folder,
  containing all of the Phineas Bot folders and files.  You may wish to
  copy over existing config files (such as autoexec.cfg, or config.cfg, or
  hw/*.cfg files) from your 'valve' folder into equivalent locations in the
  'phineas' folder.

  There are two ways to play Phineas Bot.  The first way is to start
  Half-Life and from the main menu select 'Custom Game.'  A new menu should
  appear, and in the game list in the box on the right of the screen,
  highlight Phineas Bot.  Now, click on 'Activate' and then 'Done.'  Now,
  you are at the main menu again.  Any games or servers that you start will
  now be Phineas Bot games.  You will need to repeat this process whenever
  you start Half-Life and want to play Phineas Bot games.

  The second way to play Phineas Bot involves creating a new game shortcut.
  Make a copy of the shortcut that you use to run the Half-Life game, and
  open the 'Properties' of the new shortcut.  Add the following text to the
  command line/target:

   -game phineas

  That's it.  Accept the changes of the modified shortcut and you can now
  use it to play Phineas Bot.

 INSTALL METHOD 1 (Linux):
  Extract this archive into the main Half-Life directory, If properly
  extracted, a new directory named 'phineas' will be created in the main
  Half-Life directory, containing all of the Phineas Bot directories and
  files.  To start a Phineas Bot server, add the following to the hlds_l
  command line:

   -game phineas

 INSTALL METHOD 2 (Win32):
  Manually extract or copy the 'phineas.dll' file into your 'valve\dlls'
  Half-Life sub-folder and the 'bots.ini' file into your 'valve' folder.
  DO NOT copy the 'liblist.gam' file over your existing
  'valve\liblist.gam' file.  Instead, use a text editor to edit the
  'valve\liblist.gam' file and change the 'gamedll' from "dlls\hl.dll"
  to "dlls\phineas.dll".  Now, when you start Half-Life or HLDS, Phineas
  Bot will be enabled by default.

 INSTALL METHOD 2 (Linux):
  Manually extract or copy the 'phineas_i386.so' file into your
  'valve/dlls' Half-Life sub-directory and the 'bots.ini' file into your
  'valve' directory.  DO NOT copy the 'liblist.gam' file over your existing
  'valve/liblist.gam' file.  Instead, edit the 'valve/liblist.gam' file and
  change the 'gamedll_linux' from "dlls/hl_i386.so" to
  "dlls/phineas_i386.so".  Now, when you start the Half-Life server,
  Phineas Bot will be enabled by default.

The first method is the standard method for installing mods.  The problem
with this method (applies to Windows only, not Linux) as of Half-Life
version 1.1.0.0 is that no models will show up in the game configuration
menus.  To fix this, the models you want to use need to be copied from your
'valve/models/player' folder into equivalent locations in the new 'phineas'
folder.  Some of the default models are located in the valve/pak0.pak file.
To be able to see those models in the player configuration menu, the
pak0.pak file must be copied to your 'phineas' folder, or you must use a
utility such as Pak Explorer (which can be obtained in the Files section of
the Phineas Bot site) to extract the models you want.

The second install method requires no copying of maps and models, but
requires the 'liblist.gam' file to be manually edited if you need to
switch between Phineas Bot and the regular Half-Life single player mode.
The second method has the added bonus of showing up as standard Half-Life
in server lists such as Gamespy, rather than as being a mod.  Since
Phineas Bot is a server-only mod, players connecting to the server do not
need to have it installed, so this is a good way to add bot play to a
regular Half-Life internet server without losing your player base.

USAGE
=====
Getting bots into a game is as easy as setting up a simple
configuration file.  Included in this archive is a sample 'bots.ini'
file that is fully documented and can be edited to your liking. There is
no need to use any console commands to get bots into the game; it is all
handled automatically based on the information in the configuration file.

Server commands:
"bot add"
  This is not necessary to use since the configuration file can
  automatically handle the adding of bots.  However, it may be useful to
  some people to be able to manually add a bot.  NOTE: This command can
  only be used once per second, and will only add bots from the config
  file.  You can not specify a name, model, and colors with this command.

Server variables:
"botcfgfile" (Default = bots.ini)
  This is the filename of the configuration file.  It is "bots.ini" by
  default.  Unless you want to change the name of your configuration file,
  you won't have to use this.

"pb_traceview" (Default = 0)
  Setting this to 1 will allow you to see where the bots are looking around
  them when deciding on a course of movement.  Useful for debugging
  navigational problems.  (Not recommended if more than 1 bot is in the
  game)
 
TROUBLESHOOTING
===============
If you encounter any problems with installing or using Phineas Bot, I
encourage you to visit the Phineas Bot web site, located at:

http://www.planethalflife.com/phineas

The web site contains a FAQ (Frequently Asked Questions) page, and a link
to the Phineas Bot discussion forums.  If your problem is not addressed
within the FAQ, I strongly urge you to visit the forums.  Most likely,
someone else has already asked about the same problem you are having,
and a solution will be posted.  If not, you can ask your question there
and I, or another Phineas Bot user, will address it where everyone can
benefit from the answer.

WHAT'S NEW IN THIS VERSION?
===========================
  * Upgraded the program to use the Half-Life SDK 2.0 Full version,
    which works only with Half-Life update 1.1.0.0 and newer.
  * Added a version check that prevents the adding of bots to a server
    that is older than version 1.1.0.0.
  * When WaitForPlayers is used in the bots.ini file, the bots will now
    exit the game after all human players have left.
  * Linux version no longer depends on stdc++ library.
  * New console variable: pb_nomove.
  * New console variable: pb_noattack.
  * New console variable: pb_nogather.
  * New console variable: pb_noreact.
  * New console variable: pb_ignorehumans.
  * When using the gauss secondary fire, bots no longer charge it up to
    maximum every time.

KNOWN PROBLEMS
==============
Aside from the main problems with the bot navigational and situational AI
being farily poor, some specific issues are:

* If you are using the Win32 or Linux dedicated server (hlds or hlds_l),
  avoid using the 'changelevel' command.  There are still issues with the
  engine that prevent the bots from working properly after using this command.
  The 'map' command, and level changes due to mp_fraglimit or mp_timelimit,
  will work fine, however.
* The bots don't know not to use the gauss primary fire when there is only
  one ammo unit left
* The bots don't know not to use the secondary shotgun fire when only one
  shell in the gun.
* The bots do not use hand grenades, tripmines, or satchels.
* The bots do not avoid dangers like hand grenades, snarks, tripmines, etc.
* The bots are not very proficient in ladder climbing.
* The bots do not fare well at all when in the water.

CREDITS
=======
Thanks to, in no particular order:

Valve Software (http://www.valvesoftware.com)
 For creating Half-Life and providing its customers with the SDK that
 allows the creation of mods like this.

Planet Half-Life (http://www.planethalflife.com) and
The Gamespy Network (http://www.gamespynetwork.com)
 For hosting the Phineas Bot web site and forums.

Lee Robinson (lee@leerobinson.f9.co.uk)
 For designing the layout and creating the logos for the Phineas Bot web
 site.

COPYRIGHT/LICENSE
=================
Copyright (C) 2000  Leon E. Hartwig III

This archive is presented by the authority of Leon E. Hartwig III and is
intended for the private use of my supporters.  Any redistribution or
other use of this archive, or any portion thereof, without the express
written consent of Leon E. Hartwig III, the Dallas Cowboys, and the
National Football League is prohibited.
