Chat for the terminal server

The main idea is simple: you need to launch a corporate chat for users to use it in terminal sessions. Physically, they work on the same Windows server.

The author of this article has witnessed a lot of disaster cases like launching Skype program in user sessions or attempts to work with OpenFire and his Spark XMPP client that consumes a lot of memory. Or serverless programs like Vypress that can't work reliably in terminal sessions at all.

Let's determine four main requirements for the chat that works in a terminal environment:

  1. Easy installation
  2. Minimal RAM usage
  3. Chat clients must not interfere with each other
  4. Simple update

The article represents the last version of MyChat corporate messenger from July 7, 2018.

1. Easy installation

MyChat Server is standardly installed, without any tricks. You can launch it as a regular application or service. Install MyChat on the termianl server, on any other computer or virtual machine — wherever you want.

Next, launch MyChat Client setup file on the terminal server. During the process of installation, when the program will ask you where to install the application, choose "Program Files":

Choose the folder for MyChat Client installation

Ok, the program installation completed, now you need register users and give them access to the chat server.

You can quickly do that by adding the following line to AutoRun components on user computers:

"C:\Program Files (x86)\MyChat Client\mcclient.exe" /auto -server "" -randompassword

Description of the /auto key in Help

By doing this you immediately give the server address to all users and register them on MyChat Server under the Windows username and randomly generated password. The MyChat application will be automatically connected to the server right after the entering the terminal session — you do not need to enter any additional information.

2. Minimal RAM usage

MyChat Client for Windows — is a classic win32 application that does not require .NET and works reliably on old operating systems (such as Windows XP) that are still actively used.

Since the physical memory of the terminal server is limited, an administrator has to know approximately what programs are going to work to calculate the consumed RAM for each person.

Corporate messenger — is not the main program there are a lot of other office applications. But the chat will work all the time on the background — the memory consumption must be minimal.

On the following screenshot you see the regular situation of casual Windows user on Windows 8:

Memory consumption by Skype, Viber, MyChat in Windows Task Manager

58 megabytes — is quite bearable, compared with Skype, Viber, and other similar Internet messengers. Do not forget, that MyChat – is an office messenger that can work without the Internet, only in your network.

3. Chat clients must not interfere with each other

You should configure the file transfer system by default, to let users exchange documents within the terminal server environment. It can be easily done in the server Admin panel to avoid the individual configuration for each user.

Go to the Admin panel, the "Tools" section, "Clients configuration templates" and make a new template:

Creating a new template for terminal server files in the MyChat Server Admin panel

Then set this "terminal-files" for rights group where you keep all registered users. I have it in "Guests":

Setting the rights group for terminal server files in the MyChat Admin panel

Now all existing and future users will get the rights settings to work in terminal sessions. Basically you can add something more to the template if you need — this tool is very flexible.

4. Simple update

Update for a new version is performed in two stages: first, turn off MyChat Server, update it on top of the previous version, then update MyChat Client on the server (also on top of the previous version). All history and settings are saved. You can update the program by passing versions, for example, from 5.0 to 7.0 avoiding all intermediate versions.

But here is one problem. How to shut down all user MyChat application copies without finishing heir terminal sessions?

We have the solution for this — special script for shutting down and exiting all MyChat Client applications from the server. It should be done before MyChat Server update.

Official Help for updating MyChat messenger on the terminal server.

Служба поддержки