BG3 Server Adminstration Tools

Coming to BG3 is a new suite of server administration tools. These suite comes in two parts: a customizable SteamID-based permission system, avoiding the need for distributing an rcon password; and a set of commands for managing individual players and groups of players.

Customizable Permissions System

The only way to execute server commands in the past (excluding plugins) has been to distribute a single password shared among all server administrators. Obviously, a problem with this is that if the password leaks, then anyone could access the server and perform malicious commands. A more secure system was needed.

And now, that system has arrived. With this new system, server owners can create “roles” with specific powers, and then assign specific players (by SteamID) to those roles. They can do this by editing a new file, permissions.res , which lies inside the CFG folder of The Battle Grounds III. Within this file, roles, can be created as such:

//This line of text is a comment, and is ignored by the game.
//Any line which begins with // is a comment

"admin"
{
  "permissions_manage" 1
  "player_manage" 1
  "mapmode" 1
  "bot_manage" 1
  "console_access" 1
  "players"
  {
    STEAM_1:0:52754047 1
  }
}

This creates a role named “admin” with all possible permissions. Here is a list of all the assignable permissions and what they grant access to:

  • “permissions_manage” – players with this permission are allowed to assign players to roles in-game. Reserve this permission for the trusted server owners.
  • “player_manage” – players with this permission are allowed to kick, slay, and otherwise manage players.
  • “mapmode” – players with this permission are allowed to change the map and change the gamemode.
  • “bot_manage” – players with this permission are allowed to add/remove bots from the server.
  • “console_access” – players with this permission are allowed to execute any console command on the server. This is was the power granted to those in the old password system.

For further details on how to assign and create roles, server administrators should read the documentation inside the permissions.res file.

How to Enter Commands

There are two locations admins can use to enter commands. The first is the console and the second is the game chat.

Main Console

By pressing the tilde ~ key, usually near the top-left corner of a keyboard, players can open the command console. Commands (as seen later in this document) can be typed in, and then the enter key is pressed to send the command to the server.

In-Game Chat

By pressing the Y key (by default), players can open the in-game chat. If the message typed into the chat starts with a exclamation mark ! , then the text is sent as a command to the server and the message appears in chat. If the the message starts with a slash / , then the text is sent as a command but the message is hidden from chat.

Command Suite

Corresponding with the new permissions is a new set of commands. Some of these commands are not new, but they have been included because they have been retrofitted into the new system and were not well-documented beforehand.

Some of these commands have an argument called selector, which allows a command to be targeted to multiple players. Here is a command list:

CommandArgumentsMeaningPermission
muteselectorMutes the specified player(s).player_manage
unmuteselectorUnmutes the specified player(s).player_manage
soloselectorMutes all players except for the admin who entered the command. If the same admin enters the command again, the solo is turned off. If a different admin enters the command, then the solo is switched to that admin.player_manage
unsoloNoneTurns off all solo powersplayer_manage
slayselectorKills the specified player(s).player_manage
spawnselectorSpawns the specified player(s) if they are dead, regardless of gamemode.player_manage
specselectorChanges the specified player(s) to spectator.player_manage
amerselectorSwitches the specified player(s) to the American team.player_manage
britselectorSwitches the specified player(s) to the British team.player_manage
aclassclass-abreviationLinebattle mode only. Switches all American players to the class matching the given abbreviation. The abbreviations are the same as those used in the class limit server variables. This also forces players who join the American team to pick this class.player_manage
bclassclass-abreviationSame as above, but for the British team.player_manage
akitweapon uniform ammoLinebattle mode only. Switches all American players to the specified weapon, uniform, and ammo of their current class. Arguments must be integers. For example, with American Infantry, a weapon of 0 yields a Long Pattern, 1 yields a Charleville, and 2 yields a Spanish musket. Uniform and ammo default to 0 if not specified. The weapon choice is enforced onto all joining players.player_manage
bkitweapon uniform ammoSame as above, but for the British team.player_manage
clipselectorToggles “noclip” movement on the selected player(s).player_manage
rccommand-stringAll of the arguments after “rc” are passed to the server as a standalone command. This is identical to the “rcon” command which was used before.console_access
exec.cfgExecutes named configuration.
i.e. “exec lms.cfg”
mapmode
linebattlenum-roundsSets the number of rounds, and then starts a linebattle by running cfg/linebattle.cfgmapmode
lmsnum-roundsSets the number of rounds, and then starts an LMS match by running cfg/lms.cfgmapmode
mp_tickets_a_adjustnum-
tickets
Adjusts the American tickets by specified amount. mapmode
mp_tickets_b_adjustnum-
tickets
Adjusts the British tickets by specified amount.mapmode
skirmnum-minutes-per-roundSets the number of minutes per round, and then starts a 2-round skirmish match by running cfg/skirm.cfgmapmode
changemapmap-nameChanges the server to the specified map.mapmode
nextmapmap-nameSets the next map to be the specified map.mapmode

Selectors

These are the selectors players can use to target a command to target groups of players.

SelectorMechanic
@allSelects all players
@britSelects all players on the British team
@amerSelects all players on the American team
@specSelects all players who are spectators
@botSelects all players who are bots
@meSelects the player making the selection
@aimSelects the player aimed at by the selecting player
@aliveSelects all players who are alive
@deadSelects all players who are dead
#numberSelects the player whose player index (as viewable with the “status” command) matches the number
nameSelects the player whose name most closely matches the given name

Console Variables

Allows admins to change the state of the server by controlling all types of variables, from adding and removing bots to changing the gravity and gamemode.

CommandVariableMechanic
bot_addnumberAdds the specified number of bots to one of the teams. The team alternates between successive commands.
bot_add_anumberAdds specified number of bots onto the American side.
bot_add_bnumberAdds the specified number of bots onto the British side.
bot_difficulty0,1,2,3Sets difficulty of newly added bots. 0 is easy, 1 is normal, 2 is hard and 3 is random.
bot_follow_timeoutTime
(in seconds)
Controls how long a bot will follow a player who uses the “Follow Me!” command.
bot_fun_names1 – on
0 – off
Sets bot names to “fun names”
*party favor sound*
bot_kick_allKicks all bots.
bot_maxplayersnumberSets a slot number for bots to occupy. For example, if bot_maxplayers is set to 10, then 10 bots will occupy the server. Individual bots are kicked when players join, until there are 10 players occupying the server.
bot_maxplayers_cap1 – on
0 – off
Ensures that bots do not completely fill up a server, leaving a gap for players to join.
bot_minplayersnumberPut into the servers .cfg file, this specifies the number of bots to be added by default. Only enabled when bot_minplayers_mode is set to 1 or 2.
bot_minplayers_mapnumberFound in a maps .cfg file, this determines the number of bots in a specific map.
bot_minplayers_mode0,1,2,3Determines the overall usage of bots in the server.
0 – Bots disabled.
1 – Use bot_minplayers
2 – Let bot_minplayer_map override
3 – Use only bot_minplayers_map
bot_vcomms1 – on
0 – off
Disallows the bots’ usage of voice commands.
lb_tighten_vertical_accuracy1 – on
0 – off
Experimental Linebattle Mode.
Tightens vertical bullet spread. However, 30% of all shots which hit a target further than 50 meters do not hit the target.
mp_ammo_cache_refresh_timeTime
in seconds

(30 is default)
Controls the refresh rate of ammo caches in maps.
mp_autoteambalance1 – on
0 – off
Toggling allows server to keep teams balanced.
mp_comp_notifications1 – on
0 – off
Turns on/off the in-chat notifications for the ‘spawn’, ‘noclip’, ‘mp_tickets_a_adjust’, and ‘mp_tickets_b_adjust’ commands.
mp_falldamage1 – on
0 – off
Toggles fall damage.
mp_forcecamera1 – on
0 – off
Disallows freeroam of spectator camera.
mp_friendlyfire1 – on
0 – off
Toggles friendly fire.
mp_friendlyfire_grenades0 – No FF at all
1- Limited FF
2- Very slight FF
Toggles friendlyfire modes on grenades.
mp_restartround1Restarts the round after a few seconds.
mp_timelimitnumberChanges time limit.
sv_cheats1 – on
0 – off
Allows usage of commands such as noclip/buddha etc. BY ALL PLAYERS ON SERVER. Allows exploitation of server by clients. USE WITH EXTREME CAUTION.
sv_alltalk1 – on
0 – off
Toggling on allows teams to voice communicate with each other.
sv_flintlock_delay_offsetTime
(in seconds)
Adjusts flintlock times serverwide.
sv_friction4 defaultChanges the friction on the server.
sv_gravity600 defaultChanges the gravity.
sv_headhits_only1 – on
0 – off
Makes it so head hits only register.
sv_infiniteammo1 – on
0 – off
REQUIRES SV_CHEATS 1
Gives player infinite ammo and negates the need to reload.
sv_muzzlevelocity_scaleScale
(i.e.
1 is default
2 is 2x larger)
Scales muzzle velocity.
sv_perfectaim1 – on
0 – off
REQUIRES SV_CHEATS 1
Bullets go exactly where crosshair is pointing.
sv_player_model_scaleScale
(i.e.
1 is default
2 is 2x larger)
REQUIRES SV_CHEATS 1z
Allows player model scale to be changed. Clientside command.
sv_simulatedbullets_gravityScale
(i.e.
1 is default
2 is 2x larger)
Scales the effect of gravity on the simulated bullets. Useful for playing with bulletdrop.
sv_stamina1 – on
0 – off
Toggles stamina on and off. Useful for practicing melee.
sv_steadyhand1 – on
0 – off
REQUIRES SV_CHEATS 1
Negates recoil.
sv_turboshots1 – on
0 – off
REQUIRES SV_CHEATS 1
Allows for faster rate of fire. Buggy at times.
sv_password“password”Sets server password.

Example Commands

  • amer @all //switches all players to American team
  • changemap ctf_river //switches the map to ctf_river
  • spec @aim //Switches the player aimed at to spectator

Needless to say, all of these commands and permissions are subject to change.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at WordPress.com.

Up ↑

%d bloggers like this: