To play the game, go here:

Play Ijirait

To stream the game in addition to that, go here:

Stream Ijirait

More on streaming below.

Client Certificate

You need a permanent client certificate because the character you get when you connect is tied to your client certificate’s fingerprint.

This means that if you create a new client certificate using a different client, or a different device, you'll get a different character! In order to play the same character from different clients and different devices, you need a way to share your client certificate.

Caching (Elpher and other clients)

If your client caches all the pages it sees, you will have a strange experience playing this game, since every command is an URL, but it does make a difference whether you use the "look" command in this room or that room. Client-side caching is a problem.

Elpher

Then again, if you’re using Elpher, you might want to give this config a try:

;; Do not cache Ijirait!

(defvar asc:elpher-no-cache-prefixes '("gemini://campaignwiki.org/play")
  "Prefixes of URLs not to cache.")

(advice-add 'elpher-cache-content :around #'asc:elpher-cache-content)

(defun asc:elpher-cache-content (oldfun address content)
  "Do not cache Ijirait URLs."
  (let ((url (elpher-address-to-url address)))
    (when (catch 'found
	    (dolist (prefix asc:elpher-no-cache-prefixes)
	      (when (string-prefix-p prefix url)
		(throw 'found t))))
      (funcall oldfun address content))))

An Ijirait Client

There is dedicated Ijirait command-line client in the Phoebe repository.

ijirait

There's a screenshot on this blog post, if you're interested:

2021-06-14 Jirait is a Gemini-based MUSH

Quickstart:

git clone https://alexschroeder.ch/cgit/phoebe
cd phoebe

Generate client certificates, not answering most of the questions OpenSSL asks:

make client-cert
.
.
.
.
.
Ijirait
.

Now you have “client-cert.pem” and “client-key.pem”, both valid for five years.

Invoke the script to play:

script/ijirait --url=gemini://campaignwiki.org/play/ijirait \
  --cert=client-cert.pem --key=client-key.pem

For streaming (see below):

script/ijirait --stream --url=gemini://campaignwiki.org/play/ijirait/stream \
  --cert=client-cert.pem --key=client-key.pem

Streaming

If you client allows it, you can also connect to the streaming URL. Use the same client certificate as when you play the game. You'll get notifications on the stream in real time!

Stuff like this:

Anbeinis arrives.
Anbeinis says: “Hello, Didia!”
Anbeinis examines pebble.
Anbeinis changes appearance.