[求助] 有1.6局域网服务器问题!!!!服务器高手请进!
我自己建的服务器,想在局域网上用.建好了,但我加不进去,弹出来 Invalid STEAM UserID Ticket ,同学加也出现同样的错误.哪位服务器高手帮忙分析一下,拜谢! 你 logout后再login一次。 我也是局域网里建的, 而且是HLServer 1.1.2.0 + No-CD-key patch.试过很多次了, log out, log in, log out, log in.
最后还是一样的, 局域网里的机器一连就说Invalid Steam UserID Ticket.
但是外网的人可以通过我的external ip连进来. 局域网里的电脑也可以连到外网的server去.
估计是因为局域网内连的时候, IP是internal的, 不能经过steam验证, 但只要连出去, 就有一个对应的external IP可以被验证的.
最后, 有必要说一下, 因为局域网自身也有不同的连接方式, 可能有些就没有这样的问题, 只是我自己的局域网有这个问题而已. 我就我们学校局域网的情况来谈谈我的猜测:
--------------------------------------------------------------------------------------------------------------
背景:
我们学校现在所有电脑就算是一个大的局域网, 通过学校的若干主机接入Internet, 并且使用了NAT路由技术. 在用局域网里的电脑建一个CS1.6的Server后, 局域网内部的人无法连进去, 会出现Invalid Steam UserID Ticket的错误对话筐, 不管试多少次都是这样. 反倒是学校外部的人可以通过Server的External IP连进来. 还有局域网内部的电脑连进外面的CS1.6 Server基本没有这样的问题, 偶尔遇上, 多连几次就解决了.
猜想:
这可能跟Steam的验证机制有关. 当局域网内部的CS1.6客户端在登陆Steam的时候, 会向Steam的Server发送一些数据包, 其中包括了客户端的IP等信息. 通过了Steam server的验证, 客户端的SteamID以及外部IP就存放在了Steam server的在线用户database里. 当客户端连接一个CS1.6服务器的时候, 也会向服务器发送包含IP等信息的数据包. 游戏服务器在读取了客户端的IP信息后, 向Steam server发出询问, 如果客户端的IP在Steam server的在线用户database里面, steam server就会向游戏server返回"通过"的response, 这样客户端就可以顺利进入游戏服务器了.
解释:
那个多试几次就能解决问题的情况 (或者如很多网友所述, 先退出再登陆就解决了), 原因可能是网络太繁忙, 游戏server无法向steam server取得验证结果, 导致客户端连接游戏失败. 另外一种情况是无法连接同一个局域网里的游戏server, 这个时候可能就跟NAT有关了. 因为局域网里的客户端登陆Steam的时候, 数据包的IP信息先由NAT路由翻译成外部IP了. 当连接外部的游戏server时, 向游戏server发送的IP信息也是这个经过翻译得到的外部IP, 所以能顺利连进去. 但是在连接自己局域网内部的1.6 server的时候, 由于不需要经过NAT路由器, 所以发送给游戏server的IP是未经翻译的内部IP, 而这个IP不在Steam server的在线用户的database里面(在里面的是你的外部IP), 这样就通不验证而出现Invalid Steam UserID Ticket的问题.
----------------------------------------------------------------------------------------------------------------
目前在我们学校内部建CS1.6 server还不可能, 现在只有等网上高手出免Steam验证的补丁了. 呵呵~~
页:
[1]