Jamulus Icon. Ссылки на домашнюю страницу
Открытая навигация

Руководство по администрированию сервера

Оглавление

Нужно ли мне запускать сервер?

Нет. Вам не нужно запускать сервер. Вы можете использовать серверы, перечисленные во встроенных каталогах, и пользоваться Jamulus без запуска сервера. Вы также можете использовать сервер, не внесенный в список, если знаете его интернет-адрес. Или вы можете воспользоваться услугами стороннего хостинга, например melomax . Вероятно, поблизости есть сервер, который вы и ваши друзья сможете использовать с достаточно низкой задержкой для большинства нужд.

Использование публичного сервера может познакомить вас с незнакомцами. Если вы хотите провести сессию без помех, воспользуйтесь техникой солирования, описанной на странице Советы и приемы. Вы не будете слышать незнакомцев, подключившихся к серверу, но они могут услышать вас, если захотят.


Требования

Скорость и Задержка

Возможности самого сервера (и сети, в которой он находится) НЕ являются основным фактором, определяющим качество сессии Jamulus!

Обычно проблемы возникают на стороне клиента и должны быть устранены там. При необходимости загляните на страницу Устранение неполадок.

Однако при настройке серверов могут возникнуть различные проблемы - особенно если они работают на домашнем соединении с низкой пропускной способностью. Обычно при низкоскоростном домашнем соединении (например, 10 Мбит/с вниз и 1 Мбит/с вверх) количество игроков не превышает 5. Подробнее о требованиях к сети вы можете прочитать в разделе различные настройки качества здесь.

Если у вас возникли проблемы, используйте облачный хостинг, а не домашнее интернет-соединение, чтобы увеличить время пинга.

Общие замечания

  • Любой сервер должен иметь частоту процессора не менее 1,6 ГГц и 1 ГБ ОЗУ
  • Запуск сервера может потребовать от вас настройки брандмауэров, работающих на вашем компьютере или облачном хосте.
  • Чтобы запустить Незарегистрированный сервер дома, необходимо настроить проброс портов на маршрутизаторе. В большинстве случаев при работе Зарегистрированного сервера это не требуется. Однако некоторые домашние сети могут потребовать переадресации портов для Зарегистрированного сервера.
  • Jamulus предлагает ограниченную поддержку IPv6, которую можно включить для клиента или сервера из командной строки.

Установка

Большинство людей запускают Jamulus на стороннем/облачном хосте в качестве “безголового” сервера (без видеодисплея и клавиатуры) на аппаратном обеспечении без звука под управлением Linux. Вы также можете запустить сервер в настольной среде.


Примечание Следующие шаги приведут к запуску “Незарегистрированного” сервера. Для получения дополнительной информации см. раздел Режимы сервера ниже.


Чтобы запустить headless-сервер в Linux, следующие шаги предполагают, что вы знакомы с командной строкой и Debian/Ubuntu или аналогичным дистрибутивом, использующим systemd.

  1. Загрузите установочный скрипт:

     curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.sh
    
  2. Сделайте скрипт исполняемым:

     chmod +x setup_repo.sh
    
  3. Запустите скрипт и установите headless-сервер:

     sudo ./setup_repo.sh && sudo apt install jamulus-headless
    
  4. Включите процесс Headless Server:

     sudo systemctl enable jamulus-headless
    
  5. Добавьте желаемые параметры командной строки в строку ExecStart в файле службы systemd:

     sudo systemctl edit --full jamulus-headless
    
  6. Перезагрузите файлы systemd и перезапустите headless Server:

     sudo systemctl daemon-reload && sudo systemctl restart jamulus-headless
    

Чтобы изменить конфигурацию сервера, просто повторите два последних шага.


Режимы сервера

Серверы могут работать в одном из трех режимов (дома или на стороннем хосте), в зависимости от ваших потребностей.

Незарегистрированный режим

Это значение используется по умолчанию при первом запуске сервера. Незарегистрированные серверы не отображаются в каталогах, поэтому подключиться к ним могут только те музыканты, которые знают адрес вашего сервера.

Для получения информации о запуске незарегистрированного сервера см. это руководство.

Диаграмма соединений между клиентами в рамках незарегистрированного сервера Jamulus

Зарегистрированный режим

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

Кроме того, вы можете внести свой сервер в список пользовательских каталогов (см. ниже). Клиенты смогут найти ваш сервер, только если введут интернет-адрес пользовательского каталога.

Обратите внимание, что в каталогах может быть зарегистрировано не более 150 серверов. Если вы видите сообщение о том, что вы не можете зарегистрировать свой сервер, потому что каталог переполнен, вы можете попробовать зарегистрироваться в другом каталоге.

Диаграмма соединений между клиентами в пределах зарегистрированного сервера Jamulus

Режим каталога

Если вы хотите запустить несколько серверов, возможно, за брандмауэром или в локальной сети, вам может понадобиться сервер в виде каталога. В качестве примера можно привести онлайновые мероприятия, музыкальные ассоциации, секционные репетиции или уроки музыки в школах.

Для получения информации см. руководство по каталогам.


Параметры конфигурации

В зависимости от операционной системы и способа работы сервера вы можете установить параметры сервера и сделать их постоянными между перезагрузками, выполнив следующие действия:

Для 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 1anygenre1.jamulus.io:22124
Any Genre 2anygenre2.jamulus.io:22224
Any Genre 3anygenre3.jamulus.io:22624
Genre Rockrock.jamulus.io:22424
Genre Jazzjazz.jamulus.io:22324
Genre Classical/Folkclassical.jamulus.io:22524
Genre Choral/Barbershopchoral.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.
  • --jsonrpcbindip IP-адрес, к которому должен привязаться сервер 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, ОС отображает значок в системном трее или области состояния, который показывает, есть ли у сервера подключения:

Image of the Jamulus Server icon

Сервер пуст

Image of the Jamulus Server icon

Сервер занят


Резервное копирование сервера

После установки и запуска вы можете захотеть сохранить копию своих настроек. Наличие резервной копии - всегда хорошая идея, а файлы настроек не имеют обратной совместимости между версиями Jamulus. Поэтому, если вы захотите вернуться к предыдущей версии, вам придется восстановить прежние настройки.

Чтобы найти файл настроек в Windows, введите %APPDATA% в строку поиска и найдите папку с названием Jamulus. В этой папке будет один или несколько файлов .ini. Теперь создайте резервную копию настроек Jamulus.

Для всех остальных платформ выполните следующую команду из командной строки, чтобы найти их местоположение и скопировать файлы в другое место:

find ~ -name Jamulus.ini -ls

Если вы использовали параметр --inifile для сохранения inifile в другом месте, не забудьте также сделать резервную копию этих файлов. Примечания

  • Не создавайте резервные копии и не восстанавливайте файлы настроек во время работы Jamulus.
  • Не рекомендуется вручную редактировать файлы настроек (они для этого не предназначены).
  • Вы можете вернуть все настройки к значениям по умолчанию, просто удалив файл настроек (после закрытия Jamulus).

  • Серверы Headless не используют файлы .ini. Вся конфигурация задается в виде опций командной строки. Если вы запускаете сервер в режиме GUI, то после считывания любых параметров командной строки при запуске, он сохранит свою конфигурацию в файле Jamulusserver.ini.

Устранение неполадок

Если у вас возникли другие проблемы, см. это руководство.