|
发表于 2003-12-17 17:21:59
|
显示全部楼层
|阅读模式
来自 中国–北京–北京
几天前就想写这篇文章,正好前两天和chriy网友又探讨到这方面的问题,因此将我的经验拿出来与各位共享,旨在抛砖引玉,不到之处,还请指正!
无论你的机器里有多少块网卡,cs server在启动时,只会将协议绑定在一块网卡上,在没有使用+ip的参数时,只会绑定到第一块网卡上,使用了+ip参数可以指定到其中的一块网卡,因此强烈建议第一块网卡的地址设定为内网的地址,以避免Server重起后加载到了其他地址上。让所有的客户端找到这台Server的关键是将全部的请求最终都指向到Server绑定的网卡上来。
再说说cs的客户端与Server建立连接的过程,这里只讨论udp的情况,ipx其实原理是一样的:
选择LanGame时,客户端先随机用本地的端口发送广播地址255.255.255.255,目标端口是27015~27024,Server收到后回应,客户端收到server的信息再经过确认后,就以27005的本地端口与server建立连接。在网上对战时,客户端不经过发送广播的过程,直接发送确认指令,收到Server回应后,还是以27005的本地端口与server建立连接。因此想在LanGame中刷到Server,即使你加了+sv_lan 1的参数,建Server时你的udp端口号一定要在27015~27024之间!!!
下面分几种情况说明:
1.用户通过在网上对战中输入Server地址能访问到就行
这种做法最简单,Server上不用做任何配置,只要启动cs时加入参数+ip x.x.x.x(外网网卡地址,如202.102.1.1),将内网的客户端网关指向Server内网的网卡地址(如192.168.1.1),客户机在网上对战中输入202.102.1.1的地址即可连接,内、外网都可以使用。
优点:Server配置简单
缺点:Server如果开了多个启动端口或变化了端口,内网用户就要重新改变列表
2.内网用户希望通过Lan Game刷出Server,同时外网用户可以通过输入外网ip地址进入
这种方式有些复杂,需要牵涉到端口映射,具体端口映射方法请参阅
http://www.pconline.com.cn/games ... o/10302/132795.html
这篇文章,自己多动手试试,一定没问题的,但要注意2点:
(1).一定要有个概念,是将访问外网网卡地址的udp端口映射成内网网卡地址的udp端口,别搞反了
(2).如果启动Server时没有设置+ip的启动参数,你的内网网卡一定要是第一块,否则Server很可能加载到外网的那块网卡上,这样局域网用户就刷不出server来了。如果加了+ip的启动参数,后面跟的一定要是内网的网卡地址。
优点:无论Server如何改变,局域网上的用户都能轻易找到并登入Server
缺点:配置略显复杂
其实,万变不离其中,只要掌握了第二种方法,就应该能举一仿三,轻易应对其他可能的情况。
上述情况仅在win2000 Server上测试过,其他操作系统没有进行过尝试,在这里只能建议大家安装2000 server了!
建好后,别忘了提高hlds的优先级,具体参阅:
http://bbs.dt-club.net/showthread.php?s=&threadid=8334
如有疑问,欢迎提出,大家共同交流,共同进步! |
|