CentOS CSGO服务器教程(3)插件&CFG |
您所在的位置:网站首页 › csgo社区服务器切换 › CentOS CSGO服务器教程(3)插件&CFG |
前篇 前篇中,我们已经在Linux下搭建了一个简单的CSGO服务器,在配置了基本的启动项参数后将其启动。本期将介绍CSGO服务器的插件系统SourceMod&MetaMod并介绍如何将插件完整部署到服务器中。 1.SourceMod&MetaMod 1.1 历史 在CS1.6版本,服务器插件均为.dll格式(动态链接库),需要使用CS提供的sdk生成.dll,同时将.vdf放入addons中引导.dll生效,实现插件的自定义功能。由于该部分需要对sdk及C语言的深入了解,门槛过高。 之后AlliedMod团队将sdk改写后,提供了接口供C++语言对插件的编写,这个有接口的sdk平台就是MetaMod(准确的来说应该是MetaMod:Source)。之后为了适配pawn语言又用同样的方法构建了SourceMod平台。 可以说SourceMod和MetaMod是CS这个系列插件的重要支撑与基石,在部署了SourceMod&MetaMod之后,我们便可以装载插件,实现自定义功能了。 SourceMod官网 https://www.sourcemod.net MetaMod官网 www.metamodsource.net 1.2 部署 利用PuTTY以csgoserver身份登录至云服务器 进入csgo目录下 我们需要将SourceMod与MetaMod下载并解压,在官网找到Linux稳定版后,开始下载 下载之后解压缩 删除安装包 接下来配置服务器的参数,配置文件为csgoserver.cfg,位于 目录下。注意:该文件与/lgsm下的csgoserver.cfg作用不同,不可混淆! 1.3 配置csgoserver.cfg 如果在该目录下不存在csgoserver.cfg文件,请新建一个,如果存在一个名称为server.cfg的文件或存在csgoserver.cfg,将其重命名后按照下面的样例进行修改。 这里我提供一份样例,仅供参考。具体详情请阅读文件中的注释了解。 如上设置完成后,重启服务器并从CSGO客户端进入,输入!admin后出现如下图提示,证明此时SourceMod&MetaMod已成功加载。 1.4 配置admins_simple.ini 此时可以看到,服务器插件框架已经正确加载。我们理所当然要给自己增加一个游戏内的admin权限。 SourceMod管理员配置文件一般为admin.cfg,为了简化操作,我们可以通过修改更为简单的admins_simple.ini文件实现,该文件的目录如下: 进入目录并打开文件 上面的文件主要介绍了如何添加管理员,可以根据steam16位ID、ip地址、steam组来设置对应的权限。这里介绍根据steamID设置的方法。 如何获取steam 16位ID? 方法一 游戏服务器内获取 进入任意官方服务器,按“~”键打开控制台,输入status显示服务器内玩家列表 找到自己对应的steamID,格式一般为"STEAM_0:1:1234567",与文件中的"STEAM_0:1:16"相符。 方法二 网站查询 有很多可以提供steamID查询的网站,这里只是举个例子 https://steamid.top/ 有一说一,界面挺卡哇伊的输入steam主页地址(登录steam后进入个人资料 ,右键选择复制网页url即可),即可查询到steam16位ID 红框处即为steamID(白毛真可爱)在获取了SteamID后,按照如下格式在文件中新增一行 "STEAM_0:1:1234567"(此处为SteamID) “99:z”(最高管理权限,豁免计数99) 之后重启服务器,从CSGO客户端登录后输入!admin 可以看到,此时已拥有客户端面的管理员权限。 2.插件&CFG 2.1 文件结构 在介绍插件如何安装之前,先介绍一下/csgo目录下的文件结构 /home/csgoserver/serverfiles/csgo/addons文件夹存储着SourceMod&MetaMod框架及插件,/cfg文件夹存放着steamcmd提供的默认的服务器配置文件,/maps存放着游戏地图,后期添加创意工坊地图时可以在其中放置。/csgo目录下mapcycle.txt与maplist.txt文件决定着装载插件后服务器是否投票换图及换图的列表。 /home/csgoserver/serverfiles/csgo/addons/sourcemod/addon/sourcemod目录下包含着/plugins插件文件夹,/scripting插件源文件夹,/configs文件夹。这里注意,此处的configs是插件自定义的配置文件,不是steamcmd默认的配置文件目录。 /home/csgoserver/serverfiles/csgo/addons/sourcemod/plugins/plugins目录下存放着插件文件,格式名为.smx,移除.smx文件会对服务器中的插件 /home/csgoserver/serverfiles/csgo/addons/sourcemod/scripting/scripting目录下存放着未编译的脚本文件,格式名为.sp,删除.sp文件不会影响到服务器运行。这里和上文的.smx一样先按下不表,在2.3小节中具体介绍。 /home/csgoserver/serverfiles/csgo/addons/sourcemod/configs/configs目录下存放着插件自定义的配置文件,1.4小节中介绍的admin_simple.ini也位于此。 /home/csgoserver/serverfiles/csgo/cfg/home/csgoserver/serverfiles/csgo/cfg目录下存放着csgo服务器默认的cfg配置。1.3节中添加的csgoserver.cfg位于此。我们平时常玩的休闲模式、竞技模式、搭档模式就对应着这里的gamemode_casual.cfg,gamemode_competitive.cfg,gamemode_competitive.cfg。 2.2 .sp&.smx文件 在2.1节我们已经知道脚本目录下存放着.sp,插件目录下存放着.smx。我们打开一组对应的文件rockthevote.sp、rockthevote.smx rockthevote.sprockthevote.sp可见rockthevote.sp文件是由C++语言编写的脚本文件。我们接着看rockthevote.smx rockthevote.smxrockthevote.smxrockthevote.smx是由.sp文件编译得到的二进制插件文件,可供服务器正常调用。 实现.sp编译为.smx的是名为compile.sh的桥梁。在Windows操作系统下,通过将.sp文件拖至compile.sh即可获得对应的.smx文件,而在CentOS下通过执行 即可执行该搞作,获得rockthevote.smx 获得.smx文件后,将其拷贝至/plugin文件夹下,重启服务器即可在启动服务器时自动生效。 以下是compiled.sh的具体内容: compiled.sh2.3 SourceMod Plugin 除了SourceMod自带的插件之外,我们可能需要诸如满十、1v1、僵尸逃跑、kz等一些需求,这时自带的插件无法满足这些内容,就需要我们去网上找对应的插件进行下载。国内有僵尸乐园ZED和X社区两个大社区,安装器中也包含了很多有用的插件,但这里只介绍一下如何从SourceMod官网下载,如有需要请自行研究。 SourceMod插件搜索的网址 https://www.sourcemod.net/plugins.php 搜索“KZ”插件 按照插件的说明,即可进行部署与安装,安装后在重启服务器,插件即可生效 2.4 WarMod(满十插件) SourceMod框架自带一个WarMod的配置文件(.cfg),在客户端使用!admin即可开启 选2进入服务器指令按2执行cfg选2启用WarMode成功执行配置2.5 CFG 介绍一下服务器自带的部分配置文件,这里以gamemode_competitive.cfg为例,选取几项比较重要的参数进行讲解,目录为 gamemode_competitive.cfg 补充几个我用到的命令 2.6 演示:部署gunmenu插件 下面以一个具体的案例说明插件的部署。演示部署gunmenu插件(换枪插件)的流程。 ①首先在SourceMod官网搜索"gun",找到我们所需的插件(红框内) 进入页面后选择“Get Plugin”(下方的绿框)进行下载,一般此处作者会介绍该插件如何使用,此处作者介绍在上方的绿框中: Installation: Place compiled plugin (sm_gunmenu.smx) into the plugins folder (../addons/sourcemod/plugins/). Place the configuration file (gunmenu.ini) into the config folder (../addons/sourcemod/configs/).Changes to gunmenu.ini are read at map/plugin load time. 意思是需要将sm_gunmenu.smx放置到 ../addons/sourcemod/plugins/目录下,gunmenu.ini放置到 ../addons/sourcemod/configs/目录下 橙色框中提示插件如何在客户端中使用,此处说明在控制台输入sm_guns或sm_gunmenu即可调取枪械菜单。由于SourceMod下sm_指令可用聊天框中!替代,所以聊天框中!guns与控制台sm_guns效力相同。 ②下载后将sm_gunmenu.smx放置于云服务器的目录下 将gunmenu.ini放置于云服务器的目录下 ③重启服务器,登录CSGO客户端,按照Alliedmods上的提示使用插件。 可以看到已经成功启用了gunmenu插件,调出了枪械菜单。 ④如需修改服务器插件的内容,可以在/addons/sourcemod/configs目录下打开gunmenu.ini文件进行修改。 以上是一个一般情况下的插件部署过程,部分插件可能还需要配置数据库、cfg文件、ip端口等,需要详细按照Alliedmods上的提示部署。 3.补充 3.1 创意工坊地图 一般将创意工坊地图放置在 目录下,即maps下的workshop目录(如果没有该目录就创建一个),如果服务器默认地图为创意工坊地图,需要将前篇中的启动参数map部分修改 比如: 即可,同时需要填写steamwebapi,以供地图下载 3.2 地图组循环 修改2.1节中/csgo目录下的mapcycle.txt与maplist.txt文件,注意:两个文件中的内容要相同。如要添加创意工坊地图,直接在txt文档中添加数字即可。 3.3 关于皮肤插件 注意:CS:GO - GSLT 封禁 https://help.steampowered.com/zh-cn/faqs/view/07AF-502E-A104-BD4B 任何时候,不要逾越底线! 3.4 插件包备份 如果你已经熟悉了插件的部署,知道自己服务器的插件配置,不妨单独按照文件结构将插件设置一个快速部署包,方便故障或新部署服务器时使用,提高速度。 这就是我曾经使用的一个1v1插件的备份包,再次部署时使用很省心。 本篇介绍了CSGO服务器SourceMod&MetaMod平台、插件及CFG相关的设置,下一篇将介绍服务器运维及安全知识。 这阵子工作稍微忙碌,时间不太充裕,出稿速度会慢。 别急! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |