File: INSTALL

package info (click to toggle)
conquest 8.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 7,984 kB
  • ctags: 3,086
  • sloc: ansic: 39,393; sh: 8,540; yacc: 446; makefile: 296; lex: 146
file content (279 lines) | stat: -rw-r--r-- 9,712 bytes parent folder | download
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

         +--------------------------------------------------------+
         |  CCC    OOO   N   N   QQQ   U   U  EEEEE   SSSS  TTTTT |
         | C   C  O   O  NN  N  Q   Q  U   U  E      S        T   |
         | C      O   O  N N N  Q   Q  U   U  EEE     SSS     T   |
         | C   C  O   O  N  NN  Q  Q   U   U  E          S    T   |
         |  CCC    OOO   N   N   QQ Q   UUU   EEEEE  SSSS     T   |
         +--------------------------------------------------------+

CONTENTS:

        ### QUICKSTART GUIDE
	### DISTRIBUTION
	### BUILDING
	### OTHER USEFUL INFORMATION
            # GENERAL TERMINAL NOTE
            # TERMINFO ENTRIES
            ## UNIXWARE NOTE
            ## SOLARIS/DU NOTE
	    ## CONQUEST GROUP

### QUICKSTART GUIDE

    So you are impatient and want to build and play.  Here's a short
    list to get you going.  Read the later sections for more details.

    - unpack and build the sources. (If you are using Cygwin under MS
      Windows, see README.cygwin for further information.  Ignore the
      'groupadd' commands listed below.)

      # groupadd conquest
      $ tar xzvf conquest-x.y.src.tar.gz
      $ cd conquest-x.y
      $ ./configure
      $ make
      $ make install

    - to play on your own local server

      - Init everything

        $ conqoper -C
        $ conqoper -Ie -E

        $ conqoper

          - this runs conqoper in interactive mode.  Go into the
            Options menu and set any flags you want enabled for your
            server.

      - startup a server    

        $ conquestd -d

      - play

        $ conquest

    - to play on a remote server

      - using the meta server to list available servers, and allow you
        to select one to play on:

        $ conquest -m

      - to go directly to a specific server (conquest.radscan.com in
        this case):

        $ conquest -s conquest.radscan.com


### DISTRIBUTION

    conquest-x.y.src.tar.gz	- gziped tar archive of the source
                                  distribution.

    Unzip/untar this in a nice, quiet, peaceful place.  I use:

       $ tar xzvf conquest-x.y.src.tar.gz

    Currently, only the following OS's have ports (these are the
    minimum versions needed.  It should run on newer versions of these
    OS's):
	
        Unixware 2.03 (1.x/2.x/7.x should be fine too)
        Linux 2.0.0, with ncurses-1.9.9e+ (older ncurses *may* work)
        Solaris Intel/Sparc 2.6 with gcc 2.7.2
        FreeBSD 2.2-100696-SNAP (stock curses works, but
                without color apparently...)
        OSF1/Digital Unix V4.0 for Alpha
           - Thanks to Jim Anderson (janderson@NOVALIS.COM)
             for this port!
        MS Windows using the Cygwin (www.cygwin.com) environment.

        Note, I no longer have access to these machines (only
        linux) so YMMV...

    At least ncurses-1.9.9e is required on both FreeBSD and Linux.  If
    the curses implementation on your machine has problems, you might
    try ncurses... It's free and does a reasonable job at emulating
    svr4 curses.

    The README file provides useful information about conquest, please
    look it over.

### BUILDING

    To build conquest, unpack the src archive.  

    Create the 'conquest' group.  In Linux this can be done with
    (as root) 'groupadd conquest'.  Don't bother doing this on Cygwin
    systems.  See README.cygwin for further info on these systems.

    NOTE: You *must* create a conquest group, or '[make |make install]'
    will fail.

    Then cd into the src directory.

    Conquest makes use of the GNU Autoconf system for maintaining
    source code able to compile on many different machines.

	Theoretically, all you will need to do is:

	$ ./configure 
	$ make

	(note: you will not be able to execute many of the binaries
               until you do a make install, then run the installed
               binary)
	$ su
	# make install

    Options to configure:

    --prefix=

      By default, conquest will be installed in /opt.  To install it
      somewhere else, supply the '--prefix=/other/dir' option to
      configure.

    --disable-gl

      If you do not want to build the GLUT/OpenGL bits, pass
      '--disable-gl' the the configure cmdline.

    You may also want to peek at the defs.h file, though the defaults
    should be fine.  If your porting this to something else, good
    luck...But if you do succeed in a port to a new platform, please
    let me know so I can incorporate it into the distribution.  The
    autoconf source file 'configure.in' is supplied for this purpose
    ;-)

    As root, intialize the system-wide conquestrc file
    (/opt/conquest/etc/conquestrc by default) by typing:

	/opt/bin/conqoper -C

    'make install' will do this for you, but if you want to be sure...

    Then, you will want to Initialize the universe and enable the
    game.  You can do this from the main menu in conqoper, or
    non-interactively from the command line like so:

        conqoper -Ie -E

        - this Initializes everything, then Enables the game.

    Next, you may want to enter the Options menu and configure the
    options you want enabled for your game.

    You should now be ready to run the server and try it out.

    See the README file for more information.

    See the SERVER.DOC file for information on running a Conquest
    server. 

    Read the conquest.doc and the HISTORY files to get info on
    what conquest is and how to play it.


### OTHER USEFUL INFORMATION

# GENERAL TERMINAL NOTE: Conquest depends on a properly configured
terminfo entry for your terminal in order to make use of Fkey's, the
arrow keys, the keypad, and color.  The standard at386 terminfo entry
on Unixware for example, does not define the SHIFT-Fkeys, nor the
Keypad keys (upperright, lowerleft, etc).  Some modification to your
terminfo entry may be required to use these extended features.

# TERMINFO ENTRIES

	I recieved permission from SCO to supply my modified terminfo
entries for Unixware.  Thanks SCO!  The modified entries are located
in the ti/ subdirectory of the source distribution along with some
other entries I've used over the years, and are never installed by the
install process.  If you wish to use these entries, you will have to
compile them yourself as root like this:

# tic filename

Here are the ones supplied:

	at386.ti - a replacement for the unixware at386 console
entry.  This is completely compatible with the default version, but
adds support for SHIFT-F1 thru F12, and proper entries for the
keypad. 

	xterm-acs - a replacement for the unixware xterm-acs entry
that adds support for the keypad (No Shift-Fkeys are possible without
xmodmap tweaking though).

	linux-cq.ti - linux console replacement, fixing (actually
working around) some problems described above.  This entry is the same
as the original 'linux' entry, but ACS, ich/ich1, dch/dch1, il/il1,
and dl/dl1 capabilities have been removed.

	mskerm.ti - for DOS MS-Kermit

	mskerm-c.ti - for DOS MS-Kermit, adds color

	vt100-c - vt100 entry with color cap added, This will work
with most PC based vt100 emulations (like telix), though the keypad
and function keys may not work... There are just no real standard
definitions for these, since the original vt100 didn't support
function keys, or a keypad like the standard PC-AT keyboard.

## UNIXWARE NOTE

	Unixware understands the notion of providing specific
privileges to an executable, without requiring suid root programs.

	By default, when installing the Unixware binary package or
doing a 'gmake install' on a Unixware system, the Makefile will use
the 'filepriv(1m)' command to give Conquest the ability to raise it's
priority and lock the common block (256KB) into memory via the TSHAR
and the PLOCK privileges.  If you don't like this, either don't set
the priveleges, OR comment out '#define USE_COMMONMLOCK' and '#define
SET_PRIORITY' in defs.h and recompile.  

	Conquest will complain in the /opt/conquest/etc/conquest.log
file if you simply remove the privileges, but it will still run.  If
your not building or running this on Unixware this doesn't apply to
you.  Unfortunately the only way to provide these services on other
Unixen besides Unixware is to give Conquest suid root privileges,
which I consider extremely unwise.  There's something to be said about
giving processes only those privileges they really need...

	Once again, DO NOT run Conquest suid root on any machine.
(currently the only way to get priority privs on Linux).  Conquest was
not designed to run suid root (or suid at all) and I take *no*
responsibility for the consequences if you try to do so.  Actually, I
take no responsibiliy for anything regarding the use of this software
;-)

## SOLARIS/DU NOTE

There is a problem with the lexer (lex) on Solaris and Digital Unix
(OSF1).  When it processes conqstrat.c.l into lex.yy.c, a syntax error
is introduced.  If you compile the resulting code (make will try this)
you'll get a syntax error.  Simply edit the file (should be lex.yy.c)
delete the offending line, and recompile.  The only result of this
'fix' is that when (or if) you use conqstrat to build a new robot
strategy table, all whitespace in the rule file will be output to
stdout.  Annoying, but livable.  It does not affect the parsing of the
rule file in any other way.

## CONQUEST GROUP

	Conquest's binaries *do* have to run setgid to 'conquest' to
prevent unscrupulous tampering/cheating.  Installing the Unixware
binary package will add the Conquest group id to your system.

	If you're using the source package, you'll need to be sure to
create the conquest group before building.


$Id: INSTALL,v 1.14 2004/12/28 01:35:26 jon Exp $