----------------------------------
WELCOME to MERVBot 1.20 readme.txt
----------------------------------

This document overviews as many of the areas of the bot as I could think of;
hopefully the FAQ will get nice and fat enough to handle any other questions.

---------------------
Important Information
---------------------

+ The bots need Super Moderator access or SysOp as a security feature.
+ The "Alias Search Engine" and "Monkey God" Bots must have sysop.
+ When MERVBot first connects to the server, it is an Elim Referee.

-----------
Setup Guide
-----------

1)  Extract all files in SSBot.zip to a new folder.
2)  If you want to create a new ranking database from scratch (!rank command in Elim), delete Rank.txt

3)  Open SSBot.ini by double-clicking.
4)  In the [Login] section, fill in:
     Name=Bob the Bot (Someone may have taken this name already)
     IP=(Dotted quad Internet Protocol address. Read on..)
     Port=(Remote subgame port. One more line..)
         You can find these two in FAVORITES.LST in your SubSpace folder.
         ie.                           (IP)     (Port)
         USD KHAOS Destruction !,  63.164.45.4,  7100
         #A zone built for Destruction !!!  by Coconut Emulator
     DefaultArena=The arena which your bot will start in.  Set to nothing for public arena
     AppendPassword=The zone's super moderator password.  Make sure the bot is on your smod.txt list
     Sysop=If you set the AppendPassword to your sysop password and the bot is in sysop.txt, then put "yes" here
     DiskLog=Log bot chatter messages to CHATTER.LOG? (=YES to enable)
5)  In the [Passwords] section, fill in:
      Bob the Bot=Bob's password.   
7)  Close SSBot.ini and save changes.

6)  You are almost ready to run MERVBot!  Just one more thing; you need to choose who can run the bot.
8)  Open Operators.txt by double-clicking.
9)  Take a look at the KEY a the top and erase/add operators as you need.
10) The operator names are NOT case sensitive. (gravitron = GrAvItRoN = GRAVITRON)
10) Close Operators.txt and save changes.

11) Run MERVBot.
12) It's reccommended that you send a copy of this file to anyone who is an operator.

---------
Bot Usage
---------

(A)lias Bot
+ Requires sysop for MacID and Creation Date logging. Will not crash or function without.
+ Allows you to compile player information databases to tie cheater's aliases to
  their normal names without a doubt. (Uses BanG's method)
+ You may import PLogBot PlayerData.txt files. MERVBot trims some information, however.

(B)ountyGame'Ref
+ Rules: One player is chosen at random to be a BountyRabbit(5000 bounty). Players who kill him
  steal away his bounty and become the new bounty rabbits. If he survives for 10 minutes, a new
  rabbit is chosen
+ !newpick command to choose a new rabbit. !rules and !status for game information
+ May be run in public arenas safely.
+ Greet message displays current rabbit.

(E)limRef
+ Runs RoboRef-style elims and races. (Team, Golf and Ship-restricted too)
+ Elim rules: All on own freq. Die <X> times and you are out. Last one alive wins.
+ Race rules: All on own freq. Kill <X> times and you win.
+ TeamElim rules: All on two freqs. Die <X> times and you are out. Last team alive wins.
+ Golf rules: All on own freq. Start with one point. Die to lose a point. Kill to gain a point. Lose all points and you are out.
+ Simply !enable an ElimRef and it does the rest through median voting.
+ Operators may force game styles during the 10-second wait period.
+ !rank <name> command makes elim games competitive.
+ !rules command shows elim rules without repetitive arena messages.
+ Can only be run in private arenas.

(Z)ombieRef
+ Runs a match of Zombies.
+ Zombie rules: All on freq 0. One on freq 1. Die and you move to freq 1.
  Last on freq 0 wins.
+ May be run in public arenas safely. (No score resets)

(S)WZ-style ship checker
+ Keeps players in the correct ships according to SWZ ship-restriction rules.
+ !cap <name>, !yellcaps, !info <name> make running a capital-ship enhanced game simple.
+ Runs in public arenas and private arenas.

(D)SB-style ship checker
+ Keeps players in the correct ships according to DSB ship-restriction rules.
+ Runs in public arenas and private arenas.

(C)onquerRef
+ Runs a new game I invented last year.
+ Conquer! rules: All on own freq. Die and you get moved to your killer's freq.
                  Team with all players wins.
+ This works because the bot is fast, and because it keeps a record of team owners to prize
  when a team wins. Anyone may see this list with !status.
+ When a team is wiped out completely, a distinctive sound is played. Another is played on the
  final kill.
+ Runs in public arenas and private arenas.

(M)onkey God Bot
+ Changes settings every 30 seconds (customizable)
+ !reset command to restore old settings

------------
Command List
------------

(KEY) - User must have this level of access at least to use the commands..
P: Public  |  Normal Player
I: Simple  |  Moderator
A: Account |  Super Moderator
S: Super   |  SysOp

+ All MERVBot favors
P:!help            - Display a list of help catagories.
P:!help <catagory> - Display commands in the given catagory.
P:!status          - Show game status.
P:!rules           - Lists game rules.
P:!listops - Public access only sees online 'ops. Simple to Super may view all. An '#' in place of a ':' means he is online and has 'op abilities.
P:!lag     - Display bot lag. Accuracy is only shown from Simple to Super access (higher = better)
P:!exit    - Get perm spec'd if "player suiciding" was enabled with the !suicide command.
I:!suicide < on / off >    - Allow anyone to use the !exit command.
I:!eventeams < off, 1-10 > - If a team has <the given number> or more players than the other, then the bot switches until the teams are even.
I:!enable                  - Turn on the bot's game feature/ship-checking function.
I:!disable                 - Turn off the bot's game feature/ship-checking function.
I:!go < arena name >       - Move the bot to a new arena.
I:!spec < off, 1-10 >      - Spec's players with deaths greater than or equal to the number given.
I:!ship < off, 1-8 >       - Keeps players in the ship-type given.
I:!advertise <message>     - Sends a *zone message with a -Name tag at the end.
I:!door < 0-255 >          - Sets Door:DoorMode=What you want.  0 = all doors off, 255 = all doors on.  Requires SysOp
A:!op < name >           - Add a simple operator.
A:!dop < name >          - Delete a simple operator.
A:!setprize < number >   - Change the periodic prize. (Will only echo this with an *arena message if periodic prizes are enabled)
A:!prizetime < seconds > - Change the time in seconds after which each prize is given. (Ditto)
A:!prizes < on / off >   - Turn periodic prizes on or off.
S:!op < operator level > < name >     - Add an operator of the given type.
S:!spawn < bot type > < bot name >    - Create a new bot of the type and name given. New bots will spawn in the arena of their parent.
                                        Choices: |!spawn (A/S/E/Z/D) <name>|  [(A)lias finder,(D)SB Ship-checker,(E)lim/race,(Z)ombies,(S)WZ Ship-checker]
S:!close                              - Close the target bot spawn. If it is the last spawn, the bot will not close.
S:!terminate                          - Close all bot spawns.
S:!say < :Catid:Hi, //Hi, ;X;Hi, Hi > - Make it say something; this is a good reason not to give non-SysOps Super Access.
S:!attach < on/off >                  - Attach or dettach. Must be in a ship on your freq.
S:!error < chat channel >             - Dump red server error messages to the channel given.
S:!logscores < on/off >               - Log wins/losses/flag victories to Scores.txt

+ Elim Referee
P:!rank < name >                                       - Returns a bunch of player ranking stats.
I:!force < game number > < max deaths / target kills > - During the 10 second wait period, you may change the game type.

+ Conquer Referee
P:!owner <freq/player> - Show freq/player owner.

+ Monkey God Bot
A:!rate <1 to 120 seconds> - Adjust interval between each change.
S:!reset - Reset settings to the original version.
           WARNING: Enabling the bot overwrites old settings!

+ Zombie Referee

+ BountyGame Referee
I:!newpick - Randomly pick a new rabbit.

+ Alias search engine
P:!alias < name > - Display all other names the player has from PlayerData.txt.

+ SWZ Referee
P:!listcaps      - List all capital ships.
I:!cap < name >  - Add a capital ship.
I:!dcap < name > - Remove a capital ship.
I:!yellcaps      - *arena shout out all capital ships.
I:!info < name > - Display number of times capping within the current day and for all time.

-----------
MERVBot FAQ
-----------

Q: What is a MERVBot?
A: MERVBot is a server-side bot, which runs Elim/Race, Conquer!, Zombies and does SWZ & DSB ship checking.

Q: How do I use the other bots built into MERVBot?
A: Log in as a SuperOp in Operators.txt and use the !spawn command listed above.

Q: I have problems connecting or "Winsock could not be loaded."  HELP!
A: Try this link for a Winsock update:
   http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetworkingtools/w95sockets2/

Q: I added someone as an operator but he doesn't show up with a # next to his name in !listops.
A: Ask him to reenter the arena. If he is still not an operator, check spelling.

Q: Will the bot respond to remote private messages from another arena?
A: No and it will not respond to macros. However, it will respond to private, team, or team-private messages.

Q: I have the bot set up, but nothing happens.  What's wrong?
A: 1) Make sure it's a SMod by typing |/!say *zone I am SMod|.
   2) Type |/!enable|.
   3) Zombie and Elim bots require a number of players to be in the arena before they work.
   4) Ship-checkers only work when someone changes INTO an illegal ship while the bot is enabled.

Q: I'm using ZombieRef or ElimRef and noone is being eliminated!  What should I do?
A: 1) Type |?set Routing:DeathDistance:16384| as the arena owner.
   2) The bot is just like a player, and if this isn't set up, he won't be able to hear the kills all the way from A1.
   3) SMods cannot spec or change the ships of SysOps; therefore, change your own ship and spec yourself when the bot would.

Q: How do I make the bot go to a public arena?
A: Set |Login:DefaultArena=| in SSBot.ini before you run it, or type |/!go|

Q: I need help with something that isn't explained (well enough) here.
A: Look below.

------------
Tech Support
------------

Email: Catid@pacbell.net
ICQ: 18736684

Before reporting a bug, download the latest version from my site:
www.spaceduck.cjb.net/catid.html

--------------
Special Thanks
--------------

Coconut Emulator - for causing me to hit myself in the forehead when
I asked him to hack the position packet checksum.

MikeTheNose - for expert advice and plenty of niffty ideas!

Ookii Hentai - for Sarunokaminorobotto! (Monkey God Bot)
