For the complete documentation index, see llms.txt. This page is also available as Markdown.

🎖️Ranks & Permissions

Ranks, and what each of them is allowed to do inside a guild.

Ranks are defined in ranks.yml. A server can run three of them or eight, name them what it likes, and decide for itself whether moderators may ban.

The file ships with the five ranks UltimateGuilds had before 3.0, carrying exactly the permissions they had then, so an upgraded server behaves identically until you edit it.

Defining a rank

ranks:
  moderator:
    display-name: "ranks.moderator.display_name"
    weight: 20
    permissions:
      - INVITE
      - KICK
Key
Meaning

The section name

The rank's key. It is what gets stored against each member, so renaming a section moves nobody: keep the key and change the display name instead.

display-name

A translation key from your language file. Players see what it resolves to.

weight

Authority. Higher outranks lower, promotion moves one step up the weights, and the highest weight runs the guild.

permissions

What a member holding this rank may do.

The highest rank is the guild master. Promotion never reaches it — ownership is handed over with /guild admin — so a guild always has exactly one.

Permissions

Permission
Allows

INVITE

Invite players to the guild

KICK

Remove a member who does not outrank you

BAN / UNBAN

Ban a player from the guild, and lift a ban

PROMOTE / DEMOTE

Move a member up or down the ranks

TRANSFER_OWNERSHIP

Hand the guild over to another member

RENAME

Rename the guild

SET_TAG / SET_COLOR

Change the guild tag and its colour

SET_DESCRIPTION

Change the guild description

SET_MAX_MEMBERS

Raise the member limit, within what the player's server permissions allow

DISBAND

Delete the guild

MANAGE_RANKS

Create, delete and edit the guild's ranks

MANAGE_RELATIONS

Offer, declare and drop standings with other guilds

A permission the file names that does not exist is skipped with a warning, and the rank keeps the ones that do.

Adding a rank

Add a section with a weight that places it where you want, and give it a guilds.list.separator.<key> line in your language file so /guild list has a heading for it. A key containing - becomes _ in that message key: co-leader reads guilds.list.separator.co_leader.

Last updated