TeamSpeak 服务器LINUX下配置

 

TeamSpeak(以下简称TS)是一种专门为网络游戏玩家设计的IP语音通信系统,是目前全球最流行的网游语音通信平台。目前,TeamSpeak已成为各大游戏战队的必备“武器”。TeamSpeak采用客户端/服务器结构,它不同于QQ或MSN,它可实现多人的语音通信功能,它也不同于Netmeeting,无需得到对方IP地址就可以实现多人语音群聊。此外,TS还针对网游的需求设置了快捷键功能,私聊功能等,是一款能真正满足网游玩家需求的产品。有了TeamSpeak,你和队友之间的通信就会变得异常方便,从此不再为打字慢而烦恼了。

安装之前

系统需求:
客户端:
Windows: Pentuim 166MHz、64MB内存、5M硬盘空间
Linux: Pentuim 166MHz、64MB内存、15M硬盘空间
服务器:
Windows: Pentuim 133MHz、64MB内存、DirectX8.1
Linux: Pentuim 166MHz、32MB内存

编解码器、带宽以及通话品质

TS的通话效果完全取决于所选取音调编码器。因此,TS服务器搭建中,最重要的就是“编解码器”。不同的编解码器获得的通话质量不同。CELP编解码器需要的带宽小,但声音失真比效大,GSM编解码器需要很大的带宽,但能提供清晰的自然的声音。这部分内容主要是建立服务器的时候需要考虑的,服务器使用的是什么解码方式,用户是无法改变的,因此在这就不复述了。

一、服务器端安装

由于Windows的安装比较简便,本文只介绍如何在Linux上安装和使用,因为TS的服务器端软件不支持MYSQL-Server4.X的版本,所以只得使用低版本3.X的MYSQL数据库!

TS所在的服务器: RedHat AS 4
数据库版本:3.23.44(远程数据库,因为AS 4上自带的数据库是MYSQL4.X的版本)
安装、配置、启动TS服务端程序
在下载之前, 我们先建一个普通用户ts
在进入root用户,执行:

#useradd ts

(#表示root用户,$表示普通用户,下同)这样就建立了一个叫ts的用户,专门来启动ts的服务,这也是为了安全考虑,而且ts在root下是不能启动,提示一定要用普通用户来启动。

接着我们切换到ts用户下载:
$ wget -c ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_server_rc2_20201.tar.bz2

接着对该软件进行解压:
$ tar jxvf ts2_server_rc2_20201.tar.bz2

切换到tss2_rc2目录:
$cd tss2_rc2

在这个目录下我们可以看到如下文件:
changelog.txt INSTALL libsqlmy.so manual.html README sqlite.so tcpquerydocs httpdocs INSTALL.mysql Manual mysql_sql server_linux sqlite_sql teamspeak2-server_startscript

其中teamspeak2-server_startscript就是TS服务器程序的启动脚本。

如果不需要MYSQL支持,我们就可以直接执行:

$./teamspeak2-server_startscript start来启动程序了!所以,下面我们必须配置成支持MYSQL的,下面是配置文件server.ini的内容:

[Main Config]
BoundTolp1=
ExternallPdectection=1
HTTPServer Port=14534 #这里是通过WEB访问的端口,默认就是14534
HTTPServer Enabled=1
DateTimeFormat=dd-mm-yyy hh:nn:ss
TCPQueryPort=51234
AllowedClientNameChars=
DisAllowedClientNameChars=()[]{}
[debug]
MessageTypes=LMTALL
MessageDepths=LMDALL
[WebPost]
AdminEmail=
ISPLinkURL=
ISPName=Bixuan
ISPCountryNumber=0
Enabled=1
PostURL=
ListPublic=1
UserAgent=
[log]
access_r=0
access_u=0
channel_registerred=0
channel_unregisterred=0
sa=0
chat=0
kick_server=0
kick_channel=0
[Spam]
max_commands=10
in_seconds=2
[DBEXPRESS]
sqldir=mysql_sql/
Dirvername=mysql
Database=ts
Hostname=192.168.0.2 #这里因为mysql3.23.44所在服务器IP,笔者用了远程连接数据库
User_name=ts
Password=test
GetDriverFunc=getSQLDriverMYSQL
VendorLib=/usr/lib/mysql3/mysql/libmysqlclient.so.10.0.0
LibraryName=./libsqlmy.so
Active=1

完成之后,我们最后就可以启动TS服务了,执行:

$./teamspeak2-server_startscript start

在没有提示任何错误后,说是启动成功!

可以使用:netstat -nlp看到:

tcp 0 0.0.0.0:51234 0.0.0.0:* LISTEN 634/server_linux
tcp 0 0.0.0.0:14534 0.0.0.0:* LISTEN 634/server_linux
udp 0 0.0.0.0:8767 0.0.0.0:* 634/server_linux

这样的记录,说明TS服务用的是UDP协议,而且服务端口是在8767,当然这个端口是可以改变的,在配置中我们会介绍如何更改端口。

为了能让TS服务器在系统启动就运行,则在/etc/rc.local加入:

/bin/sh su - ts -c “cd /home/ts/tss2_rc2; ./teamspeak2-server_startscript start”

注:设置防火墙信任,添加端口:8767,类型:UDP

 

其实TS服务器端在第一次启动后,系统会自动建立相应的数据表,数据表如下:

表名 说明
ts2_bans 记录被IP
ts2_channel_privileges 记录频道的相关信息,比如频道名字、主题、描述、密码等
ts2_channels Browse 服务器上频道表
ts2_clients Browse 记录用户信息表,包括用户名、密码登陆时间等
ts2_server_privileges 服务器权限表、所有的权限都在里面标记着
ts2_servers TS服务器列表

二、管理TS服务器

管理TS服务器,我们可以通过WEB界面来管理,当然也可以通过TS客户端来管理,下面笔者分别进行简单介绍!

1.通过web界面来管理

根据前面的操作,TS服务的WEB监听端口为:14534,所以,只要打开:http://IP:14534(TS服务器的IP)就可以打开WEB管理界面:

第一次使用时,我们必须要查看初始密码:

$ ./teamspeak2-server_startscript passwords
Following passwords were generated on 21-03-05 10:58:16
superadmin = “ks1jin”
admin = “maw1fl”

输入用户名密码登陆。这里为了适合国人的习惯,最好是进入ts所在目录的httpdocs目录,修改:vi header.html中的:

以免在数据库中加入中文的信息后在WEB界面示示乱码。

接下来,我们可根据需要,进行服务设置,用户管理等设置。需要注意的是,在添加用户的时候,要特别注意一下:”ServerAdmin”这里在这里打上”对号”则表示添加的用户是这个服务器的管理员,和admin这个账号的权限是一样的,否则就是普通的用户。

这里需要提醒大家,当某个用户被设置为“Superadmin”权限时,该用户是不能通过TS的客户端登陆服务器的。因为这个用户的权限实在是太大了。Superadmin只能通过WEB来登陆,地址是:http://IP:14534/slogin.html。

通过superadmin这个账号的权限,我们可以建立多个服务器!点“Main Menu”–>“Servers”就可以看到图8所示的服务器列表。用户“add server”就可以添加一组服务器,这里我们点“Add”则可以添加一个叫“金港专用TS服务器”的服务器,监听端口在:8768,这个端口可以自由设置,当然不要设置小于1024的和已经被占用的端口,防止不必要的冲突。在没有任何提示错误的情况下,则添加成功,再次点“Main Menu”–>“Servers”,我们就可以看到图10所示的服务器列表。当然默认的情况下“金港专用TS服务器”的服务器是没有启动的,需要点“start”按钮来启动该服务器!

通过WEB来管理,很简单,但是有些功能却不可以实现,比如添加频道、修改频道、添加子频道等等功能,而这些功能通过TS的客户端却可以很方便的实现。

2.通过TS客户端进行TS服务器管理

客户端系统:MagicLinux1.2 final
ts客户端软件:ts2_client_rc2_2032.tar.bz2

(1)下载:

下载地址:ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_client_rc2_2032.tar.bz2

(2)安装

切换到ts2_client_rc2_2032.tar.bz2文件所在的目录后,

#tar jxvf ts2_client_rc2_2032.tar.bz2
#cd ts2_client_rc2_2032

这里可以看到一个:setup.sh的安装脚本,直接执行该脚本就可以安装了!

#./setup.sh

整个安装过程都是在图形界面实现,非常简单。

(3)起动ts客户端

默认的情况下,软件安装在:/opt/TeamSpeak2RC2,笔者是按照默认的路径安装,所以切换到该目录:

#cd /opt/TeamSpeak2RC2
# ./TeamSpeak2RC2 &

就可以启动TS客户端,出现一个非常漂亮的色窗口,这个窗口分成3个部分:左边是连接窗口,显示连接相关的信息,如服务器名称,所在频道,频道内的人员等。界面的右侧是信息窗口,显示左测连接窗口内选中项目的有关信息。界面的下部是事件窗口,显示TS内发生的所有事件(如某人连入、某人退出等),以及别人发给你或你发给别人的文本信息。

在频道后面的括号内的字母叫做“标记”

“R”代表 注册的
“U”代表 未注册的
“M”代表 有限制的
“P”代表 密码保护的
“S”代表 子频道
“D”代表 默认的

频道内的人的昵称后面也有“标记”,含义如下:

“SA”表示服务器管理员
“CA”表示频道管理员
“O”表示操作员
“AO”表示自动操作员
“V”表示声音
“AV”表示自动声音
“WV:………”表示该用户在请求会话权,冒号后面的部分是用户发出的请求理由。

(4)连接服务器

这里连接服务器有两种方式:连接和快速连接

<1>连接:点“Connection”菜单–>“Connect”,在左边的空白地方点右键–>“Add server”,输入相关的信息点“Connect”就可以联接服务器。

在这里有两个地方需要注意:一是在“Server Address”框里添的服务器地址务必加上端口号;如图中的端口号是8767;二是如果账号未注册的请不要在Password框里输入密码,否则会提示账号或者密码错误!

<2>快速连接:点“Connection”菜单–>“Quick Connect”。输入相关的信息,点“Connect”,连接成功后会出现提示音!

(5)频道管理

因为superadmin不可以通过客户端登陆,能通过客户端管理最大权限的用户就是admin,这里以admin为便简单的介绍一下频道(包括子频道)的管理。

<1>创建频道

只有足够的权限,或者是服务器管理员(SA),才可以在服务器上创建新的频道。点击“Channel”菜单–>“Create Channel”弹出窗口。

“Name”,频道名,必须填
“Topic”,话题,可选。此外的内容显示在TS右侧信息窗口吕。
“Password”,密码,如果只让授权用户进入频道,在此设置密码。
“Codec”,编解码器。下拉框中列出了服务器允许使用的所有纺解码器。选一个合适的。其实这是一个带宽问题,如果服务器带宽足够,可选GSM类,如果担心服务器带宽,则选CELP类。
“Descr”,描述,可选,最多100个字符。此处内容也是显示在TS右侧信息窗口中。
“Max Users”,设置频道最大用户数目。
“Flag”,标记。其中:“Registered”表示注册频道,它会长期驻留在服务器上,否则当频道内最后一个人离开时,该频道自动删除;“Moderated”表示有了限制的,频道内的用户必须有服务器管理员,频道管理员或者操作员分配给“语音”权利时才能说话,否则只能听着:“Sub-Channels”,子频道,选中此项允许在你的频道下面创建子频道;“Default”,默认频道。用户连接到服务器上时首先进入的频道,除非他在连接选项中设置了频道/子频道名称。

以上“Flag”选项根据用户权限不同,可选的项目也不同。全部完成后,点“Create Channel”创建频道。频道创建后你自动成为该频道的管理员(CA)。

创建频道的功能也可通过鼠标右键单击“连接窗口”任意处弹出的菜单上进行操作。

<2>编辑频道

点击“Channel”菜单–>“Edit Channel”与创建频道内容基本相同,你可以修改里面的各个项目。唯一不同的是在“Max Users”的右侧多出一个“Sort-Orders”的选项,默认值3200。通过这个选项的数值可以对频道进行排序。数值为“0”的频道将列在顶部,数值相同的频道则按字母顺序排序。

<3>删除频道

点击“Channel”菜单–>“Delete Channel”此功能删除选中的频道。删除前会出现提示,点“YES”继续删除,否则点“NO”。

同样该功能也可通过鼠标右键单击“连接窗口”任意处弹出的菜单上进行操作。

(6)用户管理

添加用户:“Self”–>“Admin Register Player With Werver”,如图15所示。如果在“Server Admin”前面打“对号”,则表示所添加的用户是管理员。

使用感受

TS最大的特色就是语音聊天,这里笔者和朋友专门做了测试,下面是在相同条件下:QQ、TS、SKYPE所进行的比较:

测试项目:
软件 CPU占用率 内存占用率 语音质量
TS 0.3% 6.4% 好
QQ >10% 14% 较好
SKYPE >20%有时100% 4% 很好

通过测试,TS的语音质量虽然属于中等,但是相比较而言它所占用的系统资源却是最少的!难怪很多网络游戏玩家都是通过TS来进行语音讨论,进行“战略部署”等等。还等什么,还不快去搭建自己的TS平台。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值