Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RECOVER(6)			  Games Manual			      RECOVER(6)

NAME
     recover - recover a NetHack game interrupted by disaster

SYNOPSIS
     recover [ -d directory ] base1 base2 ...

DESCRIPTION
     Occasionally,  a NetHack game will be interrupted by disaster when the game
     or the system crashes.  Prior to NetHack v3.1, these games  were  lost  be-
     cause various information like the player's inventory was kept only in mem-
     ory.   Now,  all  pertinent information can be written out to disk, so such
     games can be recovered at the point of the last level change.

     The base options tell recover which files to  process.   Each  base  option
     specifies recovery of a separate game.

     The  -d  option, which must be the first argument if it appears, supplies a
     directory which is the NetHack playground.  It  overrides	the  value  from
     NETHACKDIR,  HACKDIR,  or the directory specified by the game administrator
     during compilation (usually /usr/local/share/nethack36).

     For recovery to be possible, nethack must have been compiled with	the  IN-
     SURANCE option (this configuration was), and the run-time option checkpoint
     must  also  have  been on.  NetHack normally writes out files for levels as
     the player leaves them, so they will be  ready  for  return  visits.   When
     checkpointing,  NetHack  also  writes out the level entered and the current
     game state on every level change.	This naturally slows level changes  down
     somewhat.

     The level file names are of the form base.nn, where nn is an internal book-
     keeping  number  for the level.  The file base.0 is used for game identity,
     locking, and, when checkpointing, for the game  state.   Various  OSes  use
     different	strategies  for  constructing the base name.  Microcomputers use
     the character name, possibly truncated and modified to be a legal	filename
     on  that system.  Multi-user systems use the (modified) character name pre-
     fixed by a user number to avoid conflicts, or "xlock" if the number of con-
     current players is being limited.	It may be necessary to look in the play-
     ground to find the correct base name of the interrupted game.  recover will
     transform these level files into a save file of the same  name  as  nethack
     would have used.

     Since recover must be able to read and delete files from the playground and
     create  files  in	the save directory, it has interesting interactions with
     game security.  Giving ordinary players access to recover through setuid or
     setgid is tantamount to leaving the playground world-writable, with respect
     to both cheating and messing up other players.  For a  single-user  system,
     this of course does not change anything, so some of the microcomputer ports
     install recover by default.

     For a multi-user system, the game administrator may want to arrange for all
     .0  files	in  the  playground  to  be fed to recover when the host machine
     boots, and handle game crashes individually.  If  the  user  population  is
     sufficiently  trustworthy,  recover  can be installed with the same permis-
     sions the nethack executable has.	In either case, recover is  easily  com-
     piled from the distribution utility directory.

NOTES
     Like  nethack itself, recover will overwrite existing savefiles of the same
     name.  Savefiles created by recover are  uncompressed;  they  may	be  com-
     pressed  afterwards  if  desired, but even a compression-using nethack will
     find them in the uncompressed form.

SEE ALSO
     nethack36(6)

BUGS
     recover makes no attempt to find out if a base name  specifies  a	game  in
     progress.	 If multiple machines share a playground, this would be impossi-
     ble to determine.

     recover should be taught to use the nethack playground locking mechanism to
     avoid conflicts.

COPYRIGHT
     This file is Copyright (C) Kenneth Lorber and was last modified  2018/04/25
     (version NetHack-3.6.0:1.9).  NetHack may be freely redistributed.  See li-
     cense for details.

NETHACK 			14 December 2015		      RECOVER(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=recover36&sektion=6&manpath=FreeBSD+Ports+15.1.quarterly>

home | help