Руководство по администрированию сервера
Оглавление
- Нужно ли мне запускать сервер?
- Требования
- Установка
- Режимы сервера
- Параметры конфигурации
- Запись
- Добавление метаданных на сервер
- Серверы на рабочем столе
- Резервное копирование сервера
- Устранение неполадок
Нужно ли мне запускать сервер?
Нет. Вам не нужно запускать сервер. Вы можете использовать серверы, перечисленные во встроенных каталогах, и пользоваться Jamulus без запуска сервера. Вы также можете использовать сервер, не внесенный в список, если знаете его интернет-адрес. Или вы можете воспользоваться услугами стороннего хостинга, например melomax . Вероятно, поблизости есть сервер, который вы и ваши друзья сможете использовать с достаточно низкой задержкой для большинства нужд.
Использование публичного сервера может познакомить вас с незнакомцами. Если вы хотите провести сессию без помех, воспользуйтесь техникой солирования, описанной на странице Советы и приемы. Вы не будете слышать незнакомцев, подключившихся к серверу, но они могут услышать вас, если захотят.
Требования
Скорость и Задержка
Возможности самого сервера (и сети, в которой он находится) НЕ являются основным фактором, определяющим качество сессии Jamulus!
Обычно проблемы возникают на стороне клиента и должны быть устранены там. При необходимости загляните на страницу Устранение неполадок.
Однако при настройке серверов могут возникнуть различные проблемы - особенно если они работают на домашнем соединении с низкой пропускной способностью. Обычно при низкоскоростном домашнем соединении (например, 10 Мбит/с вниз и 1 Мбит/с вверх) количество игроков не превышает 5. Подробнее о требованиях к сети вы можете прочитать в разделе различные настройки качества здесь.
Если у вас возникли проблемы, используйте облачный хостинг, а не домашнее интернет-соединение, чтобы увеличить время пинга.
Общие замечания
- Любой сервер должен иметь частоту процессора не менее 1,6 ГГц и 1 ГБ ОЗУ
- Запуск сервера может потребовать от вас настройки брандмауэров, работающих на вашем компьютере или облачном хосте.
- Чтобы запустить Незарегистрированный сервер дома, необходимо настроить проброс портов на маршрутизаторе. В большинстве случаев при работе Зарегистрированного сервера это не требуется. Однако некоторые домашние сети могут потребовать переадресации портов для Зарегистрированного сервера.
- Jamulus предлагает ограниченную поддержку IPv6, которую можно включить для клиента или сервера из командной строки.
Установка
Большинство людей запускают Jamulus на стороннем/облачном хосте в качестве “безголового” сервера (без видеодисплея и клавиатуры) на аппаратном обеспечении без звука под управлением Linux. Вы также можете запустить сервер в настольной среде.
Примечание Следующие шаги приведут к запуску “Незарегистрированного” сервера. Для получения дополнительной информации см. раздел Режимы сервера ниже.
Чтобы запустить headless-сервер в Linux, следующие шаги предполагают, что вы знакомы с командной строкой и Debian/Ubuntu или аналогичным дистрибутивом, использующим systemd.
Загрузите установочный скрипт:
curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.shСделайте скрипт исполняемым:
chmod +x setup_repo.shЗапустите скрипт и установите headless-сервер:
sudo ./setup_repo.sh && sudo apt install jamulus-headlessВключите процесс Headless Server:
sudo systemctl enable jamulus-headlessДобавьте желаемые параметры командной строки в строку
ExecStartв файле службы systemd:sudo systemctl edit --full jamulus-headlessПерезагрузите файлы systemd и перезапустите headless Server:
sudo systemctl daemon-reload && sudo systemctl restart jamulus-headless
Чтобы изменить конфигурацию сервера, просто повторите два последних шага.
Режимы сервера
Серверы могут работать в одном из трех режимов (дома или на стороннем хосте), в зависимости от ваших потребностей.
Незарегистрированный режим
Это значение используется по умолчанию при первом запуске сервера. Незарегистрированные серверы не отображаются в каталогах, поэтому подключиться к ним могут только те музыканты, которые знают адрес вашего сервера.
Для получения информации о запуске незарегистрированного сервера см. это руководство.

Зарегистрированный режим
В этом режиме ваш сервер будет отображаться в списке серверов, предоставленном директорией. Клиенты Jamulus поставляются со встроенным списком директорий. Если вы зарегистрируете свой сервер в одном из них, любой сможет обнаружить его и подключиться к нему.
Кроме того, вы можете внести свой сервер в список пользовательских каталогов (см. ниже). Клиенты смогут найти ваш сервер, только если введут интернет-адрес пользовательского каталога.
Обратите внимание, что в каталогах может быть зарегистрировано не более 150 серверов. Если вы видите сообщение о том, что вы не можете зарегистрировать свой сервер, потому что каталог переполнен, вы можете попробовать зарегистрироваться в другом каталоге.

Режим каталога
Если вы хотите запустить несколько серверов, возможно, за брандмауэром или в локальной сети, вам может понадобиться сервер в виде каталога. В качестве примера можно привести онлайновые мероприятия, музыкальные ассоциации, секционные репетиции или уроки музыки в школах.
Для получения информации см. руководство по каталогам.
Параметры конфигурации
В зависимости от операционной системы и способа работы сервера вы можете установить параметры сервера и сделать их постоянными между перезагрузками, выполнив следующие действия:
Для Linux headless (Debian/Ubuntu using systemd)
Добавьте нужные вам параметры командной строки в строку ExecStart в служебном файле systemd, выполнив команду sudo systemctl edit --full jamulus-headless (Чтобы изменения вступили в силу, вам потребуется перезагрузка или перезапуск. См. раздел Установка).
Для графического интерфейса (все платформы)
Все настройки, сделанные с помощью графического интерфейса, будут сохранены в файле Jamulusserver.ini. (**Не **редактируйте этот файл вручную!) Однако некоторые параметры недоступны в графическом интерфейсе и должны быть установлены с помощью командной строки. Для получения дополнительной информации смотрите раздел Серверы на рабочем столе.
Минимальная настройка для работы в режиме регистрации
Вы можете запустить безголовый сервер в Linux с помощью systemd (с systemctl), о чем мы расскажем в других разделах. Вы также можете запустить сервер непосредственно из командной строки. Введите следующую команду, чтобы запустить зарегистрированный сервер:
jamulus-headless --nogui --server \
--directoryaddress hostname:port \
--serverinfo "[имя];[город];[страна как двухбуквенный код страны ISO или Qt5 Locale]"
Значения имя хоста:порт приведены в таблице ниже.
Примечание: В аргументах [name] и [city] в аргументе --serverinfo не допускаются символы точки с запятой и новой строки. Дополнительные сведения о коде страны см. в разделе Опции, связанные с режимом сервера.
Параметры, связанные с режимом сервера
-e or --directoryaddress
Требуется для Зарегистрированного сервера. Также требуется для запуска Jamulus в качестве Директории.
Этот параметр имеет формат:
--directoryaddress hostname:port, где hostname - имя хоста Genre Directory, а port - номер его порта.
Чтобы зарегистрироваться в одном из каталогов, встроенных в Jamulus Client, замените hostname:port одним из следующих параметров:
| Жанр | hostname:port |
|---|---|
| Any Genre 1 | anygenre1.jamulus.io:22124 |
| Any Genre 2 | anygenre2.jamulus.io:22224 |
| Any Genre 3 | anygenre3.jamulus.io:22624 |
| Genre Rock | rock.jamulus.io:22424 |
| Genre Jazz | jazz.jamulus.io:22324 |
| Genre Classical/Folk | classical.jamulus.io:22524 |
| Genre Choral/Barbershop | choral.jamulus.io:22724 |
Recent versions of Jamulus support DNS SRV records (“service” records) for automatically finding the port number to use to connect to a Directory or Server. This allows just the hostname to be specified, without the port number. See this page for details and applicable version numbers.
-o or --serverinfo
При регистрации сервера в каталоге это позволяет указать имя сервера и данные о его местоположении, чтобы пользователи могли искать эти значения в своем клиенте.
Этот параметр имеет формат:
[имя];[город];[страна в виде двухбуквенного кода страны ISO]
См. двухбуквенные коды стран ISO
Примечание: В значениях name и city не допускаются символы точки с запятой и новой строки.
-L или --licence
Показывает окно соглашения перед тем, как пользователи смогут подключиться. Текст соглашения, которое будет показано, должен быть предоставлен в качестве --welcomemessage (см. ниже).
-w или --welcomemessage
Приветственное сообщение, отображаемое в окне чата клиента при подключении. Может быть задано в виде строки или имени файла и может содержать HTML. Если используется путь, файл должен быть доступен учетной записи пользователя, под которым запущен Jamulus. (В большинстве Linux по умолчанию используется пользователь jamulus.) Если доступа к файлу нет, будет показан буквальный путь (а не его содержимое).
--serverpublicip
Публичный IP-адрес сервера при подключении к каталогу за тем же NAT. Дополнительную информацию см. в руководстве по справочникам.
--directoryfile
Только каталоги: Помните зарегистрированные серверы даже при перезапуске каталога. Дополнительную информацию см. в руководстве по каталогам.
-f или--listfilter
_ Только каталоги:_ Укажите, какие серверы могут регистрироваться на сервере каталогов. Дополнительную информацию см. в руководстве по каталогам.
Общие параметры сервера
Эти параметры можно использовать независимо от того, в каком режиме работает ваш сервер (хотя некоторые из них могут быть неактуальны для каталогов).
-d или --discononquit
Обычно, когда сервер останавливается или перезапускается, все клиенты, не нажавшие кнопку Disconnect, автоматически восстанавливают соединение, когда сервер возвращается. Эта опция заставляет клиентов вручную восстанавливать свои соединения с сервером в этом случае.
-F или --fastupdate
Уменьшает задержку, если клиенты подключаются с опцией Small Network Buffers. Требуется более быстрый процессор, чтобы избежать выпадений, и большая пропускная способность для включенных клиентов.
-l или --log
Включить ведение журнала, задать путь и имя файла
-P или --delaypan
Запустите панорамирование с включенной задержкой. Эта опция использует небольшую разницу во времени поступления звука в два уха. Это создает стереоэффект, похожий на естественный человеческий слух, по сравнению с обычным “громким” панорамированием.
-s или --server
Запустите Jamulus в режиме сервера
--serverbindip
Укажите IP-адрес, к которому будет привязан процесс Jamulus.
Обычно Jamulus прослушивает все IP-адреса хост-машины. Если хост имеет несколько сетевых адресов, эта опция позволяет выбрать один из них.
-T или --multithreading
Использовать многопоточность, чтобы лучше использовать многоядерные процессоры. Эта настройка может помочь серверу поддерживать больше клиентов. См. также --numchannels
-u или --numchannels
Макс. кол-во каналов (Клиенты)
-z или --startminimized
Запустите графический интерфейс пользователя Jamulus Server в свернутом состоянии окна.
Другие варианты
-hили--helpОтображение текста справки-iили--inifileУстанавливает расположение файла инициализации (переопределяет значение по умолчанию. На macOS достаточно указать только имя файла, так как файлы конфигурации могут быть прочитаны только из/Users/<username>/Library/Containers/app.jamulussoftware.Jamulus/Data/. Для сервера заменитеapp.jamulussoftware.Jamulusнаapp.jamulussoftware.JamulusServer. Включите “Показывать папку библиотеки” в “Показать параметры просмотра” в Finder, чтобы увидеть эту папку.)-nили--noguiОтключить графический интерфейс (для использования в безголовом режиме)-pили--portЗадает номер локального UDP-порта. (По умолчанию: 22124)--jsonrpcportПозволяет серверу JSON-RPC API управлять приложением, задайте номер TCP-порта (ЭКСПЕРИМЕНТАЛЬНО, API может измениться; доступен только с localhost). Пожалуйста, смотрите файл документации JSON-RPC API.--jsonrpcsecretfileТребуется при использовании--jsonrpcport. Задает путь к текстовому файлу, содержащему строку аутентификации для получения доступа к JSON-RPC API.--jsonrpcbindipIP-адрес, к которому должен привязаться сервер JSON-RPC. (необязательно, по умолчанию 127.0.0.1)-Qили--qosЗадает байт поля DS качества обслуживания. По умолчанию 128 (DSCP/CS4). QoS игнорируется Windows. Чтобы включить его, см. эту страницу-tили--notranslationОтключить перевод языка пользовательского интерфейса-6или--enableipv6Включение IPv6-адресации (IPv4 всегда включен)-vили--versionВывод информации о версии и выход
Управление сервером через API
Jamulus можно управлять с помощью экспериментального API, который может быть изменен. Вы можете найти JSON-RPC API, задокументированный в основном репозитории. JSON-RPC позволяет управлять некоторыми функциями, такими как изменение приветственного сообщения или запуск записи в режиме headless, из аутентифицированных внешних приложений. Он работает во время работы сервера.
Запись
-R или --recording
Установите каталог записи сервера (По умолчанию сервер будет вести запись, когда сессия активна).
Примечание: Вам нужно будет сохранять записи по пути, находящемуся вне домашнего каталога jamulus, или удалить ProtectHome=true из файла блока systemd, но имейте в виду, что это может быть риском для безопасности.
Записи представлены по трекам в формате Audacity.lof и REAPER.rpp. Откройте соответствующие файлы, чтобы прослушать их в этих приложениях.
Примечание: Когда ваш сервер ведет запись, клиенты отображают красный баннер с сообщением о том, что сессия записывается.
--norecord
Настройте сервер не записывать по умолчанию, если запись настроена.
Управление записью
Запись начинается, как только первый человек подключается к серверу, и прекращается, когда последний человек уходит.
Если во время записи сервер получит сигнал SIGUSR1, он начнет новую запись в новую директорию. Сигнал SIGUSR2 включит/выключит запись. Если JSON-RPC включен, вы также сможете управлять сервером способом, сравнимым с графическим интерфейсом. Пожалуйста, ознакомьтесь с (экспериментальной) JSON-RPC документацией по рекордеру.
Чтобы отправить эти сигналы с помощью systemd, создайте следующие два файла .service в /etc/systemd/system, назвав их как-нибудь подходяще (например, jamulusTogglerec.service).
Чтобы включить или выключить запись (в зависимости от текущего состояния):
[Unit]
Описание= Переключение состояния записи на сервере Jamulus Server
Реквизит=Jamulus-Server
[Сервис]
Тип=oneshot
ExecStart=/bin/systemctl kill -s SIGUSR2 jamulus-headless
Чтобы начать новую запись:
[Unit]
Описание=Начать новую запись на сервере Jamulus Server
Requisite=Jamulus-Server
[Сервис]
Type=oneshot
ExecStart=/bin/systemctl kill -s SIGUSR1 jamulus-headless
Примечание: Имя службы Jamulus в строке ExecStart должно совпадать с именем файла .service, используемого systemd для управления вашим сервером Jamulus. По умолчанию, если вы используете файлы .deb из репозитория, это jamulus-headless, как в этом примере.
Запустите sudo systemctl daemon-reload, чтобы зарегистрировать их для первого использования.
Теперь вы можете запустить их, например, с помощью команды systemctl:
sudo systemctl start jamulusTogglerec
Вы можете увидеть результат выполнения этих команд, если запустите команду systemctl status jamulus-headless (или соответствующее имя службы, которое вы указали вручную). Вы также можете просмотреть свой (sys)log.
Добавление метаданных на сервер
Вы можете добавить метаданные в приветственное сообщение сервера, чтобы добавить дополнительную, скрытую информацию, например контактную информацию или запросы политики для ботов (это сравнимо с robots.txt). Дополнительную информацию см. в Записи базы знаний сообщества о метаданных.
Серверы на рабочем столе
Jamulus может работать в режиме сервера в графической среде компьютера. Это дает вам графический пользовательский интерфейс для управления большинством настроек. Для этого сначала установите Jamulus для вашей платформы, а затем выполните одно из следующих действий:
Пользователи Windows - Используйте значок “Jamulus Server” в меню “Пуск” Windows. Если вы хотите, чтобы сервер запускался автоматически при запуске Windows, установите флажок для этой опции.
пользователи macOS - Дважды щелкните значок “Jamulus Server” в разделе Приложения.
Пользователи Linux - Запустите ярлык “Jamulus Server”. Или вы можете открыть окно терминала (
CTRL+ALT+tв Debian и смежных дистрибутивах), ввестиjamulus -sи нажать return.
Хотя большинство функций Jamulus можно настроить с помощью графического интерфейса, другие могут быть установлены только с помощью опций, задаваемых в окне терминала при запуске сервера. Как именно это сделать, зависит от вашей ОС.
Например, в Windows, чтобы использовать определенный файл настроек, щелкните правой кнопкой мыши на ярлыке Jamulus и выберите Свойства > Цель. Добавьте необходимые аргументы в Jamulus.exe:
"C:\Program Files\Jamulus\Jamulus.exe" --serverbindip 192.168.0.100
Для macOS откройте окно Terminal и запустите Jamulus с нужными параметрами, как показано ниже:
/Applications/Jamulus.app/Contents/MacOS/Jamulus --serverbindip 192.168.0.100
Примечание Параметры командной строки устанавливают настройки сервера по умолчанию при запуске. Вы можете отменить их во время работы сервера, используя соответствующие элементы управления графического интерфейса.
Иконка состояния сервера
Когда сервер работает в режиме GUI, ОС отображает значок в системном трее или области состояния, который показывает, есть ли у сервера подключения:

Сервер пуст

Сервер занят
Резервное копирование сервера
После установки и запуска вы можете захотеть сохранить копию своих настроек. Наличие резервной копии - всегда хорошая идея, а файлы настроек не имеют обратной совместимости между версиями Jamulus. Поэтому, если вы захотите вернуться к предыдущей версии, вам придется восстановить прежние настройки.
Чтобы найти файл настроек в Windows, введите %APPDATA% в строку поиска и найдите папку с названием Jamulus. В этой папке будет один или несколько файлов .ini. Теперь создайте резервную копию настроек Jamulus.
Для всех остальных платформ выполните следующую команду из командной строки, чтобы найти их местоположение и скопировать файлы в другое место:
find ~ -name Jamulus.ini -ls
Если вы использовали параметр --inifile для сохранения inifile в другом месте, не забудьте также сделать резервную копию этих файлов. Примечания
- Не создавайте резервные копии и не восстанавливайте файлы настроек во время работы Jamulus.
- Не рекомендуется вручную редактировать файлы настроек (они для этого не предназначены).
Вы можете вернуть все настройки к значениям по умолчанию, просто удалив файл настроек (после закрытия Jamulus).
- Серверы Headless не используют файлы
.ini. Вся конфигурация задается в виде опций командной строки. Если вы запускаете сервер в режиме GUI, то после считывания любых параметров командной строки при запуске, он сохранит свою конфигурацию в файлеJamulusserver.ini.
Устранение неполадок
Если у вас возникли другие проблемы, см. это руководство.