Troubleshooting¶
| Symptom | Cause | Fix |
|---|---|---|
| A player's tag disappears when they relog | That tag is missing from tags.yml on some backend. On join, a backend clears an active tag it does not know, in the shared row |
Make every backend's tags.yml identical, then reload |
| Plugin fails to start after a reboot, but reload had worked | A strict MiniMessage error in tags.yml |
Fix the bad string. Check edits before a reboot |
Tags show on main but not when chatting from another server |
Plugin or chat format missing on that backend | Install it everywhere with the same database |
Hover card is empty, or shows on main only |
The card is built on the sender's backend; the hover numbers come from main |
Make sure each backend has the jar and the ChatControl format |
| Hover numbers are wrong or zero | hover.server-name set on a second backend, overwriting main's row |
Leave hover.server-name blank except on main |
Boot says Hover card: 0 line(s) |
Old config with an empty hover: section |
Delete the empty section or write hover.lines fully |
/custommessage says no permission |
Node not granted | Grant snowbirdtags.custommessages.use in LuckPerms |
| A "warn only" ChatControl rule lets a message through | That rule gives no deny and no points, so nothing signals a block | Add then points to that rule group in ChatControl |
unknown-player on grant |
Player has never joined with the plugin loaded | Use their UUID |
Boot log lines that mean it loaded:
[SnowbirdTags] Loaded 12 tags. Placeholder: %snowbirdtags_active%
[SnowbirdTags] Rank tags: 24 permission-gated badge(s). Placeholder: %snowbirdtags_rank_prefix%.
[SnowbirdTags] Hover card: 2 line(s), up to 3 per player. Placeholder: %snowbirdtags_hover%. Publishing as: 'main' ...
[SnowbirdTags] Custom message subsystem initialized: ...
The counts depend on each backend's catalog. Only main should say Publishing as: 'main'.