lu0007 发表于 2007-3-2 14:28:52

建服不能被刷到的请跟帖!

1、说明目前情况
2、说明网络情况

我的状况目前是内网能进,外网用IP + 端口也可进
我的网络是 路由器(安奈特AR450S带防火墙)-交换机-服务器使用端口映射(UDP27015)我的交换机是所有VLAN的网关,往外网走的数据都是先交换机再路由器然后就出去了,没有做Nat!


**************************
也看了点通上无数的帖子了,一般的不会错,唯一有错的,就是我的路由器可能不支持回流!
关键这点我不会设置!
有相同命运的兄弟们跟个帖,大家想想有什么法子!

liutigers 发表于 2007-3-2 20:02:34

回复: 建服不能被刷到的请跟帖!

我的服务器是直接接路由器,端口映射后没什么问题。

lu0007 发表于 2007-3-2 20:41:32

回复: 建服不能被刷到的请跟帖!

START/HIGH hlds.exe -game cstrike -insecure +servercfgfile server.cfg -port 27015 +maxplayers 16 +map de_dust2 +sv_lan 0 -noipx -console +ip 0.0.0.0   

sv_region 4

这些我是都有了的!

lu0007 发表于 2007-3-3 09:05:03

回复: 建服不能被刷到的请跟帖!

有几个不解的地方,一是没有和MASTER服务器的27010 口联系,我用 TCPVIEW 没看到,反而和27030 联系了,怪!如附图 KS.JPG
二 是 这个27030 的TCP口联系也是过一会儿就断了的!如 JM.JPG图本地和27030联系的TCP 2765 口我也已经映射了,应该可以通的啊,怪!

lu0007 发表于 2007-3-3 14:41:40

回复: 建服不能被刷到的请跟帖!

网上找来的:
这是我个人摸索了2天成功架设CS服务器的经验!在此帖出来与大家分享!版主觉得好的话,请至顶让大家行个方便!

要架设一台CS服务器,就必须开放服务器防火墙(或ADSL路由防火墙)的UDP协议的27015(视你的CS服务器开放端口而定)。
一般来说的步骤:
1.下载并正确安装HLDS和CS Mod。win32版HLDS4111与CS1.5中文硬盘安装版
2.申请并安装好花生壳!(如果你有真正的固定的公网IP则可以跳过这一步)
3.防火墙上打开至少UDP协议的27015(视你的CS服务器开放端口而定)。如果需要语音通讯功能还要开放UDP27020之类的端口。

我在CS官方的BBS上看到是这么说的:
I am behind a firewall. What ports need to be opened for hlds?
Incoming UDP to local destination 27015.
Outgoing UDP to remote destination 27010, 27012.
Outgoing TCP to remote destination 5273.
Outgoing TCP to remote destination 7002.
you also need the following ports open:
27012 - for secure modules
27020 - for sound
Oh and make sure you open UDP ports.

总的来说也就是需要打开:
UDP协议的输出的27010端口
UDP协议的输出的27012端口
UDP协议的输出的27020端口
TCP协议的输出的5273端口
TCP协议的输出的7002端口
UDP协议的进入的27015端口,这个端口也就是你做服务器时-port所指定的端口,如果你不止开了27015这一个服务器,还开了诸如27016端口这样的服务器!!至于如何映射,我想不用我多说了吧!如果还真不知道,就请看至顶的有关端口映射的帖子!

4. 是否安装免CDKey补丁:我的看法:不装免CDKey补丁!原因:Public服务器的话,可以防止猖獗的作弊者(C-D也不能防住所有的作弊)OP在线的话可以记录下“它”的WONID,发布出来,但是如果你是免CDKey的服务器,别人可以换个非法的CDKey再上来,中国现在大部分用户都是动态IP,封IP也是不现实的事情,所以服务器安装免CDKey补丁也是作弊猖獗的原因之一。如果你是做局域网服务器则安装与否都无所谓了。
比赛服务器,如果是比赛服务器,不安装免CDKey补丁,可以通过记下对方战队的各人的Wonid来记住这个战队,无论是强是弱,今后就算换了队标/ID也能认出他们。
安装免CDKey补丁的理由,我想只有一个:人多杀的开心!不过我是觉得宁缺勿滥。
不过我想大多数人都会装上免CDKey的,在这里我也提供给大家下载!
1.5NOCDKey补丁
5.最后做个服务器的hlds.exe的快捷方式,然后在其属性里加上运行参数,例如:
E:\HLServer\hlds.exe -game cstrike -port 27015 -nomaster -insecure +map de_dust2 +maxplayers 12 +sv_lan 1然后启动就可以做好服务器了!以下是参数的部分解释!!
=======================================================
-game cstrike
指定hlds建立的是cstrike的服务器。如果想建dod的服务器,改为-game dod,其他mod类推。

-port 27015
指定服务器的端口为27015。如果不指定,默认为27015。

-nomaster
使服务器不到master服务器上登记。

-insecure
关闭vac(也有叫vsm的)反作弊。vac反作弊打开的话需要先到vac服务器进行won认证。

-console
hlds4111版本开始自带了一个gui界面,但是这样的话很多启动参数无效话,必须在gui界面手动选择后才能开始工作。用了-console参数就恢复了从前的控制台模式。

+map de_dust2
指定起始地图为de_dust2

+maxplayers 12
指定服务器最大人数为12

+sv_lan 1
指定服务器运行方式为lan模式

+ip 10.102.145.243
指定服务器使用10.102.145.243这个ip。有些服务器用了双网卡,有两个ip,此时就用这个参数指定ip。

+servercfgfile server1.cfg
指定使用server1.cfg作为服务器的server配置文件,不过不指定,默认为server.cfg。另外,在cs的lan game中建的可以自己玩的那种初级服务器,使用的是listenserver.cfg
=======================================================
现在我们需要配置一些文件。主要是motd.txt、mapcycle.txt、server.cfg。这几个文件都在cstrike文件夹下。

motd.txt
这个文件的内容是服务器的欢迎页面,随便写些什么,可以是欢迎词,以及服务器的简介等。

mapcycle.txt
这个文件指定了服务器的地图循环列表
格式如下
fy_iceworld
de_dust2
de_clan1_mill
de_aztec
de_nuke
de_inferno16
注意点(1)不要带.bsp后缀名(2)所设定的第一个地图在你hlds参数指定的地图完毕之后运行。

server.cfg
这个文件很重要,基本上所有的服务器参数都在这里设定。下面是一个常见的server.cfg的内容。
hostname "=My cs1.5 server=" 服务器的名字
rcon_password "hello" 设定rcon密码为hello
pausable 0 设定玩家不可以pause,1为开启
mp_c4timer 35 设定c4爆炸时间为35
mp_freezetime 3 设定开局冻结时间为3秒
mp_roundtime 3.5 设定一局的时间为3.5分钟
mp_buytime 0.5 设定购买时间为0.5分钟
mp_startmoney 800 设定开局钱数为800块
mp_flashlight 1 允许手电,0为禁止
mp_footsteps 1 设定脚步声开启,0为禁止
mp_falldamage 1 开启摔伤
mp_autoteambalance 1 开启自动队伍平衡,0为关闭
mp_limitteams 2 设定队伍最大相差人数为2
mp_tkpunish 1 开启tk惩罚,0为关闭
mp_autokick 1 开启自动kick,0为关闭
mp_hostagepenalty 3 设定最大杀死友军或人质的数量,到达此数将被自动kick
mp_forcechasecam 1 死掉的人:0 自由模式,1 只能跟着自己队友走动,2 尸体视线留在原地
mp_forcecamera 1 允许free-look,0为禁止
mp_fadetoblack 0 关闭死后黑屏,1为开启
mp_friendlyfire 1 开启友军伤害,0为关闭
mp_timelimit 35 设定一张地图的最长时间,到达此时间换图
mp_maxrounds 0 设定一张地图的最多回合数,到达此数换图
mp_winlimit 0 设定一张地图中一方的最多胜利数,到达此数换图
sv_cheats 0 关闭cs自带的作弊指令,1为开启
sv_airmove 1 允许空中转向、移动,0为关闭
sv_gravity 800 设定地图重力为800(默认值)
sv_maxspeed 320 设定最大速度为320
sv_aim 0 关闭自动瞄准,1为开启
sv_voiceenable 1 允许语音,0为禁止
exec listip.cfg 加载被ban的ip列表
mp_logfile 1 开启log文件,0为不记录log
mp_logmessages 1 log文件中记录玩家的聊天讯息,0为不记录
sv_logbans 1 记录kick和ban
log on 开始记录log

lu0007 发表于 2007-3-3 14:51:53

回复: 建服不能被刷到的请跟帖!

也是网上找来的:

我在这个问题上困绕了好久,最后解决了,
只需要映射一个端口就可以,UDP27015,并且你的路由需要支持回流,也就支持了透明转发端口。

金闪闪 发表于 2007-3-3 18:07:30

回复: 建服不能被刷到的请跟帖!

27030是Steam认证端口。
27015是游戏端口。

100%是安奈特AR450S带防火墙的问题。

你所认为的
服务器IP:27015->防火墙:27015->Master:27010是错误的。

而实际是
服务器IP:27015->防火墙:6xxxx->Master:27010的。
防火墙做的NAT27015,只是告诉外网存在27015,而从内部出去的27015并没有NAT在外网的IP上。

:D

lu0007 发表于 2007-3-3 19:53:35

回复: 建服不能被刷到的请跟帖!

谢谢金闪闪 你的回答,我谈下我对CS的一点认识,不知道正确不正确:
1 是CS服务启动的时候 开CS服务的机器会和 MASTER 服务器的 27010 口有一个联系,而且应该是不间断的,如 你有个教程中的 UDP27017 口和 MASTER 的27010 口联系,以确保在服务器列表上有 该服务器;
2 你说的 服务器IP:27015->防火墙:6xxxx->Master:27010的。和我第一个理解怎么是冲突的啊,是我的网络情况造成的嘛? 或是应该这样理解:我的服务器在 MASTER上登记的是IP+6XXXXX 的,而不是我想的IP+27015 啊?所以造成刷不到的情况!
    希望你能再指导我,谢谢!!!!!!!!!!!!

lu0007 发表于 2007-3-3 21:28:48

回复: 建服不能被刷到的请跟帖!

27030是Steam认证端口。
那这个端口要是做CS服的话,不联通也没关系嘛?
我也曾想用50000以上的UDP口全映射给CS服的27015口,可我的路由器不认,他说两边的映射口数量上不匹配,不让映射,晕!

lu0007 发表于 2007-3-3 21:32:09

回复: 建服不能被刷到的请跟帖!

而实际是
服务器IP:27015->防火墙:6xxxx->Master:27010的。
防火墙做的NAT27015,只是告诉外网存在27015,而从内部出去的27015并没有NAT在外网的IP上。

是不这要做到在路由器后,就是内网用路由器的外网地址+27015 也能访问 就一定行了!就是所谓的回流 问题 ,或者有人说是 反向NAT 、透明转发!
金闪闪,多来闪闪啊!
页: [1] 2 3 4
查看完整版本: 建服不能被刷到的请跟帖!