tinymux/mux
Stephen Dennis 823a9291ee
Merge pull request #2226 from brazilofmux/fix/2223-ship-windows-build-docs
docs(#2223): ship current Windows build instructions in the source distribution
2026-08-10 23:25:12 -06:00
..
announce Fix announce fd leak on getnameinfo failure and accept exit 2026-07-29 12:57:50 -06:00
convert fix(convert): ConvertT5XAttrName uses heap string (#1879 residual) 2026-07-31 09:17:25 -06:00
docs Add docs/HISTORY.md tracing TinyMUX genealogy from MUD1 (1978) 2026-03-10 07:10:50 -06:00
game perf(jit): MAP/FILTER/FOLD cross the tier-2 boundary as integers (#2152, #2153) 2026-08-06 11:48:14 -06:00
ganl fix(net): set TCP_NODELAY on accepted sockets in every engine (#2194) 2026-08-07 09:23:48 -06:00
include Prepare 2.14.0.11 ALPHA release 2026-08-07 15:31:13 -06:00
lib fix(#2177): give cng_digest the const signature its OpenSSL twin already has 2026-08-06 22:10:44 -06:00
lua54 fix(lua): bound the pattern matcher on wall time (#1591) 2026-07-27 11:57:22 -06:00
m4 Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
modules fix(#2221): stage the vcpkg PCRE2 runtime beside the build output 2026-08-10 23:03:37 -06:00
muxescape build(ragel): strip #line directives so the outputs are canonical (#1950) 2026-08-03 22:21:47 -06:00
po fix(net): decline the restart when restart.db cannot be written (#2043) 2026-08-04 09:57:42 -06:00
proxy fix(color): honour no_flash on live co_render_* paths (#1935) 2026-08-01 19:41:21 -06:00
rv64 perf(jit): MAP/FILTER/FOLD cross the tier-2 boundary as integers (#2152, #2153) 2026-08-06 11:48:14 -06:00
script fix(restart): preserve the -p and -e command-line values across @restart (#2199) 2026-08-07 11:39:34 -06:00
sqlite Add optional gettext NLS plumbing for server messages (#1419) 2026-07-27 00:03:01 +00:00
src fix(restart): preserve the -p and -e command-line values across @restart (#2199) 2026-08-07 11:39:34 -06:00
.depend Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
.gitignore build(ganl): commit the missing POSIX Makefile for the engine harness 2026-07-20 16:22:26 -06:00
aclocal.m4 Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
ALPHA.md Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
ATTACK.md Normalize markdown style: single sentence spacing, consistent bullets. 2026-03-03 06:53:43 -07:00
autoconf.h.in Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
BETA.md Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
CHANGES.md docs: the cycle count drifted as the cycle ran on 2026-08-07 15:34:43 -06:00
compile Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
config.guess Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
config.sub Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
configure build: find PCRE2 and OpenSSL via pkg-config, and probe OpenSSL before using it 2026-07-26 21:15:24 -06:00
configure.ac build: find PCRE2 and OpenSSL via pkg-config, and probe OpenSSL before using it 2026-07-26 21:15:24 -06:00
depcomp Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
install-sh Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
INSTALL.md Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
libmux.vcxproj fix(#2212): PCRE2 comes from vcpkg, like grpc 2026-08-10 20:39:31 -06:00
libmux.vcxproj.filters feat(passwords): portable sha-crypt ($5$/$6$) on both platforms, rounds policy, safe auto-upgrade (#1962) 2026-08-02 15:08:58 -06:00
LOCAL.md Update documentation for SQLite storage backend 2026-03-06 14:31:53 -07:00
Makefile.am Remove proxy from distribution build and fix pkg-config detection 2026-03-23 10:09:36 -06:00
Makefile.in Add optional gettext NLS plumbing for server messages (#1419) 2026-07-27 00:03:01 +00:00
missing Restructure mux/ directory: component-based layout with proper build root 2026-03-09 20:38:37 -06:00
MODULES.md Normalize markdown style: single sentence spacing, consistent bullets. 2026-03-03 06:53:43 -07:00
netmux.sln Add Windows build for muxscript (script-mode driver) 2026-03-26 13:28:47 -06:00
netmux.vcxproj fix(#2212): PCRE2 comes from vcpkg, like grpc 2026-08-10 20:39:31 -06:00
netmux.vcxproj.filters build: remove the 11 UTF-8 BOMs, and stop editors re-adding them (#1499) 2026-07-26 21:20:02 -06:00
NOTES.md Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
README.md Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
readme.txt docs(#2223): ship current Windows build instructions in the source dist 2026-08-10 23:06:51 -06:00
REALITY.md Convert all documentation to Markdown 2026-03-06 14:44:40 -07:00
REALITY.SETUP.md Convert all documentation to Markdown 2026-03-06 14:44:40 -07:00
SGP.md Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
SQL.md Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
SSL.md Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
UPGRADING.md Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
vcpkg.json fix(#2212): PCRE2 comes from vcpkg, like grpc 2026-08-10 20:39:31 -06:00

author date title
Brazil March 2026 README (Unix)

Congratulations and welcome to the README.md file for TinyMUX 2.14. That you have chosen to actually read the file is a sign of bravery equal to that of Beowulf facing Grendel or anyone who has ever faced the garden variety lumbering behemoth.

We know that README files are often turgid and vague, filled with technobabble that ties the reader up needlessly in corundums of little purpose. Too often, the story ends with someone spending a lot of time with someone else in countless hours of consultation, all to type a few lines that were there the whole time, buried beyond view.

In the past, this has resulted in README being tossed aside, unread, unwanted, unloved, and probably bitter from the experience. However, because we want you to succeed, we are happy to provide a file that will, in our sincerest hopes, provide you with enough information to make that possible. If not, it should be at least an entertaining read.

The TinyMUX 2.14 README and supplemental documentation has been divided into multiple files. For discussion and instructions on how to do various things associated with the care and feeding of your TinyMUX, please refer to the following files:


README.md General information on the distribution, platforms it has been shown to run under out of the box, and how to report bugs. CHANGES.md New features, commands, and bug fixes. INSTALL.md How to compile your game, step-by-step. NOTES.md All kinds of tidbits made much easier to find. Known compiling issues and known fixes are found here. Known OSes that TinyMUX 2.14 will run on and compiling issues. Has basic conversion information. UPGRADING.md Step-by-step guide for upgrading from earlier TinyMUX versions, including the flatfile-to-SQLite migration. docs/BACKUPS.md A file about the TinyMUX 2.14 Backup script. docs/CONFIGURATION.md How to set up your TinyMUX, including an explanation of the common configuration items and how to customize your GAMENAME. docs/CREDITS.md The people who helped make this server possible. docs/GUESTS.md How the current guest implementation works and how to set it up. docs/PATCHES.md A basic introduction to applying patches to the server.


General Information:

TinyMUX 2.14 is written in a mix of C and C++ and is currently being developed on Windows, Debian, and FreeBSD. It is a continuation of the TinyMUX 1.x flavor of MUSH servers.

The latest version of this code is found brazilmux.tinymux.org 2860.

Refer to the file CHANGES.md for information about new features, commands, and bug fixes. NOTES.md now has a lot of small bits of info related to running the server, as well as reminders about backups and conversions.

Reporting Bugs:

Bugs happen in any large and complex piece of code.

As for the cases where you do find bugs, we would like you to take the time to send an e-mail with as much data as possible about the bug. Each bug report we receive is rated both by its severity (how much pain it causes) and prioritized according to how beneficial it would be to fix it relative to the other bugs on the list. Sometimes, this process is formalized. Sometimes, due to lack of available time, it is ad-hoc.

  • Please double check to be sure it really is a bug and not a new feature or design decision. This is important to the process, as it may mean that something was missed in the documentation and needs to be made clearer. This simple test is that if the server crashes, it is a bug and if you cannot tell, consider it one.

  • Try to reproduce and document the sequence of events that will show the bug. This will help the dev team find the problem sooner. The log configuration parameter may be helpful in this process. It is more important for the bug reporter to develop a reproducible case than it is for the bug reporter to isolate where the bug might be located or to develop a workaround or fix for the bug.

  • Send mail about it to: brazilofmux@gmail.com If the bug crashes the TinyMUX, try to include the following information from running gdb on the resulting core file:

    • Output of the where command.

    • Output of the info locals command for each frame.

  • To use gdb, make sure you are in the game directory, and type:

    • gdb bin/netmux core
  • From there, simply type 'help' for help, or 'quit' to exit.

Environment:

TinyMUX 2.14 should run on most Unixes with BSD-style sockets and a C++ compiler that groks function prototypes. It is 64-bit clean code supporting both IPv4 and IPv6.

Build System:

The build system has been modernized with autoconf and automake. The older build process required ./configure; make depend; make, but the new process is ./configure; make; make install. Dependency tracking is now handled automatically by automake, and the install step creates the necessary symlinks in the game/bin directory.

For Debian package maintainers or others requiring deterministic builds without embedded timestamps or incrementing build numbers, use:

DEBIAN_BUILD=1 ./configure
make
make install

This will produce binaries with static version information suitable for packaging.