Docs · Ranks, votes and the tab list

In STYGION Keystone

Ranks, votes and the tab list

Promotions that happen on their own, vote rewards that wait for the player, and a tab list that says who is who.

Updated

Ranks, votes and the tab list

Ranks earned by playing

progress.toml. promotions is the ladder: how long somebody has to have played, and what they get when they get there. Keystone checks every check-every and writes progress down every write-every, so a crash costs at most half a minute of somebody's evening.

  • count-idle-time decides whether standing in a corner counts. Off, and idle-after (default five minutes) is when somebody stops counting as playing.
  • announce says it out loud when somebody moves up. This is the whole point of a rank; a promotion nobody sees is a database row.

/playtime says how long somebody has played; /playtime <player> asks about somebody else, behind keystone.playtime.others.

Nobody has to run anything weekly. That is the feature.

Votes

votes.toml. Keystone listens for the vote itself — address and port (default 8192) are where the vote sites reach it, and sites is which ones you are listed on. /keystone votes keys prints what a site needs from you.

address is empty by default and nothing listens until you set it. That is deliberate: opening a port is a decision.

  • rewards is what a vote is worth. A reward waits for a player who was offline rather than evaporating, which is the thing most setups get wrong.
  • streaks rewards voting several days running.
  • party-goal, party-window and party-rewards are the whole-server version: reach so many votes inside a window and everybody gets something.
  • announce and announce-cooldown say it in chat without turning a busy evening into a wall.
  • time-zone decides when a day rolls over, which is what a streak counts.

Both of the protocols vote sites use are supported (NuVotifier v1 and v2), at once — so it works on all of them rather than half.

The tab list

tablist.toml — what the list shows and how often it is redrawn (three seconds by default). The header, the footer and the prefix and suffix on a name are built out of ranks, so somebody who is a supporter and a moderator reads as both.

Ordering is honoured where the game has a notion of one: from Minecraft 1.21.2 the client sorts by a number the server sends, and that number is the rank's own weight. On older versions the only way is scoreboard teams, which take over name colours, nameplate visibility and friendly fire from whatever else is using them — so it is left alone there.

What the tab list does today, the server does on its own, and a vanilla client sees it. Columns, faces and badges in the mod's own type need the client half, and are not imitated here as "a list of names with brackets around them".

Did this page help?

Opens the feedback panel with this page attached, and lands in the same queue as everything else.