Demeter2

Behind the scenes, Demeter must keep track of a great number of objects and avatars. Performing this task, without special modifications, would take an enormous amount of bandwidth and processing power. In order to perform efficiently, Demeter uses the concept of terrain sessions.

A terrain session begins when a user in a Demeter world says d:begin and ends when the user says d:end or the session times out. While a terrain session is enabled, Demeter continually queries all property within 20 meters of the user in an attempt to locate and correct terrain objects. If Demeter notices that a terrain object is not at the proper height or its texture is inconsistent, it will adjust the object to match the terrain. Demeter does not keep track of avatars who have not enabled terrain sessions and only monitors their chat for specific commands. If a user who has not enabled a terrain session attempts to modify terrain objects, an error message will be returned asking that user to enable a session before editing terrain.

Demeter tracks users by privilege password, not by citizen number or name. Thus, if a user attempts to modify his or her terrain while on a different privilege password, an error will result. Tracking by privilege password allows users to enable others to modify the terrain under their buildings. Note that citizens with Eminent Domain rights can modify terrain under any property, regardless of privilege password.

Note that Demeter will sometimes query cells (vertical 10x10 meter columns that contain property) even when terrain sessions aren't enabled. These cells are queried when objects are selected. Due to a technical limitation in ActiveWorlds, it is necessary for Demeter to query cells when they are selected in order to recreate deleted terrain when someone has not enabled a terrain session.

Queries and commands (all words beginning with d:, such as d:hide, d:show, etc.) are placed into a queue, which is simply a list of all areas of the world or the number of commands left to be processed. The "max queries" and "max commands" settings allow bot users to determine the number of each of these these that can be outstanding at any given time. These can be adjusted based on speed, bandwidth, and processing power available.