root/1.8.3/branches/devel/INSTALL

Revision 1344, 7.3 KB (checked in by shawnw, 5 weeks ago)

Mention OpenSSL in INSTALL

Line 
1============================================================================
2                   Installation Guide to PennMUSH 1.8.x
3============================================================================
4This file explains how to install PennMUSH. It comes in three parts:
5  A. Important background
6  B. Installation from source (recommended)
7  C. Installation of precompiled binaries (only for Windows platforms)
8
9If you are upgrading from a previous PennMUSH release, this is
10probably not the file you want to start with. Read the UPGRADING file
11first.
12
13DISCLAIMER: Before attempting to run a MUD of any sort, you should
14have some reasonable knowledge of UNIX and C.  If you do not, it is
15_strongly_ suggested that you learn UNIX and C to some reasonable
16level of competency before attempting to set up a MUSH.  (Note that
17even people using the Windows ports are encouraged to know UNIX,
18because that's the paradigm that PennMUSH was built with, and most
19resources will be written with UNIX is mind.)
20
21You may also want to take a look at the Managing PennMUSH book at
22http://community.pennmush.org and at Javelin's Guide for PennMUSH
23Gods, at http://javelin.pennmush.org/~alansz/guide.html or by ftp from
24pennmush.org, /pub/PennMUSH/Guide
25============================================================================
26 
27A. Important background
28
29Here's a quick picture of the organization of the MUSH directory tree.
30The "src" directory contains C source code.  The "hdrs" directory
31contains header files for the source code.  The files used by a
32running MUSH are in the "game" directory, which includes
33subdirectories "data" (current databases), "txt" (text files and
34directories for building them), "log" (log files), and "save" (backup
35databases).  Finally, the "hints" directory is used during the
36installation process, the "po" directory holds translation message
37files.
38
39 pennmush--+-> src
40           +-> hdrs
41           +-> game ------+-> data
42           |              |   
43           |              +-> txt -------+-> nws
44           |              |              +-> evt
45           |              |              \-> hlp
46           |              |                 
47           |              +-> log
48           |              \-> save
49           +-> hints
50           +-> po
51           +-> utils
52           \-> win32
53               
54
55PennMUSH has been tested on a fairly wide variety of machines and
56operating systems including at least:
57
58    GNU/Linux, NetBSD, FreeBSD on many architectures
59        Mac OS X
60        Microsoft Windows
61         
62There's no real reason why PennMUSH shouldn't compile on any 32-bit or
63better BSD, System V, or POSIX operating system.  Development is
64primarily done on GNU/Linux and Mac OS X systems.
65
66Mac OS 9 and earlier ("Classic"), and OS/2 are not supported.
67
68============================================================================
69
70B. Installation from source
71
72     The quickstart version of the installation is:
73
741a. On win32 only, install proper tools or read win32/README*.
751b. On Unix systems, you need: A C compiler, perl, the minimum
76    development packages required to compile programs (Linux
77    distributions that don't come with gcc in the base install often
78    need a package named glibc-dev)
791c. A version of the PCRE regular expression library managed by your
80    OS's package manager is highly recommended. Penn comes with an
81    older version, but a global library will be more likely to be up
82    to date and can be shared among many different programs that use
83    it.
841d. OpenSSL is also a strongly suggested library; most OSes these days
85    come with it out of the box, but some might require a development
86    package as well (openssl-dev or some such name).
872. Run ./configure or some variant
883. create options.h, or make update
894. make install
905. possibly make customize
916. Read game/README and follow those instructions
92
93     Here's the process in detail:
94
951. If you're running on win32, read one of the win32/README* files
96   for information on how to compile with various compilers.
97
982. On Unix systems, unpack the code and:
99        % cd pennmush
100    % ./configure
101
102   Useful arguments to configure:
103       a. --disable-sql: Don't compile in SQL support. See README.SQL for more sql-related
104          config options.
105       b. --disable-nls: Turn off translation support if you don't need it.
106       c. --disable-info_slave: Don't use an external process to do hostname
107          lookups. This option is required on Windows.
108       c. --help: See all options.       
109
110       Environment variables to customize search paths:
111       CPPFLAGS=-I/path/to/extra/headers
112       LDFLAGS=-L/path/to/extra/libraries
113       CFLAGS=-Optimation and -Warning options.
114
115       VAR=arg ... ./configure
116
117       See hints/your-os.txt and hints/your-processor if present for
118       more details and system-specific help, and README.SQL for help
119       with detecting a SQL server.
120   
121
1223. EITHER:
123
124Type 'make update', and answer all the questions about which MUSH
125options you want.
126
127OR
128
129Copy options.h.dist to options.h. Note that these files stay in the
130pennmush directory.
131
132Edit the file. It's liberally commented.
133
134Also, cp game/mushcnf.dst to game/mush.cnf and edit.
135
136
137You should not need to change any of the other header files.
138
1394. Do a "make install". This will build all the necessary files, and
140set up some symbolic links for the restart script.  You will probably
141receive a few compilation warnings, which can generally be ignored.
142
1435. If you plan to run multiple MUSHes, you may want to do a "make
144customize" which will run a script to help set up a separate
145customized game subdirectory for each MUSH (run it once per MUSH you
146plan to run).  Files in these subdirectories will already be
147customized in many ways, so what follows may be slightly different. :)
148This is probably broken.
149
1506. Read game/README and follow those instructions.
151
152A final thing you may want to think about is compiling announce.c or
153portmsg.c. These are port announcers; if your MUSH ever goes down, you
154can set one up, and a message will be given to a person attempting to
155connect to that port.  Read that file for details. It is not an
156official MUSH piece of code; rather, it is a freely distributable
157program available via anonymous FTP that is included in this code
158because it happens to be fairly useful.  Javelin suggests using
159portmsg - it appears to be more stable.
160
161============================================================================
162
163C. Installation of precompiled binaries (only for Windows platforms)
164
165A pre-built binary is frequently available for win32 users who don't
166want to customize their MUSH server, and don't feel like compiling it
167themselves.  This binary distribution may not contain the src, hdrs,
168or hints directories and may be missing several key files (like
169Configure) from the pennmush directory.  It does include the options.h
170that it was built with, as an aid to those who decide later that they
171want to customize the server; they are useful as a baseline to work
172from.
173
174Using the pre-built binary is fairly simple; adjust your configuration
175file as in game/README, then go to the game directory and run
176PennMUSH.exe (you may need to use PennMUSH /run or PennMUSH /start).
177Alternately, if you want the MUSH to automatically start each time you
178turn on your machine, you can install it as a system service by
179running 'PennMUSH /install'.  PennMUSH can be removed from service
180status via 'PennMUSH /remove'.
Note: See TracBrowser for help on using the browser.