root/1.8.3/branches/gc/INSTALL

Revision 981, 6.7 KB (checked in by shawnw, 19 months ago)

Various documentation improvements

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 development
76    packages required to compile programs (Linux distributions that don't
77    come with gcc in the base install often need a package named glibc-dev)
782. Run ./configure or some variant
793. create options.h, or make update
804. make install
815. possibly make customize
826. Read game/README and follow those instructions
83
84     Here's the process in detail:
85
861. If you're running on win32, read one of the win32/README* files
87   for information on how to compile with various compilers.
88
892. On Unix systems, unpack the code and:
90        % cd pennmush
91    % ./configure
92
93   Useful arguments to configure:
94       a. --with-mysql=/path/to/mysql_config: Use if configure can't
95          find mysql_config in your normal path and you want SQL support.
96       b. --disable-nls: Turn off translation support if you don't need it.
97       c. --help: See all options.       
98
99       Environment variables to customize search paths:
100       CPPFLAGS=-I/path/to/extra/headers
101       LDFLAGS=-L/path/to/extra/libraries
102       CFLAGS=-Optimation and -Warning options.
103
104       VAR=arg ... ./configure
105
106       See hints/your-os.txt if present for more details and system-specific
107       help, and README.SQL for help with detecting a SQL server.
108   
109
1103. EITHER:
111
112Type 'make update', and answer all the questions about which MUSH
113options you want.
114
115OR
116
117Copy options.h.dist to options.h. Note that these files stay in the
118pennmush directory.
119
120Edit the file. It's liberally commented.
121
122Also, cp game/mushcnf.dst to game/mush.cnf and edit.
123
124
125You should not need to change any of the other header files.
126
1274. Do a "make install". This will build all the necessary files, and
128set up some symbolic links for the restart script.  You will probably
129receive a few compilation warnings, which can generally be ignored.
130
1315. If you plan to run multiple MUSHes, you may want to do a "make
132customize" which will run a script to help set up a separate
133customized game subdirectory for each MUSH (run it once per MUSH you
134plan to run).  Files in these subdirectories will already be
135customized in many ways, so what follows may be slightly different. :)
136This is probably broken.
137
1386. Read game/README and follow those instructions.
139
140A final thing you may want to think about is compiling announce.c or
141portmsg.c. These are port announcers; if your MUSH ever goes down, you
142can set one up, and a message will be given to a person attempting to
143connect to that port.  Read that file for details. It is not an
144official MUSH piece of code; rather, it is a freely distributable
145program available via anonymous FTP that is included in this code
146because it happens to be fairly useful.  Javelin suggests using
147portmsg - it appears to be more stable.
148
149============================================================================
150
151C. Installation of precompiled binaries (only for Windows platforms)
152
153A pre-built binary is frequently available for win32 users who don't
154want to customize their MUSH server, and don't feel like compiling it
155themselves.  This binary distribution may not contain the src, hdrs,
156or hints directories and may be missing several key files (like
157Configure) from the pennmush directory.  It does include the options.h
158that it was built with, as an aid to those who decide later that they
159want to customize the server; they are useful as a baseline to work
160from.
161
162Using the pre-built binary is fairly simple; adjust your configuration
163file as in game/README, then go to the game directory and run
164PennMUSH.exe (you may need to use PennMUSH /run or PennMUSH /start).
165Alternately, if you want the MUSH to automatically start each time you
166turn on your machine, you can install it as a system service by
167running 'PennMUSH /install'.  PennMUSH can be removed from service
168status via 'PennMUSH /remove'.
Note: See TracBrowser for help on using the browser.