在CentOS7下构建TeamSpeak服务器并增加网易云点歌插件

文章目录

    • 部署TeamSpeak
      • 创建一个新用户
      • 下载并解压服务端
        • 下载
        • 解压
      • 启动服务端
        • 同意许可协议
        • 启动与配置
        • 开放端口
        • 设置开机自启
      • 客户端连接
    • 部署TS3AudioBot并添加网易云插件
      • 安装ffmpeg
      • 下载TS3AudioBot本体与插件并解压
      • 配置TS3AudioBot启动
      • 设置开机自启
    • 部署网易云API
      • 安装git
      • 安装Node.js和npm
      • 搭建API
      • 设置开机自启
    • 将插件与API连接
    • 设置机器人指令权限
    • 启动机器人

首先ssh登录到我们的服务器。

部署TeamSpeak

创建一个新用户

这是为了方便管理,而且部分操作不方便通过root账号完成。

这里我们创建一个名为teamspeak的账户:

# 新建用户teamspeak
useradd teamspeak
# 给予sudo权限
usermod -a -G sudo teamspeak
# 设置密码
passwd teaspeak
# 切换用户并定位到家目录
su teamspeak
cd ~

下载并解压服务端

下载

https://www.teamspeak.com/zh-CN/downloads/#server

以上为官网下载地址,可以在那里查看最新版本,可以选择从官网下载下来再传输到服务器上,也可以直接命令行下载:

# 需要服务器已安装wget
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2

如果你的服务器没有安装wget:

注意使用root账号。

# 使用yum安装wget
sudo yum install -y wget
解压
# 使用tar命令解压
tar -xvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2

如果解压报错“Error is not recoverable: exiting now”:

需要安装bz2相关内容,使用root账号:

# 使用yum安装bzip2
sudo yum install -y bzip2

创建teamspeak目录,把解压后的东西塞进去:

mkdir teamspeak
mv  teamspeak3-server_linux_amd64 teamspeak-rf 
rm -rf teamspeak3-server_linux_amd64
cd teamspeak

启动服务端

同意许可协议
# 没什么好说的,就是同意许可协议
touch .ts3server_license_accepted
启动与配置
# 启动服务端
./ts3server_startscript.sh start

第一次启动,会显示包括token在内的重要的信息,记得保存!!!

然后Ctrl+C退出。

开放端口

我们需要为服务器开放一些端口,否则无法与客户端进行通讯。

以下是端口列表,不仅仅要在服务器开放,还要在云服务提供商的控制台的安全组中开放。

端口协议说明
9987UDPTeamSpeak语音服务端口
10011TCPTeamSpeak ServerQuery raw 端口
10022TCPTeamSpeak ServerQuery SSH 端口
30033TCPTeamSpeak 文件传输端口
41144TCPTSDNS 服务器端口
58913TCP机器人网站后台端口(不开无所谓)
3000TCP网易云api后台端口(后面要用,先放开这个端口)

在服务器开放端口:

firewall-cmd --zone=public --add-port=9987/udp --permanent && firewall-cmd --reloa
firewall-cmd --zone=public --add-port=10011/tcp --permanent && firewall-cmd --reloa
firewall-cmd --zone=public --add-port=10022/tcp --permanent && firewall-cmd --reloa
firewall-cmd --zone=public --add-port=30033/tcp --permanent && firewall-cmd --reloa
firewall-cmd --zone=public --add-port=41144/tcp --permanent && firewall-cmd --reloa
firewall-cmd --zone=public --add-port=3000/tcp --permanent && firewall-cmd --reloa

在安全组开放端口:

设置开机自启

注意使用root账号。

# 新建teamspeak.service
vim /etc/systemd/system/teamspeak.service

然后i进入INSERT模式,写文件:

[Unit]
Description=Teamspeak Service
Wants=network.target

[Service]
WorkingDirectory=/home/teamspeak
ExecStart=/home/teamspeak/teamspeak/ts3server_minimal_runscript.sh
ExecStop=/home/teamspeak/teamspeak/ts3server_startscript.sh stop
ExecReload=/home/teamspeak/teamspeak/ts3server_startscript.sh restart
Restart=always
RestartSec=15
 
[Install]
WantedBy=multi-user.target

然后Esc:wq!强制保存并退出。

# 更新配置
systemctldaemon-reload

# 设置开机启动
systemctl enable teamspeak.service

# 启动服务
systemctl start teamspeak.service

# 查看状态,如果有active (running)说明成功了
systemctl status teamspeak.service

客户端连接

这个时候就可以去官网设置服务器别名了,或者也可以直接裸连服务器地址。

连接后使用上面保存的token设置自己为超级管理员。

随后自定义各种设置。

部署TS3AudioBot并添加网易云插件

安装ffmpeg

yum -y install epel-release
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum -y install ffmpeg opus-devel

下载TS3AudioBot本体与插件并解压

不要下载官方的,因为官方给的linux版编译环境有问题导致后面不能正常加载插件

下载ZHANGTIAOYAO1重构后的版本与FiveHair修改后的网易云插件。

命令行下载:

# 切换teamspeak账号
su teamspeak
cd ~
wget https://github.com/ZHANGTIANYAO1/TS3AudioBot-NetEaseCloudmusic-plugin/releases/download/1.1.0/with.TS3Bot.linux-x64.zip
wget https://github.com/FiveHair/TS3AudioBot-NetEaseCloudmusic-plugin-UNM/releases/download/2.0.3.1/YunPlugin-UNM-2.0.3.1.zip

解压本体与插件并拷贝插件至本体的plugins目录:

unzip with.TS3Bot.linux-x64.zip
mv linux-x64 TS3AudioBot
unzip YunPlugin-UNM-2.0.3.1.zip
cd TS3AudioBot/plugins
rm *
cd ~
mv YunPlugin-UNM.dll TS3AudioBot/plugins/
mv YunSettings.ini TS3AudioBot/plugins/

配置TS3AudioBot启动

cd TS3AudioBot
chmod 755 TS3AudioBot
./TS3AudioBot

随后根据引导设置管理员的uid(在客户端上面“权限”菜单中打开“所有客户端列表”可以看到服务器所有人的uid)、服务器ip、密码等。

然后直接Ctrl+C结束进程。

设置开机自启

注意切换root账号:

# ts3audiobot.service
vim /etc/systemd/system/ts3audiobot.service

然后i进入INSERT模式,写文件:

[Unit]
Description=TS3AudioBot
After=teamspeak.service

[Service]
WorkingDirectory=/home/teamspeak/TS3AudioBot/
ExecStart=/home/teamspeak/TS3AudioBot/TS3AudioBot
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

然后Esc:wq!强制保存并退出。

# 更新配置
systemctldaemon-reload

# 设置开机启动
systemctl enable ts3audiobot.service

# 启动服务
systemctl start ts3audiobot.service

# 查看状态,如果有active (running)说明成功了
systemctl status ts3audiobot.service

部署网易云API

安装git

sudo yum install -y git
# 设置用户名
git config --global user.name "名字"
# 设置邮箱
git config --global user.email "邮箱"

安装Node.js和npm

sudo yum install -y nodejs
sudo yum install -y npm

搭建API

注意还是切换到teamspeak账号:

su teamspeak
cd ~
sudo git clone git@gitlab.com:Binaryify/NeteaseCloudMusicApi.git

由于网易云的赶尽杀绝,大部分API都寄了,而这个其实也寄了。但是虽然github上改仓库删除归档了,我们依旧能在gitlab找到全部源码。

cd NeteaseCloudMusicApi
sudo npm install
sudo node app.js

此时显示server running ...即为配置成功,按Ctrl+C,退出。

设置开机自启

注意切换root用户:

# netease.service
vim /etc/systemd/system/netease.service

然后i进入INSERT模式,写文件:

[Unit]
Description=Netease Cloud Music API Service
After=network.target

[Service]
WorkingDirectory=/home/teamspeak/NeteaseCloudMusicApi/
ExecStart=/usr/bin/node /home/teamspeak/NeteaseCloudMusicApi/app.js
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

然后Esc:wq!强制保存并退出。

# 更新配置
systemctldaemon-reload

# 设置开机启动
systemctl enable netease.service

# 启动服务
systemctl start netease.service

# 查看状态,如果有active (running)说明成功了
systemctl status netease.service

将插件与API连接

注意还是切回teamspeak账号:

cd ~
cd TS3AudioBot/plugins
vim YunSettings.ini

将链接修改为本地:

# 如果原本等号后面有东西就删掉
WangYiYunAPI_Address = http://localhost:3000

设置机器人指令权限

设置谁能操控机器人谁能点歌,在/home/teamspeak/TS3AudioBot目录下的rights.toml中有详细的说明与设置方法。

启动机器人

之后的操作仅在客户端就能完成。

聊天框输入!plugin list,找到网易云插件(状态应该是RDY就绪)的编号(假设是#0)。

输入!plugin load 0(后面数字得看编号)加载插件。

然后再查看插件列表,网易云插件的状态应该为(+ON运行)

之后输入!yun login后根据机器人的头像与简洁设置登录网易云(请给机器人管理员权限)。

大功告成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/665042.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

5.23R语言-参数假设检验

理论 方差分析(ANOVA, Analysis of Variance)是统计学中用来比较多个样本均值之间差异的一种方法。它通过将总变异分解为不同来源的变异来检测因子对响应变量的影响。方差分析广泛应用于实验设计、质量控制、医学研究等领域。 方差分析的基本模型 方差…

ReDos攻击浅析

DOS为拒绝服务攻击,re则是由于正则表达式使用不当,陷入正则引擎的回溯陷阱导致服务崩溃,大量消耗后台性能 正则 ​ 探讨redos攻击之前,首先了解下正则的一些知识 执行过程 大体的执行过程分为: 编译 -> 执行编译过程中&…

Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解

系列文章目录 Django入门全攻略:从零搭建你的第一个Web项目Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解还在写0.0… 文章目录 系列…

MySQL 命令总结篇-思维导图

一些常用命令以思维导图形式总结在这里了,掌握这些进行MySQL基本操作绝对没问题,加油!友友们可以根据这些思维导图进行知识总结。 目录 一、快速上手 二、SQL 语句分类(DDL、DML、DQL、DCL) 三、数据类型 四、约束…

数字水印 | 图像噪声攻击(高斯/椒盐/泊松/斑点)

目录 Noise Attack1 高斯噪声(Gaussian Noise)2 椒盐噪声(Salt and Pepper Noise)3 泊松噪声(Poisson Noise)4 斑点噪声(Speckle Noise)5 完整代码 参考博客:Python…

零基础学会asp.net做网站/公众号/小程序之三:实战初体验(简单程序教学)

关注我,持续分享逻辑思维&管理思维&面试题; 可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导; 博主在互联网大厂深耕近二十年,从一线码农做起,到人工智能公司副总裁。希望把过往经验总结出来&#xff0…

对称二叉树(oj题)

一、题目链接https://leetcode-cn.com/problems/symmetric-tree/ 二、题目思路 给你一个二叉树的根节点 root , 检查它是否轴对称的思路: 1.将该树的左子树和右子树,当做两棵树,调用 判断两棵树是否对称相等的函数 2.判断两颗树是否对称相…

【网络安全】Web安全学习-前言及先导

一、网络安全概述 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因遭到破坏、更改、泄露,系统能连续可靠的正常运行,网络服务不中断。简单来说。就是要保障我们的网络环境安全稳定,不被人破…

深入理解linux文件系统与日志分析

深入理解linux文件系统与日志分析 linux文件系统: 文件是存储在硬盘上的,硬盘上的最小存储单位是扇区,每个扇区的大小是512字节。 inode:元信息(文件的属性 权限,创建者,创建日期等等) block…

【Python】解决Python报错:AttributeError: ‘generator‘ object has no attribute ‘xxx‘

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

【核心动画-关键帧动画-CAKeyframeAnimation Objective-C语言】

一、接下来,我们来说这个关键帧动画, 1.我们把之前的基本动画,这一坨代码,备份到test1方法里边, 然后,开始说我们的关键帧动画,步骤都是一样的,都是三大步: // 关键帧动画 // 1.做什么动画 // 2.怎么做动画 // 3.对谁做动画 1)做什么动画 第一,我们现在要创建…

计算机图形学入门04:视图变换

1.MVP变换 将虚拟场景中的模型投影到屏幕上,也就是二维平面上,需要分三个变换。 1.首先需要知道模型的位置,也就是前面提到的基本变换,像缩放、平移,旋转,也称为模型(Model)变换。 2.然后需要知道从…

STM32定时器与PWM对LED灯的控制

文章目录 一、定时器——Timer(一)概念(二)分类(三)功能(四)结构1.模块一——时基单元2.模块二——输出比较模块 二、实验内容(一)标准库点亮LED灯1.实验说明…

99.网络游戏逆向分析与漏洞攻防-ui界面的设计-角色信息显示的界面与功能

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

新型 Meterpreter 后门能够在图片中隐藏恶意代码

据Cyber Security News消息,ANY.RUN 沙盒分析了一种被称为Meterpreter 的新型后门恶意软件,能利用复杂的隐写技术将恶意有效载荷隐藏在看似无害的图片文件中。 基于Meterpreter的攻击从一个包含 PowerShell 脚本的 .NET 可执行文件开始,该脚…

解决VSCode右键没有Open In Default Browser问题

在VSCode进行Web小程序测试时,我们在新建的HTML文件中输入 !会自动生成页面代码骨架,写入内容后,我们想要右键在浏览器中预览。发现右键没有“Open In Default Browser”选项。原因是没有安装插件。 下面是解决方案:首先在VSCode找…

【CSS布局】响应式设计原则以及双飞翼布局圣杯布局

历史小剧场 温体仁未必是奸臣,钱谦益未必是好人,不需要惊讶,历史往往跟你所想的并不一样。英雄可以写成懦夫,能臣可以写成奸臣,史实并不重要,重要的是,谁来写。----《明朝那些事儿》 响应式设计…

【计算机毕设】基于SpringBoot的学生心理咨询评估系统设计与实现 - 源码免费(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 随着社会的快速发展和竞争压力的增加,学生心理健康问题日益突出。设计和实现一个基于SpringBoot的学生心理咨询评估系统,旨在…

【Seafile】Seafile容器版文件删除后存储空间不释放问题解决

Seafile是一款非常优秀的网盘系统,我们可以根据官方文档,在本地虚拟机研究Seafile免费版的安装和使用,安装建议采用使用docker容器的方式。 不过在使用过程中,刚接触的小伙伴可能会遇到这样的问题: 删除网盘里面的文…

煤矿输送设备无人化运维巡检解决方案

一、煤矿行业目前存在的挑战和难题 煤矿行业面临着复杂的环境,如粉尘、潮湿、高温、高瓦斯等,对巡检设备和人员安全有威胁。并且设备分布广、需要长时间作业,全面巡检难度大、对巡检工作的耐力和持续性要求高。而煤矿输送设备无人化运维巡检…