Skip to content

Comparison

Advantages

  • A real database layer to store, access and maintain its data, built on LMDB embedded in the server process - as well as expanding upon its capabilities. Database transactions make every update atomic and greatly diminish the chance of database corruption.
  • Full Unicode support, as well as both Websocket and Telnet negotiation and communication.
  • A buffer size that does not get in the way, allowing for better integration with modern web applications, use cases, and avoids user confusion.
  • Written in C#, allowing memory safety and easier community maintenance and improvements with support for all Operating Systems.
  • Designed with a wide range of Unit Tests, ensuring the performance and capability remains as the project matures: from Telnet to ANSI to commands and function parsing.
  • Uses Docker to make Installation as easy as possible.
  • Attribute Flags to enable syntax highlighting for Functions and Commands in examine output, as well as syntax error detection.
  • A strict parser to make errors easier to find and fix.
  • A web portal with an admin panel, wiki, mail, scene logs and an in-browser terminal - configuration is edited in a form, not a mush.cnf file, and takes effect without a restart.
  • A package manager for softcode, so global code can be installed and upgraded from a repository. Pasting in a .mush file still works, but a package is safer and easier to keep up to date.
  • C# plugins loaded at runtime, letting you add compiled commands, functions and services without forking the server.

Disadvantages

  • A less mature code base.
  • Dropped support for non-standard Pueblo items, such as Panes.
  • One-way database transfers - SharpMUSH imports a PennMUSH flatfile into its own store but does not export a PennMUSH flatfile. A safe move therefore keeps the original world and rehearses rollback before cutover.
  • No support for the more esoteric features of PennMUSH, such as full recursion parsing. See our Compatibility for more details.