OCSBot- v1.1 

Release Date: 10Feb09

Concept Creation: Thrawn, SysOp Outpost-4 TradeWars/TradeWars Academy
Website: http://www.outpost-4.com/tradewars

Core Coding: Promethius
OCSBot Recon: LoneStar


Introduction:

Welcome to my creation, the OCSBot. OCS stands for Officer Candidate School, which
was a design concept for training. The concept was to provide an online bot for
players to access database information relating to the game TradeWars. The player
can access a menu of various topics and have the info sent to them on a set SS 
channel.

Description:

OCSBot will sit in the game and wait until it is called upon. The script was 
created to use SS channel 4357, and will post this in a General Announcement on
a rotating schedule. When a player sets their SS channel to 4357, they can type
"ocsbot" on SS (no quotes) and the script will respond with a menu. If they want 
to access a selection, they type "ocsbot #" (no quotes), where # is the number 
assigned to that particular help file.

---------------------------------------

SysOp Installation:

For the SysOp to use this bot, we will need to perform a few tasks.

1. You will need twxproxy installed in a directory for the OCSBot. Most of us hosts
   run multiple instances for various scripts to run. For example, each instance
   of OCSBot I run is in the following structure:

		c:\games\tradewars\twxproxy_ocsa
		c:\games\tradewars\twxproxy_ocsb
		etc...

   Once you have the twxproxy installed for the OCSBot, extract the OCSBot dir in 
   this archive into the following directory:

		\scripts

   In other words, you will have the following:

		\twxproxy\scripts\OCSBot

2. You will need to setup the database file for OCSBot's TWXProxy to use. When you
   start your TWXProxy instance for the OCSBot, you need to go to the program's
   Setup section to create a New database.

		Name: OCSBot #  <----where # is the game letter
		Server Address: I enter the local address, or if on the same
			        machine as the TWGS, then local host is fine.
		Port: The port number to connect to TWGS. In my case, it's 2002
		Sectors: The # sectors for the game letter.

   So in my case, I would have the following:

		Name: OP4 OCSBot-B TWGS1
		Server Address: twgs.outpost-4.com
		Port: 2002
		Sectors: 20000 <---- my game B is 20k

   Also remember to set the port for the twxproxy instance.

3. Once you have created your database, the next step is to create an Observer
   account in the game. Go into your TWGS and access Tedit for the particular game.
   Add a User account and give it the following info:

		BBS Name: OCSBot-#  <---where # is the game letter
		Password: password of your choice (8 characters max)
		Observer: set to Y

   You can exit Tedit and access the game normally. Use the OCSBot-# and password
   you supplied in tedit to access and initialize the account. Name the ship you
   are given. Once done, quit the game and exit.

4. Now you are all set. You can start your TWXProxy instance and make sure the database
   you created for the OCSBot is loaded. You can either use ZOC, SWATH, or telnet to
   connect to your TWXProxy instance. When you connect, enter the game you are placing
   the bot and enter the OCSBot-# and password you supplied for that game. Once you are
   in the game, you can load the following script:

	ocsbot.ts

   The script will initialize and post a General Announcement on what SS channel to use
   in order to access the bot. That's all to it.

-----------------------------------------------

OCSBot Structure:

The OCSBot structure is very simple. I've created it this way so that other Hosts
could tailor it to their needs. The structure is:

	\OCSBot  <-- main directory where the ocsbot.ts script is located
	\OCSBot\Help  <-- this directory contains the help txt files the bot needs
	\OCSBot\Include  <-- this is the general announcement the bot posts on rotation


Adding Files to OCSBot:

If a SysOp wants to add additional files to their Bot, they can by performing the
following tasks:

	1. Locate the ocsbot_txt_tpl.txt file in the \Help directory. This file is a
           template file used to create the text files. Copy it and rename the copy to
           what you want to call it. For example, let's call it OCS_Goals

	2. Edit the ocsbot.ts script and look for the following:

	   :menu  <--- this is where the menu is created

 	   If you want to add more selections, follow the exact setup as the menu
	   shows.


	3. Edit the ocsbot.ts script and go to the bottom. Look for the following:

           :helpFiles
  
  	   setvar $helpFile[34] "Scripts\OCSBot\Help\TAC_DefPlanets.txt"

	   After the above line, you can add:

    	   setvar $helpfile[35] "Scripts\OCSBot\Help\OCS_Goals.txt"

	   You do this for each txt file you want to add.


Change the set SS Channel:

If SysOp wants to change the SS channel, you can by the following steps:

	1. Edit the ocsbot.ts script and locate the following:

		# set SS to channel 4357
		send "cn44357*qq"

	   Let's say you want to set to SS channel 5678. Edit the above to look like:

		# set SS to channel 5678
		send "cn45678*qq"

OCSBot Recon

The OCSBot Recon mod is loaded in the main script. When the recon script loads, it will
broadcast a message on FedSpace, and a TWX window will open up showing the OCSBot's location.

--------------------------------------------------

Version History:

v0.1- [01Sep07] First concept design completed.
    - [05Sep07] First core coding completed by Promethius.

v0.2- [01Oct07] Started adding txt files to the database.   

v0.3- [01Dec07] Restructured OCSBot. Grouped txt files in seperate directory.
      
v0.4- [15Dec07] Added the ability to post information in General Announcement.

v1.0- [17Dec08] Released OCSBot to public.

v1.1- [10Feb09] Added OCSBot Recon to script. OCSBot travels from Sector 1 to StarDock, returns.

--------------------------------------------------

Credits:

We could not have done this project without the help of Promethius. He took this on
when I was so busy and provided the core to our script. Also thanks to LoneStar for helping
with the OCSBot Recon script.

--------------------------------------------------

		