GlkOte protocol
(Redirected from GlkOte Protocol)
GlkOte protocol | |
---|---|
Protocol | |
Author | Andrew Plotkin |
Home page | https://eblong.com/zarf/glk/glkote/... |
Formally specified | Yes |
Implemented by | AsyncGlk, GlkOte, RegTest, RemGlk-rs, RemGlk |
Browse the architecture database | |
Edit this infobox |
The GlkOte Protocol is a communications protocol designed for parser IF. Originally implemented as part of GlkOte, it allows for most of the Glk API to be transmitted between processes or across a network. The protocol has a server which sends the output as JSON, and a client which sends back player input events, again as JSON.
RemGlk and GlkOte were conceived together, the two allowing for remote network access to an IF interpreter (hence their names). But the protocol in practice is usually used locally, such as GlkApi, GlkOte's Javascript counterpart of RemGlk, as used in Quixe, or even by compiling RemGlk to WASM as in Emglken.
GlkOte is the most common client (or AsyncGlk's WebGlkOte), but other clients include the testing framework RegTest. Lectrote also uses the protocol for its automatic transcripts.
Extensions
Beyond what is supported by the original RemGlk and GlkOte, RemGlk-rs and AsyncGlk support:
- Glk stylehints
- Glk sound functions
- Gargoyle's text formatting extension
Specification
The protocol was originally specified in GlkOte's documentation.
It has also been described using TypeScript interfaces or Rust structures.