Skip to content

Points & Team Top

How teams earn points from kills and KOTH captures, how admins change them, and how the team leaderboard ranks teams.

Every team has a points total. It starts at 0, never goes below 0, and decides the team’s place on the team top menu, {rank} and the %optimalteams_rank% / top_ placeholders.

Point amounts live under Point-Sources in config.yml.

Point-Sources:
Koth-Capture:
Enabled: true
Points: 25
Player-Kill:
Enabled: true
Points: 5
Cooldown: 600

When a player kills another player, the killer’s team earns Player-Kill.Points and every online member gets the KILL-POINTS message. Nothing is awarded when:

  • the killer is not in a team
  • the victim is in the killer’s own team
  • the same killer already earned points for the same victim within Cooldown seconds (default 600, 10 minutes)

Victims without a team still count. The cooldown is per killer and victim pair, kept in memory, and cleared by a restart. Cooldown: 0 turns it off.

With OptimalKoth installed, each capture gives the capturer’s team Koth-Capture.Points and every online member gets the KOTH-POINTS message. A capturer without a team earns nothing. Without OptimalKoth this source does nothing.

Set Enabled: false or Points: 0 to turn a source off. Negative values fail the load.

/teamadmin points <team> add <amount>
/teamadmin points <team> take <amount>
/teamadmin points <team> set <amount>

Amounts accept k, m, b, t and q suffixes (2.5k = 2500). Taking more than a team has leaves it at 0. The sender gets POINTS-UPDATED; the team is not notified. These commands work from console, so other plugins and reward systems can hand out team points with them.

Teams are ranked by points, highest first. Teams with equal points are ordered by name.

The ranking is not re-sorted on every change. Instead, a change marks it as outdated, and a timer re-sorts it every Top-Update-Interval seconds (default 10) when needed. A new team joins at the bottom straight away, and a disbanded team is removed straight away. Everything that shows a rank reads this snapshot, so a rank can trail the live points by up to one interval.

/team top, or the Team Top button in the team or hub menu, opens guis/top-menu.yml:

  • Ten teams per page by default, on Team-Slots in rank order. Each icon shows the leader’s head, the team tokens and a {roster} of its members (up to Roster-Limit, then a “…and N more” line).
  • Clicking a team opens its read-only info menu (team-info-menu.yml) with every member’s head, role, status and join date.
  • Your Team icon in the header shows your own team and rank. Without a team, it becomes a button that opens the create prompt.

Every part of it is configurable, see top-menu.yml.

Where Use
Messages and menus {points} (formatted), {points-raw}, {rank}
Scoreboards, tab, holograms %optimalteams_points%, %optimalteams_rank%, %optimalteams_top_1_name%, %optimalteams_top_1_points%, …

{points} and %optimalteams_points% follow Settings.Number-Format: abbreviated (1.5K) by default, or separated (1,500). See Number-Format.