Hell Let Loose server administration is performed remotely through RCON, not through a universal in-game slash-command console. You need the RCON host or IP address, RCON port, and password supplied by your game-server provider. After connecting with the RCON V2 protocol, authenticate, discover the commands that your live server exposes, and then run moderation, map, queue, VIP, voting, and configuration actions by command ID and argument fields.
This guide explains the connection sequence, the two permission files, provider-specific port differences, and the command families you are most likely to use. It also shows how to verify responses and recover safely when a command is unavailable or rejected.
What are Hell Let Loose server admin commands?
HLL admin commands are remote RCON operations sent to a dedicated server. An RCON client communicates with the server, authenticates with the RCON password, and submits commands such as KickPlayer, ChangeMap, or SetIdleKickDuration. The exact command list is controlled by the server build and RCON implementation, so a command documented for one installation is not automatically available on every server.
RCON administration is different from typing a slash command in the game chat. Players do not receive a general-purpose console through the normal client. The administrator instead uses a desktop RCON client, a provider panel, or a web tool such as the community CRCON project.
- Connection details: the provider supplies the RCON host or IP, TCP port, and password.
- Authentication: RCON V2 uses a connection handshake, an XOR key, a login request, and an authentication token for later requests.
- Permissions: the server’s admin-user membership and rank capabilities are separate settings.
- Availability: use live command discovery before relying on a command in a script or staff procedure.
How do I connect to an HLL server with RCON V2?
Use the provider’s RCON details and follow the protocol sequence below. The labels shown are the RCON V2 operations; a graphical client may present them as connection and login fields rather than as buttons named exactly this way.
- Obtain the credentials. In the game-server provider’s control panel, record the RCON host or IP address, RCON port, and password. Do not assume the game port or query port is also the RCON port.
- Open an RCON V2 client. Enter the host and port, then send
ServerConnect. - Process the XOR key. The server returns an XOR key. The client uses that key to encode subsequent protocol traffic as required by RCON V2.
- Authenticate. Send
Loginwith the RCON password. A successful response returns an authentication token. - Attach the token. Include the returned
AuthTokenwith later requests. Keep the token private just like the password. - Discover commands. Call
GetDisplayableCommands. Where supported, callGetClientReferenceDatato obtain argument and interface metadata. - Check every response. Treat status 200 as success, 400 as a bad request, 401 as unauthorized, and 500 as a server-side error. Read the response body for the specific argument or permission problem.
If the connection fails before login, verify the host, port, firewall rules, and whether the provider has enabled RCON. If login fails, re-enter the password from the panel instead of guessing at a game or query password. A successful TCP connection alone does not prove that authentication or command permissions are working.
Which ports does an HLL server use?
Ports are provider-specific. LOW.MS documents one example allocation: 7777/UDP for gameplay, 7778/UDP for the Steam query service, and 7779/TCP for RCON. Those values are an example, not a universal HLL standard; use the ports displayed for your own server.
| Service | Example documented port | Transport | What to do |
|---|---|---|---|
| Gameplay | 7777 | UDP | Players use this for the game session. |
| Steam query | 7778 | UDP | Server browsers and query tools use this service. |
| RCON | 7779 | TCP | RCON clients connect here in the LOW.MS example. |
Opening the wrong protocol or port produces a misleading “offline” result. RCON is TCP in the cited layout, while gameplay and query traffic are UDP. Provider panels can allocate a different base port, so copy the live values rather than applying this table blindly.
How do I discover commands before using them?
Run GetDisplayableCommands after authentication and treat its result as the authoritative list for that server session. This matters because RCON V2 is a protocol reference, not a promise that every server build exposes every documented command.
Use GetClientReferenceData when your client supports it. The returned metadata can describe argument fields and the information a client needs to render a command form. Before automating an operation, confirm all of the following:
- The command appears in the live displayable-command list.
- The required argument names match the client’s fields.
- Your authenticated admin rank is permitted to run it.
- A harmless test, such as requesting server information, returns status 200.
Do not substitute a chat spelling for an RCON command ID. A graphical client may display a friendly label while sending a structured request with a command identifier and named arguments.
How do I configure HLL administrators and permissions?
HLL separates who is an administrator from what an administrator rank may do. The two files have different jobs and must be maintained together.
AdminUsers.ini identifies administrators
AdminUsers.ini stores the players who are recognized as administrators and associates them with an admin rank. In a provider workflow, edit the file through the server’s configuration or file manager, save it, and restart the server so the change loads.
AdminPermissions.ini defines rank capabilities
AdminPermissions.ini defines the permissions attached to each rank. Adding a player to AdminUsers.ini without granting the rank the needed capability can leave that person unable to run a command. Conversely, broad permissions on a shared rank give every member of that rank the same authority.
Safe editing sequence
- Stop or place the server in the provider’s supported maintenance state.
- Back up the current
AdminUsers.iniandAdminPermissions.ini. - Add or remove the player in
AdminUsers.ini, checking the player identifier and rank. - Adjust the rank definition in
AdminPermissions.inionly if the rank should gain or lose a capability. - Save both files and restart the server, as required by the cited hosting workflow.
- Reconnect with RCON and use
GetAdminGroupsandGetAdminUsersto verify the loaded state.
Prefer separate ranks for routine moderators and senior administrators. It limits the damage from an accidental kick, ban, map change, or configuration edit and makes staff responsibilities easier to audit.
Which commands show players and moderate them?
Use server-information commands to obtain the player identifier first, then pass that identifier to moderation commands. Names can be duplicated or changed; the command arguments are designed around the server’s player ID.
| Command | Arguments | Effect |
|---|---|---|
GetServerInformation |
Request set to players or player |
players returns connected players and IDs; player returns detailed information. |
MessagePlayer |
Message, PlayerId |
Sends a private message to one player. |
KickPlayer |
PlayerId, Reason |
Disconnects the player and records the stated reason in the request. |
TemporaryBanPlayer |
PlayerId, Duration, Reason, AdminName |
Bans the player for the supplied duration. |
PermanentBanPlayer |
PlayerId, Reason, AdminName |
Applies a permanent ban. |
RemoveTemporaryBan |
Server-defined ban identifier or fields | Reverses a temporary ban; inspect the live client metadata for the exact field. |
RemovePermanentBan |
Server-defined ban identifier or fields | Reverses a permanent ban; inspect the live client metadata for the exact field. |
PunishPlayer |
Player ID and reason | Kills the player’s character. Use only when your published server policy permits it. |
For a defensible moderation record, retrieve the player information, send a concise reason, and use the same administrator name and policy language across staff actions. The command reference identifies the required fields, but your live server should still be checked for the exact ban-removal arguments exposed by its client.
How do I change maps and edit the rotation?
ChangeMap changes the map immediately, while rotation and sequence commands alter what plays next. Warn players before an immediate change because it interrupts the current match.
| Command | Arguments | Use |
|---|---|---|
ChangeMap |
MapName |
Switches immediately to the named map. |
AddMapToRotation |
MapName, Index |
Adds a map at a rotation position. |
RemoveMapFromRotation |
Index |
Removes the rotation entry at that index. |
AddMapToSequence |
Map and sequence fields exposed by the server | Adds an entry to the active map sequence. |
RemoveMapFromSequence |
Sequence fields exposed by the server | Removes an active sequence entry. |
MoveMapInSequence |
Sequence position fields exposed by the server | Moves a map within the active sequence. |
SetMapShuffleEnabled |
Enable or disable value | Controls randomization of the map sequence. |
Because sequence argument names can vary by client implementation, query GetClientReferenceData before issuing sequence edits. Confirm the resulting order with the server’s information or rotation view rather than assuming an index was accepted.
How do I control teams, queues, and idle players?
| Command | Arguments | Behavior |
|---|---|---|
ForceTeamSwitch |
PlayerId, ForceMode |
Mode 0 switches the player on death; mode 1 switches immediately. |
SetTeamSwitchCooldown |
Cooldown value | Sets the timer controlling team switches. |
SetMaxQueuedPlayers |
Maximum queue length | Sets how many players may wait in the queue. |
SetIdleKickDuration |
Timeout in minutes | Sets how long an idle player may remain before being removed. |
Team switching can affect balance immediately, so use mode 0 when a death-boundary change is sufficient. The idle-kick command has historical official support: Team17’s Hell Let Loose Patch #1 notes, dated June 13, 2019, state, “Added RCon feature to set an idle kick time.” That statement confirms the feature’s addition, but the current command name and argument format should still be verified in the live command list.
How do I send server messages and manage VIP slots?
Use SendServerMessage or ServerBroadcast to display a message to everyone. Keep operational notices short and identify the action or expected behavior; a broadcast is visible to the whole server and is not a substitute for a private warning.
| Command | Purpose |
|---|---|
AddVip |
Adds a player to the VIP list. |
RemoveVip |
Removes a player from the VIP list. |
SetVipSlotCount |
Sets the number of reserved VIP slots. |
SendServerMessage / ServerBroadcast |
Displays a server-wide message. |
Reserved slots change who can join when the server is full. Set a count that matches your community’s policy and check the live response after changing it; a successful request means the server accepted the value, not that every currently connected player will be moved.
How do I configure auto-balance, vote-kick, and banned words?
| Command | Effect |
|---|---|
SetAutoBalanceEnabled |
Enables or disables automatic team balancing. |
SetAutoBalanceThreshold |
Sets the threshold used by auto-balance. |
SetVoteKickEnabled |
Enables or disables vote-kick behavior. |
SetVoteKickThreshold |
Sets the vote level required for a kick. |
ResetVoteKickThreshold |
Resets the vote-kick threshold. |
AddBannedWords |
Adds entries to the custom profanity filter. |
RemoveBannedWords |
Removes entries from the custom profanity filter. |
These settings affect the entire community, not only the player who triggered a vote or filter match. Record policy decisions in your staff documentation and test a change during a low-population period so an overly strict threshold does not disrupt a full match.
What should I do when an HLL command fails?
Use the response status to narrow the cause instead of repeatedly sending the same request.
- 400 Bad request: check spelling, required fields, data types, map names, indexes, and mode values. Refresh
GetClientReferenceDatabecause the client may be showing stale argument metadata. - 401 Unauthorized: reconnect and authenticate again. Verify the password, token, and admin rank; a valid network connection does not grant permission.
- 500 Internal error: retry once after checking the server state, then inspect provider logs or open a support ticket if the error persists.
- Command missing: the current server build or client may not expose it. Do not substitute an undocumented command; use the live displayable-command list.
- Wrong target: run
GetServerInformationagain and use the current player ID rather than a remembered name or ID.
After a successful configuration change, query the relevant information again. Verification catches cases where a provider panel accepted a file edit but the running server has not reloaded it.
Should I use a native RCON client or CRCON?
A basic RCON client is usually enough for occasional commands. CRCON is a community web RCON tool described by HLL Hosting as available for self-hosting or as a paid hosted service; LOW.MS also describes it as useful when communities need statistics, Discord integration, and audit logs. Choose based on operational needs rather than assuming one interface exposes more authority.
| Consideration | Basic RCON client or provider panel | CRCON-style web tool |
|---|---|---|
| Connection method | Desktop client or host control panel | Browser interface connected to RCON |
| Command coverage | Depends on the client and live command list | Depends on its implementation and the server’s exposed commands |
| Moderation workflow | Direct command forms; often manual | Can organize player, ban, and staff workflows |
| Audit logging | May be limited to provider or client logs | Designed for richer audit histories |
| Discord integration | Not inherent | Available in the community-tool use case described by hosting providers |
| Hosting responsibility | Provider manages the game server; you manage credentials | Self-managed installation or a paid hosted service |
Regardless of interface, the underlying permissions and RCON credentials remain the security boundary. A web front end does not make an undocumented command safe or universally available.
How do I secure an HLL RCON setup?
- Store the RCON password in a password manager and never paste it into public staff chat.
- Treat authentication tokens as credentials; invalidate the session by reconnecting if a token may have leaked.
- Give moderators the lowest admin rank that covers their duties.
- Back up both INI files before changing membership or permissions.
- Use player IDs and written reasons for moderation actions.
- Verify map, queue, VIP, and policy changes with a follow-up information request.
- Remove former staff from
AdminUsers.iniand review the rank definitions inAdminPermissions.ini.
These controls reduce the impact of a leaked password, mistaken target, or overly broad rank while preserving the fast response that remote administration is intended to provide.
Frequently Asked Questions
Can I use the normal in-game chat to run HLL admin commands?
No. HLL administration in this setup is performed through the server’s RCON interface. Players may see broadcast or private messages, but the administrative request is sent by an authenticated RCON client or panel.
Why does my provider’s RCON port differ from another HLL server’s port?
Providers allocate ports from their own server plans and base-port ranges. The 7779/TCP RCON value documented for one LOW.MS layout is only an example; always copy the RCON value shown in your own control panel.
What is the difference between an admin rank and an admin user?
An admin user is the player account listed in AdminUsers.ini. A rank is the permission profile defined in AdminPermissions.ini, so changing a user’s membership and changing what that rank can do are separate operations.
Why can a documented command be unavailable on my server?
RCON V2 documentation describes protocol operations, but individual server builds and clients can expose different command sets. Query GetDisplayableCommands and, where available, GetClientReferenceData before treating a command or argument as supported.