-
Notifications
You must be signed in to change notification settings - Fork 13
/
cow.html
2949 lines (2469 loc) · 95.4 KB
/
cow.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Strict//EN">
<HTML>
<HEAD>
<LINK REL=StyleSheet HREF="cow.css" TYPE="text/css" MEDIA=screen>
<META NAME="Created" CONTENT="Sat Jan 10 20:39:20 1998">
<META NAME="Source" CONTENT="cow.txt">
<META NAME="Author" CONTENT="Kurt Siegl">
<TITLE>COW Reference Manual</TITLE>
</HEAD>
<BODY>
<h1>COW Reference Manual</h1>
<PRE class=title>
T H E
_____ _____ _ _ _
/ ____\ / ___ \ || || ||
| | | | | | \\ /\ //
| |___ | |_| | \\//\\//
\_____/ o \_____/ o \/ \/ o
R E F E R E N C E M A N U A L
</pre>
<pre>
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.
</PRE>
<dl>
<dt>Manual compiled by:
<dd>Jonathan Shekter ([email protected])
<dt>With Material From:
<dd>Jeff Nelson, Dave Gosselin, Kevin Powell,
<dd>and the Anonymous but Fabulous COW Documentation Team
<dt>BETA revision, September 1995
</dl>
<hr>
<h2>Contents:</h2>
<ol>
<li> <a href="#intro">Introduction</a>
<ol><li> <a href="#ack">Acknowlegments</a> </ol>
<li> <a href="#CommandLine">Command Line Options</a>
<li> <a href="#CommandRef">Complete Command Reference</a>
<li> <a href="#Features">Features</a>
<ol>
<li> <a href="#ConFeature">Connection and Utility Features</a>
<li> <a href="#DisplayFeature">Display Features</a>
<li> <a href="#InterestFeature">Interesting Features</a>
</ol>
<li> <a href="#XtrekrcOpt">Xtrekrc Options</a>
<ol>
<li> <a href="#Keymaps">Keymaps</a>
<li> <a href="#CKeymaps">CKeymaps</a>
<li> <a href="#Colors">Colors</a>
</ol>
<li> <a href="#Messages">Messages And Macros</a>
<ol>
<li> <a href="#BasicMacro">Your Basic Macro</a>
<li> <a href="#Newmacro">Newmacro</a>
<li> <a href="#RCD">RCD</a>
<li> <a href="#RCM">RCM</a>
<li> <a href="#Distress">Default Macros And Distresses</a>
</ol>
<li> <a href="#XtrekrcRef">Xtrekrc Reference</a>
<li> <a href="#XtrekrcEx"> Example .xtrekrc</a>
</ol>
<a name="intro"><h2>1. Introduction</h2>
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.
<p>
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.)
<p>
Sit back, take your socks off, and enjoy!
<a name="ack"><h3>1.1 Acknowledgements</h3>
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:
<pre>
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!
</pre>
<a name="CommandLine"><h2>2. Command Line Options</h3>
Summary of command line options available for COW:
<pre>
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
</pre>
<a name="CommandRef"><h2>3. Complete Command Reference</h2>
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.)
<p>
<h3>Combat Functions:</h3>
c Toggle cloak. <BR>
{ Turn cloak on. <BR>
} Turn cloak off.
<P>
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.
<P>
D Detonate your torps. It does not do damage to anyone.
But it will 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.
<P>
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>
p Fire phaser. The mouse cursor specifies direction.
<P>
s Toggle shields <BR>
[ Shields down <BR>
] Shields up
<P>
t Fire photon torpedo. The mouse cursor specifies direction.
<P>
u Toggle shields
<P>
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.)
<P>
y Toggle pressor beam. Same as tractor (see 'T') but pushes.
<P>
_ (underscore) Turn tractor beam on. Mouse indicates target.
^ Turn pressor beam on. Mouse indicates target.
<P>
$ Turn tractor or pressor beam off.
<h3> Movement And Navigation Functions:</h3>
0-9 Set speed to 0..9 <br>
( or ) Set speed to 10 <br>
! Set speed to 11 <br>
@ Set speed to 12 <br>
# Set speed to half of your maxwarp <br>
% Set speed to max <br>
> Increase speed by one <br>
< Decrease speed by one
<p>
k Set course. The mouse cursor specifies direction.
<p>
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.
<P>
; Like l but only locks onto planets and starbases (things you can orbit
or dock at)
<P>
* 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.
<h3> Planet Functions:</h3>
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.
<p>
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.
<p>
o Enter orbit or dock. You must be going no faster than warp 2 and be on
top of a planet or starbase.
<p>
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.
<p>
z Beam armies up from friendly planet or starbase. Again, you must orbit
or dock.
<h3> Message Functions</h3>
E Send generic distress call.
<p>
F Send armies carried report
<p>
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.
<p>
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.
<p>
^0..^9 <BR>
^@ <BR>
^# <BR>
etc...<p>
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.
<h3> Misc. Functions </h3>
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.
<p>
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.
<p>
K Show Kathy Ireland
<p>
N Toggle short/long planet Names display on tactical window.
<p>
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)
<p>
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.
<p>
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.
<p>
q Quit, don't re-read MOTD ("fastquit").<br>
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.
<p>
: Toggle message logging. Saves all messages to a file so you can laugh
at them later.
<p>
- Request partial update (see the section on UDP and Short Packets)
<p>
= or | Request full update (see the section on UDP and Short Packets)
<p>
& Re-read xtrekrc file
<h3> Window And Display Functions:</h3>
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.)
<p>
h Toggle help window. Display a brief summary of these commands, as well
as what key each command is currenly assigned to.
<p>
L Toggle player window. This lets you see the names of the players,
their stats, and, most importantly for defending planets, their kills.
<p>
/ Toggle between new and old playerlist format
<p>
M Toggle tools window
<p>
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>
P Bring up the Planet window. Lists all planets, owner, who has info on
them, number of armies, and facilities at each.
<p>
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.
<p>
U Toggle rank window. Shows you what ratings you need for promotion.
<p>
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.)
<p>
~ Toggle sound control window
<p>
. Toggle network stats window
<p>
\ Toggle lagmeter
<p>
, Toggle ping stats window
<p>
` Toggle short packets control window
<p>
+ Toggle UDP control window.
<p>
? Cycle through show nothing / show one big message window / show three
message windows.
<p>
<space> Turn off all special windows (planet, rank, help, udp, etc.)
<a name="Features"><h2>4. Features</h2>
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:
<pre>
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 Features
4.3.1. Shell Tools
4.3.2. Customizable Cursors
</pre>
<a name="ConFeature"><h3>4.1 Connection and Utility Features</h3>
In this section we have:
<p>
The Metaserver<br>
Ghostbusts and Restarts
<h4>4.1.1. The Metaserver</h4>
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.
<p>
To access the MetaServer, use the command line switch "-m". For
example "cow -m". To access the MetaServerCache, use the "-k" switch
instead.
<p>
1) Where to find the MetaServer:
<p>
You can use the options "metaport" and "metaserver" to point COW
to a new MetaServer. The defaults for these options are:
<pre>
metaport: 3521
metaserver: metaserver.ecst.csuchico.edu
</pre>
2) How to create a list of known servers for the MetaServerCache:
<p>
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 (/).
<p>
For example, to set the cache file to "~/.metaCache" use:
<pre>
metaCache: .metaCache
</pre>
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".
<p>
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.
<p>
3) How much information will be shown:
<p>
You can now control the amount of information that the MetaServer
displays for you by setting the "metaStatusLevel" flag. The default
is:
<pre>
metaStatusLevel: 3
</pre>
The status levels are coded as follows:
<pre>
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.
</pre>
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.
<p>
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.
<p>
3) The Fallback
<p>
If you attempt to contact the MetaServer, and the connection times
out, COW will try to show the MetaServerCache instead.
<p>
Similarly, if you attempt to use the MetaServerCache, and your
"metaCache" file does not exist, COW will attempt to call
theMetaServer.
<h4>4.1.2. GhostBusts and Restarts </h4>
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.
<p>
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.
<p>
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:<br>
*** socket 11323, player 0 ***
<p>
This indicates which player slot you have been assigned, and
which socket number has been chosen as your ghostbust socket.
<p>
Now in order to restart, just do:<br>
netrek -G 0 -s 11323
<p>
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!
<p>
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.
<p>
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.
<p>
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.
<a name="DisplayFeature"><h3>4.2. Display-ish Features</h3>
In this section we have features which all control some visual aspect,
i.e. something you see or the way information is presented.
<h4>4.2.1. Playerlist Configuration</h4>
[ Originally by: dave, [email protected] ]
<p>
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.
<pre>
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"
</pre>
So for example if you just wanted to see names and rank you'd add this
line to your .xtrekrc:
<p>
playerlist: NR
<p>
NOTE ON SB STATS :<br>
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.
<p>
1) Predefined "playerlist" styles:
<p>
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).
<p>
The "playerListStyle" options are:
<pre>
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"
</pre>
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.
<p>
2) The "partitionPlist" option:
<p>
Lets face it, the main role of the player list is so that you can keep
track of who has kills.
<p>
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.
<h4>4.2.2. BeepLite</h4>
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.
<p>
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.
<p>
1) Turning Beeping and Highliting on
<p>
In order to turn message beeping and highliting on, you must include
the following in your .xtrekrc.
<pre>
UseLite: on
</pre>
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.
<pre>
DefLite: on
</pre>
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.
<p>
WARNING: Use beep _sparingly_, people (including you) will get sick
very quickly of hearing your workstation beep every 5 seconds.
<p>
2) Configuring via xtrekrc
<p>
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.
<p>
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.
<p>
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.
<pre>
lite.[name of distress]: [macro]
</pre>
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.
<pre>
lite.taking: /c/l
lite.base_ogg: /g/m
lite.pickup: /h
lite.help: %?%S=SB%{/c%}
</pre>
The above does the following:
<p>
"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
<p>
You might like to change the last one to:
<pre>
lite.help: %?%S=SB%{/c%}%?%a>0%{/c%}
</pre>
This will highlite bases who distress AND carriers who distress.
<p>
Using TTS you may change the pickup macro to:
<pre>
lite.pickup: /h/|%p++ @ %l|
</pre>
This sends a big ++ message on the tactical map in addition to the light.
<p>
Note that all the MACRO parsing routines are run on these, and plain
text left over is ignored. Only the highlite argument matter.
<p>
The following are the arguments for highliting:
<pre>
/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
</pre>
The following are the arguments for sounds:
<pre>
/0 Standard window beep (incoming message sound if sound is on)
/1 - /9 Play nt_message1 - nt_message9 sound.
</pre>
Tactical Text Solution for the Tactical Tunnel Syndrome (TTS):
<pre>
/| .. | displays Text in between via TTS.
</pre>
Additional defaults:
<pre>
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
</pre>
<h4>4.2.3. WarnHull</h4>
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.
<p>
The xtrekrc value warnHull enables this extension, the defaults value
is off.
<p>
Example xtrekrc value:
<pre>
warnHull: on
</pre>
It works by using 8 pixels arrayed at the 4 cardinal point of the
compass and 4 more at equal intervals between them.
<pre>
o
o o
o o ; 100% -- neato diagram 1 :)
o o
o
</pre>
So as the hull is damaged, the pixels disappear for every 12% of
damage accumulated (clockwise from the top).
<pre>
o
o ; <76% -- neato diagram 2 :)
o o
o
</pre>
<h4>4.2.4. Hockey Lines</h4>
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.
<p>
You get:
<ul>
<li> Blue lines (blue)
<li> Center line (red)
<li> Side lines, i.e. the rink edges (grey)
<li> Goal lines (red)
<li> Goal boxes (the color of the team)
</ul>
They are a little awkward at first, but once you get used to them,
you'll wonder how you lived without them.
<p>
Since this is a first pass, I'm looking for more input on what
would make them better. Here are some of my comments:
<p>
1) Lines are hard coded into the software. They should be
based upon planet location, so the hockey gods can move the
planets around.
<p>
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.
<p>
3) Lines on the galactic would look pretty
<p>
If you have any comments, mail them to [email protected]
<a name="InterestFeature"><h3>4.3. Interesting Features</h3>
These are some of the more esoteric and questionable features.
Still, they're there!
<h4>4.3.1. ShellTools</h4>
[Note: This is not yet implemented in WinCOW ]
<p>
You may execute any Unix shell command 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 command 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 command is executed.
Also some programs suspend the client if it is started in the background.
<h4>4.3.2. Personalized Cursors</h4>
[ Not implemented in WinCOW ]
<p>
The personalized cursor extensions allows the user to specify
their own cursors for the map, local, text, menus and info list windows.
<p>
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:)
<p>
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... :)
<p>
These are the xtrekrc values:
<pre>
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
</pre>
<a name="XtrekrcOpt"><h2>5. Xtrekrc Options</h2>
<a name="Keymaps"><h3>5.1. Keymaps</h3>
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.<p>
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
<pre>
keymap: tTs%
</pre>
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:
<pre>
keymap: tTs% d
</pre>
<a name="CKeymaps"><h3>5.2. CKeymaps</h3>
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.
<p>
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.
<p>
New format for ckeymap is:<br>
c = any printable ascii character.<br>
^ = introduce control mapping (the key '^' not control + key.)
<p>
Each entry is a pair, like:
<pre>
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
</pre>
Special case:<br>
The '^' must be mapped with a double ^ ("^^") in either the bound or
binding key position.
<p>
Notes:<br>
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.
<p>
Analogously, control keys may be used for buttonmap, singleMacro and
all macro and RCD definitions.
<a name="Colors"><h3>5.3. Color</h3>
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:
<pre>
#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
</pre>
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.
<p>
[WinCOW only: color names should be specified without spaces]
<p>
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:
<pre>
#resource example value
#-------- --------------
color.Ind: light grey
color.Fed: yellow