【科普】admin flag 管理员权限的一系列问题解析 教学 科普

我不当学长 管理员组 2023-1-28 1007

先占坑(20230128),有空了再详细写写。已更新!

主要内容包含:

  1. admin flags是什么?有哪些?
    Admin flags是一系列用来标记用户权限的“等级标记”,不同的flag代表着不同的权限。

    SourceMod默认支持下面这些权限flags:

    名字 标志flag 目的
    reservation a 获取保留通道的权限
    generic b 通用管理员;需要管理员权限
    kick c 踢出其他玩家
    ban d 封禁其他玩家
    unban e 移除封禁
    slay f 攻击其他玩家
    changemap g 更改地图或者游戏属性
    cvar h 更改大多数cvars.
    config i 执行config文件
    chat j 特殊聊天权限
    vote k 创建投票
    password l 给服务器设定密码
    rcon m 使用RCON命令
    cheats n 改变sv_cheats或使用作弊命令
    root z 开启所有标志并且无视免疫等级
    custom1 o 自定义组1.
    custom2 p 自定义组2.
    custom3 q 自定义组3.
    custom4 r 自定义组4.
    custom5 s 自定义组5.
    custom6 t 自定义组6.

    举个例子:
           在/addons/sourcemod/configs/admins_simple.ini 文件中,我们添加了下面的内容
    "STEAM_0:1:16"		"bce"	//这个SteamID可以统一, 踢人, 解封,但是没有免疫等级

    注意:上面提到的“免疫等级(immunity)”是一个数值标记,拥有相同的免疫等级的管理员,相互之间是可以进行管理的;默认情况下,高免疫等级的玩家不会受到低免疫等级的玩家控制!


  2. admin group是什么?能干嘛?
    Admin Group 是 SourceMod中,用来设置管理员组的一种方法。同一个Group下面的所有的管理员,默认拥有一模一样的权限。Group的好处在于:可以非常轻松地为相同group的管理员增加、减少权限flag。

    举个例子:
           在
    configs/admin_groups.cfg 文件中,有如下内容
    "Groups"
    {
    	"Basic Admin"
    	{
    		"flags"			"abc"	//保留位置、一般管理、踢人
    		"immunity"		"1"	//低权限豁免值
    
    		"Overrides"
    		{
    			"sm_map"	"allow"	//即便没有map的flag,也允许使用sm_map指令
    			"@CSDM"		"deny"	//禁止执行来自CSDM组的指令
    		}
    	}
    }

    这个例子表示,有一个组,名为Basic Admin,这个组内:
    所有的管理员都拥有abc这三个flag,也就是拥有保留位、一般管理、踢人的权限;他们的免疫等级都是1。

    注意:上面的例子里面提到了Overrides,这个我们下面再去讨论。

  3. admin override是什么?有啥用?
    Admin Override 在SourceMod中,用来重构原本的管理员权限。

    举个例子:
           在
    configs/admin_overrides.cfg 文件中,有如下内容:
    Overrides
    {
    	"sm_map"	"k"	//改变 "sm_map" 的默认权限flag为"k" flag.
    	"@CSDM"		"m"	//权限flag为"m" 的用户,将拥有组名为CSDM的group的管理员的任何权限的执行权限
    	"sm_chat"	""	//任何人都可以使用 "sm_chat"命令(默认情况下,使用sm_chat是需要特定权限的)
    }​

    这个例子可以这样理解,“sm_map”命令的默认执行权限flag是g,但是我们可以将它重写为k,此时拥有k 权限的玩家就可以执行原来本属于g权限玩家才能够执行的命令

实战:

讲到这里,大家应该对上面的3个主题已经有所了解了。我这里向大家提出一个题目,以此考验大家是否真的理解了admin flags的相关内容。

问题:如果一个管理员A,他的权限是abcdefg,但是我想要让他的权限简单一点,用权限o就可以表示abcdefg,该怎么做呢?

答案:
admins_simple.ini文件中添加如下信息
"STEAM_1:1:64036271" "@VIP_1"  //表示用户属于group名称为VIP_1的组

在admin_overrides.cfg中,添加下面的信息,表示我们先将VIP_1这个组的权限重写为了 o flag


在admin_group.cfg中,添加下面的信息,表示我们新增了一个group,名称为VIP_1,组内管理员的权限为bcdfgjk,免疫等级为1


参考资料:

CSGO插件分享-申明 1、本网站名称:CSGO插件分享-中文站  网址:https://bbs.csgocn.net
2、本站的宗旨在于为CSGO玩家提供一个插件分享的中文资源平台,多数插件来源于SourceMod论坛,并配以中文介绍和安装教程。
3、欢迎有能力的朋友共享有趣的CSGO插件资源。
4、本站资源大多为百度网盘,如发现链接失效,可以点: 这里进行反馈,我们会第一时间更新。
最新回复 (2)
返回