LODOS
Taking its name from a Turkish word for a specific southwesterly wind that can sometimes become dangerous, LODOS is a fork of FluffOS.
LODOS is a modern re-imagining of a classic LPmud driver, but without concern for backwards compatibility. It is intended to be used to write new, modern mudlibs from scratch.
Extensions and modifications made in LODOS include:
-
Acknowledging that LPC is not C: LPC files must always end in .lpc (including #include files), and never .c or .h file extensions.
-
Asserting that there are no pointers in LPC. Rather, call a spade a spade: objects are objects, arrays are arrays, mappings are mappings, and so on. These are not pointers. (Assignment by reference is, of course, a different story).
-
Structured data in LODOS is always known as a struct and never a “class”. Identical structs are now allowed to be included from anywhere and treated as equal type.
-
JSON parsing baked into the driver from rejected FluffOS PR1156.
-
Terminal handling split out into its own thread per user. This improves terminal performance and allows for responsive modern terminal ‘character at a time’ control as well as honouring existing ’line at a time’ legacy behaviour.
-
As part of the above, removal of the built-in ’ed’ editor, since launching a fully interactive modern editor (such as vim) directly is now trivial.
-
Rich text formatting (color, style, terminal attributes) baked into the driver as per this article.
-
Various bug fixes across the codebase that have been ignored by FluffOS for years.
-
Writing missing ‘TBW’ documentation.
-
Removal of vendored libraries in favour of linking against up-to-date system libraries (as found in the “thirdparty” directory): argparse, crypt (replaced with libxcrypt), gulrak-filesystem, libfmt, nlohmann_json, libevent, libwebsockets, and utfcpp.
-
Removal of the not very useful and not very maintained backward-cpp.
-
IPv6 enabled by default.
LODOS will selectively integrate FluffOS commits by remaining in lockstep for the foreseeable future. FluffOS pull requests and issues are monitored and occasionally integrated, too (whether FluffOS accepts them or not).
WARNING#
This driver is almost certainly not for you. It is unmaintained, unsupported hackerware. You probably want to use FluffOS instead. Only use this if you’re comfortable writing a completely new mudlib from scratch on your own. Use at your own risk.