09 April, 1999
bnchat - Battle.net text-based chat client
bnchat [options] [servername [serverport]]
bnchat is a simple Battle.net client emulator that can be used as a minimal chat client with bnetd(1) in order to test certain aspects of the server configuration or to do server administration from the Unix command line. It is also compatible with FSGS servers, but has difficulty with real Battle.net servers.
If no servername is specified, localhost is assumed. If no serverport is specified, 6112 is assumed.
|Allows bnchat to use ANSI terminal color escapes to make things more readable. You must be using a terminal compatible with VT100 positioning and ANSI color codes. The program will not attempt to determine your terminal type.|
|-b||Causes bnchat to emulate a Brood Wars client.|
|Causes bnchat to prompt for a new login password on the bnetd(1) server.|
|--client||Causes bnchat to emulate a specific client. The following client tags are recognized: DRTL DSHR STAR SSHR SEXP W2BN. There are short options which may be used instead for the common clients.|
|-d||Causes bnchat to emulate a Diablo client.|
|-h --help --usage|
|Print usage information and exit.|
|Causes bnchat to report an alternate key to the bnetd(1) server.|
|Causes bnchat to report an alternate owner to the bnetd(1) server.|
|Causes bnchat to prompt to create a new player account on the bnetd(1) server.|
|-s||Causes bnchat to emulate a Starcraft client.|
|Print its version number and exit.|
|-w||Causes bnchat to emulate a Warcraft II BNE client.|
The terminal width is attempted to be determined at runtime but if it does not work you may need to try running resize(1) . As a final act of desperation you can try setting the COLUMNS environmental variable.
If SIGWINCH and its associated ioctl(2) are supported on your system, resizing the window while the program is running should immediately update width of the entry line.
The current version is available with the bnetd distribution at:
This program assumes that the terminal will move to the beginning of the current line when the carriage return character (^M) is printed. It also assumes the backspace character (^H) will move one column to the left that character printed after that will replace those already on the screen.
The terminal settings are not consulted for keybindings. The following are assumed:
|^H||delete the character to the left of the cursor|
|^J||accept current line|
|accept current line|
|^T||transpose the last two characters|
|^W||delete word to the left of the cursor|
|^U||delete the whole input line|
|cancel the current input line|
|delete the character to the left of the cursor|
Ross Combs (ross)