Everything in PermissionsEx is based around the subject. A subject is a user, group, server console, irc bot, or any other object that has permissions access. Each subject is composed of segments which each have a set of permissions, options, and inheritance that are active when the segment's set of parameters matches.


Permissions exist in a tree structure where each node has a weighting. A permission is split by the . character, and each segment can be set to a value.



Options are a simple key-value mapping. When multiple locations


Any subject can inherit from any other subject.


Contexts are tags that can be applied to a segment that restrict the segment's applicability to a certain player state. Sponge provides several contexts and PermissionsEx applies a few more, but any plugin can add its own contexts (for example a region protection plugin could add a region context to allow for region-specific permissions). When PermissionsEx calculates permissions for a set of active contexts, any segment whose set of contexts is a subset of the subject's active contexts will be considered.

PermissionsEx Contexts

Context Key

Example Value




Tags applied to the current server (in permissionsex.conf)



Only active before this time



Only active after the provided time

Time formats

When using before-time and after-time, PermissionsEx supports a variety of formats:

  • ISO Date Time: 2011-12-03T10:15:30 or 2011-12-03T10:15:30+01:00 or 2011-12-03T10:15:30+01:00[Europe/Paris]

  • ISO Time Relative to Today: 10:15 or 10:15:30 or 10:15:30+01:00

  • ISO Date: 2011-12-03 2011-12-03+01:00

  • RFC 1123: Tue, 3 Jun 2008 11:05:30 GMT

  • PermissionsEx Relative Time Format: +1d2h-3m (more on this later)

  • Seconds since Epoch: 1578779386573

PermissionsEx Relative Time Format

Times in PermissionsEx can be expressed in terms of the current time. The format is as follows:

  • A leading sign (+ or -)

  • Quantity (such as 2)

  • Unit (such as m for minute)

A relative time must always begin with a sign, however the same sign will be used until a new one is specified before a later quantity.

Here is a table of the current supported units:

  • Seconds: second, seconds, s

  • Minutes: minute, minutes, m

  • Hours: hour, hours, h

  • Days: day, days, d

  • Weeks: week, weeks, w

  • Months: month, months

  • Years: year, years

For example, to express 3 days from now, the following can be used: +3d

2 days, 4 minutes less 16 seconds can be expressed in the following way: +2d4m-16s

In this way, administrators will be able to easily specify times relative to the current time.

Last updated