The SlashMUD server is best started from the command-line. To do this, open the Terminal application that comes with Mac OS X and change to the slashmudx directory (this is the slashmudx directory from the Disk Image):
$ cd /home/koryn/slashmudx
The server's --help option displays the available command-line options:
$ ./slashmudx --help Usage: slashmudx [options] Options: --background Run in the background. --check-world Check world files and exit. --crash-report Display information suitable for including in a bug report. --daemon Synonym for --background. --debug Run the debug version. --help Display this help information. --loglevel LVL Set the logging level. Valid levels are {debug, info, notice, warning, error, none}. A logging level of 'debug' requires a debugging version of the server. --memdebug Run the memory debugging version. --no-random Use deterministic pseudo-random number sequence. --port PORT Listen for connections on TCP port PORT [1, 65535] (default is 6100). --quiet Do not display messages to standard output. --selftest Perform self-test. --silent Synonym for --quiet. --usage Synonym for --help. --version Display version number and exit. --world DIR Use DIR as the directory containing the world files.
The --memdebug and --debug options run special variants of the server (the files slashmudx.memdebug and slashmudx.debug respectively) that have debugging code active. They will run more slowly than the standard version, but provide more information in case there's a problem.
The --selftest option runs some basic tests on the world files loaded into the server. It creates and destroys an instance of every object (armour, weapon, attachment, potion, monster, room, etc) in the game, runs a group tournament where every monster is put into a single room and fight until only one remains, and runs a series of single combats where every monster fights every other monster. These tests can take a long time, but can produce some useful information about problems with objects in the world files.
Choose the options you want (the server should run fine without any) and start the server. You should see output that begins with some version information:
slashmudx pre-release version 1.0 (build 1360) starting up.
followed by loading messages, and ends with the line:
Listening for network connections on port 6100.
Once you have seen the line above, you can connect to the server from another Terminal window to test it out (note that Mac OS X tries an IPv6 address first, which is why there's an initial 'Connection refused' response):
$ telnet localhost 6100 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. ___T___ ___T___ (___ ___)_________________________________(___ ___) | / | | \ | | \ | Welcome to SlashMUD | / | | / | | \ | | \ | Are you ready to rumble? | / | | / | | \ | | \ | | / | | / | Original code by Koryn Grant | \ | | \ | | / | | / | Visitors welcome. | \ | |__\__| __________________________________|__/__| (___ ___) (___ ___) V V ***** slashmudx pre-release version 1.0 (build 1360) ***** Running on powerpc-apple-darwin7.4.0 Local time and date is 15:11:28 on Saturday, 28 August 2004. This server has been up for 32 seconds. Visitors: Enter 'guest' as your character name and press RETURN when asked for a password. Enter the name of a new or existing character: koryn [ECHO] koryn New player -- Welcome! Select password: >> Ok> koryn [ECHO] koryn Please select a race for your character, or press RETURN for more information: >> Ok> dragon [ECHO] dragon The Castle Square Of Haven. There are several exits: [North, south, east, west] A furry beast-like monster. A foul-looking rat. >> Ok>
From here you're ready to go. The server logs the events that occur in the Logs directory. Specific subsystems have their own log files, and there's also a general log file (general_DATE.log). Notices, warnings and errors are logged to both the general log file and their own logfiles (unified_notices_DATE.log, unified_warnings_DATE.log, and unified_errors_DATE.log). Log files are automatically rotated when they get too big (100MiB), and the previous version is gzipped.