VGKAMI
Advertise Get listed

Game Guides

Barotrauma Server Admin Commands and How to Use Them

October 26, 2026 11 min read

Barotrauma’s console is both a debugging interface and a practical server-administration tool. In multiplayer, opening the console is not enough: the operator needs the ConsoleCommands permission and permission for the individual command being run. Use the console key assigned under Settings → Controls, begin with help, and use clientlist plus ID-based moderation commands when names could be ambiguous. This guide explains the command syntax, permission system, moderation and campaign controls, persistent access through clientpermissions.xml, and the differences between a hosted game and a dedicated server.

How do I open the Barotrauma console and learn the available commands?

Open the console with the key assigned to the console toggle in Settings → Controls. The key glyph can vary by keyboard layout and configuration, so rely on the binding shown in your own Controls menu rather than a fixed key claimed by a guide.

  1. Start or join the server with an account that has administrative access.
  2. Open Settings → Controls and locate the console-toggle binding if you do not know the key.
  3. Open the console and enter help to list commands.
  4. Enter help clientlist, help kick, or another command to display its syntax and requirements.

Arguments are typed without the brackets shown in help text. If a player name contains spaces, enclose the complete name in quotation marks. Barotrauma’s command interface also provides autocomplete for identifiers, which can reduce errors when selecting a player, Steam ID, IP address, or other target.

Which commands help me inspect the server and communicate with players?

Command Use Example
help Lists available commands. help
help <command> Shows syntax and details for one command. help clientlist
clientlist Lists clients currently connected to the server, including client IDs. clientlist
say <message> Sends a global chat message that identifies the sender. say Server restart in five minutes
msg <message> Sends a chat message without a sender attribution. msg Event starting now

clientlist is the safest first step before taking action against a player. Names can be duplicated, changed, or difficult to type exactly; the client ID shown by the list gives you a more precise target for commands that support IDs.

How do I kick, ban, mute, or unban a player?

Use a name when it is unambiguous, but prefer a client ID for live moderation. Run clientlist, copy the relevant ID, and then use an ID-based command. Every moderation command is permission-gated.

Command Effect Required permission
kick <player name> Kicks a player from the multiplayer session. Kick
kickid <client id> Kicks the client identified by clientlist. Kick
ban <player name> Kicks and bans a player. Ban
banid <client id> Bans the client identified by ID. Ban
banendpoint <Steam ID/IP> <seconds> <reason> Bans a network or account endpoint for the specified number of seconds with a reason. Ban-related permission
banip <Steam ID/IP> <seconds> <reason> Applies an endpoint ban using the supplied identifier, duration, and reason. Ban-related permission
unban <player name> Removes a player-name ban. Unban
unbanip <IP address> Removes an IP-address ban. Unban
mute <player name> Blocks a player’s voice-chat access. Command-specific permission
unmute <player name> Restores a player’s voice-chat access. Command-specific permission

Using a temporary kick

For a player who is disrupting a round but does not warrant a ban, run clientlist and then kickid 12, replacing 12 with the actual client ID. If you target by name instead, quote names containing spaces, such as kick "Player Name".

Applying a ban with a reason and duration

Endpoint commands require the identifier, a duration in seconds, and a reason. A command can therefore look like banendpoint 76561198000000000 3600 griefing. Confirm the exact identifier format and syntax with help banendpoint on your server before using it, especially after a game update.

Checking what a user can do

showperm <client id/Steam ID/IP/name> displays the administrative permissions associated with a client. Use it to diagnose why an operator can open the console but cannot execute a particular moderation or campaign command.

Why does a command fail even though I can open the console?

Barotrauma separates the ability to use console commands from the permission to run each command. In multiplayer, the operator needs the broad ConsoleCommands permission and the specific command permission. Having only one of those rights can produce a denial.

  • ConsoleCommands: authorizes console use in the multiplayer permission model.
  • Kick: authorizes player kicks.
  • Ban: authorizes bans.
  • Unban: authorizes removal of bans.
  • Round management: controls round-level actions.
  • Submarine and mode selection: controls selection of submarines and game modes.
  • Campaign management: controls campaign-state operations.
  • Server logs: controls access to log-related functions.
  • Settings: controls server settings operations.
  • Permission management: controls granting and revoking administrative rights.

The exact command-to-permission mapping is authoritative in the game’s current help output. Run help <command> and showperm when diagnosing an error rather than assuming that ConsoleCommands alone grants every capability.

How do I give myself or another player admin access?

An already privileged owner can assign access during an online session with rank or permission commands. Target the recipient by client ID, Steam ID, IP address, or name, depending on the command syntax displayed by help.

Command Purpose Typical syntax
giveperm Grants one administrative permission or all permissions. giveperm <target> <all/permission>
revokeperm Removes one administrative permission or all permissions. revokeperm <target> <all/permission>
giverank Assigns a named rank. giverank <target> <rank>
givecommandperm Allows selected console commands or all commands. givecommandperm <target> <all/command>
revokecommandperm Removes selected console-command rights or all command rights. revokecommandperm <target> <all/command>

Granting a narrow moderator role

Least privilege is safer than giving every operator unrestricted control. You might grant ConsoleCommands and Kick to a moderator while withholding Ban, campaign-management rights, and permission-management rights. Use giveperm for broad permission categories and givecommandperm when you need to allow particular commands.

Granting all rights

giveperm <target> all and givecommandperm <target> all are powerful operations. Before using them, verify the target with clientlist or another unambiguous identifier and understand that the resulting operator can affect players, campaign state, settings, and other administrative data.

How do I make admin access persistent with clientpermissions.xml?

For access that survives reconnects and server restarts, edit Barotrauma/Data/clientpermissions.xml. The official hosting guidance uses client entries containing a name, an account ID, a comma-separated permissions value, and nested command elements.

  1. Stop the server before editing its data files.
  2. Back up the existing clientpermissions.xml file.
  3. Open it in a text editor that preserves XML syntax.
  4. Add or edit a client entry with the appropriate name, accountid, and comma-separated permissions.
  5. Add nested <command name="..." /> elements for individual console commands.
  6. Save the file, verify that every element is properly opened and closed, and restart the server.
  7. Use showperm after reconnecting to confirm the effective permissions.

An entry can grant permission categories such as ServerLog and ConsoleCommands while allowing individual commands such as heal and spawn. The exact account identifier and command names must match the account and the current game version.

Malformed XML is deleted and recreated by the server. That behavior can erase your intended settings, which is why a backup and a syntax check are essential before restarting. Do not paste an example blindly: preserve the file’s existing root structure and use the same quoting and nesting style already present.

What are the built-in permission presets?

The developer-maintained permissionpresets.xml file includes None, Moderator, and Admin presets. The Admin preset uses permissions="All", while the other presets provide narrower predefined access.

Presets are convenient for assigning a known role, but the file warns that default presets can be overwritten by game updates. Treat the file as a versioned default, keep your own changes backed up, and recheck the effective permissions after updating the game.

Which commands control a campaign or hosted server?

Command Effect Important qualification
campaigninfo Displays the current campaign state. Use it to inspect the state before changing a destination or other campaign data.
campaignstatus Displays the current campaign state. Use whichever alias is accepted by your current build.
campaigndestination <index> Sets the campaign destination by index. Confirm the valid index values in the current campaign and command help first.
setmaxplayers <count> Changes the hosted server’s maximum player count. The command documentation lists a limit of 16.
setpassword <password> Changes the hosted server password. Use setpassword without an argument to remove the password.
password <password> Changes the hosted server password. Use password without an argument to remove the password.

Campaign commands can alter shared progression rather than merely affecting one player. Check the current state with campaigninfo or campaignstatus, communicate the planned change to players, and then run the destination command only after confirming the index.

How does administration differ on a dedicated server?

A dedicated server is a command-line application without a graphical interface. Barotrauma can run one with the built-in DedicatedServer.exe or through SteamCMD. The owner must configure server settings and port forwarding before players can reliably connect.

Dedicated-server setup checkpoints

  • Choose whether to launch the included DedicatedServer.exe or install and launch the server through SteamCMD.
  • Set the server name, password, gameplay options, and other values in the server configuration.
  • Forward the configured UDP ports on the router or firewall.
  • Verify the actual ports in serversettings.xml; the documented defaults are UDP 27015 and 27016, but a particular installation may use different values.
  • Start the process and monitor its command-line output and log files.
  • Use the server’s available command interface and in-game help output to confirm syntax after updates.

Hosted games and dedicated servers share the permission concepts, but they do not provide the same graphical controls. On a dedicated deployment, plan access through the persistent XML file or the server’s command-line workflow before handing the server to moderators.

What is the safest workflow for routine administration?

  1. Identify the target. Run clientlist and copy the client ID rather than relying on a similar-looking name.
  2. Check authority. Run showperm for the operator or target when a permission problem is possible.
  3. Preview syntax. Run help <command>, especially for endpoint bans, campaign destinations, and commands that changed between versions.
  4. Choose the least disruptive action. Use mute or kickid for a temporary problem; reserve bans and campaign changes for situations that justify their lasting effects.
  5. Communicate. Use say to announce restarts, rule enforcement, or campaign changes.
  6. Verify the result. Re-run clientlist, showperm, or the relevant campaign-status command.
  7. Record persistent changes. Back up edited XML and note which account, permission, or command was changed.

What should I do when a command does not work?

The console says I lack permission

Check both layers: the operator needs ConsoleCommands and the command’s own permission. Ask an owner to grant the missing right with giveperm or the specific command permission with givecommandperm, then verify with showperm.

The player cannot be found

Run clientlist again because client IDs can change when users reconnect. If using a name, copy it exactly and quote it when it contains spaces. For bans that target an endpoint, confirm whether the command expects a Steam ID or an IP address.

The syntax is rejected

Remove the angle brackets from examples, quote multi-word names, and run help <command>. Endpoint bans require all documented arguments, including duration in seconds and a reason.

Permissions disappeared after an update

Inspect clientpermissions.xml and permissionpresets.xml, restore a valid backup if necessary, and use showperm to check the result. Default preset files can be overwritten by updates, and malformed XML can be deleted and recreated.

The command worked in an older guide but not now

The console documentation displays current game version 1.13.4.0 while warning that the page may be outdated; the permissions documentation carries older update metadata as well. Treat in-game help on the running server as the final authority after a game update.

How current and reliable is the command documentation?

The official console page displays game version 1.13.4.0 but is marked as potentially outdated, and the permissions page has older last-updated information while also displaying that current version. The command names and permission behavior described here are therefore a practical reference, not a guarantee that every future build will behave identically.

Before using a command that can remove a player, alter a campaign, change capacity, or expose administrative access, run its in-game help entry. Keep a backup of permission files and test changes with a noncritical account when possible.

What should a server owner grant to moderators?

A useful starting policy is to separate routine moderation from irreversible or server-wide control. Grant console access and kick or mute capabilities to trusted moderators, then reserve bans, campaign management, permission management, settings changes, and unrestricted command access for the owner or a small senior group.

Role design Suitable capabilities Capabilities to withhold unless necessary
Helper Chat announcements and observation. Kick, ban, campaign, settings, and permission changes.
Moderator ConsoleCommands, Kick, mute/unmute, and selected command permissions. Ban, unban, campaign management, and permission management.
Administrator Broader moderation and server-management permissions. Only unrestricted access if the person is trusted with campaign and configuration changes.
Owner Full permissions and control of persistent XML configuration. Nothing by default, but keep account security and backups strong.

Use revokeperm and revokecommandperm when a role changes. Removing access explicitly is safer than leaving old rights in a persistent file or assuming a rank change removed every individual command permission.

Frequently Asked Questions

Can I use a player’s Steam ID instead of their name?

Yes. The permission and endpoint-management commands document Steam ID as an accepted target form where indicated. Steam IDs are useful when a display name changes, while an IP address is appropriate only for commands that explicitly accept an IP or endpoint.

How can I avoid banning the wrong person when names are similar?

Run clientlist immediately before the action and use kickid or banid. Recheck the list if the player reconnects, because a reconnect can assign a different client ID.

Does changing a rank automatically remove every permission?

Not necessarily. Individual permissions and command permissions can be granted separately, so inspect the result with showperm and use the revoke commands for rights that should no longer exist.

Where are dedicated-server port values stored?

The server’s configured values are in serversettings.xml. UDP ports 27015 and 27016 are documented defaults, not a promise that every installation uses them.

What is the quickest way to check whether a command still exists after an update?

Open the console on the running server and enter help or help <command>. This checks the command set and syntax for the exact build you are operating.