botman's bots

Half-Life bot development

- BotMixer5000
- HPB bot
- Bot # 10
- Bot # 9
- Bot # 8
- Bot # 007
- Bot # 6
- Cinco Bot
- Bot # 4
- PG Bot
- Gump Bot
- Fodder Bot

- The Darkulator
- BSP tools
- hpk_extract
- Monster
- Stripper2
- Singing Walter
- NetProbe
- Coding Pages
Building the SDK
SDK Humor
HPB Waypoint files

About me
E-mail me


Updated April 29th, 2000
There was a major bug in the first release of the NetProbe application. The WON authentication would fail when trying to connect to a server. I believe I have fixed this problem (I was "binding" to a port I shouldn't have been). The latest version should work properly. I haven't started putting version numbers on the zip files yet since things are changing pretty rapidly. The next release (beta version 1.0) will have version numbers on the zip file(s).

NetProbe is a network monitor that acts as a proxy between a Half-Life client and a Half-Life server. NetProbe allows you to view the network packets being sent back and forth between a server and a client.

Since this is only the beta version, many of the features are not available yet. I will eventually add a performance display that will help you gauge how much bandwidth (and LAG) is present during network play. I am sure there are many other uses for such a tool and I have a few ideas about what might be possible, but I wanted to make this basic network monitor tool available and get some feedback on whether you find this type of thing useful.


Here's how it works:

The NetProbe program acts as a proxy between the client and the host. You start a Half-Life game, but instead of connecting to a real Half-Life server, you configure Half-Life so it will connect to the NetProbe proxy. You configure the NetProbe proxy so that it connects to the real Half-Life server. Your local copy of Half-Life will send packets to the NetProbe program, and it, in turn, will send these packets on to the real Half-Life server (and also log them to a disk file). When the Half-Life server sends packets to your PC, it will send them to the NetProbe program (since that's where they came from) and the NetProbe proxy will send these packets on to your local Half-Life game (and it will also log these packets to the disk file as well).

The NetProbe proxy may introduce some lag, so you shouldn't use it during normal network play, and it will log QUITE A LOT of data in the log file (log.txt), so make sure you have PLENTY of disk space if you let NetProbe run for very long.

Here's how to set things up...

You will need to know the IP address of a server you wish to connect to before you start everything running. You can find IP addresses by connecting to a server using Half-Life and look at the console screen to see what IP address you were connected to. You may need to start Half-Life with the "-console" argument, then press '~' to see what IP address you connected to. The IP address will appear as XXX.XXX.XXX.XXX (where xxx is a 1, 2, or 3 digit number). The IP address will be followed by a ":" which will have the PORT number after it. The PORT number is USUALLY 27015, but can be any value the server administrator wants to use. Write down this IP address and PORT number and exit Half-Life.

Start up NetProbe and click on the "File->Setup" menu option.

Enter the IP address of the server where it says "Server IP Address:"

Enter the PORT number of the server where is says "Server Port:"

Pick SOME OTHER Port number to use for the proxy. I usually use 27099 as the "Proxy Port:" value.

Click on "OK", then start the NetProbe proxy running by clicking on "File->Start".

This will cause the NetProbe proxy to start waiting for Half-Life packets.

Start Half-Life running. If you wish to select a MOD do this using "Custom game".

Click "Multiplayer" to set up the connection to a server.

Click "Internet games" to select the server to connect to.

Now you will have to use "Add Server" to create a server to connect to (the NetProbe proxy) on your local machine.

Click on "Add Server" and enter the IP address of your machine (you can use C:\WINDOWS\WINIPCFG.EXE to find it if you don't know what it is), followed by a ":", followed by the PORT you entered for "Proxy Port:"

For example, if my IP address was and the port I choose was 27099, I would enter "".

Click on "Ok" to add the server to your list. If you have A LOT of servers in your "Internet games" screen, you may wish to remove all of them before you start the "Add Server" steps. Click on the first one in the list, then drag the scroll button ALL THE WAY to the bottom and "Shift-Click" to select the entire list. Use the right mouse button to click and select "Permanently remove server" to delete all the servers from your list. Removing the servers makes it MUCH EASIER to find the server you created using "Add Server".

Click on the server you created using "Add Server" and then click on "Join game".

You should get connected to the server through the NetProbe proxy and it will begin logging packets in the "log.txt" file.

When you have captured all the data that you want, disconnect from the Half-Life server by pressing ESC then clicking on "Disconnect". Then click on "Done", then "Done" to return to the main menu. You can then exit from Half-Life to get back to the Windows desktop.

Now you must stop or exit the NetProbe program. Click on "File->Stop" or "File->Exit" to close the log file.

You can now view the log file using any text editor (like Notepad) to see the data in the packets sent back and forth between the client and the server.

Downloading NetProbe:

Download NetProbe
Download Source code to NetProbe

Note: The source code also contains a small program that allows you to download the WON list of servers and another small program that allows you to get details about a specific Half-Life server.