Roles & Permissions
Garrison has a full, Discord-style permission system, an @everyone base role, an
Administrator bit, enforced role hierarchy, role colors, and per-channel overrides, so a guild's structure
maps onto its server exactly.
How roles work
- Every server has an editable
@everyonebase role that applies to all members. - Members can hold multiple roles; their permissions are the union of all of them.
- Administrator grants everything (like the owner). The owner always bypasses every check.
- Roles have colors (shown on names in chat and the roster) and can be hoisted to display members in their own group in the member list.
Role hierarchy
Roles are ranked top-to-bottom, and the order is enforced: not cosmetic. You can only:
- assign, edit, reorder, or delete roles below your own highest role;
- kick or ban members who rank below you;
- grant permissions you actually hold yourself.
This closes the usual privilege-escalation holes, a mid-tier officer can't promote themselves or act on someone above them.
The rank-ladder preset
One click in Server Settings β Roles seeds a complete guild ladder, hoisted, colored, and ranked in the right order:
It's a starting point, rename, recolor, and re-permission freely.
Permissions reference
| Permission | Lets a member⦠|
|---|---|
| Administrator | Do everything, bypasses all other checks. |
| Manage Server | Edit the server name, icon, and settings. |
| Manage Roles | Create, edit, reorder, and assign roles below their own. |
| Manage Channels | Create, edit, reorder, and delete channels & categories, and set channel overrides. |
| Manage Messages | Delete others' messages and pin/unpin. |
| Manage Events | Create and run scheduled events. |
| Create Invite | Generate invite links/codes. |
| Kick / Ban Members | Remove members, or ban them from rejoining. |
| Mute Members | Server-mute or disconnect members in voice. |
| Send Messages | Post in a channel (can be overridden per-channel for read-only channels). |
| Priority Speaker | Transmit in priority channels and use the command net. |
Per-channel overrides
Server-wide permissions are the baseline; per-channel overrides tune them for a single channel. For any role or member you set each permission to allow, neutral (inherit), or deny: exactly the Discord model. That gives you read-only announcement channels, per-channel mutes, and channel-specific moderators.
| #announcements | View | Send | Manage Msgs |
|---|---|---|---|
| @everyone | β | β | - |
| β Officer | - | β | β |
| π€ Bots | β | β | - |
#announcements read-only for everyone except officers. β allow Β· - inherit Β· β denyChannel & category visibility
Separately from send/manage permissions, a channel (or a whole category) can be made visible only to selected roles. New channels added to a restricted category inherit its visibility, so officer spaces stay hidden from the rest of the guild.
Managing members
From Server Settings β Members (and from the member list) you can assign or remove roles, kick, and ban: all within the hierarchy rules above, and all pushed live to everyone. Members can leave a server themselves; the owner can't be kicked or leave their own server. Invites can carry use limits and expiry.