HarryPotter 发表于 2003-8-3 13:47:43

[分享]WIN2K SERVER让HLDS自动运行的新方法

因为HLDS有时会自动关闭,一般大家让他自动重新运行都是 FIREDAEMON作成服务或者SERVERDOC,其实WIN2K SERVER本身就可以做到
在HLSERVER目录下新建一个hlds.bat文件,内容为

query process hlds.exe|find "ID"||start hlds.exe -game cstrike -nomaster +sv_lan 1 -console +insecure +maxplayers 32 +map de_dust2

当然后面的hlds.exe的参数可以自己定。这条命令的意思是如果hlds.exe不在运行则启动它,否则就什么都不做

然后在任务计划中添加一个任务,让他每分钟运行一次hlds.bat就可以保证HLDS在关闭后一分钟内自动运行了。由于是BAT程序,所以消耗资源很少

恋网物语 发表于 2003-8-3 16:55:21

我直接把hlds.exe -game cstrike -nomaster +sv_lan 1 -console +insecure +maxplayers 32 +map de_dust2
加到了计划任务!

一直都很好用!

金闪闪 发表于 2003-8-3 17:28:05

恩,楼主的意见不错。不过大家是否觉得用计划任务本身会占资源么?

HarryPotter 发表于 2003-8-3 18:50:30

我本来也是想直接加到计划任务的,但是4111版的如果第二次重复运行的话就会出一堆错误信息而且不会自动关闭,要结束任务才能关闭。这样就会运行很多HLDS进程了。所以我加了一个query process先检测这个进程是不是已经在运行。

计划任务本身就是WIN2K的一个服务,肯定要占用资源的,不过他默认就是启用的。而运行一个BAT占用的资源是可以忽略不计的,而且是每N分钟才运行一次,我试验根本感觉不到这个计划任务的存在

金闪闪 发表于 2003-8-3 19:01:13

好,我们大家参与用下。报告感觉。

不过我有个问题?如果没有以超级管理员登陆时,这个计划是否自动运行。
比如我们电信托管的CS服务器,总不能天天跑到电信那里去开机登陆吧?更不能将超级密码告诉那些电信的。

HarryPotter 发表于 2003-8-3 19:14:05

当然要管理员才能运行了。你托管的服务器应该有终端服务吧,自己在家登陆终端服务就可以 了。其实那个query process的命令我就是从终端服务的帮助里查到的

恋网物语 发表于 2003-8-3 19:29:14

把HLDS加上-conlose的参数就可以不用BAT文件,直接加到计划任务里,而且不用任何人登陆就可以启动服务器!
我的服务器是server2003,2000下估计也是可以的,只要加了上面的参数你不必担心会运行多个HLDS的附本!

我想这是最好的解决金闪闪问题的办法!

金闪闪 发表于 2003-8-3 20:10:01

最初由 恋网物语 发表
把HLDS加上-conlose的参数就可以不用BAT文件,直接加到计划任务里,而且不用任何人登陆就可以启动服务器!
我的服务器是server2003,2000下估计也是可以的,只要加了上面的参数你不必担心会运行多个HLDS的附本!

我想这是最好的解决金闪闪问题的办法!

谢谢你的提示。
如果我用hlsw在远程输入exit令服务器退出(因为CD或metamod升级等),这个计划是否还会自动运行。 :):yeah:

金闪闪 发表于 2003-8-3 20:14:05

最初由 HarryPotter 发表
当然要管理员才能运行了。你托管的服务器应该有终端服务吧,自己在家登陆终端服务就可以了。其实那个query process的命令我就是从终端服务的帮助里查到的

说个笑话:yeah:,如果你出门到了一个没有Internet的地方,而托管的机器shutdown并reboot了。你如何保证你的CS服务器自动运行?

(申明,不是抬杠啊 :han: )

恋网物语 发表于 2003-8-3 20:20:23

我在2000及2003上测试过,而且我现在也一直在用这种模式!
无论是在HLSW的窗口中输入exit,又或者用RCON命令EXIT都会重新启动的!计划任务里设每分钟检查一次的话它会在秒针跳到0的时候启动的~~~
页: [1] 2 3 4 5 6
查看完整版本: [分享]WIN2K SERVER让HLDS自动运行的新方法