Frequently Asked Questions

Find answers to common questions about TinyMUX installation, configuration, and usage

FAQ Categories

General Questions

Where can I find games that run TinyMUX?

There are many games available across a wide variety of themes and sizes. These directories can help you find active games:

What is TinyMUX?

TinyMUX is a text-based game server for creating and hosting MUSHes (Multi-User Shared Hallucinations). It provides a platform for text-based role-playing, socializing, and world-building. TinyMUX is part of the MU* family of servers, which includes TinyMUSH, PennMUSH, and RhostMUSH.

The server emphasizes quality, performance, and features, making it suitable for games of all sizes - from small private games to large public worlds with hundreds of players.

What's new in TinyMUX 2.13?

TinyMUX 2.13 includes several improvements over previous versions:

  • Enhanced security features and vulnerability patches
  • Improved Unicode support
  • Better performance for large databases
  • Expanded SSL/TLS capabilities
  • Additional softcode functions
  • Bug fixes from versions 2.11 and 2.12

For a complete list of changes, see the CHANGES file included with the distribution.

Do I have to use the SGP minimal database?

No, the SGP (Sandbox Globals Project) minimal database is included as a convenience but is completely optional. If you prefer to start with a truly minimal database, simply delete or rename the netmux.db file before starting your server for the first time. The server will automatically create a minimal database with just two objects (Limbo and Wizard).

How do I get support for my TinyMUX server?

Support for TinyMUX is available through several channels:

  • TinyMUX Wiki - Community documentation and guides
  • GitHub Repository - Issue tracking and source code
  • Email: brazilofmux@gmail.com - For bug reports and technical support

Installation & Setup

Do I need Cygwin Tools to run TinyMUX on Windows?

No, TinyMUX is written to run natively on Windows without requiring Cygwin or any other UNIX compatibility layer. Pre-built binaries for Windows are provided in the distribution.

However, it is also possible to take the UNIX distribution of TinyMUX and compile it under Cygwin if you prefer. Both approaches work, but pay attention to which distribution you download (sources for UNIX/OSX, sources for Windows, or pre-built binaries for Windows).

What are the minimum system requirements for TinyMUX?

TinyMUX is designed to be efficient and can run on modest hardware. Minimum requirements:

  • CPU: 1 GHz processor (2 GHz+ recommended)
  • RAM: 512 MB (1 GB+ recommended)
  • Disk Space: 100 MB for installation, plus space for your database
  • Operating System: Windows 7/10/11, Linux, MacOS X, or most Unix-like systems
  • Network: Stable internet connection with the ability to forward ports

Requirements increase with the size of your game database and number of connected players.

How do I configure TinyMUX to run on a specific port?

Edit your netmux.conf (or GAMENAME.conf) file and look for the 'port' configuration option. Change it to your desired port number:

port 4201

You can also configure TinyMUX to listen on multiple ports by adding additional port lines:

port_ssl 4202

Remember to open/forward these ports in your firewall and router settings.

What is a JAR file and how do I unzip it?

Some TinyMUX distributions are compressed in JAR format (not to be confused with Java's JAR archives). You'll need the JAR utility from ARJ Software to extract them.

You can download JAR from http://www.arjsoftware.com/jar.htm. Alternatively, you can download TinyMUX in ZIP or tar.gz format, which can be extracted with more common tools.

Configuration

How do I change the name of my game?

There are two places to change your game's name:

  1. In mux.config (Unix) or muxconfig.vbs (Windows), change the GAMENAME variable
  2. In your GAMENAME.conf file, edit the 'mud_name' parameter to set the formal name of your game

For example: mud_name My Awesome MUSH

How do I set up SSL/TLS encryption?

To enable SSL/TLS encryption, add these options to your configuration file:

port_ssl 4202
ssl_certificate_file mygame.crt
ssl_certificate_key mygame.key
# If your key is password-protected
ssl_certificate_password yourpassword

You'll need to generate SSL certificates using OpenSSL or a similar tool, or obtain them from a certificate authority.

How do I set up guest characters?

To configure guest characters:

  1. Create a prototype guest character using @pcreate
  2. Add these lines to your configuration file:
guest_char_num #dbref
guest_prefix Guest
number_guests 5

Where #dbref is the database reference number of your prototype guest character. For more details, see the GUESTS file.

Database Management

How do I back up my database?

TinyMUX includes a Backup script that creates comprehensive backups. To use it:

  1. @shutdown the game
  2. Change to the game directory: cd game
  3. Run: ./Backup (Unix) or Backup.bat (Windows)
  4. Restart the game with ./Startmux or Startmux.bat

This creates a flatfile and a compressed archive containing your database, mail.db, comsys.db, config files, and text files. Store copies of these backups offsite for safety.

What's the difference between memory-based and disk-based operation?

TinyMUX can operate in two modes:

  • Disk-based (default): The database is stored on disk and accessed as needed. This is more efficient for memory usage but can be slower with very large databases.
  • Memory-based: The entire database is loaded into memory. This provides faster access but requires more RAM. It's useful for larger games with sufficient server resources.

To switch between modes, see the MEMORY file for detailed instructions.

How do I reset the password for Wizard (#1)?

If you've forgotten the Wizard password, you have several options:

  1. Use the Omega Flatfile Converter to modify your flatfile and reset the password
  2. Edit the encrypted password directly in your flatfile if you have a backup
  3. Start with a clean database and rebuild your game

Remember to change the default password (potrzebie) immediately after installation.

Conversion & Migration

How do I convert my database from another MUSH server?

The easiest way to convert between different MUSH server formats is to use the Omega Flatfile Converter. This tool supports conversion between TinyMUSH 3.x, PennMUSH, RhostMUSH, and TinyMUX formats.

Follow the instructions in the CONVERSION file for detailed steps on importing databases from other server platforms.

When I try to move my flatfile from a Unix box to a Windows box, I get assertion errors. Why?

This typically happens when you transfer the flatfile via FTP in ASCII mode instead of binary mode. The line endings get converted (CRLF/NL), which corrupts the file format.

Always transfer database files in BINARY mode. If using WinZip to extract your files, you may encounter similar issues. Use a different extraction tool or unzip on the Unix system before transferring.

Newer flatfile formats are more tolerant of line ending differences, but it's still best practice to use binary mode for all database transfers.

Troubleshooting

My server crashes with a 'SIGSEGV' error. What does this mean?

A SIGSEGV (Segmentation Fault) error indicates that the server tried to access memory it shouldn't. This is usually caused by one of the following:

  • Database corruption
  • A bug in the server code
  • Memory issues on your server

Check your log files for more details about what was happening when the crash occurred. Report crashes to brazilofmux@gmail.com with as much information as possible, including log files and steps to reproduce the issue.

Players are getting "Connection refused" errors when trying to connect. How do I fix this?

This usually means players can't reach your server's port. Check these items:

  1. Verify the server is running (ps aux | grep netmux on Unix)
  2. Confirm the port configuration in your .conf file
  3. Check that your firewall allows incoming connections on that port
  4. Ensure you've set up port forwarding on your router if behind NAT
  5. Test locally first with telnet localhost portnumber
My @mail and channels aren't working after upgrading. What's wrong?

Check that your mail.db and comsys.db files are in the correct location (typically in the game/data directory) and properly named in your configuration file. Also verify that the paths in your configuration file match the actual file locations.

If you're upgrading from a much older version, you might need to convert your mail and comsys databases. See the CONVERSION file for details.

Platform-Specific Questions

Are there any issues with macOS/OS X?

TinyMUX generally runs well on macOS/OS X, but there are a few minor issues to be aware of:

  • The '-E' option in gcc on OS X may be broken. Skip the 'make depend' step in the compilation instructions.
  • On M1/M2 Macs, you might need to use Rosetta for some tools, or compile specifically for ARM.
  • TinyMUX sees OS X as another flavor of Unix/BSD, so most Unix instructions apply.
How do I start TinyMUX automatically on server boot?

The method depends on your operating system:

Linux (systemd):

# Create a service file at /etc/systemd/system/tinymux.service
[Unit]
Description=TinyMUX Game Server
After=network.target

[Service]
Type=forking
User=mush
WorkingDirectory=/path/to/mux/game
ExecStart=/path/to/mux/game/Startmux
ExecStop=/path/to/mux/game/Shutdown

[Install]
WantedBy=multi-user.target

Then enable with: systemctl enable tinymux

Windows:

Create a scheduled task to run Startmux.bat at system startup, or use a service wrapper like NSSM.

Advanced Features

What are Reality Levels and how do I use them?

Reality Levels allow you to create multiple "layers" of reality in the same room. This is useful for games that need to represent different planes of existence, such as World of Darkness settings with the Umbra, Shadowlands, or Faerie realms.

To use Reality Levels, you need to enable them at compile time with ./configure --enable-realitylvls. Then configure them in your conf file according to the instructions in the REALITY.SETUP file.

How do I extend TinyMUX with custom code?

TinyMUX can be extended in several ways:

  • local.cpp extensions: Add custom C++ code to extend the server's functionality. See the LOCAL file for details.
  • Modules: TinyMUX 2.13 supports dynamically-loadable modules for adding functionality without modifying the core code.
  • Softcode: Use MUSHcode to create in-game systems and commands.

Custom extensions should be developed and tested carefully, as they can affect server stability if implemented incorrectly.

How do I use SSL encryption with TinyMUX?

TinyMUX supports SSL/TLS encryption for secure connections. To enable it:

  1. Compile with SSL support: ./configure --enable-ssl
  2. Generate SSL certificates or obtain them from a certificate authority
  3. Configure SSL in your config file:
port_ssl 4202
ssl_certificate_file mygame.crt
ssl_certificate_key mygame.key
ssl_certificate_password yourpassword # If needed

Players can then connect securely using SSL-capable clients like MUSHclient, Atlantis, or Mudlet.