| 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 |
|
|---|