TEGU Wiki: Переработка документации
Уважаемые коллеги,
Существенно переработаны следующие статьи документации:
Добавил(а) Кальметов Игорь больше 2 лет назад
Уважаемые коллеги,
Существенно переработаны следующие статьи документации:
Добавил(а) Кальметов Игорь больше 2 лет назад
Уважаемые коллеги,
Почтовый сервер Tegu обновлен до версии 1.17.26.
Рекомендую вам обратить внимание на следующие изменения:Скачать свежий дистрибутив 1.17.26 мы можете по ссылке
С уважением
Команда МБК Лаб
Добавил(а) Кальметов Игорь больше 2 лет назад
Уважаемые коллеги,
Добавил(а) Кальметов Игорь больше 2 лет назад
Лаборатория МБК объявила об отказе от дальнейшей разработки редакции сервера Tegu Advanced.
Данная версия являлась промежуточной и в настоящий момент полностью выполнила свою задачу. Поэтому Лаборатория МБК отказывается от дальнейшей разработки и поддержки версии Tegu Advanced. Пользователям, уже купившим данную редакцию, она будет бесплатно заменена на версию Tegu Enterprise.
Напоминаем, что текущая линейка почтовых серверов состоит из:
Добавил(а) Кальметов Игорь больше 3 лет назад
Добавил(а) Кальметов Игорь больше 3 лет назад
Добавил(а) Кальметов Игорь больше 3 лет назад
Лаборатория МБК обновила свой почтовый сервер до версии 1.13.1
Что нового:
Tegu – это линейка полностью отечественных современных почтовых серверов, масштабируемых от начального уровня до уровня кластеров для построения корпоративных и облачных почтовых систем.
Доступны версии для:
Добавил(а) Кальметов Игорь больше 3 лет назад
Мы будем играть в StarCraft II на обычном офисном ноутбуке (ни серьёзной видеокарты, ни мощного процессора).
Имеем:
На компьютере устанавливаем сервер SSH, если этого не было сделано ранее.
Устанавливаем драйвер для видеоадаптера, если это необходимо. Для NVIDIA необходимо установить проприетарный драйвер. Для AMD, скорее всего подойдёт имеющийся открытый.
В нашем случае мы используем открытый драйвер AMDGPU.
Устанавливаем VirtualGL из пакета для своего дистрибутива. Для дистрибутивов на базе Debian есть пакет в разделе загрузок официального сайта.
Для Gentoo Linux ebuild есть в официальном дереве portage.
Если на сервере стоит 64-битный Linux (что очень рекомендовано), то неообходимо установить VirtualGL и 64-битный, и 32-битный. Это нужно для запуска, в том числе, 32-битных 3D приложений (которыми являются многие игры Windows).
После установки запускаем скрипт конфигурации от пользователя root:
vglserver_config
Соглашаемся с параметрами по умолчанию.
Добавляем основного пользователя (например, ivanov) в группу vglusers:
usermod -a -G vglusers ivanov
В сети множество инструкций и рекомендаций с использованием сетевого режима pulseaudio, поточное вещание звука с псевдоаудиокарты через ffmpeg и т.д.
Сетевой режим PulseAudio хорош ровно до тех пор, пока у нас стабильное проводное соединение от клиента до сервера. Поточное вещание через ffmpeg имеет задержку, хоть и небольшую, но существенную, когда речь идёт о приложениях (например, играх), которые завязаны на восприятие звука.
Нам поможет roc-toolkit. Задержки с данным решением очень незначительны.
Для начала включим псевдоаудиокарты (в нашем случае 5 штук):
options snd-aloop enable=1,1,1,1,1 index=10,11,12,13,14 id=Loopback0,Loopback1,Loopback2,Loopback3,Loopback4
snd-aloop
modprobe snd-aloop
Сборка roc достаточно проста и описана на оф.сайте. Установку после сборки (этап install) мы делать не будем.
На сервере в домашнем каталоге основного пользователя (которого мы добавляли в группу vglusers) создаём каталог
.local/bin
В него копируем собранный roc-send (убеждаемся, что он исполняемый).
Устанавливаем VirtualGL из пакета для своего дистрибутива. Для дистрибутивов на базе Debian есть пакет в разделе загрузок официального сайта.
Для Gentoo Linux ebuild есть в официальном дереве portage.
Для Windows установщик есть там же.
Собираем roc так же, как и на сервере, но копируем в папку ~/.local/bin на ноутбуке roc-recv.
На каждом клиентском ноутбуке создадим ключ SSH:
ssh-keygen
На запросе пароля просто жмём Enter (т.е. пароль пустой).
После этого с каждого ноутбука устанавливаем открытую чать ключа на сервер:
ssh-copy-id ivanov@server_hostname_or_ip
На запросе пароля вводим пароль основного пользователя сервера ivanov.
Всё, теперь мы можем входить на сервер по SSH без пароля.
В рамках этой статьи мы будем играть в StarCraft II. Данное приложение есть только для ОС Windows и MacOS. Под Linux мы будем запускать StartCraft через wine.
В нашем случае мы обеспечили возможность перенаправления звука для пяти клиентов (хотя больше двух на этой конфигурации сервера не проверялось).
Для каждого пользователя необходимо будет создать свой корень wine. Устанавливать StarCraft мы будем только в один корень, а потом просто создадим копии этого корня для второго пользователя и следующих.
Для начала подключимся с ноутбука к серверу с VirtualGL:
vglconnect ivanov@server_hostname_or_ip
export WINEPREFIX="/home/ivanov/.wine_sc2_1"
wine путь/до/установщика/игры/Setup.exe
cp -a .wine_sc2_1 .wine_sc2_2
Для каждого корня StarCraft необходимо настроить вывод на отдельную псевдоаудиокарту. Экспортируя WINEPREFIX для каждого корня, запускаем конфигуратор winecfg и во вкладке Аудио выбираем устройство вывода. Для удобства мы указали в параметрах модуля snd-loop псевдонимы карт, как Loopback0, Loopback1,...
В конфигураторе winecfg будет по 2 строки для каждого псевдонима. Loopback0 будет просто "Out: Loopback", Loopback1 - "Out: 11-Loopback" и т.д.
Соответственно для первого пользователя надо выбрать один из двух вариантов Loopback, для второго - 11-Loopback, для третьего - 12-Loopback и т.д.
Для определения, какое же устройство из двух выбрать, можно воспользоваться, например, mplayer для windows.
Подключаемся в отдельном терминале к серверу через SSH:
ssh ivanov@server_hostname_or_ip
/home/ivanov/.local/bin/roc-send -s rtp+rs8m:192.168.1.101:10001 -r rs8m:192.168.1.101:10002 --rate 22050 -d alsa -i hw:Loopback0,1,0
~/.local/bin/roc-recv -s rtp+rs8m::10001 -r rs8m::10002
wine mplayer.exe /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga
На сервере в папке /home/ivanov/.local/bin создаём скрипт запуска игры vgl_sc2_1.sh следующего содержания:
#!/bin/bash
export WINEPREFIX="/home/ivanov/.wine_sc2_1"
export LANG=ru_RU.UTF-8
###
C_IP=$(echo $SSH_CLIENT | cut -f2 -d'=' | cut -f1 -d' ')
/home/ivanov/.local/bin/roc-send -s rtp+rs8m:$C_IP:10001 -r rs8m:$C_IP:10002 --rate 22050 -d alsa -i hw:Loopback0,1,0 &
ROC_PID=$(echo $!)
###
cd $WINEPREFIX/drive_c/Program\ Files\ \(x86\)/StarCraft\ II/
wine 'StarCraft II.exe'
while ps -A | grep \\.exe\\b 2>/dev/null 1>/dev/null
do
sleep 1
done
kill $ROC_PID
sleep 1
На ноутбуке в папке ~/.local/bin создаём скрипт удалённого запуска remote_sc2.sh следующего содержания:
#!/bin/bash
~/.local/bin/roc-recv -s rtp+rs8m::10001 -r rs8m::10002 &
ROC_PID=$(echo $!)
vglconnect ivanov@server_hostname_or_ip vglrun -q 30 -sample 4x /home/ivanov/.local/bin/vgl_sc2_1.sh
kill $ROC_PID
-q 30 -sample 4x
В данной статье игра StarCraft II приведена в качестве примера, т.к. здесь мы разбираем, в том числе, передачу звука без задержек.
В качестве удалённого приложения может быть любое приложение, требующее аппаратную поддержку OpenGL (например, 3D моделирование, 3D проектирование...).
На указанном стенде были запущены одновременно два экземпляра игры StarCraft II с двух разных слабых ноутбуков, подключённых к домашней сети по WiFi.
Была проведена полноценная игровая сессия в несколько боёв группой из двух игроков.
На средних настройках графики игры частота кадров в секунду (FPS) не падала ниже 50. Качество картинки вполне приемлемое. Задержки звука если и присутствовали, то человеческим ухом не улавливались.
VirtualGL незаслуженно выпал из освещения нашей IT медиасферой. Возможности, которые даёт эта технология, очень любопытны.
Добавил(а) Кальметов Игорь больше 4 лет назад
Лаборатория МБК представляет собственный полностью отечественный почтовый сервер Tegu
Почтовый сервер представляет из себя асинхронный движок на python3 (сервер SMTP, сервер IMAP, WEB панель администрирования). Список реализованных функций:
Сервер поставляется под лицензией MIT License
Добавил(а) Кальметов Игорь больше 4 лет назад
Экспортировать в Atom