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