lafe - LAtency Free Empire Still in alpha, midway between emp_client and eif. Has the low latency of emp_client with the readline capabilities of eif. Should handle empire2.3 C_INFORM messages. Nation, password, server, and port may all be set using environment variables, defaults, commandline arguments, or in ~/.laferc using the addgame command. The defaults are visitor/visitor/empire.net/7778. The environment variables are EMPIREHOST, EMPIREPORT, COUNTRY, and REPRESENTATIVE. Commandline arguments may be given as: lafe country password host port or lafe country password or lafe game where "game" is defined by an addgame command in your ~/.laferc file (see example.laferc). GNU readline is a bit touchy. If you're lucky, you can just type "make" and "make [system]" in the lafe directory. If not, you'll have to dive into readline/ and read how to tweak things. lafe.c itself should be very portable to ANSI C compilers. The location of the termcap/terminfo routines is not standardized though, so you may need any one or more of -ltermcap -lterminfo -lcurses. Local commands defined now in lafe: help print syntax summary of local commands. addgame add a game definition for the "lafe game" startup method. execute Handles exec scripts locally runfeed Runs the argument as a shell command, and sends the output to the server shell Run the argument as a shell script alias Print, delete, or define an alias. Use single quotes around the alias definition to protect $*, $1, $2, ... setvar Set, delete, or print local variables. history print the previous commands. verbose toggle verbosity of message. "verbose on" if you want all the error messages, C_SYNC messages, etc. Off by default. Lafe attempts to execute ~/.laferc at startup. It prints a warning message if the file does not exist. BUGS: When typing ahead (using the asynchronous nature of lafe) it is possible for a local command to be executed at a subprompt. This probably isn't what you want. Local commands (including exec) can't be redirected. Redirection only works on empire commands. If the make fails with errors on symbols UP or BC, edit readline/readline.c to declare these symbols as globals or externs, whichever works. Lafe attempts to zero its arguments, however, some unixes keep a system copy of your arguments. The result is: other users may see your empire password if you use the "lafe coun pass" method. Type "ps -ef" to see if your arguments are visible, and use the .laferc/addgame method if they are. The Makefile may need -DHAVE_CONFIG_H added to the CFLAGS on some systems. On some systems (Solaris2.4), "bye" leaves the terminal confused, but ^D exits cleanly. Major Contributors Bernhard Reiter - SunOS port, stress testing, lots of suggestions -harmless@empire.net