<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alliedmods.net/index.php?action=history&amp;feed=atom&amp;title=Adding_Groups_%28SourceMod%29%2Fzh</id>
	<title>Adding Groups (SourceMod)/zh - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alliedmods.net/index.php?action=history&amp;feed=atom&amp;title=Adding_Groups_%28SourceMod%29%2Fzh"/>
	<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)/zh&amp;action=history"/>
	<updated>2026-06-22T06:51:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.6</generator>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)/zh&amp;diff=10848&amp;oldid=prev</id>
		<title>MisakaSora at 07:37, 12 September 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)/zh&amp;diff=10848&amp;oldid=prev"/>
		<updated>2019-09-12T07:37:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 07:37, 12 September 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Languages|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Adding_Groups_&lt;/del&gt;(SourceMod)}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Languages|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Adding Groups &lt;/ins&gt;(SourceMod)}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__FORCETOC__&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__FORCETOC__&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>MisakaSora</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)/zh&amp;diff=10846&amp;oldid=prev</id>
		<title>MisakaSora: Created page with &quot;{{Languages|Adding_Groups_(SourceMod)}} __FORCETOC__  本文将介绍如何通过&lt;tt&gt;configs/admin_groups.cfg&lt;/tt&gt;添加与配置组权限。&lt;tt&gt;admin-flatfile.smx&lt;/tt&gt;会对...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)/zh&amp;diff=10846&amp;oldid=prev"/>
		<updated>2019-09-12T07:36:55Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Languages|Adding_Groups_(SourceMod)}} __FORCETOC__  本文将介绍如何通过&amp;lt;tt&amp;gt;configs/admin_groups.cfg&amp;lt;/tt&amp;gt;添加与配置组权限。&amp;lt;tt&amp;gt;admin-flatfile.smx&amp;lt;/tt&amp;gt;会对...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Languages|Adding_Groups_(SourceMod)}}&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
本文将介绍如何通过&amp;lt;tt&amp;gt;configs/admin_groups.cfg&amp;lt;/tt&amp;gt;添加与配置组权限。&amp;lt;tt&amp;gt;admin-flatfile.smx&amp;lt;/tt&amp;gt;会对这个文件内容进行解析并加载。&lt;br /&gt;
&lt;br /&gt;
=介绍=&lt;br /&gt;
当你想给多位管理员配置相似的属性和权限时，使用权限组是非常方便的。比如，假如说你希望有15个管理员都权限和权限豁免。在这种情况下，你只需要给这些管理员配置一个权限组，之后就可以在一个地方同时修改所有成员的权限了。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=文件格式=&lt;br /&gt;
权限组是位于“Group”代码块下的特定的代码块。每个组必须有个唯一名称，如果名称不是唯一的，权限会从现有组中扩展/覆盖。这就是说，如果一个组同时在配置文件中和外部源中（比如数据库）有配置，那么最终的权限会根据解析的顺序来合并/覆盖。你可以用[http://forums.alliedmods.net/showthread.php?t=81160 KVManager]来修改&amp;lt;tt&amp;gt;admin_groups.cfg&amp;lt;/tt&amp;gt;文件。&lt;br /&gt;
&lt;br /&gt;
权限组代码块长这样:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;Groups&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;Group Name&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;[option1]&amp;quot;	&amp;quot;[value1]&amp;quot;&lt;br /&gt;
		&amp;quot;[option2]&amp;quot;	&amp;quot;[value2]&amp;quot;&lt;br /&gt;
		/* ... */&lt;br /&gt;
		&amp;quot;Overrides&amp;quot;&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;[override1]&amp;quot;	&amp;quot;[allow|deny]&amp;quot;&lt;br /&gt;
			&amp;quot;[override2]&amp;quot;	&amp;quot;[allow|deny]&amp;quot;&lt;br /&gt;
			/* ... */&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
所有的选项都是可选的（也就说，他们不需要明确定义 ），类似，&amp;quot;Overrides&amp;quot;节点也是完全可选的，甚至可以省略，完整的可用选项包括：&lt;br /&gt;
*&amp;lt;tt&amp;gt;flags&amp;lt;/tt&amp;gt;: 这个组的成员继承Flag串。&lt;br /&gt;
*&amp;lt;tt&amp;gt;immunity&amp;lt;/tt&amp;gt;: 如果是数字，且比用户自身权限值高时，会被用户继承。如果是'@'开头的字符串，那么它表明，来自对应组的用户的指令无法作用于本组成员。&lt;br /&gt;
&lt;br /&gt;
“Overrides”节点可以指定本组成员是否允许执行特定指令/组的指令。这是个非常强力的节点。例如，你可以设置让成员没有&amp;quot;map&amp;quot;的flag，但是允许他们执行&amp;lt;tt&amp;gt;sm_map&amp;lt;/tt&amp;gt;，对应地你也可以让他们拥有&amp;quot;map&amp;quot;的flag但是不能执行&amp;lt;tt&amp;gt;sm_map&amp;lt;/tt&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
命令权限组在[[Overriding Command Access (SourceMod)|此文]]中会有更详细的介绍。&lt;br /&gt;
=== 权限覆写的例子： ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;Groups&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;Basic Admin&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;flags&amp;quot;			&amp;quot;abc&amp;quot;	//保留位置、一般管理、踢人&lt;br /&gt;
		&amp;quot;immunity&amp;quot;		&amp;quot;1&amp;quot;	//低权限豁免值&lt;br /&gt;
&lt;br /&gt;
		&amp;quot;Overrides&amp;quot;&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;sm_map&amp;quot;	&amp;quot;allow&amp;quot;	//即便没有map的flag，也允许使用sm_map指令&lt;br /&gt;
			&amp;quot;@CSDM&amp;quot;		&amp;quot;deny&amp;quot;	//禁止执行来自CSDM组的指令&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=继承=&lt;br /&gt;
权限组是不能被嵌套的，这就是说，一个组不能从另外一个组中继承权限。但是，一个管理员可以从任意多个权限组中继承权限。权限是可以叠加的，这也意味着，只有当更多权限被赋予时，才有体现。（译注：这话很绕，我估摸着大致意思是，不同组权限是完美合并的）&lt;br /&gt;
&lt;br /&gt;
比如，如果一个用户有&amp;lt;tt&amp;gt;bcd&amp;lt;/tt&amp;gt;的flag，一个组提供了&amp;lt;tt&amp;gt;ae&amp;lt;/tt&amp;gt;的flag，另一个组提供了&amp;lt;tt&amp;gt;ae&amp;lt;/tt&amp;gt;的flag，由于继承的存在用户会同时拥有&amp;lt;tt&amp;gt;abcde&amp;lt;/tt&amp;gt;的flag。同样的，当组的权限豁免值大于用户当前的值时，会被用户继承。&lt;br /&gt;
&lt;br /&gt;
唯一例外是组内的权限覆写。如果一个命令在A组是允许的，B组禁止的，那么当一个用户同时继承A组和B组，用户能否使用指令依赖于继承的顺序。如果A先继承，那么指令是允许执行的，如果B先继承，那么命令是被禁止的。&lt;br /&gt;
&lt;br /&gt;
最后，需要注意的是，用户继承于一个权限组，此时对于组的权限的修改，不会立即生效，这是一种优化。如果你想立即生效，需要重新加载一下权限。（可以通过断开连接或指令&amp;lt;tt&amp;gt;sm_reloadadmins&amp;lt;/tt&amp;gt;实现）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=相关链接=&lt;br /&gt;
*[[Overriding Command Access (SourceMod)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
友情翻译[[User:MisakaSora|MisakaSora]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Documentation]]&lt;/div&gt;</summary>
		<author><name>MisakaSora</name></author>
		
	</entry>
</feed>