LociTerm Externals

Introduction

Have you seen LociTerm showing up as a Terminal Type in your server logs? Has a player asked to add a LociTerm link? Looking for a web frontend for your game, or just an alternate backup client in case yours goes down? MUD Operator, you're in the right spot!

LociTerm Screenshot
LociTerm Screenshot
LociTerm is an open source, web proxy Telnet client with MUD extensions. It is an open source project that aims to continue in the tradition of other web mud proxy clients, like Grapevine (https://grapevine.haus/), MudSlinger (https://mudslinger.net/play/), and MudPortal (http://www.mudportal.com/).

It can be installed alongside a game as dedicated "closed instance" to provide access to that game, or it can be installed in an "open instance" mode that allows players to select and connect to other games. The server at LociTerm.com is an example of an open server instance. As a MUD operator, you are welcome to download and install your own instance of LociTerm for your players, or you can provide them with links to external open instances of LociTerm.

The advantages of providing your own LociTerm instance are that you are in charge of it. Traffic comes from the player's web client to your LociTerm server, and is forwarded on to your game without any third party middle-man. With your own instance, you can more easily provide local server customizations and themes, you have access to all of the server logs, and you control which games your players can connect to. Installing your own instance is great for providing your players with a web based interface to your main game, and to any private development servers that you might be running.

The advantages of pointing to a third party instance are of course that you are not in charge of it! There's no compilation and software updates to deal with. Your player's traffic goes through a third party server, as it does with other web proxies, but if your game supports SSL, the traffic will be encrypted from the LociTerm instance to your game. Open LociTerm instances will typically show your game in a list of Game Servers, which helps make your game more discoverable to new players. Some, like LociTerm.com publish a list of the most played games through the instance.

Whatever you decide, this page has some advice on how to interact with the LociTerm clients that you may see connecting to your game.

Adding a LociTerm Web Page Link

About Game
About Game Window with MSSP

It is easy to provide a link on your web page to a LociTerm instance that connects to your game. LociTerm provides a link from inside the client for players to share, so you don't even have to type it out!

Some LociTerm instances will only honor direct links that have already been suggested to the server and approved by the administrator. To suggest your game to a LociTerm instance, see Connecting to a Game.

LociTerm servers use the same general format for html links as other web client proxies. To add a link from your web page to a LociTerm instance, you reference its URL like you would with any other page:


<a href="https://lociterm.com/play/">
   Launch LociTerm
</a>
If you want to have LociTerm specifically open your game when it launches, append the host, port, and ssl items to the end of the URL like this:

<a href="https://lociterm.com/play/?host=www.last-outpost.com&port=4443&ssl=1">
    Play The Last Outpost!
</a>
To get to the share link for a game, connect to your game through LociTerm, then hit the Gear button (⚙) → About → Game, and copy the LociTerm link that is listed at the bottom of the description. Paste it into your web page, and you're all set!

Protocol Support

See LociTerm Feature Support for a list of the standard protocols that the client supports. This section covers some details on what LociTerm can report up to a game server.

NAWS

LociTerm reports changes to the terminal window size to the game via the Telnet Negotiate About Window Size protocol. There is no option for client side word wrapping, and standard Visual Terminal wrapping semantics apply when a server sends more data than can fit on a single line. If you want your game to look 'right' on non-80 column screens, consider adding server side line wrapping and NAWS support.

ANSI/VT

LociTerm uses XTerm.js as its terminal back end, and has full xterm support for visual terminal sequences including cursor movement, screen manipulation, truecolor, mouse and terminal status reporting.

NEW-ENVIRON/MNES

LociTerm uses the NEW-ENVIRON/MNES protocol to report proxy state to the game. In addition to the standard MNES values, it reports the following:
CLIENT_NAME - "locid", the LociTerm proxy component.
COLORTERM - "truecolor" for terminal shell color detection.
HTTP_USER_AGENT - This is the agent string reported by the player's web browser.
IPADDRESS - The IP address of the web client side of the proxy. This value updates when the player's web browser address changes.
CLIENT_STATE - "UP" or "DOWN". This value updates when player's connection to the proxy changes.

GMCP

Lociterm supports Char.Login 1, Loci.Hotkey 2, Loci.Menu 1, and other GMCP modules that it reports in the GMCP Core.Hello message. GMCP modules other than Core that are not reported in the hello message are either not supported or not requested, and should not be sent by the game.

While sending unsupported messages may not have a visible effect (the messages will be silently discarded), LociTerm is a mobile web client, and sending unsolicited GMCP data over a mobile link may effect the responsiveness of your game, and lower the battery life of the player's mobile device.

LociTerm MAY try to restart the GMCP protocol by calling Core.Hello whenever the client side of a proxied connection has changed.

Listing Your Server Information

No MSSP
Cool Server but no MSSP
LociTerm uses the MSSP Protocol (MUD Server Stats Protocol) to construct its "About Game" information. If you want your game to be discoverable and for information about your game to show up in LociTerm and other Internet MUD catalogs, you should add TELNET MSSP support to your game.

The MSSP variables that LociTerm uses to build descriptions are: NAME, CODEBASE, CONTACT, CRAWL DELAY, CREATED, DISCORD, HOSTNAME, ICON, LANGUAGE, LOCATION, MINIMUM AGE, SSL, WEBSITE, FAMILY, GENRE, GAMEPLAY, STATUS, GAMESYSTEM, SUBGENRE, DESCRIPTION

LociTerm does not support the 'mssp-request' in-band MSSP format.

LociTerm tries to respect your advertised CRAWL DELAY, and will only request MSSP data if the data it has is stale. If you change your MSSP data, it may take a while before LociTerm will ask for it again. Be Patient!

Staying Out of the Public List

Under Construction
Still Shoveling Core Dumps?
If your game isn't ready for players yet, and it is showing up in an open LociTerm server instance where you don't want it to, you can contact the operator of that LociTerm instance and ask for your game to be "Banned" or "Redacted". If an operator marks your game as "Banned", no one will be allowed to connect to your game through that LociTerm instance, and it won't show up in the Game Server list.

If it is marked as "Redacted", then players can still connect to it via a direct web link, or by typing the information into the suggestion window in the client, but the game won't show up in the Game Server list.

If your game is not ready for prime time, but you still want to test it using LociTerm, ask the LociTerm operator to mark your server "Redacted".

LociTerm also has an automatic crawler component that may be enabled to keep game database information up to date. The crawler identifies itself with a terminal type of "locibot". The LociBot crawler will only poll games that appear in the public Game Server list.

LociTerm>