can someone please help me rewrite the following?
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, [login to view URL], in the palace binary folder,
/usr/local/palace/bin, and adding the following line to the plugin
configuration file, /usr/local/palace/<palace-name>/psdata/[login to view URL]:
../bin/[login to view URL] <name-filter-file>
It is suggested that the <name-filter-file> be placed in the psdata
directory for the palace. If this is done, the [login to view URL] file entry
might look like:
../bin/[login to view URL] psdata/[login to view URL]
The <name-filter-file> 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 [login to view URL]