搜索
楼主: diypig

使用windows2003补丁发现的问题!!

[复制链接]
发表于 2005-6-18 16:53:15 | 显示全部楼层 来自 中国–福建–龙岩
Post by diypig
在192.168.0.241这台服务器上的status信息
15:28:22 hostname:  椋瓒缃缁浼插?CS1.6 姣璧″?
         version :  47/1.1.2.5/Stdio 3144 insecure
         tcp/ip  :  220.174.208.209:27016
         map     :  de_dust2 at: 0 x, 0 y, 0 z
         players :  0 active (16 max)
         

首先,你把hosts恢复为原始。运行服务器使用 +ip 192.168.0.241
我估计就是这个hosts文件导致TCP/UDP解析错误。
只有status显示为192.168.0.241时,NAT才有效。:D
回复

使用道具 举报

 楼主| 发表于 2005-6-18 18:03:38 | 显示全部楼层 来自 中国–广东–深圳–南山区
Post by 金闪闪
首先,你把hosts恢复为原始。运行服务器使用 +ip 192.168.0.241
我估计就是这个hosts文件导致TCP/UDP解析错误。
只有status显示为192.168.0.241时,NAT才有效。:D

原始文件就是只有127.0.0.1这行而已,这时status显示127.0.0.1:27016
让status显示为192.168.0.241很容易,在hosts第一行里用192.168.0.241 hostname就可以了.(这个也试过了)现在我不是NAT无效问题,我在192.168.0.x/24的机器上连接192.168.0.241:27016同样提示错误.此时是没有NAT的.
我现在想不明白有2网卡的机器怎么没有问题.这个问题看来只有windows2003才清楚些吧.毕竟engine_i686.so是他破解的.
另问下闪闪兄国外现在有没有新的engine_i686.so补丁没?
回复

使用道具 举报

发表于 2005-6-18 21:44:02 | 显示全部楼层 来自 中国–福建–龙岩
Post by diypig
原始文件就是只有127.0.0.1这行而已,这时status显示127.0.0.1:27016
让status显示为192.168.0.241很容易,在hosts第一行里用192.168.0.241 hostname就可以了.(这个也试过了)现在我不是NAT无效问题,我在192.168.0.x/24的机器上连接192.168.0.241:27016同样提示错误.此时是没有NAT的.
我现在想不明白有2网卡的机器怎么没有问题.这个问题看来只有windows2003才清楚些吧.毕竟engine_i686.so是他破解的.
另问下闪闪兄国外现在有没有新的engine_i686.so补丁没?

那是hlds_l优先读取hosts的DNS导致的。hosts负责本地localhost等一些DNS的解析。
我的意思,恢复原始后,用带 +ip 192.168.0.241参数重新启动。

难道说恢复hosts后,用这个IP参数启动,status看还是127.0.0.1么?我看不会吧。:D
回复

使用道具 举报

发表于 2005-6-18 22:37:09 | 显示全部楼层 来自 中国–江苏–无锡
Post by diypig
原始文件就是只有127.0.0.1这行而已,这时status显示127.0.0.1:27016
让status显示为192.168.0.241很容易,在hosts第一行里用192.168.0.241 hostname就可以了.(这个也试过了)现在我不是NAT无效问题,我在192.168.0.x/24的机器上连接192.168.0.241:27016同样提示错误.此时是没有NAT的.
我现在想不明白有2网卡的机器怎么没有问题.这个问题看来只有windows2003才清楚些吧.毕竟engine_i686.so是他破解的.
另问下闪闪兄国外现在有没有新的engine_i686.so补丁没?


因为我的确没有在内网环境下测试过

为了你这个问题,今天我装了测试系统,模拟与你类似的环境

在这里我可以向大家说明:我提供的补丁engine_i686_3144.rar 对现在的CS16 linux server b3144 是完全可以使用的。

1.Internet 服务器
测试完全没有问题(这个在当初做完patch后就在自己的机器上测试过的),可以登入,不会频繁宕机,可以在server list中刷出
启动参数
./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg +ip "你的公网ip" -port 27016 -insecure +sv_lan 0 +sv_region 4


2. 内网局域网服务器
没有问题,不能在局域网游戏中列出,但这不影响玩,可以用connect ip:port 方式登入,或者
在收藏中添加服务器
启动参数 用sv_lan 0 ,不用ip 也可以
./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg +ip "你的ip" -port 27016 -insecure +sv_lan 0 +sv_region 4


3.在路由器或者防火墙后面的服务器
(就是楼主遇到的情况)
路由器或者防火墙上有公网ip 和内网ip,服务器只有内网ip ,通过路由器或者防火墙做NAT(网络地址转换)上Internet,同时希望能从内网和外网连入服务器。
启动参数
./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg  -port 27016 -insecure +sv_lan 0 +sv_region 4

发现问题:无法在server list中刷出,目前还没有时间继续研究解决这个问题

其他问题:一切正常,内网、外网都可以正常连入

此次测试使用设备如下:

防火墙:
Cisco pix 一台
另一个国外品牌(我删去了名字) 一台
国产品牌  一台

路由器:
Cisco 2600 一台
某国产品牌 一台

CS Server:
PC 1G RAM RAM 80G HD 2台
其中一台PC上通过VMWare workstation 安装了不同的Linux操作系统 Redhat 9.0 Suse 9.3 Centos 4 redhat 8.0 (常见的,其他因为手头没有来不及下载了,但我想也够了,包含了2.4和2.6不同版本的内核了)

客户机:
PC 2台
WinXp sp2 , CS 1.6 3147 (自己从steam中提取) /DT 版beta 0.6

交换机:
Cisco 两台

Internet 线路两条

测试示意图如下:

Internet <--->防护墙或者路由器(从上面任选一台)<--->服务器<---->局域网客户机
   

另一台客户机<----> 另一条Internet线路<----->服务器(映射到公网的IP)


整个测试从早上8:30----晚上7:00



――――――――――――――――――――

可能会造成一些问题的原因推测:
1.服务器版本的完整性
建议从DT交流ftp上下载完整的 hlserver3144.tgz
先用ftp上传到服务器上,然后用 tar -xzvf hlserver3144.tgz 解压

2.补丁的正确性
到目前为止国外无正确补丁,建议从DT置顶的帖子中下载engine_i686_3144.rar,先删除原有engine_i686.so,然后解压并上传补丁文件至相应文件夹,现有补丁只对i686结构的机器有用,在shell下用arch命令查看

3.启动脚本的正确性
见上面不同的应用环境

4.网络环境的正确配置
服务器上软件防火墙设置,硬件防火墙、路由器的正确配置,尤其是在端口映射

Valve steam正常工作所用端口
客户端:这里我们不管
UDP 1200 (steam 好友服务)
UDP 27000 -- 27015  (Client 用)
TCP 27020 -- 27039
TCP 27040 and 27041 only for CyberCafe Owners

服务器必须:

UDP: 27015 --  27019 (HLDS ,SRCDS的端口) 我们所要映射的
UDP: 27020 (一般作HLTV port)
TCP: 27015 (SRCDS Rcon port)

常见的低端路由器(DSL、Cable等),端口映射配置说明(英文)

http://www.portforward.com/routers.htm

高端路由器和防火墙请仔细阅读产品配置手册


--------------------------------------------------------------------------------------------------------

DiyPig朋友所遇到的问题我分析很有可能两种情况:

1. 服务器版本不完整
  请下载我上传得完整版 hlserver3144.tgz ,在DT ftp上
2. 补丁不正确
  请下载 http://www.dt-club.net/showthread.php?t=20690 中   engine_i686_3144.rar
3. 启动脚本
  你测试时可以不要运行你的脚本,尽量简化
直接用命令 在shell 下,把debug也开了吧
./hlds_run -debug -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg  -port 27016 -insecure +sv_lan 0 +sv_region 4



请继续测试,直至圆满解决这个问题,尽量把你的具体设置、调试信息等贴出来,我想应该对其他人有帮助,谢谢
回复

使用道具 举报

发表于 2005-6-18 23:48:02 | 显示全部楼层 来自 中国–福建–龙岩
我才发现,原来windows2003是电信大客户呀,用的都是世界品牌。
那像我的兼容PC。咳。:D

说来说去,我看出就出在diypig的NAT那台服务器上,这个服务器做为代理/NAT等多种功能。:D

干脆再搞次DMZ到192.168.0.241实验就知道了。:boss:
回复

使用道具 举报

发表于 2005-6-19 00:15:29 | 显示全部楼层 来自 中国–广东–深圳
windows2003是个高手呀。:super:

对楼主的问题还特意做了模拟测试,本人非常敬佩。
回复

使用道具 举报

 楼主| 发表于 2005-6-19 09:00:09 | 显示全部楼层 来自 中国–广东–深圳–南山区
Post by windows2003
因为我的确没有在内网环境下测试过

为了你这个问题,今天我装了测试系统,模拟与你类似的环境

在这里我可以向大家说明:我提供的补丁engine_i686_3144.rar 对现在的CS16 linux server b3144 是完全可以使用的。

1.Internet 服务器
测试完全没有问题(这个在当初做完patch后就在自己的机器上测试过的),可以登入,不会频繁宕机,可以在server list中刷出
启动参数
./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg +ip "你的公网ip" -port 27016 -insecure +sv_lan 0 +sv_region 4


2. 内网局域网服务器
没有问题,不能在局域网游戏中列出,但这不影响玩,可以用connect ip:port 方式登入,或者
在收藏中添加服务器
启动参数 用sv_lan 0 ,不用ip 也可以
./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg +ip "你的ip" -port 27016 -insecure +sv_lan 0 +sv_region 4


3.在路由器或者防火墙后面的服务器
(就是楼主遇到的情况)
路由器或者防火墙上有公网ip 和内网ip,服务器只有内网ip ,通过路由器或者防火墙做NAT(网络地址转换)上Internet,同时希望能从内网和外网连入服务器。
启动参数
./hlds_run -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg  -port 27016 -insecure +sv_lan 0 +sv_region 4

发现问题:无法在server list中刷出,目前还没有时间继续研究解决这个问题

其他问题:一切正常,内网、外网都可以正常连入

此次测试使用设备如下:

防火墙:
Cisco pix 一台
另一个国外品牌(我删去了名字) 一台
国产品牌  一台

路由器:
Cisco 2600 一台
某国产品牌 一台

CS Server:
PC 1G RAM RAM 80G HD 2台
其中一台PC上通过VMWare workstation 安装了不同的Linux操作系统 Redhat 9.0 Suse 9.3 Centos 4 redhat 8.0 (常见的,其他因为手头没有来不及下载了,但我想也够了,包含了2.4和2.6不同版本的内核了)

客户机:
PC 2台
WinXp sp2 , CS 1.6 3147 (自己从steam中提取) /DT 版beta 0.6

交换机:
Cisco 两台

Internet 线路两条

测试示意图如下:

Internet <--->防护墙或者路由器(从上面任选一台)<--->服务器<---->局域网客户机
   

另一台客户机<----> 另一条Internet线路<----->服务器(映射到公网的IP)


整个测试从早上8:30----晚上7:00



――――――――――――――――――――

可能会造成一些问题的原因推测:
1.服务器版本的完整性
建议从DT交流ftp上下载完整的 hlserver3144.tgz
先用ftp上传到服务器上,然后用 tar -xzvf hlserver3144.tgz 解压

2.补丁的正确性
到目前为止国外无正确补丁,建议从DT置顶的帖子中下载engine_i686_3144.rar,先删除原有engine_i686.so,然后解压并上传补丁文件至相应文件夹,现有补丁只对i686结构的机器有用,在shell下用arch命令查看

3.启动脚本的正确性
见上面不同的应用环境

4.网络环境的正确配置
服务器上软件防火墙设置,硬件防火墙、路由器的正确配置,尤其是在端口映射

Valve steam正常工作所用端口
客户端:这里我们不管
UDP 1200 (steam 好友服务)
UDP 27000 -- 27015  (Client 用)
TCP 27020 -- 27039
TCP 27040 and 27041 only for CyberCafe Owners

服务器必须:

UDP: 27015 --  27019 (HLDS ,SRCDS的端口) 我们所要映射的
UDP: 27020 (一般作HLTV port)
TCP: 27015 (SRCDS Rcon port)

常见的低端路由器(DSL、Cable等),端口映射配置说明(英文)

http://www.portforward.com/routers.htm

高端路由器和防火墙请仔细阅读产品配置手册


--------------------------------------------------------------------------------------------------------

DiyPig朋友所遇到的问题我分析很有可能两种情况:

1. 服务器版本不完整
  请下载我上传得完整版 hlserver3144.tgz ,在DT ftp上
2. 补丁不正确
  请下载 http://www.dt-club.net/showthread.php?t=20690 中   engine_i686_3144.rar
3. 启动脚本
  你测试时可以不要运行你的脚本,尽量简化
直接用命令 在shell 下,把debug也开了吧
./hlds_run -debug -pingboost 3 -game cstrike +map de_inferno +maxplayers 12 +servercfgfile server.cfg  -port 27016 -insecure +sv_lan 0 +sv_region 4



请继续测试,直至圆满解决这个问题,尽量把你的具体设置、调试信息等贴出来,我想应该对其他人有帮助,谢谢

问题解决了!看了你的测试.我确定了问题出在我这边了.仔细检查了服务器各项配置文件,发现问题出在server.cfg上!!!原因是当时我们这有个站队要打ESWC,我把eswc的server规则复制到服务器的server.cfg里了.里面竟然有sv_lan 1 sv_lan_update 20000 2个参数,我想是因为sv_lan 1的问题.原来我用cs.rin.ru的5月15的enging_i686.so可以使用是因为这个破解默认是运行在sv_lan 1的..然后我把cpl的server规则配置复制到server.cfg里后问题解决了。
你说的2个问题一个没有在server_list里刷到.我这2个F可以刷到了.(很奇怪为什么会刷到了,原来一直没有刷成功过.原来直接用正版的engine_i686.so在NAT后也没有刷出过,刷出来了不知道原因也挺郁闷的)还有LAN在客户端不能浏览估计和sv_lan 0有关.我不用sv_lan 0在启动脚本也可以使用.我想lan刷不到应该是sv_lan 0的问题.我的双网卡F使用的就是没有sv_lan 0的启动脚本.在LAN里刷得到.也可以直接进入.
在这里向windows2003道歉了.我没能查全服务器的每项设置引发的低级错误害兄弟辛苦花了时间测试了.真是不好意思!!
另外我想请问下engine_amd.so engine_amd64.so的破解和engine_i686.so的区别很大吗?
如果不大的话怎么不顺便也破解engine_amd64.so 和engine_amd.so呢?我相信现在由于AMD的U性能越来越强大,使用的人会多得多的.如果兄弟没有AMD的机型,可以破解后我帮忙测试OK?
还有linux使用2.6的内核时换子弹速度会变快。这个问题我一直不明白什么原因.你有在2.6内核里感觉到换子弹速度的区别吗?所以比赛服务器还又换回2.4内核了.
220.174.208.220:27015<27016> 系统Red Hat Enterprise Linux AS 4 内核2.6.9-5.CPU P4 2.4C 2X256 RAM(换子弹速度明显比下面的系统快)
220.174.208.209:27015<27016> 系统Red Hat Enterprise Linux AS 3 update3 内核2.4.21-20.EL CPU P4 1.6A 256RAM
可以进入测试对比两个服务器的换子弹速度.
回复

使用道具 举报

发表于 2005-6-20 11:19:43 | 显示全部楼层 来自 中国–陕西–西安
windows2003兄弟 我用dt  ftp里的hlserver3144 那个包 怎么加载不了mm和cd阿
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表