<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alliedmods.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Recon0</id>
	<title>AlliedModders Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alliedmods.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Recon0"/>
	<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/Special:Contributions/Recon0"/>
	<updated>2026-06-06T17:57:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.6</generator>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Adding_Admins_(SourceMod)&amp;diff=7034</id>
		<title>Adding Admins (SourceMod)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Admins_(SourceMod)&amp;diff=7034"/>
		<updated>2009-03-18T21:53:08Z</updated>

		<summary type="html">&lt;p&gt;Recon0: /* Detailed Admins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
SourceMod has as very detailed and flexible administration system, and it can be quite daunting to users.  To simplify things, there are a number of &amp;quot;flags&amp;quot; which specify generic permissions administrators can have.&lt;br /&gt;
&lt;br /&gt;
Aside from that, there are (currently) two provided ways of storing admins.  One via a simplified flat file, and another via a more complex tree-based file.&lt;br /&gt;
&lt;br /&gt;
SourceMod provides three methods of authentication by default:&lt;br /&gt;
*''Steam ID'' (unique to a Steam account)&lt;br /&gt;
*''IP Address'' (semi-unique to a given computer, better for LANs)&lt;br /&gt;
*''Name'' (requires a password)&lt;br /&gt;
&lt;br /&gt;
=Quick Start=&lt;br /&gt;
On the server, open cstrike/addons/sourcemod/configs/admins_simple.ini&lt;br /&gt;
&lt;br /&gt;
In a new line, add the following, replacing yoursteamid (use your client's console '''status''' command to retrieve your steamid - formatted as STEAM_n:o:p)&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;yoursteamid&amp;quot; &amp;quot;99:z&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Restart Server&lt;br /&gt;
&lt;br /&gt;
Connect to Server with Client&lt;br /&gt;
&lt;br /&gt;
Enter sm_admin into console, and return to game.  You should see admin menu.&lt;br /&gt;
&lt;br /&gt;
=Levels=&lt;br /&gt;
First, let's quickly run down the provided levels:&lt;br /&gt;
:{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Name&lt;br /&gt;
| Flag&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| reservation&lt;br /&gt;
| a&lt;br /&gt;
| Reserved slot access.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| generic&lt;br /&gt;
| b&lt;br /&gt;
| Generic admin; required for admins.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| kick&lt;br /&gt;
| c&lt;br /&gt;
| Kick other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ban&lt;br /&gt;
| d&lt;br /&gt;
| Ban other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| unban&lt;br /&gt;
| e&lt;br /&gt;
| Remove bans.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| slay&lt;br /&gt;
| f&lt;br /&gt;
| Slay/harm other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| changemap&lt;br /&gt;
| g&lt;br /&gt;
| Change the map or major gameplay features.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| cvar&lt;br /&gt;
| h&lt;br /&gt;
| Change most cvars.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| config&lt;br /&gt;
| i&lt;br /&gt;
| Execute config files.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| chat&lt;br /&gt;
| j&lt;br /&gt;
| Special chat privileges.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| vote&lt;br /&gt;
| k&lt;br /&gt;
| Start or create votes.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| password&lt;br /&gt;
| l&lt;br /&gt;
| Set a password on the server.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| rcon&lt;br /&gt;
| m&lt;br /&gt;
| Use RCON commands.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| cheats&lt;br /&gt;
| n&lt;br /&gt;
| Change sv_cheats or use cheating commands.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| root&lt;br /&gt;
| z&lt;br /&gt;
| Magically enables all flags.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Immunity=&lt;br /&gt;
In SourceMod, immunity is a flexible system based on ''immunity levels''.  Every admin can have an arbitrary immunity value assigned to them.  Whether an admin can target another admin depends on who has a higher immunity value.&lt;br /&gt;
&lt;br /&gt;
For example, say Admin #1 has an immunity level of &amp;quot;3&amp;quot; and Admin #2 has an immunity level of &amp;quot;10.&amp;quot;  Admin #2 can target Admin #1, but Admin #1 cannot target Admin #2.  The numbers are completely arbitrary, and they can be any number equal to or higher than 0.  Note that 0 always implies no immunity.&lt;br /&gt;
&lt;br /&gt;
By default, admins with the same immunity value can target each other.  This can be changed via &amp;lt;tt&amp;gt;sm_immunity_mode&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;cfg/sourcemod.cfg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Passwords=&lt;br /&gt;
For passwords to work, the server administrator must change the &amp;quot;PassInfoVar&amp;quot; line in &amp;lt;tt&amp;gt;addons/sourcemod/configs/core.cfg&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;PassInfoVar&amp;quot;			&amp;quot;_sm1337&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if an admin has a password, he or she must set the password via the ''setinfo'' command in the client console.   For example, using the examples above, &amp;lt;tt&amp;gt;BAILOPAN&amp;lt;/tt&amp;gt; would need to type:&lt;br /&gt;
&amp;lt;pre&amp;gt;setinfo &amp;quot;_sm1337&amp;quot; &amp;quot;Gab3n&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To automate this upon connecting to a server, you can create an &amp;quot;autoexec.cfg&amp;quot; file in your client &amp;lt;tt&amp;gt;cstrike&amp;lt;/tt&amp;gt; folder.  This will be located under &amp;lt;tt&amp;gt;SteamApps\ACCOUNT\Counter-Strike Source\cstrike\cfg&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
*&amp;lt;tt&amp;gt;C:\program files\steam\steamapps\bailopan\counter-strike source\cstrike\cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also set the password upon connecting.  For steam and IP authentication, your admin privileges will be automatically assigned if the password is correct.  For name based authentication, your password must be correct before you change your name, or else you will be kicked from the server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simple Admins=&lt;br /&gt;
The easiest way to add administrators is through &amp;lt;tt&amp;gt;configs/admins_simple.ini&amp;lt;/tt&amp;gt;.  This is a flat file which requires two parameters per line: authentication info, and flags.  The flag string is somewhat flexible and can have the following information:&lt;br /&gt;
*An optional immunity level value, followed by a colon (':');&lt;br /&gt;
*A flag string, '''or''';&lt;br /&gt;
*A group name, preceded by an '@' symbol&lt;br /&gt;
&lt;br /&gt;
Three examples are provided:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;STEAM_0:1:16&amp;quot;		&amp;quot;bce&amp;quot;			//generic, kick, unban for this steam ID.  no immunity&lt;br /&gt;
&amp;quot;!127.0.0.1&amp;quot;		&amp;quot;5:z&amp;quot;			//all permissions for this ip, immunity level = 5&lt;br /&gt;
&amp;quot;BAILOPAN&amp;quot;		&amp;quot;abc&amp;quot;	&amp;quot;Gab3n&amp;quot;		//name BAILOPAN, password &amp;quot;Gab3n&amp;quot;: gets reservation, generic, kick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Detailed Admins=&lt;br /&gt;
Alternatively, you can add admins via &amp;lt;tt&amp;gt;configs/admins.cfg&amp;lt;/tt&amp;gt;, a more advanced file stored in a KeyValues format.  Each admin is its own block inside a main &amp;quot;Admin&amp;quot; block. You can create and / or modify &amp;lt;tt&amp;gt;admins.cfg&amp;lt;/tt&amp;gt; files with [http://forums.alliedmods.net/showthread.php?t=81160 KVManager]. The format is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Admins&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;Admin Name&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;auth&amp;quot;		&amp;quot;[steam|name|ip]&amp;quot;&lt;br /&gt;
		&amp;quot;identity&amp;quot;	&amp;quot;[unique id]&amp;quot;&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;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available options are:&lt;br /&gt;
*&amp;lt;tt&amp;gt;auth&amp;lt;/tt&amp;gt;: Required.  Must be one of &amp;lt;tt&amp;gt;steam&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;ip&amp;lt;/tt&amp;gt; (unless there is a custom auth method), and instructs SourceMod how to interpret the &amp;lt;tt&amp;gt;identity&amp;lt;/tt&amp;gt; value.&lt;br /&gt;
*&amp;lt;tt&amp;gt;identity&amp;lt;/tt&amp;gt;: Required.  Unique value that allows SourceMod to find this admin given an authentication method and the given value.&lt;br /&gt;
*&amp;lt;tt&amp;gt;password&amp;lt;/tt&amp;gt;: Optional.  Specifies the password the user must enter (see above section on passwords).&lt;br /&gt;
*&amp;lt;tt&amp;gt;group&amp;lt;/tt&amp;gt;: Optional.  Specifies a group name the user should inherit if available.  More than one &amp;quot;group&amp;quot; line can be specified.  There should be no '@' symbol as there is no ambiguity.&lt;br /&gt;
*&amp;lt;tt&amp;gt;flags&amp;lt;/tt&amp;gt;: Optional.  Default access flags the user should receive.&lt;br /&gt;
*&amp;lt;tt&amp;gt;immunity&amp;lt;/tt&amp;gt;: Optional:  Default immunity level the user should receive.&lt;br /&gt;
&lt;br /&gt;
The admin name is optional (it can be blank).  It is not used internally and is intended for convenience usage by 3rd party tools.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;Admins&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;BAILOPAN&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;auth&amp;quot;		&amp;quot;steam&amp;quot;&lt;br /&gt;
		&amp;quot;identity&amp;quot;	&amp;quot;STEAM_0:1:2345&amp;quot;&lt;br /&gt;
		&amp;quot;flags&amp;quot;		&amp;quot;abcdef&amp;quot;&lt;br /&gt;
		&amp;quot;immunity&amp;quot;	&amp;quot;5&amp;quot;&lt;br /&gt;
		&amp;quot;group&amp;quot;		&amp;quot;Awesome Admins&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;Blue Crab&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;auth&amp;quot;		&amp;quot;steam&amp;quot;&lt;br /&gt;
		&amp;quot;identity&amp;quot;	&amp;quot;STEAM_0:1:666666&amp;quot;&lt;br /&gt;
		&amp;quot;flags&amp;quot;		&amp;quot;z&amp;quot;&lt;br /&gt;
		&amp;quot;immunity&amp;quot;	&amp;quot;99&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding Groups (SourceMod)]]&lt;br /&gt;
*[[Overriding Command Access (SourceMod)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Documentation]]&lt;/div&gt;</summary>
		<author><name>Recon0</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)&amp;diff=7033</id>
		<title>Adding Groups (SourceMod)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)&amp;diff=7033"/>
		<updated>2009-03-18T21:52:33Z</updated>

		<summary type="html">&lt;p&gt;Recon0: /* File Format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to add and configure groups through &amp;lt;tt&amp;gt;configs/admin_groups.cfg&amp;lt;/tt&amp;gt;.  This file is parsed and loaded via &amp;lt;tt&amp;gt;admin-flatfile.smx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Groups are a convenient method of applying similar properties and permissions to multiple administrators.  For example, let's say you wish for 15 administrators to all have the same permissions and immunity.  In this case, you'd set up a group for these admins, after which changing the permissions for all member admins can be done via one location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=File Format=&lt;br /&gt;
Groups are specified as blocks within a master &amp;quot;Group&amp;quot; block.  Each group must have a unique name.  If the name is not unique, the permissions will simply be extended/overwritten from the permissions of the existing group.  That is to say, if a group exists in both the config file and an external source (say, SQL), then the permissions will end up being combined/overwritten in the order of parsing. You can create and / or modify &amp;lt;tt&amp;gt;admin_groups.cfg&amp;lt;/tt&amp;gt; files with [http://forums.alliedmods.net/showthread.php?t=81160 KVManager].&lt;br /&gt;
&lt;br /&gt;
The group blocks appear in this format:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Groups&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;
		Overrides&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;
All options are optional (that is, they do not need to be explicitly defined).  Similarly, the &amp;quot;Overrides&amp;quot; section is completely optional and may be omitted.  The full options list contains:&lt;br /&gt;
*&amp;lt;tt&amp;gt;flags&amp;lt;/tt&amp;gt;: Flag string that users of the group will inherit.&lt;br /&gt;
*&amp;lt;tt&amp;gt;immunity&amp;lt;/tt&amp;gt;: If a numerical value, specifies the immunity value users will inherit if higher than their current immunity value.  If preceded by an '@' symbol, then it specifies a group that the user will always be immune from.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Overrides&amp;quot; section allows specific commands or groups of commands to be completely allowed or denied to members of the group.  This is a very powerful section.  For example, you can opt to not give members the &amp;quot;map&amp;quot; flag, but allow them access to &amp;lt;tt&amp;gt;sm_map&amp;lt;/tt&amp;gt;.  Conversely, you could opt to give members the &amp;quot;map&amp;quot; flag, but deny them access to &amp;lt;tt&amp;gt;sm_map&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
Command groups are explained further in the [[Overriding Command Access (SourceMod)]] article.&lt;br /&gt;
&lt;br /&gt;
Combined example of a group with overrides:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Groups&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;	//reservation, generic admin, kick&lt;br /&gt;
		&amp;quot;immunity&amp;quot;		&amp;quot;1&amp;quot;	//low immunity value&lt;br /&gt;
&lt;br /&gt;
		Overrides&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;sm_map&amp;quot;	&amp;quot;allow&amp;quot;	//Let them use sm_map even without the flag&lt;br /&gt;
			&amp;quot;:CSDM&amp;quot;		&amp;quot;deny&amp;quot;	//deny any commands from the CSDM group&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Inheritance=&lt;br /&gt;
Groups cannot be nested; that is to say, one group cannot inherit permissions from another group.  However, an administrator can inherit any number of groups.  The permissions will be &amp;lt;tt&amp;gt;additive&amp;lt;/tt&amp;gt;, meaning that they will be assumed if and only if they result in more permissions being granted.&lt;br /&gt;
&lt;br /&gt;
For example, if a user has flags &amp;lt;tt&amp;gt;bcd&amp;lt;/tt&amp;gt; and a group assigns flags &amp;lt;tt&amp;gt;ae&amp;lt;/tt&amp;gt;, inheritance would result in that user having the flags &amp;lt;tt&amp;gt;abcde&amp;lt;/tt&amp;gt;.  Similarly, a group's immunity value will only be inherited if it is larger than the user's current immunity value.&lt;br /&gt;
&lt;br /&gt;
The only case this changes is with group-specific overrides.  If a command is specifically allowed to group A and denied in group B, and a user inherits both groups A and B, whether or not the user can use the command will depend on the order of inheritance.  If A is inherited first, the command will be allowed.  If B is inherited first, the command will be denied.&lt;br /&gt;
&lt;br /&gt;
Lastly, it is worth noting that once a user inherits permissions from a group, changes to the group will not affect the active permissions.  This is an optimization.  In order for changes to groups to affect that user, their administrative permissions must be entirely reset (either by a disconnect, or via &amp;lt;tt&amp;gt;sm_reloadadmins&amp;lt;/tt&amp;gt;, which effectively reloads all permissions anyway).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Overriding Command Access (SourceMod)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Documentation]]&lt;/div&gt;</summary>
		<author><name>Recon0</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Adding_Admins_(SourceMod)&amp;diff=7032</id>
		<title>Adding Admins (SourceMod)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Admins_(SourceMod)&amp;diff=7032"/>
		<updated>2009-03-18T21:51:59Z</updated>

		<summary type="html">&lt;p&gt;Recon0: /* Detailed Admins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
SourceMod has as very detailed and flexible administration system, and it can be quite daunting to users.  To simplify things, there are a number of &amp;quot;flags&amp;quot; which specify generic permissions administrators can have.&lt;br /&gt;
&lt;br /&gt;
Aside from that, there are (currently) two provided ways of storing admins.  One via a simplified flat file, and another via a more complex tree-based file.&lt;br /&gt;
&lt;br /&gt;
SourceMod provides three methods of authentication by default:&lt;br /&gt;
*''Steam ID'' (unique to a Steam account)&lt;br /&gt;
*''IP Address'' (semi-unique to a given computer, better for LANs)&lt;br /&gt;
*''Name'' (requires a password)&lt;br /&gt;
&lt;br /&gt;
=Quick Start=&lt;br /&gt;
On the server, open cstrike/addons/sourcemod/configs/admins_simple.ini&lt;br /&gt;
&lt;br /&gt;
In a new line, add the following, replacing yoursteamid (use your client's console '''status''' command to retrieve your steamid - formatted as STEAM_n:o:p)&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;yoursteamid&amp;quot; &amp;quot;99:z&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Restart Server&lt;br /&gt;
&lt;br /&gt;
Connect to Server with Client&lt;br /&gt;
&lt;br /&gt;
Enter sm_admin into console, and return to game.  You should see admin menu.&lt;br /&gt;
&lt;br /&gt;
=Levels=&lt;br /&gt;
First, let's quickly run down the provided levels:&lt;br /&gt;
:{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Name&lt;br /&gt;
| Flag&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| reservation&lt;br /&gt;
| a&lt;br /&gt;
| Reserved slot access.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| generic&lt;br /&gt;
| b&lt;br /&gt;
| Generic admin; required for admins.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| kick&lt;br /&gt;
| c&lt;br /&gt;
| Kick other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ban&lt;br /&gt;
| d&lt;br /&gt;
| Ban other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| unban&lt;br /&gt;
| e&lt;br /&gt;
| Remove bans.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| slay&lt;br /&gt;
| f&lt;br /&gt;
| Slay/harm other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| changemap&lt;br /&gt;
| g&lt;br /&gt;
| Change the map or major gameplay features.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| cvar&lt;br /&gt;
| h&lt;br /&gt;
| Change most cvars.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| config&lt;br /&gt;
| i&lt;br /&gt;
| Execute config files.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| chat&lt;br /&gt;
| j&lt;br /&gt;
| Special chat privileges.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| vote&lt;br /&gt;
| k&lt;br /&gt;
| Start or create votes.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| password&lt;br /&gt;
| l&lt;br /&gt;
| Set a password on the server.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| rcon&lt;br /&gt;
| m&lt;br /&gt;
| Use RCON commands.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| cheats&lt;br /&gt;
| n&lt;br /&gt;
| Change sv_cheats or use cheating commands.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| root&lt;br /&gt;
| z&lt;br /&gt;
| Magically enables all flags.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Immunity=&lt;br /&gt;
In SourceMod, immunity is a flexible system based on ''immunity levels''.  Every admin can have an arbitrary immunity value assigned to them.  Whether an admin can target another admin depends on who has a higher immunity value.&lt;br /&gt;
&lt;br /&gt;
For example, say Admin #1 has an immunity level of &amp;quot;3&amp;quot; and Admin #2 has an immunity level of &amp;quot;10.&amp;quot;  Admin #2 can target Admin #1, but Admin #1 cannot target Admin #2.  The numbers are completely arbitrary, and they can be any number equal to or higher than 0.  Note that 0 always implies no immunity.&lt;br /&gt;
&lt;br /&gt;
By default, admins with the same immunity value can target each other.  This can be changed via &amp;lt;tt&amp;gt;sm_immunity_mode&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;cfg/sourcemod.cfg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Passwords=&lt;br /&gt;
For passwords to work, the server administrator must change the &amp;quot;PassInfoVar&amp;quot; line in &amp;lt;tt&amp;gt;addons/sourcemod/configs/core.cfg&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;PassInfoVar&amp;quot;			&amp;quot;_sm1337&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if an admin has a password, he or she must set the password via the ''setinfo'' command in the client console.   For example, using the examples above, &amp;lt;tt&amp;gt;BAILOPAN&amp;lt;/tt&amp;gt; would need to type:&lt;br /&gt;
&amp;lt;pre&amp;gt;setinfo &amp;quot;_sm1337&amp;quot; &amp;quot;Gab3n&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To automate this upon connecting to a server, you can create an &amp;quot;autoexec.cfg&amp;quot; file in your client &amp;lt;tt&amp;gt;cstrike&amp;lt;/tt&amp;gt; folder.  This will be located under &amp;lt;tt&amp;gt;SteamApps\ACCOUNT\Counter-Strike Source\cstrike\cfg&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
*&amp;lt;tt&amp;gt;C:\program files\steam\steamapps\bailopan\counter-strike source\cstrike\cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also set the password upon connecting.  For steam and IP authentication, your admin privileges will be automatically assigned if the password is correct.  For name based authentication, your password must be correct before you change your name, or else you will be kicked from the server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simple Admins=&lt;br /&gt;
The easiest way to add administrators is through &amp;lt;tt&amp;gt;configs/admins_simple.ini&amp;lt;/tt&amp;gt;.  This is a flat file which requires two parameters per line: authentication info, and flags.  The flag string is somewhat flexible and can have the following information:&lt;br /&gt;
*An optional immunity level value, followed by a colon (':');&lt;br /&gt;
*A flag string, '''or''';&lt;br /&gt;
*A group name, preceded by an '@' symbol&lt;br /&gt;
&lt;br /&gt;
Three examples are provided:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;STEAM_0:1:16&amp;quot;		&amp;quot;bce&amp;quot;			//generic, kick, unban for this steam ID.  no immunity&lt;br /&gt;
&amp;quot;!127.0.0.1&amp;quot;		&amp;quot;5:z&amp;quot;			//all permissions for this ip, immunity level = 5&lt;br /&gt;
&amp;quot;BAILOPAN&amp;quot;		&amp;quot;abc&amp;quot;	&amp;quot;Gab3n&amp;quot;		//name BAILOPAN, password &amp;quot;Gab3n&amp;quot;: gets reservation, generic, kick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Detailed Admins=&lt;br /&gt;
Alternatively, you can add admins via &amp;lt;tt&amp;gt;configs/admins.cfg&amp;lt;/tt&amp;gt;, a more advanced file stored in a KeyValues format.  Each admin is its own block inside a main &amp;quot;Admin&amp;quot; block. You can create and / or modify admins.cfg files with [http://forums.alliedmods.net/showthread.php?t=81160 KVManager]. The format is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Admins&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;Admin Name&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;auth&amp;quot;		&amp;quot;[steam|name|ip]&amp;quot;&lt;br /&gt;
		&amp;quot;identity&amp;quot;	&amp;quot;[unique id]&amp;quot;&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;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available options are:&lt;br /&gt;
*&amp;lt;tt&amp;gt;auth&amp;lt;/tt&amp;gt;: Required.  Must be one of &amp;lt;tt&amp;gt;steam&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;ip&amp;lt;/tt&amp;gt; (unless there is a custom auth method), and instructs SourceMod how to interpret the &amp;lt;tt&amp;gt;identity&amp;lt;/tt&amp;gt; value.&lt;br /&gt;
*&amp;lt;tt&amp;gt;identity&amp;lt;/tt&amp;gt;: Required.  Unique value that allows SourceMod to find this admin given an authentication method and the given value.&lt;br /&gt;
*&amp;lt;tt&amp;gt;password&amp;lt;/tt&amp;gt;: Optional.  Specifies the password the user must enter (see above section on passwords).&lt;br /&gt;
*&amp;lt;tt&amp;gt;group&amp;lt;/tt&amp;gt;: Optional.  Specifies a group name the user should inherit if available.  More than one &amp;quot;group&amp;quot; line can be specified.  There should be no '@' symbol as there is no ambiguity.&lt;br /&gt;
*&amp;lt;tt&amp;gt;flags&amp;lt;/tt&amp;gt;: Optional.  Default access flags the user should receive.&lt;br /&gt;
*&amp;lt;tt&amp;gt;immunity&amp;lt;/tt&amp;gt;: Optional:  Default immunity level the user should receive.&lt;br /&gt;
&lt;br /&gt;
The admin name is optional (it can be blank).  It is not used internally and is intended for convenience usage by 3rd party tools.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;Admins&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;BAILOPAN&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;auth&amp;quot;		&amp;quot;steam&amp;quot;&lt;br /&gt;
		&amp;quot;identity&amp;quot;	&amp;quot;STEAM_0:1:2345&amp;quot;&lt;br /&gt;
		&amp;quot;flags&amp;quot;		&amp;quot;abcdef&amp;quot;&lt;br /&gt;
		&amp;quot;immunity&amp;quot;	&amp;quot;5&amp;quot;&lt;br /&gt;
		&amp;quot;group&amp;quot;		&amp;quot;Awesome Admins&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;Blue Crab&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;auth&amp;quot;		&amp;quot;steam&amp;quot;&lt;br /&gt;
		&amp;quot;identity&amp;quot;	&amp;quot;STEAM_0:1:666666&amp;quot;&lt;br /&gt;
		&amp;quot;flags&amp;quot;		&amp;quot;z&amp;quot;&lt;br /&gt;
		&amp;quot;immunity&amp;quot;	&amp;quot;99&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding Groups (SourceMod)]]&lt;br /&gt;
*[[Overriding Command Access (SourceMod)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Documentation]]&lt;/div&gt;</summary>
		<author><name>Recon0</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)&amp;diff=7031</id>
		<title>Adding Groups (SourceMod)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)&amp;diff=7031"/>
		<updated>2009-03-18T21:51:42Z</updated>

		<summary type="html">&lt;p&gt;Recon0: /* File Format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to add and configure groups through &amp;lt;tt&amp;gt;configs/admin_groups.cfg&amp;lt;/tt&amp;gt;.  This file is parsed and loaded via &amp;lt;tt&amp;gt;admin-flatfile.smx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Groups are a convenient method of applying similar properties and permissions to multiple administrators.  For example, let's say you wish for 15 administrators to all have the same permissions and immunity.  In this case, you'd set up a group for these admins, after which changing the permissions for all member admins can be done via one location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=File Format=&lt;br /&gt;
Groups are specified as blocks within a master &amp;quot;Group&amp;quot; block.  Each group must have a unique name.  If the name is not unique, the permissions will simply be extended/overwritten from the permissions of the existing group.  That is to say, if a group exists in both the config file and an external source (say, SQL), then the permissions will end up being combined/overwritten in the order of parsing. You can create and / or modify admin_groups.cfg files with [http://forums.alliedmods.net/showthread.php?t=81160 KVManager].&lt;br /&gt;
&lt;br /&gt;
The group blocks appear in this format:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Groups&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;
		Overrides&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;
All options are optional (that is, they do not need to be explicitly defined).  Similarly, the &amp;quot;Overrides&amp;quot; section is completely optional and may be omitted.  The full options list contains:&lt;br /&gt;
*&amp;lt;tt&amp;gt;flags&amp;lt;/tt&amp;gt;: Flag string that users of the group will inherit.&lt;br /&gt;
*&amp;lt;tt&amp;gt;immunity&amp;lt;/tt&amp;gt;: If a numerical value, specifies the immunity value users will inherit if higher than their current immunity value.  If preceded by an '@' symbol, then it specifies a group that the user will always be immune from.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Overrides&amp;quot; section allows specific commands or groups of commands to be completely allowed or denied to members of the group.  This is a very powerful section.  For example, you can opt to not give members the &amp;quot;map&amp;quot; flag, but allow them access to &amp;lt;tt&amp;gt;sm_map&amp;lt;/tt&amp;gt;.  Conversely, you could opt to give members the &amp;quot;map&amp;quot; flag, but deny them access to &amp;lt;tt&amp;gt;sm_map&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
Command groups are explained further in the [[Overriding Command Access (SourceMod)]] article.&lt;br /&gt;
&lt;br /&gt;
Combined example of a group with overrides:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Groups&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;	//reservation, generic admin, kick&lt;br /&gt;
		&amp;quot;immunity&amp;quot;		&amp;quot;1&amp;quot;	//low immunity value&lt;br /&gt;
&lt;br /&gt;
		Overrides&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;sm_map&amp;quot;	&amp;quot;allow&amp;quot;	//Let them use sm_map even without the flag&lt;br /&gt;
			&amp;quot;:CSDM&amp;quot;		&amp;quot;deny&amp;quot;	//deny any commands from the CSDM group&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Inheritance=&lt;br /&gt;
Groups cannot be nested; that is to say, one group cannot inherit permissions from another group.  However, an administrator can inherit any number of groups.  The permissions will be &amp;lt;tt&amp;gt;additive&amp;lt;/tt&amp;gt;, meaning that they will be assumed if and only if they result in more permissions being granted.&lt;br /&gt;
&lt;br /&gt;
For example, if a user has flags &amp;lt;tt&amp;gt;bcd&amp;lt;/tt&amp;gt; and a group assigns flags &amp;lt;tt&amp;gt;ae&amp;lt;/tt&amp;gt;, inheritance would result in that user having the flags &amp;lt;tt&amp;gt;abcde&amp;lt;/tt&amp;gt;.  Similarly, a group's immunity value will only be inherited if it is larger than the user's current immunity value.&lt;br /&gt;
&lt;br /&gt;
The only case this changes is with group-specific overrides.  If a command is specifically allowed to group A and denied in group B, and a user inherits both groups A and B, whether or not the user can use the command will depend on the order of inheritance.  If A is inherited first, the command will be allowed.  If B is inherited first, the command will be denied.&lt;br /&gt;
&lt;br /&gt;
Lastly, it is worth noting that once a user inherits permissions from a group, changes to the group will not affect the active permissions.  This is an optimization.  In order for changes to groups to affect that user, their administrative permissions must be entirely reset (either by a disconnect, or via &amp;lt;tt&amp;gt;sm_reloadadmins&amp;lt;/tt&amp;gt;, which effectively reloads all permissions anyway).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Overriding Command Access (SourceMod)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Documentation]]&lt;/div&gt;</summary>
		<author><name>Recon0</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)&amp;diff=7030</id>
		<title>Adding Groups (SourceMod)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Groups_(SourceMod)&amp;diff=7030"/>
		<updated>2009-03-18T21:50:32Z</updated>

		<summary type="html">&lt;p&gt;Recon0: /* File Format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article explains how to add and configure groups through &amp;lt;tt&amp;gt;configs/admin_groups.cfg&amp;lt;/tt&amp;gt;.  This file is parsed and loaded via &amp;lt;tt&amp;gt;admin-flatfile.smx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Groups are a convenient method of applying similar properties and permissions to multiple administrators.  For example, let's say you wish for 15 administrators to all have the same permissions and immunity.  In this case, you'd set up a group for these admins, after which changing the permissions for all member admins can be done via one location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=File Format=&lt;br /&gt;
Groups are specified as blocks within a master &amp;quot;Group&amp;quot; block.  Each group must have a unique name.  If the name is not unique, the permissions will simply be extended/overwritten from the permissions of the existing group.  That is to say, if a group exists in both the config file and an external source (say, SQL), then the permissions will end up being combined/overwritten in the order of parsing. Group configuration files can be created and modified with [http://forums.alliedmods.net/showthread.php?t=81160 KVManager].&lt;br /&gt;
&lt;br /&gt;
The group blocks appear in this format:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Groups&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;
		Overrides&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;
All options are optional (that is, they do not need to be explicitly defined).  Similarly, the &amp;quot;Overrides&amp;quot; section is completely optional and may be omitted.  The full options list contains:&lt;br /&gt;
*&amp;lt;tt&amp;gt;flags&amp;lt;/tt&amp;gt;: Flag string that users of the group will inherit.&lt;br /&gt;
*&amp;lt;tt&amp;gt;immunity&amp;lt;/tt&amp;gt;: If a numerical value, specifies the immunity value users will inherit if higher than their current immunity value.  If preceded by an '@' symbol, then it specifies a group that the user will always be immune from.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Overrides&amp;quot; section allows specific commands or groups of commands to be completely allowed or denied to members of the group.  This is a very powerful section.  For example, you can opt to not give members the &amp;quot;map&amp;quot; flag, but allow them access to &amp;lt;tt&amp;gt;sm_map&amp;lt;/tt&amp;gt;.  Conversely, you could opt to give members the &amp;quot;map&amp;quot; flag, but deny them access to &amp;lt;tt&amp;gt;sm_map&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
Command groups are explained further in the [[Overriding Command Access (SourceMod)]] article.&lt;br /&gt;
&lt;br /&gt;
Combined example of a group with overrides:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Groups&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;	//reservation, generic admin, kick&lt;br /&gt;
		&amp;quot;immunity&amp;quot;		&amp;quot;1&amp;quot;	//low immunity value&lt;br /&gt;
&lt;br /&gt;
		Overrides&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;sm_map&amp;quot;	&amp;quot;allow&amp;quot;	//Let them use sm_map even without the flag&lt;br /&gt;
			&amp;quot;:CSDM&amp;quot;		&amp;quot;deny&amp;quot;	//deny any commands from the CSDM group&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Inheritance=&lt;br /&gt;
Groups cannot be nested; that is to say, one group cannot inherit permissions from another group.  However, an administrator can inherit any number of groups.  The permissions will be &amp;lt;tt&amp;gt;additive&amp;lt;/tt&amp;gt;, meaning that they will be assumed if and only if they result in more permissions being granted.&lt;br /&gt;
&lt;br /&gt;
For example, if a user has flags &amp;lt;tt&amp;gt;bcd&amp;lt;/tt&amp;gt; and a group assigns flags &amp;lt;tt&amp;gt;ae&amp;lt;/tt&amp;gt;, inheritance would result in that user having the flags &amp;lt;tt&amp;gt;abcde&amp;lt;/tt&amp;gt;.  Similarly, a group's immunity value will only be inherited if it is larger than the user's current immunity value.&lt;br /&gt;
&lt;br /&gt;
The only case this changes is with group-specific overrides.  If a command is specifically allowed to group A and denied in group B, and a user inherits both groups A and B, whether or not the user can use the command will depend on the order of inheritance.  If A is inherited first, the command will be allowed.  If B is inherited first, the command will be denied.&lt;br /&gt;
&lt;br /&gt;
Lastly, it is worth noting that once a user inherits permissions from a group, changes to the group will not affect the active permissions.  This is an optimization.  In order for changes to groups to affect that user, their administrative permissions must be entirely reset (either by a disconnect, or via &amp;lt;tt&amp;gt;sm_reloadadmins&amp;lt;/tt&amp;gt;, which effectively reloads all permissions anyway).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Overriding Command Access (SourceMod)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Documentation]]&lt;/div&gt;</summary>
		<author><name>Recon0</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Adding_Admins_(SourceMod)&amp;diff=7029</id>
		<title>Adding Admins (SourceMod)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Admins_(SourceMod)&amp;diff=7029"/>
		<updated>2009-03-18T21:47:02Z</updated>

		<summary type="html">&lt;p&gt;Recon0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
SourceMod has as very detailed and flexible administration system, and it can be quite daunting to users.  To simplify things, there are a number of &amp;quot;flags&amp;quot; which specify generic permissions administrators can have.&lt;br /&gt;
&lt;br /&gt;
Aside from that, there are (currently) two provided ways of storing admins.  One via a simplified flat file, and another via a more complex tree-based file.&lt;br /&gt;
&lt;br /&gt;
SourceMod provides three methods of authentication by default:&lt;br /&gt;
*''Steam ID'' (unique to a Steam account)&lt;br /&gt;
*''IP Address'' (semi-unique to a given computer, better for LANs)&lt;br /&gt;
*''Name'' (requires a password)&lt;br /&gt;
&lt;br /&gt;
=Quick Start=&lt;br /&gt;
On the server, open cstrike/addons/sourcemod/configs/admins_simple.ini&lt;br /&gt;
&lt;br /&gt;
In a new line, add the following, replacing yoursteamid (use your client's console '''status''' command to retrieve your steamid - formatted as STEAM_n:o:p)&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;yoursteamid&amp;quot; &amp;quot;99:z&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Save&lt;br /&gt;
&lt;br /&gt;
Restart Server&lt;br /&gt;
&lt;br /&gt;
Connect to Server with Client&lt;br /&gt;
&lt;br /&gt;
Enter sm_admin into console, and return to game.  You should see admin menu.&lt;br /&gt;
&lt;br /&gt;
=Levels=&lt;br /&gt;
First, let's quickly run down the provided levels:&lt;br /&gt;
:{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Name&lt;br /&gt;
| Flag&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| reservation&lt;br /&gt;
| a&lt;br /&gt;
| Reserved slot access.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| generic&lt;br /&gt;
| b&lt;br /&gt;
| Generic admin; required for admins.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| kick&lt;br /&gt;
| c&lt;br /&gt;
| Kick other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ban&lt;br /&gt;
| d&lt;br /&gt;
| Ban other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| unban&lt;br /&gt;
| e&lt;br /&gt;
| Remove bans.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| slay&lt;br /&gt;
| f&lt;br /&gt;
| Slay/harm other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| changemap&lt;br /&gt;
| g&lt;br /&gt;
| Change the map or major gameplay features.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| cvar&lt;br /&gt;
| h&lt;br /&gt;
| Change most cvars.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| config&lt;br /&gt;
| i&lt;br /&gt;
| Execute config files.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| chat&lt;br /&gt;
| j&lt;br /&gt;
| Special chat privileges.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| vote&lt;br /&gt;
| k&lt;br /&gt;
| Start or create votes.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| password&lt;br /&gt;
| l&lt;br /&gt;
| Set a password on the server.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| rcon&lt;br /&gt;
| m&lt;br /&gt;
| Use RCON commands.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| cheats&lt;br /&gt;
| n&lt;br /&gt;
| Change sv_cheats or use cheating commands.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| root&lt;br /&gt;
| z&lt;br /&gt;
| Magically enables all flags.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Immunity=&lt;br /&gt;
In SourceMod, immunity is a flexible system based on ''immunity levels''.  Every admin can have an arbitrary immunity value assigned to them.  Whether an admin can target another admin depends on who has a higher immunity value.&lt;br /&gt;
&lt;br /&gt;
For example, say Admin #1 has an immunity level of &amp;quot;3&amp;quot; and Admin #2 has an immunity level of &amp;quot;10.&amp;quot;  Admin #2 can target Admin #1, but Admin #1 cannot target Admin #2.  The numbers are completely arbitrary, and they can be any number equal to or higher than 0.  Note that 0 always implies no immunity.&lt;br /&gt;
&lt;br /&gt;
By default, admins with the same immunity value can target each other.  This can be changed via &amp;lt;tt&amp;gt;sm_immunity_mode&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;cfg/sourcemod.cfg&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Passwords=&lt;br /&gt;
For passwords to work, the server administrator must change the &amp;quot;PassInfoVar&amp;quot; line in &amp;lt;tt&amp;gt;addons/sourcemod/configs/core.cfg&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;PassInfoVar&amp;quot;			&amp;quot;_sm1337&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if an admin has a password, he or she must set the password via the ''setinfo'' command in the client console.   For example, using the examples above, &amp;lt;tt&amp;gt;BAILOPAN&amp;lt;/tt&amp;gt; would need to type:&lt;br /&gt;
&amp;lt;pre&amp;gt;setinfo &amp;quot;_sm1337&amp;quot; &amp;quot;Gab3n&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To automate this upon connecting to a server, you can create an &amp;quot;autoexec.cfg&amp;quot; file in your client &amp;lt;tt&amp;gt;cstrike&amp;lt;/tt&amp;gt; folder.  This will be located under &amp;lt;tt&amp;gt;SteamApps\ACCOUNT\Counter-Strike Source\cstrike\cfg&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
*&amp;lt;tt&amp;gt;C:\program files\steam\steamapps\bailopan\counter-strike source\cstrike\cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also set the password upon connecting.  For steam and IP authentication, your admin privileges will be automatically assigned if the password is correct.  For name based authentication, your password must be correct before you change your name, or else you will be kicked from the server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simple Admins=&lt;br /&gt;
The easiest way to add administrators is through &amp;lt;tt&amp;gt;configs/admins_simple.ini&amp;lt;/tt&amp;gt;.  This is a flat file which requires two parameters per line: authentication info, and flags.  The flag string is somewhat flexible and can have the following information:&lt;br /&gt;
*An optional immunity level value, followed by a colon (':');&lt;br /&gt;
*A flag string, '''or''';&lt;br /&gt;
*A group name, preceded by an '@' symbol&lt;br /&gt;
&lt;br /&gt;
Three examples are provided:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;STEAM_0:1:16&amp;quot;		&amp;quot;bce&amp;quot;			//generic, kick, unban for this steam ID.  no immunity&lt;br /&gt;
&amp;quot;!127.0.0.1&amp;quot;		&amp;quot;5:z&amp;quot;			//all permissions for this ip, immunity level = 5&lt;br /&gt;
&amp;quot;BAILOPAN&amp;quot;		&amp;quot;abc&amp;quot;	&amp;quot;Gab3n&amp;quot;		//name BAILOPAN, password &amp;quot;Gab3n&amp;quot;: gets reservation, generic, kick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Detailed Admins=&lt;br /&gt;
Alternatively, you can add admins via &amp;lt;tt&amp;gt;configs/admins.cfg&amp;lt;/tt&amp;gt;, a more advanced file stored in a KeyValues format.  Each admin is its own block inside a main &amp;quot;Admin&amp;quot; block. You can create and modify admins.cfg files with [http://forums.alliedmods.net/showthread.php?t=81160 KVManager]. The format is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Admins&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;Admin Name&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;auth&amp;quot;		&amp;quot;[steam|name|ip]&amp;quot;&lt;br /&gt;
		&amp;quot;identity&amp;quot;	&amp;quot;[unique id]&amp;quot;&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;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available options are:&lt;br /&gt;
*&amp;lt;tt&amp;gt;auth&amp;lt;/tt&amp;gt;: Required.  Must be one of &amp;lt;tt&amp;gt;steam&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;ip&amp;lt;/tt&amp;gt; (unless there is a custom auth method), and instructs SourceMod how to interpret the &amp;lt;tt&amp;gt;identity&amp;lt;/tt&amp;gt; value.&lt;br /&gt;
*&amp;lt;tt&amp;gt;identity&amp;lt;/tt&amp;gt;: Required.  Unique value that allows SourceMod to find this admin given an authentication method and the given value.&lt;br /&gt;
*&amp;lt;tt&amp;gt;password&amp;lt;/tt&amp;gt;: Optional.  Specifies the password the user must enter (see above section on passwords).&lt;br /&gt;
*&amp;lt;tt&amp;gt;group&amp;lt;/tt&amp;gt;: Optional.  Specifies a group name the user should inherit if available.  More than one &amp;quot;group&amp;quot; line can be specified.  There should be no '@' symbol as there is no ambiguity.&lt;br /&gt;
*&amp;lt;tt&amp;gt;flags&amp;lt;/tt&amp;gt;: Optional.  Default access flags the user should receive.&lt;br /&gt;
*&amp;lt;tt&amp;gt;immunity&amp;lt;/tt&amp;gt;: Optional:  Default immunity level the user should receive.&lt;br /&gt;
&lt;br /&gt;
The admin name is optional (it can be blank).  It is not used internally and is intended for convenience usage by 3rd party tools.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;Admins&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;BAILOPAN&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;auth&amp;quot;		&amp;quot;steam&amp;quot;&lt;br /&gt;
		&amp;quot;identity&amp;quot;	&amp;quot;STEAM_0:1:2345&amp;quot;&lt;br /&gt;
		&amp;quot;flags&amp;quot;		&amp;quot;abcdef&amp;quot;&lt;br /&gt;
		&amp;quot;immunity&amp;quot;	&amp;quot;5&amp;quot;&lt;br /&gt;
		&amp;quot;group&amp;quot;		&amp;quot;Awesome Admins&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;Blue Crab&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;auth&amp;quot;		&amp;quot;steam&amp;quot;&lt;br /&gt;
		&amp;quot;identity&amp;quot;	&amp;quot;STEAM_0:1:666666&amp;quot;&lt;br /&gt;
		&amp;quot;flags&amp;quot;		&amp;quot;z&amp;quot;&lt;br /&gt;
		&amp;quot;immunity&amp;quot;	&amp;quot;99&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding Groups (SourceMod)]]&lt;br /&gt;
*[[Overriding Command Access (SourceMod)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Documentation]]&lt;/div&gt;</summary>
		<author><name>Recon0</name></author>
		
	</entry>
</feed>