SoundLimit version 3.0.4 plugin README SoundLimit is a palace server plugin which controls the use of sound commands which might cause certain clients to crash. Its major functions include: * Limiting the length of sound names to 31 characters * Limiting sounds to one per utterance * Suppressing sound file names which match regular expressions read from a file. (New in version 2) * Limiting the number of face changes to 2 per utterance (Why this feature is in soundlimit is an interesting historical anomaly.) * Rejecting messages where certain values are out of bounds. These include avatar positions outside the screen, drawing lines narrower or wider than 1-32, faces outside 0-12, and face colors outside 0-15. Changes in Version 3.0.4 * Pen size for drawing lines has been changed from 1-9 to 1-32 to allow for the largest paint sizes in the pc client to work. Installation The following installation instructions assume that the Palace server has been installed in /usr/local/palace. SoundLimit is installed by placing the plugin file, soundlimit.so, in the palace binary folder, /usr/local/palace/bin, and adding the following line to the plugin configuration file, /usr/local/palace//psdata/plugin.conf: ../bin/soundlimit.so It is suggested that the be placed in the psdata directory for the palace. If this is done, the plugin.conf file entry might look like: ../bin/soundlimit.so psdata/soundlimit.re The is the name of the file which contains one or more regular expressions, one per line. The file names used for sounds will be matched against these expressions. If any expression matches, the sound is silently suppressed. Note that each regular expression in the file is compiled into an internal form that uses approximately 1048 bytes of storage. Wizard/god command SoundLimit accepts the following command from users with wizard or god status. `soundlimit reload - Reload the file of regular expressions. This plugin uses a public domain regular expression routine by Ozan S. Yigit, Dept. of Computer Science, York University; as modified by Jim Bumgardner and Bill Frantz 8/22/2001. Regular Expressions: [1] char matches itself, unless it is a special character (metachar): . \ [ ] * + ^ $ ( ) [2] . matches any character. [3] \ matches the character following it, except when followed a digit 1 to 9 or a left or right angle bracket. (see [7], [8] and [9]) It is used as an escape character for all other meta-characters, and itself. When used in a set ([4]), it is treated as an ordinary character. [4] [set] matches one of the characters in the set. If the first character in the set is "^", it matches a character NOT in the set. A shorthand S-E is used to specify a set of characters S upto E, inclusive. The special characters "]" and "-" have no special meaning if they appear as the first chars in the set. examples: match: [a-z] any lowercase alpha [^]-] any char except ] and - [^A-Z] any char except uppercase alpha [a-zA-Z] any alpha [5] * any regular expression form [1] to [4], followed by closure char (*) matches zero or more matches of that form. [6] + same as [5], except it matches one or more. [7] (tag) a regular expression in the form [1] to [10], enclosed as (form) matches what form matches. The enclosure creates a set of tags, used for [8] and for pattern substitution. The tagged forms are numbered starting from 1. [8] a \ followed by a digit 1 to 9 matches whatever a previously tagged regular expression ([7]) matched. [9] \< a regular expression starting with a \< construct \> and/or ending with a \> construct, restricts the pattern matching to the beginning of a word, and/or the end of a word. A word is defined to be a character string beginning and/or ending with the characters A-Z a-z 0-9 and _. It must also be preceded and/or followed by any character outside those mentioned. [10] a composite regular expression xy where x and y are in the form [1] to [10] matches the longest match of x followed by a match for y. [11] ^ a regular expression starting with a ^ character $ and/or ending with a $ character, restricts the pattern matching to the beginning of the line, or the end of line. [anchors] Elsewhere in the pattern, ^ and $ are treated as ordinary characters. Reference: Mastering Regular Expressions, Jeffrey E. F. Friedl, O'Reilly & Associates, 1997 http://www.oreilly.com/