STYGION Documentation Search the docs

The client half

The same jar in a player's mods: ultimine with an outline, "typing…" above the chat and the resource pack without a reload — and exactly what the client and the server say. From 0.2.5.

Keystone 0.2.5 Updated 2 min read
On this page 3 parts
  1. What it does
  2. What the client and the server say to each other
  3. Turning it off

Keystone is one jar for the server and the player. In a player's mods/ it greets a server running Keystone as they join, and that server then offers three things. A player without it plays exactly as before, nobody is ever refused, and a server without Keystone receives nothing from the client.

What it does

#
  • Ultimine with a key and an outline of what one swing takes.
  • "Anna is typing…" above the chat input, between players who both run the client half (chat.typing.enabled, on). A vanished player is never shown; with chat channels only those who would receive the line see it. Through the Discord bridge both ways: somebody typing in the bridged room shows in the game as "Dora (Discord) is typing…" (typing.from-discord), and the bot types on Discord while somebody in the game does (typing.to-discord, at most once every nine seconds per room).
  • The resource pack without the reload: when the player has the server's pack switched on (the same SHA-1 as resource-pack-sha1 in server.properties), the server does not send it and the game does not reload its textures (resourcepack.skip-when-client-has, on). A launcher that puts the pack into the instance ahead makes joining that much shorter.

What the client and the server say to each other

#

Nothing else is sent, and nothing leaves the server.

Who What When
server → client a hello: the protocol version and what the server has switched on on joining (configuration phase)
client → server the client half's version and the SHA-1 of the resource packs switched on (only .zip files from the resourcepacks folder — not their names or contents) in answer to the hello, in that connection only
client → server the ultimine key: held / not held when it changes
server → client the outline of a vein (a list of blocks) only while the key is held
client → server one bit, "typing / not typing" — never the text, never for a command while typing
server → client the "who is typing" line when it changes

A server sees who runs the client half in GET /v1/players (client) and on the editor's Players screen. Everything the client learns from a server ends with that connection: after leaving or moving to another server nothing is sent until the new server greets it itself.

Turning it off

#
  • The server owner: the ultimine module (off by default), chat.typing.enabled, resourcepack.skip-when-client-has, discord.typing.from-discord and discord.typing.to-discord.
  • A player: removes the jar from mods/; the game and the server carry on.

Did this page help?

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