# # Commands to restrict # Syntax: restrict_command <command> <restriction> [" <error message>] # restrict_function <function> <restriction> # <restriction> is a space separated list that may include: # nobody Totally disable the command # nogagged Gagged players can't use it # nofixed Fixed players can't use it # noguest Guests can't use it # noplayer Player objects can't use it (things, rooms, exits may. Command only) # admin Must be roy or wiz to use it # wizard Must be wiz to use it # god Must be god to use it # logname When func/cmd is used, log its name and user # logargs When func/cmd is used, log its name, args, and user # <flag> Any flag that must be present to use it (Command only) # <power> Any power that must be present to use it (Command only) # !<restriction> The opposite of a restriction (Command only). # nosidefx The side-effect version of a function won't work (Function only). # # If <error message> is given to a restrict_command, it is sent to the player # instead of a more generic, typically useless error message. # # Command restrictions typically also apply to side-effect functions that # emulate the command. # Don't let guests mess with the database # (This replaces the HARSH_GUEST compile-time define) # The "ATTRIB_SET" command controls the setting of attributes with # @attr obj=value or &attr obj=value restrict_command @set noguest restrict_command ATTRIB_SET noguest restrict_command @chown noguest restrict_command @chzone noguest restrict_command @cpattr noguest restrict_command @mvattr noguest restrict_command @edit noguest restrict_command @gedit noguest restrict_command @parent noguest restrict_command @wipe noguest restrict_command @unlink noguest restrict_command @link noguest restrict_command @lock noguest restrict_command @unlock noguest restrict_command @create noguest restrict_command @dig noguest restrict_command @open noguest # @power is traditionally logged restrict_command @power logargs # Some additional protection against spam attacks by guests #restrict_command @dolist noguest #restrict_function repeat noguest #restrict_function iter noguest #restrict_function map noguest #restrict_function fold noguest # Don't allow kill (slay still works) #restrict_command kill nobody # Uncomment to allow only admin or @powered builders to build #restrict_command @open admin builder " You need the builder power to do that. #restrict_command @dig admin builder " You need the builder power to do that. # Uncomment to disallow them to create objects #restrict_command @create admin builder " You need the builder power to do that. # Used to be player_locate #restrict_command @whereis nobody # Used to be hate_dest restrict_command @destroy noplayer " Use @recycle instead # Used to be cemit_power #restrict_command @cemit admin cemit " You can't @cemit without cemit @power # Turn off ansi(). #restrict_function ansi nobody # And some of the more dangerous side-effect functions. #restrict_function set nobody #restrict_function wipe nobody #restrict_function create nobody #restrict_function clone nobody #restrict_function tel nobody # If you turn this on, players who try to use functions in place # of commands (e.g. $foo: [pemit(%#,blah)] will get error messages. # Disabled by default for backward compatibility. restrict_command warn_on_missing nobody # We add a dummy here to make updating easier restrict_function lstats noguest