The keep-alive Time-stamp

Most ISPs (we really mean all) will drop stale connections. If you've been connected to the game too long without sending or receiving anything odds are incredibly high that you'll be disconnected. The easiest way around this is to ensure that the game keeps sending you output on a regular basis. Some players choose to use their @Atime to do this, but what if you want to put other code in there without tripping over a keep alive? What if you don't want to bother with setting up any code on the MARE side at all?

Enter the timestamp channel. On a regular basis (once per minute), the current date and time are sent to this channel. If you've joined, you'll receive it too, keeping your connection nice and fresh (and nobody likes a whiffy connection, geeze, just what were you DOING with it?). The output of this channel looks something like this:

[timestamp] Sat May 20 17:23:57 2017

Of course, you don't want your screen filling up with all those time stamps (Wait, you do? Gosh you're weird). This means you need your client to hide them. This is called gagging. No, not like that, like tying a gag over a mouth. In most clients this is done with a trigger.

Getting started

First things first, you have to actually join the channel. So send this to the game:

+ch +timestamp
+ch public

and you'll see output that looks something like this:

[timestamp] * QBFreak has joined this channel.
Channel timestamp is now default.
Channel public is now default.

Now we need to create our trigger!

Creating the trigger

Every client is different in regards to creating triggers. Most require (or at least allow) a regular expression for the trigger pattern. The regular expression for our trigger looks like this:

^\[timestamp\] .*$

You may want to copy and paste that, rather than typing it.

Before we get too deep into the concepts of creating triggers, there are already step-by-step instructions written for the following clients:

"Oh no, my favorite client, Mud Puddles, isn't on the list!" Well, you have two choices. You can carry on with this and try and work it out, or you can ask around on the MARE and see if anyone else uses Mud Puddles and knows how to set up triggers.

These instructions are for graphical clients. If you use a terminal-based client, like TinyFugue, or TinTin++ the steps are quite different

First things first, you need to locate where you client hides the triggers section. Every client is different, but a lot of them hide it under the properties of the currently connected world. You can extrapolate that to mean that your trigger is ONLY going to work on SluggyMARE, even if you connect to another game that has the same timestamp channel.

Once you have the triggers section open, add a new trigger. This should be done with something obvious like add or new.

When the new trigger window appears, it may be seem overwhelming. Some clients have a lot of options. Don't worry, we only need to set a couple of them. The first is the trigger Name or Label. This is something short to tell you at a glance which trigger it is if you happen to have more than one. Some clients limit you to a single word, so timestamp is a good suggestion for this one. If you want something more descriptive but the client wont let you use spaces, try using underscores: my_timestamp_trigger

In order for this trigger to DO something, it needs to actually match some of the text coming from the game. That's what triggers do, when they match text coming from the game, they trigger other things (hence the name). Our Trigger or Pattern looks like this:

^\[timestamp\] .*$

Look familiar? We saw it already. I suggest copy and pasting it, because all those special characters are there for a reason and missing one or getting them out of order will prevent it from working. Plus, I don't know about you, but I'm lazy. Copy and paste is much easier than typing all that smile

Lastly, we need to set our trigger options. The three important ones we need are:
  • Omit from output - This is what keeps the timestamp from displaying
  • Omit from log output - Optional, but recommended unless you KNOW you want your log files full of timestamps
  • Enabled - Odds are good this will be checked by default (if it's there at all)

Now just click OK or Save or Close or what have you until you're back at the main game screen. You're all done!

Those are the bare-bones, generic instructions that should work for many clients. Every client is different, so some experimentation may be required.

Good Luck!

-- SolarQBFreak - 22 May 2017

This topic: SluggyMARE > KeepaliveTimestamp
Topic revision: 22 May 2017, SolarQBFreak
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WikiMARE? Send feedback