【求生之路2】Zonemod服务器的部分指令及基础知识 |
您所在的位置:网站首页 › 求生之路2fps指令 › 【求生之路2】Zonemod服务器的部分指令及基础知识 |
有人问说有没有zonemod服务器的指令,有,通过在sp文件里搜索Reg可以得到sir新添加的指令。但是分散在各个文件里。我想了想,决定花点时间整理一下,顺便介绍一点求生服务器的基础知识。 一、sp后缀与smx后缀的文件 求生里smx文件是插件,而sp文件则是插件源码,我们在sp文件中写的代码,会通过特殊的编码方式,变成计算机能够理解的语言。 首先,先介绍如何利用sourcemod平台自带的编译脚本编译。将sp文件置于 /addons/sourcemod/scripting 之下,然后赋予该文件夹下的compile.sh 和 spcomp 这两个脚本执行权限 编译过程需要libstdc++.so.6,但服务器有概率会没安装libstdc++.so.6共享库,遇到这种情形的话需要我们手动安装 一切就绪后,就可以运行compile.sh脚本编译插件了,编译完成的插件将位于compiled文件夹内。 其次,简要介绍一下sp文件。主要讲述为何插件无法编译或生效。在sp文件本身没有问题的前提下,部分sp文件导入了其他库,以l4d2_weaponrule.sp为例,我们可以发现这个插件使用了sourcemod库和weapons库。前者为sourcemod自带,后者为sir添加的。 编译插件所需的库位于include文件夹下,想要正常编译这个插件,就需要下载weapons库并放在include里。有的插件还会要求外部输入参数才能运行,这个部分略微需要基础,就不予介绍了。 二、sourcemod平台 求生几乎所有的插件都是基于sourcemod平台编写而成。因此需要了解sourcemod平台的基本知识。sourcemod在wiki上介绍了主要功能,可以在上面获取api、自带指令、SQL数据库等信息,需要的话可以自行查阅。 https://wiki.alliedmods.net/Main_Page 不过,我想大家应该对下面这两个wiki会比较感兴趣: https://wiki.alliedmods.net/Adding_Admins_(SourceMod)/zh #管理员添加 https://wiki.alliedmods.net/Admin_Commands_(SourceMod)/zh #管理员指令 三、修改文件格式 在运行windows上编写的脚本时,如果没有修改文件格式,会出现下面这个问题: 这是编码格式的问题,需要修改文件格式为Unix。以脚本test.sh为例 法一: 法二: 法三: 在windows上用Notepad打开脚本,在右下方直接修改格式,修改完后再上传。 转为Unix(LF)四、试运行服务器 在服务器运行遇到问题的时候,可以在screen里查看运行状况。sourcemod也会自动生成log。 如果在服务器开启过程中遇到困难,可以尝试自己输入指令启动服务器,来查看整个运行状况。如何输入指令开启,在其他专栏里已经讲过,不再赘述,大抵是按照脚本内顺序输入。 一般情况下,通过试运行,都能明确服务器的问题所在。 五、服务器丢包 理论上1M的带宽足以带动整个游戏了,如果有丢包情况发生,可以的话升级服务器带宽,或者关闭tickrate插件,再不行,减少玩家人数,还不行的话就没招了。某些三方图因优化差导致服务器卡顿的情形不包括在内。 六、zonemod部分指令 以下内容中,引号部分为文档注释,括号部分为译者注 ConsoleCmd控制台指令 caster_assister.sp description = "允许旁观控制自己的移动速度并提供垂直移动" "sm_set_specspeed_multi" (注:默认值1.0) "sm_set_specspeed_increment" (注:默认值0.1) "sm_increase_specspeed" (注:提升一次速度) "sm_decrease_specspeed" (注:降低一次速度) "sm_set_vertical_increment" (注:修改垂直移动速度,默认值10.0) pause.sp "sm_spectate" "将自己转移到旁观者" "sm_spec" "同上" "sm_s" "同上" "sm_pause" "暂停比赛" "sm_unpause" "代表你的团队同意继续比赛" "sm_ready" "同上" "sm_unready" "同上" (注:原文如此,正确含义应为代表你的团队不同意继续比赛) "sm_toggleready" "切换团队的准备状态 " "sm_show" "隐藏暂停面板" "sm_hide" "显示暂停面板" caster_system.sp "sm_cast" "注册解说" (注:需要在白名单上或为管理员) "sm_notcasting" "注销解说,允许管理员注销其他玩家的解说" "sm_uncast" "同上" "sm_kickspecs" "取消旁观位" slots_vote.sp "sm_slots" “限制旁观位,用法为 !slots ,例如 !slots 8” cfg_motd.sp "sm_changelog" "在MOTD上显示更新日志" "sm_cfg" "同上" current.sp description = "显示生还当前的路程 ", "sm_cur" "sm_current" Coinflip.sp description = "purpletreefactory版本的抛硬币" "sm_coinflip" “抛硬币” "sm_cf" “同上” "sm_flip" “同上” "sm_roll" “随机数” "sm_picknumber" “同上” teamflip.sp description = "抛硬币,仅为了选队", (注:即硬币的两面分别是生还和特感,多用于随机分队) "sm_teamflip" "sm_tf" adminhelp.sp "sm_help" "显示sourcemod的命令和描述" "sm_searchcmd" "搜索sourcemod命令" (注:原文searches意义不明) playermanagement.sp "sm_spectate" "将自己转移到旁观者" "sm_spec" "同上" "sm_s" "同上" infected_flow_warp.sp description = "允许特感移动到生还者所在的位置", "sm_warpto" "移动到指定的生还者" CvarSettings.sp "confogl_cvarsettings" "列出所有通过Confogl设置的参数" "confogl_cvardiff" "列出所有与初始数值不同的参数" match_vote.sp description = "!match !rmatch – 在不退出的情况下,更改服务器配置" "sm_match" "sm_rmatch" l4d_boss_vote.sp "sm_voteboss" “允许玩家投票更改tank的产生路程” "sm_bossvote" “同上” l4d2_setscores.sp "sm_setscores" "用法sm_setscores ,设置 双方的比分" readyup.sp "sm_hide" "隐藏ready-up面板" "sm_show" "显示ready-up面板" "sm_return" "如果你在ready-up期间被卡住,可以通过该命令返回有效的安全室" AdminCmd管理员指令 caster_system.sp "sm_caster" "用法sm_caster ,将一名玩家注册成caster" "sm_resetcasters" "在比赛间隙重置casters。This should be in confogl_off.cfg or equivalent for your system " "sm_add_caster_id" "添加解说到白名单,即允许某人自行注册解说" "sm_remove_caster_id" "在白名单删除该解说,即不允许某人自行注册解说" "sm_printcasters" "显示解说白名单上的所有人" playermanagement.sp description = "玩家管理! 交换玩家/团队和旁观!", "sm_swap" "用法sm_swap [player2] ... [playerN] – 移动所有列出的玩 家到另一个团队" "sm_swapto" "用法sm_swapto [player2] ... [playerN] -移 动所有列出的玩家到指定队伍 (1,2, or 3)" "sm_swapteams" "两队交换玩家" ReqMatch.sp "sm_forcematch" "强制使用对应模式" "sm_fm" "同上" "sm_resetmatch" " Forces match mode to turn off REGRADLESS for always on or forced match " (注:意义不明) l4d_boss_vote.sp "sm_ftank" (注:Forcetank,强制更改tank的产生路程) "sm_fwitch" (注:ForceWitch,2.5.1版本暂无witch,无效指令) l4d_tank_control_eq.sp "sm_tankshuffle" "重新随机挑选一人扮演tank" "sm_givetank" "将tank控制权给指定的玩家" readyup.sp "sm_forcestart" "在ready-up阶段强制回合开始" "sm_fs" "同上" pause.sp "sm_forcepause" "暂停比赛,且仅允许管理员取消暂停" "sm_forceunpause" "取消比赛暂停,必须用于管理员暂停" 七、使用搜索引擎 无需多言,虽然国内的搜索引擎在很多方面有较大的局限性,起码在学习这一方面是够用的。遇到问题多百度,总不是坏事。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |