This inactivity timer affects clients only. If enabled, any clients who aren't active, will be kicked after ten minutes.

Summarized, activity qualifies as non-request, non-ping messages received by a listening destination.

What is activity:


What is not activity:

  • Name set requests, even approved ones
  • Channel join/leave requests, even approved ones
  • Receiving messages from other clients or from the server
  • Any client -> channel messages sent on a channel with no other peers on it.
    (Worth noting Blue Client will quietly drop channel messages sent to a channel with no one on it.)
  • Any client -> server messages sent when triggering of server message conditions is disabled.
  • Responding to the TCP or UDP ping messages, covered under the ping timer section of the Appendix topic.


The last activity time is updated whenever activity happens, and the duration since is checked by the ping timer. If it has been 10 minutes, the user is sent a message, then disconnected, and a server-side error is generated.

The client will receive a text message directly from server on subchannel 0:

You're being kicked for inactivity.


…and the server-side error will look like:

Disconnecting client ID X due to inactivity timeout; client impl "implementation".

…which includes the client ID (Client > ID expression), and the client implementation (Client > Get client protocol implementation expression).

Notes

Some old versions of Blue/Relay did not always close their connections properly, resulting in the client app staying open invisibly in background, and if the server did not close the connection, the app would stay open indefinitely, as the clients would respond to the TCP pings but not be doing anything else.

If you won't be encountering old Client versions, then you can disable the inactivity timer property.


Client apps that are non-responsive (e.g. frozen on quit) will still be automatically disconnected if the inactivity timer is disabled, since they won't respond to the TCP pings.