Adding Admins (SourceMod)/zh
Language: | English • русский • 中文 |
---|
SourceMod有着十分详尽并且灵活的管理系统,这可能会吓退很多新手用户。为了简化操作,MOD中有许多“标志”指定了管理员们能拥有的权限。
目前有两种存储管理员信息的方式。其一是通过admin-flatfile.smx插件,这个插件默认被启用了。这个插件提供了两个文件:一个是简化的普通文档,另一个是较为复杂的树形文档。还有一个方式是通过SQL来储存管理员信息。
SourceMod提供三种认证方式:
- Steam ID (每个Steam账户特有的)
- IP Address (对于计算机半特有的,对于局域网是个不错的选择)
- Name (需要密码)
快速入门
在服务器上,打开/addons/sourcemod/configs/admins_simple.ini
在新的一行,增加以下内容,并且替换成你自己的steamID(在你的客户端控制台使用status命令来获取STEAM_n:o:p这种格式的SteamID) "你的SteamId" "99:z"
保存文件,然后在服务器控制台输入sm_reloadadmins
。使用客户端连接到服务器。在客户端控制台中输入sm_admin
,然后回到游戏。你应该看到了管理菜单。
权限等级
首先,让我们快速浏览一下系统内置的等级:
名字 标志 目的 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.
免疫
在SourceMod中,免疫是一个基于“免疫等级”的灵活的系统。每一个管理员都有一个免疫等级。一个管理员能否对另一个管理员进行操作取决于谁有更高的免疫等级。
例如,假设管理员#1免疫等级为3,管理员#2免疫等级为10。#2可以操作#1,反之不行。这些数字十分随意,并且他们可以是任何不小于0的数。注意,0代表着没有免疫。
默认情况下,同免疫等级的管理员可以相互操作。这个可以cfg/sourcemod.cfg在中的sm_immunity_mode里面修改。
拥有root权限(z)的管理员不受免疫等级影响 意味着他们可以操作任何人。
密码
使用密码的方式是可选的.
为了让密码工作,服务器管理员必须改变addons/sourcemod/configs/core.cfg中的PassInfoVar
。例如:
"PassInfoVar" "_sm1337"
如果一个管理员有密码,这个人必须通过在客户端控制台中使用setinfo命令设置密码。拿上面的例子举例,用户BAILOPAN可能需要输入
setinfo "_sm1337" "Gab3n"
为了在连入服务器时自动输入以上命令,你可以在客户端文件夹中创建一个"autoexec.cfg"。它位于SteamApps\common\[game]\[gameabbr]\cfg。例如:
- C:\Program Files\Steam\steamapps\common\Counter-Strike Source\cstrike\cfg
你也可以在连入时设置密码。对于Steam和IP的验证方式,如果密码正确,你的管理员权限会被自动赋予。对于基于名字的验证方式,在你更改你的名字前密码必须正确,否则你会被提出服务器。
简单管理员设置
最简单的方式是通过configs/admins_simple.ini.这是个每行只需要两个参数的简单文本: 验证信息和标志。
文本格式:
< > - 必需的
[ ] - 可选的
/ - 或
"<Steam ID/!IP/Steam name>" "[免疫等级:]<标志/@组>" ["密码"]
例子:
"STEAM_0:1:16" "bce" //这个SteamID可以统一, 踢人, 解封,但是没有免疫等级 "!127.0.0.1" "5:z" //所有权限,免疫等级5 "BAILOPAN" "abc" "Gab3n" //名字为BAILOPAN,密码为"Gab3n": 保留通道, 通用, 踢人 "Gaben" "@Admins" //名字为Gaben,管理员组
高级管理员设置
另外,你也可以在configs/admins.cfg中增加管理员,这个文件将信息存储为键-值格式。每个管理员在“Admin”区块内有他自己的区块。你可以创建或者使用KVManager修改admins.cfg文件。格式如下:
Admins { "管理员名字" { "auth" "[steam|name|ip]" "identity" "[独特的ID]" "[可选1]" "[值1]" "[可选2]" "[值2]" /* .... */ } }
可选选项:
* - 必需的
- auth *:必须是steam, name, or ip之一 (除非还有自定义的验证方式), 告诉SourceMod如何处理identity值。
- identity *:能让SourceMod识别管理员的特有的值。
- pass: 指定用户必须输入的密码(see 密码).
- group: 指定用户继承哪一个组(如果可用的话)。可以多继承(可以有多行)不应该有 '@' 符号,因为这里有歧义。
- flags: 默认获取的权限。
- immunity: 默认免疫等级。
管理员名字是可选的(可以为空).内部并不会使用它,他设计出来是给第三方工具使用的。
例子:
Admins { "BAILOPAN" { "auth" "steam" "identity" "STEAM_0:1:2345" "flags" "abcdef" "immunity" "5" "group" "Awesome Admins" } "Blue Crab" { "auth" "steam" "identity" "STEAM_0:1:666666" "flags" "z" "immunity" "99" } }