commands must be appended to the file – which is what the client does. All
commands from ./server/in except meta commands are also written to ./record.
-At the end of each turn, ./savefile is written – with a list of all god commands
-necessary to recreate the current world state.
+Every fifteen seconds, if any turns have passed, ./savefile is written – with a
+list of all god commands necessary to recreate the current world state. On each
+world state change, ./server/worldstate is updated and a message "WORLD_UPDATED"
+written to ./server/out.
Replay mode
-----------
QUIT
Shut down server.
+THINGS_HERE [0 to 255] [0 to 255]
+If world exists, write line-by-line list of things visible or in memory at y
+position of first argument, x position of second argument of map into
+./server/out file, enclosed by two lines "THINGS_HERE START" and
+"THINGS_HERE END".
+
Player commands
---------------
+ai
+Do what the AI would do.
+
wait
Make player character wait one turn.
TURN [0 to 65535]
Set world turn to argument. (Initial value: 0.)
-PLAYER_TYPE [0 to 255]
+PLAYER_TYPE [0 to infinity]
Set to argument ID of thing type into which a new world's player character will
be generated. (Initial value: 0.)
-SEED_RANDOMNESS [0 to 4294967296]
+SEED_RANDOMNESS [0 to 4294967295]
Set randomness seed to argument. (Initial value: 0.)
-SEED_MAP [0 to 4294967296]
+SEED_MAP [0 to 4294967295]
(Re-)generate map to seed of argument and map size.
-MAKE_WORLD [0 to 4294967296]
+MAKE_WORLD [0 to 4294967295]
Set map seed and randomness seed to argument. Remove all things. (Re-)generate
map. Add to map things specified in thing types table in quantity defined there
by START_NUMBER command, with first thing (of thing ID of 0) of type defined as
-player type by PLAYER_TYPE command. Set world turn to 1. Activate world.
+player type by PLAYER_TYPE command. Set world turn to 1. Activate world. Answer
+with 'NEW_WORLD' message in ./server/out file.
MAP_LENGTH [1 to 256]
Deactivate world. Remove ./server/worldstate file. Remove all things. Remove
map. Set map edge length to argument. (Initial value: 64.)
-WORLD_ACTIVE [0 to 255]
+WORLD_ACTIVE [0|1]
Set world activity state to argument. If 0, remove ./server/worldstate file.
Else, if world was so far inactive, a map exists, at least one "wait" thing
action is defined, and a thing of ID 0 (= a player character) that is not part
-of any other thing's inventory, (re-)build all animate things' fields of view and
-activate world. (Initial value: 0.)
+of any other thing's inventory, (re-)build all animate things' fields of view,
+and activate world. (Initial value: 0.)
-TA_ID [0 to 255]
+TA_ID [0 to infinity]
Select thing action to manipulate by argument as ID. If argument is 0, change it
to the lowest unused thing action ID greater than 0. If action of ID does not
exist yet, create it with default name "wait" and default effort 1.
unsets the world's only "wait" action, the world is deactivated, and the
./server/worldstate file removed.
-T_ID [-32768 to 32767]
-Select thing to manipulate by argument as ID. If argument is <0 or >255, change
-it to the lowest unused thing ID. If thing of ID does not exist yet, create it
-with default position of y=0/x=0, the first thing type's ID, and that type's
-lifepoints value. If world is active and the thing is animate, build its field
+T_ID [-1 to infinity]
+Select thing to manipulate by argument as ID. If argument is <0, change it to
+the lowest unused thing ID. If thing of ID does not exist yet, create it with
+default position of y=0/x=0, the first thing type's ID, and that type's
+lifepoints value; if world is active and the thing is animate, build its field
of view.
-T_TYPE [0 to 255]
-Set selected thing's type ID to argument.
+T_TYPE [0 to infinity]
+Set selected thing's type ID to argument, if the respective ThingType exists.
T_POSY [0 to 255]
Set selected thing's map row position to argument. Delete thing's field of view
Set selected thing's map column position to argument. Delete thing's field of
view and, if world is active, rebuild it.
-T_COMMAND [0 to 255]
+T_COMMAND [0 to infinity]
Set to argument the action thing is currently performing, as identified by its
thing action ID, if a thing action of that ID is defined. If argument is 0, the
thing's command ID is set to that, implying that it is not performing any
T_LIFEPOINTS [0 to 255]
Set selected thing's lifepoints to argument.
-T_CARRIES [0 to 255]
+T_SATIATION [-32768 to 32767]
+Set selected thing's satiation score. If above zero, and thing's lifepoints are
+below its thing type's initial lifepoints, there is a 1/32 chance each turn of
+waiting action that the thing's lifepoints will rise. For values affecting the
+thing's lifepoints negatively, see note on TT_LIFEPOINTS.
+
+T_CARRIES [0 to infinity]
Add thing of ID in argument to inventory of selected thing, if said thing is
available for carrying and not the selected thing.
Set part of selected thing's memory of the game map to string argument: the line
of the argument's number.
-TT_ID [-32768 to 32767]
-Select thing type to manipulate by argument as ID. If argument is <0 or <255,
-change it to the lowest unused thing type ID. If thing type of ID does not exist
-yet, create it with default name "(none)", corpse ID equal to the new thing
-type's ID, and remaining thing type attributes to 0.
+T_MEMDEPTHMAP [0 to 255] [string]
+Set part of selected thing's game map memory depth map to string argument: the
+line of the argument's number.
-TT_CONSUMABLE [0-255]
+T_MEMTHING [0 to infinity] [0 to 255] [0 to 255]
+Add to selected thing's memory of things on map thing of ID of first argument,
+y position of second argument and x position of third argument.
+
+TT_ID [-1 to infinity]
+Select thing type to manipulate by argument as ID. If argument is < 0, change it
+to the lowest unused thing type ID. If thing type of ID does not exist yet,
+create it with default name "(none)", corpse ID equal to the new thing type's
+ID, symbol "?", and remaining thing type attributes to 0.
+
+TT_CONSUMABLE [0-65535]
Set selected thing type's consumability value to argument – the number of
-lifepoints earned by consuming/using things of that type.
+.satiation score points earned by consuming/using things of that type.
TT_START_NUMBER [0-255]
Set selected thing type's number of things of type to spawn on successful
TT_LIFEPOINTS [0-255]
Set selected thing type's initial lifepoints value to argument. Things of 0
-lifepoints are considered inanimate, otherwise animate.
+lifepoints are considered inanimate, otherwise animate. This value also sets the
+degree to which the selected type's things suffer from under- or over-satiation:
+If 0, not at all. Else, it defines a stomach size value of 32767 divided by it.
+Each turn a thing of the given type may then suffer a lifepoint decrement to the
+chance of the rounded down quotient of its satiation score's absolute value by
+its stomach size value, then again divided by the latter. (This means that the
+change is always zero when the absolute value of the satiation score is lower
+than the stomach size value.)
TT_SYMBOL [char]
Set to argument symbol by which things of the selected type are represented on
Set selected thing type's name to argument. This name identifies things in the
game log and the inventory.
-TT_CORPSE_ID [0-255]
+TT_CORPSE_ID [0 to infinity]
Set to argument the ID of the thing type that things of the selected type
transform into when their state changes from animate to inanimate.
+
+TT_PROLIFERATE [0-255]
+If non-zero, there is a chance of 1 divided by the given value each turn for any
+thing of the selected type to emit an offspring to a random neighbor cell if one
+is available that is passable and not inhabited by a thing of the same same type
+or, if the proliferating thing is animate, any other animate thing.