Терминальный сервер (Windows Server + RDS, RDP-сессии) — особый случай: клиент устанавливается на машину один раз, а работают в нём десятки пользователей одновременно, каждый в своей сессии. Эта инструкция показывает, куда ставить сервер, как установить клиент сразу для всех пользователей, как сделать саморегистрацию и автозапуск, сколько ресурсов закладывать и как обновлять такую инсталляцию.
Если сервер MyChat планируется держать на Linux — смотрите установку MyChat Server на Linux-хост. Терминальная часть этой инструкции от платформы сервера не зависит.
1 Схема: что и где стоит
В MyChat две независимые части, и на терминальном сервере их обычно разносят:
| Компонент | Где стоит |
|---|---|
| MyChat Server | Отдельная машина или виртуалка (служба Windows либо Linux/Docker). Можно и на самом терминале, но тогда сервер конкурирует за ресурсы с сессиями пользователей. |
| MyChat Client | Одна копия в Program Files терминального сервера. Все RDP-сессии запускают один и тот же mcclient.exe. |
| Данные пользователя | В профиле каждого пользователя: %LOCALAPPDATA%\MyChat Client\ — настройки, история, кэш. Создаётся автоматически при первом запуске. |
Клиент — нативное Win32-приложение, без .NET и без отдельной «службы на пользователя».
Одна сессия — один процесс mcclient.exe со своим профилем.
C:\Program Files (x86)\MyChat Client), иначе каждый профиль получит
свою копию программы, и обновлять придётся каждую отдельно.
2 Установка сервера
Сервер ставится обычным образом, терминальной специфики у него нет. Но на терминале его нужно запускать системной службой Windows, а не программой в RDP-сессии администратора: иначе работа сервера зависит от этой сессии.
- запустите инсталлятор сервера на выбранной машине;
- если сервер уже работает как обычная программа — отключите его автозапуск в настройках и завершите работу;
- установите службу и запустите её (от имени администратора):
"C:\Program Files (x86)\MyChat Server\SystemService\service_install.cmd" "C:\Program Files (x86)\MyChat Server\SystemService\service_start.cmd"
- в свойствах службы задайте тип запуска «Автоматически (отложенный запуск)»;
- откройте веб-админку по адресу
http://<IP-сервера>и задайте администратора, домен, HTTPS.
Порты, которые должны быть доступны с терминального сервера:
| Порт | Назначение |
|---|---|
2004 TCP | подключение клиентов — обязательно |
80 / 443 TCP | веб-чат, веб-админка и вся передача файлов. Порт задаёт администратор, по умолчанию 80 |
UDP 49000–50000, 8888 | TURN — аудио/видеозвонки и конференции |
3 Установка клиента на терминальный сервер
Устанавливайте под учётной записью администратора, один раз на всю машину:
- переведите сервер в режим установки программ:
change user /install
- запустите инсталлятор клиента, в поле каталога оставьте
C:\Program Files (x86)\MyChat Client; - верните обычный режим:
change user /execute
Ярлык запуска кладите в общие каталоги, чтобы он появился у всех пользователей:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ # меню «Пуск» для всех C:\Users\Public\Desktop\ # рабочий стол для всех
При первом запуске клиент сам создаёт каталог данных текущего пользователя:
C:\Users\<USER>\AppData\Local\MyChat Client\
4 Автозапуск и саморегистрация пользователей
Чтобы не заводить учётные записи вручную и не раздавать пароли, запускайте клиент с параметрами саморегистрации. Добавьте эту строку в автозагрузку сессии:
"C:\Program Files (x86)\MyChat Client\mcclient.exe" /auto -server:"192.168.1.50" -randompassword
Значения параметров пишутся через двоеточие, сами параметры разделяются пробелами.
| Параметр | Что делает |
|---|---|
/auto | регистрирует пользователя под его именем в Windows и сразу подключает к серверу |
-server:"IP" | адрес сервера MyChat — обязательный параметр |
-port:2004 | TCP-порт сервера; нужен, только если он нестандартный (минимум 1024) |
-randompassword | генерирует случайный 16-символьный пароль — пользователь его не видит и не вводит |
-servpass:"x123" | пароль доступа к серверу, если он включён |
Куда прописать строку — на выбор:
- ярлык с этими параметрами в
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\— самое простое; - групповая политика: Конфигурация пользователя → Политики → Конфигурация Windows → Сценарии → Вход в систему.
Чтобы /auto сработал, на сервере должна быть разрешена регистрация новых
пользователей.
/auto и прозрачная доменная авторизация Active Directory — взаимоисключающие.
Если пользователи импортированы из AD и данные сервера раздаются через реестр/GPO, клиент
запускают без ключей: "C:\Program Files (x86)\MyChat Client\mcclient.exe".
5 Единые настройки для всех сессий
На терминале важно, чтобы все клиенты вели себя одинаково — особенно в части приёма файлов. Делается это на сервере, а не в каждой сессии:
- в админке сервера откройте Инструменты → Шаблоны настроек клиентов;
- создайте шаблон для терминальных пользователей: режим приёма файлов, каталог загрузок, звуки, автозапуск, оформление;
- назначьте шаблон группе пользователей (например, Гости).
Шаблон действует и на уже созданных пользователей группы, и на всех новых — донастраивать каждую сессию отдельно не нужно.
6 Сколько ресурсов закладывать
MyChat Client — нативный Win32 без .NET, в покое держит около 40 МБ оперативной памяти на сессию. Это заметно меньше Skype или Viber, поэтому клиент нормально живёт на терминалах с ограниченной памятью.
| Одновременных сессий | RAM только под клиенты | Примечание |
|---|---|---|
| 10 | ≈ 0.4 ГБ | ориентир, без учёта ОС и остальных программ |
| 25 | ≈ 1 ГБ | — |
| 50 | ≈ 2 ГБ | — |
| 100 | ≈ 4 ГБ | сервер MyChat лучше вынести на отдельную машину |
Значение растёт при активной переписке с картинками и открытых историях — закладывайте запас 30–50%.
7 Веб-чат вместо программы
Клиент можно вообще не устанавливать: у MyChat есть полноценный веб-чат. Пользователь открывает в браузере
http://<IP-сервера>
и работает в том же чате — с группами, файлами, каналами и конференциями.
| Вариант | Плюсы | Минусы |
|---|---|---|
| Программа | уведомления, горячие клавиши, снимки экрана, полная интеграция с ОС | память на каждую сессию, обновление руками |
| Веб-чат | ничего не устанавливать, обновляется вместе с сервером | работает только пока открыта вкладка браузера |
8 Обновление
Обновление идёт в два этапа, именно в таком порядке:
- Сервер. Остановите службу сервера, установите новую версию поверх старой, запустите.
- Клиент. На терминальном сервере обновляется одна копия программы — под администратором, поверх имеющейся установки.
Перед обновлением клиента нужно закрыть все запущенные mcclient.exe —
файл программы занят, пока его держит хотя бы одна сессия:
change user /install taskkill /IM mcclient.exe /F # закрыть клиенты во всех сессиях ... установка новой версии ... change user /execute
Сами RDP-сессии пользователей при этом не завершаются — закрывается только чат. После установки он поднимается снова из автозагрузки при следующем входе либо запускается ярлыком вручную.
Program Files не сможет, и каждая сессия будет только зря
спрашивать про обновление.
9 Типичные грабли RDP
| Симптом | Причина и что делать |
|---|---|
| Не работает буфер обмена, не вставляется снимок экрана | в RDP-подключении отключено перенаправление буфера. Включите его в клиенте RDP или в политике RDS. |
| Нет звука уведомлений | не перенаправлено воспроизведение звука в сессию: RDP → Локальные ресурсы → Воспроизводить на этом компьютере. |
| Не работает микрофон в звонках | нужно перенаправление записи звука в RDP-сессию. Без него аудио/видеозвонки из терминальной сессии невозможны. |
| Второй вход «выбрасывает» первого | несколько человек под одной учётной записью MyChat. Заведите персональные аккаунты (см. шаг 4). |
| Файлы пропадают после выхода | сессия работает с временным профилем. Лечится на уровне RDS, не в чате. |

