Class User instances are intended to represent one real-life human each, in general, and to be the fundamental unit of accounting in the system. Muq tracks the number of bytes used on a per-User basis, imposes quotas of various sorts on a per-User basis, and so forth.
Class User is not intended to be the unit of "presence" in a virtual world, because Muq is not intended to be that tightly specialized to mudding, because a single user may reasonably wish to have multiple points of presence in the virtual world, because it may be desirable to have points of presence not directly controlled by any user --- robots and such -- and because in general it seems good separation of concerns. Thus, virtual presence is handled by separate avatar objects.
Class User adds the following properties to those of Class Plain:
$S.breakDisable: Value of @$s.breakDisable at login. $S.breakEnable: Value of @$s.breakEnable at login. $S.breakOnSignal: Value of @$s.breakOnSignal at login. $S.byte-quota: Max bytes of db the user may have. $S.bytes-owned: Bytes of db user currently uses. $S.dbrefConvertErrors: Count maintained by ints3ToDbref. $S.debugger: Default @$s.debugger at login. $S.defaultPackage: Value for "current package" at login. $S.doing: Text field for human @doing display. $S.doBreak: Default @$s.break at login. $S.doNotDisturb: t/nil field for human @who display. $S.doSignal: Default @$s.doSignal at login. $S.email: "firstname.lastname@example.org" or such. $S.group Currently undefined, intended for shared ownership. $S.haltQueue: Job queue for halted jobs. $S.homepage: "http://my.com/me" or such. $S.lib: List of known packages for user. $S.loginHints: NIL, else object with string-valued hint properties. $S.objectQuota: Max number of objects user may possess. $S.objectsOwned: Current number of objects owned. $S.pauseQueue: Job queue for paused jobs. $S.pgpKeyprint: PGP Key fingerprint. $S.psQueue: Job queue for all active jobs owned by user. $S.runQueue0: Job queue for running high-priority jobs. $S.runQueue1: Job queue for running normal-priority jobs. $S.runQueue2: Job queue for running low-priority jobs. $S.shell: Default shell at login. $S.telnetDaemon: Default telnet handler at login, usually telnet:start. $S.textEditor: User's preferred text editor. $S.timeSlice: Incremented monotonically by scheduler. $A.encryptedPassphrase As in unix: One-way encrypted passphrase as a string. .www Support for user homepage on the WWWeb. $S.gagged NIL, else object listing Guests/Users gagged by this user. $S.rank Integer rank used for conflict resolution. $S.nickName Max 16 chars of text nickname. $S.longName Diffie_Hellman public key. $S.trueName Diffie_Hellman private key. $S.hashName 61-bit (i.e., positive fixnum) hash of longName. $S.sharedSecrets Shared Diffie_Hellman secrets indexed by hashName. $S.lastLongName Last value of longName. $S.lastTrueName Last value of trueName. $S.lastHashName Last value of hashName. $S.lastSharedSecrets Last value of sharedSecrets. $S.originalNickName nickName value on home server. $S.dateOfLastNameChange Last time longName/trueName/hashname were rotated. $S.packetPreprocessor Future support for compression and/or encryption. $S.packetPostprocessor Future support for decompression and/or decryption. $S.firstUsedByMuqnet Future administration support. $S.lastUsedByMuqnet Future administration support. $S.timesUsedByMuqnet Future administration support. $S.ip0 These give last known IP address of this $S.ip1 user. Mainly useful for guest (remote) users, $S.ip2 but for simplicity we $S.ip3 use identical records for $S.port local and guest users. $S.ioStream Last known I/O stream on which user was communicating. $S.userServer0 Muqserver which should known user's current location. $S.userServer1 Muqserver which should known user's current location. $S.userServer2 Muqserver which should known user's current location. $S.userServer3 Muqserver which should known user's current location. $S.userServer4 Muqserver which should known user's current location. $S.userVersion Incremented each time location changes. $S.userServer1NeedsUpdating NIL or date of last update attempt. $S.userServer2NeedsUpdating NIL or date of last update attempt. $S.userServer3NeedsUpdating NIL or date of last update attempt. $S.userServer4NeedsUpdating NIL or date of last update attempt. $S.hasUnknownUserServer Non-NIL iff one of userServer[0-4] not in .folkBy.hashName. $S.dateAtWhichWeLastQueriedLocationServers To help avoid thrashing them.
Go to the first, previous, next, last section, table of contents.