Up to Main Index                             Up to Journal for April, 2022

                     JOURNAL FOR SUNDAY 24TH APRIL, 2022
______________________________________________________________________________

SUBJECT: WolfMUD v0.0.19 released
   DATE: Sun 24 Apr 20:20:15 BST 2022

The next release of WolfMUD, v0.0.19, is now available for download[1].

WolfMUD v0.0.18 was released 11th April 2021, a little over a year ago. This
release is the accumulation of a year’s work to overhaul the entire WolfMUD
codebase. Apart from a tidy-up of the download descriptions and release notes,
this is the same release as beta6. With one exception, the AArch64/ARM64 Linux
build has now been tested on actual hardware[2].

In the release notes I have tried to cover everything that is different in the
overhaul, and any actions to be taken when upgrading. Not an easy task when
over 90% of the code is new.

I’d like to thank everyone who gave their time testing the beta releases and
providing valuable feedback. I’d also like to thank everyone that convinced me
“the experiment” was a good idea, and that the overhaul was long overdue.

Work on v0.0.20 and the new combat system has already begun…

Main highlights from the release notes:

    WolfMUD v0.0.19 is a 90%+ rewrite of WolfMUD v0.0.18. Compatibility with
    existing zone files and player files has been maintained. While these
    release notes try to highlight differences between the two versions, see
    the release notes for the v0.0.19 betas below for more details.

    Every effort has been made to implement the features and functionality that
    was previously available in v0.0.18. These release notes serve to document
    any differences and additions in the v0.0.19 release.

    The only change between v0.0.19 and v0.0.19-beta.6 are the release notes
    and a tidy-up/clarafication of the build descriptions.

Upgrading Notes

  - In data/config.wrj, Inventory.CrowdSize is now the minimum number of
    players to be considered a crowd. Before it was the number of players
    before they where considered a crowd. The default value has changed from 10
    to 11 - 11 or more players is a crowd. See docs/configuration-file.txt for
    more details.
  - In data/config.wrj, a separate login timeout has been added: Login.Timeout
    with a default value of 1m - 1 minute. See docs/configuration-file.txt for
    more details.
  - Per IP address connection quotas have been simplified. In data/config.wrj
    Quota.Timeout and Quota.Stats are no longer used. A new Quota.Slots
    configuration value has been added, which defaults to 0. Quotas now allow
    up to Quota.Slots connections per Quota.Window per IP address. There are no
    quote statistics, however there is a new Debug.Quota flag which provides
    some additional information. See docs/configuration-file.txt for more
    details.
  - In zone and player files the Health field attributes have changed from:

      [Old format]  Health: FREQUENCY→     CURRENT→ MAXIMUM→ REGENERATES→
      [New format]  Health: AFTER→ JITTER→ CURRENT→ MAXIMUM→ RESTORE→

    FREQUENCY has been replaced with AFTER+JITTER to bring Health in line with
    other events. REGENERATES has been replaced with RESTORE as it is more
    generic and can be reused on other similar fields. Existing player files
    will be upgraded.  See docs/zone-files.txt for more details. Zone files
    should be reviewed and mobiles/NPCs updated as necessary.
  - Players now have a new Permissions field. This can contain the value
    'ADMIN' which grants access to all admin commands. Alternatively, access
    can be granted to specific admin commands only by listing the specific
    commands. For example:

      Permissions: ADMIN
      Permissions: #DUMP #GOTO

    Per player permissions replace the Debug.AllowDump and Debug.AllowDebug
    settings in data/config.wrj, which are removed. See the ADMINISTRATORS
    section in docs/running-the-server.txt for more details.

Added

  - Linux ARM64 is now officially supported with pre-built downloads available.
  - The matcher now understands 'SELF'. For example: EXAMINE SELF, HIT SELF.
  - The matcher now understands 'MY' to refer to items in your own inventory.
    For example: EXAMINE MY SWORD, PUT APPLE MY BAG.
  - The matcher now understands 'ANY' to refer to a random item when there are
    multiple matches. For example: GET ANY APPLE, WIELD ANY SWORD.
  - Duplicate messages sent to players are de-spammed so that fewer duplicates
    will be seen.
  - Imps and fungus slugs have been added to zinara_caves.wrj, the "Caves near
    Zinara" zone.
  - There are now corpses when the HIT command is used to kill something.
  - A new /WHOAMI command has been added in case you forget which character is
    logged in on which terminal.
  - Zone and player files are now more Unicode friendly, including REF/@refs.
  - Players now have a command history for up to thee previous three commands.
    The history can be shown using /HISTORY or the abbreviation '/!'. Commands
    can be replayed from the history using '!', '!!' and '!!!' respectively.

Changed

  - The output for the #DUMP/#LDUMP commands have been updated to reflect how
    items are stored internally. There is no Unicode #UDUMP variant yet.
  - The #DUMP/#LDUMP commands can accept '@' to dump everything in the current
    location - mnemonic is where you are 'at'. For example: #DUMP @
  - New server statistics: A[n] O[n ±n] T[n ±n] E[n ±n] P[n max]

      A[    n] - runtime allocations since last collection
      O[n  ±n] - runtime objects / change since last collection
      T[n  ±n] - Thing in the world / change since last collection
      E[n  ±n] - in-flight active events / change since last collection
      P[n max] - current number of players / maximum number of players

  - In zone and player files the leading '+' for bound qualifiers only may be
    omitted. For example, SHORT:SWORD and +SHORT:SWORD are equivalent - but the
    latter is preferred for consistency with non-bound qualifiers.
  - Player names are now restricted to 15 characters during account creation.
  - A mobile/NPC is now defined as anything that can self heal. Existing zone
    files should be checked to make sure mobiles/NPCs, that are intended to be
    mobiles/NPCs, have a Health record with at least MAXIMUM, RESTORE and
    AFTER/JITTER attributes set.
  - The /PROMPT command now has five styles:
      NONE
      CURSOR  >
      BRIEF   H:30>
      SHORT   H:25/30>
      LONG    Health: 25/30>
    The prompt does not currently colour current health based on percentage of
    maximum health yet.
  - The server no longer logs client connections and disconnections, unless
    client IP addresses are being logged - Server.LogClient is set true. The
    server will log player logins and players quitting:
      [#UID-F] Login by: 16809599915800bb7a67d231daef3b9f
      [#UID-F] Quitting: 16809599915800bb7a67d231daef3b9f
  - The stock zones in data/zones have had many improvements and bug fixes.

--
Diddymus

  [1] Download area: ../../../downloads/

  [2] I finally got my hands on an 8Gb Raspberry Pi 4 :)


  Up to Main Index                             Up to Journal for April, 2022