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-timedecides whether standing in a corner counts. Off, andidle-after(default five minutes) is when somebody stops counting as playing.announcesays 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.
rewardsis 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.streaksrewards voting several days running.party-goal,party-windowandparty-rewardsare the whole-server version: reach so many votes inside a window and everybody gets something.announceandannounce-cooldownsay it in chat without turning a busy evening into a wall.time-zonedecides 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.