PennMUSH Community

root/1.8.3/trunk/INSTALL

Revision 1032, 6.7 kB (checked in by shawnw, 1 year ago)

Merged 1.8.3p4 into trunk

Line 
1 ============================================================================
2                    Installation Guide to PennMUSH 1.8.x
3 ============================================================================
4 This 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
9 If you are upgrading from a previous PennMUSH release, this is
10 probably not the file you want to start with. Read the UPGRADING file
11 first.
12
13 DISCLAIMER: Before attempting to run a MUD of any sort, you should
14 have 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
16 level of competency before attempting to set up a MUSH.  (Note that
17 even people using the Windows ports are encouraged to know UNIX,
18 because that's the paradigm that PennMUSH was built with, and most
19 resources will be written with UNIX is mind.)
20
21 You may also want to take a look at the Managing PennMUSH book at
22 http://community.pennmush.org and at Javelin's Guide for PennMUSH
23 Gods, at http://javelin.pennmush.org/~alansz/guide.html or by ftp from
24 pennmush.org, /pub/PennMUSH/Guide
25 ============================================================================
26  
27 A. Important background
28
29 Here's a quick picture of the organization of the MUSH directory tree.
30 The "src" directory contains C source code.  The "hdrs" directory
31 contains header files for the source code.  The files used by a
32 running MUSH are in the "game" directory, which includes
33 subdirectories "data" (current databases), "txt" (text files and
34 directories for building them), "log" (log files), and "save" (backup
35 databases).  Finally, the "hints" directory is used during the
36 installation process, the "po" directory holds translation message
37 files.
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
55 PennMUSH has been tested on a fairly wide variety of machines and
56 operating systems including at least:
57
58     GNU/Linux, NetBSD, FreeBSD on many architectures
59         Mac OS X
60         Microsoft Windows
61          
62 There's no real reason why PennMUSH shouldn't compile on any 32-bit or
63 better BSD, System V, or POSIX operating system.  Development is
64 primarily done on GNU/Linux and Mac OS X systems.
65
66 Mac OS 9 and earlier ("Classic"), and OS/2 are not supported.
67
68 ============================================================================
69
70 B. Installation from source
71
72      The quickstart version of the installation is:
73
74 1a. On win32 only, install proper tools or read win32/README*.
75 1b. 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)
78 2. Run ./configure or some variant
79 3. create options.h, or make update
80 4. make install
81 5. possibly make customize
82 6. Read game/README and follow those instructions
83
84      Here's the process in detail:
85
86 1. If you're running on win32, read one of the win32/README* files
87    for information on how to compile with various compilers.
88
89 2. 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
110 3. EITHER:
111
112 Type 'make update', and answer all the questions about which MUSH
113 options you want.
114
115 OR
116
117 Copy options.h.dist to options.h. Note that these files stay in the
118 pennmush directory.
119
120 Edit the file. It's liberally commented.
121
122 Also, cp game/mushcnf.dst to game/mush.cnf and edit.
123
124
125 You should not need to change any of the other header files.
126
127 4. Do a "make install". This will build all the necessary files, and
128 set up some symbolic links for the restart script.  You will probably
129 receive a few compilation warnings, which can generally be ignored.
130
131 5. If you plan to run multiple MUSHes, you may want to do a "make
132 customize" which will run a script to help set up a separate
133 customized game subdirectory for each MUSH (run it once per MUSH you
134 plan to run).  Files in these subdirectories will already be
135 customized in many ways, so what follows may be slightly different. :)
136 This is probably broken.
137
138 6. Read game/README and follow those instructions.
139
140 A final thing you may want to think about is compiling announce.c or
141 portmsg.c. These are port announcers; if your MUSH ever goes down, you
142 can set one up, and a message will be given to a person attempting to
143 connect to that port.  Read that file for details. It is not an
144 official MUSH piece of code; rather, it is a freely distributable
145 program available via anonymous FTP that is included in this code
146 because it happens to be fairly useful.  Javelin suggests using
147 portmsg - it appears to be more stable.
148
149 ============================================================================
150
151 C. Installation of precompiled binaries (only for Windows platforms)
152
153 A pre-built binary is frequently available for win32 users who don't
154 want to customize their MUSH server, and don't feel like compiling it
155 themselves.  This binary distribution may not contain the src, hdrs,
156 or hints directories and may be missing several key files (like
157 Configure) from the pennmush directory.  It does include the options.h
158 that it was built with, as an aid to those who decide later that they
159 want to customize the server; they are useful as a baseline to work
160 from.
161
162 Using the pre-built binary is fairly simple; adjust your configuration
163 file as in game/README, then go to the game directory and run
164 PennMUSH.exe (you may need to use PennMUSH /run or PennMUSH /start).
165 Alternately, if you want the MUSH to automatically start each time you
166 turn on your machine, you can install it as a system service by
167 running 'PennMUSH /install'.  PennMUSH can be removed from service
168 status via 'PennMUSH /remove'.
169
Note: See TracBrowser for help on using the browser.