Articles on: Garry's Mod

How to use Billy's Admin Sits (bAdminSits) (Lua API Included)

Usage guide for Billy's Admin Sits (bAdminSits)

This guide will try its best to assist you with the powerful admin sit addon named Billy's Admin Sits.

This addon is included FREE for Physgun Clients!

Setting up a sit room/sit position

By default there are no sit rooms created when Billy's Admin Sits is first installed.

We recommend building a room yourself, you can even decorate it if you see fit! Persistent/PermaProps will do just fine.

After the next server start Billy's Admin Sit will recognize the sit room.

Demo Sit Room

To set the sit position; type !sitpos.

The sit position is tied to the current map. You can have multiple different sit locations per map.

If a sit is created but the map does not have a sit position set, the sit will simply start where the staff member is standing.


Setting up permissions for bAdminSits is extremely easy, simply follow the steps below.

Type !openpermissions in chat
Navigate to the Billy's Admin Sits tab
Configure your permissions how you see fit!

Automatically Set "Staff on Duty" Job in Sit

Most servers have a staff on duty job for staff members not engaging in roleplay, bAdminSits makes it extremely easy to pop in on this job when a sit starts then pop right back out once the sit is over! Making staffs' lives so much easier.

They will be added back to their original job with their original loadout after the sit has ended as-well!

Some custom addons (e.g. an inventory system) may cause staff members to lose items or progress. Please use with caution.

Here is an example of a Staff on Duty job that will automatically assign staff members to the role if they engage in a sit.

TEAM_STAFF = DarkRP.createJob("Staff on Duty", {
    color = Color(255, 0, 0, 255),
    model = "models/player/combine_super_soldier.mdl",
    description = [[Staff on Duty]],
    weapons = {},
    command = "staff",
    max = 5,
    salary = 0,
    admin = 1,
    vote = false,
    hasLicense = false,
    candemote = false,
    category = "Citizens",

    StaffOnDuty = true,

The StaffOnDuty boolean is what determines which job a staff member will become when starting/entering a sit.

Create Sits

This is a permission for bAdminSits.

This permission allows the selected access group(s) to create sits, and generally just use the !sit command.

Target Staff

This is a permission for bAdminSits.

This permission allows the selected access group(s) to forcefully add/remove staff to/from a sit.

Join Any Sit

This is a permission for bAdminSits.

This permission allows the selected access group(s) to forcefully join any active sit.

Usage guide for the !sit command

The !sit command is an extremely powerful utility to interface with bAdminSits.

With the !sit command, you can open the help page, create sits, add people to sits, invite staff to sits, remove people from sits and end a sit.

If you do not have permission to forcefully add staff to a sit, you will only be-able to invite them.

Creating a sit

This will go over how to create a sit with a single or multiple players.

To create a sit; type !sit <player name> <player name> ... where <player name> is replaced by the name of players.

You don't have to use the exact name of the player, and the names are case insensitive. You can use a shortened version of their name, just as long as that string can be found in their name somewhere.
You also do not need to specify more than one player like in the example. If you wish to only sit one player then that will work just fine too.

Lua API for Creating a sit
GAS.AdminSits:CreateSit(CreatorPlayer, {Player1, Player2, ...})

Adding players to a sit

Sometimes you'll want to add players to a sit when it's already in session, this is how you would do that.

To add players to a sit; type !sit <player name> <player name> ... where <player name> is replaced by the name of players.
This also works to add staff to the sit if you use their name.

If you're not in a sit, this will create a sit with the players you have specified in the command.

This will invite staff to the sit if you do not have permission to forcefully add staff to a sit.

Lua API for Adding players to a sit
GAS.AdminSits:AddPlayerToSit(Player, Sit)

Removing players from a sit

If you need to remove a specific player or multiple players in a sit this is how.

To remove players from a sit; type !sit <player name> <player name> ... where <player name> is replaced by the name of players.

If you're not in a sit, this will create a sit with the players you have specified in the command.

You cannot remove staff from sits if you do not have permission to forcefully remove them from a sit. They will have to leave on their own accord.

Lua API for Removing players from a sit
GAS.AdminSits:RemovePlayerFromSit(Player, Sit)

Ending a sit

Ending a sit is super simple.

To end a sit, simply type !sit

Lua API for Ending a sit

Recreating a sit

Sometimes you might need to recreate the same sit you just ended.

To recreate the sit you just previously ended, simply type !resit.

Usage guide for using the sit menu

When you create or join a sit, you will see the sit menu.

Sit Menu when a sit is created

Sit Information

Billy's Admin Sits give a wide variety of sit information when a sit is conducted.

Below is the current information displayed during a sit.

Player Status

You can view whether a player is Online, AFK/Tabbed Out, or timing out from the server via the colored circle on their name.

GreenActive on the server, tabbed into the game and not AFK
OrangeAFK or Tabbed Out
RedTiming out (losing connection.)

Player Country

If the player's OS reports what country their computer is in, you'll see its flag on their name.

To see the name of the country, just hover over the flag.

Player Operating System

This will display the player's current operating system.

IconOperating System
macOS/OS X

Other Icons

These are other helpful information icons that will be displayed.

Staff Member
Speaking (Voice Chat)
Typing in chat

Sit player functions

Billy's Admin Sits provides a huge variety of functions/actions you can perform on players in the sit.

Most of these actions cannot be performed on staff members.

bAdminSits Player Functions

Steam ProfileOpens the player's Steam Profile in the Steam Overlay.
Copy SteamIDCopies the player's SteamID to your clipboard.
Copy SteamID64Copies the player's SteamID64 to your clipboard.
Remove from SitRemoves the player from the sit.
Mute MicrophoneMutes/unmutes the player's microphone.
Disable Text ChatStops the player from using text chat; their messages and commands will not register.
Check Steam FriendsChecks if the player has any other friends active in the server with them.
Check Steam Family SharingAllows you to check whether another player on the server is Steam Family Sharing with this player. This will show you who they are sharing with even if they are not sharing with the player you have selected.
Check Steam GroupsRequires public Steam Profile Opens the player's Steam Groups in the Steam Overlay.
Check Steam Account AgeRequires public Steam Profile Shows you the player's Steam accounts' age in days.
Check Valve BansShows you whether the player is VAC banned, game banned, trade banned, and how long ago their last ban was.
Check GMod PlaytimeRequires public Steam Profile Shows you the player's GMod playtime in hours.
Check WeaponsShows the player's current weapons.
Check WalletShows the player's wallet.
Check PocketShows the player's DarkRP pocket contents.
Take ScreenshotTakes a screenshot of the player's screen -- allows you to check for clientside Lua cheats. This will not reveal private information like the player's Steam Overlay.
Flash Windows TaskbarPlayer must be tabbed out and running Windows OS This will "flash" the players' Windows taskbar (make GMod flash orange.)

Usage guide for using the Physgun

Yep that's right! You can use the physgun to start a sit or remove players from a sit!

Sometimes it's just easier to use the physgun than type a command or open a menu.

Creating a sit with the Physgun

Creating a sit is incredibly easy and demonstrated below.

Pick up the player you want to add to a sit and press RELOAD (default R) with your physgun.

Removing players from a sit

Removing players from a sit is also incredibly easy and demonstrated below.

Pick up the player you want to add to a sit and press RELOAD (default R) with your physgun.

Sit behavior and how it works

There is a lot of behavior checks Billy's Admin Sits go through to help assist staff to the best of its ability.

Disconnected players

This will be triggered when a player disconnects during a sit.

If a player disconnects during a sit; all staff in the sit will be informed and their SteamID will be recorded on the server.
If the player reconnects, and the sit is still active, they will be added back to the sit automatically.
If the player reconnects but the sit has ended, the creator of the sit will be notified that they have reconnected.

Distraction-free Environment

Distractions during a sit can be extremely annoying, we've all had that one guy who prop flies up to screw with Staff during a sit.

When you are in a sit, you will be separated from the rest of the game via the networking thread.

This means, you, and the players in your sit won't be-able to see, interact with, talk to or interfere with players on the server and other sits that are taking place.
Your FPS should be sky-high because you will only be-able to see entities that are PermaPropped!

With a Physgun Server bAdminSits will ideally cause almost 0 performance impact since Physgun Servers multi thread with the game and network thread (Over 100% CPU).

Disabled Actions

Certain actions are disabled during a sit to prevent disruptive behavior.

During a sit, players (NOT staff) will not be-able to:
Use the toolgun
Spawn props
Spawn effects
Spawn NPCs
Spawn ragdolls
Spawn scripted entities
Spawn scripted weapons
Spawn vehicles
Unfreeze props
Pickup entities with physgun
Pickup entities with gravity gun
Pickup entities with the use key
Take Damage
Taunt/dance/play animations
Use their flashlight
Drive props
Enter vehicles
Pickup items
Pickup weapons
Use weapons
Switch weapons
Switch teams
See chat of other players on the server (might not work 100% on DarkRP)
Hear voice chat of other players on the server
Collide with other players
Die, but if this happens, they'll immediately respawn and be teleported to the sit.
DarkRP Get arrested
DarkRP Arrest people
DarkRP Get unarrested
DarkRP Unarrest people
DarkRP Request warrants
DarkRP Request hits
DarkRP Make people wanted
DarkRP Remove wanted status from people
DarkRP Change RP name
DarkRP Start demote votes
DarkRP Change jobs (including custom job titles)
DarkRP Use DarkRP entities (e.g. tip jars)
DarkRP Drop weapons
DarkRP Edit laws
DarkRP Go AFK (/afk) (automatic /afk still works though)
DarkRP Sleep (/sleep)
DarkRP Pocket Items
DarkRP Drop pocket items
DarkRP Lockpick
DarkRP Lock with keys
DarkRP Unlock with keys
DarkRP Battering ram doors
DarkRP Vote
DarkRP Buy ammo
DarkRP Buy custom entities
DarkRP Buy vehicles
DarkRP Buy pistols
DarkRP Buy shipments

DarkRP Notes

A couple of notes when a sit is being used on the DarkRP gamemode.

If a player is arrested or unarrested, they'll always be teleported to the sit, instead of jail.

When the sit has ended

This behavior obviously occurs when the sit has completely ended (by Staff)

When the sit has ended, all players will be teleported back to their original positions and angles.

If a player is teleported back, and the script detects them as stuck (e.g. in a prop or wall) then it will notify the creator of the sit that they are stuck.

Usage guide for sit invites

Sit invites is a useful function that allows staff members to invite eachother to sits if they are not able to force staff into sits.

Inviting staff to a sit

You can easily invite a single staff member or multiple staff members to a sit.

To invite staff to a sit; type !sit <staff name> <staff name> ... where <staff name>` is the name of the staff member.

They'll see this on their screen:
Staff invitation to a sit

Staff invites expire after roughly 30 seconds.

You'll see this on your screen:

The green/red bar represents how long the staff member has left to respond to the invite.

Responding to a sit invite

When you get a sit invite you can either join or dismiss the invite.

Receiving the invitation

If you do not respond in time and the invite expires, the green/red bar at the bottom will trickle down until it's gone, and the staff invite will disappear.

Updated on: 13/10/2023

Was this article helpful?

Share your feedback


Thank you!