What is HS3

HS3 (Hardwar Server Status Script) is a server-side script that monitors a Hardwar dedicated server game. It restarts the server following crashes, runs automated cleans, and backs up saves and data. It extracts data from the game (via telnet), processes it, and produces a micro-website. The website contains information on server setup and status, and pilot/hangar data and statistics. HS3 includes a robot ("H") that players can communicate with in-game. It allows a range of additional functions, for example, players to exchange private messages.

HS3 was never completed, and is not finished software. I have made the code available for download below, but this is only recommended to people with reasonable knowledge of computer programming and internet servers. This code is not supported or fully documented.

Download

Documentation

Available documentation is shown below:

Mini FAQ

I the absence of complete user documentation...

How often does the homepage update?

By default, once every 30 seconds. However, this figure can be configured by the server admin.

Why is the pilot data not current?

Pilot data is updated with each update cycle for pilots that are online, or pilots that have just gone offline. In each update cycle two other pilots are included. The first is the active hangar-owning pilot with the oldest last update time. The second is the active pilot with the oldest last update time. In short, online pilots should always be current, offline hangar-owners (who may still earn money when offline) will tend to be recent, while pilots without hangars (who shouldn't change) will tend to be older.

How do I post on the bulletin board?

Send a private message to H. For more information, read the H User Guide.

Why doesn't "H" talk to me?

Command TELL doesn't work for pilot names that contain spaces, so if your pilot name contains a space, you'll never get a response from "H". H does still process all your commands correctly, so if you can remember the correct sequence of commands, you can theoretically send messages.

How is "days online" calculated?

The time online is stored by HS3, not the game itself. If a pilot is currently online, and was online at the previous update, their online time is incremented by the amount of time between updates. This isn't perfectly accurate, but it gives a good indication.

Why has my pilot gone inactive?

Inactive pilots are either dead, or have last logged in via telnet. Inactive status is normally only registered after a server restart (commonly a clean). Inactive pilots can only be reactivated by going online with the pilot.

Who are "A" and "H"?

'Bots. "A" collects data direct from the server. "H" collects and sends data from/to individual pilots.

Why are "kills per day" and "cash per day" zero?

These values are only calculated for pilots that have played more than one day.

If "up" means the server is up, and "down" means it is down, what does "unknown" mean?

Unknown means HS3 can't check the state of the server. This is normally caused by something the server admin has done - either intentionally stopping HS3 running, or supplying incorrect telnet/login details for robots.

The server went down. How long should it take to restart?

HS3 should recognise the server has gone down within a few seconds. It then waits a moment, kills any remaining hardwar applications on the server machine, waits a moment, and then reloads the last saved game. The server typically takes about 15 seconds to load. HS3 then logs in the admin to check the server has restarted successfully, and if it hasn't the process is repeated. The whole restart process should take less than a minute.

Slightly more technical answer: HS3 monitors the server in two ways: (1) Every few seconds it issues the telnet command WHO to the server - if it gets back nothing sensible, it flags up a problem (as a minimum WHO should always report the 'bot). (2) If the telnet socket is closed, it flags an error. Having flagged an error, HS3 waits a few seconds, and tries to establish a new telnet connection. If it fails to establish a connection, it declares the server down, and restarts it. So the server must produce a minimum of two errors before a restart is attempted. This should greatly reduce the number of false restarts caused by glitches.

What happens when a "clean" is scheduled?

HS3 can be set to clean the server at regular intervals. This involves issuing the CLEAN command, then restarting the game. Cleaning will never occur while there are pilots logged in via Hardwar clients. If a clean is scheduled, it will be noted on the homepage (in the text below the large "up"). However, the clean will only occur when anyone currently online has logged off.