I've been impressed with the [Motsognir gopher server][0]. It was
almost a drop-in replacement for gophernicus, which I had been using
for my [RPG gopher site][1]. It supports the same features,
including executing programs from gophermaps and CGIs, both of which
I was using. There are three major differences I can see:
1. Motsognir runs as a daemon, not as an inetd service.
2. Motsognir has a separate config file versus command line switches
in the case of gophernicus.
3. To display text in a gophermap (or other type-1 resource), you
need to use the inline selector type 'i'.
The first allowed me to run two different gopher servers, each on
its own IP address on one host. The Motsognir manual has some clear
instructions on how to do this. So I can host both this site and my
RPG site on the same server (This is similar to how we all used to
run multiple SSL-enabled websites before SNI was widespread). The
drawback is, of course, that you need a static IP for each gopher
instance. I was just honest with my hosting provider that I wanted
an extra IP for gopher, and they gave it to me. This is far better
than the gophernicus virtual hosting hack (which I think may not
even be supported in the latest releases), which I experimented with
but was too clunky to use in practice.
The second is much nicer, IMO, using a config file versus
switches. It allows for pretty generic startup scripts and makes
backup of settings easier. There are also more options as compared
to gophernicus.
The last is a bit of an annoyance, but it is in keeping with the
gopher RFC, and it prevents a common class of bugs I've seen when
text is dumped into a gophermap or type-1 text file (commonly used
to enable embedded linking in text documents) - that is, if a line
starts with a selector letter, like 'h' for example, it is
interpreted as a selector for that type, rather than as raw text,
and your text block gets garbled. The 'i' makes it explicit.
ASCII art in a gophermap takes some care now, you have to paste the
art in, and then use your editor to prefix each line with the 'i'
afterwards. Actually, I found it's easier to do this in all cases -
so I edit my gophermaps as if they were gophernicus-style, and add
the 'i' prefixes when I am done using a simple regexp find/replace.
[0]: gopher://gopher.viste.fr/1/projects/motsognir/
[1]: gopher://gopher.smolderingwizard.com