文章目錄
- 部署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
退出。
開放端口
我們需要為服務器開放一些端口,否則無法與客戶端進行通訊。
以下是端口列表,不僅僅要在服務器開放,還要在云服務提供商的控制臺的安全組中開放。
端口 | 協議 | 說明 |
---|---|---|
9987 | UDP | TeamSpeak語音服務端口 |
10011 | TCP | TeamSpeak ServerQuery raw 端口 |
10022 | TCP | TeamSpeak ServerQuery SSH 端口 |
30033 | TCP | TeamSpeak 文件傳輸端口 |
41144 | TCP | TSDNS 服務器端口 |
58913 | TCP | 機器人網站后臺端口(不開無所謂) |
3000 | TCP | 網易云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
后根據機器人的頭像與簡潔設置登錄網易云(請給機器人管理員權限)。
大功告成!