+--------------------------------------------------------+ | 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: ### REQUIREMENTS ### QUICKSTART GUIDE ### DISTRIBUTION ### REQUIREMENTS ### BUILDING # Under MAC OSX (Darwin) # Under Windows with MinGW ### OTHER USEFUL INFORMATION # GENERAL TERMINAL NOTE # TERMINFO ENTRIES ## CONQUEST GROUP ### REQUIREMENTS Hopefully Conquest's requirements aren't too arduous. At a minimum: - a C compiler. GCC is the one I use, though I try not to introduce gcc-isms. - bison or yacc. - flex or lex - a decent curses implementation For building the OpenGL client 'conquestgl', you will need: - X11 (or xorg) libraries and header files (all of them :) - OpenGL libraries and header files. - glut or freeglut libraries and header files. For sound support (OpenGL client only) you will need: - SDL libraries and header files ( http://www.libsdl.org/ ), with OGG Vorbis support (pretty much standard I think). - SDL_mixer library and header files ( http://www.libsdl.org/projects/SDL_mixer/ ). ### 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 and 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 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. --disable-sound If you do not want to build sound support pass '--disable-sound' 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.ac' 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. # Under MAC OSX (Darwin) Building under MAC OSX is similiar to the standard unix method described above, however, you will likely need to get (or build) SDL, SDL_mixer with OGG Vorbis support. GLUT seems to be included by default. In addition, after checking out the source code repo, or unpacking the src tarball, you will most likely need to run: $ autoreconf -fvi before attempting a ./configure and a make. There is some issue with the autoconf macros supplied with Conquest that are not compatible with the MAC OS X installation. As I do not have such a system, I cannot explore the issue in detail. But, the 'autoreconf' command above does seem to resolve it, and afterward, the method of compiling is the same as a standard unix build. # Under Windows with MinGW For a Windows build, I use a MinGW cross-compiler environment under Linux - I have not tried to actually build it under windows itself using MSYS/MinGW. In theory, it should work just fine as long as you have the prequisite environment setup, including the development packages for SDL, SDL_mixer, libz, and GLUT. See the MINGW_BUILD.sh file that I use to compile it on my linux system - you would most likely need to tweak it for your own environment. Mote, a Windows build only compiles the code neccessary to build the OpenGL client (conquestgl). None of the other binaries are compiled. If you want to run your own conquest server, or other conquest binaries and utilities, you will either need to compile and run them under the Cygwin environment, or under a unix/linux host. I would not advise attempting to use the OpenGL client (conquestgl) under Cygwin as there will be no hardware acceleration, and you would need to run the xorg X server. See README.cygwin for information on compiling/using conquest under the cygwin environment. ### 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 [ Edit 3/3/2010: While these entries are still available in the source code repository, they are no longer shipped in the Conquest source distribution anymore, as I seriously doubt anyone uses or needs them anymore. ] 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. ## CONQUEST GROUP Some of Conquest's binaries (notably conquestd, conqdriv, and conqoper) do have to run setgid to 'conquest' to prevent unscrupulous tampering/cheating. The Conquest clients do not require any special privileges. If you're using the source package, you'll need to be sure to create the conquest group before building. $Id: INSTALL,v 814e2bb30f33 2010/04/13 20:04:48 jon $