Rank Badges

Rank Badges draw small emblems left and right of a player's name, over the head and in chat, and can colour the name. Each badge has rules (achievement points, VIP tier, level, resets and more). A player shows the best badge they pass in each slot. Every client sees the badges of every online player on the GameServer, even players off screen (party, guild, whisper and post senders).

File Location#

Data/Plugins/Social/Badges.xml

Reloads with the other plugins.

Dependencies#

  • Client atlas Data/Interface/UI/atlas/badges.png + badges.xml (sample sprites badge/iron to badge/legend). Add both to the client patch.
  • AchPoints rules need the Achievements add-on. Without it the value is 0.
  • VipTier uses the tiers from VIP System.

How It Works#

  • Slots: Left = icon before the name, Right = icon after the name, None = no icon, name colour only.
  • Rules: 1 to 8 <Rule> per badge. All must pass.
  • Picking: per slot, the highest Priority badge whose rules pass is shown. The name colour comes from the highest Priority passing badge that has a NameColor.
  • Name colour is not used when the player has a PK colour or is a GM.
  • Updates: checked once per second. Players see a new badge right away when it changes.

Schema#

<Badges Enabled="1">
    <Badge Id="1" Name="Iron" Slot="Left" Sprite="badge/iron" Priority="101">
        <Rule Type="AchPoints" Min="25"/>
    </Badge>
    <Badge Id="22" Name="Gold VIP" Slot="None" NameColor="FFD700" Priority="203">
        <Rule Type="VipTier" Min="3"/>
    </Badge>
</Badges>

Badges#

AttributeDefaultMeaning
Enabled10 = plugin off

Badge#

AttributeDefaultMeaning
Id1-254, unique. Keep ids stable once live
NameDisplay name, max 31 chars
SlotLeftLeft, Right or None
SpriteAxUi sprite name, e.g. badge/gold. Required for Left / Right
NameColorOptional RRGGBB. Required for Slot="None"
Priority0Higher wins

Rule#

AttributeDefaultMeaning
TypeSee table below
Min0Lowest value that passes
Max-1Highest value that passes. -1 = no limit
TypeValue
VipTierAccount VIP tier (0 free, 1 Bronze, 2 Silver, 3 Gold)
AchPointsClaimed achievement points
TalentSpentTalent tree points spent
LevelCharacter level
MasterLevelMaster level
ResetsResets
MasterResetsMaster resets
GrandResetsGrand resets
GMGM authority (2 = event GM, 32 = admin)

Shipped Config#

  • 9 achievement ranks on the left: Iron (25 points), Bronze (100), Silver (250), Gold (500), Platinum (900), Diamond (1400), Master (2000), Grandmaster (2700), Legend (3300). The shipped achievements total 3466 points.
  • VIP name colours only: Bronze VIP CD7F32, Silver VIP C0C0C0, Gold VIP FFD700.
  • More examples are commented out in the file: grand reset ladder, resets + master resets, talent points, newcomer level window, GM staff badge.

Custom Sprites#

Use Tools\AtlasPacker (see Tools):

  1. AtlasPacker.exe -unpack <client>\Data\Interface\UI\atlas\badges.xml MyBadges (one PNG per shipped badge).
  2. Add your 64x64 PNGs to MyBadges.
  3. AtlasPacker.exe MyBadges badges badge -out <client>\Data\Interface\UI\atlas

The file name is the sprite name: my_badge.png becomes badge/my_badge. Ship the new badges.png / badges.xml in the client patch.

Notes#

  • Rule or colour changes apply on reload. New ids or sprites (a changed catalog) show after relog.
  • Invalid badges are skipped with a log line: bad or duplicate id, Left/Right without Sprite, None without NameColor, no rules, unknown rule type.

Last updated October 23, 2026