Forums
Give your community a dedicated space to connect, share ideas, and have discussions. Zander's built-in forums work like a classic message board: players browse topics, start discussions, and reply to each other. You get organized categories (like "General" or "Help"), threaded discussions, polls players can vote in, a record of who edited what, and moderation tools to keep things civil - all built in, so you don't need a separate forum website. Polls are always included whenever forums are turned on; there's no extra setting to enable them.
📸 Screenshot: The forums homepage showing recent discussions across multiple categories with post counts and last-reply info
Structure​
| Layer | Description |
|---|---|
| Category | Top-level (or nested, via parent category) grouping (e.g. "General", "Announcements", "Help"). Each category has its own view and post permissions. |
| Discussion | A thread started within a category - has a title, rich-text body, and optional poll. |
| Post | A reply within a discussion. Posts track edit history as revisions. |
For Players​
Browsing​
| URL | Description |
|---|---|
/forums | Recent discussions across all accessible categories |
/forums/category/<slug> | All discussions in a specific category |
/forums/discussion/<id>/<slug> | Full discussion thread with all replies |
Categories you don't have permission to view are hidden from the listing automatically. A category can require any signed-in account (via the special @authenticated permission value) without requiring a specific rank.
Starting a Discussion​
- Navigate to a category and click New Discussion.
- Enter a title and rich-text body. Optionally add a poll (see below).
- Post - your discussion is live immediately.
Requires login. Posting is also subject to the category's configured post permission. Users with an active ban cannot create discussions, reply, or edit.
Replies and Editing​
Reply to any discussion you can view using the reply box at the bottom. You can edit your own discussion or reply at any time - each edit is saved as a revision in the history. You can delete your own reply, but not the original post of a discussion (deleting that means deleting the whole discussion, a moderator action).
Locked or archived discussions block new replies unless you can moderate.
Polls​
Discussions can include an embedded poll - a question with 2–20 options, each with an optional image, and configurable multiple-choice, allow-vote-change, show-voters, and expiry settings. To vote:
- Click your chosen option (one vote per option per user).
- If the poll allows it, you can change your vote later.
- Results show live vote counts and percentages, plus the list of voters if the poll has that enabled.
Reporting​
If you see content that violates the rules, use the Report option on any post to flag it for staff review (requires the site's Reports feature to be enabled).
📸 Screenshot: A forum discussion showing the original post, replies, and the reply input box at the bottom
For Staff​
Moderation Actions​
Moderators can take the following actions from discussion and post pages:
| Action | Permission |
|---|---|
| Edit any post or discussion body | zander.forums.moderate |
| Delete any post or discussion | zander.forums.post.delete |
| Move a discussion to a different category | zander.forums.moderate |
| Lock a discussion (prevents new replies) | zander.forums.discussion.lock |
| Unlock a locked discussion | zander.forums.discussion.lock |
| Pin a discussion to the top of its category | zander.forums.discussion.sticky |
| Unpin a pinned discussion | zander.forums.discussion.sticky |
| Archive a discussion | zander.forums.discussion.archive |
| Unarchive a discussion | zander.forums.discussion.archive |
| View archived discussions | zander.forums.viewArchived |
| View a post's edit history | Moderator-only (zander.forums.moderate) |
| Manage categories (dashboard) | zander.forums.category.manage |
zander.forums.moderate grants all of the action-specific nodes above.
Authors can always edit and delete their own content without any moderation permission. The permissions above grant the ability to act on any user's content.
If you want a record of moderator activity, you can have every create/reply/edit/delete/moderate/move action automatically post a message to a Discord channel of your choice, so staff can keep an eye on forum activity without checking the dashboard. Set this up with config.discord.webhooks.forumLog.
Edit History​
Every post edit is recorded as a revision. Moderators can view the full edit history for any post at /forums/post/<postId>/revisions. This is useful for reviewing what was changed and when.
📸 Screenshot: The post revision history page showing timestamps and diffs of each edit
Managing Categories​
Category management is at Dashboard → Forums → Categories (requires zander.forums.category.manage).
Category Fields​
| Field | Description |
|---|---|
| Name | Display name shown in the forum navigation |
| Slug | URL-safe identifier used in all category paths - e.g. general → /forums/category/general |
| Description | Shown in the category listing |
| Parent Category | Optional, nests this category under another |
| Sort Position | Controls display order |
| View Permission | LuckPerms node (or @authenticated) required to see this category - leave blank for public |
| Post Permission | LuckPerms node (or @authenticated) required to create discussions in this category - leave blank for all logged-in users |
📸 Screenshot: The category management dashboard showing category list with edit and permission controls
Setting Up Your First Category​
- Go to Dashboard → Forums → Categories and click New Category.
- Enter a name (e.g.
General) and slug (e.g.general). - Leave view/post permissions blank for a public category, use
@authenticatedto require any logged-in account, or enter LuckPerms nodes to restrict access to specific groups. - Save.
Granting Permissions in LuckPerms​
If your categories use permission nodes, grant them to the relevant groups:
# Allow all registered users to view and post in the general category
/lp group default permission set <view-permission-node> true
/lp group default permission set <post-permission-node> true
# Grant moderation permissions to your moderation group
/lp group moderator permission set zander.forums.moderate true
/lp group moderator permission set zander.forums.post.delete true
/lp group moderator permission set zander.forums.discussion.lock true
/lp group moderator permission set zander.forums.discussion.sticky true
/lp group moderator permission set zander.forums.discussion.archive true
/lp group moderator permission set zander.forums.viewArchived true
API Reference​
This section is for developers integrating with Zander directly - most admins won't need it. Forum pages are built and delivered by the server itself (there's no general data API to plug other tools into). The one exception is reporting posts, which does have a small data endpoint:
| Method | Path | Auth | Summary |
|---|---|---|---|
| POST | /forums/post/:postId/report | Session (logged in), requires the Reports feature | Body: reportReason, optional reportReasonEvidence. Proxies to the site's internal report API. Returns { success, message }. |
Feature Toggle​
"forums": true
Disabling forums (setting it to false) removes the forum from the navigation and returns a feature-disabled error from all forum routes.