AMX MOD 简介及入门 (菜鸟勿入)转贴
cshappy吧
全部回复
仅看楼主
level 5
网络魍魉 楼主
序 在1998年之前,相信几乎没有人知道世界上存在着一个名叫Valve的游戏开发小组,然后在经历了1998年那个令人难忘的E3之夏后,相信几乎没有玩家会不知道它的名字“Half-life”。该游戏所带来的震撼感觉使一些挑剔者也不得不承认它是一款具有强烈感染力的游戏,同时Half-life获得了超过40家媒体一致公认的“年度最佳游戏”称号,更被誉为“史诗般杰出的作品”。 “Counter-Strike”(以下简称CS)是Valve游戏开发小组利用Half-life的游戏引擎而开发的一款融合了团队合作模式、小队战术模拟、近屋作战等各类出色游戏细节的动作类游戏。开始CS只是作为Half-life的一个MOD和Half-life一块发行,随着CS的流行该游戏最后被做成了独立的商业版本,目前玩到的基本都是商业版的了。 一个CS服务器需要有人管理才能正常的运行,而HLDS服务器自带的管理命令功能太少而且使用不方便,于是由这样的需求出现了一批服务器管理软件,比如早期的AdminMod,ClanMod,他们的出现大大方便了OP对服务器的控制。随后出现的AMX MOD则是现今所有管理MOD中功能最强大的一种,他除了具有各种方便的管理方式以外,还可以通过插件赋予服务器一些新的功能,比如比较有名的“魔兽争霸3”插件。而且AMX是一个可以高度自定义化的管理MOD,他的管理菜单和插件都可以按照自己的需要来定义,总之你能想到的都可以通过修改插件来实现。 一 AMX MOD简介 AMX MOD是由德国人OLO开发的使用于CS服务器的管理插件,很多功能和Adminmod类似,它是基于MetaMod(注:服务器插件的总管)的一种管理插件。AMX MOD的功能是通过各种功能文件(后缀名为.amx的文件,也称插件)来完成的,其脚本文件(后缀名为.sma的文件,也称源代码)由SmallC语言编写,你可以通过修改和编写脚本文件来实现你需要的功能。 AMX 的功能: ·获得特别的效果和声音,比如闪电,爆炸,震动等效果 ·显示和收集客户端玩家的各种信息 ·注册新的命令(包括服务器和客户端的) ·显示MOTD对话框,HUD信息,菜单 ·发消息给客户端和服务器,做服务器日志记录 ·对客户端进行操作,如生命值,防弹衣值,位置等等 ·让服务器,客户端和机器人运行命令 ·设置新的游戏规则,如魔兽争霸,超级英雄 ·更多其他的功能可以通过添加功能文件来实现 二 AMX MOD 的安装 以下将以MetaMod v1.17.2和AMX MOD v0.99为例子讲解在CS中的安装过程 1.MetaMod的安装 ①按照你使用的系统(windows还是linux)来下载对应的版本,MetaMod的官方网站是http://metamod.org/ ②按照下面的路径格式来建立相应的文件夹 C:\HLServer (游戏的文件夹,请安自己安装的位置来选择) └ cstrike └ addons └ metamod └ dlls ③从你下回来的文件中把metamod.dll文件解压到最后建立的dlls目录里 ④在cstrike目录下找到liblist.gam文件,用记事本打开,找到 gamedll "dlls\mp.dll" gamedll_linux "dlls/cs_i386.so" 修改成 gamedll "addons\metamod\dlls\metamod.dll" gamedll_linux "addons/metamod/dlls/metamod_i386.so" 保存该文件 ⑤如果你使用的是steam里的CS(CS1.6)除了上面的方法外还可以这样做 在steam里鼠标右键单击CS或者hlds,选择属性(Properties) 在启动参数里(Launch options)写入 -dll addons\metamod\dlls\metamod.dll 点确认(ok) 注:如果是linux系统则要在启动服务器的脚本里添加写入 -dll addons/metamod/dlls/metamod_i386.so 保存并退出 启动服务器,在控制台里输入meta version,如果出现了如下提示 Metamod v1.17 2003/11/15 by Will Day http://www.metamod.org/ compiled: Aug 2 2003, 16:22:35 Eastern (optimized) 
2006年04月15日 09点04分 1
level 5
网络魍魉 楼主
amx_password_field 默认值:"_pw" 说明:AMX管理软件的域密码。如果op要登陆必须在他的config.cfg文件里加上一行: setinfo dtclub 123(假定域密码是dtclub,op的个人密码是:123) amx_mode 默认值:1 说明:服务器模式选项 2 - kick所有users.ini文件上无帐号的玩家 1 - 正常模式 作者: 沉默HacKeR 2006-1-4 17:53   回复此发言 -------------------------------------------------------------------------------- 3 AMX MOD 简介及入门 (菜鸟勿入) 0 - 选择模式,所有没有权限的玩家都不能进入服务器 amx_show_activity 默认值:2 说明:在op执行某个命令时是否显示op的行动 0 - 关闭 1 - 只显示管理员不显示其名字 2 - 显示管理员并且显示其名字 amx_scrollmsg 默认值:"Welcome to %hostname% -- This server is using AMX" 附加值:600 说明:服务器下方滚动显示设置的信息,间隔600秒显示一次,附加值是间隔时间,以秒为单位。可自己添加多条信息 amx_imessage "Welcome to %hostname%" "000255100" amx_imessage "This server is using AMX\nVisit http:amxmod.net" "000100255" 参数格式同amx_scrollmsg 说明:服务器彩色广告信息,附加参数为颜色值使用RGB颜色格式。可自己添加多条 amx_freq_imessage 默认值:180 说明:广告信息显示的间隔时间,以秒为单位 amx_flood_time 默认值:0.75 说明:最短聊天间隔时间的设置,防止服务器因聊天信息过多导致lag,以秒为单位。 amx_reservation 默认值:2 说明:管理员通道的预留数量 amx_time_display 默认值:"ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11" 说明:游戏剩余时间显示方式的设置,参数中的字母代表的意思如下,同一引号内的数字为剩余的时间,以秒为单位。 a - 以文本方式显示 b - 用语音来提示 c - 不显示文本 (仅用语音提示) d - 不显示详细的时间格式,仅用语音提示 (仅用语音提示) e - 如果时间小于现在的设置,用语音和文本进行提示 amx_time_voice 默认值:1 说明:在游戏中使用"say thetime" 和 "say timeleft" 是否使用语音提示。 amx_vote_delay 默认值:10 说明:设置两个投票事件之间的最小间隔时间,以秒为单位。 amx_vote_time 默认值:10 说明:一个投票事件持续的时间,以秒为单位。 amx_vote_answers 默认值:1 说明:设置是否显示投票是谁发起的以及每个人投票的具体内容 amx_votekick_ratio 默认值:0.40 说明:设置踢人投票生效的最低百分比数,0.40为超过40%即投票成功。 amx_voteban_ratio 默认值:0.40 说明:设置封禁玩家投票生效的最低百分比数。 amx_votemap_ratio 默认值:0.40 说明:设置换地图投票生效的最低百分比数。 amx_vote_ratio 默认值:0.02 说明:设置其他投票生效的最低百分比数。 amx_extendmap_max 默认值:90 说明:延长正在游戏的地图的最长时间,以分钟为单位。 amx_extendmap_step 默认值:15 说明:当投票延长当前游戏地图时所延长的分钟。 csstats_rank 默认值:1 说明:数据排名系统的依据 0 - 名字 1 - Steam ID 2 - IP 地址 csstats_maxsize 默认值:3500 说明:数据文件的最大尺寸 csstats_reset 默认值:1 说明:服务器数据信息清零 ※ users.ini 服务器里的管理员需要在这个文件中进行配置,在文件中以分号开头的均是注释,可以不用理会,来看看书写的格式及例子。 附表2:账号类型 类型 说明(英文原著) 说明 a disconnect player on invalid password 进入服务器时需要检测个人密码,如果不正确将被断开连接 
2006年04月15日 09点04分 3
level 5
网络魍魉 楼主
①我怎么才能知道要使用某个模块呢? 一般情况下,在开启服务器的时候如果缺少某个模块会在有提示的,最根本的办法是查看脚本文件,这个以后会讲到。 ②我怎么知道这些模块的运行状态呢? 查看MetaMod调用的模块要在控制台里输入meta list,显示如下(因配置不同显示的会有所不同),第2列表示该模块的运行状态,RUN表示正在运行。 Currently loaded plugins: description stat pend file vers src load unlod [ 1] AMX RUN - amx_mm_i586.so v0.9.9 ini ANY ANY [ 2] CSStats RUN - csstats_mm_i586. v0.9.9 ini ANY ANY [ 3] Fun RUN - fun_mm_i586.so v0.9.9 ini ANY ANY [ 4] VexdUM RUN - VexdUM_mm_i586.s v0.9.9 ini ANY ANY 4 plugins, 4 running 查看AMX调用的模块在控制台里输入amx modules,显示如下(因配置不同显示的会有所不同),最后一列表示运行状态,running表示正在运行。 作者: 沉默HacKeR 2006-1-4 17:53   回复此发言 -------------------------------------------------------------------------------- 5 AMX MOD 简介及入门 (菜鸟勿入) Currently loaded modules: name type version author status [ 1] VexdUM amx&mm 0.9.9 AMX Dev Team running [ 2] MySQL access amx 0.9.1 dJeyL running [ 3] Fun amx&mm 0.9.9 OLO running [ 4] CSStats amx&mm 0.9.9 OLO running 4 modules, 4 correct ※ plugins.ini 这个文件是配置功能文件的。为什么叫插件,看字面意思就明白了,单个的功能文件(通常叫做插件,以下均称插件)只有某些功能,你可以按照你自己的需要选择使用那些功能从而来配置插件,以下主要讲如何开启或者关闭一个插件,如何从脚本文件得到插件。 附表4:默认的配置及说明 插件名字 功能或描述 备注 language.amx 语言控制插件 admin.amx 管理员插件 (读取和识别管理员) 和admin_mysql.amx不能共同使用 admin_mysql.amx 管理员插件MySQL 版本 和admin.amx插件不能共同使用,需要mysql支持 admincmd.amx 基本管理命令插件 adminhelp.amx 帮助插件 adminslots.amx 预留通道插件 menufront.amx 管理员菜单 cmdmenu.amx 命令菜单 plmenu.amx 玩家菜单 restmenu.amx 武器禁用插件 mapsmenu.amx 换地图插件 antiflood.amx 防刷屏插件 adminchat.amx 管理员聊天插件 adminvote.amx 投票插件 nextmap.amx 下张地图插件 timeleft.amx 剩余时间插件 mapchooser.amx 下张地图投票插件 scrollmsg.amx 滚动信息插件 imessage.amx 广告信息插件 welcomemsg.amx 欢迎信息插件 默认关闭 statsx.amx 数据统计插件 要求使用CSStats模块 stats_logging.amx 数据统计日志插件 要求使用CSStats模块 telemenu.amx 传送插件 要求使用fun模块 miscstats.amx 辅助效果插件 pausecfg.amx 插件控制 statscfg.amx 数据统计配置插件 mapconfig.amx 运行自定地图的配置文件 ①首先来讲讲如何开启和关闭插件 在前面讲过的分号起注释功能,在这里同样适用,关闭某个插件则在插件名前加分号,开启某个插件则去掉前面的分号 ②如何添加新插件 先把插件放到plugins目录下,然后在addons\amx\config下的plugins.ini里添加那个插件的文件名,最后看插件需要什么样的模块并开启对应的模块就完成了,开启模块参看modules的讲解。 ③如何从脚本文件得到插件 这个过程其实叫做编译。在addons\amx\examples里附带了AMX默认提供的插件的脚本文件,当添加新的插件的时候,可以把提供的脚本文件放到addons\amx\examples\source下,下面提供两种方法编译: 方法1:直接运行examples目录下的compile.bat文件,随后生成了新的文件夹compiled,这个文件夹里放着编译后的插件,要使用自己编译的插件需要添加插件,过程参考上面的② 方法2:进入dos环境(win98里在运行里输入command,winxp里在运行里输入cmd),进入examples目录下(使用命令cd,详细内容请参考dos操作手册),输入sc 文件名(写完整路径),当脚本文件在examples目录下时直接输入“sc 文件名”就可以编译得到插件了。 尾声 本文只是尽本人之能写一篇尽量通俗易懂的文章,目的只是为了快速的带领新手入门,顺便推广这个功能强大而完善的插件,呵呵。该文是在两天里写完的,没有经过校正,如果有错误的地方请读者谅解。 对于现在也很常使用的AMXX插件,本文没有涉及,因为AMX在前面的很长一段时间内没有任何改动和发布新版本,所以AMX的一部分编写人员继续编写和开发了AMXX,它开始用的还是AMX的源代码,在AMXX0.16版本里还和AMX基本是相通的,直至目前的AMXX0.2的一系列RC版本里才和AMX有了明显的不同,我想这些都是差不多的,所谓“触类旁通”,我想看过本文后你也会对AMXX有一定的了解。 最后非常感谢你阅读本文! 
2006年04月15日 09点04分 5
level 8
很好 我要宣传他
2006年04月16日 07点04分 6
level 1
恩 很好
2008年10月11日 03点10分 7
level 0
专业维修硬件AMX所有设备
15302603818
2009年07月09日 03点07分 8
level 1
我按你的方法弄好了 可是玩的时候统计的数据都是0 请问这是为什么呢 求真相
2011年03月28日 12点03分 9
1