~netrek-developers/netrek-client-cow/trunk

« back to all changes in this revision

Viewing changes to _darcs/pristine/COW.DOC

  • Committer: Collin Pruitt
  • Date: 2009-05-12 04:30:09 UTC
  • Revision ID: collinp111@gmail.com-20090512043009-3jsjojoyrk16oass
Initial upload - updated from http://james.tooraweenah.com/darcs/netrek-client-cow/ using darcs (hince the existnace of _darcs), fully patched.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
0.0 Table of Contents
 
2
*******************************************************************************
 
3
*                                                                             *
 
4
*            General Documentation for the Client Of Win (COW)                *
 
5
*                                                                             *
 
6
*         Comments, suggestions and bug reports to cow@netrek.org             *
 
7
*                                                                             *
 
8
*                                                                             *
 
9
*******************************************************************************
 
10
 
 
11
 
 
12
 
 
13
                                Table of Contents
 
14
 1.0  Overview
 
15
 
 
16
 2.0  Acknowledgements
 
17
 
 
18
 3.0  Features
 
19
   3.1  Command Line Options
 
20
   3.2  Pixmaps  (Full Color COW)
 
21
   3.3  Other features
 
22
 
 
23
 4.0  Xtrekrc
 
24
   4.1   Windows, fonts, cursors, and colors
 
25
   4.2   Startup options
 
26
   4.3   Combat options
 
27
   4.4   Messaging options
 
28
   4.5   Net options
 
29
   4.6   Galactic/tactical map options
 
30
   4.7   Keymap (and buttonmap) options
 
31
   4.8   Playerlist options
 
32
 
 
33
 5.0  Connection Types: UDP, TCP.  Short packets.
 
34
 
 
35
 6.0  Macros, RCD, RCM:
 
36
 
 
37
 7.0  MetaServer Options
 
38
 
 
39
 8.0  Compiling
 
40
 
 
41
 9.0  Beeplite
 
42
 
 
43
 
 
44
 
 
45
1.0  Overview
 
46
 
 
47
     This document describes the COW client, its capabilities, and the client's
 
48
features.  COW started as the successor of the BRM client after release 3. 
 
49
BRM started as a merger of the Berkeley client with Rick's Moo 
 
50
client.  Since then, all three clients have developed fairly independant of one
 
51
other.  Familiarity with netrek is presumed throughout this document.  Please
 
52
consult the newbie manual for information on the game itself.
 
53
 
 
54
     COW has an expire function which insures that players obtain new copies
 
55
regularly.  This alleviates the client's caretakers from having to support
 
56
ancient clients.  Generally, a client will expire one year after its compile
 
57
date.
 
58
 
 
59
2.0  Acknowledgements
 
60
 
 
61
     Many people have contributed to COW and many many others contributed
 
62
to its ancestor clients.  Here is an undoubtedly incomplete list of credits
 
63
presented in no particular order.  Where possible their typical netrek name is
 
64
provided in the hope that you will ogg them:
 
65
 
 
66
              Scott Silvey
 
67
              Kevin Smith
 
68
              Rick Weinstein                    Videodrome
 
69
              J. Mark Noworolski                Passing Wind
 
70
              Tedd Hadley                       pteroducktyl
 
71
              Heiko Wengler                     Musashi
 
72
              Andy McFadden                     ShadowSpawn
 
73
              Chris Guthrie
 
74
              Ed James
 
75
              Eric Mehlhaff
 
76
              Nick Trown                        Netherworld
 
77
              Lars Bernhardsson                 lab
 
78
              Sam Shen                          Buster
 
79
              Jeff Nelson                       Miles Teg
 
80
              Jeff Waller
 
81
              Robert Kenney                     Zhi'Gau
 
82
              Steve Sheldon                     Ceasar
 
83
              Dave Gosselin                     Tom Servo
 
84
              Kurt Siegl                        007
 
85
              Kevin Powell                      seurat
 
86
              Alec Habig                        Entropy
 
87
              Jonathan Shekter                  KillThemAll!
 
88
              James Cameron
 
89
              Michael Kellen
 
90
 
 
91
3.0  Features
 
92
 
 
93
     The COW client has many features that make it stand out from earlier
 
94
clients.  This section will attempt to describe all of its features, including
 
95
those that are common to all clients.
 
96
 
 
97
   3.1  Command Line Options
 
98
 
 
99
     This section will describe COW features that are selected from the command
 
100
line when the client is invoked.  Selecting "-u" for usage or any invalid 
 
101
option will provide a brief summary of this section ( -help will work too ).
 
102
 
 
103
 
 
104
   3.1.1  SERVER SELECTION
 
105
 
 
106
     The "-h server_address" option will allow the user to select a specific 
 
107
server.  The client will look to the .xtrekrc file for a default server should 
 
108
this option be absent.  Examples of server addresses would be 136.165.1.12 or
 
109
starbase.louisville.edu.
 
110
 
 
111
   3.1.2  PORT SPECIFICATION
 
112
 
 
113
     The "-p port_number" option will allow the user to select a specific port
 
114
address.  An example of a port_number would be 1111, 2222, or 2592.
 
115
 
 
116
   3.1.3  DEFAULTS FILE SPECIFICATION
 
117
 
 
118
     The "-r defaultsfile" option will allow the user to select a defaults file
 
119
other than .xtrekrc.  The defaults file contains all of the user selectable
 
120
defaults ( please see Section 4.0 for more information on .xtrekrc ).  Using 
 
121
this option, two users can run netrek from the same userid / account and still
 
122
have unique defaults files.
 
123
 
 
124
   3.1.4  VERIFICATION OPTIONS
 
125
 
 
126
     The "-o" option instructs the client to use the old reserved.c verification
 
127
to identify itself to the server.  Upgraded RSA servers will require that the
 
128
client use RSA verification.  This is selected using the "-R" option.
 
129
   
 
130
   3.1.5  RECORD GAME OPTION
 
131
 
 
132
     The "-f record_file"  will record the game into record_file.
 
133
 
 
134
     The "-F record_file"  will play the recorded game from record_file.
 
135
 
 
136
   3.1.6  METASERVER OPTION
 
137
 
 
138
     The "-m" option will instruct the client to search the Meta Server at 
 
139
metaserver.ecst.csuchico.edu, port 3521 and present the user with a list of 
 
140
available servers.  The user may then select the most desirable server 
 
141
directly from the client.
 
142
     Alternatively, the "-k" option may be used to show the "known servers",
 
143
using the same format as the Meta Server list.  The client generates
 
144
a list of "known servers" after each call to the meta server but only if
 
145
the "metaCache" option is set in your .xtrekrc.
 
146
    To find out about customising the meta-server, set the Chapter
 
147
"MetaServer Options", later in this document.
 
148
t
 
149
 
 
150
   3.1.7  AUTOLOGIN OPTION
 
151
 
 
152
     The "-A passowrd" allows the client to automatically enter the specified 
 
153
character password without having to prompt the user.  This option is normally 
 
154
used with the "-C character_name" option, which automatically enters the 
 
155
character name.  The "-C" option must be followed by a character name string.
 
156
 
 
157
   3.1.8  NEAREST COLOR OPTION
 
158
 
 
159
     The "-n" option allows the client to accept the "closest match" to the
 
160
colors requested for drawing.  How good the match is is up to your windowing
 
161
software.
 
162
 
 
163
   3.1.9  NO PIXMAPS OPTION
 
164
 
 
165
     The "-b" option disables the use of color pixmaps by the client.
 
166
 
 
167
   3.1.10  GHOST START
 
168
 
 
169
        After a client dies, or even if you kill the client on purpose,
 
170
        you can recover the game and continue playing.  In fact the
 
171
        server won't have any idea that anything but bad lag (called
 
172
        a ghostbust) has occurred.
 
173
        
 
174
        The benefits of this feature include the ability to change
 
175
        displays, recompile code (if you happen to be a code hack),
 
176
        or simply recover from a core dump.
 
177
        
 
178
        In order to use it, you have to pay attention to two numbers
 
179
        which are displayed when you connect to the server.  A line
 
180
        like this appears:
 
181
        ***  socket 11323, player 0  ***
 
182
        
 
183
        This indicates which player slot you have been assigned, and
 
184
        which socket number has been chosen as your ghostbust socket.
 
185
        
 
186
        Now in order to restart, just do:
 
187
        cow -G 0 -s 11323
 
188
        
 
189
        The important options are -G followed by the player slot you
 
190
        occupy, and -s followed by the ghostbust socket.  Notice that
 
191
        you don't even specify a server!
 
192
        
 
193
        This feature may NOT work on all servers.  Many server gods use
 
194
        server code which is too old to support this feature.  Also,
 
195
        keep an eye out for small details that are off.  It is NOT
 
196
        logically possible to account for everything with this feature.
 
197
        Such things as the motd are not resent by the server when you
 
198
        connect, so you won't have that around anymore.  Further, the
 
199
        client won't know who it is even connected to (see above), thus
 
200
        don't be shocked if the client claims you are connected to a
 
201
        bogus server.
 
202
        
 
203
        WARNING:  Some servers have *very* short ghostbust timeout
 
204
        periods.  You must reconnect before this timeout expires or
 
205
        your slot will be given to someone else, you won't be able
 
206
        to reconnect.  On most servers it is around 6 minutes long.
 
207
        
 
208
        Note to experts:  The server will reverify clients using whatever
 
209
        available means it has, including RSA or reserved.c when a ghostbust
 
210
        occurs and therefore whenever this feature is used.
 
211
 
 
212
   3.1.11 ESOTERIC OPTIONS
 
213
 
 
214
     -c this will check server_port-1 and spew out
 
215
        a list of all players currently playing on that server - not all
 
216
        servers are intelligent enough to do this
 
217
 
 
218
     -s (integer) passive port to use, generally only server gods would ever
 
219
        use this option and even they can get by without it
 
220
 
 
221
     -l (filename) file to log messages
 
222
 
 
223
     -d (string of chars) display name
 
224
 
 
225
     -H (string of chars) Gateway name
 
226
 
 
227
     -P log packets: generally don't want to use this
 
228
 
 
229
     -t (sting of chars) title- the name of the window the client makes
 
230
 
 
231
     -D debug mode
 
232
 
 
233
     -v display version/expiration info and exit
 
234
 
 
235
     -i ignore signals (SIGSEGV and SIGBUS)
 
236
 
 
237
   3.2  Pixmaps  (Full Color COW)
 
238
 
 
239
     With the release of COW 3.00, dynamic color images are available.  No
 
240
color images have been compiled into the client, so without the additional
 
241
files (described below) the client will behave as before.
 
242
 
 
243
   3.2.1  Setup
 
244
 
 
245
     The xpm files should be available at the same site from which you got
 
246
the client, in a file named pixmaps.tgz (PIXMAPS.ZIP for windows users).
 
247
 
 
248
>>>   YOU MUST DOWNLOAD AND UNPACK THIS FILE TO USE THE COLOR FEATURES.    <<<
 
249
 
 
250
     It should create a subdirectory named "pixmaps" which should have several
 
251
(obviously named) subdirectories.  There should be several XPM files in each
 
252
(except for Planets, which has a further subdirectory).  UNIX users will see
 
253
that they are gzipped to save space.  You do NOT need to ungzip them unless
 
254
you do not have gzip on your machine.
 
255
 
 
256
>>>   DO NOT REARRANGE OR RENAME THESE FILES IF YOU WANT TO USE THEM.      <<<
 
257
 
 
258
     You need to add a line to your .xtrekrc telling the client where to look
 
259
for the pixmaps.  If you do not, it will assume that they are in a subdirectory
 
260
of the directory you are in when you start the client.  The option is called
 
261
"pixmapDir".  Tilde and environment variables WILL NOT WORK.  Relative paths
 
262
will only work if you always start netrek from the same directory.
 
263
 
 
264
     You should be ready to rock and roll.  Fire it up.  You may see some
 
265
warnings about not being able to read some pixmaps.  Some of the pixmaps
 
266
that the client looks for haven't been drawn yet.  Feel free to make your
 
267
own set.  OTOH, if you see any lines which read
 
268
 
 
269
 "TYPE <type> PIXMAPS NOT AVAILABLE"
 
270
 
 
271
it means that none of a certain type of pixmap were found.  Check to make sure
 
272
that the pixmaps are where you told it to look.  If they are, and you are on
 
273
a UNIX system, you may not have gzip installed.  Go get it from any GNU mirror
 
274
and either install it or use it to ungzip the XPM files.
 
275
 
 
276
   3.2.2  Configuration
 
277
 
 
278
     In addition to simply creating your own XPMs with a paint program, you
 
279
may want greater control over the pictures used.  For example, you may find
 
280
the explosions are too pretty, and you are dying because you forgot to dodge.
 
281
The crude approach is to just remove that pixmap.  The client will default back
 
282
to the standard bitmaps in this case.
 
283
 
 
284
     The more elegant approach is to turn off just those pixmaps you don't
 
285
like and keep the rest.  This also allows you to switch back and forth WITHOUT
 
286
having to exit and restart.  So if the machine you are playing on is busy
 
287
today, you can turn off the pixmaps until things improve, then switch back to
 
288
full color without losing your 5 kills.
 
289
 
 
290
     Pixmaps can be turned on or off in groups on the new "Pixmap Menu" in the
 
291
options window (shift-O).  Each line in the window also corresponds to an
 
292
.xtrekrc resource which you can use to set the initial values.  If one type
 
293
of pixmaps is not available, you will be unable to turn on that option.
 
294
 
 
295
     resource name          default      description
 
296
 
 
297
       indPix                on      \
 
298
       fedPix                on       |  Control whether or not the XPMs
 
299
       romPix                on       |  for the ships of a given team
 
300
       kliPix                on       |  should be used
 
301
       oriPix                on      /
 
302
 
 
303
       weaponPix             on          Torps and plasmatorps & their clouds
 
304
       explosionPix          on          ship and starbase explosions
 
305
       cloakPix              on          fade-in/-out and cloak icon
 
306
       mapPix                on          Color Planet icons on galactic
 
307
                                         (replaces the "colorgalactic" option)
 
308
 
 
309
       backgroundPix         on          Background stars & genocide/gb images
 
310
                                         (replaces the "babes" option)
 
311
 
 
312
       ownerhalo             off         Draws a colored ring around each
 
313
                                         planet on the galactic
 
314
 
 
315
as a convenience, the option "shipPix" may be used to control all of the
 
316
ship XPMs in one line.
 
317
 
 
318
         ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
319
         +         POWER USERS                                        +
 
320
         +                                                            +
 
321
         +  The MegaResource "pixFlags" can be used in your .xtrekrc  +
 
322
         +  to save a bit of typing.  Simply bitwise OR together the  +
 
323
         +  things you want turned off:                               +
 
324
         +                                                            +
 
325
         +       0x0001    IND pixmaps                                +
 
326
         +       0x0002    FED pixmaps                                +
 
327
         +       0x0004    ROM pixmaps                                +
 
328
         +       0x0008    KLI pixmaps                                +
 
329
         +       0x0010    ORI pixmaps                                +
 
330
         +                                                            +
 
331
         +       0x0020    Weapons                                    +
 
332
         +       0x0040    Explosions                                 +
 
333
         +       0x0080    Cloaking                                   +
 
334
         +       0x0100    Galactic Map Planet Icons                  +
 
335
         +                                                            +
 
336
         +       0x0400    Backgrounds                                +
 
337
         +                                                            +
 
338
         +       0x1000    Halos                                      +
 
339
         +                                                            +
 
340
         +  so, for exaple, no halos and no explosions would be       +
 
341
         +  specified as:  (0x1040=4160)                              +
 
342
         +                                                            +
 
343
         +    pixFlags:  4160                                         +
 
344
         +                                                            +
 
345
         +                                                            +
 
346
         +  (Note that this OVERRIDES all the other resources)        +
 
347
         ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
348
 
 
349
 
 
350
     If you hate them all, you can either set the "pixmapDir" to "None" or
 
351
start the client with the -b (bitmap only) command line option.  Then go ahead
 
352
and delete all of the XPMS.  Go ahead.  We don't mind at all.  It's not like
 
353
we put any WORK into this ...  :,-(
 
354
 
 
355
   3.2.3  Babes/M31 and Generalized Backgrounds
 
356
 
 
357
     Gone.  You can put up any picture you like when you GENO, GB, or just
 
358
enter or hit shift-K.  Just specify the genocide.xpm, ghostbust.xpm and/or
 
359
hello.xpm.  It's really none of my business what you look at in your off time.
 
360
 
 
361
     Absolutely no picture will be shown if you do not have an XPM in the
 
362
specified place.  It didn't belong in the client in the first place.
 
363
 
 
364
     DEAL WITH IT.
 
365
 
 
366
     And BTW, the ' key (quote) has the default action of retiling your local
 
367
and galactic windows with the normal background (either black or your specified
 
368
pixmap) to repair the damage done by the other possible pix.
 
369
 
 
370
   3.2.4  AGRI pixmaps and FEATURE_PACKETS
 
371
 
 
372
     The client shows a different pixmap for AGRI planets than all others.
 
373
This was announced, voted on and overwhelmingly adopted (80%+ in favor). But
 
374
JUST IN CASE, this option can be disabled at the server by use of the
 
375
feature packet "AGRI_PIXMAP".
 
376
 
 
377
     Users can choose to remove the AGRI.xpm file.  The client will default
 
378
to using the regular planet pixmap if it is missing.
 
379
 
 
380
   3.3  Other features
 
381
 
 
382
*** Hockey Lines  
 
383
Due to popular demand, hockey lines have been added.
 
384
For those of you who want to see a hockey rink on the tactical,
 
385
just use the features menu (shift-O) and toggle them on.
 
386
 
 
387
You get:
 
388
   Blue lines (blue)
 
389
   Center line (red)
 
390
   Side lines, i.e. the rink edges (grey)
 
391
   Goal lines (red)
 
392
   Goal boxes (the color of the team)
 
393
 
 
394
They are a little awkward at first, but once you get used to them,
 
395
you'll wonder how you lived without them.
 
396
 
 
397
Since this is a first pass, I'm looking for more input on what
 
398
would make them better.  Here are some of my comments:
 
399
 
 
400
1)  Lines are hard coded into the software.  They should be 
 
401
based upon planet location, so the hockey gods can move the
 
402
planets around.
 
403
 
 
404
2)  You either have them all or none.  Perhaps the set of
 
405
desired lines should be configurable from the xtrekrc.  Also,
 
406
you cannot change the colors.
 
407
 
 
408
3)  Lines on the galactic would look pretty
 
409
 
 
410
If you have any comments, mail them to kantner@hot.caltech.edu
 
411
 
 
412
*** Shell escape tool
 
413
You may execute any Unix shell comand within the client. Read your mail 
 
414
now within the client. To do so, just send a message to the destination 
 
415
"!" and you get a shell prompt. Enter the comand and it's output will 
 
416
be displayed in the tools window. Works also with macros to "!".
 
417
You may disable it in the .xtrekrc for security reasons with shellTools: off
 
418
CAUTION: The client will be blocked for the time the comand is executed.
 
419
Also some programs suspend the client if it is started in the background.
 
420
 
 
421
*** Fast quit
 
422
Hitting 'q' will quit the client out without ever going back to the
 
423
team selection window, the normal 'Q' still goes back to the team
 
424
selection window.
 
425
 
 
426
*** Reread defaults file
 
427
You can reread your netrek default file by hitting '&', it is also
 
428
possible to enter a new default file name at anytime by sending
 
429
a message to 'M' which contains the file name.
 
430
 
 
431
*** Galactic rotation
 
432
For those who like to fight with some specific orientation, the
 
433
galaxy is now rotate-able.  This can be done in the options window.
 
434
This works now also with short packages.
 
435
 
 
436
*** Gateway
 
437
Lots of cool gateway code in this client, unfortunately I don't
 
438
use nor do I know what it does other than get past firewalls.
 
439
 
 
440
*** Observer support
 
441
Many servers allow you to *observe* a game instead of playing, sort of
 
442
like watching football.  COW supports this feature.  Currently in order
 
443
to be an observer, all you have to do is connect to the observer port
 
444
for a server.  A good guess at the observer ports for a pickup server is
 
445
2593; for INL, 4000 and 5000.
 
446
 
 
447
*** Lagmeter
 
448
This is pretty pointless: a continuously updated bar graph of how bad
 
449
your lag is.  Perfect for the whiny player who needs an excuse. ;)
 
450
This can be turned on with the '\' key, from the options menu, or from
 
451
the .xtrekrc.  (lagmeter.parent, lagmeter.mapped, lagmeter.geometry)
 
452
Requres netstats to be on.
 
453
 
 
454
*** Pingstats
 
455
In a similar vein, the pingstats window can be turned on from the .xtrekrc,
 
456
the options menu, or the key ','.
 
457
 
 
458
*** The Pig call
 
459
COW supports sending five spaces to a player as the de facto method of
 
460
requesting info on the client.  (So called because it was used by the Pig
 
461
borg, AFAIK.)  For instance:
 
462
        COW 3.00pl0, linux, 03/03/98, RMCSE365AmTsr
 
463
The letters in the fourth field indicate which #ifdefs were specified
 
464
at compile time.  Possiblities are:
 
465
R: RSA supported
 
466
M: Macros
 
467
D: Debugging information
 
468
C: Corrupted packet handling
 
469
S: Short packets
 
470
E%d: Expiration date, in days after compilation
 
471
A: Stat window contains a slider showing armies carried
 
472
   (does not affect the newdashboard code)
 
473
m: Metaserver support
 
474
T: "Various tools, like shell escape, ..."
 
475
s: Sound
 
476
r: RCD support
 
477
 
 
478
*** Improved help window:  
 
479
        Basically, this was done to show what keys were
 
480
    actually mapped to what functions.  Every key function has a line in 
 
481
    the help window. Her'es a sample line:
 
482
 
 
483
    s gb  Toggle shields
 
484
    ||\\_ The 'b' key has been mapped to toggle shields
 
485
    || \_ The 'g' key has also been mapped toggle to  the shields
 
486
    |\____This space is always there, as a separator.
 
487
    \_____This is the default key for this function, and the hook that you
 
488
          use when defining things to this function. I.e. to set the 'g' 
 
489
          and 'b' mappings mentioned here, you'd have to put 'gsbs' in 
 
490
          your .xtrekrc or your keymap options.
 
491
          NOTE:  This character will appear here, even if it is mapped
 
492
                to something else.
 
493
 
 
494
*** Message-Warp:  The non-warp version.
 
495
        Hit the 'm' key and start typing. Your cursor changes to the
 
496
    'text' cursor, and all keystrokes go to the message window.  Sending
 
497
    the mesage or the ESC key ends this.  Again, the mouse pointer is not 
 
498
    moved.
 
499
 
 
500
*** Documentation Window
 
501
 
 
502
The documentation window is used to view documentation while actually 
 
503
playing.  In order to do this you must either have the COW.DOC file in 
 
504
the directory you are running the client from or you must set the 
 
505
documentation resource value with the full path to the file with the
 
506
documentation.  Control-y brings this window up.  Also available via
 
507
shift-O option menu under "info."
 
508
 
 
509
The 'f', 'b' keys scroll forward and back by 28 lines, like the motd 
 
510
window.  While 'F' and 'B' keys scroll by 4 lines.
 
511
 
 
512
In .xtrekrc:
 
513
documentation:  /home/kensho/powell/misc/netrek/brm3002/myCOW.DOC
 
514
 
 
515
*** Xtrekrc File Window
 
516
 
 
517
The xtrekrc file window is used to view your current xtrekrc file online.
 
518
It is currently very stupid in that if you used the command line
 
519
option '-r' to specify your xtrekrc file, this viewer will not find
 
520
it (it currently hard wired for $HOME/.xtrekrc:(  Control-X (that 
 
521
is control-shift-x) will bring up this window, or shift-O under "info."
 
522
 
 
523
The 'f', 'b' keys scroll forward and back by 28 lines, like the motd 
 
524
window.  While 'F' and 'B' keys scroll by 4 lines.
 
525
 
 
526
*** Auto torp aiming and dodge
 
527
Get outa here...
 
528
 
 
529
 
 
530
***************************************************************
 
531
4.0 Xtrekrc:
 
532
***************************************************************
 
533
 
 
534
COW looks for a .xtrekrc file in your home directory.  Alternatively
 
535
this file may be called home, and it may be in whatever directory
 
536
the client is executed from.
 
537
 
 
538
A file called "SAMPLE.xtrekrc" should have been included with this
 
539
client.  Below is an attempt to explain the many,many options you
 
540
can include in a .xtrekrc file.  Some of this was borrowed from
 
541
various other documentation such as MOO documentation.
 
542
 
 
543
For other options, see MACROs and Receiver Configurable Distress Calls.
 
544
 
 
545
 
 
546
   4.1   Windows, fonts, and colors
 
547
 
 
548
rank.mapped:    (on/off)
 
549
rank.parent:    (window name) ie root, review_all, netrek, etc
 
550
rank.geometry:  (geometry specification) ie 80x26+554+624
 
551
                Every window may have these three defaults set for it.
 
552
                Some windows are resizeable, others are not.
 
553
 
 
554
font:           fixed
 
555
bigfont:        lucidasans-24
 
556
italicfont:     -schumacher-clean-medium-i-normal--10-*-*-*-c-80-iso8859-1
 
557
boldfont:       -schumacher-clean-bold-r-normal--10-100-*-*-c-60-iso8859-1
 
558
                Specifies which fonts you want to use,
 
559
                not sure that all of these are still used in COW
 
560
 
 
561
The personalized cursor extensions allows the user to specify their own 
 
562
cursors for the map, local, text, menus and info list windows.  
 
563
 
 
564
localCursorDef:         /usr/me/.local.xbm
 
565
mapCursorDef:           /usr/me/.map.xbm
 
566
infoCursorDef:          /usr/me/.info.xbm
 
567
textCursorDef:          /usr/me/.text.xbm  # the mask would be called /usr/me/.text.xbm.mask
 
568
arrowCursorDef:         /usr/me/.arrow.xbm
 
569
 
 
570
For infoCursorDef, textCursorDef, arrowCursorDef an optional mask may 
 
571
be specified.  To specify a mask, first create your new cursor, say called
 
572
mycursor, then create the mask and call it mycursor.mask.  They both need to
 
573
be on the same path.  Cursor and mask *must* be the same size, if not the 
 
574
cursor cannot be used (why anybody would want to do this makes no sense, 
 
575
but...:)
 
576
 
 
577
color.white:            white
 
578
color.black:            black
 
579
color.red:              #ffa0ff
 
580
color.green:            green
 
581
color.yellow:           yellow
 
582
color.cyan:             cyan
 
583
color.light grey:       light grey
 
584
                Specify what colors should be used by the client.
 
585
                This is generic X color specification (right?).
 
586
                All the possible left hand sides are listed I think.
 
587
color.Ind:              light grey
 
588
color.Fed:              yellow
 
589
color.Rom:              tomato
 
590
color.Kli:              green2
 
591
color.Ori:              light steel blue
 
592
                Race Colors may be set separately.
 
593
 
 
594
   4.2   Startup options
 
595
 
 
596
name:           (string of chars) default name
 
597
 
 
598
password:       (string of chars) default password; if both name and password
 
599
                are included in your .xtrekrc, COW will attempt to do
 
600
                an autologin for you.
 
601
 
 
602
server:         bronco.ece.cmu.edu
 
603
                default server that is called when no -h argument is
 
604
                specified.  Leave this blank to have cow call the 
 
605
                metaserver by default.
 
606
 
 
607
port:           2596
 
608
                default port that gets called. The compiled default is 2592.
 
609
 
 
610
server.rio:     riovista.berkeley.edu
 
611
                Allows you to specify a server abbreviation.  Thus instead of
 
612
                using "-h riovista.berkeley.edu" you now use only "-h rio"
 
613
port.rio:       4566
 
614
                default port that gets called for the server abbreviation.
 
615
 
 
616
showmotd:       (on/off) display motd if in wait queue
 
617
 
 
618
useRSA:         (on/off) default setting for whether the client should use RSA
 
619
                verification.
 
620
 
 
621
autoquit:       (integer) length of time to wait on team selection screen
 
622
                before Auto-quit exits for you.
 
623
 
 
624
ignoreSignals:  (on/off) ignore SIGSEGV and SIGBUS.  COW will try to reset
 
625
                the game so you can continue.
 
626
 
 
627
   4.3   Combat options
 
628
 
 
629
warnShields:    (on/off) In color, you can have your shield be color of your 
 
630
                alert status (red, yellow, green)
 
631
 
 
632
varyShields:    (on/off) Shield color and bitmap depends on shield strength.
 
633
 
 
634
varyHull:       (on/off) graphical indication of your hull condition.  Kinda
 
635
                like varyShields.  When varyHull is on your ship looks like it
 
636
                has small spikes sticking out of the shields, each spike
 
637
                representing 12.5% of your hull strength.
 
638
 
 
639
cloakChars:     (string of one or two chars) what to use for cloakers on
 
640
                galactic instead of '??'.
 
641
 
 
642
enemyPhasers:   (integer 0-10) enemy phasers thickness at starting point.
 
643
 
 
644
phaserShrink:   (integer 0-16) Don't draw the first "phaserShrink"/16 th of
 
645
                your phaser.  This makes it easier to see incomming torps.
 
646
 
 
647
theirPhaserShrink: (integer 0-16) "phaserShrink" for other player's ships.
 
648
 
 
649
shrinkPhaserOnMiss: (on/off) Use "phaserShrink" and "theirPhaserShrink" even
 
650
                if a phaser misses.
 
651
                
 
652
highlightFriendlyPhasers: (on/off) phaser hits by your team are solid white
 
653
                          (instead of the default "rainbow" a la COW-lite.
 
654
 
 
655
showtractorpressor:  (on/off) toggle showing tractor/pressor  beams
 
656
 
 
657
continueTractors: (on/off) off = turns off the visible t/p after 2 updates.
 
658
 
 
659
showstats:      (on/off) show stats window
 
660
 
 
661
 
 
662
   4.4   Messaging options
 
663
 
 
664
newDistress:    (on/off) right justified distress call or not, default value
 
665
                is to right justify (on)
 
666
 
 
667
reportkills:    (on/off) display kill messages or ignore these
 
668
 
 
669
censorMessages: (on/off) attempts to remove profanity from messages sent.
 
670
                They'll look like this: "F0->FED  @$%# you twink"
 
671
 
 
672
logging:        (on/off) displays messages to stdout if set.
 
673
 
 
674
logfile:        (filename) alternatively saves messages to a text file
 
675
 
 
676
PhaserMsg:      [0, 1, 2, 3, 4, 5]
 
677
 
 
678
  0 = Don't log phaser hits
 
679
  1 = Log phasers on all window
 
680
  2 = Log phasers on team window
 
681
  3 = Log phasers on indiv window
 
682
  4 = Log phasers on kill window
 
683
  5 = Log phasers on review window
 
684
 
 
685
  the additional phaser window is controlled just like the other
 
686
  review windows.  e.g.:
 
687
     review_phaser.mapped:   on
 
688
     review_phaser.parent:   netrek
 
689
     review_phaser.geometry: 81x2+0+555
 
690
 
 
691
 
 
692
   4.5   Net options
 
693
 
 
694
netstats:       (on/off) collect network statistics for measuring lag
 
695
 
 
696
netstatfreq:    (integer) how often to update the network statistics
 
697
 
 
698
tryShort:       (on/off) default setting for whether to use short packets.
 
699
 
 
700
tryUdp:         (on/off) try to automatically connect with UDP
 
701
udpDebug:       0 = OFF   1 = ON (conect msgs only)  2 = ON (verbose output)
 
702
udpClientSend:  0 = TCP only,  1 = simple UDP 
 
703
                2 = enforced UDP--"state", including the following flags:
 
704
                        SPEED
 
705
                        DIRECTION
 
706
                        SHIELD (up or down)
 
707
                        ORBIT
 
708
                        REPAIR
 
709
                        CLOAK
 
710
                        BOMB
 
711
                        DOCKingPERMission
 
712
                        PLAYerLOCK and PLANetLOCK
 
713
                        BEAMing of armies
 
714
                3 = enforced UDP--"state & weapons" all of the above plus
 
715
                        PHASER commands
 
716
                        PLASMA commands
 
717
                Note that TORP commands are not included.
 
718
 
 
719
udpClientRecv:  0 = TCP, 1 = simple, 2 = fat, 
 
720
                3 = double (not currently supported)
 
721
 
 
722
udpSequenceChk: ?
 
723
 
 
724
 
 
725
   4.6   Galactic/tactical map options
 
726
 
 
727
useTNGBitmaps:  (on/off) Different bitmaps for fed.  Not the new pixmaps.
 
728
 
 
729
ROMVLVS:        (on/off) Replacement for dorky Rom CA bitmap.  Not a pixmap.
 
730
 
 
731
showIND:        (on/off) mark independent planets with a X drawn over it.
 
732
 
 
733
newPlanetBitmaps: removed.  Use showlocal/showgalactic instead.
 
734
whichNewPlanetBitmaps: ditto.
 
735
 
 
736
newDashboard:   (integer 0-3) Uses sliding bars instead of numbers to display
 
737
                speed, shield/hull status, etc, on the dashboard.  1 is
 
738
                'vanilla'; just like the old stat graph.  When set at 2,
 
739
                besides defaulting to green, displays how much hull/shield
 
740
                you have LEFT, not how much you have lost (i.e. this is an
 
741
                optimistic dashboard, it sees the cup as half full ;).  At 3,
 
742
                uses triangle sliders AND numbers.
 
743
 
 
744
keepInfo:       (integer) number of updates to keep info windows on the
 
745
                screen before automatically removing them
 
746
 
 
747
extraAlertBorder:  Draws border in internal netrek windows, as well
 
748
        as external ones (which get ignored in X11 with window-managers )
 
749
 
 
750
forcemono:     if on, the client windows are set to be monochrome
 
751
 
 
752
redrawDelay:  if >0 synchron screen refresh every n/10 sec 
 
753
                (useful for slow X-terms and high lag). 
 
754
 
 
755
showgalactic:   0 = nothing, 1 = ownership, 2 = standard resources,
 
756
                3 = MOO/ZZ resources, 4 = rabbit ear resources
 
757
                Determines what kind of information will be shown on planets 
 
758
                displayed on the galactic.  With option 2, the planet bitmap
 
759
                has symbolic icons for armies > 4, repair, and fuel resources.
 
760
                With option 3, the planet has a dot in its center to represent
 
761
                fuel and four tickmarks in the corners to represent repair.
 
762
                With option 4, an ear on the left indicates repair and an
 
763
                ear on the right fuel.
 
764
 
 
765
showlocal:      0 = nothing, 1 = ownership, 2 = standard resources,
 
766
                3 = MOO/ZZ resources, 4 = rabbit ear resources
 
767
                Determines what kind of information will be shown on planets 
 
768
                displayed on the local map.
 
769
 
 
770
showLock:       0 = none, 1 = galactic, 2 = local, 3 = both
 
771
                Where to display the locked-on triangle.
 
772
 
 
773
showplanetnames: (on/off) turn on planet names by default.
 
774
 
 
775
colorgalactic:   Use color pixmaps instead of bitmaps on galactic.
 
776
(Obsolete -- see section 3.2.2)
 
777
 
 
778
showstars:    Use starry background on galactic map.
 
779
(Obsolete -- see section 3.2.2)
 
780
 
 
781
Color pixmap controls.  (See section 3.2.2)
 
782
resource-- indPix:        (on/off)   default on
 
783
resource-- fedPix:        (on/off)   default on
 
784
resource-- romPix:        (on/off)   default on
 
785
resource-- kliPix:        (on/off)   default on
 
786
resource-- oriPix:        (on/off)   default on
 
787
resource-- weaponPix:     (on/off)   default on
 
788
resource-- ex:plosionPix  (on/off)   default on
 
789
resource-- cloakPix:      (on/off)   default on
 
790
resource-- mapPix:        (on/off)   default on
 
791
resource-- backgroundPix: (on/off)   default on
 
792
resource-- pixFlags:      (int)      default 0  (== all on)
 
793
 
 
794
ownerhalo:      (on/off)   default off
 
795
                Draw a circle around the planet pixmap in the color of the 
 
796
                owning team. (pixmaps only)
 
797
 
 
798
 
 
799
   4.7   Keymap (and mouse) options
 
800
 
 
801
keymap:         (string of chars) remaps the keyboard, syntax is simply the
 
802
                key to map onto, followed by the key to map, repeated.
 
803
                Thus to map the "fire torps" key 't' onto 'f', use
 
804
                keymap: ft
 
805
                (See also the sections on control keymaps and ship
 
806
                dependent keymaps below.)
 
807
 
 
808
ignoreCaps:   (on/off) ignore the Capslock key.
 
809
 
 
810
buttonmap:      map the mouse buttons to something else.
 
811
                i.e. the default mapping is:
 
812
                1t2p3k
 
813
 
 
814
shiftedMouse:   (on/off) 
 
815
        The shift and control keys can be used to modify the default function
 
816
        assigned to a button.  The shift key acts as a switch which brings an
 
817
        alternate mapping to the mouse buttons.  In a simliar way control and
 
818
        shift + control act to switch mappings again.
 
819
        Breakdown of values:
 
820
                Normal buttons 1, 2, 3, 
 
821
        <shift + button 1, 2, or 3> maps to 4, 5, 6,
 
822
        <control + button 1, 2, or 3> maps to 7, 8, 9, 
 
823
        <shift + control + button 1, 2, or 3> maps to a, b, and c. 
 
824
        This remaps all the possible mouse buttons:
 
825
        buttonmap: 1t2p3k4c5s6y7E8z9xaFbdcD
 
826
 
 
827
mouseAsShift:   (on/off) Not to be confused with "shiftedMouse." ;)
 
828
                Makes the mouse buttons 1-3 act like shift keys.  Each button 
 
829
                "shifts" or causes a new set of key mappings to come into 
 
830
                effect: Instead of the keyboard remapping the mouse, the 
 
831
                mouse now remaps the keyboard.  Each key on the keyboard now
 
832
                has several possible mappings.  Use the b[123]keymap
 
833
                option to specify commands.  For example, to have the 'a'
 
834
                key fire a torpedo while button1 is pressed, and a phaser
 
835
                while button2 is pressed, add the lines:
 
836
                b1keymap: at
 
837
                b2keymap: ap
 
838
 
 
839
continuousMouse: (on/off) allows you to cause multiple commands to be issued 
 
840
                 to the server when dragging the mouse with a button down.
 
841
                 For instance you can drag the mouse while pressing button 3 
 
842
                 (which defaults to set_course).  Saves on button wear and
 
843
                 tear. ;)
 
844
 
 
845
  4.7.1  Ship dependent keymaps, buttonmaps and .xtrekrc files 
 
846
 
 
847
You can add one of: sc, dd, ca, bb, as, sb, ga, att, default to the
 
848
following default options to override them based on ship type:
 
849
 
 
850
rcfile-??:      ship specific .xtrekrc file,
 
851
keymap-??:      ship dependent keymap,
 
852
ckeymap-??:     ship dependent CTRL keymap,
 
853
buttonmap-??:   ship dependent buttonmap.
 
854
 
 
855
It will automatically reload the specified defaults if you change the
 
856
shiptype. If a ship-specific option is not specified, the default
 
857
option is used for that ship.  For e.g., keymap-sc: will be used
 
858
instead of keymap: whenever you switch to an SC.
 
859
 
 
860
Used well, this is a very powerful feature.  For instance, you might
 
861
bind a key to your prefered cruising speed, with a different speed for
 
862
each ship type.
 
863
 
 
864
Here's part of my keymap as an example.
 
865
# default: q = warp 2, w = 1/2 maxwarp, e = maxwarp
 
866
ckeymap:        q2w#e%
 
867
# override some of the above, based on ship type
 
868
ckeymap-ca:     w4
 
869
ckeymap-bb:     w3
 
870
ckeymap-sb:     q1w2
 
871
 
 
872
  4.7.2  Control keymaps
 
873
 
 
874
Control keymaps (ckeymap) handle the remapping of keys in an
 
875
analoguous manner to the normal keymap (keymap).  The control keymap
 
876
also allows the user to map both *upper* and *lower* case letters keys
 
877
when pressed with the control key.  This means that ^u and ^U are
 
878
*different* keys when it come to mapping them.
 
879
 
 
880
Any combination of normal keys and control keys can be mapped to one 
 
881
another.  In other words, you can map from control key to control key,
 
882
control key to normal key, normal key to normal key, and normal key
 
883
to control key.  
 
884
 
 
885
New format for ckeymap is:
 
886
c = any printable ascii character.
 
887
^ = introduce control mapping (the key '^' not control + key.)
 
888
 
 
889
Each entry is a pair, like:
 
890
cc              # regular format
 
891
c^c             # regular->control
 
892
^cc             # control->regular
 
893
^c^c            # control->control
 
894
 
 
895
Example ckeymap:
 
896
ckeymap:                 ^a%r^b^m^ca%d5 tfDFf^^E
 
897
 
 
898
Special case:
 
899
The '^' must be mapped with a double ^ ("^^") in either the bound or
 
900
binding key position.
 
901
 
 
902
Notes:
 
903
* If you experience difficulties (you shouldn't) you might wish to use
 
904
  a normal keymap and a new ckeymap in combination.  Both are read in,
 
905
  the keymap first then the ckeymap.  This means that if a key is
 
906
  defined in both the keymap and ckeymap, the ckeymap's definition
 
907
  will be the one used.
 
908
* If you wish to use ckeymaps in conjunction with keymaps based on
 
909
  ship type (keymap-??, etc.), note that ckeymap still overrides
 
910
  keymap-??.  For e.g., if you define a key in ckeymap and in
 
911
  keymap-bb, the ckeymap binding hides the other binding.  You should
 
912
  use ckeymap-bb instead.
 
913
* Since ckeymaps are a superset of keymaps, you might consider using
 
914
  ckeymaps in all situations where you would use keymaps.  This will
 
915
  make things a lot simpler for you.  (But keep in mind that `^' has a
 
916
  special meaning in ckeymaps!)
 
917
 
 
918
Analogously, control keys may be used for buttonmap, singleMacro and
 
919
all macro and RCD definitions.
 
920
 
 
921
   4.8   Playerlist options
 
922
 
 
923
newPlist:       (on/off) new playerlist, instead of total kills, deaths
 
924
                offense and defense it shows login and stats (off+bomb+planet).
 
925
                Provided for backwards compatibility; use playerListStyle
 
926
                instead.
 
927
 
 
928
sortPlayers:    (on/off) Sort the playerlist with the enemy team players
 
929
                first, then your team and then the neutral players.
 
930
 
 
931
sortMyTeamFirst: (on/off) Modifies "sortPlayers" so that your team is sorted
 
932
                immediately before the enemy teams.
 
933
                
 
934
partitionPlist: Add blank lines to a sorted player list to separate the
 
935
                different teams.  This is useful in mono where the teams
 
936
                can not be distinguished by their color.
 
937
                                                
 
938
playerListStyle: (0-4) The style for the player list.  The options are:
 
939
                
 
940
                (0) Custom player list as defined by the
 
941
                        playerlist variable above,
 
942
                (1) Old player list,
 
943
                (2) Traditional COW player list,
 
944
                (3) Kill watch player list,
 
945
                (4) BRMH Player list.
 
946
                
 
947
                If "playerListStyle" is set, newPlist is ignored.
 
948
                Use the options menu (shift-O) to try the different styles.
 
949
                If no options are specified, defaults to (1).
 
950
                
 
951
playerlist:     (string) The layout for the player list.  What it allows
 
952
you to do is specify which columns of the player list you want to show
 
953
and in what order.  The following is a table of the available columns.
 
954
 
 
955
Spc  Let   Name                 Header
 
956
---  ---   -------------------- -------------------
 
957
  3  'n'   Ship Number          " No"
 
958
  3  'T'   Ship Type            " Ty"
 
959
 11  'R'   Rank                 " Rank      "
 
960
 17  'N'   Name                 " Name            "
 
961
  6  'K'   Kills                " Kills"
 
962
 17  'l'   Login Name           " Login           "
 
963
  6  'O'   Offense              " Offse"
 
964
  6  'W'   Wins                 "  Wins"
 
965
  6  'D'   Defense              " Defse"
 
966
  6  'L'   Losses               "  Loss"
 
967
  6  'S'   Total Rating (stats) " Stats"
 
968
  6  'r'   Ratio                " Ratio"
 
969
  8  'd'   Damage Inflicted(DI) "      DI"
 
970
  1  ' '   White Space          " "
 
971
 
 
972
options available when compiled with PLIST1
 
973
  6  'B'   Bombing              " Bmbng"
 
974
  6  'b'   Armies Bombed        " Bmbed"
 
975
  6  'P'   Planets              " Plnts"
 
976
  6  'p'   Planets Taken        " Plnts"
 
977
 17  'M'   Display/Host Machine " Host Machine    "
 
978
  7  'H'   Hours Played         " Hours "
 
979
  6  'k'   Max Kills            " Max K"
 
980
  6  'V'   Kills per Hour       "   KPH"
 
981
  6  'v'   Deaths per Hour      "   DPH"
 
982
 
 
983
options available when compiled with PLIST2
 
984
  9  'w'   War staus            " War Stat"
 
985
  3  's'   Speed                " Sp"
 
986
 
 
987
So for example if you just wanted to see names and rank you'd add this
 
988
line to your .xtrekrc:
 
989
 
 
990
playerlist: NR
 
991
 
 
992
The styles defined by "playerListStyle" are
 
993
        1: Old style            = "nTRNKWLr O D d "
 
994
        2: COW style            = "nTR N  K lrSd"
 
995
        3: Kill watch style     = "nTK  RNlr Sd"
 
996
        4: BRMH style           = "nTR N  K l M"
 
997
 
 
998
     In order for this mod to be in effect you must compile with PLIST
 
999
defined.  The things shown after PLIST1 are only available if you
 
1000
have PLIST1 defined, the same goes for the things after PLIST2, but
 
1001
you must have PLIST defined or neither of these will do anything.
 
1002
 
 
1003
NOTE FROM SOURCE KEEPER:
 
1004
PLIST2 is not active in COW currently.  Some players feel that placing
 
1005
speed on the playerlist gives a strategic advantage.
 
1006
 
 
1007
NOTE ON SB STATS :
 
1008
On servers which support the SBHOURS .feature, you will see slightly 
 
1009
different things when you info a SB, or show the SB player on the 
 
1010
playerlist.  The usual offense and defense lines are replaced with SB 
 
1011
kills/hour and deaths/hour.  The kills, deaths, hours and ratio entries
 
1012
are all the player's SB stats as long as he is in the SB, and his normal
 
1013
stats otherwise.
 
1014
 
 
1015
***************************************************************
 
1016
5.0  Connection Types: UDP, TCP.  Short packets.
 
1017
***************************************************************
 
1018
 
 
1019
UDP provides an unreliable, packet-based protocol for sending data
 
1020
across an IP network.  There are a variety of ways that a UDP packet
 
1021
can be lost or discarded, including a failure of the underlying
 
1022
communication mechanism.  UDP implements a checksum over the data
 
1023
portion of the packet.  If the checksum of a received packet is in
 
1024
error, the packet will be dropped with no indication given to the
 
1025
user.  A queue of received packets is provided for each UDP socket.
 
1026
This queue has a limited capacity.  Arriving datagrams which will not
 
1027
fit within its high-water capacity are silently discarded.
 
1028
 
 
1029
Guest              Rd     71       27            2% /  13%
 
1030
 
 
1031
The stats above show a typically UDP connection.  It has loss of
 
1032
packets but its round-trip times are fairly low.
 
1033
 
 
1034
 
 
1035
TCP provides a reliable, flow-controlled, in order transfer of data
 
1036
across an IP network.  There is nothing fundamentally different about
 
1037
the way UDP and TCP packets travel over the wire.  The only real
 
1038
difference is that TCP will keep sending the same packet over and over
 
1039
again until it gets an acknowledgement back.  As a result, TCP
 
1040
connects are typically slower than UDP connections and usually require
 
1041
more bandwidth.  TCP is slower because it guarantees that packets will
 
1042
arrive in order and so a lost packet can hold up later packets.
 
1043
 
 
1044
Example:
 
1045
 
 
1046
Guest          Ff    405      669            0% /   0%
 
1047
                     ^^^      ^^^            ^^^^^^^^^
 
1048
 
 
1049
The above shows possibly the same connection with UDP turned off.
 
1050
There is no loss but the round trip times are much higher.
 
1051
 
 
1052
 
 
1053
NOTES:
 
1054
 
 
1055
*  COW always uses TCP for some things.  For example, the text messages
 
1056
   that you can send to other players are implement in TCP to guarentee
 
1057
   that they always arrive.  However, if a UDP connection is also
 
1058
   available, it is used for the vast majority of communication.
 
1059
   
 
1060
*  COW will fall back to using a TCP only if it fails to open
 
1061
   a UDP link.  If you find that you have high lag and no loss, you
 
1062
   probably should display the UDP control window (the default key is
 
1063
   `+') and turn UDP back on by pressing the top button.
 
1064
 
 
1065
*  It is recommended to use a TCP connection if you are at the same
 
1066
   site (within a few milliseconds lag) of the server you are playing on.
 
1067
   The main reason for using UDP is to reduce your round trip times.
 
1068
 
 
1069
*  The option "tryUdp" can be used to set a preference for using
 
1070
   UDP (tryUdp: on) or TCP only (tryUdp: off).
 
1071
   
 
1072
 
 
1073
 
 
1074
***************************************************************
 
1075
Short Packets:
 
1076
***************************************************************
 
1077
 
 
1078
For a more technical description of short packets, see README.SHORT_PCK.
 
1079
 
 
1080
Short packets are supported by COW.  These have been shown
 
1081
to substantially reduce the volume of traffic between the client
 
1082
and server, and will improve lag in many situations.  Not all
 
1083
servers support short packets yet, but that is changing rapidly.
 
1084
 
 
1085
COW has a short packet window which is brought up with the ` key.
 
1086
In this window you can turn short packets on and off as well as
 
1087
configure it in various ways.
 
1088
 
 
1089
Also in your netrek defaults file you can add the line
 
1090
 
 
1091
tryShort:       on
 
1092
 
 
1093
in order to have short packets automatically turned on whenever
 
1094
you connect to a server which allows it.
 
1095
 
 
1096
Don't forget about the - and | keys for requesting updates.
 
1097
 
 
1098
 
 
1099
***************************************************************
 
1100
6.0 MACROs, RCD, RCM:
 
1101
***************************************************************
 
1102
 
 
1103
Three types of macros exist in the COW client:  NBT, NEWMACRO, and
 
1104
SMARTMACRO.  NBT is always on, however NEWMACRO and SMARTMACRO can
 
1105
be turned off by a server which does not allow them.
 
1106
 
 
1107
You may see a list of what macros are in your client by hitting
 
1108
'X' followed by '?'.  At the top of this list it shows which macros
 
1109
are enabled in the client right now.
 
1110
 
 
1111
NBT macros allow you enter a message in your .xtrekrc which you
 
1112
send regularly.  
 
1113
 
 
1114
macro.x.X:      <text here>
 
1115
#x is any ascii character; it is the "name" of the macro (the key you press
 
1116
#in macro mode to send the associated macro)
 
1117
#X can be A,T,F,R,K,O where A=all, T=team, F=fed, R=rom, K=kli, O=ori
 
1118
#(determines the message board to which the text body of the macro is sent)
 
1119
Example: 
 
1120
macro.b.T:              BOMB!!!!
 
1121
 
 
1122
For more information on NEWMACRO and SMARTMACRO see the NEWMACRO 
 
1123
section below.
 
1124
 
 
1125
 
 
1126
***************************************************************
 
1127
Receiver Configurable Distress Calls (RCD):
 
1128
***************************************************************
 
1129
 
 
1130
9/2/93 - jmn, jn (no relation 8^)
 
1131
6/7/95 - updated by ATH
 
1132
 
 
1133
Receiver configurable distress calls have been added to the client
 
1134
and use a MACRO-like syntax.
 
1135
 
 
1136
In order to change the distress type a line such as the following
 
1137
should be in your defaults file.
 
1138
 
 
1139
dist.T.taking:          (%i) Carrying %a to %l%?%n>-1%{ @ %n%}
 
1140
 
 
1141
        or simply
 
1142
 
 
1143
dist.taking:            (%i) Carrying %a to %l%?%n>-1%{ @ %n%}
 
1144
 
 
1145
This has the format 
 
1146
dist.[key].[name of distress]:          [macro]
 
1147
 
 
1148
Arguments for the macro and SMARTMACRO syntax are exactly the same
 
1149
as before.  Any argument can be used, but usually only those
 
1150
in the groups "Standard" and "FULLY CAPITALIZED" apply.
 
1151
 
 
1152
Note that if you don't want to ever see a certain distress, use the
 
1153
macro characters : %*.  For example,
 
1154
 
 
1155
      dist.free_beer: %*
 
1156
 
 
1157
will allow your client to simply ignore any "free beer" RCD's that get sent.
 
1158
 
 
1159
Below is a table giving the name of each distress, the key it
 
1160
is assigned to, and the default macro (at the time of this writing).
 
1161
Note that except for E and F, these are all control keys.
 
1162
 
 
1163
Key  Name       Default Distress Macro
 
1164
t    taking     %T%c->%O (%S) Carrying %a to %l%?%n>-1%{ @ %n%}
 
1165
o    ogg        %T%c->%O Help Ogg %p at %l
 
1166
b    bomb       %T%c->%O %?%n>4%{bomb %l @ %n%!bomb%}
 
1167
c    space_control      %T%c->%O Help Control at %L
 
1168
1    save_planet        %T%c->%O Emergency at %L!!!!
 
1169
2    base_ogg   %T%c->%O Sync with --]> %g <[-- OGG ogg OGG base!!
 
1170
3    help1      %T%c->%O Help me! %d%% dam, %s%% shd, %f%% fuel %a armies.
 
1171
4    help2      %T%c->%O Help me! %d%% dam, %s%% shd, %f%% fuel %a armies.
 
1172
e    escorting  %T%c->%O ESCORTING %g (%d%%D %s%%S %f%%F)
 
1173
O    ogging     %T%c->%O Ogging %h
 
1174
B    bombing    %T%c->%O Bombing %l @ %n
 
1175
C    controlling        %T%c->%O Controlling at %l
 
1176
5    asw        %T%c->%O Anti-bombing %p near %b.
 
1177
6    asbomb     %T%c->%O DON'T BOMB %l. Let me bomb it (%S)
 
1178
7    doing1     %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l.  %d%% dam, %s%% shd, %f%% fuel
 
1179
8    doing2     %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l.  %d%% dam, %s%% shd, %f%% fuel
 
1180
f    free_beer  %T%c->%O %p is free beer
 
1181
n    no_gas     %T%c->%O %p @ %l has no gas 
 
1182
h    crippled   %T%c->%O %p @ %l crippled
 
1183
9    pickup     %T%c->%O %p++ @ %l
 
1184
0    pop        %T%c->%O %l%?%n>-1%{ @ %n%}!
 
1185
F    carrying   %T%c->%O %?%S=SB%{Your Starbase is c%!C%}arrying %?%a>0%{%a%!NO%} arm%?%a=1%{y%!ies%}.
 
1186
@    other2     %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l. (%d%%D, %s%%S, %f%%F)
 
1187
#    other3     %T%c->%O (%i)%?%a>0%{ has %a arm%?%a=1%{y%!ies%}%} at %l. (%d%%D, %s%%S, %f%%F)
 
1188
E    help       %T%c->%O Help(%S)! %s%% shd, %d%% dmg, %f%% fuel,%?%S=SB%{ %w%% wtmp,%!%}%E%{ ETEMP!%}%W%{ WTEMP!%} %a armies!
 
1189
 
 
1190
 
 
1191
Here is some documentation written by jmn about how receiver
 
1192
configurable distress calls work:
 
1193
 
 
1194
===========================
 
1195
Well... here's how it works.... Each RC_DISTRESS compatible client can make
 
1196
the distress call appear as whatever you like through their .xtrekrc...
 
1197
If you DONT have a new enough client the server will do a default parsing
 
1198
of the distress call and you will see it like that. Also if the server is
 
1199
old then the distress call sent out by each client will appear the way
 
1200
_the sender_ likes to have them displayed.
 
1201
 
 
1202
Let me summarize with an example:
 
1203
F0 likes 'F' to say 'Carrying 4 maggots.'
 
1204
F1 likes 'F' to say 'Carrying 4 armies.'
 
1205
F2 likes 'F' to say 'Carrying 4 lawyers. 20% fuel'
 
1206
The server default is 'Carrying 4.'
 
1207
Note:
 
1208
Advanced RC_DISTRESS users should note that 'F' can be remapped easily in
 
1209
at least 2 different ways. For example throught .xtrekrc
 
1210
 
 
1211
dist.(.carrying: %T%c: Carrying %a maggots.
 
1212
singleMacro: (
 
1213
(this will make 'X(' or '(' be the same as 'F' used to be)
 
1214
There will be more documentation on this coming later but basically the
 
1215
syntax is the same as SMARTMACRO and NEWMACRO.
 
1216
 
 
1217
-----------
 
1218
On a NEW server:
 
1219
Case 1: All of them are using a new client.
 
1220
F1 will ALWAYS see 'Carrying x armies.' No matter who sent it.
 
1221
 
 
1222
Case 2: Only F1 is using an old client.
 
1223
F1 will see the _server_ set defaults for the carrying call from everybody.
 
1224
Note that the calls from F0 and F2 will appear in the same format to him on
 
1225
this server (but may appear in a different format on different servers).
 
1226
F2 and F0 will see F1's client-defined distress calls.
 
1227
 
 
1228
---------------
 
1229
On an old server:
 
1230
F1 will see whatever the sender likes to see (in this case the sender sends
 
1231
the pre-formatted text instead of the RC_DISTRESS short-hand).
 
1232
So a 'F' from F2 will appear to everybody as:
 
1233
'Carrying 4 lawyers. 20% fuel'
 
1234
a 'F' from F0 will appear to everybody as:
 
1235
'Carrying 4 maggots.'
 
1236
===========================
 
1237
 
 
1238
 
 
1239
-------------------------------------------------------------------------
 
1240
8/16/93 - jn
 
1241
New feature for default file... 
 
1242
rejectMacro:  on        (on/off) default to off, if on, COW automatically
 
1243
                        stops NEWMACROs from being sent when the server
 
1244
                        has turned NEWMACROs off.  That is any
 
1245
                        macro in your defaults file defined by a
 
1246
                        mac.*.*:   (TEXT)    line.                      
 
1247
 
 
1248
***************************************************************
 
1249
NEWMACRO and SMARTMACRO documentation - Jeff Nelson 6/4/1993 
 
1250
***************************************************************
 
1251
 
 
1252
 
 
1253
*WARNING*  *WARNING*  *WARNING*  *WARNING*  *WARNING*
 
1254
 
 
1255
These features default ON in the COW client!  A server may turn them
 
1256
off *for you* if they are not allowed at that server.  The BRM client will
 
1257
inform you by sending you a message line like:
 
1258
BRM: Features enabled: NO_NEWMACRO, NO_SMARTMACRO
 
1259
 
 
1260
If you are not at a server that allows NEWMACRO, then all targetted
 
1261
macros will be treated as normal NBT macros (no argument substitution,
 
1262
%a will broadcast as %a).  If you are not on a server that allows
 
1263
SMARTMACRO, then any conditional text or tests will *not* be evaluated,
 
1264
instead they will be sent as the macro appears in your defaults file!
 
1265
 
 
1266
If you don't like this, complain to the server god!!  Make a difference!!
 
1267
 
 
1268
 
 
1269
Compilers:
 
1270
In order to use the below features, NBT and NEWMACRO must be defined.
 
1271
In addition, SMARTMACRO must be defined to use the most advanced
 
1272
features.
 
1273
 
 
1274
 
 
1275
Here is the idea:
 
1276
A player should be able to include in his/her macros whatever
 
1277
reasonable information is available.  And configuring its display
 
1278
in whatever way is desired.  In order to do this, the following
 
1279
syntax is used (while remaining completely compatible with old NBT
 
1280
macros).
 
1281
 
 
1282
A key is assigned in the defaults file (ie .xtrekrc, etc)
 
1283
by a line like:
 
1284
 
 
1285
mac.F.T         Help!  Carrying %a!!
 
1286
 
 
1287
This defines a macro which will send a distress containing
 
1288
the number of armies a player is carrying to his team.
 
1289
 
 
1290
Note, this is NOT printf syntax!  Any attempt to use formatting will
 
1291
fail miserably.  Maybe in the future someone will want to develop
 
1292
a means of formatting the variables used in macros, but the only
 
1293
means I can think of are both bulky and ugly.
 
1294
 
 
1295
Here is another example:
 
1296
 
 
1297
mac.f           Help!  Carrying %a!!
 
1298
 
 
1299
Unlike the first, this macro will not send directly to the team,
 
1300
instead it requires that you give a third keystroke specifying the
 
1301
recipient.  For example, it could be invoked by:
 
1302
 
 
1303
XfT             <- to your team
 
1304
Xf1             <- to player 1
 
1305
XfG             <- if you are desperate, send to God
 
1306
XfA             <- if you are stupid, send to ALL
 
1307
 
 
1308
Old macros will still work in addition to these, thus be sure there are
 
1309
no conflicts.  These generally cause suprising results.  For example,
 
1310
if this is in your macro file:
 
1311
 
 
1312
mac.E.T         Help!  I'm carrying!!
 
1313
macro.E.A       You all suck!
 
1314
mac.E           Help!  I'm a twink!!
 
1315
mac.E.T         Help!  I'm carrying again!!
 
1316
macro.E.A       You all suck even worse NOW!
 
1317
 
 
1318
The suprising results would be that pressing XE would broadcast the
 
1319
first two messages, and then wait for the destination of the third.
 
1320
It would be impossible to ever use the last two.  Unfortunately, multiline
 
1321
macros also do not work if they require a destination.  There is no
 
1322
good reason for this, but since multiline macros annoy the hell out
 
1323
of me, I ain't fixing it.  You can still do something like:
 
1324
 
 
1325
mac.D.A:        D
 
1326
mac.D.A:        O
 
1327
mac.D.A:        O
 
1328
mac.D.A:        S
 
1329
mac.D.A:        H
 
1330
 
 
1331
This would properly broadcase 5 messages containing 1 character to all.
 
1332
If you tried to specify the destination for these by using "mac.D:",
 
1333
only 'D' would be sent.
 
1334
 
 
1335
Also '?' can still not be used as a macro key.
 
1336
The following definitions will work in a macro:
 
1337
 
 
1338
Standard:
 
1339
 
 
1340
%o      3 charcter team name of sender
 
1341
%a      armies carried by sender
 
1342
%d      sender damage percentage
 
1343
%s      sender shield percentage
 
1344
%f      sender fuel percentage
 
1345
%w      sender wtemp percentage
 
1346
%e      sender etemp percentage
 
1347
%t      team id character of target planet
 
1348
%T      team id character of sender team
 
1349
%r      team id character of target team
 
1350
%c      sender id character
 
1351
%n      armies on target planet
 
1352
%E      1 if etemped, 0 if not
 
1353
%W      1 if wtemped, 0 if not
 
1354
%S      sender two character ship type
 
1355
%p      id character of target player
 
1356
%g      id char of target friendly player
 
1357
%h      id char of target enemy player
 
1358
%P      id character of player nearest sender
 
1359
%G      id char of friendly player nearest sender
 
1360
%H      id char of enemy player nearest sender
 
1361
%l      three character name of target planet
 
1362
%N      full name of target planet
 
1363
%i      sender full player name (16 character max)
 
1364
%u      full name of target player (16 character max)
 
1365
%z      3 letter team id of target planet
 
1366
%b      3 char name of sender nearest planet
 
1367
%k      kills of sender
 
1368
%K      kills of target player
 
1369
 
 
1370
FULLY CAPITALIZED:
 
1371
%O      three character team name of sender
 
1372
%L      three character name of target planet
 
1373
%I      sender full player name (16 character max)
 
1374
%U      full name of target player (16 character max)
 
1375
%Z      3 letter team id of target planet
 
1376
%B      3 char id of sender nearest planet
 
1377
 
 
1378
Ping stats: (may differ slightly from server '!' ping stats)
 
1379
%v    average ping stat round trip time 
 
1380
%V    ping stat round trip standard deviation
 
1381
%y    percent total packet loss as calculated by server formula
 
1382
 
 
1383
Miscellanous:
 
1384
%m      the last message you sent
 
1385
%M      the last message you sent in all caps
 
1386
%w      whydead number for RCM
 
1387
%W      whydead text for RCM only
 
1388
%>nn    Tab stop at position nn
 
1389
 
 
1390
As a further extension to NEWMACRO, a macro may now be sent
 
1391
to any of the following destinations:
 
1392
 
 
1393
%i %I %c        send message to self
 
1394
%u %U %p        send message to player nearest mouse
 
1395
%t %z %Z        send message to team of player nearest mouse
 
1396
%g              send message to nearest friendly player to my ship
 
1397
%h              send message to nearest enemy player to my ship
 
1398
 
 
1399
with a syntax like
 
1400
 
 
1401
#useful for INL...
 
1402
mac.C.%i:       CAPTAIN
 
1403
mac.N.%i:       NEWGALAXY
 
1404
mac.S.%i:       START
 
1405
mac.T.%i:       %Z
 
1406
 
 
1407
mac.W.%t:       SHUT UP, TWINKS!!
 
1408
mac.I.%u:       %u: det when you escort!
 
1409
mac.O.%u:       (%i) ogging
 
1410
 
 
1411
What this does is allows you to send a macro to a player or
 
1412
team specified by your mouse location instead of requiring
 
1413
a 3rd character to be input.  Also, it allows you to send
 
1414
message to yourself without having to actual sit there and
 
1415
figure out who you are (they tried and failed back in the '60s).
 
1416
 
 
1417
 
 
1418
>>>>The above is available when NEWMACRO is defined;  from here on,
 
1419
>>>>SMARTMACRO must be defined *in addition*.
 
1420
 
 
1421
Further, tests may be done within the macro system, the syntax
 
1422
for these test is as follows.
 
1423
%?      introduces a test
 
1424
=       equivalence
 
1425
>       greater
 
1426
<       less
 
1427
 
 
1428
Expressions are evaluated on a character by character basis until the
 
1429
test is resolved.  The text of the test is then replaced in the macro
 
1430
by 1 or 0.
 
1431
 
 
1432
Test are then fed to a syntax I call conditional text.  The best way
 
1433
to demonstrate how this works is example.
 
1434
 
 
1435
1%{included if true%!included if false%}
 
1436
 
 
1437
This would print:
 
1438
included if true
 
1439
 
 
1440
0%{included if true%!included if false%}
 
1441
included if false
 
1442
 
 
1443
Combining the whole package, a very robust macroing system is
 
1444
quickly generated.  One can easily design or mimic Distress calls,
 
1445
including the variable NBT distress of the COW client and all the
 
1446
hardcoded message macroing built into my own client but never released.
 
1447
 
 
1448
Here are a few more samples to work from:
 
1449
 
 
1450
mac.F.T:        Help!  Carrying %a!!
 
1451
mac.f:          Help!  Carrying %a!!
 
1452
mac.c.T:        %p++ near %l
 
1453
mac.b.T:        %?%n>4%{bomb %l at %n%!bomb%}
 
1454
mac.d.T:        %E%{%!%W%{%!I'm fine.  How are you?  %}%}%E%{ETEMPED!!!  %}%W%{WTEMPED!!!  %}Carrying %?%a>0%{%a armies!%!NO armies.%}
 
1455
mac.a.T:        %E%{ETEMPED!!!  %}%W%{WTEMPED!!!  %}Carrying %?%a>0%{%a armies!%!NO armies.%}
 
1456
mac.R.A:        I'm a %?%S=SB%{star base!%!twink!%}
 
1457
mac.K.A:        KissMy%S
 
1458
mac.t:          thanks
 
1459
mac.y:          yes
 
1460
mac.n:          no
 
1461
mac.B:          bye, getting hungry/sleep/horny
 
1462
mac.e.T:        need escort going to %l%?%a>0%{, carrying %a armies!%}
 
1463
mac.v.%t:       %T%c PING stats: Average: %v ms, Stdv: %V ms, Loss: %y%%
 
1464
 
 
1465
#My Favorite:
 
1466
mac.m:          %m
 
1467
 
 
1468
***************************************************************
 
1469
* Symbolic names for macro destinations - Kurt Siegl 27/4/95
 
1470
***************************************************************
 
1471
 
 
1472
You always wanted to send a macro directly to the captain, base,
 
1473
or the second SC bomber?
 
1474
 
 
1475
Symbolic macro keys will solve your problems. Here how it goes:
 
1476
 
 
1477
In the .xtrekrc file you assign a key to a symbolic name:
 
1478
 
 
1479
         key.[key].[dest]:      [name of key]
 
1480
 
 
1481
If the destination isn't specified the key defaults to team.
 
1482
 
 
1483
Examples:
 
1484
key.C:          captain
 
1485
key.B.t:        base
 
1486
key.m.A:        me
 
1487
 
 
1488
Then you can use that new key in your macros.
 
1489
 
 
1490
Examples:
 
1491
mac.o.C:        Hi Captain let me suggest a base ogg?
 
1492
mac.a.B:        BASE: Free armies for me?
 
1493
mac.t.m:        TIME
 
1494
 
 
1495
Finally during runtime you may change the actual destination 
 
1496
by sending a message:
 
1497
 
 
1498
        set [name of key] [destination id]
 
1499
 
 
1500
to the shell ("!") tools. Of corse this may be done with macros as well.
 
1501
 
 
1502
Examples:
 
1503
mac.^C.!:       set captain %g
 
1504
mac.^m.!:       set me %c
 
1505
 
 
1506
You can check the settings on the shell tools window "M".
 
1507
 
 
1508
 
 
1509
***************************************************************
 
1510
Receiver Configurable Server Messages (RCM)
 
1511
***************************************************************
 
1512
 
 
1513
Short package kill messages may be freely configured using
 
1514
the macro syntax interpreter where
 
1515
 
 
1516
* the killed person corresponds to the sender,
 
1517
* the killer corresponds to the target player,
 
1518
* involved planet (killed by, destroyed, taken) to the target planet,
 
1519
* damage is int part of kills and shield fraction part.
 
1520
* whydead goes with wtmp.
 
1521
 
 
1522
All others are undefined.
 
1523
 
 
1524
The format of the messages is:
 
1525
 
 
1526
msg.[name of message]: [RCM macro]
 
1527
 
 
1528
Available messages and their defaults are:
 
1529
 
 
1530
msg.kill:  ........
 
1531
msg.kill:GOD->ALL %i (%S) (%T%c%?%a>0%{+%a armies%!%}) was kill %?%d>0%{%k%!NO CREDIT)%} for %u (%r%p) %?%w>0%{%W%!%}
 
1532
msg.planet:GOD->ALL %i (%S) (%T%c%?%a>0%{+%a armies%!%} killed by %l (%z) %?%w>0%{%W%!%}
 
1533
msg.bomb:%N->%Z We are being attacked by %i (%T%c) who is %d%% damaged.
 
1534
msg.destroy:%N->%Z %N destroyed by %i (%T%c)
 
1535
msg.take:%N->%O %N taken by %i (%T%c)
 
1536
msg.ghostbust:GOD->ALL %i (%S) (%T%c) was kill %k for the GhostBusters
 
1537
 
 
1538
 
 
1539
BRMH formated kill windows may be optain by something like:
 
1540
 
 
1541
msg.kill:  %i (%S) (%T%c%?%a>0%{+%a armies%!%}) %>30 kill %?%d>0%{%k%!NO CREDIT)%} for %u (%r%p) %?%w>0%{%>65%W%!%}
 
1542
 
 
1543
 
 
1544
***************************************************************
 
1545
7.0 MetaServer Options
 
1546
***************************************************************
 
1547
 
 
1548
The MetaServer and the MetaServerCache are provided to help you find a
 
1549
netrek game to join.  Both services provide a list of the popular
 
1550
netrek servers.  The MetaServer is neat because provides information
 
1551
on the number of players at each site.  The MetaServerCache is neat
 
1552
because it is much faster if you can guess where a game will be.
 
1553
 
 
1554
To access the MetaServer, use the command line switch "-m" or "-M".  For
 
1555
example "cow -m".  To access the MetaServerCache, use the "-k" switch
 
1556
instead.  The command line options are as follows:
 
1557
 
 
1558
  -m    Default to UDP connection mode to metaserver if metaType not set
 
1559
  -M    Default to TCP connection mode to metaserver if metaType not set
 
1560
  -k    use TCP metaserver cache to display known servers
 
1561
 
 
1562
If metaType (defined later) is set, -m or -M will connect to
 
1563
metaserver based on what metaType is set to.
 
1564
 
 
1565
1) Where to find the MetaServer:
 
1566
 
 
1567
You can use the options "metaport" and "metaserver" to point COW
 
1568
to a new MetaServer.  The defaults for these options are:
 
1569
 
 
1570
         metaport: 3521
 
1571
         metaserver: none
 
1572
 
 
1573
The metaserver usually resides at metaserver.netrek.org port 3521
 
1574
 
 
1575
In UDP mode multiple metaservers can be listed on the "metaserver"
 
1576
option, comma separated.  Example:
 
1577
 
 
1578
      metaserver: metaserver.netrek.org, metaserver.eu.netrek.org
 
1579
 
 
1580
Also in UDP mode, if a hostname listed has more than 1 IP address, the
 
1581
client will attempt to connect to all IPs listed in that hostname. It
 
1582
will then merge all responses into 1 list and display that list.
 
1583
 
 
1584
In TCP mode, only 1 hostname may be listed.
 
1585
 
 
1586
2) How to create a list of known servers for the MetaServerCache:
 
1587
 
 
1588
Before you can use the MetaServerCache, you must give COW a file in
 
1589
which to cache the information from the MetaServer.  Use the .xtrekrc
 
1590
options "metaCache" and "metaUDPcache" to specify these files.  The
 
1591
files path will be relative to your home directory unless you start
 
1592
the file name with a slash (/).  "metaCache" defines the TCP cache,
 
1593
and "metaUDPcache" defines the UDP cache. The TCP and UDP cache can
 
1594
NOT be the same.  They are incompatible formats.
 
1595
 
 
1596
For example, to set the cache files to "~/.metaCache" and "~/.metaUDPcache"
 
1597
use:
 
1598
 
 
1599
        metaCache:    .metaCache
 
1600
        metaUDPcache: .metaUDPcache
 
1601
 
 
1602
Unlike the MetaServer, the MetaServerCache will not show the number of
 
1603
people playing at a server.  If a server is contactable, it will be
 
1604
shown as "Active".
 
1605
 
 
1606
Warning: If "metaCache" or "metaUDPcache" are set, COW will also use a
 
1607
second, temporary file.  This file with have the name of the metaCache
 
1608
file with the last character changed to either a 'T' or an 'R'.  Eg,
 
1609
".metaCache" becomes ".metaCachT" and "BEAST" becomes "BEASR".  Ensure
 
1610
that this temporary file does not overwrite something important.
 
1611
 
 
1612
3) How to set the connection type to the metaserver:
 
1613
 
 
1614
The xtrekrc option "metaType" will determine how COW connects to the
 
1615
metaserver. The default for this option is:
 
1616
 
 
1617
  metaType:    (default: whaterver the command line has, -m=1 -k=2 -M=3 
 
1618
                out of range values default to 3)
 
1619
 
 
1620
where the values 1, 2, 3 are defined as:
 
1621
 
 
1622
   How to connect to the Metaserver.  Connect with UDP, cache, or TCP.
 
1623
                                      1 == cache, then UDP
 
1624
                                      2 == cache, then TCP
 
1625
                                      3 == TCP, then cache 
 
1626
 
 
1627
UDP mode offers more options and more recent information as well as a
 
1628
quicker startup and a refresh button, explained later.  TCP mode is
 
1629
the normal method and should be used when connections are unreliable
 
1630
or if you're behind a firewall.
 
1631
 
 
1632
4) How much information will be shown:
 
1633
 
 
1634
You can now control the amount of information that the MetaServer
 
1635
displays for you by setting the "metaStatusLevel" flag.  The default
 
1636
is:
 
1637
        
 
1638
        metaStatusLevel: 3
 
1639
        
 
1640
        
 
1641
The status levels are coded as follows.
 
1642
 
 
1643
0       Servers which have players but not a wait queue.
 
1644
1       + Servers with a wait queue.
 
1645
2       + Servers with nobody playing. (see NOTE1).
 
1646
3       + Servers which have Timed Out for the MetaServer (see NOTE2).
 
1647
4       + Servers which the MetaServer has not been able to connect to.
 
1648
 
 
1649
NOTE1: When using the MetaServerCache, "metaStatusLevel" values of
 
1650
less than 3 are treated as the value 3.  This minimum is enforced
 
1651
because the cache does not attempt to show the number of people
 
1652
playing at a site.
 
1653
 
 
1654
NOTE2: If you are a long way from the MetaServer, you are advised to
 
1655
ignore TimeOut errors.  For example, the MetaServer in America may
 
1656
have difficulty contacting to a server in Holland while the link from
 
1657
England to Holland is very good.
 
1658
 
 
1659
 
 
1660
5) The Fallback
 
1661
 
 
1662
If you attempt to contact the MetaServer, and the connection times
 
1663
out, COW will try to show the MetaServerCache instead.
 
1664
 
 
1665
Similarly, if you attempt to use the MetaServerCache, and your
 
1666
"metaCache" file does not exist, COW will attempt to call
 
1667
theMetaServer.
 
1668
 
 
1669
In UDP mode, COW will show the UDP cache right away, and then update
 
1670
the screen as responses come in.
 
1671
 
 
1672
6) The display
 
1673
 
 
1674
COW will pop up a window with a list of game servers.  The format of
 
1675
the window is 1 server per line, starting with the server name,
 
1676
followed by the server status, and the server type.  In UDP mode it
 
1677
will also show the age of the data on that server.  In UDP mode, a
 
1678
refresh button is also available.  Hitting that line will re-query the
 
1679
metaservers for more up to date data.  Please don't abuse this and
 
1680
rapidly click this button over and over as this may make the
 
1681
metaserver admins ban you from connecting.  
 
1682
 
 
1683
To choose a server to play on, LEFT click on the server.  To join as
 
1684
an observer RIGHT click on the server.  COW will then connect to the
 
1685
game server.
 
1686
 
 
1687
7) Miscellaneous
 
1688
 
 
1689
The option "metaverbose" will make UDP metaserver queries slightly
 
1690
more verbose.  When on, COW will display who its connecting to and who
 
1691
responds.  The default for this option is:
 
1692
 
 
1693
     metaverbose: off
 
1694
 
 
1695
 
 
1696
***************************************************************
 
1697
8.0 Compiling:
 
1698
***************************************************************
 
1699
 
 
1700
COW has the best and easiest to use installation procedure a client
 
1701
ever had.
 
1702
 
 
1703
1 *** If you are compiling COW and do not intend to release the client
 
1704
  *** for public distribution with an RSA blessing, simply type:
 
1705
 
 
1706
make
 
1707
 
 
1708
In case you will need some additional flags for your compiler or linker,
 
1709
edit the "sample_key.def" file and change the corresponding parameters
 
1710
at the bottom.
 
1711
 
 
1712
2 *** If you are compiling COW with the intention of releasing a client
 
1713
  *** for public distribution with an RSA blessing, read below.
 
1714
 
 
1715
First, please contact cow@netrek.org so we know about
 
1716
the existance of the client and where other people might obtain it.
 
1717
 
 
1718
Make sure that you have MP or GMP available on your system.
 
1719
If you do not have the GMP installation, you need to obtain it.
 
1720
It should be available from gatekeeper.dec.com.
 
1721
 
 
1722
To install it do the following:
 
1723
 
 
1724
1) Take the sample_key.def file as a basis to generate an own RSA key
 
1725
   definition file.
 
1726
2) Edit the Makefile and set KEYDEF to the name of the new generated file.
 
1727
3) make
 
1728
        If you don't have already a key a new key will be generated.
 
1729
4) make distkey
 
1730
        Sends a mail to the RSA key keeper to get your key installed 
 
1731
        at the servers.
 
1732
5) you are done!  watch that GPA hit the floor!!
 
1733
 
 
1734
 
 
1735
cow@netrek.org always likes to receive bug reports for
 
1736
the client and if you have any suggestion for how to improve the
 
1737
Makefiles or this description, please email us.  Remember that
 
1738
fixes are the best way to complain. Working patches should be sent to:
 
1739
cow@netrek.org
 
1740
 
 
1741
 
 
1742
***************************************************************
 
1743
9.0 BEEPLITE.DOC
 
1744
***************************************************************
 
1745
 
 
1746
Local weenies cheat.  They talk to each other.  Those of us who have
 
1747
never met another netrek player are forced to relie heavily on the
 
1748
message window.
 
1749
 
 
1750
In order to even the playing field, the current feature was proposed.
 
1751
This feature causes certain types of RCD messages to beep or even
 
1752
highlite specific objects on the screen.  This is done via a
 
1753
macro-like interface which is highly configurable.  Further, bitmaps
 
1754
used to highlite can be substituted with your preferences.
 
1755
 
 
1756
***  TURNING BEEPING AND HIGHLITING ON
 
1757
 
 
1758
In order to turn message beeping and highliting on, you must include the
 
1759
following in your .xtrekrc.
 
1760
 
 
1761
UseLite: on
 
1762
 
 
1763
The above leaves you with the feature on, but nothing is automatically
 
1764
setup.  If you want to configure it yourself, go to the "CONFIGURING
 
1765
VIA XTREKRC" section.  You can include a set of reasonable defaults,
 
1766
instead of bothering to learn to configure it yourself by including
 
1767
the lines.
 
1768
 
 
1769
DefLite: on
 
1770
 
 
1771
At any time, you can extend these simply by including some of the
 
1772
configuration syntax in your .xtrekrc as described in the "CONFIGURING VIA
 
1773
XTREKRC" section.
 
1774
 
 
1775
WARNING:  Use beep _sparingly_, people (including you) will get sick 
 
1776
very quickly of hearing your workstation beep every 5 seconds.
 
1777
 
 
1778
 
 
1779
***  CONFIGURING VIA XTREKRC
 
1780
 
 
1781
 
 
1782
Message beeps are configured as on and off.  They are turned on if the
 
1783
proper line is in your .xtrekrc.  Otherwise they are left off.
 
1784
 
 
1785
Message lites are configured in a way very similar to macros.
 
1786
However, in addition to the original set of macro arguments, a new
 
1787
class of arguments is introduced to handle the highliting.
 
1788
 
 
1789
To configure message highliting, include something like the line below.
 
1790
Here "name of distress" is the RCD message type.  "macro" is the macro
 
1791
style syntax specifying what is to be highlited.
 
1792
 
 
1793
lite.[name of distress]:  [macro]
 
1794
 
 
1795
 
 
1796
Below are the configurations which are equivalent to the defaults
 
1797
which are setup for you if using DefLite.  These provide good 
 
1798
examples for how the system works.
 
1799
 
 
1800
lite.taking:   /c/l
 
1801
lite.base_ogg: /g/m
 
1802
lite.pickup:   /h
 
1803
lite.help:  %?%S=SB%{/c%}
 
1804
 
 
1805
The above does the following,
 
1806
"taking" message highlites the planet and taker
 
1807
"base_ogg" message highlites the person to sync and your ship 
 
1808
      (to REALLY get your attention)
 
1809
"pickup" message highlites the enemy who picked up
 
1810
"help" tests to see if the player sending the distress is a base, if so
 
1811
      he is highlited
 
1812
 
 
1813
You might like to change the last one to:
 
1814
lite.help:  %?%S=SB%{/c%}%?%a>0%{/c%}
 
1815
 
 
1816
This will highlite bases who distress AND carriers who distress.
 
1817
 
 
1818
Using TTS you may change the pickup macro to:
 
1819
lite.pickup:   /h/|%p++ @ %l|
 
1820
 
 
1821
This sends a big ++ message on the tactical map in addition to the light.
 
1822
 
 
1823
Note that all the MACRO parsing routines are run on these, and plain 
 
1824
text left over is ignored.  Only the highlite argument matter.
 
1825
 
 
1826
The following are the arguments for highliting.
 
1827
 
 
1828
/c /i /I   sender
 
1829
/m /M      _your_ ship
 
1830
 
 
1831
/p      target player
 
1832
/g      target friendly player
 
1833
/h      target enemy player
 
1834
/P      player nearest sender
 
1835
/G      friendly player nearest sender
 
1836
/H      enemy player nearest sender
 
1837
/b      planet nearest sender
 
1838
/l      target planet
 
1839
 
 
1840
The following are the arguments for sounds.
 
1841
 
 
1842
/0      Standard window beep (incoming message sound if sound is on) 
 
1843
/1 - /9 Play nt_message1 - nt_message9 sound.
 
1844
 
 
1845
Tactical Text Solution for the Tactical Tunnel Syndrome (TTS):
 
1846
 
 
1847
/| .. | displays Text in between via TTS. 
 
1848
 
 
1849
 
 
1850
Additional defaults:
 
1851
 
 
1852
planetCycleTime:        highlighting time for planets
 
1853
playerCycleTime:        highlighting time for players
 
1854
 
 
1855
tts_color:              color of TTS message (should be dark)
 
1856
tts_font:               Font (large prefered)
 
1857
tts_max_len:            Max length of a message
 
1858
tts_time:               Time a TTS message is displayed
 
1859
tts_pos:                y location of the TTS message
 
1860
 
 
1861
 
 
1862
*******************************************************************************
 
1863
End of COW.DOC