Skip to content

@thefallentree thefallentree released this Aug 26, 2020

Release notes:

  1. performance improvement on std/json.c , string handling and tracing.


  • crash in receive_snoop()


  • secure_random(): generate true random numbers
  • telnet_nop(): send telnet NOP sequence


  • virtual_start() for virtual objects.
Assets 2

@thefallentree thefallentree released this May 1, 2020

  • Support X-REAL-IP in websocket connections
  • Fix that in LPC if(0.0) {true} else {false} would return true.
  • Raise default LARGEST_PRINTABLE_STRING to 65535
  • Fix mysql linking issues in win32
  • Upgrade jquery to 3.5.0
Assets 2

@thefallentree thefallentree released this Apr 14, 2020 · 49 commits to master since this release

Release v2019.2020041301

This solved some problem with Lima lib (

Bug Fix:

  1. correctly linking jemalloc, fix fluffos/lima#6
  2. Add missing set_eval() to all call sites
  3. Use default mysql socket instead of /tmp/mysql.sock .

Major Feature

LPC Tracing:
new efun : trace_start , trace_end


Assets 2

@thefallentree thefallentree released this Apr 1, 2020

v2019 is only supported on the latest version, please consider upgrade asap.

UTF8 support:
4539ff8 Fix foreach for UTF8 string, add tests
1b05852 stdlib: break_string.c
ca4d696 sprintf: utf8 fix for table/column mode, with comprehensive test cases.
6c418ce efun: strwidth(), also update docs

Bug fixes:
0254068 Fix buffer overflow in receving large text while transcoding (#616)
a99710f Fix warning about eval limit

397562b Adding lpcc, an LPC compiler/disassembler
f413395 Adding sqlite3 support and db_* efun tests
9bee48c Rewrite PACKAGE_ASYNC with no data race, also implement async_getdir correctly
595a633 Make max local variables confiugrable. (#617)

Various doc updates
check out new

Assets 2

@thefallentree thefallentree released this Mar 3, 2020

This is an bug fix release for v2019

Bug fixes

  1. fix utf8 for column mode in sprintf
  2. fix ANSI color stripping in sprintf


  1. rusage replacement under windows
  2. file_size behavior

New features

  1. json.c
  2. Upgrade xterm to 4.4.0, with unicode 11 support.
  3. Mobile optimization for websocket
Assets 2

@thefallentree thefallentree released this Jan 9, 2020

This version is mainly for compat fixes.

Installed files

Drivers will install std/ and include/ directory, which contains LPC stdilb (json for now) and LPC include files, some mud needs to copy them over.

Mud compat

DeadSouls is now running under fluffos v2019 with minimal changes!


c4b4161 (origin/master, origin/HEAD) Adding first LPC stdlib, json.c
3eadd94 Fix query_ed_mode.c tests
885be4d Allow str[strlen(str)] again and adding string_index test cases.
df75a91 Allow fetch/store private variables in current_object
08eb706 Allow whitespace after websocket http dir config line
c21ee2d Turn on PRIVS by default, used by DS, and won't affect other MUD
9ae254b adding DSLIB predefine, since it is fully builtin.
7ac5689 Disallow string[0] on empty strings
122ae34 Fix script to remove static keyword
7fa4ab1 Update font/css for websocket http files.
6bbc258 Optimize websocket log levels on Release version
dcd351e Install LPC include files
7b456fc ( fixes issue #556 (#557)
d682ba1 Update
cdbfbea Update docs

Assets 2

@thefallentree thefallentree released this Jan 3, 2020

First Pre-Release of v2019, please test!


Ubuntu 18.04 (including WSL), OSX latest, and MSYS2/mingw64 is supported!

Migration note


  1. v2019 require all mudlib files to be valid UTF-8 files, including object save files. Use iconv to convert them if necessary.
  2. set_encoding() and query_encoding() is available to set this_player()'s connection to given charset, which would automatically transcode input/output.
  3.


  1. make install will install an directory of example websocket http pages with xtermjs configured, copy that to your mudlib directory
  2. Add "external_port_2: websocket XXXX" to config file to enable websocket.
  3. Adding "websocket http dir: ./www" to config file
  4. TODO: write more about websocket ascii protocol.


  1. crypt(password, "") will by default use SHA512 to securely encrypt your password!
  2. crypt with old password will still work, but will complain in debug log.
  3. oldcrypt() is the old MD5 based crypt() that also works, and also complains, please have user type password again to securely encrypt their password to SHA512.
Assets 3

@thefallentree thefallentree released this Nov 21, 2019 · 301 commits to master since this release


  1. reset eval limit before calling master::connect()
  2. Ignore CRLF in multiline text block (#513)
  3. Fix stack-smashing issue on PACKAGE_PCRE, also fix memory leak in pcre_assoc
  4. Disable LTO on CYGWIN, as default gcc version doesn't work

Remember, v2017 is bug-fix only! Follow development on v2019!
Discuss on

Assets 2
Nov 21, 2019
Bump version
You can’t perform that action at this time.