搭建TeamSpeak服务器较全指南
一、启动 TeamSpeak 服务器
本教程为租用的某平台云服务器,系统是 Ubuntu(Linux)
且直接使用 root 用户(启动时需要等待 10 秒警告 “ ! ”)
1、所需端口
请提前在云服务器打开所需端口
对于 HTTPS 通信,可按照此处所述配置代理。
| 服务 | 协议 | 本地端口(Server) | 必要 |
|---|---|---|---|
| 语音 | UDP | 9987 | 是 |
| 文件传输 | TCP | 30033 | 是 |
| 服务器查询(raw) | TCP | 10011 | 可选 |
| 服务器查询(SSH) | TCP | 10022 | 可选 |
| 网络查询(http) | TCP | 10080 | 可选 |
| 网络查询(https) | TCP | 10443 | 可选 |
| TSDNS | TCP | 41144 | 可选 |
也可以对应下面的讲述内容按需开启上述端口
2、同意许可条款
touch .ts3server_license_accepted
3、数据库使用 SQLite 搭建
TeamSpeak 默认使用 SQLite, 所以直接执行以下操作即可自动配置,并启动服务器
./ts3server_startscript.sh start
4、密钥及 ServerQuery 管理员账户
在启动后会弹出信息,请以截图或其他方式保存
"Server Query Admin Account created"
loginname = serveradmin
password = ********
apikey = ***************************************
已创建服务器管理员权限密钥,请使用该密钥获取
您的虚拟服务器的服务器管理员权限。
还可查看 doc/privilegekey_guide.txt 了解详情。
token = ****************************************
5、配置 TSDNS
TSDNS 是将域名绑定至 IP 地址,
可以在 TeamSpeak 中通过域名连接语音服务器
- 进入 tsdns 文件夹中
- 将
tsdns_settings.ini.example修改成tsdns_settings.ini
mv tsdns_settings.ini.sample tsdns_settings.ini
- 配置
tsdns_settings.ini文件
vim tsdns_settings.ini
格式:DOMAIN=IP:PORT,(其中域名和 IP 地址请自行更换)
以 example.com 域名配置 TSDNS 为例:
# 这里只简单解释,更多具体内容看官方给的英文信息:
# example.com=1.1.1.1:9987
# 代表将 example.com 和其他任何子域名,解析到地址为 1.1.1.1:9987 的ts服务器
# *.example.com=1.1.1.1:9987
# 代表将任何以符合 *.example.com 格式的域名,解析到地址为 1.1.1.1:9987 的ts服务器
# 例如,在文件尾写入:
ts.example.com=1.1.1.1:9987
下面,去域名 DNS 服务商分别增加域名的 A 记录和 SRV 记录。
域名映射 IP
在 DNS 里对应域名下添加 两条 A记录,(如有代理状态则选 DNS Only)内容如下:
| 类型 | 记录值 |
|---|---|
| 记录类型 | A |
| 主机记录(看平台要求) | ts |
| 记录值 | 公网 IP |
| 类型 | 记录值 |
|---|---|
| 记录类型 | A |
| 主机记录(看平台要求) | tsdns |
| 记录值 | 公网 IP |
指定提供特定服务的服务器
在 DNS 里对应域名下添加 两条 SRV记录,内容如下:
| 类型 | 记录值 |
|---|---|
| 记录类型 | SRV |
| 主机记录(看平台要求) | _ts._udp |
| 优先级 | 0 |
| 权重 | 0 |
| 端口 | 9987 |
| 目标地址 | ts.example.com |
| 类型 | 记录值 |
|---|---|
| 记录类型 | SRV |
| 主机记录(看平台要求) | _tsdns._tcp |
| 优先级 | 0 |
| 权重 | 0 |
| 端口 | 41144 |
| 目标地址 | tsdns.example.com |
运行 tsdns 服务:
./tsdnsserver
#或者你可以选择将服务挂在后台
nohup ./tsdnsserver > tsdnsserver.log 2>&1 &
这样,你就可以在客户端通过输入域名(而不是 IP 地址)进入聊天服务器。
6、启用 HTTP / HTTPS ServerQuery
端口为 10011,10022,10080,10443
你可能需要学习大量指令,并且开启此功能是为了管理服务器
具体内容看 teamspeak3-server_linux_amd64 内的 doc 文件夹内的文档
如果不想学习指令,但是又想用其他方法管理服务器:
社区里推荐的是 YaTQA。还有一个叫做 TS3 Manager
7、更新 TS 服务器
- 如果要更新服务器版本,则要备份好储存数据的 ts3server.sqlitedb 文件
- 将新版程序覆盖安装后再恢复数据库文件即可
例如:
systemctl stop teamspeak.service # 设置自启动后的停止服务
cd /usr/local/teamspeak3-server_linux_amd64 # 进入TS3目录
cp ts3server.sqlitedb ../ # 将数据库文件复制到上一层目录
cd .. # 返回上级目录
rm -r teamspeak3-server_linux_amd64 # 删除目录
- 下载新版程序到原来位置并解压
- 然后把 ts3server.sqlitedb 移进去(可能需要再次同意许可条款)
tar -xvf ......
rm ...... # 删除压缩包
mv ts3server.sqlitedb teamspeak3-server_linux_amd64/
systemctl start teamspeak.service # 设置自启动后的启动服务
二、从网页加入 TS 服务器
完整格式:
ts3server://ts3.hoster.com
?port=9987
&nickname=UserNickname
&password=serverPassword
&channel=MyDefaultChannel
&cid=channelID
&channelpassword=defaultChannelPassword
&token=TokenKey
&addbookmark=MyBookMarkLabel
请注意,如果使用
cid=channelID,参数channel=MyDefaultChannel将被忽略。参数是可选的,大多数情况下,指定 host(ts3.hoster.com)和 port 就足够了。
通常不应指定 Nicknames。用户可在客户端进行配置。
因此,常见的 URL 是这样的:
ts3server://ts3.hoster.com?port=9987
如果只给出端口,则简化为:
ts3server://ts3.hoster.com:9987
或者更短,使用默认端口 9987:
ts3server://ts3.hoster.com
完整 HTML 链接示例:
<a href="ts3server://ts3.hoster.com?port=9987">Click to connect to my server</a>
这样可以在网页中使用超链接邀请用户访问服务器,而无需手动输入服务器地址。
三、部分疑难解答
这里是 TS 官方社区,大部分问题都可以在这找到答案。
1、上传头像大小限制
- **对于 TeamSpeak3 :**需在 “工具” 里打开 “设置” ,在应用程序页勾选 “使用进阶权限系统”
- 在 “权限” 里搜索 “size” 并更改对应选项数值为 -1(无限大) ,默认是 8192(B)
2、TeamSpeak 客户端聊天框发送图片的问题
- 首先,截止目前,文件上传大小限制为 10 MB。你可以通过查看这里来了解最新TS客户端在聊天框可发送图片的大小
- 其次,发送图片不能及时的显示,可能是因租用服务器的带宽较小,上传和同步需要一定时间
- 最后,如果你想发送较大图片(文件),可以上传到频道文件,并右键引用链接后发送到聊天栏内
3、TeamSpeak 服务器端用一段时间后占用存储空间过大
- 可能是因为勾选了记录所有日志
- 可能是因为上传文件到服务器过多
4、TeamSpeak 服务器性能需求
- 服务器性能需求。win8.1 以上、Mac10.14 Mojave 以上、Linux 任何的最新发行版都可以。CPU 其实没什么性能要求。内存最小 1G。存储最小 15M。
- 语音所需带宽。一般在购买服务器时标注出来的是 下行带宽Down (从服务器到用户的数据传输速率)。
仅以语音通话时最坏的情况来说,32 人在同一最高音频质量频道同时说话,服务器的下行带宽就需要:
约为 94.31 Mbps 的下行带宽!!!且官方不推荐正常语音时使用 Opus Music,一般默认就行。如果就想要最高音质,那么在3Mbps带宽下,最多支持6人在同一频道同时说话。4和5Mbps 7人、6Mbps 8人、7Mbps 9人。
- 如果想要更改默认端口,例如:语音服务端口从 9987 改成 9988。
- 停止服务器
- 你需要再次启动服务器并添加启动参数“createinifile=1”(例如:“./ts3server_startscript.sh start createinifile=1”)
- 再次停止服务器
- 编辑文件夹内出现的 ts3server.ini 文件
- 再次带参数“inifile=你的文件或者文件路径”启动服务器(例如:“./ts3server_startscript.sh start inifile=ts3server.ini”)
以上如果你不想这么麻烦,则可以通过 YaTQA 软件在 Statistics 栏里进行编辑(记得启动 10011 端口)。
- 自行搭建的 TS 服务器人数为 32 人,如果需要其他配置则需要去官网 “功能” 的 “许可” 中查看。
社区 与 永久许可证(须自行搭建服务器) 价格如下:
社区:服务器人数(Slots) 社区存储空间 价格(美元) 6 slots ( 5 + 1 ) 1 GB 3.99/月 / 42.99/年 11 slots ( 10 + 1 ) 2 GB 4.99/月 / 53.99/年 27 slots ( 25 + 2 ) 2 GB 8.99/月 / 96.99/年
永久许可证:服务器人数(Slots) 服务器个数 价格(美元) Gamer License 32 slots 1 server 30.00 Gamer License 64 slots 1 server 55.00 Gamer License 128 slots 2 server 100.00 Gamer License 256 slots 2 server 175.00 Gamer License 512 slots 2 server 300.00 Gamer License 1024 slots 2 server 500.00