Skip to content
sadimusi edited this page Dec 15, 2011 · 15 revisions

This article describes the config.xml file that was introduced in SimpleServer 8.3 for permission and configuration. It can be found inside the simpleserver/ folder of your server directory.

Content

## Syntax ### Formal definition ``` permission := | ; groups := | , | - groupEntry := | | * group := | + | - id := group ID players := | , playerEntry := | player := player name not := ! | ~ | ¬ ```

Examples

* : everyone
- : nobody
3 : members of group 3
3+ : members of groups with ID 3 or higher
1-3 : members of groups with ID between 1 and 3 (including the endpoints)
1,3,5 : member of the groups 1,3 and 5
!3 : everyone except members of group 3
1-5,!3 : members of the groups 1 through 5 excluding group 3
;Notch : only Notch
;Notch,sadimusi : Notch and sadimusi
;!Notch : everyone except Notch
1+;Notch,!sadimusi : everyone in groups with ID 1 or greater plus Notch, but not sadimusi
## Properties ### Syntax ```xml §%3$s<%1$s>\u00A7f ```

Notes

  • Make sure to properly escape values (see example).
  • Unlike the properties in simpleserver.properties those can be changed while the server is running.
## Groups ### Syntax ```xml 3 60 ```

NOTE: syntax changed w/ update, this is a in the mean time update: use something like

<group id="8" name="Owner" color="1" ignoreChestLocks="true" showTitle="true" forwardUnknownCommands="true"/>

Attributes

  • id: Unique ID
  • name: Name displayed in chat
  • color: A color code
  • ignoreChestLocks: Group members can open and destroy all locked chests.
  • ignoreAreas: Group members can build and destroy blocks in any area.
  • showTitle: The group's name is displayed in every chat message.
  • forwardUnknownCommands: Forwards invalid commands to the server instead of displaying an error message.
  • warmup: Time in seconds teleoports are delayed.
  • cooldown: Time in seconds group members have to wait between teleports.

Notes

  • It is possible to have negative group IDs.
  • It is recommended to order groups by their power for easier permission management.
## Players ### Syntax ```xml Notch 127.0.0.1 ```

Attributes

  • group: The group the player is in.

Notes

  • If a player matches botch a player and an ip tag the higher group is used.
## Commands ### Syntax ```xml teleport tp set ```

Attributes

  • name: Internal name of a command.
  • allow: Permission to use the command with any arguments.
  • rename: New name of the command. The old name won't work anymore and can be used by other commands or server mods.
  • alias: Alias for the command. Multiple alias tags are allowed.
  • argument: Overrides the commands permission if the arguments start with the specified string.
  • hidden: The help command won't show this command.
  • forward: The command is both parsed by SimpleServer and forwarded to the real server.
  • forwardonly: The command is only forwarded to the real server.

Notes

  • An argument tag for set p matches the command /warp set port
  • Only the first matched argument is considered.
  • The attributes rename, alias, hidden, forward and forwardonly are not parsed inside dimension and area tags.
  • command tags inside dimension and area tags referring to renamed commands must use the new name.
## Blocks ### Syntax ```xml ```

Attributes

  • destroy: Permission for destroying blocks.
  • use: Permission for using blocks.
  • place: Permission for building blocks.
  • give: Permission for giving that block using the /give command.
  • id: A comma-separated list of single block IDs and ranges of them.

Notes

  • block tags override the allblocks tag.
  • The attributes use and destroy are not allowed in block tags.
  • block tags must not include IDs already defined by another block tag in the same container.
  • Forbidding the usage of blocks also restricts placing or destroying blocks.
## Chests ### Syntax ```xml ```

Attributes

  • allow: Permission for using chests.
## Areas ### Syntax
<dimension name="earth">
  ...
</dimension>
<area start="0,0,0" end="16,64,16" name="my area" priority="5">
 ...
</area>

Possible Childs

  • allblocks
  • block
  • chests
  • command
  • area

Notes

  • The y coordinate for areas can be omitted which defaults to 0 for start and 127 for end.
  • Areas must be inside a dimension tag.

Inheritance

  • A player is inside an area if he is inside the start and endpoint of said area or in any of it's child areas.
  • An area defined inside another area tag inherits all permissions of its parent.
  • If in any container (dimension or area) there are multiple areas a block or player is in only the one with the highest priority is considered. If the priority is equal the one defined earlier is used.

Example

<config>
  <block id="7" place="-" />
  <dimension name="earth">
    <area start="0,0" end="32,32" name="A">
      <block id="7" place="3+" />
      <area start="24,8" end="40,24" name="C">
        <chests allow="-" />
      </area>
    </area>
    <area start="16,16" end="48,48" name="B">
      <block id="7" place="*" />
    </area>
  </dimension>
</config>

Area overlap example

Blue

  • Placing bedrock: 3+
  • Using chests: *

Orange

  • Placing bedrock: *
  • Using chests: *

Purple 

  • Placing bedrock: 3+
  • Using chests: -

Coordinates

Areas include the blocks at the start and end coordinate.

<area start="0,0" end="0,1" name="blue" />
<area start="2,0" end="3,3" name="orange" />

Area coordinates example