在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.mzph.cn/bicheng/19776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解读vue3源码-2

提示:看到我 请让滚去学习 vue3编译模版的提升 文章目录 vue3编译模版的提升静态节点提升补丁标志和block的使用附录: template explorer可以将我们的源模版转化成渲染函数代码,vue2中就有,而Vue3 template explorer 功能更加丰富…

外汇天眼:ESMA发布针对在投资服务中使用人工智能的公司的指导意见

欧洲证券和市场管理局(ESMA),欧盟的金融市场监管机构和监督机构,发布了一份声明,为在向零售客户提供投资服务时使用人工智能技术(AI)的公司提供初步指导。 尽管人工智能的普及仍处于初期阶段&am…

你认识nginx吗,nginx是做什么的,nginx可以做什么 --2)nginx配置

hello大家今天教大家如何用nginx实验tomcat的负载均衡,同理其他的也可以,如httpd等 首先需要准备一个nginx和tomcat包,这里用到的是版本号为 然后需要准备最少三台linux虚拟机,然后我们开始吧 1.安装tomcat 解包 tar zxf /mnt/…

学习 SSH Key 生成方法

SSH Key 是用于身份验证的一对密钥,包括公钥和私钥。公钥可以放在需要访问的服务器上,私钥则保留在本地。当你使用SSH连接到支持SSH Key认证的服务器时,服务器会用公钥来加密一个随机生成的字符串发送给客户端,客户端用私钥解密并…

C语言(字符和字符串函数)2

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记,在这里撰写成文一…

github有趣项目:自制“我的世界” project make

videocodehttps://www.youtube.com/watch?v4O0_-1NaWnY,https://www.bilibili.com/video/BV1oj411p7qM/?https://github.com/jdah/minecraft-weekend MAKE git clone --recurse-submodules https://github.com/jdah/minecraft-weekend.git 正克隆到 minecraft-weekend... …

直播分享|深入解析ts-morph:通过注释生成类型文档

♪ ♫ 你看小狗在叫 树叶会笑 风声在呢喃♫ ♪ 乘风追梦,童心未泯 OpenTiny 预祝所有大朋友、小朋友儿童节快乐~ 与此同时,OpenTiny 贡献者直播也即将开启啦~ 直播主题:【深入解析ts-morph:通过注释生成类型文档】 6月1日&am…

碳课堂|入门必看!碳足迹(CFP)主要国际标准一览

一、碳足迹概念 碳足迹(Carbon FootPrint,CFP)是用来衡量个体、组织、产品或国家在一定时间内直接或间接导致的二氧化碳排放量的指标。产品碳足迹属于碳排放核算的一种,一般指产品从原材料加工、运输、生产到出厂销售等流程所产生…

【Java】刚刚!突然!紧急通知!垃圾回收!

【Java】刚刚!突然!紧急通知!垃圾回收! 文章目录 【Java】刚刚!突然!紧急通知!垃圾回收!从C语言的内存管理引入:手动回收Java的垃圾回收机制引用计数器循环引用问题 可达…

SpringBoot六种API请求参数读取方式

SpringBoot六种API请求参数读取方式 同步请求和异步请求 同步: 指单线程依次做几件事异步: 指多线程同时做几件事 同步请求: 指客户端浏览器只有一个主线程, 此线程负责页面的渲染和发出请求等操作, 如果此主线程发出请求的话则停止渲染而且会清空页面显示的内容 直到服务器响…

优化基础(二):线性组合、仿射组合、锥组合、凸组合、线性集合、仿射集合、锥集合、凸集合的理解

文章目录 前言组合线性组合 (linear combination)仿射组合 (affine combination)锥组合 (conic combination)凸组合 (convex combination) 集合仿射集合凸集合 练习:哪个图形是凸的,哪个是仿射的?参考资料 前言 组合侧重于描述由一些基点生成…

越洗越黑”的Pandas数据清洗

引言 先来一个脑筋急转弯活跃一下枯燥工作日常,问:“什么东西越洗越黑?” 有没有猜到的?猜不到我告诉你吧! 答案是“煤球”。那么这个脑机急转弯跟我们要讨论的话题有没有关系呢? 嗯是的,还是沾…

三相智能电表通过Modbus转Profinet网关与PLC通讯案例

Modbus转Profinet网关(XD-MDPN100/300)的主要功能是实现Modbus协议和Profinet协议之间的转换和通信。Modbus转Profinet网关集成了Modbus和Profinet两种协议,支持Modbus RTU主站/从站,并可以与RS485接口的设备,它自带网…

接口请求参数为文件时如何测试

方法 工具:Postman 步骤:①点击body②点击form-data③选择key类型为fie ④输入参数名⑤选择参数上传⑥发送请求

对称二叉树(oj题)

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

告别低效提问:掌握BARD技巧,让AI成为你的智能助手!

今天只聊一个主题:提示词 Prompt。 说到提示词,大家可能都看过GPT的高级示例,那些几百字的提示词,写起来确实不容易。 那么,如何写出同样效果的提示词呢? 有没有什么公式或者系统学习的方法?…

木叶飞舞之【机器人ROS2】篇章_第三节、给turtlebot3安装realsense深度相机

我们做视觉slam时会用到深度相机,但是gazebo的turtlebot3中只有rgb相机,没有深度,因此本节会修改代码,来给我们的小乌龟增加一个rgbd相机。 效果展示 发布topic如下图 图片大小都是640*480 1. 修改model.sdf文件 1.1 路径位置…

启智CV机器人,ROS, ubuntu 18.04

资料: https://wiki.ros.org/kinetic/Installation/Ubuntu https://blog.csdn.net/qq_44339029/article/details/120579608 http://wiki.ros.org/melodic/Installation/Ubuntu https://github.com/6-robot/wpb_cv 一、安装ros环境 装VM。 装ubuntu18.04 desktop.…

100道面试必会算法-27-美团2024面试第一题-前缀和矩阵

100道面试必会算法-27-美团2024面试第一题-前缀和矩阵 问题解读 给定一个 n x n 的二进制矩阵,每个元素是 0 或 1。我们的任务是计算矩阵中所有边长为 k 的子矩阵中,包含特定数量 1 的情况。例如,我们希望找到所有边长为 k 的子矩阵中包含 k…

【学习Day3】计算机基础

✍🏻记录学习过程中的输出,坚持每天学习一点点~ ❤️希望能给大家提供帮助~欢迎点赞👍🏻收藏⭐评论✍🏻指点🙏 1.5.4 Cache替换算法 Cache的页面淘汰算法 常用替换算法有: • 随机替换算法RA…