免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 13121 | 回复: 0
打印 上一主题 下一主题

(原创)构建基于Linux下的TeamSpeak3语音服务器 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-17 03:33 |只看该作者 |倒序浏览
本帖最后由 剑次狼 于 2010-06-17 03:58 编辑

1        什么是Teamspeak
全世界流行的TS语音聊天平台,备受国内专业级团队所广泛使用的语音交流软件,TS语音平台是最早在网络游戏玩家中流行的一款语音聊天软件,团队玩家可以在TS语音频道内交流战斗,TS语音是非常方便、容易上手的专业语音聊天软件。

以前一直用的Teamspeak 2版本的,现在等到Teamspeak 3版本自然要尝尝鲜了。TS3现在具有完整的3D音效支持,通过设置,不同人的声音可以定位到不同的空间位置,自己可以处在一个立体三维空间的任意点上,听到前后左右不同方位传来的声音。如果你的音箱/耳机支持5.1或7.1声道,将获得更完美的效果。

这次新版本采用了独特的“令牌”认证,用户不需要注册任何帐号,包括SA、CA、R等用户,用户只需要一组密锁token,即可使得自己权限提升,当然也可以保存出你的权限文件,好比我们平时使用的“证书”。限制也比较多,未注册版本最多只可建立一个虚拟服务器,32用户上限。

2        安装前的准备
首先,选择一款linux操作系统安装部署如Redhat Linux或ubuntu等都可(默认安装)。
其次,官方下载站点http://www.teamspeak.com/?page=downloads
要下载好对应版本的server版本
32位
http://ftp.4players.de/pub/hoste ... 3.0.0-beta23.tar.gz
64位
http://ftp.4players.de/pub/hoste ... 3.0.0-beta23.tar.gz

Teamspeak是不可用root启动,还需单独建立一个普通用户:
# useradd ts3

进入用户目录下载解压软件包(32位版本)
#su – ts3
$wget http://ftp.4players.de/pub/hoste ... 3.0.0-beta23.tar.gz
$tar zxvf teamspeak3-server_linux-x86-3.0.0-beta23.tar.gz

Client客户端下载:
windows(中文版)(MD5:d41d8cd98f00b204e9800998ecf8427e)
http://tsdown.s5.hezuhao.cn/TeamSpeak3_beta_22_cn.exe
Linux(32位)
http://ftp.4players.de/pub/hoste ... 86-3.0.0-beta22.run
Linux(64位)
http://ftp.4players.de/pub/hoste ... 64-3.0.0-beta22.run

3        Server配置步骤
3.1        SQLite3数据库方式部署
SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了
$ cd teamspeak3-server_linux-x86
要创建一个“ts3server.ini”启动参数createinifile = 1,然后再停止(Strg + C)后TeamSpeakServer 3
要先添加下环境变量:export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"否则直接调用启动会报错:


$ export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
$ ./ts3server_linux_x86 createinifile=1


其中的Server Query Admin Account很重要,用来供日后参考登录名和服务器管理员帐户密码查询。它只会显示在您的TeamSpeakServer 3第一次启动,没有日志记录,需要拍照或复制保存下来。


其次就是ServerAdmin privilege key,是你的管理员令牌证书需要记录下来,它保存日志中,在第一次创建“/ home/ts3/teamspeak3-server_linux-x86/logs”日志文件。忘记了密码可以重新解压个或者删除服务器目录下的ts3server.sqlitedb,都可以恢复到开始的状态,但服务器的所有信息及配置都会丢失。


修改“ts3server.ini”中的“/ home/ts3/teamspeak3-server_linux-x86”您的需求。通常没有必要修改。除非你想指定某一个IP或端口,或者如果你想使用一个MySQL数据库。
$ vi ts3server.ini
machine_id=
default_voice_port=9987
#默认的语音端口
voice_ip=0.0.0.0
licensepath=
#授权文件存放路径,一般默认放在安装目录下即可
filetransfer_port=30033
#文件传输端口
filetransfer_ip=0.0.0.0
query_port=10011
#服务器管理端口
query_ip=0.0.0.0
query_ip_whitelist=query_ip_whitelist.txt
query_ip_blacklist=query_ip_blacklist.txt
dbplugin=ts3db_sqlite3
# 指定sqlite3数据库方式
dbpluginparameter=
dbsqlpath=sql/
dbsqlcreatepath=create_sqlite/
#数据库安装脚本路径
dblogkeepdays=90
#定义多少天的日志条目,默认自动删除90天以上的日志
logpath=logs
#指定日志存放路径
logquerycommands=0
dbclientkeepdays=30
#定义自动清除30天以上未使用的用户

配置启动脚本
$ cp ts3server_startscript.sh ts3_sqlite.sh
$vi ts3_sqlite.sh
将第五行修改为:(增加启动参数读配置文件启动)
COMMANDLINE_PARAMETERS="inifile=ts3server.ini"
启动:
$ ./ts3_sqlite.sh start
Starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file

3.2        MYSQL数据库方式部署
参照3.1        SQLite3数据库方式部署生成配置文件,对配置文件进行修改:
$ cp ts3server.ini ts3server_mysql.ini
$vi ts3server_mysql.ini
修改11、12、14行
dbplugin=ts3db_mysql
dbpluginparameter=ts3db_mysql.ini
dbsqlcreatepath=create_mysql/

建立mysql连结配置文件
$vi ts3db_mysql.ini
[config]
host=localhost
port=3306
username=ts3
password=x5gUjs
database=ts3db
socket=

创建mysql数据库实例:
CREATE DATABASE ts3db;
USE ts3db;
CREATE USER 'ts3'@'localhost' IDENTIFIED BY 'x5gUjs';
GRANT ALL ON ts3db.* TO 'ts3'@'localhost';

配置启动脚本
$ cp ts3server_startscript.sh ts3_mysql.sh
$vi ts3_sqlite.sh
将第五行修改为:(增加启动参数读配置文件启动)
COMMANDLINE_PARAMETERS="inifile=ts3server_mysql.ini"
启动:
$ ./ts3_mysql.sh start
Starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file



3.3        申请license授权文件
TeamSpeak为免费软件,客户端完全免费,服务器程序提供下载,未授权的许可只允许最大用户数为32,虚拟服务器1个,可以购买许可来改变虚拟服务器及最大用户数,()

  对于非盈利性的个人及组织,TeamSpeak提供虚拟服务器10个,最大用户数512的NPL申请,可以免费获得一年的许可:http://npl.tritoncia.com/ts3npl.php 到注册页面
  选择 continue 然后 i agree 填写注册信息
  必须填写
  first name
  last name
  email
  confirm email
  address1
  city
  postal code
  county
  phone
  可以随便写只要email有效可以收到邮件即可
  最下面是看图片填写图片里的单词,看不清楚就刷新
  点下边的submit
  成功后会出现一条确认的网页,确认后到你刚才注册的邮箱会收到一封电子邮件,将里边的链接直接点击或者复制后粘贴到浏览器的地址栏里回车后出现一个注册成功的信息,正常的话15分钟内你的邮箱会收到一个授权key的邮件,key在附件里,使用方法为将放安装目录里,重启服务器就行了。


3.4        添加虚拟服务器
在Teamspeak 2版本中可以通过WBE界面登录管理添加,而现在Teamspeak 3版本必须得到授权许可后才可以用telnet命令来添加新的虚拟服务器;也可以用putty远程telnet到主机的默认10011管理端口上维护,我相信现在一般没人这么干的吧。
$ telnet 127.0.0.1 10011
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
TS3
login serveradmin DC74H+av
#输入账号和密码
error id=0 msg=ok
servercreate virtualserver_name=longshen virtualserver_port=9988 virtualserver_maxclients=32
#输入添加虚拟服务器命令,虚拟服务器名称,虚拟服务器端口,上限人数
------------------------------------------------------------------
                      I M P O R T A N T                           
------------------------------------------------------------------
      ServerAdmin privilege key created, please use it to gain
      serveradmin rights for your virtualserver. please
      also check the doc/token_guide.txt for details.
       token=QxZ0vpSVViffC/UgjLOD8EBZOXLBdbeZUyv0nSmk
------------------------------------------------------------------
sid=2 token=QxZ0vpSVViffC\/UgjLOD8EBZOXLBdbeZUyv0nSmk virtualserver_port=9988
error id=0 msg=ok
看到error id=0 msg=ok表示命令输入成功,可以看到虚拟服务器2的令牌了。
赶紧用客户端登录看看吧


3.5        虚拟服务器常用操作命令
首先要telnet登录上管理端口:
#启停虚拟服务器
serverstop sid=1
serverstart sid=1
#进入虚拟服务器1
use sid=1
#查看服务器状态
serverlist
#添加令牌Admin Server Query Group
tokenadd tokentype=0 tokenid1=2 tokenid2=0 为添加Admin Server Query Group
#添加令牌Server Admin
tokenadd tokentype=0 tokenid1=9tokenid2=0 为添加Server Admin
#tokentype 如果为0则后面的tokenid1代表服务器的用户组,如果为1为tokenid1为频道组id,tokenid2为频道id,tokenid1 服务器用户组的代号1-8,sgid为服务器组ID
#cldbid为客户端的id号,在分割窗口的左边点击自己的名字,在右边显示的数据库id就是你的代号,其代表客户端在服务器的身份标识和UID功能相同。

#查看正在使用的token
tokenlist
#删除token
tokendelete token={tokenKey}
#将客户端加入某个组
servergroupaddclient sgid={groupID} cldbid={clientDBID}
#加入Server Admin Group
servergroupaddclient sgid=6 cldbid=2
#加入SAdmin Server Query Group
servergroupaddclient sgid=2 cldbid=2
#将客户端从某个组中删除
servergroupdelclient sgid={groupID} cldbid={clientDBID}
#从Server Admin Group 中删除
servergroupdelclient sgid=6 cldbid=2
#从SAdmin Server Query Group 中删除
servergroupdelclient sgid=2 cldbid=2
#查看服务器组中的客户端,注意根据要查看的组决定是否使用use 1命令
servergroupclientlist sgid={groupID} [-names]
#查看客户端说在的组
servergroupsbyclientid cldbid={clientDBID}
#删除虚拟服务器
serverdelete sid={serverID}
#停止服务器进程
serverprocessstop
server安装目录下的doc文件下有介绍,详细的命令行管理文件介绍ts3_serverquery_manual.pdf

4        Client管理操作
4.1        连接服务器
第一个菜单Connections->connect

4.2        提升为自己为SA管理员权限
第四个菜单Permissions->Use token

4.3        修改虚拟服务器最大用户数
第五个菜单Tools->Edit Virtual Server

4.4        上传个性化头像
选择自己点击鼠标右键选择Set Avatar上传个性化头像


其他操作可以请自行尝试。

5        结束语
截止到此大功告成,大家可以尽情享受新功能,一起开怀畅聊K歌。


PS:版权所有,转载、刊登、摘录请注明出处

论坛上传图片太累,请下载图文并茂版:
Teamspeak 3.pdf (613.13 KB, 下载次数: 320)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP