Nofew icon

Untitled

Nofew | PRO | 12/17/15 05:18:26 PM UTC | 0 ⭐ | 357 👁️ | Never ⏰ | []
text |

10.61 KB

|

None

|

0 👍

/

0 👎

Mucker Levels:
  There are 8 permissions levels in ProtoMUCK. Level zero is a non-bitted
player, and has no ability to use any code on the MUCK, be it MPI or MUF.
A player set = M is a MEEPER, and may use MPI, but no MUF. Levels M1 to
W4 have access to the MUF editor, and may program MUF code. 
 The MUCKER level permissions that a program runs at is its owner's 
level. If it is owned by a player who is M2, the MUF runs at a M2 level.
Programs owned by W2's and higher are considered W-bitted MUFs, and will
run at that permission level, regardless the bit set on the program itself.
 The mucker levels available with the man command are: (ie, type man M1)
   M1   M2   M3   W1   W2   W3   W4 (Mucker 1-3 and Wizard 1-4)
Note that the manual entries deal only with how a M/W bit affects MUF, not
other in-server restrictions.
MUCKER1 - Apprentice
   Level one MUCKER's are apprentices, and although the M1 bit is
considered a 'Learner's Bit', there is still a lot that can be done
with them, so their distribution should still be done with some 
consideration. M1 programs always run as if they are SETUID. Any 
notifying prim, like NOTIFY and NOTIFY_EXCEPT will automatically
prepend the M1 user's name to the beginning of the message, though
this can be toggled as an @tune parameter. M1 programs have an 
absolute instruction level that is equal to the @tuned PREEMPT
instruction limit, typically around 20k instructions. 
M1s may use any non-restricted prim (prims that have no minimum level),
though other prims may have additional restrictions.
 See: M2, MUCKER LEVELS
MUCKER2-Journeyman
   M2 programmers have access to a whole new level of prims, and are 
given a much higher instruction count limit, roughly 4 times the
@tune PREEMPT limit, or around 80k instructions. 
It is recommended that only trusted players be given M2, and only 
if they are able to demonstrate some competence in MUF.
 See: M2 PRIMS, M3
MUCKER3-Master
   M3s can use some of the connection related prims, and have fewer
restrictions with other prims as well, such as moveto. Refer to the
documentation on individual prims to see what M3's are able to do
that an M1 or M2 cannot. Their instruction count limit is roughly
twelve times the @tuned PREEMPT limit, typically around 320k.
M3's do have quite a bit of flexability and power with their use of MUF.
It is important to only give M3s to non-staff members who are highly
trusted.
 See: M3 PRIMS, W1
WIZARD1-MAGE
   W1 is given more power over information retrieving prims, such as 
conhost, and others. They also have way fewer restrictions with the prims,
such as the building prims. They still cannot write to restricted props
on objects they do not own, nor use setown to change ownership of objects
to other players. W1s have no instruction count limit. W1s can also 
delete macro definitions, set their programs to run AUTOSTART, 
and set programs = S & H to run with caller privleges.
It is recommended that W1 bits be given to coders of a MUCK's staff. 
They should not be generally given to non-staff members.
 See: W1 PRIMS, W2
WIZARD2-Wizard
   W2 is technically the first 'wizbit' level, in terms of MUF. At
this level, almost all prim restrictions are ignored, programs
can change restricted props on objects they do not own except for
@ props, use setown, and many other higher level prims. There are
no limits on instruction counts, not even with programs running
in PREEMPT mode.
It is recommended that W2 be given to admin level coders, as the 
lack of restrictions on W2 programs make them very powerful.
 See: W2 PRIMS, W3
WIZARD3-ArchWizard
   W3 level programs have almost no restrictions whatsoever. Only
the file prims are unavailable to W3s. No instruction limits on
any program, and the ability to read/write @ props, which are
unavailable to W2s.
It is recommended that W3s be given to only the MUCK's MUF wiz
or wizzes, as the lack of any restrictions requires that players
who have W3 permissions be highly trustworthy.
 See: W3 PRIMS, W4
WIZARD4-Boy
   W4 is almost the same as W3 in terms of permissions, the only 
noteable difference being the access to the file prims that W3's
do not have.
Under most conditions, there is little need for any coder to have
a W4, unless the file prims are specifically required.
 See: W4 PRIMS
There is no help for "w5"
There is no help for "m1 prims"
The following prims become available at the level of M2, though
they still may have some uses reserved for higher permission levels:
 addpennies          ( d i -- )
movepennies         ( d1 d2 i -- )
timestamps          ( d -- i i2 i3 i4 )
newroom             (d1 s -- d2)
newobject           (d1 s -- d2)
contime             (i1 -- i2)
conidle             (i1 -- i2)
nextprop            (d s1 -- s2)
propdir?           (d s -- i)
descridle           ( i -- i )
descrtime           ( i -- i )
findnext            ( d1 d2 s1 s2 -- d3 )
 See: M2, MUCKER LEVELS, invididual prim entries for more details
The following prims become available at the level of M3, though
they still may have some uses reserved for higher permission levels:
 online              ( -- d ... i )  
condbref            (i -- d)
connotify           (i s -- )
stats ( d -- total rooms exits things programs players garbage )
recycle             (d -- )
condescr            ( i -- i )
descrcon            ( i -- i )
descriptors         ( d -- ix...i1 i ) 
queue               ( i d s -- i )
parseprop           ( d s s i -- s )
parsepropex         ( d s1 dict i -- dict s )
nextplayer          ( d -- d' )
descr_array         ( d -- a )
online_array        (   -- a )
descrflush          ( i --   )
descr_html?        ( i -- i )
descr_pueblo?      ( i -- i )
descr_welcome_user  ( i --   )
descr?             ( i -- i )
event_send          ( i s ? -- )
motd_notify         ( d -- )
nextprogram         ( d -- d )
nextexit            ( d -- d )
nextroom            ( d -- d )
nextthing           ( d -- d )
descrdbref          ( i -- d )
watchpid            ( i -- )
getobjinfo          ( d -- dict )
descrbufsize        ( d -- i )
 See: M3, MUCKER LEVELS, individual prim entries for more details
The following prims become available at the level of W1, though
they still may have some uses reserved for higher permission levels:
 newexit                (d1 s -- d2)
conhost                (i -- s)
conipnum               (i -- s)
nextdescr              (i1 -- i2)
fork                   ( -- i)
nextowned              ( d -- d' )
notify_descriptor      ( i s -- )
ansi_notify_descriptor ( i s -- )
setpassword            ( d s1 s2 -- )
next_flag              ( d s -- d )
nextowned_flag         ( d s -- d )
nextplayer_flag        ( d s -- d )
nextthing_flag         ( d s -- d )
nextplayer_power       ( d s -- d )
nextentrance           ( d d -- d )
descrhost              ( i -- s )
descripnum             ( i -- s )
firstdescr             ( d -- i )
lastdescr              ( d -- i )
descr_flag?           ( i s -- i )
notify_descriptor_char ( i i -- )
bandwidth              ( -- i i i )
get_macros_array       ( -- dict )
 See: W1, MUCKER LEVELS, individual prim entries for more details
 The following prims become available at the level of W2, in 
addition, W2's are no longer restricted by having to own an 
object in order to make changes to it. There is little a W3
can do with these prims that a W2 cannot do.
 conboot             (i -- )
parsempi            ( d s1 s2 i -- s3 )
descr_setuser       ( i1 d s -- i2 )
program_getlines    ( d i i -- arr )
program_linecount   ( d -- i )
insert_macro        ( s s -- i )
kill_macro          ( s -- i )
 See: W2, MUCKER LEVELS, individual prim entries for more details
 The following prims become available at the level of W3, in
addition W3's are able to manipulate the @ props that W2 and
below are unable to. There is almost nothing a W4 can do with
these prims that a W3 cannot do.
 conuser             (i -- s)
conport             (i -- s)
force               (d s -- )
setsysparm          ( s1 s2 -- )
checkpassword       ( d s -- i )
newplayer           ( s1 s2 -- d )
copyplayer          ( d1 s1 s2 -- d2 )
toadplayer          ( d1 d2 -- )
logstatus           ( s -- )
sockopen            ( s1 i -- socket s2 ) 
socksend            ( socket s -- i ) 
sockrecv            ( socket -- s )
sockclose           ( socket -- i )
nbsockopen          ( s1 i -- socket s2 )
get_sockinfo        ( socket -- dict )
sockcheck           ( socket -- i )
socket_setuser      ( socket d s -- i )
set_sockopt         ( socket i -- i )
socktodescr         ( socket -- i )
propqueue           ( d1 s1 d2 s2 -- )
envpropqueue        ( d1 s1 d2 s2 -- )
newpassword         ( d s -- )
descr_logout        ( i -- )
descruser           ( i -- s )
descrport           ( i -- s )
descrconport        ( i -- i )
getpids             ( d -- arr )
getpidinfo          ( i -- dict )
getdescrinfo        ( i -- dict )
descrboot           ( i -- )
descr_set           ( i s -- )
dump                ( -- )
delta               ( -- )
sqlclose            ( sql -- )
sqlping             ( sql -- i )
sqlquery            ( sql s -- dict ... dictn n arr )
sqlconnect          ( s s s s i -- sql i )
copyprops           ( d s d s i -- i )
sockshutdown        ( socket i -- i )
 See: W3, MUCKER LEVELS, individual prim entries for details
Every prim in MUF can be used by W4, with every permissions check
cleared. In addition, they have access to the file prims listed
below:
 fwrite              ( s1 s2 i1 -- i2 )
fappend             ( s1 s2 -- i )
fread               ( s1 i -- s2 )
freadn              ( s1 i1 i2 -- s2 )
freadto             ( s1 i1 s2 -- i2 s3 )
fpublish            ( s -- i )
fcr                 ( s -- i )
bread               ( s1 i1 -- i2 )
bwrite              ( i1 s i2 -- i3 )
bappend             ( i1 s -- i2 )
fsinfo              ( -- i1 .. i8 )
curid               ( -- i1 i2 )
fstats              ( s -- i1 ... i6 )
fsize               ( s -- i )
frm                 ( s -- i )
fren                ( s1 s2 -- i )
getdir              ( s -- arr )
mkdir               ( s -- i )
rmdir               ( s -- i )
newprogram          ( s -- d )
compile             ( d i -- i )
uncompile           ( d -- )
lsockopen           ( i i -- lsocket s )
sockaccept          ( lsocket -- socket )
armageddon          ( s -- )
shutdown            ( s -- )
restart             ( s -- )
program_insertlines ( d i1 arr -- i2 )
program_deletelines ( d i1 i2 -- i3 )
 See: W4, MUCKER LEVELS, individual prim entries for more details.
There is no help for "w5 prims"

Comments