Frequently Asked Questions
Find answers to common questions about TinyMUX installation, configuration, and usage
FAQ Categories
General Questions
There are many games available across a wide variety of themes and sizes. These directories can help you find active games:
- Gateway MUSH - A directory of MU* games
- MudConnector - Comprehensive MUD/MUSH listing
- MudStats - Statistics on server and genre popularity
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.
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.
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).
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
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).
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.
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.
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
There are two places to change your game's name:
- In mux.config (Unix) or muxconfig.vbs (Windows), change the GAMENAME variable
- 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
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.
To configure guest characters:
- Create a prototype guest character using @pcreate
- 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
TinyMUX includes a Backup script that creates comprehensive backups. To use it:
- @shutdown the game
- Change to the game directory:
cd game
- Run:
./Backup
(Unix) orBackup.bat
(Windows) - Restart the game with
./Startmux
orStartmux.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.
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.
If you've forgotten the Wizard password, you have several options:
- Use the Omega Flatfile Converter to modify your flatfile and reset the password
- Edit the encrypted password directly in your flatfile if you have a backup
- Start with a clean database and rebuild your game
Remember to change the default password (potrzebie) immediately after installation.
Conversion & Migration
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.
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
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.
This usually means players can't reach your server's port. Check these items:
- Verify the server is running (
ps aux | grep netmux
on Unix) - Confirm the port configuration in your .conf file
- Check that your firewall allows incoming connections on that port
- Ensure you've set up port forwarding on your router if behind NAT
- Test locally first with
telnet localhost portnumber
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
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.
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
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.
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.
TinyMUX supports SSL/TLS encryption for secure connections. To enable it:
- Compile with SSL support:
./configure --enable-ssl
- Generate SSL certificates or obtain them from a certificate authority
- 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.