3.1.2. Duels, team levels with perks and a redesign, on top of everything built since 1.3: recruitment, seasons, the cockpit and a native wall.
- Team discussions are native XenForo threads in a single Team discussions forum, instead of one forum per team. They open inside the team page and appear in search and in What's New under Team posts.
- Forums inside a team: its staff creates sections, files existing threads into them and manages thread prefixes for the team. Sticky threads stay on top, and a search box limits the board search to one team.
- A member can belong to several teams, with a group permission that caps how many, and chooses which team badge shows next to their messages.
- Team categories in a tree, managed in the Admin CP, and a filter menu on the directory: privacy, tier, recruiting, creator and sort order.
- The wall is a native XenForo content type: attachments, mentions, quick edit with history, drafts, pinned comments, share links, watching by alert or email, soft delete, the approval queue, inline moderation, warnings, the spam cleaner and the moderator log.
- Wall permissions: Post wall comments without approval, Moderate team walls and a time limit for editing your own comments. An option also limits how long team staff can edit or delete what other members posted.
- Recruitment board: teams post calls (roles, level, languages, time zones, availability, seats) and players publish a profile. An hourly task matches both sides, scores each match out of 100, gives its reasons and alerts them.
- Pending invitations with a reminder and a cancel button, and applications a member can withdraw. Join requests are handled in place by any role holding Accept members, or by an administrator from the Admin CP.
- Seasons: each one has its own ranking, crowns a champion, awards an achievement and joins a hall of fame. Seasons open and close on their own, or by hand from the Admin CP.
- A cockpit for team leaders: the figures of the team, a Needs your attention list sorted by urgency with one button per line, the latest applications, recruitment matches, upcoming events and the XP trend of the last thirty days.
- Duels: a team challenges another for 3, 7 or 14 days and the side whose members earn the most XP wins. It comes with a live scoreboard, a Duels hub, a tab on each public team, bonus XP, three achievements, alerts, an Admin CP page and seven options.
- Team level and perks: every team gets a level from the XP of its members, and each level can unlock perks from nine types that you set up in the Admin CP. An upgraded board starts with an empty ladder, so nothing changes until you add perks.
See it running before you update: live demo, log in as demo / demo2026.
The full changelog, release by release, is on the version history.
Teams 1.2.1
A big update since 1.1 — several new ways to make teams feel competitive and alive.
Team leaderboard with podium & seasons
Rank teams by XP, with a top-3 podium (gold/silver/bronze), full standings, and a toggle between all-time and the current season (resets monthly). Each team shows who leads it.
Embeddable team cards
Drop [team=ID] in any post to show a clean team card — logo, name, recruiting badge and member count. Private teams stay protected.
Team activity streak
Teams now build a daily activity streak (consecutive active days), with a flame tile on the team page and a best-streak record.
Motion & polish
Subtle count-up numbers and reveal-on-scroll animations across the team pages (respects "reduce motion").
More discreet profile badge
The team badge on member profiles is now a small round badge (logo or shield) — hover for the team name, the member's role and the member count. Renders correctly on older Safari too.
Teams 1.1.2 - Discussions, Private teams + footer cleanup
This is a big update bundling everything since 1.0.x. Three things landed:
Team Discussions (1.1.0)
Team leaders can now start "Discussions" inside their team. Each discussion is published as a real forum thread in the forum of your choice, so:
- Team conversations are visible to the wider community.
- Replies happen on the forum with full native XenForo tooling (search, alerts, reactions, moderation).
- Each team builds its own thread history without you having to create per-team forums by hand.
This was the most common piece of feedback, "make Teams feel connected to the forum, not isolated".
Private / Hidden teams (1.1.2)
Team leaders can now mark a team as private. Once private, the team:
- Disappears from every public listing (Top, Recent, search results, sidebar widget).
- Stops counting in public stats.
- Is only visible to its members, to users who received an invite, and to admins.
- Cannot be applied to from outside (it's invisible to non-members).
- Can still be invited to. Invites give the invited member access automatically.
Toggle the new "Private team" checkbox when creating or editing a team. Existing teams stay public by default.
Fixed: duplicate XenSupport credit in the footer (1.1.1)
Removed an older footer credit injection that was firing alongside the consolidated one. If you had several XenSupport add-ons installed, your footer was showing two "XenForo add-ons by ©XenSupport" lines. Now you'll see exactly one, no matter how many XenSupport add-ons you have.
Drop the new files in and run the upgrade from the Admin CP. The schema upgrade is idempotent and safe to re-run.
New feature
- Edit announcements: announcements can now be edited after posting. A pencil icon appears next to the existing pin and delete buttons (visible to the announcement author, team managers, and admins with bypass). The form is pre-filled with the existing title and message. The "edited" indicator shows up automatically once a change is saved.
Bug fix
- Fixed: events disappearing right after creation.Symptom: a freshly-created event would appear briefly on the team page, then vanish on the next refresh or page interaction (e.g., clicking "Accept" on a pending application).
- Root cause: the date-clamping logic introduced in 1.0.20 (designed to prevent year-30000 spam events) had a subtle race condition. When a submitted date was older than now - 24h, it was silently clamped to exactly now - 86400 at the moment of save. But the upcoming-events listing filters on start_date >= now - 86400, where now advances every second. A few seconds after save, the new now - 86400 cutoff was after the saved start date, so the event fell off the listing.
- Fix: the lower bound clamp has been removed. Dates are now saved as the user submitted them. The upper bound (no events past now + 5 years) is still enforced to prevent integer overflow / spam. If a user creates an event with a date in the past, it simply won't show in the "Upcoming events" section — which is the expected natural behavior. The event still exists in the database and is accessible via direct link.
Customer-reported bug fixes
- Fixed double comment submission: writing a comment posted it twice. Root cause was a custom JS submit handler stacked on top of XF's native AJAX form handling. Refactored to use only XF's data-xf-init="ajax-submit".
- Fixed Compare teams page mojibake: special characters and emojis displayed as garbled ãÆ'¢ sequences. CP-1252 encoding remnants replaced with proper Unicode escapes throughout.
- Fixed "duplicate key" error when joining a second team: legacy unique index on xf_xs_team_member.user_id blocked users from being members of multiple teams. Schema migration drops the legacy unique key and replaces it with a non-unique lookup index. Membership uniqueness is now correctly scoped to (team_id, user_id).
- Fixed chr/implode template error on team edit page: removed unsupported PHP function calls from the template (the XF templater whitelist doesn't allow them).
- Fixed missing ACP navigation menu: admin nav entry pointed to a non-existent parent (xenSupport). Re-parented under setup so it appears under "Setup > Teams settings".
- Fixed ghost alerts on team install/reinstall: quest_completed and level_up alerts were dispatched without their corresponding alert_xs_team_* templates, rendering as empty phantom notifications. Templates now bundled + idempotent cleanup of stale rows on upgrade.
We use essential cookies to make this site work, and optional cookies to enhance your experience.