v0.1.1 · fabric 1.21.1
Curse Maven Snippet
What's new
What the first evening on a real server found, plus the first step nobody could take. Most of it is the same shape: the mod behaved one way when it was driven from the editor and another way when it was driven from the console, which is the half of a feature nobody exercises until they run a server with it.
There is an admin group from the first start, and it is empty. Keystone
does not read Minecraft's operator level on purpose, so installing the mod and
being allowed to use it were two different events — and the way across was six
words deep, at a console, out of a documentation page: make a group, give it
everything, put yourself in it. Now the group is already there with keystone.*
in it and nobody in it, so the whole of getting started is one line:
keystone permission group admin add <your name>. Until somebody is in it the
console says so at every start; after that it stops. A server that made an
admin group by hand keeps its own weight, prefix and rules — this never
overwrites one that exists.
The line about what we measure names a command that exists. On a server
sharing its figures, the start-up note offered /keystone settings share-live false to turn it off. There is no settings command — it is set, and a
setting is written with the module in front of it — so anybody who followed the
mod's own instruction got told the command was wrong. It now says
/keystone set bench.share-live false, which is what it always should have.
The setting that announces a promotion can finally be set. progress.announce
was declared under the name announce() — the same rename that put brackets into
two sentences of English also put them into a setting's name — while the code
that reads it asked for announce. So the editor and /keystone set offered
progress.announce(), changing it did nothing, and the module went on announcing
whatever you did. Two other places had the same brackets in prose people read:
the description of accounts.ask-on-discord and of accounts.least-length.
One jar, both sides — the Fabric build no longer refuses to load on a
client. fabric.mod.json declared "environment": "server", so the file that
is meant to go in mods/ on a server and on a player's client would not load
on the second one at all. Nothing runs there yet — the half that draws on a
player's screen is still being written — but the jar is now what it says it is,
which is what NeoForge's side = BOTH has said all along. The server-side
mixins stay server-side, so a client with the file in it does nothing new.
Somebody signing in on a website can be matched to their player. Keystone
now answers GET /v1/discord/links?discord=<id> for a key with players.read:
which Minecraft accounts one Discord user has linked here. On a server that is
not in online mode this is the only proof of identity there is — asking Mojang
says who owns a name, not who is typing it — so a shop that knows the Discord
account somebody signed in with can put what they bought on the right player
instead of believing a name in a form.
A rank set from the console no longer glues itself to the name. A command
line cannot end in a space — whatever you type is trimmed before the mod ever
sees it — so a prefix set with /keystone permission group vip prefix &b[VIP]
came out as &b[VIP] and read as [VIP]Steve in chat and the tab list. The
same prefix set in the editor kept its space and looked right. The separator is
now put back for you, and a prefix that already ends in one, or in a colour code
with a space in front of it, is left exactly as you wrote it — so nothing you
have set changes.
The timetable stops repeating itself in the log. The entity cleaner is due
every minute and skips every minute on a quiet server, and each skip was a line
at INFO: about fourteen hundred identical lines a day between you and anything
worth reading. The reason is written the first time and every time it changes,
and again the first time after the operation actually runs. The record the
timetable keeps is untouched, so /keystone can still tell you every skip.
/keystone panel hands out a link that opens. The address in the link — and
the server address in openapi.json — was built from the address the API
listens on. Set that to 0.0.0.0 so you can reach the editor from your own
machine, which is the only reason anybody sets it, and the link came back as
http://0.0.0.0:28614/…, which opens nowhere. There is now
api.reachable-at: leave it empty and the mod uses the address it is
listening on, or — when that is 0.0.0.0 — this machine's own address on the
network. Set it when the way in is neither, such as behind a router, through a
tunnel, or under a name you gave the machine. The link is composed when you ask
for it rather than when the server booted, so changing that setting works
immediately — which matters, because it is the setting you reach for after a
link did not open.
This mod has no additional files

