CSGO社区服常见换图不正常问题解决方法 游戏性拓展 通用内容 服务器管理

AEISet 三级用户组 8月前 1405

前言:初入坑搭建CSGO社区服我们通常会遇到一个问题,就是换图不正常。我们不能像其他大型的社区服或者官方服务器一样进行投票换图,而经过我实验之后锁定了问题所在。

比如传统竞技或者休闲模式下,比赛结束之后会显示地图投票的界面,这时候服务器内的玩家可以进行投票选图,但我们会发现无论添不添加mp_endmatch_votenextmap 1这个参数,在换图之后经常都会换成其他的地图(我自己的服务器就经常出现选了炼狱小镇换了意大利小镇这种乌龙)。而经过我实验发现这个问题是Sourcemod默认安装的nextmap.smx这个插件引起的。

根据sourcemod官方文档介绍,nextmap.smx这个插件的作用是随机选择下张地图,而且不需要搭配任何其他插件使用,所以我们可以直接将这个插件删除或者放入/plugins/disabled里。换图不准确的问题立即迎刃而解。

接下来重头戏来了,配置maplist文件

有一定服务器配置经验都知道在/sourcemod/configs文件夹里有一个maplist.cfg文件。而我们刚刚搭建好服务器的初始状态下会发现无论是mapchooser,rockthevote,还是管理员换图菜单里地图不对,会出现两张de_dust2,缺少几张服役地图。而这一切的罪魁祸首就是maplist.cfg和/csgo/mapcycle.txt这两个文件。

刚刚搭建好并安装sourcemod的服务器打开maplist.cfg文件我们会看到这样的默认配置:

刚接触服务器搭建的我们看到这样一个配置文件肯定是一头雾水的,并且sourcemod官方文档也没有具体说明这个文件需要如何配置。

前面提到的地图不对的问题,最直接了当的方法就是修改/csgo/mapcycle.txt文件就可以得到我们想要的地图菜单了。

然鹅当我们遇到使用创意工坊地图,或者想要给管理员更多的换图选项,或者是一机多服这些需求的时候,学会配置maplist.cfg这个文件就尤为重要了。

实际上配置这个文件并不难,我们只需要看懂就可以了。实际上在任何状态下,sourcemod所有的换图插件,都是默认加载mapcycle.cfg这个文件里的内容。假设我们需要架设多人1v1服务器,需要使用到创意工坊的1v1地图。虽然CSGO服务器可以通过添加启动项的方式来让服务器直接加载创意工坊内容,但根据我实测发现在服务器没有魔法上网的情况下,会不定时出现服务器不能正常启动或是不能正常换图的问题(原因大家都懂),而如果我们将地图下载到服务器的maps文件夹里并通过fastdl服务器来加速文件下载,就可以完美避开创意工坊的网络问题。

回到maplist.cfg文件的配置来,实际上这个文件是针对sourcemod自带的几个换图插件进行功能配置的,我们可以看到randomcycle插件,mapchooser插件以及我这里没有截出来的nomination插件,同时还有管理员换图指令所使用的配置文件也同样在这里进行配置。

实操:

以mapchooser.smx插件配置为例,我们可以在addons/sourcemod/configs里创建一个新的文件,例如maps.ini,然后往里面添加我想要的地图的名字,比如1v1地图am_must2(前提是已经将am_must2.bsp文件上传至服务器的maps文件夹和fastdl服务器中)。编辑好maps.ini文件之后我们保存,然后对maplist.cfg文件进行编辑。

我们可以看到默认状态下mapchooser的配置是"target"  "default"。由于官方文档并没有解释target这个指令怎么用,所以我们姑且替换他,改成"file"  "addons/sourcemod/configs/maps.ini"即可。

这时候我们只需要重启服务器即可。同时我们配置之后也不会和服务器自带的投票换图功能冲突(可以禁用插件在剩余一定回合时投票换图)。同理,我们也可以为管理员换图菜单专门编辑一个文件,对maplist.cfg文件进行相应的修改即可。也包括default设置也可以进行修改。

P.S.关于如何配置FastDL,有不同的方案可以参考,链接贴在这里

【FastDL】低成本搭建FastDL方法,没有条件搭建网站的同学们的福音来了

CSGO FastDL 快速下载服务器搭建


CSGO插件分享-申明 1、本网站名称:CSGO插件分享-中文站  网址:https://bbs.csgocn.net
2、本站的宗旨在于为CSGO玩家提供一个插件分享的中文资源平台,多数插件来源于SourceMod论坛,并配以中文介绍和安装教程。
3、欢迎有能力的朋友共享有趣的CSGO插件资源。
4、本站资源大多为百度网盘,如发现链接失效,可以点: 这里进行反馈,我们会第一时间更新。
最新回复 (33)
  • 我不当学长 管理员组@Ta 8月前 0
    引用 2
    分析的非常彻底,我以前就没有搞懂为什么有这么多target,于是就为了换图正常,删除了mapcycle.txt文件,看起来是治标不治本。
  • AEISet 楼主 三级用户组@Ta 6月前 1
    引用 3
    插件换图和服务器投票换图会冲突,mapchooser有优先级,而且mapchooser在投票过后会记录最后一次选的地图,这就导致如果不重新使用mapchooser的功能进行投票选图会一直换回最后一次投票选中的地图。目前的建议是服务器投票选图和插件投票换图二选一(不使用mapchooser插件并不影响管理员换图)。
  • wdnmd 二级用户组@Ta 2月前 0
    引用 4
    太牛了
  • wdnmd 二级用户组@Ta 2月前 0
    引用 5
    那无法投票换图呢?!admin可以
  • AEISet 楼主 三级用户组@Ta 2月前 0
    引用 6
    wdnmd 那无法投票换图呢?!admin可以
    可以用投票插件。论坛里有两个投票插件都可以用,投票换图功能是mapchooser提供的,只需要使用mapchooser的指令就可以唤起投票菜单。论坛里的投票插件本质上只是提供了一个投票功能的入口。
  • wdnmd 二级用户组@Ta 2月前 0
    引用 7
    可以发起投票,但是换不了图,一直是启动图
  • AEISet 楼主 三级用户组@Ta 2月前 0
    引用 8
    wdnmd 可以发起投票,但是换不了图,一直是启动图
    这种情况你要先检查下你安装的插件里面有哪些是涉及换图功能的,其次是排除你进行投票换图时唤起的插件是哪一个插件。然后检查是不是因为你服务器里没有投票所选择的地图。如果是使用了创意工坊的地图,那你就要排除是用什么方法使用的创意工坊的地图,一般不推荐使用密钥的方法使用创意工坊地图,会因为网络原因导致不能正常换图卡在换图阶段。如果是调用的mapchooser但换图后还是换回了原来的地图,那有可能是换图失败了引起的,mapchooser插件在默认情况下如果已经进行过一次投票,下一次投票是失败或没有进行投票的情况下他是自动换回上一次投票选择的地图。
    还可以检查下是不是因为你的游戏模式引起的换图失败,例如有些死斗插件的bug会导致换图不能正常进行,必须要等待mp_timelimit参数变为0才会进行换图。
  • wdnmd 二级用户组@Ta 2月前 0
    引用 9
    AEISet 这种情况你要先检查下你安装的插件里面有哪些是涉及换图功能的,其次是排除你进行投票换图时唤起的插件是哪一个插件。然后检查是不是因为你服务器里没有投票所选择的地图。如果是使用了创意工坊的地图,那你就要排除 ...
    @AEISet  感谢,我看下
  • wdnmd 二级用户组@Ta 2月前 0
    引用 10
    AEISet 这种情况你要先检查下你安装的插件里面有哪些是涉及换图功能的,其次是排除你进行投票换图时唤起的插件是哪一个插件。然后检查是不是因为你服务器里没有投票所选择的地图。如果是使用了创意工坊的地图,那你就要排除 ...
    我的地图文件已经上传到服务器还要下载站
  • AEISet 楼主 三级用户组@Ta 2月前 0
    引用 11
    wdnmd 我的地图文件已经上传到服务器还要下载站
    当然要的,服务器有地图但是玩家的客户端没有相应的地图,你需要有FastDL下载站让玩家客户端自动下载地图。
  • wdnmd 二级用户组@Ta 2月前 0
    引用 12
    我刚刚试了,我删除死斗的插件,就可以换图,但是没有投票界面。(╯‵□′)╯︵┻━┻ 
  • wdnmd 二级用户组@Ta 2月前 0
    引用 13
    fastdl早就搭建好了,下载地图没有问题,主要是不能投票和换图问题
  • AEISet 楼主 三级用户组@Ta 2月前 0
    引用 14
    wdnmd 我刚刚试了,我删除死斗的插件,就可以换图,但是没有投票界面。(╯‵□′)╯︵┻━┻
    你用的是哪一个换图插件呢?如果是mapchooser的话你要注意mapchooser的配置文件里设置好换图触发的条件,有时间和回合两个触发条件。
  • wdnmd 二级用户组@Ta 1月前 0
    引用 15
    @AEISet  ,请问出发条件是怎么设置?个个cfg优先级是怎样的?死斗有个cfg然后map里面也有地图的cfg,两个地图时间设置不一样。
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 16
    wdnmd @AEISet ,请问出发条件是怎么设置?个个cfg优先级是怎样的?死斗有个cfg然后map里面也有地图的cfg,两个地图时间设置不一样。
    你用的是哪个死斗插件
  • wdnmd 二级用户组@Ta 1月前 0
    引用 17
    @AEISet  ,就是社区学长发布的死斗插件啊。
  • wdnmd 二级用户组@Ta 1月前 0
    引用 18
    amemode_deathmatch.cfg是系统自带的吧。deathmatch.ini文件可以设置地图轮换吗
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 19
    wdnmd @AEISet ,就是社区学长发布的死斗插件啊。
    你说的那个地图cfg是不是在configs/deathmatch/spawns里的
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 20
    我用的也是那个插件但是没有你说的map文件夹
  • wdnmd 二级用户组@Ta 1月前 0
    引用 21
    /home/csgo/csgo/maps/cfg  这个路经
  • wdnmd 二级用户组@Ta 1月前 0
    引用 22
    @wdnmd  ,
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 23
    wdnmd /home/csgo/csgo/maps/cfg 这个路经
    我的死斗插件里没有这个路径的文件。但CSGO的确是自带这个文件路径的,里面存放的是一些地图预设(应该),这个是游戏自带的,应该不影响你使用插件的。
  • wdnmd 二级用户组@Ta 1月前 0
    引用 24
    换图触发条件是哪里设置??是deamemode_deathmatch.cfg文件吗?我在这个文件可以设置bot数量,也设置了地图时间和回合数,但是到了时间死活不换图。
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 25
    wdnmd 换图触发条件是哪里设置??是deamemode_deathmatch.cfg文件吗?我在这个文件可以设置bot数量,也设置了地图时间和回合数,但是到了时间死活不换图。
    sourcemod/configs/deathmatch/deathmatch.ini这个文件里有一个dm_enable_valve_deathmatch是否改成了yes,我不确定和这个参数有没有关系,但如果你的游戏模式设置的是死斗模式,就需要将这个参数改成yes。
  • wdnmd 二级用户组@Ta 1月前 0
    引用 26
    @AEISet  ,大佬,我按照你的方法,一局时间过后,又会重复启动图
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 27
    wdnmd @AEISet ,大佬,我按照你的方法,一局时间过后,又会重复启动图
    有没有使用换图插件?我建议你如果实在排除不出来,重新安装服务器,包括cfg文件都重新进行配置吧。或者通过服务器控制台来排查问题,看下换图是什么东西主导的,如果换图的时候显示[SM]开头的东西就是插件在主导换图。
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 28
    主要是不知道你的服务器里还安装了有什么插件,又是如何进行设置的,很难确定换图不正常的症结所在。我建议在解决换图问题之前先不要加入创意工坊的地图。
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 29
    wdnmd @AEISet ,大佬,我按照你的方法,一局时间过后,又会重复启动图
    而且我也不清楚你是用什么方法安装服务器的,是Linux还是Windows,如果是Linux又是LGSM还是Steamcmd的方法。
  • wdnmd 二级用户组@Ta 1月前 0
    引用 30
    我用的是Steamcmd,  linux系统
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 31
    wdnmd 我用的是Steamcmd, linux系统
    推荐试一下用LGSM,本质上没区别但LGSM的配置脚本已经提前写好了,只需要针对需要的部分进行修改就可以用,能省很多事也能避免很多不必要的问题
  • wdnmd 二级用户组@Ta 1月前 0
    引用 32
    这样
  • wdnmd 二级用户组@Ta 1月前 0
    引用 33
    有教程吗?大佬
  • AEISet 楼主 三级用户组@Ta 1月前 0
    引用 34
    wdnmd 有教程吗?大佬
    https://www.ecsoe.com/archives/5.html
    这是CentOS的教程
返回