Keepalive

From ThresholdRPG Wiki

There are rules about having a client automatically send data to the game in order to circumvent the game's ability to detect idle characters and react accordingly.

However, sometimes client connections to the game get interrupted due to an ISP or a router's configuration that is outside of a player's control. There is a solution that looks very similar to the prohibited activity of sending information to the game on a timed interval to keep your connection alive, but in fact does not interfere with the design of the idle system.

Many MUD clients possess the ability to create timers to execute sending information to the game, and it is here that you would turn this on.

It is important to follow the instructions below carefully in order to be in compliance with the client rules of Threshold.

Null byte

Instead of sending a command to the game at periodic intervals (such as look), which is, in fact, prohibited, you can configure your client to send what is called a null byte.

This means it won't interrupt other elements of the game, such as resting, trancing, and meditating.

While this is somewhat technical, it is very simple to implement for various MUD clients. Instructions for the most common four MUD clients are below.

Threshold Webclient

The Threshold webclient already includes a keepalive.

TinTin++

Linux

Edit the tintin++ script you use to connect to Threshold, if you don't have one, you will need to create one.

Add the following on a blank line: #tick {keepalive} {#send \0} {600}

Windows

Edit the WinTin++ main.tin file, generally located at C:\Users\<user id>\AppData\Roaming\WinTin++\bin\main.tin.

Add the following on a blank line: #tick {keepalive} {#send \0} {600}

Mudlet

  • Create a new text file and paste the following code into it and save the file as ThresholdKeepalive.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MudletPackage>
<MudletPackage version="1.001">
    <TimerPackage>
        <Timer isActive="yes" isFolder="no" isTempTimer="no" isOffsetTimer="no">
            <name>ThresholdKeepalive</name>
            <script>send("\0")</script>
            <command></command>
            <packageName></packageName>
            
        </Timer>
    </TimerPackage>
</MudletPackage>
  • On the Mudlet toolbar, click Package Manager
  • Click Install
  • Browse for and select the newly created file called ThresholdKeepalive.xml
  • Click Open
  • Click OK

MUSHClient

  • Create a new text file and paste the following code into it and save the file as ThresholdKeepalive.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE muclient>
<muclient>
<plugin
   name="ThresholdKeepalive"
   author="Gesslar"
   id="3d41e08cd04ae58ec384432f"
   language="Lua"
   purpose="Send keepalive to Threshold"
   date_written="2021-05-28 22:26:51"
   requires="5.06"
   version="1.0"
   >

</plugin>

<include name="constants.lua"/>

<timers>
  <timer name="ThresholdKeepalive" script="eventKeepalive" enabled="y" minute="10" second="0.00" offset_second="0.00" send_to="12"></timer>
</timers>

<script>
<![CDATA[
function eventKeepalive(name)
	if name == "ThresholdKeepalive" then
		SendPkt("\0")
	end
end
]]>
</script>

</muclient>
  • In the MUSHclient Menu, click File > Plugins
  • Click Add
  • Browse for and select the newly created file called ThresholdKeepalive.xml
  • Click Open
  • Click Close