GlkOte protocol

From IFWiki

(Redirected from GlkOte Protocol)

GlkOte protocol
Protocol
Author Andrew Plotkin
Home page https://eblong.com/zarf/glk/glkote/...
Development website [http:// ]
Formally specified Yes
Version
Date
File extension
MIME type
Implemented byAsyncGlk, 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.