我有一个TeamSpeak服务器,托pipe在域名为ts4.gameservers.com的GameServers帐户上,端口号为9102.我设置了一个CName,将ts.valhallashalls.comredirect到ts4.gameservers.com,但是将I仍然必须使用服务器内的端口号。
由于游戏服务器主机为TeamSpeak使用非标准端口号,可以使用ts.valhallashalls.com中没有端口号的SRVloggingredirect到端口号为9102的Teampeak服务器。
默认情况下,TS3服务器在端口9987(UDP)上创build虚拟语音服务器。 ServerQuery正在侦听端口10011(TCP),文件传输将使用端口30033(TCP)。
所以我想要做的是redirectts.valhallashalls.com,没有端口号,所以当试图连接一个团队说客户端,它会自动尝试连接到端口9987,并透明地将其redirect到正确的端口号。
我可以用SRVlogging来做这个吗?
在Mac,Linux和Windows上的TeamSpeak客户端版本3.0.8及更高版本中,您现在可以使用SRVlogging连接到您的服务器。 格式如下。 目前,在iOS和Android版本的TeamSpeak上不支持SRVlogging。
TS3服务器的SRVlogging的格式是:
_ts3._udp.name TTL IN SRV priority weight port target
还可以为一个域的TSDNS服务器添加SRVlogging,格式为:
_tsdns._tcp.name TTL IN SRV priority weight port target
解决时的优先级是:
以我的服务器细节为例,我可以通过以下方式在我的valhallashalls.com域上设置SRVlogging,使用ts作为子域来连接到由GameServers托pipe的TeamSpeak服务器。
_ts3._udp.ts 3600 IN SRV 0 100 9102 ts4.gameservers.com
我们不再使用GameServers作为我们的主帐户,因为我们有MediaTemple托pipe的VPS。 为此我设置了一个服务器select,一个在VPS上,我保留了Game Servers帐号作为备份,最后一个在我的家庭连接上。 它们分别在我的域名中被ts1,ts2和ts3的CNAME所共享。 这允许进行冗余设置。
ts1.valhallashalls.com. CNAME @. ts2.valhallashalls.com. CNAME ts4.gameservers.com. ts3.valhallashalls.com. CNAME <my ip address>. SRVlogging看起来像这样
ts3_.udp.ts 3600 IN SRV 0 100 9987 ts1.valhallashalls.com ts3_.udp.ts 3600 IN SRV 1 100 9102 ts2.valhallashalls.com ts3_.udp.ts 3600 IN SRV 2 100 9987 ts3.valhallashalls.com SRVlogging不会自己“做”任何事情。 必须开发客户端才能使用这些SRVlogging来了解如何查找或连接到给定的服务。
search结果显示, teampeak似乎决定自己构build一个“TSDNS”协议 ,这个协议似乎是一个特殊的服务器,你必须在一个特定的端口上运行,这样TS才能问“真实的”连接到哪个端口。 看来,截至5月份,让客户端通过SRVlogging查找服务器仍在计划中 。
如果您使用Apache作为web服务器,则可以执行mod重写规则,将ts.v.com上的请求转发到ts4.game …. com服务器,并包含端口号。 是基于服务的http还是直接cOnnecting的程序?