Chronicle of major events, and livelog

Log game events, such as entering a new dungeon level, breaking
a conduct, or killing a unique monster, in a new "Major events"
chronicle. The entries record the turn when the event happened.
The log can be viewed with #chronicle -command, and the entries
also show up in the end-of-game dump, if that is available.

This feature is on by default, but can be disabled by
defining NO_CHRONICLE compile-time option.

This also contains "live logging", writing the events as they
happen into a single livelog-file. This is mostly useful for
public servers. The livelog is off by default, and must be
compiled in with LIVELOG, and then turned on in sysconf.

Mostly this a version of livelogging from the Hardfought server,
with some changes.
This commit is contained in:
Pasi Kallinen
2022-02-09 22:36:19 +02:00
parent cfcfc3429f
commit 1e90f89203
43 changed files with 624 additions and 53 deletions

View File

@@ -86,6 +86,29 @@ MAXPLAYERS=10
# Maximum number of score file entries to use for random statue names
#MAX_STATUENAME_RANK=10
# Use "Live logging" for important events (achievements, wishes, etc)
# Only available if NetHack was compiled with LIVELOG.
# Only really meaningful for public servers.
# See the log in-game with #chronicle -command.
# Bitmask for kinds of things you want to log - combine the following values
# as desired.
# 0x0000 - No live logging (default)
# 0x0001 - Wishes
# 0x0002 - Significant achievements (complete sokoban, perform invocation, etc)
# 0x0004 - Kill, destroy or bribe a unique monster.
# 0x0008 - Significant religious events (sacrifice gifts, crowning)
# 0x0010 - Life-saving
# 0x0020 - Break conduct - see also LLC_TURNS below.
# 0x0040 - Artifact obtained (#name Sting, dip for Excalibur)
# 0x0080 - Genocides
# 0x0100 - Murder of tame pet
# 0x0200 - Changed alignment temporarily or permanently
# 0x0400 - Log URL for dumplog if ascended
# 0x0800 - Log dumplog url for all games
# 0x1000 - Log 'minor' achievements - can be spammy
# 0x8000 - Livelog debug msgs (currently only 'enter new level')
#LIVELOG=0x1FFF
# Show debugging information originating from these source files.
# Use '*' for all, or list source files separated by spaces.
# Only available if game has been compiled with DEBUG, and can be