杰穆鲁斯图标。链接到主页
打开导航

服务器管理手册

目录

我需要运行服务器吗?

。您可以使用内置目录列出的服务器并使用 Jamulus,而无需运行服务器或选择第三方托管服务。如果您只想要一个不受干扰的会话,请使用 提示和技巧页面上描述的独奏技术。如果您决定不能使用内置目录列出的任何服务器,您可以使用由托管的服务器(在自定义目录中注册或未注册 - 请参阅 服务器类型 第三方。这样做可以省去您自己设置的麻烦。

基本要求

虽然设置服务器并不困难,但最好阅读以下背景信息以避免一些问题:

速度和延迟

服务器本身的能力(以及它所在的网络)不是 Jamulus 会话质量的主要决定因素!

通常,问题在 Client 端,应该在那里解决。如果需要,请查看 疑难解答页面

但是,在设置服务器时也会出现各种问题——尤其是在低带宽家庭连接上运行时。在较慢的家庭连接(例如 10 Mbit/s 下行和 1 Mbit/s 上行)上拥有少于 5 个玩家通常是可以的。您可以在 这里的不同质量设置 阅读有关网络要求的更多信息。

如果您遇到问题,请考虑使用云主机而不是您的家庭互联网连接来获得更好的 ping 时间。

一般说明

  • 任何服务器都应具有至少 1.6GHz 的 CPU 频率和 1GB 的 RAM
  • 运行服务器可能需要您调整在您的机器或云主机之上或之外运行的任何防火墙。
  • 在家里运行未注册的服务器将需要您在路由器上进行 端口转发。在运行注册服务器时,在大多数情况下不需要端口转发,但建议这样做,因为某些网络在 Jamulus 的默认模式下可能无法正常工作。
  • Jamulus 只有有限的 IPv6 支持,需要在客户端和服务器上使用命令行参数启用。 (有计划扩展 IPv6 支持。)

服务器类型

您可以以不同的方式运行您的服务器(在家或在第 3 方主机上):

1.已注册

您的服务器将列在目录中。默认情况下,Jamulus 有一个客户端可以连接的内置目录列表。如果您注册其中之一,那么任何人都可以发现并连接到您的服务器。如果更符合您的需求,您还可以将您的服务器列在自定义目录中。

Jamulus 注册服务器中客户端之间的连接图
注册服务器的工作原理

2.未注册的

这是第一次启动服务器时的默认设置。未注册的服务器不在目录中列出,因此只有知道您的服务器地址的音乐家才能连接到它。这很有用,因为 Jamulus 不允许您控制谁可以连接到服务器。

Jamulus 未注册服务器中客户端之间的连接图
未注册服务器的工作原理

如果您在家庭互联网连接后面运行未注册的服务器,您可能需要启用 端口转发,如下所述。

3. 目录

如果您想运行多个服务器,也可能在防火墙后面或 LAN 上,您可能希望将您的服务器作为目录运行。示例包括在线活动、音乐协会、部分排练或学校的音乐课。

运行目录 阅读本指南

安装和配置

大多数人在运行 Linux 的没有音频的硬件(例如,在第 3 方/云主机上)上将 Jamulus 作为“纯”服务器运行。以下步骤假设您熟悉命令行和 Debian/Ubuntu 或使用 systemd 的类似发行版。要在 Windows 或具有图形用户界面的桌面上运行服务器,请参阅本节

如果您想在 Raspberry Pi(或其他基于 armhf/arm64 debian 的设备)上运行服务器,您需要下载 32 位 armhf 或 64 位 arm64.deb 文件,而不是您将在基于 Intel/AMD 的机器上使用的默认 amd64

安装

  1. 下载 最新的 headless (amd64).deb 文件 或者,如果您使用 Raspberry Pi 等,请下载 最新的 armhf.deb 文件最新的 arm64.deb 文件
  2. 更新 apt 以确保您拥有最新的标准软件包列表:sudo apt update
  3. 安装 Jamulus 软件包:sudo apt install ./jamulus-headless_3.9.1_ubuntu_amd64.deb 或用于 RasPi 等 armhf:sudo apt install ./jamulus-headless_3.9.1_ubuntu_armhf.deb ; arm64:sudo apt install ./jamulus-headless_3.9.1_ubuntu_arm64.deb
  4. 通过 systemd 启用 headless 服务器进程:sudo systemctl enable jamulus-headless
  5. 通过运行 sudo systemctl edit --full jamulus-headless 将所需的 命令行选项 添加到 systemd 服务文件中的 ExecStart 行(默认情况下,您将正在运行未注册的服务器)。
  6. 重新加载 systemd 文件 sudo systemctl daemon-reload 并重新启动 headless 服务器:sudo systemctl restart jamulus-headless
  7. 使用 systemctl status jamulus-headless 检查一切是否正常(点击 q 返回命令提示符)。

您可以使用 systemctl 命令控制 Jamulus。例如,干净地停止服务器:

sudo systemctl stop jamulus-headless

要升级您的服务器,只需重复上述步骤即可。

配置

在已注册模式下运行

运行已注册的服务器需要以下最低设置:

jamulus --nogui --server \
        --directoryserver genreServer:port \
        --serverinfo "yourServerName;yourCity;[country ID]"

注意:在 --serverinfo 参数中的 yourServerNameyourCity 中不允许使用分号和换行符

要注册到 Jamulus 客户端内置的目录之一,请将上面示例中的 genreServer:port 替换为以下选项之一:

类型服务器地址 
任何体裁1anygenre1.jamulus.io:22124 
任何体裁2anygenre2.jamulus.io:22224 
任何流派3anygenre3.jamulus.io:22624 
流派摇滚rock.jamulus.io:22424 
*类型的爵士乐jazz.jamulus.io:22324 
类古典/民谣classical.jamulus.io:22524 
类合唱/理发店choral.jamulus.io:22724 

你也可以在命令行中以同样的方式指定一个目录,提供相同格式的服务器地址。

作为目录运行

如果您想运行 目录,请参阅 指南

维护

查看日志

如果您将 StandardOutput=journal 设置留在单元文件中,Jamulus 将记录到系统日志文件。

要查看日志,请使用 journalctl(退出按 Ctrl-C)。例如,读取系统日志文件,为 Jamulus 服务过滤:

journalctl -f -u jamulus-headless

控制录音

当使用带有-R命令行选项的录制功能时,如果服务器在录制过程中收到 SIGUSR1 信号,它将在新目录中开始新的录制。 SIGUSR2 将开启/关闭录制功能。

要使用 systemd 发送这些信号,请在 /etc/systemd/system 中创建以下两个 .service 文件,将它们命名为适当的名称(例如 jamulusTogglerec.service)。

注意: 您需要将记录保存到 jamulus 主目录的 outside 路径,或从 systemd 单元文件中删除 ProtectHome=true(但请注意,这样做存在潜在的安全风险)。

打开或关闭录制(取决于当前状态):

 [Unit]
 Description=Toggle recording state of Jamulus Server
 Requisite=Jamulus-Server

 [Service]
 Type=oneshot
 ExecStart=/bin/systemctl kill -s SIGUSR2 Jamulus-Server

开始新的录音:

 [Unit]
 Description=Start a new recording on Jamulus Server
 Requisite=Jamulus-Server

 [Service]
 Type=oneshot
 ExecStart=/bin/systemctl kill -s SIGUSR1 Jamulus-Server

注意:ExecStart 行中的 Jamulus 服务名称需要与您在设置 systemd 以控制您的 Jamulus 服务器时创建的 .service 文件名相同。所以在这个例子中它将是Jamulus-Server.service

运行 sudo systemctl daemon-reload 以注册它们以供首次使用。

现在您可以使用 systemctl 命令运行这些命令,例如:

sudo systemctl start jamulusTogglerec (假设你将你的单元文件命名为jamulusTogglerec.service)

如果您运行 systemctl status jamulus,或者通过查看日志,您可以看到这些命令的结果。

桌面上的服务器

Jamulus 可以从桌面以服务器模式运行。这为您提供了一个图形用户界面来控制大多数设置。

  • Windows 用户 - 使用 Windows 开始菜单中的“Jamulus Server”图标。
  • macOS 用户 - 双击应用程序中的 “Jamulus Server” 图标(假设您按照 [这些说明](Macintosh 安装)将安装中的文件放在那里)。
  • Linux 用户 - 启动“Jamulus 服务器”快捷方式。或者你可以打开一个终端窗口(Debian 和相关发行版上的CTRL+ALT+t),输入jamulus -s 然后回车。

服务器设置

Jamulus 服务器设置窗口的图片

目录列表

:默认情况下,您不会连接到目录,而是在未注册模式下运行。 阅读这些说明 让其他人以这种模式连接到您的服务器。

流派:要允许其他人在客户端内置的目录之一上看到您的服务器,请选择所需的流派目录。您应该会看到一条确认消息,说明您的服务器是否已成功注册。如果没有,并且您让服务器保持运行状态,它将继续尝试注册,直到有空闲插槽可用。

自定义:这允许您指定要在其上列出的自定义目录。请参阅您要使用的自定义目录地址的“选项”选项卡。

要运行您的服务器 as 目录,您需要将自定义目录地址设置为 localhost127.0.0.1 并将“流派”设置为“自定义”。 [阅读本指南](目录)了解更多详情。

我的服务器信息

当作为注册服务器运行时,它会显示服务器的名称、地区和国家,以便其他用户可以在目录列表中轻松识别它。

聊天欢迎留言

当所有用户加入服务器时,此处输入的文本会显示给所有用户(聊天窗口将自动为他们打开)。还支持 HTML。

选项

Jamulus 服务器设置窗口的图片

录音目录

这设置了服务器的录音将被存储的路径。有了这个路径设置,服务器设置选项卡中的 “启用乐队录音机 “功能将使录音在第一个人连接到服务器时开始,并在最后一个人离开时停止。使用 “新建录音 “按钮,创建一个新的子目录,从那时起,录音将被存储在该目录中。请注意,录音是以Audacity.lof格式和REAPER.rpp格式的每一轨。打开相应的文件,在这些应用程序中聆听它们。

注意:当您的服务器正在录制时,客户端会显示一条消息,表明正在录制。

自定义目录地址

将此字段留空,除非您需要在 自定义目录 上列出您的服务器或运行目录。

服务器列表文件名

将此字段留空,除非您需要将服务器作为 Directory运行。使用时,它会在重新启动目录时保存已注册服务器的列表。这可以防止服务器列表在服务器重新注册之前显示为“空”。

延迟平移

此选项使用两只耳朵之间声音到达时间的微小差异。与正常的“音量”平移相比,它产生类似于自然人类听觉的立体声效果。

开始最小化

Windows 用户 - 如果希望服务器在系统启动时自动启动,请启用相应的复选框。

服务器状态图标

当服务器运行时,操作系统会在系统托盘或状态区显示一个图标来表示服务器是否处于活动状态:

Jamulus 服务器图标的图片

服务器为空

Jamulus 服务器图标图片

服务器被占用

命令行选项

Jamulus 中最常见的功能可以使用 GUI 设置,但这些和其他功能也可以使用终端窗口中给出的选项进行设置。具体如何执行此操作将取决于您的操作系统。

例如在 Windows 上,要使用特定的设置文件,请右键单击 Jamulus 快捷方式并选择“属性”>“目标”。将必要的参数添加到 Jamulus.exe:

 "C:\Program Files\Jamulus\Jamulus.exe" --serverbindip 192.168.0.100

对于 macOS,启动终端窗口并使用所需的选项运行 Jamulus,如下所示:

 /Applications/Jamulus.app/Contents/MacOS/Jamulus --serverbindip 192.168.0.100

注意:命令行选项将在启动时设置服务器的默认值。您可以在服务器运行时使用相应的 GUI 控件覆盖它们。

  • -d--discononquit 在退出时断开所有客户端的连接。通常,当服务器停止或重新启动时,任何未使用“断开连接”按钮的客户端将在服务器再次恢复时重新建立连接。使用此选项会强制客户端手动重新建立与服务器的连接。
  • -e--directoryserver 在目录上注册服务器(例如,设置其流派(另见 -o))。有关详细信息,请参阅 服务器类型
  • --directoryfile 即使目录重新启动,也要记住注册的服务器。仅限目录服务器。有关详细信息,请参阅 本指南
  • -f--listfilter 白名单服务器列表中注册的服务器,格式为 ` ip address 1[;ip address 2]`仅目录。
  • -F--fastupdate 如果客户端使用“启用小型网络缓冲区”选项连接,则减少延迟。需要更快的 CPU 以避免丢失,并为启用的客户端提供更多带宽。
  • -l--log 启用日志记录,设置路径和文件名
  • -L--licence 在用户连接之前显示一个协议窗口
  • -m--htmlstatus 启用 HTML 状态文件,设置路径和文件名
  • -o--serverinfo 位置详细信息,格式为:[name];[city];[country as two-letter ISO country code or Qt5 Locale](参见 two-letter ISO country codesQt5 语言环境值)仅限注册服务器
  • -P--delaypan 开始时启用延迟平移参见 notes
  • -R--recording 设置服务器录音目录;默认情况下,服务器将记录会话何时处于活动状态。请参阅 选项
  • --norecord 设置服务器默认不记录(当配置记录时,例如通过-R
  • -s--server 以服务器模式启动
  • --serverbindip 指定要绑定的 IP 地址
  • -T--multithreading 使用多线程更好地利用多核 CPU 来支持更多的客户端
  • -u --numchannels 最大通道数(客户端)
  • -w--welcomemessage 连接时的欢迎消息。可以作为字符串或文件名给出,并且可以包含 HTML。
  • -z--startminimized 开始最小化
  • --serverpublicip 如果连接到同一 NAT 后面的目录,则服务器的公共 IP 地址。参见目录注释
  • -h--help 显示帮助文本
  • -i--inifile 设置初始化文件的位置(覆盖默认值)
  • -n--nogui 禁用 GUI(用于 headless 模式)
  • -p--port 设置本地 UDP 端口号。默认为 22124
  • --jsonrpcport 启用 JSON-RPC API 服务器来控制应用程序,设置 TCP 端口号(实验性,API 可能会更改;只能从 localhost 访问)。请参阅 JSON-RPC API 文档文件
  • --jsonrpcsecretfile 使用 --jsonrpcport 时需要。设置包含用于访问 JSON-RPC API 的身份验证字符串的文本文件的路径。
  • -Q--qos 设置服务质量 DS 字段字节。默认值为 128 (DSCP/CS4)。 QoS 被 Windows 忽略。要启用它,查看此页面
  • -t--notranslation 禁用 UI 语言翻译
  • -6--enableipv6 启用 IPv6 寻址(始终启用 IPv4)
  • -v--version 输出版本信息并退出

运行未注册的服务器

强烈建议您首先在内置目录之一上注册您的服务器来测试您的服务器,以缩小未注册模式下的任何后续问题。

在家庭路由器后面设置服务器

如果您在家中设置服务器,您可能需要更改路由器/防火墙中的一些设置:

转发端口

来自家庭网络外部的人将无法看到其中的内容。要让外部 Jamulus 客户端连接到您的服务器,您需要在路由器的设置中设置端口转发。每个路由器的确切设置都不同。如需帮助,请参阅路由器的文档或 portforward.com

注意: Jamulus 当前版本的默认端口是 UDP(不是 TCP)端口 22124。您通常会将端口 22124 从网络外部转发到运行服务器的机器的端口 22124

注意: 您的家庭路由器可能会更改您运行服务器的机器的 IP 地址。根据您的路由器,您可能需要给这台机器一个静态 IP 地址(通常在路由器的 DHCP 设置下)。

获取外部 IP

要允许其他人从互联网连接到您的服务器,请获取您的外部(WAN)IP地址,例如通过[使用Google](https://www.google.com/search?q=what+is+my+ip)并将其提供给他们。 您自己应使用运行服务器的计算机的本地网络 (LAN) 地址进行连接。如果您在与服务器相同的计算机上运行客户端,则为“localhost”或“127.0.0.1”。

动态 DNS 以及您可能需要它的原因

大多数国内互联网连接会在短时间内更改其外部 IP 地址。为避免出现此问题,您可能需要设置“动态 DNS”以获得可以与他人共享的静态(子)域。请研究如何为您的特定设置执行此操作。您的路由器可能支持一些开箱即用的“动态 DNS”提供商。如果不是这种情况,请按照您选择的动态 DNS 提供商的说明设置动态 DNS 客户端。

备份服务器

请注意, headless 服务器不使用 .ini 文件。所有配置都以命令行选项的形式给出。

安装并运行后,您可能需要保留设置的副本。备份总是一个好主意,并且设置文件在 Jamulus 版本之间不向后兼容。所以如果你想回到以前的版本,你需要恢复你的设置。

要在 Windows 上查找您的设置文件,请在搜索栏中键入“%APPDATA%”并查找名为“Jamulus”的文件夹。此文件夹中将有一个或多个 .ini 文件。现在备份 Jamulus 的设置。

对于所有其他平台,请从命令行运行以下命令以查找其所在的位置并将文件复制到其他位置:

find ~ -name Jamulus.ini -ls

如果您使用 --inifile 参数将 inifile 保存到其他位置,请不要忘记同时备份这些文件。 注意事项

  • 在 Jamulus 运行时不要备份或恢复设置文件。
  • 不建议手动编辑设置文件(它们不是为此而设计的)。
  • 您可以通过删除设置文件(关闭 Jamulus 后)将所有设置恢复为默认值。

故障排除

如果您遇到其他问题,请参阅本指南