Skip to content
data-bomb edited this page Jul 7, 2024 · 12 revisions

Silica Logo

Adding Mod Admins

The game admin system has less granularity to it than the mod admin system and remains separate. For the mod admin system, players can be granted Powers as well as a Level that will determine what commands they have access to and who they can target.

In-Game

In-game is the preferred method of adding admins. Once the host is up and running and the Admin Mod is loaded, admins can be added via the game's in-game chat. Only the host can add/modify/remove admins. The host can issue the chat command: !addadmin <playerName> <Powers> <Level>

<playerName> is a unique part of the players name but it does not need to be the full name. For example, if there were 3 clients connected (Toaster, Toastee, Toasted) and we wanted to make sure Toasted was an admin then you could start with !addadmin ted or !addadmin Toasted.

<Powers> is the set of characters for each power that you want to grant. Use the Root power to grant all powers. See Powers for the mapping of powers to characters.

<Level> is a number between 0-255 the represents the heirarchy of the admin on the server and affects who they can target. See Levels for more information.

For example, to add Toasted as an admin with permission to kick, restart the round, and manage the commanders (demote/commander restrictions/etc), with a moderate level: !addadmin ted cik 80

Offline

It's also possible to add a new admin offline by modifying the Silica\UserData\admins.json file. Please do not update the admins.json file while the host server is running because the Admin Mod does not keep track if there were any modifications made before it overwrites the file. Admin entries will look like:

[
  {
    "Name": "Toasted",
    "SteamId": 76561197123456789,
    "Powers": 1284,
    "Level": 80,
    "CreatedOn": 1688371400,
    "LastModifiedOn": 1688371400
  }
]

The Powers field is a collection of all of the individual Powers logically ORd together. The Kick power is represented by 2^2, restarting the round is the End power and represented by 2^10, and the Commander power controls demotion/commander restriction permissions and is represented by 2^8. Each of these Powers represents a single bit and they can be added together: 4 + 1024 + 256 = 1284 to get the value that needs to go into the Powers field. The Root power, which includes all other powers, is represented by a value of 67108864.

The CreatedOn and LastModifiedOn fields are Unix timestamps. Websites like https://www.epochconverter.com/ are a good resource to gather this information on a Windows PC.

After making any direct modifications to a .json file, it's usually a good idea to validate that the file is still in the correct format for the next time the server starts up to read the information. (e.g., https://jsonlint.com/)

Inherited from Game Admins

The game has 2 admin levels that players can have when they join the server: Root Admin and Standard Admin. If a host has not set up a player as a mod admin but they have one of the 2 game admin levels then there is a default level of mod admin powers provided to that player.

Standard Game Admin

  • Mod Admin Level: 10
  • Mod Admin Powers: Kick, Slay, Map, Commander, End, Eject, Mute, Generic, Teams

Root Game Admin

  • Mod Admin Level: 100
  • Mod Admin Powers: Root (All Powers)

Powers

In order to be considered an Admin by IsAdmin then an admin needs to have at least one Power that is a Yes in the Considered As Admin column.

Power Letter Code Considered As Admin
Slot Reservation a No
Create Votes b No
Kick c Yes
Ban d Yes
Unban e Yes
Punishments f Yes
Change Map g Yes
Toggle Cheats h Yes
Commander i Yes
Skip Checks j No
Restart Round k Yes
Vehicles l Yes
Mute Temp m Yes
Mute Forever n Yes
Admin Generic o Yes
Team Management p Yes
Custom 1 q No
Custom 2 r No
Custom 3 s No
Custom 4 t No
Reserved 1 u Yes
Reserved 2 v Yes
Reserved 3 w Yes
Reserved 4 x Yes
Remote Console y Yes
Root z Yes

Level

The Level is a value between 0 and 255. Admins can use their Powers only in situations where they are targeting someone at the same Level as themselves or a lower Level. Non-Admins are considered as having a Level of 0, so any Admin Power could be used on a non-admin player. Multiple admins can have the same level; for example, a set of Moderator players may have level 80 while a set of Server Administrator players may have a level of 200. In this example, any of the Server Administrator players may target each other, any Moderator, or any non-admin player; however, the Moderator players could not target any of the Server Administrator players.