Comparisons

SMAUG vs SmaugFUSS vs C

Selecting a SMAUG derivative requires balancing feature depth against maintenance burden. Stock SMAUG 1.4a remains the reference implementation but fails on modern 64-bit systems without extensive patching. SmaugFUSS addresses these technical debts while preserving compatibility, whereas SWR extends the system for specific themes at the cost of complexity. ROM offers a lightweight alternative but lacks SMAUG's organizational systems.

SMAUG vs SmaugFUSS vs C hero illustration

SmaugFUSS

Actively maintained SMAUG fork with modern compiler fixes and security patches

Best for: New MUDs requiring stable foundation on modern Linux distributions

Stock SMAUG 1.4a

Original 1998 codebase preserving legacy behavior and stock areas

Best for: Historical preservation or migrating legacy SMAUG installations

www.smaug.org/

SWR FUSS

Star Wars themed derivative with space combat and force systems

Best for: Star Wars themed MUDs requiring SMAUG mechanics with sci-fi extensions

ROM 2.4b

Lightweight Merc derivative focusing on stability over feature depth

Best for: Administrators prioritizing code simplicity over SMAUG's extensive stock systems

CriterionSmaugFUSSStock SMAUG 1.4aSWR FUSSROM 2.4bWinner

GCC 10+ Compatibility

Ability to compile without modification on modern compilers with strict security flags enabled

Compiles cleanly with -Wall -Wextra -Werror on GCC 12Requires -Wno-format-security and -fcommon flags to suppress errorsCompiles with minor warnings; FUSS version includes critical fixesRequires pointer sign fixes but minimal changesSmaugFUSS

64-bit Pointer Safety

Proper handling of int versus pointer casts for 64-bit architectures without segmentation faults

All pointer casts converted to intptr_t throughout codebaseSegmentation faults on 64-bit without heavy manual patchingInherited FUSS fixes for 64-bit compatibilityMostly compatible; few manual fixes needed for pointer arithmeticSmaugFUSS

Buffer Overflow Protection

Built-in protections against string buffer overflows in player input handling

All strcpy converted to strncpy with explicit bounds checkingVulnerable to stack smashing; requires external hardeningIncludes SMAUG FUSS security patchesSimpler code base with fewer vectors but still uses unsafe functionsSmaugFUSS

Active Maintenance

Frequency of security patches and bug fixes by maintainers

Last commit within 6 months; responsive to GitHub issuesNo updates since 2001; abandoned by original authorsPeriodic updates; slower than SmaugFUSSCommunity patches only; no central maintainerSmaugFUSS

OLC Stability

Reliability of Online Creation system for building areas without server crashes

OLC v2.0 with crash protection and auto-backupOLC 1.5 prone to corruption on copyoverModified OLC with space system integrationBasic OLC or external editors requiredSmaugFUSS

Clan System Depth

Built-in support for player organizations, ranks, and clan-specific areas

Full clan system with councils, banks, and storageStock clan system with limited customizationClans plus guilds and force ranksNo built-in clan system; requires custom codingSWR FUSS

Area File Portability

Compatibility with existing SMAUG format area files and conversion tools

100% backward compatible with SMAUG 1.4a areasNative format; baseline for convertersExtends format with space sectors; requires conversion toolsIncompatible format; requires area reconstructionStock SMAUG 1.4a

Memory Footprint

Base RAM usage with empty database at startup

8-12MB base with stock areas loaded6-10MB base10-15MB with additional space tables4-6MB minimal footprintROM 2.4b

Build System Complexity

Ease of modifying Makefile for custom library paths or compiler options

Standard Makefile with clear variable definitionsHardcoded paths requiring manual editingBased on SmaugFUSS Makefile structureSimple two-file compilation; minimal dependenciesROM 2.4b

Migration Path from Legacy

Difficulty of converting existing player files and areas from SMAUG 1.4a

Direct drop-in replacement; no conversion neededBaseline; source of migrationsRequires pfile conversion utility provided in utils/No automated path; requires manual recreationSmaugFUSS

Our Verdict

SmaugFUSS provides the only production-ready path for new SMAUG installations on modern 64-bit Linux systems, eliminating the security vulnerabilities and compilation barriers present in Stock SMAUG 1.4a. While SWR FUSS offers compelling extended features for specific themes, it introduces additional complexity. ROM 2.4b serves as a lightweight alternative only if SMAUG's clan systems and OLC depth are unnecessary.

Use-Case Recommendations

Scenario: Launching a new fantasy MUD with modern hosting

SmaugFUSS

Eliminates immediate security patching burden and compiles on current GCC without modification, allowing focus on content creation rather than codebase repair.

Scenario: Reviving a 2005 SMAUG MUD with existing player files

SmaugFUSS

Direct compatibility with SMAUG 1.4a pfile formats while providing 64-bit safety required for modern VPS deployment.

Scenario: Building a Star Wars themed MUD with space combat

SWR FUSS

Pre-built space system, force powers, and ship combat modules reduce development time versus extending SmaugFUSS from scratch.

Scenario: Educational project studying MUD architecture with minimal complexity

ROM 2.4b

Smaller codebase surface area makes tracing execution paths and understanding Diku-derived architecture more tractable for learners.

Scenario: Historical preservation of 1998 SMAUG gameplay exactly as released

Stock SMAUG 1.4a

Only choice for authentic period-accurate behavior, provided deployment uses 32-bit compatibility layers or vintage hardware.