Термінальний сервер (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, не в чаті. |

