Mumble 服务器搭建

前言

Mumble 是一个开源、低延迟、高质量的语音通话平台。可以在多个平台搭建,并且有多个开源的客户端(Windows、Linux、Android、MacOS)。这是 官网 Github

比如你可以在 F-Droid 下载一个开源的客户端 Mumla ,可以使用自己搭建的服务器,也可以使用许多公共服务器。

Mumble 有以下特点:

  • 对用户

    • 低延迟,用于游戏交流体验超棒
    • 保持隐私和安全
      • 始终是加密通话
      • 默认使用公钥、私钥配对
    • 通过服务器辨别朋友
    • 对于游戏玩家:
      • In-game Overlay 看谁在说话、FPS、时间
      • 方位音频,听到玩家从游戏中的所处的位置说话。
    • 有指南帮助设置,例如配置麦克风
  • 对管理员
    • Libre 软件,没有授权什么的限制
    • 开源,安全,可扩展
    • 可扩展的用户权限系统
    • 可通过 Ice 和 GRPC 协议扩展
  • 对 Hosters
    • 免费软件
    • 可通过 Ice middleware 自动化管理
    • 低资源占用
    • 稳定的 server 软件
    • 可自定义的 web-interfaces (通过 Ice)

这里是官方的服务器搭建指南: Server guide

其实像 Ubuntu 类的系统搭建是比较简单的,有官方包,安装运行就行,但是 CentOS 没有官方 yum 可安装的包,所以要手动搭建。

今天在我的阿里云 CentOS 服务器上搭建了 Mumble 服务器。

安装

Windows

下载安装包安装就行了

Linux

CentOS7

下载

(服务器端是 murmur ,不是 mumble,mumble 是客户端)

tar -jxvf murmur-static_x86-1.3.0.tar.bz2
cd cd murmur-static_x86-1.3.0
mkdir /usr/local/murmur
sudo cp -r ./murmur-static_x86-1.3.0/* /usr/local/murmur/
sudo cp ./murmur-static_x86-1.3.0/murmur.ini /etc/murmur.ini
创建 Murmur 账户、数据目录、登陆目录
sudo groupadd -r murmur
sudo useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
sudo mkdir /var/log/murmur
sudo chown murmur:murmur /var/log/murmur
sudo chmod 0770 /var/log/murmur
系统配置

Murmur.ini vim /etc/murmur.ini

database=/var/lib/murmur/murmur.sqlite
logfile=/var/log/murmur/murmur.log
pidfile=/var/run/murmur/murmur.pid # 对了,把服务密码设一下,不要让人随便就能加入
serverpassword=mypassword # Reminder: When changing the port that murmur will listen to you will need to also update the firewall.
# Update the firewall by editing /etc/firewalld/services/murmur.xml
# Then run "sudo firewall-cmd --reload"
port=64738 # Comment out the following setting since the service will already be executing as the correct user:
# uname=murmur # 再设下最大在线用户数。估计我的服务器承载不了很多人
users=10

允许后台运行

创建一个系统单位,让 Murmur 可以被系统管理,创建文件 vim /etc/systemd/system/murmur.service

[Unit]
Description=Mumble Server (Murmur)
Requires=network-online.target
After=network-online.target mariadb.service time-sync.target [Service]
User=murmur
Type=forking
ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini
PIDFile=/var/run/murmur/murmur.pid
ExecReload=/bin/kill -s HUP $MAINPID [Install]
WantedBy=multi-user.target

当前的系统中,/var/run 已经不能用了,创建 vim /etc/tmpfiles.d/murmur.conf

d /var/run/murmur 775 murmur murmur
自动覆盖Log

设置 logrotate 不让 log 文件 /var/log 装满。创建 vim /etc/logrotate.d/murmur

/var/log/murmur/*log {
su murmur murmur
dateext
rotate 4
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload murmur.service > /dev/null 2>/dev/null || true
endscript
}
防火墙(如果要更改默认端口的话)

/etc/firewalld/services/murmur.xml

<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Murmur</short>
<description>Mumble Server (Murmur)</description>
<port protocol="tcp" port="64738" /><!-- Reminder: Update /etc/murmur.ini so that it uses the same ports -->
<port protocol="udp" port="64738" />
</service>

再添加防火墙规则到默认区域并重新载入:

sudo firewall-cmd --permanent --add-service=murmur
sudo firewall-cmd --reload
SELinux

如果有 SELinux ,临时禁用:

sudo setenforce 0

要永久禁用 SELinux :

SELINUX=disabled
最后步骤:

更新系统让它准备运行 Murmur 服务

sudo systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf
sudo systemctl daemon-reload

暂时启动:

sudo systemctl start murmur.service

设置自动启动:

sudo systemctl enable murmur.service

注意 :如果启动 Murmur 后只得到了一个僵死的进程,那么需要安装 redhat-lsb-core

系统准备

在控制台打开 64738 的 TCP 和 UDP 端口,

配置服务

ini 文件

改变 ini 文件后要重启服务才能生效。 ini 长这个样子:

welcometext=
port=
serverpassword=
上面一行留空表示是公共服务
bandwidth=
users=
registerName=根频道的名字
#这是注释

登陆

用手机端的 Mumla 测试下,延迟 64ms ,还不错。

在 CentOS 上搭建 Mumble 服务器的更多相关文章

  1. CentOs上搭建git服务器

    CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...

  2. 在CentOS上搭建PHP服务器环境

    您也可以使用一键自动部署环境的工具,请参见网友开发的这个工具 http://www.centos.bz/2013/08/ezhttp-tutorial/     安装apache: yum insta ...

  3. 在centos上搭建SVN服务器和MySQL

    ----------搭建MySQL--------------- 1.查看yum库中的mysql yum list | grep mysql //查看yum库中的mysql 2.选择需要的mysql进 ...

  4. 在CentOS上搭建PHP服务器环境(可用)

    原文:https://www.cnblogs.com/zy2009/p/7047828.html 1,先安装apache: yum install httpd 配置ServerName vi /etc ...

  5. 如何在CentOS上搭建gitlab服务器

    步骤 1. 打开HTTP和SSH访问 1.1 安装 sudo yum install -y curl policycoreutils-python openssh-server 1.2 开启SSH 这 ...

  6. 在CentOS上搭建svn服务器及注意事项

    系统环境 CentOS 5.9 推荐使用yum install安装,比较简单   一.检查是否已经安装其他版本svn # rpm -qa subversion #卸载svn # yum remove ...

  7. 在centos上搭建Git服务器

    第一步:先安装一些相关依赖库和编译工具 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum in ...

  8. CentOS Linux上搭建PPPoE服务器及拨号设置

    CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...

  9. CentOS 7搭建SVN服务器

    安装步骤如下: 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /var/svn/svnrepos ...

  10. 在CentOS 上搭建nginx来部署静态页面网站

    在centOs 上搭建nginx来部署静态页面网站 一.部署服务器环境 nginx:轻量级.高性能的HTTP及反向代理服务器,占用内存少,并发能力强,相比老牌的apache作为web服务器,性能更加卓 ...

随机推荐

  1. OSPF RFC 1583 兼容

  2. 关于Windows10纯净启动的相关修改流程

    关于纯净启动的相关流程 自动登录 打开命令提示符运行control userpasswords2后回车 在弹出的用户账户窗口中,取消勾选"要使用本计算机,用户必须输入用户名和密码" ...

  3. 文件搜索失败:cannot update repo 'Media": No LRO_ URLS, LRO_MIRRORLISTURL nOr LRO _METALINKURL specified

    配置yum源 1.产看当前系统版本 cat /etc/redhat-release 2.进入/etc/yum.repos.d目录,新建bak目录,将系统自带的yum移到bak目录 cd /etc/yu ...

  4. MySql数据库的两大引擎InnoDB和MyIsam的区别

    事务方面 InnoDB支持事务,MyISAM不支持事务.MySql的默认存储引擎为InnoDB 外键方面 InnoDB支持外键,MyISAM不支持,对一个包含外键的InnoDB表转为MYISAM会失败 ...

  5. 【转载】JMeter如何确定ramp-up时间

    转载自:https://blog.csdn.net/wangyanhong123456/article/details/123046451 线程组:用于模拟. 线程属性包含了:线程数.Ramp-Up时 ...

  6. 远程链接linux编程shell脚本

    WinSCP-5.15.3-Setup.exe https://pan.baidu.com/s/1zr7ipq8i5rqm8tYS8GeKsQ

  7. (续)关于jsp的小细节们

    (续集) 细节四:在浏览界面,点击主键对应的数据时,会跳转到其详细信息界面 这样就实现跳转详情页面啦!(jsp再进入一个servlet文件,获取到当前主键的值,然后再传回到另一个jsp文件,就可以实现 ...

  8. 对于jsp页面中内嵌Java代码失败的解决方法(总是报出jsp类无法编译的错误)

    准备好接收奥!解决方法来啦! 在我这几天查看了好几遍内嵌的Java代码之后,没有发现什么语法上面的错误,看来错误应该就是出现在环境上面了,或者是有什么我没有注意到的小细节.还好,终于将"罪魁 ...

  9. cl 编译器环境配置

    安装 visual studio 2019 其他版本路径可能有差别,需自行对照查找. visual studio 2019安装目录 和 Windows kits 文件夹[在同一目录下] 即VS 如果安 ...

  10. Java+Redis 通过Lua 完成库存扣减,创建消息队列,异步处理消息--实战

    需要完成功能 借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本 IDE:IDEA 20 ...