COW Info

[Website Index]

[INL Rulebook]

 [Chapter 1]
 > Introduction
 [Chapter 2]
 > Basic Instructions
 [Chapter 3]
 > Finer Points & Strategies
 [Chapter 4]
 > Miscellaneous Stuff
 [Chapter 5]
 > Resources
 [Chapter 6]
 > Configuration
 [Chapter 7]
 > Example .xtrekrc

 > [Beginners]
 > [Opening Screen]
 > [Help Sheet]
 > [Combat]
 > [Game Scheme]
 > [Galactic Map]
 > [General/Misc.]
 > [LPS]
 > [Planet Taking Hints]
 > [Robots]
 > [Tournaments]
 > [Tricky Moves]
 > [Terms]


[Tactical Summary]
 > [Dogfighting]
 > [Ogging]
 > [Planet Taking Guide]
 > [Ship Index]
 >> [Ship Facts]
 >> [Ship Opinions]
 >> [Assault Ships (AS)]
 >> [Battle Ships (BB)]
 >> [Cruisers (CA)]
 >> [Destroyers (DD)]
 >> [Scouts]
 >> [Starbases (SB)]

[Base Practice]


[COW Info]


[E-mail me]
 - leaf(a)real-time.com

Website hosted by:
Real Time Enterprises, Incorporated
Linux and Network Solutions

As found at http://www.cc.utah.edu/~bj0038/netrek/cow.html

COW Written by: Chris Guthrie, Ed James, Scott Silvey, and Kevin Smith, Tedd Hadley, Andy McFadden, Eric Mehlhaff, J. Mark Noworolski, Nick Trown, Lars Bernhardsson, Sam Shen, Rick Weinstein, Jeff Nelson, Jeff Waller, Robert Kenney, Steve Sheldon, Jonathan Shekter, Dave Gosselin, Heiko Wengler, Neil Cook, Kurt Siegl and many others. Manual compiled by: Jonathan Shekter (jshekter@interlog.com) With Material From: Jeff Nelson, Dave Gosselin, Kevin Powell, and the Anonymous but Fabulous COW Documentation Team

BETA revision, September 1995


1. Introduction
1.1 Acknowlegments
2. Command Line Options
3. Complete Command Reference
4. Features
4.1 Connection and Utility Features
4.1.1. The Metaserver
4.1.2. GhostBusts and Restarts
4.2 Display Features
4.2.1. PlayerList Configuration
4.2.2. BeepLite
4.2.3. Warning Shields
4.2.4. Hockey Lines
4.3 Interesting Feautures
4.3.1. Shell Tools
4.3.2. Customizable Cursors
5. Xtrekrc Options
5.1 Keymaps
5.2 CKeymaps
5.3 Colors
6. Messages And Macros
6.1 Your Basic Macro
6.2 Newmacro
6.3 RCD
6.4 RCM
6.5 Default Macros And Distresses
7. Xtrekrc Reference
8. Example .xtrekrc


1. Introduction
Welcome to COW, the Client Of Win, the best Netrek client you ever had. This document is the COW reference manual. It does NOT teach one how to play Netrek; for that, please see the Netrek Newbie Guide.

COW is a rather feature-laden (some would say "bloated") client. There are also a lot of things that can be configured. This manual includes a complete xtrekrc reference and a list of every keyboard command. If you want to know something about COW in particular, you'll find it here. (Incidentally, more than 90% of the information here is also applicable to other clients, so this file makes a good general-purpose client manual.)

Sit back, take your socks off, and enjoy!

1.1 Acknowledgements

Many people have contributed to COW and many many others contributed to its ancestor clients. Here is an undoubtedly incomplete list of credits presented in no particular order. Where possible their typical netrek name is provided in the hope that you will ogg them:

Scott Silvey Kevin Smith Rick Weinstein J. Mark Noworolski Passing Wind Tedd Hadley pteroducktyl Heiko Wengler Musashi Andy McFadden ShadowSpawn Chris Guthrie Ed James Eric Mehlhaff Nick Trown Netherworld Lars Bernhardsson lab Sam Shen Rick Videodrome Jeff Nelson Miles Teg Jeff Waller Robert Kenney Zhi'Gau Steve Sheldon Ceasar Dave Gosselin Tom Servo Kurt Siegl 007 Kevin Powell seurat Alec Habig Entropy Jonathan Shekter KillThemAll!


2. Command Line Options

Summary of command line options available for COW:

u (existance) prints usage information for the client

C (string of chars) name to auto-login with

A (string of chars) password to auto-login with

c (existance) checking - this will check server_port-1 and spew out a list of all players currently playing on that server - not all servers are intelligent enough to do this

s (integer) passive port to use, useful to attempt a manual reconnect after a ghostbust. Used in conjuction with -G, see section 4.5

G (integer) passive player slot to use, useful to attempt a manual reconnect after a ghostbust. Used in conjuction with -s, see section 4.5

f (filename) file to record packets in

l (filename) file to log messages

p (integer) port to connect to server

d (string of chars) display name

m (existance) use meta window instead of selecting a server with command line options - See section 4

k (existance) use known server window instead of selecting a server with command line options. o (existance) use reserved.c blessing for client authentification

R (existance) use RSA blessing for client authentification (default)

h (string of chars) server name

H (string of chars) Gateway name

P (existance) log packets, generally don't want to use this

t (string of chars) title- the name of the window the client makes

r (filename) netrek default file, instead of .xtrekrc

D (existance) debug mode

v (existance) display version/expiration info then exit


3. Complete Command Reference

The following is the complete list of commands you can use while in play. Note that all commands are case sensitive, and a ^ denotes a control key, e.g. ^a means control+a, which is different from ^A, which is control+A (control+shift+a, in other words.)

Combat Functions:

c Toggle cloak. { Turn cloak on } Turn cloak off

d Detonate enemy torps. All enemy torps within a certain range will explode. They do as little as a quarter of their normal damage at maximum det range. Detting is useful for protecting another ship, causing damage to other ships (if you can manage to det enemy torpedos fired by one enemy over another) or preventing torps from hitting you. Use it carefully, though: if there are many torps nearby and only one or two will actually hit you, it is better to let them hit than det, as one direct hit will do less damge than say, 5 detted torps, each at minimally 1/4 normal damage, probably more.

D Detonate your torps. If you can do this near an enemy it will cause damage. It will also enable you to fire again if you have 8 torps active (the maximum.) This is not a very good idea however as you will be wastring gobs of fuel firing and then detting useless torps. 

f Fire plasma torpedo. You need at least 2 kills, and must be flying a BB/DD/CA to do this. Plasma torpedos are tracking, but they can be shot down fairly easily by phaser. They do a lot of damage but use a lot of fuel. Note also that when they are shot down they explode and ships that are too close can take damage.

p Fire phaser. The mouse cursor specifies direction.

s Toggle shields [ Shields down ] Shields up

t Fire photon torpedo. The mouse cursor specifies direction.

u Toggle shields

T Toggle tractor beam. The mouse indicates the target. This pulls the target towards you but uses a lot of fuel and raises your engine temp. Since tractors are very useful and hitting shift-T is inconvenient, many players map lowercase t to this function (see the section on keymaps.)

y Toggle pressor beam. Same as tractor (see 'T') but pushes.

_ (underscore) Turn tractor beam on. Mouse indicates target. ^ Turn pressor beam on. Mouse indicates target.

$ Turn tractor or pressor beam off.

Movement And Navigation Functions:

0-9 Set speed to 0..9 ( or ) Set speed to 10 ! Set speed to 11 @ Set speed to 12 # Set speed to half of your maxwarp % Set speed to max > Increase speed by one < Decrease speed by one

k Set course. The mouse cursor specifies direction.

l Lock onto object. The mouse cursor specifies what; it can be either a ship or a planet. A small triangle indicates the lock, and you will fly towards that object. If it is a planet or SB you will orbit / dock when you arrive.

; Like l but only locks onto planets and starbases (things you can orbit or dock at)

* Send in practice robot, if there's no one else playing. On many servers, this is also the key for starbase transwarp. This is Really Cool. Lock onto your SB, go no faster than warp 2, hit transwarp, and you will go warp 99 until you reach the SB (at which point you will dock), run out of fuel, or die. This is handy for reaching the front lines fast. Not all servers support this.

Planet Functions:

b Bomb planet. You must be orbiting an enemy planet and in T-mode to do this. You only need to press it once and you will continue bombing untill the planet reaches 4 or less armies.

C Try to coup your home planet. This is a way to get back your home planet if you have no other planets. Only possible after a genocide without a server reset, then everyone leaves, losing T, and people join the team that lost again. You must have kills and be orbiting it.

o Enter orbit or dock. You must be going no faster than warp 2 and be on top of a planet or starbase.

x Beam armies down to planet (yours or enemy) or a starbase. You must be orbiting or docked to the planet or stabase in question.

z Beam armies up from friendly planet or starbase. Again, you must orbit or dock.


Message Functions

E Send generic distress call.

F Send armies carried report

m Start sending message. After hitting this key type the destination (0..9 and a..j = specific player, F/R/K/O = specific team, T = your team, A = all) and then the body of the message. Hit enter to send or escape to abort.

X Enter macro mode. After pressing the macro key, you can send the macros you have assigned to those keys. See the section on macros. You also have available all the standard distress calls. Both the distress format and key can be changed (see: RCD). See the sections on Macros and RCD for specifics, including what the default macros are.

^0..^9 ^@ ^# etc... The distress calls are all mapped to similar control keys. For example, instead of pressing <macro>0 to send an armies carried report, you can use ^0. See the section on RCDs for available distress calls / reports.

Misc. Functions

e Toggle docking permission (when playing a starbase). This allows or disallows other players to dock on you and repair, refuel, beam up/down armies, etc. If you turn off docking while players are docked, they will be ejected, hence the assigned key.

i or I Get information on object near mouse. Uppercase shows different info than lowercase. You can use this to, for example, find out how many armies are on a planet, where a player is logged in from, how many kills they have, or whether a planet is agricultural.

K Show Kathy Ireland N Toggle short/long planet Names display on tactical window.

r Refit. Use this to change your ship type. You must be orbiting your home planet (Earth for Fed, Romulus for Rom, Klingus for Kli, Orion for Ori) or your team's SB. After pressing r, press the key corresponding to the ship type you want (s=scout, d=destroyer, c=cruiser, b=battleship, a=assault, o=starbase/outpost)

R Enter repair mode. This sets you at warp 0, and turns off shields and cloaking. Damage is repaired faster than normal in this state, but you cannot fire. To exit repair mode, raise shields or start moving. The fastest way to repair yourself is to do this while orbiting a repair planet or docked on an SB. When you are in repair mode a little R will appear in your flags and you will not be able to fire or cloak.

w Change war declarations. This is important. Your weapons will not lock or explode on ships belonging to races which you are not at war with, and you will take damage if you orbit planets of hostile races. So, declare war with your enemy and peace with everyone else (so you can use their fuel and repair planets.) Note that if you change your war settings while an enemy is on the screen you will be unable to do anything for about ten seconds while "the computers get reprogrammed."  The moral of this is: declare war before you go into battle. Note that you start out hostile to everyone, so if you forget before your first engagement it's not too critical.

q Quit, don't re-read MOTD ("fastquit"). Q Quit, exiting to MOTD screen. If you hit either of these in red alert, a self destruct timer will start. This is so you can blow up over your enemy. While the countdown is in progress, any input cancels it.

: Toggle message logging. Saves all messages to a file so you can laugh at them later.

- Request partial update (see the section on UDP and Short Packets)

= or | Request full update (see the section on UDP and Short Packets)

& Re-read xtrekrc file

Window And Display Functions:

B Cycle through galactic map planet display options. Possible options are show nothing, show owner, or show resources (the most useful, as on a color display you can tell owner by color.)

h Toggle help window. Display a brief summary of these commands, as well as what key each command is currenly assigned to.

L Toggle player window. This lets you see the names of the players, their stats, and, most importantly for defending planets, their kills. / Toggle netween new and old playerlist format

M Toggle tools window

O Toggle options window. There are many neat things here, most of which are configurable via the xtrekrc file. Experiment! This is a really useful command.

P Bring up the Planet window. Lists all planets, owner, who has info on them, number of armies, and facilities at each.

S Toggle stats window. This is a larger version of your dashboard, sort of. Kind of big and annoying and I don't like it but you might.

U Toggle rank window. Shows you what ratings you need for promotion.

V Cycle through tactical planet display options. Possible options are show nothing, show  owner, or show resources (the most useful, as on a color display you can tell owner by color.)

~ Toggle sound control window

. Toggle network stats window

\ Toggle lagmeter

, Toggle ping stats window

` Toggle short packets control window

+ Toggle UDP control window.

? Cycle through show nothing / show one big message window / show three message windows.

<space> Turn off all special windows (planet, rank, help, udp, etc.)


4. Features

This section describes in detail some of the newer, more interesting features of COW. There are many! Here is a mini index of this section:

4. Features
4.1 Connection and Utility Features
4.1.1. The Metaserver
4.1.2. GhostBusts and Restarts
4.2 Display Features
4.2.1. PlayerList Configuration
4.2.2. BeepLite
4.2.3. Warning Shields
4.2.4. Hockey Lines
4.3 Interesting Feautures
4.3.1. Shell Tools
4.3.2. Customizable Cursors

4.1 Connection and Utility Features

In this section we have: The Metaserver Ghostbusts and Restarts 4.1.1. The Metaserver The MetaServer and the MetaServerCache are provided to help you find a netrek game to join. Both services provide a list of the popular netrek servers. The MetaServer is neat because provides information on the number of players at each site. The MetaServerCache is neat because it is much faster if you can guess where a game will be.

To access the MetaServer, use the command line switch "-m". For example "cow -m". To access the MetaServerCache, use the "-k" switch instead.

1) Where to find the MetaServer:

You can use the options "metaport" and "metaserver" to point COW to a new MetaServer. The defaults for these options are:

metaport: 3521 metaserver: metaserver.ecst.csuchico.edu

2) How to create a list of known servers for the MetaServerCache:

Before you can use the MetaServerCache, you must give COW a file in which to cache the information from the MetaServer. Use the .xtrekrc option "metaCache" to specify this file. The files path will be relative to your home directory unless you start the file name with a slash (/).

For example, to set the cache file to "~/.metaCache" use:

metaCache: .metaCache

Unlike the MetaServer, the MetaServerCache will not show the number of people playing at a server. If a server is contactable, it will be shown as "Active".

Warning: If "metaCache" is set, COW will also use a second, temporary file. This file with have the name of the metaCache file with the last character changed to either a 'T' or an 'R'. Eg, ".metaCache" becomes ".metaCachT" and "BEAST" becomes "BEASR". Ensure that this temporary file does not overwrite something important.

3) How much information will be shown:

You can now control the amount of information that the MetaServer displays for you by setting the "metaStatusLevel" flag. The default is: metaStatusLevel: 3 The status levels are coded as follows:

0 Servers which have players but not a wait queue. 1 + Servers with a wait queue. 2 + Servers with nobody playing. (see NOTE1). 3 + Servers which have Timed Out for the MetaServer (see NOTE2). 4 + Servers which the MetaServer has not been able to connect to.

NOTE1: When using the MetaServerCache, "metaStatusLevel" values of less than 3 are treated as the value 3. This minimum is enforced because the cache does not attempt to show the number of people playing at a site.

NOTE2: If you are a long way from the MetaServer, you are advised to ignore TimeOut errors. For example, the MetaServer in America may have difficulty contacting to a server in Holland while the link from England to Holland is very good.

3) The Fallback

If you attempt to contact the MetaServer, and the connection times out, COW will try to show the MetaServerCache instead.

Similarly, if you attempt to use the MetaServerCache, and your "metaCache" file does not exist, COW will attempt to call theMetaServer.

4.1.2. GhostBusts and Restarts

After a client dies, or even if you kill the client on purpose, you can recover the game and continue playing. In fact the server won't have any idea that anything but bad lag (called a ghostbust) has occurred.

The benefits of this feature include the ability to change displays, recompile code (if you happen to be a code hack), or simply recover from a core dump.

In order to use it, you have to pay attention to two numbers which are displayed when you connect to the server. A line like this appears: *** socket 11323, player 0 ***

This indicates which player slot you have been assigned, and which socket number has been chosen as your ghostbust socket.

Now in order to restart, just do: netrek -G 0 -s 11323

The important options are -G followed by the player slot you occupy, and -s followed by the ghostbust socket. Notice that you don't even specify a server!

This feature may NOT work on all servers. Many server gods use server code which is too old to support this feature. Also, keep an eye out for small details that are off. It is NOT logically possible to account for everything with this feature. Such things as the motd are not resent by the server when you connect, so you won't have that around anymore. Further, the client won't know who it is even connected to (see above), thus don't be shocked if the client claims you are connected to a bogus server.

WARNING: Some servers have *very* short ghostbust timeout periods. You must reconnect before this timeout expires or your slot will be given to someone else, you won't be able to reconnect. On most servers it is around 6 minutes long.

Note to experts: The server will reverify clients using whatever available means it has,  including RSA or reserved.c when a ghostbust occurs and therefore whenever this feature is used.

4.2. Display-ish Features

In this section we have features which all control some visual aspect, i.e. something you see or the way information is presented.

4.2.1. Playerlist Configuration

[ Originally by: dave, gosselin@ll.mit.edu ] There is an .xtrekrc option called "playerlist". What it allows you to do is specify which columns of the player list you want to show and in what order. The following is a table of the available columns. Spc Let Name Header --- --- -------------------- ------------------- 3 'n' Ship Number " No" 3 'T' Ship Type " Ty" 11 'R' Rank " Rank " 17 'N' Name " Name " 6 'K' Kills " Kills" 17 'l' Login Name " Login " 6 'O' Offense " Offse" 6 'W' Wins " Wins" 6 'D' Defense " Defse" 6 'L' Losses " Loss" 6 'S' Total Rating (stats) " Stats" 6 'r' Ratio " Ratio" 8 'd' Damage Inflicted(DI) " DI" 1 ' ' White Space " " 6 'B' Bombing " Bmbng" 6 'b' Armies Bombed " Bmbed" 6 'P' Planets " Plnts" 6 'p' Planets Taken " Plnts" 17 'M' Display/Host Machine " Host Machine " 7 'H' Hours Played " Hours " 6 'k' Max Kills " Max K" 6 'V' Kills per Hour " KPH" 6 'v' Deaths per Hour " DPH" So for example if you just wanted to see names and rank you'd add this line to your .xtrekrc: playerlist: NR

NOTE ON SB STATS : On servers which support the SBHOURS .feature, you will see slightly different things when you info a SB, or show the SB player on the playerlist. The usual offense and defense lines are replaced with SB kills/hour and deaths/hour. The kills, deaths, hours and ratio entries are all the player's SB stats as long as he is in the SB, and his normal stats otherwise.

1) Predefined "playerlist" styles:

For your viewing pleasure we have predefined some playerlist layouts that you might like to try. These predefined styles can be selected using the "playerListStyle" option in your .xtrekrc or by using the options menu (shift-O).

The "playerListStyle" options are:

0: Custom style = playerlist 1: Old style = "nTRNKWLr O D d " 2: COW style = "nTR N K lrSd" 3: Kill watch style = "nTK RNlr Sd" 4):BRMH style = "nTR N K l M"

For backward compatability, the option "newPlist" will still select between the old style playerlist (off) and the COW style playerlist (on) if the "playerListStyle" option does not appear in your .xtrekrc.

2) The "partitionPlist" option:

Lets face it, the main role of the player list is so that you can keep track of who has kills.

To make life easier, the player list is sorted so that enemy and friendly teams are always in the same place in the list. However, in mono it is not immediatly obvious where one team starts and another team ends. If the "partitionPlist" option is "on", white space will be added to the player list to separate your teams from the other teams and the players entering the game. In color, this option is not usually required because the teams are distinct anyway.

4.2.2. BeepLite

Local weenies cheat. They talk to each other. Those of us who have never met another netrek player are forced to rely heavily on the message window.

In order to even the playing field, the current feature was proposed. This feature causes certain types of RCD messages to beep or even highlite specific objects on the screen. This is done via a macro-like interface which is highly configurable. Further, bitmaps used to highlite can be substituted with your preferences.

1) Turning Beeping and Highliting on

In order to turn message beeping and highliting on, you must include the following in your .xtrekrc.

UseLite: on

The above leaves you with the feature on, but nothing is automatically setup. If you want to configure it yourself, go to the "CONFIGURING VIA XTREKRC" section. You can include a set of reasonable defaults, instead of bothering to learn to configure it yourself by including the lines.

DefLite: on

At any time, you can extend these simply by including some of the configuration syntax in your .xtrekrc as described in the "CONFIGURING VIA XTREKRC" section.

WARNING: Use beep _sparingly_, people (including you) will get sick very quickly of hearing your workstation beep every 5 seconds.

2) Configuring via xtrekrc

Message beeps are configured as on and off. They are turned on if the proper line is in your .xtrekrc. Otherwise they are left off.

Message lites are configured in a way very similar to macros. However, in addition to the  original set of macro arguments, a new class of arguments is introduced to handle the highliting.

To configure message highliting, include something like the line below. Here "name of distress" is the RCD message type. "macro" is the macro style syntax specifying what is to be highlited.

lite.[name of distress]: [macro]

Below are the configurations which are equivalent to the defaults which are setup for you if using DefLite. These provide good examples for how the system works.

lite.taking: /c/l lite.base_ogg: /g/m lite.pickup: /h lite.help: %?%S=SB%{/c%}

The above does the following: "taking" message highlites the planet and taker "base_ogg"  message highlites the person to sync and your ship (to REALLY get your attention) "pickup" message highlites the enemy who picked up "help" tests to see if the player sending the distress is a base, if so he is highlited

You might like to change the last one to: lite.help: %?%S=SB%{/c%}%?%a>0%{/c%}

This will highlite bases who distress AND carriers who distress.

Using TTS you may change the pickup macro to: lite.pickup: /h/|%p++ @ %l|

This sends a big ++ message on the tactical map in addition to the light.

Note that all the MACRO parsing routines are run on these, and plain text left over is ignored. Only the highlite argument matter.

The following are the arguments for highliting:

/c /i /I sender /m /M _your_ ship

/p target player /g target friendly player /h target enemy player /P player nearest sender /G friendly player nearest sender /H enemy player nearest sender /b planet nearest sender /l target planet

The following are the arguments for sounds:

/0 Standard window beep (incoming message sound if sound is on) /1 - /9 Play nt_message1 - nt_message9 sound.

Tactical Text Solution for the Tactical Tunnel Syndrome (TTS):

/| .. | displays Text in between via TTS. Additional defaults:

planetCycleTime: highlighting time for planets playerCycleTime: highlighting time for players

[ Note: while TTS works, thefollowing are Not Yet Implemented in WinCOW ] tts_color: color of TTS message (should be dark) tts_font: Font (large prefered) tts_max_len: Max length of a message tts_time: Time a TTS message is displayed tts_pos: y location of the TTS message

4.2.3. WarnHull

The warnHull extension is a direct analogue of the varyShields extension to the BRM client. Like varyShields, warnHull tries to keep the player informed of the state of your hull by using a bitmap. The bitmap consists of eight pixels arranged around your ship in a circle just outside you shields (see diagrams below). When warnHull is on your ship looks like it has small spikes sticking out of the shields.

The xtrekrc value warnHull enables this extension, the defaults value is off.

Example xtrekrc value: warnHull: on

It works by using 8 pixels arrayed at the 4 cardinal point of the compass and 4 more at equal intervals between them. o o o

o o ; 100% -- neato diagram 1 :)

o o o

So as the hull is damaged, the pixels disappear for every 12% of damage accumulated (clockwise from the top).


o ; <76% -- neato diagram 2 :)

o o o

4.2.4. Hockey Lines

Due to popular demand, hockey lines have been added. These are used when playing Netrek Hockey. For those of you who want to see a hockey rink on the tactical, just use the features menu (shift-O) and toggle them on.

You get: Blue lines (blue) Center line (red) Side lines, i.e. the rink edges (grey) Goal lines (red) Goal boxes (the color of the team)

They are a little awkward at first, but once you get used to them, you'll wonder how you lived without them.

Since this is a first pass, I'm looking for more input on what would make them better. Here are some of my comments:

1) Lines are hard coded into the software. They should be based upon planet location, so the hockey gods can move the planets around.

2) You either have them all or none. Perhaps the set of desired lines should be configurable from the xtrekrc. Also, you cannot change the colors.

3) Lines on the galactic would look pretty

If you have any comments, mail them to kantner@hot.caltech.edu

4.3. Interesting Features

These are some of the more esoteric and questionable features. Still, they're there!

4.3.1. ShellTools

[Note: This is not yet implemented in WinCOW ]

You may execute any Unix shell comand within the client. Read your mail now within the client. To do so, just send a message to the destination "!" and you get a shell prompt. Enter the comand and it's output will be displayed in the tools window. Works also with macros to "!". You may disable it in the .xtrekrc for security reasons with shellTools: off CAUTION: The client will be blocked for the time the comand is executed. Also some programs suspend the client if it is started in the background.

4.3.2. Personalized Cursors

[ Not implemented in WinCOW ]

The personalized cursor extensions allows the user to specify their own cursors for the map, local, text, menus and info list windows.

This may now work on all machines. I know of at least one X terminal which this doesn't work properly for. It works fine on my sun:)

For infoCursorDef, textCursorDef, arrowCursorDef an optional mask may be specified. To specify a mask, first create your new cursor, say called mycursor, then create the mask and call it mycursor.mask. They both need to be on the same path. Cursor and mask *must* be the same size, if not the cursor cannot be used (why anybody would want to do this makes no sense, but... :)

These are the xtrekrc values:

localCursorDef: /usr/me/.local.xbm mapCursorDef: /usr/me/.map.xbm infoCursorDef: /usr/me/.info.xbm- textCursorDef: /usr/me/.text.xbm # the mask would be called /usr/me/.text.xbm.mask arrowCursorDef: /usr/me/.arrow.xbm


5. Xtrekrc Options

5.1. Keymaps

The original key assignments were created more out of ease of memorization than speed of access in combat. For example, enabling the tractor beam is awkward, requiring the use of the shift key. Also, people will always have their particular preferences. For this reason, almost all netrek players use a keymap to change the key assignments. Its use it quite simple. Simply add a line of the form "keymap: <key><function><key><function><key><function>...." to your xtrekrc file. Each pair of characters assigns the key specified by <key> to perform the function originally assigned to the key specified by <function>. For example, to map toggle tractor (T) to 't', and set max warp (%) to 's', you would use

keymap: tTs%

The space bar can be remapped, but it cannot be the first key to be remapped in a sequence (obviously). It is often mapped to det:

keymap: tTs% d

5.2. Ckeymaps

Control keymaps (ckeymap) handles the remapping of keys in an analoguous manner to the normal keymap (keymap). The control keymap also allows the user to map both *upper* and *lower* case letters keys when pressed with the control key. This means that ^u and ^U are *different* keys when it come to mapping them.

Any combination of normal keys and control keys can be mapped to one another. In other words, you can map from control key to control key, control key to normal key, normal key to normal key, and normal key to control key. New format for ckeymap is: c = any printable ascii character. ^ = introduce control mapping (the key '^' not control + key.) Each entry is a pair, like: cc # regular format c^c # regular->control ^cc # control->regular ^c^c # control->control Example ckeymap: ckeymap: ^a%r^b^m^ca%d5 tfDFf^^E

Special case: The '^' must be mapped with a double ^ ("^^") in either the bound or binding key position. Notes: If you experience difficulties (you shouldn't) you might wish to use a normal keymap and a new ckeymap in combination. Both are read in, the keymap first then the ckeymap. This means that if a key which is defined in both the keymap and ckeymap, the ckeymap's definition will be the one used.

Analogously, control keys may be used for buttonmap, singleMacro and all macro and RCD definitions.

5.3. Color

It is possible to set the color of various elements in COW. In particular, any of the six standard colors, as well as the races, can be remapped. The settable colors are:

#resource example value #-------- -------------- color.white: seashell color.black: black color.red: red color.green: chartreuse color.yellow: #fff850 color.cyan: light blue color.light grey: light grey

Colors can be specified as text strings, i.e. tan, chocolate, green, MediumSpringGreen (all the standard X-windows colors, in other words) or as the pound symbol '#' followed by six hexidecimal digits representing the red, green, and blue components of the color.

[WinCOW only: color names should be specified without spaces]

Race Colors: For those of you who like different colors than the defaults but are tired of going on "Purple Alert", it is possible to define race colors separately from the alert colors:

#resource example value #-------- -------------- color.Ind: light grey color.Fed: yellow color.Rom: tomato color.Kli: green2 color.Ori: light steel blue

If a race color is not set, it defaults to the usual. (ie, if you omit color.Ori above, the orions will be color.cyan, which defaults to cyan)


.geometry:+<xpos>+<ypos> # # ...or just the size # <window>.geometry:<width>x<height> # #--------------------- # This option sets whether windows are initially mapped (displayed). # #<window>.mapped:<on/off> #--------------------- # This option sets the parenting of windows. If one window is a child of # another, when that window's parent is hidden or displayed, the child # window will also be hidden or displayed. Also, a window that is not # parented will have a title bar at the top of the window. # # <window>.parent:<parent window name> # #--------------------- # List of possible window names # # netrek Main Window # local Main Fighting Window #map Galactic Map # warn Warning Window # message Message Window # review All Messages Window # review_all Messages to All Window # review_team Messages to Team Window # review_your Messages to Individual Window # review_kill Kill Messages Window # review_phaser Phaser hits Window # planet Planet List Window # player Player List Window # war War Declarations Window # fed Federation Selection Window # ori Orion Selection Window # rom Romulan Selection Window # kli Klingon Selection Window # quit The Quit Countdown Clock # option Option Menu Window # rank Rank Window # stats Statistics Window # sstat Dashboard Window # help Help Window # UDP UDP Options Window # lagMeter Lag Meter Window # pingStats Ping Statistics Window # buttonkeymap Keymap Window # xtrekrc_help The xtrekrc help Window # macro Active Macros Window

#------------------- # Actual Window placments

netrek_icon.geometry: +1031+0

#netrek.geometry: 1018x740+0+0 netrek.geometry: +0-20 #local.parent: netrek #map.parent: netrek

#warn.parent: netrek #warn.geometry: +0+549

#message.parent: netrek #message.geometry: +0+575

#review.parent: netrek #review.geometry: +510+500 review.geometry: +512+556 #review.mapped: off

#review_all.parent: netrek #review_all.geometry: +510+500 review_all.geometry: +504+556 #review_all.mapped: on

#review_team.parent: netrek #review_team.geometry: +510+608 #review_team.mapped: on

#review_your.parent: netrek #review_your.geometry: +510+666 #review_your.mapped: on

#review_kill.parent: netrek #review_kill.geometry: +0+600 #review_kill.mapped: on

#review_phaser.parent: netrek #review_phaser.geometry: +0+672 review_phaser.geometry: 81x5+0+800 review_phaser.mapped: off

#planet.parent: netrek

#player.parent: netrek #player.geometry: +510+500 player.geometry: 81x23+0+556 player.mapped: on

#war.parent: netrek war.geometry: +800 #fed.parent: netrek #ori.parent: netrek #rom.parent: netrek #kli.parent: netrek #quit.parent: netrek #option.parent: netrek #rank.parent: netrek #stats.parent: netrek #tstat.parent: netrek #help.parent: netrek #UDP.parent: netrek #lagMeter.parent: netrek #pingStats.parent: netrek #buttonkeymap.parent: netrek #xtrekrc_help.parent: netrek #macro.parent: netrek

# /----------------\ # | ### Macros ### | # \----------------/

#---------------------- # Macro syntax: # # mac.<key>.<dest>:<text> # # <key> is the character you wish to assign to the macro. # <dest> is a standard message destination # (0-9a-j for player, F/R/K/O for teams, T for your team, A for ALL) # <text> is the text you want to be printed when the macro is used.

# Here is two examples :

mac.b.T: Bomb enemy core, please!

mac.i.A: \\\\ You have just been DOOSHED !! mac.i.A: (o o) Didn't that feel good?! mac.i.A: ( . ) mac.i.A: \V/

Continue to COW info Part 2