0.9.18

Details

  • Filename
    zPermissions-0.9.18.jar
  • Uploaded by
  • Uploaded
    Apr 5, 2013
  • Size
    273.97 KB
  • Downloads
    1,207
  • MD5
    3851995287f50c79c9f03266252e5754

Supported Bukkit Versions

  • CB 1.5.1-R0.1
  • CB 1.4.7-R1.0

Changelog

0.9.18

This release is more experimental than usual due to many new significant features.
(After the summary, see important details about some of the features.)

Summary:

  • New automated database schema update infrastructure.
  • Temporary (timed) group memberships, from 1 hour to years. Unlike the settemp command, these are stored in the database/flat-file, so they persist through restarts.
  • Adds general metadata storage, which allows you to associate values (text, numbers, booleans) with players and groups. The next version of Vault will take advantage of this and use zPermissions as a source of chat prefixes/suffixes for players/groups.
  • Adds ability to customize the names of the database tables used by zPerms.
  • Minor fixes to flat-file storage to eliminate race conditions.
  • Minor fix to database storage to wait for all async writes to finish when shutting down.
  • Adds option to broadcast rank command to online players with specific permissions rather than to all online admins. See the new rank-admin-broadcast option in config.yml.
  • Adds /permissions mygroups command with associated permission zpermissions.mygroups
  • Modifies /permissions player ... groups command so it now displays groups from highest priority to lowest priority, just like the mygroups command.

Automated Schema Update

This update will add 2 new tables: ZPERMS_SCHEMA_VERSION and METADATA. It will also add a column (EXPIRATION) to the MEMBERSHIPS table. All this should happen automatically and has been tested on PostgreSQL, MySQL, and H2 (and in fact, those 3 database servers are the only ones I will support for automatic schema updates going forward).

If ever in doubt you can /permissions export some-filename, drop all the zPermissions-related tables/sequences (ENTITIES, ENTRIES, WORLDS, REGIONS, MEMBERSHIPS, and the 2 new ones: ZPERMS_SCHEMA_VERSION and METADATA), then run the new version of zPerms and then /permissions import some-filename.

Timed Groups

You can add players to timed groups using an optional duration or timestamp to the player..setgroup or group..add commands, e.g.

/permissions group blah add ZerothAngel 10
/permissions group blah add ZerothAngel 10 days
/permissions group blah add ZerothAngel 1 month
/permissions player ZerothAngel setgroup blah 2013-04-25
/permissions group blah add ZerothAngel 2013-04-25T12:00:00

The optional time units can be hours, days, months, or years. If not specified, it defaults to days.

Metadata

Run the command /permissions player blah metadata or /permissions group blah metadata for a summary of the metadata commands (fairly self-explanatory and similar to setting permissions).

The next version of Vault (probably 1.2.25) will have chat support for zPermissions. If you're impatient, you can just grab the source and build it yourself. The chat plugin will look for metadata strings named prefix and suffix on both players and groups.

Remember, a player's "primary group" is the one with the highest priority. See the player..groups command or the new mygroups command.

rank-admin-broadcast

Your config.yml will be upgraded to add this new option. The default for this option (true) will preserve the old behavior of the rank commands where they broadcast to all online admins. If you turn this feature off, you can instead direct the output of rank commands to players with specific permissions:

  • zpermissions.notify.*
  • zpermissions.notify.rank
  • zpermissions.notify.promote
  • zpermissions.notify.demote
  • zpermissions.notify.setrank
  • zpermissions.notify.unsetrank

zpermissions.notify.rank is an alias for the 4 rank command notification permissions. zpermissions.notify.* means all notifications. Currently, there are only rank notifications.

Regardless of who has what permission, zPerms will always log rank commands to the server.log as well.

Custom Database Table Names

See Customizing Table Names.