Skip to content
mrsenile edited this page Feb 7, 2021 · 13 revisions

System Requirements

  • Minimum 1 GB (memory and swap combined) to compile (functions.c is huge)
  • Any Unix flavor should be fine. Linux, BSD, Mac OSX, Solaris, Tru64, AIX, etc.
  • (BETA ONLY) cygwin under Windows. It requires the entire base development set and Requirements below.
  • Disk: 100 MB or more (depending on size of db and how many backups you wish to maintain)
  • Memory: 12-100 MB (depending on size of mush and what size buffers you select and packages you include)

Requirements

RhostMUSH is a Linux or Unix based server software that runs as a daemon on the host. In order to build this software, you will need the bare minimum of the ability to run 'make' commands. Package requirements are as follows:

  • glibc and gcc/clang (compiling the code)
  • git (to clone the source and maintain patches)
  • bash/ksh/dash (or compatible shell - for use with build menu)
  • libcrypt (for password encryption - this is usually standard on unix based systems)

Optional Packages

RhostMUSH also offers optional linking and library attachments. For some of these libraries it will attempt to do auto-detection, but in a worse case scenario, there exists override hashes in the menu to disable options it thinks exist that do not. Optional packages are as follows:

  • openssl dev libraries/headers (for MUX password compatibility, and digest() and advanced cryptology functionality.
  • mysql client & mysql_config (required for mysql capabilities)
  • sqlite3 libraries (required for sqlite capabilities)
  • ruby/perl/python/etc (for custom interactive dynamic custom functions with the execscript() feature)
  • libpcre (if you wish to use system pcre libraries instead of the built-in ones)

You will need a stable host and access to open a single port number of your choice on the firewall. Most games choose a number between 1025 and 9999, by convention. Please make sure your debug_id matches the port number + 5. So if your port is 1234, your debug_id will be 12345. The debug_id is for use in the API daemon that runs Rhost as a container to keep track of heap, stack, and execution location.

Installing

To begin, you will run the following command in a directory that will house your game:

git clone https://github.com/RhostMUSH/trunk Rhost

You may also just run the yml file and ansible (ansible-playbook) to install your RhostMUSH engine

wget https://raw.githubusercontent.com/RhostMUSH/trunk/master/rhostinstall.yml

ansible-playbook rhostinstall.yml

This downloads the latest stable version of the code, bringing with it all patches and scripts, documentation and support tools that you will need.

Building

Once the clone has completed, you should have a directory named Rhost. You may 'mv' this to rename it something more suitable, if you wish. Moving inside that directory, you will find a README.LAYOUT that explains the directories that you see. From this directory, you will mostly be concerned with the Server directory that houses the majority of the files you will interact with.

cd Server

In this directory you will want to look at README.first file. This is a step-by-step instruction set on how to run your game. It is useful as a local copy of these instructions.

make confsource

This is a menu-driven configuration command that allows you to customize the build of your game. Options you may want to select (other than the defaults):

  • 5 (%c is selected by default, but choose %x as well for MUX/TM3 compat)
  • 9 (if you want $commands to require the COMMAND flag)
  • 16 (if you want a wider WHO listing like older versions of MUX)
  • 22 (if you're converting a TinyMUSH3 or TinyMUX/MUX2 flatfile)
  • 24 (if you have issues with -lssl not being found)
  • B3 (for 64 character attribute names)
  • B6 (select 8K for Penn/MUX2/TM3 default, up to 32K. 64K is network intensive)
  • B5 (will be autoselected if you choose 8K or more. Pick this anyway)
  • B4 (if you have sqlite libraries and wish to use this)

Once you are done making your selections, hit 'r' to begin the compile process to build the codebase.

You will be asked if you wish to edit the configuration text file (game/netrhost.conf), and if yes, it will open an editor for you. You can read through this file to get an idea of the most commonly changed configuration items, but for advanced users, the conf.h file in the src directory will provide more insight on options.

Be sure to, at minimum, edit the port and debug_id parameters. This is the TCP port that you decided on, and have configured your server's firewall to allow traffic through.

When finished, you can choose to allow the script to start your game for you, or not. If you elect to do more configuration before starting, then you will be able to start the game with:

./Startmush

Connect to the game as follows:

co Wizard Nyctasia

tl;dr

For the more experienced, a more concise listing:

git clone https://github.com/RhostMUSH/trunk Rhost

[mv Rhost ]

cd Rhost/Server

make confsource

./Startmush

co Wizard Nyctasia