Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1812694
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2010-11-26 18:23:11

Linux Cs Server1.5 架设方法:
一 软件准备:
1、服务器程序
hlds_l_3110_full.tar.gz  
2、Mod(cstrike)
cs_15_full.tar.gz
二 安装
1、服务器程序安装
假设你现在在/目录,程序下载在/home/
  mkdir cs
cd cs
cp /home/hlds_l_3110_full.tar.gz ./
tar -xzvf hlds_l_3110_full.tar.gz
2、Mod 安装
        假设你现在在cs目录
        服务器安装后会创建目录  hlds_l ,
        cd hlds_l
        cp /home/cs_15_full.tar.gz
        tar -xzvf cs_15_full.tar.gz
    这时,安装程序会创建cstrike目录就是游戏Mod目录。
    截至到现在安装已经完成!
三 配置
1、Motd.txt
    该文件位置在HLDS_L/cstrike/目录下
    该文件的内容显示在玩家进入游戏时。
2、server.cfg
    该文件位置在HLDS_L/cstrike/目录下
    该文件是服务器的重要配置文件
    具体配置看另外一个文件,也可以自己查资料
3、mapcycle.txt
    该文件位置在HLDS_L/cstrike/目录下
    该文件配置地图循环
四 启动脚本的编辑
    建立下面的启动文件,并设置执行权限;
        vi start.sh
    start.sh的具体内容
./hlds_run -game cstrike -port 27015 +ip 218.244.240.142 +maxplayers 20 +servercfgfile  server.cfg +map de_dust2 +sv_lan 1 -nomaster +mapcyclefile mapcycle.txt &

######################################################

前提:linux系统已经搭建完毕,尽量减小系统开销,确定linux 下的firewall开放7002 21010 21012 21015 21020 21040端口,至于每个干什么就不用我唠叨了吧。

准备工作
1、需要的软件
   cs_15_full.tar.gz
   cs_15_upgrade.tar.gz
   hlds_l_3111_full.bin
   hlds_l_3111_update.bin
   hlds_l_3111d_update.tar.gz
   防作弊插件
   cd-server-4_15_0-en.tar.gz
   metamod_i386.so.gz
   wwcl_cs-serverplugin_v256.zip
   nocdkey补丁
   hlds_l_3111d_nokey_linux.zip

2、安装说明
   我是安装在系统 /home/username/ 下的可以根据自己情况选择路径。系统是redhat 7.1(版本有点老,由于还有其他服务所以没有更新系统),这个hlserver很吃内存和cpu的说。所以建议用单独的服务器。把以上软件mv到 /home/username/temp/下

3、安装步骤

cd /
cd /home/username/temp
chmod u+x hlds_l_3111_full.bin
chmod u+x hlds_l_3111_update.bin
./hlds_l_3111_full.bin //生成hlds_l目录
mv ./hlds_l /home/username/
./hlds_l_3111_uypdate.bin //生成hlds_l 目录 升级用的
cp -p ./hlds_l/* /home/username/hlds_l/ //一一把文件覆盖即可
rm -rf hlds_l
tar zxvf hlds_l_3111d_update.tar.gz //生成hlds_l 目录(当前最新的hlds_l_3111e_update.tar.gz 由于没有找到nocdkey的补丁,所以用了d的版本)
cp -p ./hlds_l/* /home/username/hlds_l/ //一一把文件覆盖即可
rm -rf hlds_l //这样我们的hlds_l 就基本建好了,以后进行调试。
tar zxvf cs_15_full.tar.gz //生成cstrike目录
cp -p ./cstrike/* /home/username/hlds_l/cstrike/ //一一把文件覆盖即可 当然也可以加-y的参数,但为了不漏掉文件夹,还是一一确认的好。
rm -rf cstrike
tar zxvf cs_15_upgrade.tar.gz //生成cstrike升级目录
cp -p ./cstrike/* /home/username/hlds_l/cstrike/
rm -rf cstrike //到此我们的hlds_l + cstrike 基本框架搭建完毕

开始插件的安装
cd /
cd /home/username/temp
gzip -d metamod_i386.so.gz //解压出来metamod_i386.so
cd /home/username/hlds_l/cstrike/
mkdir addons
cd addons
mkdir metamod
cd metamod
mkdir dlls
mv /home/username/temp/metamod_i386.so /home/username/hlds_l/cstrike/addmons/metamod/dlls/ //将metamod_i386.so 移到dlls目录下
cd /home/username/temp/
tar zxvf cd-server-4_15_0-en.tar.gz //生成addons/cdeath/* 目录
mv ./addons/* /home/username/hlds_l/cstrike/addmons/
rm -rf addons
unzip wwcl_cs-serverplugin_v256.zip //生成cstrike/addons + wwclconfig.cfg
mv ./cstrike/wwclconfig.cfg /home/username/hlds_l/cstrike/
mv ./cstrike/addons/wwcl /home/username/hlds_l/cstrike/addmons/
rm -rf cstrike
cd /
cd /home/username/hlds_l/cstrike/addmons/metamod/
vi plugins.ini //在这个文件中输入 linux addons/wwcl/dlls/pcawwclconfig_mm_i386.so
                                    linux addons/cdeath/cdmod_i586.so 保存文件
这样我们的服务器就建好了可以运行
/home/username/hlds_l/hlds_run 来测试运行。参数就自己加把。
也可以建一个启动文件
cd /
cd /home/username/
mkdir bin
cd bin
vi cstrike //在其中输入以下内容 并保存文件

#!/bin/bash
export LD_LIBRARY_PATH=/home/username/hlds_l/cstrike:$LD_LIBRARY_PATH
cd /home/username/hlds_l
./hlds_run -game cstrike -nomaster +maxplayers 16 +map de_dust2 +sv_lan 1 -port 27015 -insecure

chmod +x cstrike
./cstrike //就可以运行cs服务器了

4、解决class c 限制和nocdkey的问题

cd /
cd /home/usrname/temp
unzip hlds_l_3111d_nokey_linux.zip
将解压出来的文件复制到 /home/username/hlds_l/ 注意备份原来的同名文件。
找到engine_i386.so
修改 engine_i386.so
查找:ba 01 00 00 00 85 d2 0f 84
改为: 42 42

或者直接找一个破解好的engine_i386.so,这样一个linux下的cs1.5 的服务器就建好了

5、至于server.cfg map motd.txt 就随自己意愿搞定吧。
另外在/home/username/hlds_l/cstrike/addons/wwcl/scripts/下有wwcl_config.cfg编辑它可以有四种服务器模式

运行你的./cstrike 开始爽吧

#########################################################3

Windows下CS服务器架设方法

1,服务器架设的基本要求

  1)硬件要求
   服务器的最低硬件配置大概在PIII500、内存在128M以上,要是内存较低的话,那你就要常常忍受超时的痛苦了。

  2)线路要求
   线路是越快越好,虽然CS在游戏中连续上传和下载的速度最大也才3K/s,但是如果PING高的话玩起来也不会爽,ccsk
的服务器就是10M独享的带宽。


2.服务器端的设置

  1)首先你要安装HLserver,虽然在Half Life里本身就带了建立服务器的软件,但是如果你不在服务器上玩的话(根本没有人在服务器上玩^_^),用HLserver可以减少很多的空间。然后升级HLSERVER到最新的版(跟升级HL一样),再安装CS的最新版本(就跟装一个客户端的CS一样)。

  2)作为服务器,必须要有很多设置,普通情况下你只需要在HLserver\cstrike\目录下建立:server.cfg、mapcycle.txt、motd.txt这三个基本文件即可。

server.cfg是服务器的配置文件可用任何文本编辑器进行编辑。


  0为No,1为Yes。
  sv_aim 0                是否自动瞄准
  pausable 0               是否客户端可暂停游戏
  hostname "CCSK.net counter-strike Server " 服务器名字
  mp_timelimit 30             循环每一地图时间
  mp_c4timer 45              炸弹倒计时时间
  mp_chasecam 0              是否固定镜头
  mp_falldamage 1             高处落下杀伤
  mp_flashlight 1             是否有手电筒
  mp_footsteps 1             是否有脚步声
  mp_freezetime 4             每局开始买物品时间
  mp_friendly_grenade_damage 1      是否手雷友军伤害
  mp_friendlyfire 1            是否武器友军伤害
  mp_autoteambalance 2          自动调整双方人数差异最低限制
  mp_roundtime 4             每回合时间数
  rcon_password *****           服务器密码
  mp_limitteams N             双方超过N人即自动调整
  mp_tkpunish 1              是否伤害友军惩罚
  mp_mapvoteratio 0.2           投票比率(大家可以通过投票踢出作弊者和更换地图)
  mp_logfile 1              是否服务器留下记录文件
  log on                 开始记录
  mp_hostagepenalty=3             规定时间内伤害人质超过三人自动踢出
  Logaddress 202.108.249.81 2000      设定ccsk全国cs排行榜的监听端口
      mapcycle.txt是地图文件循环的顺序文件

mapcycle.txt里面写的都是地图文件名,不带后缀,如de_dust2.bsp,只取de_dust2。地图在 Hlserver\cstrike\maps目录下,将你想循环的地图挑出来,然后将文件名按上面所说的规则输入mapcycle.txt中,每个地图之 间用硬回车隔开。加入的新地图不仅要把.bsp文件拷到Hlserver\cstrike\maps目录下,也要在mapcycle.txt里面加入新地 图的名称,切记!

motd.txt是服务器的说明文件

motd.txt为服务器说明文件,当每个玩家进入服务器后看到的第一个窗口就是。可以随意按照自己喜欢写。

  3)有了上面这些,cs服务器就算配置的差不多了,下面再来说说服务器运行参数。

在桌面点鼠标右键新建一个快捷方式,在命令行里输入下面一行,注意空格
c:\Hlserver\hlds.exe -game cstrike -port 27016 +maxplayers 22 +map de_dust2 -nomaster

c:\Hlserver\hlds.exe 你安装hlserver的目录
  -game cstrike            指定运行游戏为CS
  -port 27016             指定游戏连接端口为27016
  +maxplayers 22            游戏最大人数22人(游戏只支持20人,多余两人为观众)
  +map cs_747             指定开始地图为cs_747

  其他人进服务器的时候进Internet game,选择Add server输入服务器的IP和上面你指定的端口即可。 4)在居域网上建立服务器跟上面相同,不过可以在命令行里加上-nomaster让服务器不上WON认证,避免因为出国网络不通导致的服务器问题。同时加 上+sv_lan 1 指定其为一个LAN server,其他人进服务器的时候进LAN game就可以了。


5)如果没有下载hlserver,用普通的hl+cs1.0也可以做服务器,具体方法是:进入游戏后选择play cs,选internet game,选create game,在最下面有一个dedicated server的选项,选中它,点击done。就可以单独使用一台机器做cs服务器了,这样能够大大提高游戏的速度。局域网的游戏也适用,只不过是在lan game里面选就是了。上面的各项设置也可以实现。


3.服务器操作员常用指令

一、服务器端的控制命令

1)取得用户的信息
命令:/USERS
例子:
/USERS
USERID : UNIQUEID : USERNAME
01 365431984 More More Tea [AH]
02 3213645436 DDM=LD=
03 3143644 aikstorm=AIK=
解释:USERID 是SERVER端所给于的,从SERVER启动后开始依序排列,SERVER重新启动后重新计算。
UNIQUEID 是由WON.NET(大家又爱又恨的验证cdkey的国外服务器)所配发的,一組CD-KEY有一组对应的UNIQUEID。
USERNAME就是用户名了

2)踢人
命令:/kick # USERID #
例子: KICK # 02 #

3)封锁账号
命令:/BANID MINUTES UNIQUEID
例子 1: BANID 0 365431984
More More Tea [AH]IS BANNED FOREVER.
例子 2: BANID 1 365431984
More More Tea [AH] IS BANNED FOR 1 MINUTE.
解释:MINUTES是封锁的分钟数,如是0为永久封锁(小心慎用!!!)
UNIQUEID解释同上

4)在同一时刻既踢人又封锁账号
命令:/BANID MINUTES UNIQUEID KICK
例子 : /BANID 0 3213645436 KICK

5)把封锁的账号写入BANNED.CFG(黑名单^_^)
命令:/WRITEID
解释:把这次ADM BAN的名单写入BANNED.CFG文件。

6)把被加入BAN名单中的UNIQUEID取消
命令:/REMOVEID UNIQUEID
例子: /REMOVEID 365431984
解释:也就是解除封锁的账号

7)LISTID 查看您目前BAN了哪些ID,BAN多久
命令:/LISTID

8)换地图
命令:/MAP MAPNAME
/CHANGELEVEL MAPNAME
/CHANGELEVEL2 MAPNAME
例子:换CS_747这个地图
/MAP CS_747
解释:立刻换地图,但所有USER会离开游戏。
/CHANGELEVEL CS_747
解释:立刻换地图,所有USER不会离开游戏。
/CHANGELEVEL2 CS_747
解释:等地图时间到再换地图,所有USER不会离开游戏。

二、在客户端的控制服务器指令

与在SERVER端不同的是当ADMIN在CLIENT端进入游戏时,可以远程控制服务器管理。
以下命令在游戏里面的控制台(用~键呼出控制台)输入

1)设定远程控制服务器管理密码
命令:/RCON_PASSWORD PASSWORD
例子: 在SERVER端SERVER.CFG加入
/RCON_PASSWORD 1234567890
即表示远程控制服务器管理密码为1234567890

2)进入
命令:/RCON_PASSWORD PASSWORD
例子: 在CLIENT端输入
/RCON_PASSWORD 1234567890以进入SERVER。

3)在人数已满的情况下进入服务器
命令:/RCON_ADDRESS ADDRESS
例子: 在CLIENT端鍵入
/RCON_ADDRESS 210.68.170.7
可以监控SERVER状况,但不能玩。

4)其他指令
命令:/RCON COMMAND
例子: /RCON BANID 0 3136541365 KICK
其他所有在服务器端可以使用的指令都可以用,但是指令前必须加上RCON。


三、在客户端的指令

在CS游戏时按“~”键呼出控制台可以输入某些指令。


NAME XXX:更换当前ID (有些服务器需只在每局的开始才接受命令)

timeleft : 显示当幅地图剩余时间

LISTPLAYERS :显示玩家的数字ID

VOTE 数字ID :投票踢作弊的人

LISTMAPS :显示地图的数字ID

VOTEMAP 数字ID :投票换地图

CL_SHOWFPS 1 (0是关闭) :显示你的祯值

net_graph 1(0是关闭): 右下角子弹数的那个地方,可以显示FPS和连接网速线条,显示连接的速度和桢数。

hud_centerid 0
设定1使聊天信息在屏幕上居中,设0使聊天信息放在屏幕左下角。

rate 2500
设定从你连接到的服务器接受多少数据/信息。
14.4KMODEM设1500,33.6K MODEM设 3000,56K MODEM设 3500,ISDN 设5000,大于ISDN的连接速度的设定值在5000~9999间。

setinfo ghosts 0
设1可在观测者模式时见到鬼魂,0则禁止。禁止GHOSTS可改善LAG太多的情形。

vid_config_x 800
设置屏幕的水平位置

vid_d3d 0
打开3d支持,“1”打开,“0”关闭。

vid_describemode
显示设置声音模式的面板

vid_mode 0
设置声音模式

viewframe
显示武器装备,只适用于OpenGL加速。

zoom_sensitivity_ratio 1.200
在武器放大时设置鼠标的敏感度 +speed
强迫玩家“走”如果“一直跑”的功能打开了,或者强迫玩家“跑”,如果“一直跑”的功能没有打开。

+mlook
使用鼠标选择方向

+klook
使用键盘选择方向

+jlook
使用游戏手柄选择方向

####################################################

服务器管理员操作指南

SERVER ADMMINISTRATOR是一项极为辛苦的工作。请抱着爱心及耐心,努力教导用户端应有礼仪及规范。如不听,就用力BAN吧。
在此同时提醒您,最可怕的不是TKER或是CAMPER,而是手中握有生杀大权的SERVER ADMINISTRATOR,在做出任何决定之前,请三思!!任何偏袒及不公将对您的SERVER造成极大的伤害!!!

3.1 常用指令
3.1.1 USERS:取得USER信息。
/USERS或者LISTPLAYERS
USERID : UNIQUEID : USERNAME
01    365431984  PABMAS
02    3213645436 WILD-CAT
03    3143644 WILD-DOG
USERID 是SERVER端所给予的,从1一直到20(假设服务器最大人数20人)。
UNIQUEID 是由WON NET所配发,一个CD-KEY有一个相对应的UNIQUEID。

3.1.2 KICK ONLY
/kick # USERID #
例如: KICK # 02 #
BANG........WILD-CAT IS GONE.

3.1.3 BAN ONLY
/BANID MINUTES UNIQUEID
例子1: BANID 0 3143644
WILD-DOG IS BANNED FOREVER.
将该用户永久性的从服务器上BAN掉
例子 2: BANID 1 365431984
PABMAS IS BANNED FOR 1 MINUTE.
只BAN该用户1分钟

3.1.4 BAN AND KICK AT THE SAME TIME
/BANID MINUTES UNIQUEID KICK
EX: /BANID 0 3213645436 KICK
永久性将用户BAN掉并同时将其踢出服务器。

3.1.5 WRITEID
/WRITEID
把这次ADM BAN的名单写入BANNED.CFG。记得每次BAN人后都要执行本命令。

3.1.6 REMOVEID 把被加入BAN名单中的UNIQUEID取消
/REMOVEID UNIQUEID
EX: /REMOVEID 365431984

3.1.7 LISTID 观看您目前BAN了哪些ID,BAN多久
/LISTID

3.1.8 换地图
/MAP MAPNAME
/CHANGELEVEL MAPNAME
/CHANGELEVEL2 MAPNAME
CHANGE TO DE_DUST
/MAP DE_DUST
立刻换地图,但所有USER会离开游戏。
/CHANGELEVEL DE_DUST
立刻换地图,所有USER不会离开游戏。
/CHANGELEVEL2 DE_DUST
等地图预设时间到再换地图,所有USER不会离开游戏。

3.2 REMOTE CONTROLE
与在SERVER端不同的是当ADM在CLIENT端登入游戏,可以以远程遥控方式管理。

3.2.1 设定
/RCON_PASSWORD PASSWORD
例如: 在SERVER端SERVER.CFG加入
/RCON_PASSWORD 123456789
即表示远程遥控密码为123456789。

3.2.2 登入
/RCON_PASSWORD PASSWORD
例如: 在游戏控制台端键入
/RCON_PASSWORD 123456789以登入SERVER。

3.2.3 人数已满?!
/RCON_ADDRESS ADDRESS
例如: 在CLIENT端键入
/RCON_ADDRESS 210.68.170.7
可以监控SERVER状况,但不能玩。

3.2.4 其它指令
/RCON COMMAND
例如: /RCON BANID 0 3136541365 KICK
其它所有SERVER端指令都可以用,唯指令前须加上RCON。


阅读(1970) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~