Help file for the hal TFC admin bot and the hal client

Version: 1.8 beta

 

By Tony Johnson ([email protected])

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

 

Contents:

 

1) Introduction and installation

2) Getting hal to connect to the server

3) Using hal to control the server

            - Using hal from outside the game

            - Using hal from inside the game

4) Setting up user accounts

5) Configuring user levels and votable maps

6) Logging on to the server

            - Logging on from the client

            - Logging on from the server program

 

 

 

1) Introduction and installation

 

There are two parts to the hal software, the server program and the client program. Since the server program is the most important, I will start with that. The hal server program is the piece of software that is run by somebody who knows the rcon password for the server and is willing to be in control of the server for the period of time that the program is running on their machine. The hal server does not, and normally is not, run on the same machine as the Half life server is running. It is versatile in that sense, and because it does not have to be installed on the server itself (unlike other mods), it is perfect for those clans that borrow servers for matches or practices, since they have control for the time they know the rcon password and they do not need to change anything on the server whatsoever.

 

Once running and correctly configured (see chapter 2), hal will connect to the server and introduce itself to the players on the server. From this point on the person running hal has full control of the server, as if they were sitting in the console in half life with the rcon password and port ready typed. From here the person can talk to the players in the server via the box underneath the messages window, and he can see their response. By removing the "say" command that is placed by default in the box, they can execute any command on the server as they desire, as if sitting in the server room with the console up on their screen (no need to type the "rcon" prefix to any commands). For example, they may want to change the map ("changelevel 2fort") as well as all of the other half life server commands, which fill up a document about 35 pages long, and I'm not including it. You can find the guide (server and client commands) at the half life command centre (http://www.planethalflife.com/commands).

 

Regarding the hal client program, this program is used by people who want to communicate with the hal server program to authorise themselves before they join the game. It is very simple to use and is covered in chapter. To install the zip, use winzip, or any other unzipping program to extract the files to a directory of your choice, and double click on the halclient.exe file to run it.

 


2) Getting hal to connect to the server

 

The degree of difficulty that you encounter upon configuring hal to correctly connect to your game server will depend upon your network set up.  At home, I am in possesion of a cable modem connection and a small hardware router PC, with NAT and the like. This only incited me to ensure that hal would work with almost any network situation it was faced with.

 

Before I leap into the complexities of getting hal working in a complicated network environment, I'll start by describing how to get it to work if you have a direct connection to the internet (dial up, or cable modem plugged straight into your computer, and other types where the IP address that your computer has, is the same as the IP that someone else would be able to reach you at). If you don't know what I'm talking about, this is probably all you need to do:

- Load up hal and goto the setup. In the connection tab, click "Get IPs on startup".

           

- Every time you load hal, it will detect your IP address.

 

- Type in the server IP and port, and the rcon password into the appropriate boxes.

 

- If you have a firewall, ensure that it allows port 28889 on TCP through

(as a server), and whichever port you choose in the "log port" too.

 

- Press the "Connect" button, and hal will connect to the server and announce its presence to all those playing.

 

- From here you have control of the server, and everything should be working properly.

 

- If you receive a "Time out" error, see the next section to try to work out what is wrong.

 

To access the boxes that I describe in this section, you will need to press the "Advanced" button after hal has loaded.

The three boxes are used in the following way:

The "Bot IP" is the IP address of your computer. This must be the IP of the computer you are running hal on, since this is where the connection is started from. If you are using NAT or some such connection sharing and you are not the "host PC", then you must set this to your internal IP address.

 

The "Bot port" is the port that all data from the game server will be sent to on your computer. You can change this so it is easier to use "port maps" or "port forwarding", on linux.

 

The "Log IP" is the IP address that the game server is told to relay all the information about what is happening on the server to. This must be the external IP address if you're in a NAT situation. Imagine you were at the game server, and wanted to send a message to your PC, the IP address that you would use is the one that goes here.

 

The "Advertised IP" is the IP that the server sets so that people using the hal client can connect to the hal server. Imagine you were sitting at someone's PC playing on the game server, and you want to send a message to the hal server. The IP address you would use is the one that goes here. If you think of two situations for this, ie: hal on a local server, game server on the LAN, but you want people to be able to use the hal client from inside and outside the network, this is covered in the last chapter.

 

When you have decided what IPs to put in the boxes, do so, and press connect, and it will work.

 

If the progress box does not get past “Checking server…” then it is likely that the game server is offline or that it cannot be reached from your pc. Try pinging the game server in Gamespy or your favourite server scanning program. Also try pinging the server from dos. If these turn out to be successful, try changing your bot port.

 

 

NB: If in any of your server config files, there are options to change logging settings, you must remove them otherwise hal will lose connectivity on map change.


 

3) Using hal to control the server

 

            - Using hal from outside the game

 

When using hal from outside the game (on the desktop), it is best to imagine that you are sitting on the computer running the game server. The box underneath the “Messages” window is for entering commands to send to the server.

You do not need to type “rcon” before any of the commands that you enter into this box. Treat them as if you are typing them straight into the game server console. These are not hal commands. These are sent straight to the server, and are used in the same format as rcon.

 

Example commands:

 

say hello” - Makes the console say “(botname) <your text>” to all the players in      the game

 

changelevel 2fort” ­– Changes the map to 2fort.

 

kick <playername>” – Kicks the player from the game.


As you can see, these commands are identical to any rcon commands that you have used before. These are not the same as hal’s in-game commands.

 

The “Current Users” box shows a list of all the people currently in the server at the time. This list is updated every 15 seconds, and when anyone joins or leaves the game. To kick or ban or temporarily ban (30 minutes) someone from the server, click on their name in the box, and the hit the appropriate button above it.

           

 

-Using hal from inside the server

 

Using hal from inside the game server is as simple as talking to another player. You do not use the console at all to use hal, you use global chat (defaults to the “Y” key).


To speak to hal, press Y and then say “hal”, or whatever the bot is named. The bot will respond to you with a greeting. For a list of commands that you can use with hal, look at the “commands.txt” file which was included with this installer.

They are also all on the website at http://come.to/halbot.

 

Some commands in hal can only be used by people with a certain “authorization level”. The reason for this is to stop people who should not have control of the server from using commands that they shouldn’t do, like “kick” or “ban” or “map” for example.

 

To find out your access level, type “hal access”. For your auth level to be anything other than zero, you will need to have a user account on hal, and have used the hal client to authorise yourself. This is covered in the next two sections.

 

IMPORTANT: Because of the way hal's command interpreter works, to issue commands to people whos names have spaces in them, replace the spaces in their name with a ".

eg: Someone called [ILP] -FD-

 

You would say: hal kick [ILP]"-FD-


4) Setting up user accounts

 

User accounts are what you need if you want to have a high authorization level in the game so that you can use privileged commands. It is important that the person who runs hal on a server has set up the users correctly so that the people who he or she wants to give access to, can obtain this access.

 

To set up a user account, goto the options menu, and click the “users…” option.You will be presented with a screen.

 

From this screen you can add, delete and edit the users in your system, the process for which is very obvious. Importing and exporting files allows you to export and import from and to .hal files so you can share your users with other people using hal.

 

The user level that you give them relates to the range of commands that they can use. This is determined by what levels you set in the “options > setup” menu, where you can determine the minimum user level required to use the certain commands. Some of the levels apply to more than one command:

 

The server shutdown level, also used for “deauthall

 

The server restart level, also used for “lan” and “exec”

 

The friendly fire level, used for all the class limits, “timelimit”, “startnow”, “abortvote”, “footsteps”, “prematch”, “ceasefire”

 

 

 

The name that you enter for the player here must be exactly the same as the name that they connect to the game server with. If it is not, authing will not work. If the player you wish to add has stupid characters in their name, get them to change it.


 

5) Logging on to the server

 

By logging on to the server, you are letting the hal server know exactly who you

are and for authorising to work, you must have a valid account on the hal server.

 

            -Using the hal client

 

The hal server will not authorise a player just by their name, that would be far too insecure. The player must use the hal client before they connect to the game server, where they enter their player name, the password you specify for them in the users section, and the game server IP address and port. Then they press connect, and after it has authorised them, join the game server.

 

When they use the hal client, the hal server will authorise them if they have the correct username and password combination. They will be added to the “IP Watch” list, and this will appear in the lower right hand, green, box on the hal server screen. The hal server waits for a connection from that IP address with someone with that name, and when it finds that, it authorises them in the game, and they can use the commands that you allow them to.

 

Normal players joining the game do not need to use the client, only people who are specifically authorised to use hal’s higher level commands.

 

The hal client includes the functionality to deal with complex network situations.

You can use a manual override on the ip for the hal server by using this string in the “server” field:

 

hal: <hal server ip>,<ip that the server will see you connect from>”

 

eg:

 

hal: 10.1.1.2,62.225.177.25”

 

Note the comma separating the two addresses, the semicolon and the space after hal

 

 

            -Using the hal server


The hal server program also includes a built in hal client. If you press the “Log on” button, underneath the “h”, and fill in your details, which must match the details in the users file, and the ip address from which the server will see you connect from, then when you join the game, you will be auth’d in the same way as the hal client would work.

 

 

Thanks for using hal, please check the site for updates

http://come.to/halbot

 

© Tony Johnson 2001