Developer‐Guides ‐ HLL RCONv2 Commands - MarechJ/hll_rcon_tool GitHub Wiki
🧭 You are here: Wiki home / Developer Guides / HLL RCONv2 Commands
- Table of Contents
- Protocol
- Commands
- Available Maps
- Map Orientation and Faction Mirroring
-
Available Weapons
- Firearms
- Deployables
- Vehicles (Roadkills)
-
Vehicles (Armament)
- M8 Greyhound
- Stuart M5A1
- Sherman M4A3(75)W
- Sherman M4A3E2 "75mm"
- Sherman M4A3E2 "76mm"
- M3 Half-track
- Sd.Kfz.234 Puma
- Sd.Kfz.121 Luchs
- Sd.Kfz.161 Panzer IV
- Sd.Kfz.171 Panther
- Sd.Kfz.181 Tiger 1
- Sd.Kfz 251 Half-track
- BA-10
- T70
- T34/76
- IS-1
- Daimler
- Tetrarch
- M3 Stuart Honey
- Cromwell
- Crusader Mk.III
- Firefly
- Churchill Mk.III
- Churchill Mk.VII
- Commander Abilities
- Removed Weapons
- Bugged Weapon Names
- Loadouts
- JSON Schemas (Selected Responses)
- Notes & Gotchas
HLL RCONv2 is a TCP-based protocol with explicit command versioning. Messages consist of a fixed protocol header followed by a JSON-encoded payload.
Each request has the shape:
{
"command": "CommandName",
"version": 2,
"body": { "ParamA": "Value", "ParamB": 123 }
}
- command — Exact command identifier.
-
version — Must be
2
for RCONv2 endpoints documented here. -
body — Object with command parameters; may be
{}
if none.
Authentication is performed when establishing the RCON TCP connection (outside the command body). The initial ServerConnect and Login commands provide an access token, which must be included in all subsequent commands within the session for authorization. Tools like the hllrcon library handle this token inclusion automatically for convenience.
Responses are JSON. When successful, the body structure matches the Returns section of each command below. Errors are surfaced as non-2xx statuses internally; some helpers here interpret specific status codes as falsey outcomes (see Notes & Gotchas).
Players can be on multiple platforms:
-
steam
,epic
,xbl
,psn
,ps5
,xsx
Faction IDs:
-
0 GER
(Germany) -
1 US
(United States) -
2 SOV
(Soviet Union) -
3 CW
(Commonwealth) -
4 DAK
(Deutsches Afrikakorps) -
5 B8A
(British 8th Army) 6 UNASSIGNED
Role IDs and Properties:
-
0 Rifleman
(Type: Infantry, Squad Leader: False, Kill Combat Score: 3, Assist Combat Score: 2) -
1 Assault
(Type: Infantry, Squad Leader: False, Kill Combat Score: 6, Assist Combat Score: 4) -
2 Automatic Rifleman
(Type: Infantry, Squad Leader: False, Kill Combat Score: 6, Assist Combat Score: 4) -
3 Medic
(Type: Infantry, Squad Leader: False, Kill Combat Score: 6, Assist Combat Score: 4) -
4 Spotter
(Type: Recon, Squad Leader: True, Kill Combat Score: 6, Assist Combat Score: 4) -
5 Support
(Type: Infantry, Squad Leader: False, Kill Combat Score: 6, Assist Combat Score: 4) -
6 Machine Gunner
(Type: Infantry, Squad Leader: False, Kill Combat Score: 9, Assist Combat Score: 6) -
7 Anti-Tank
(Type: Infantry, Squad Leader: False, Kill Combat Score: 9, Assist Combat Score: 6) -
8 Engineer
(Type: Infantry, Squad Leader: False, Kill Combat Score: 9, Assist Combat Score: 6) -
9 Officer
(Type: Infantry, Squad Leader: True, Kill Combat Score: 9, Assist Combat Score: 6) -
10 Sniper
(Type: Recon, Squad Leader: False, Kill Combat Score: 6, Assist Combat Score: 4) -
11 Crewman
(Type: Armor, Squad Leader: False, Kill Combat Score: 3, Assist Combat Score: 2) -
12 Tank Commander
(Type: Armor, Squad Leader: True, Kill Combat Score: 9, Assist Combat Score: 6) -
13 Commander
(Type: Commander, Squad Leader: True, Kill Combat Score: 12, Assist Combat Score: 8)
Role Properties:
-
Type: Indicates the category of the role (
Infantry
,Armor
,Recon
,Commander
). - Squad Leader: Whether the role is exclusive to squad leaders (e.g., Commander, Officer, Tank Commander, Spotter).
- Kill Combat Score: Combat Effectiveness score gained when killing a player with this role.
- Assist Combat Score: Combat Effectiveness score gained when assisting in the kill of a player with this role (e.g., when a player you downed is killed by another).
Note: The Kill Combat Score
and Assist Combat Score
are relevant for RCON commands like GetServerInformation: player
, which return player score data (scoreData.cOMBAT
).
List banned words currently configured. Request
{"command":"GetServerInformation","version":2,"body":{"Name":"bannedwords","Value":""}}
Returns
{ "bannedWords": ["word1","word2", "..."] }
Set/Update the welcome message (shown at deploy & on spawn). Request
{"command":"SetWelcomeMessage","version":2,"body":{"Message":"Welcome to our server!"}}
Returns
-
200 OK
with empty JSON body on success. Notes - Triggers a brief re-display to currently spawned players.
Display a broadcast message top-left to all players. Request
{"command":"ServerBroadcast","version":2,"body":{"Message":"Server restart in 10 minutes"}}
Returns
-
200 OK
with empty JSON body on success.
Kick players whose ping exceeds threshold (0 disables). Request
{"command":"SetHighPingThreshold","version":2,"body":{"HighPingThresholdMs":180}}
Returns
-
200 OK
on success.
Kick players after being idle for N minutes (0 disables). Request
{"command":"SetIdleKickDuration","version":2,"body":{"IdleTimeoutMinutes":15}}
Returns
-
200 OK
on success.
Set server-side queue capacity (0–6). Request
{"command":"SetMaxQueuedPlayers","version":2,"body":{"MaxQueuedPlayers":6}}
Returns
-
200 OK
on success.
Minimum delay before players can switch teams again. Request
{"command":"SetTeamSwitchCooldown","version":2,"body":{"TeamSwitchTimer":10}}
Returns
-
200 OK
on success.
List commands recognized by the server. Request
{"command":"GetDisplayableCommands","version":2,"body":""}
Returns
{ "entries": [ { "iD":"...", "friendlyName":"...", "isClientSupported":true }, ... ] }
Describe a command’s UI text, description, and parameter schema. Request
{"command":"GetClientReferenceData","version":2,"body":"SetSectorLayout"}
Returns
{
"name":"SetSectorLayout",
"text":"Set Sector Layout",
"description":"Immediately restarts the match with the given sector layout",
"dialogueParameters":[
{"type":"Combo","name":"Sector 1","iD":"Sector_1","displayMember":"...","valueMember":"..."},
...
]
}
Get configured rotation (static order). Request
{"command":"GetServerInformation","version":2,"body":{"Name":"maprotation","Value":""}}
Returns
{ "mAPS": [
{"name":"...","gameMode":"Warfare","timeOfDay":"Day","iD":"utahbeach_warfare","position":1}
]}
Get current sequence (may be shuffled). Request
{"command":"GetServerInformation","version":2,"body":{"Name":"mapsequence","Value":""}}
Returns
- Same shape as maprotation.
Start a 60s countdown and load the target map (skips EoR). Request
{"command":"ChangeMap","version":2,"body":{"MapName":"utahbeach_warfare"}}
Returns
-
200 OK
on success. Notes - Not immediate; visible 60s countdown to players.
Insert a map into the rotation at position Index
(1-based).
Request
{"command":"AddMapToRotation","version":2,"body":{"MapName":"utahbeach_warfare","Index":3}}
Returns
-
200 OK
on success.
Remove map at Index
from rotation.
Request
{"command":"RemoveMapFromRotation","version":2,"body":{"Index":3}}
Returns
-
200 OK
on success.
Insert a map into the sequence (the actual next maps list). Request
{"command":"AddMapToSequence","version":2,"body":{"MapName":"utahbeach_warfare","Index":2}}
Returns
-
200 OK
on success.
Remove map at Index
from sequence.
Request
{"command":"RemoveMapFromSequence","version":2,"body":{"Index":2}}
Returns
-
200 OK
on success.
Reorder maps in the sequence. Request
{"command":"MoveMapInSequence","version":2,"body":{"CurrentIndex":5,"NewIndex":2}}
Returns
-
200 OK
on success.
Enable or disable shuffling of the sequence. Request
{"command":"SetMapShuffleEnabled","version":2,"body":{"Enable":true}}
Returns
-
200 OK
on success.
Immediately restarts the match with the specified sector layout. Request
{"command":"SetSectorLayout","version":2,"body":{
"Sector_1":"...", "Sector_2":"...", "Sector_3":"...", "Sector_4":"...", "Sector_5":"..."
}}
Returns
-
200 OK
on success. Notes / Warning - Use
GetClientReferenceData("SetSectorLayout")
to list valid sector names (dialogueParameters
withSector_#
combos).
Enumerate all maps supported by server-side UI for rotation/sequence operations. How
- Call
GetClientReferenceData("AddMapToRotation")
, read parameterMapName.valueMember
(comma-separated).
Enumerate valid sector names for the current map. How
- Call
GetClientReferenceData("SetSectorLayout")
and readSector_1..Sector_5.valueMember
lists.
Get detailed info for all online players. Request
{"command":"GetServerInformation","version":2,"body":{"Name":"players","Value":""}}
Returns (excerpt)
{ "players":[{
"name":"(WTH) Abu", "clanTag":"WTH", "iD":"7656...", "platform":"steam", "eosId":"...",
"level":174, "team":1, "role":9, "platoon":"Able",
"loadout":"NCO", "kills":5, "deaths":3,
"scoreData":{"cOMBAT":50,"offense":0,"defense":40,"support":10},
"worldPosition":{"x":1234.0,"y":5678.0,"z":90.0}
}]}
Get detailed info for one player by ID (UID). Request
{"command":"GetServerInformation","version":2,"body":{"Name":"player","Value":"7656119..."}}
Returns
- Same shape as single entry in players list.
Show a top-right message box to a specific player. Request
{"command":"MessagePlayer","version":2,"body":{"PlayerId":"7656119...","Message":"Read the rules, please."}}
Returns
-
200 OK
on success.
Kill the player (optionally with a reason displayed). Request
{"command":"PunishPlayer","version":2,"body":{"PlayerId":"7656119...","Reason":"Teamkilling"}}
Returns
-
200 OK
on success; may be interpreted as false in tooling if server returns status500
(player not alive / not present). Note - See Notes & Gotchas on boolean casting for
kill_player
.
Kick a player with a displayed reason. Request
{"command":"KickPlayer","version":2,"body":{"PlayerId":"7656119...","Reason":"Language"}}
Returns
-
200 OK
on success; may be interpreted as false by tooling when status400
(player not found / already gone).
Ban player temporarily or permanently. Temporary Request
{"command":"TemporaryBanPlayer","version":2,"body":{
"PlayerId":"7656119...","Duration":2,"Reason":"Toxicity","AdminName":"Some Admin"
}}
Permanent Request
{"command":"PermanentBanPlayer","version":2,"body":{
"PlayerId":"7656119...","Reason":"Cheating","AdminName":"Some Admin"
}}
Returns
-
200 OK
on success.
Unban a temporary ban by player ID. Request
{"command":"RemoveTemporaryBan","version":2,"body":{"PlayerId":"7656119..."}}
Returns
-
200 OK
on success; tooling interprets status400
as false (no temp ban).
Unban a permanent ban by player ID. Request
{"command":"RemovePermanentBan","version":2,"body":{"PlayerId":"7656119..."}}
Returns
-
200 OK
on success; tooling interprets status400
as false (no perma ban).
Convenience behavior: call both RemoveTemporaryBan
and RemovePermanentBan
and return true
if either succeeded.
Force a player to switch teams.
-
ForceMode
:0
= IMMEDIATE (kills player if alive),1
= AFTER_DEATH Request
{"command":"ForceTeamSwitch","version":2,"body":{"PlayerId":"7656119...","ForceMode":0}}
Returns
-
200 OK
on success; tooling interprets status500
as false (could not switch).
Remove a player from their current squad (shown a message). Request
{"command":"RemovePlayerFromPlatoon","version":2,"body":{"PlayerId":"7656119...","Reason":"AFK"}}
Returns
-
200 OK
on success.
Disband an entire squad (team + squad index). Request
{"command":"DisbandPlatoon","version":2,"body":{"TeamIndex":1,"SquadIndex":0,"Reason":"No SL"}}
Returns
-
200 OK
on success.
List admin groups configured in server’s AdminPermissions.ini
.
Request
{"command":"GetAdminGroups","version":2,"body":""}
Returns
{ "groupNames":["senior","camera","moderator","..."] }
List players with admin permissions (group & comment). Request
{"command":"GetAdminUsers","version":2,"body":""}
Returns
{ "adminUsers":[{"userId":"7656...","group":"senior","comment":"(WTH) Abu"}, ...] }
Grant admin permissions to a player. Request
{"command":"AddAdmin","version":2,"body":{"PlayerId":"7656...","AdminGroup":"senior","Comment":"Abu"}}
Returns
-
200 OK
on success.
Revoke admin permissions from a player. Request
{"command":"RemoveAdmin","version":2,"body":{"PlayerId":"7656..."}}
Returns
-
200 OK
on success.
List permanent bans. Request
{"command":"GetPermanentBans","version":2,"body":""}
Returns
{ "banList":[{"userId":"7656...","userName":"...","timeOfBanning":"...","durationHours":0,"banReason":"...","adminName":"..."}] }
List temporary bans. Request
{"command":"GetTemporaryBans","version":2,"body":""}
Returns
- Same shape as GetPermanentBans, with non-zero
durationHours
.
Add a VIP entry. Request
{"command":"AddVip","version":2,"body":{"PlayerId":"7656...","Description":"Frequent donor"}}
Returns
-
200 OK
on success.
Remove a VIP entry. Request
{"command":"RemoveVip","version":2,"body":{"PlayerId":"7656..."}}
Returns
-
200 OK
on success.
Set number of reserved VIP queue slots (server-side reserve). Request
{"command":"SetVipSlotCount","version":2,"body":{"VipSlotCount":5}}
Returns
-
200 OK
on success.
Enable/disable auto-balance logic. Request
{"command":"SetAutoBalanceEnabled","version":2,"body":{"Enable":true}}
Returns
-
200 OK
on success.
Set max allowed team size delta without blocking joins. Request
{"command":"SetAutoBalanceThreshold","version":2,"body":{"AutoBalanceThreshold":2}}
Returns
-
200 OK
on success. Note - Setting to
0
does not disable auto-balance; useSetAutoBalanceEnabled
instead.
Enable/disable vote-kick system. Request
{"command":"SetVoteKickEnabled","version":2,"body":{"Enable":true}}
Returns
-
200 OK
on success.
Restore default threshold curve. Request
{"command":"ResetVoteKickThreshold","version":2,"body":""}
Returns
-
200 OK
on success.
Define threshold curve as CSV pairs: players,votes,players,votes,...
Request
{"command":"SetVoteKickThreshold","version":2,"body":{"ThresholdValue":"0,5,25,10,50,15"}}
Returns
-
200 OK
on success.
Set or reset match duration for a game mode (future matches). Set
{"command":"SetMatchTimer","version":2,"body":{"GameMode":"Warfare","MatchLength":90}}
Remove
{"command":"RemoveMatchTimer","version":2,"body":{"GameMode":"Offensive"}}
Returns
-
200 OK
on success.
Set or reset warmup duration for a game mode (future matches). Set
{"command":"SetWarmupTimer","version":2,"body":{"GameMode":"Skirmish","WarmupLength":5}}
Remove
{"command":"RemoveWarmupTimer","version":2,"body":{"GameMode":"Warfare"}}
Returns
-
200 OK
on success.
Toggle dynamic weather for a specific map (future matches; only where supported). Request
{"command":"SetDynamicWeatherEnabled","version":2,"body":{"MapId":"utahbeach","Enable":true}}
Returns
-
200 OK
on success.
Admin activity / moderation log entries within last N seconds. Request
{"command":"GetAdminLog","version":2,"body":{"LogBackTrackTime":600,"Filters":"kick,ban"}}
Returns
{ "entries":[ {"timestamp":"2025-08-30T20:51:02Z","message":"KICK: [...]"}, ... ] }
Notes
-
LogBackTrackTime
must be non-negative. -
Filters
may be an empty string to include everything.
NOTE: Some maps (e.g.,
hill400_warfare_night
) are only available in PTEs. NOTE: TheQuery Name
column corresponds to thetag
field used in the game's data configuration.
Map Name | Query Name | Pretty Name* | Base | Gamemode | Environment | Attackers |
---|---|---|---|---|---|---|
CAR_S_1944_Day_P_Skirmish |
CAR |
CARENTAN Skirmish | Carentan | Skirmish | Day | |
CAR_S_1944_Dusk_P_Skirmish |
CAR |
CARENTAN Skirmish | Carentan | Skirmish | Dusk | |
CAR_S_1944_Rain_P_Skirmish |
CAR |
CARENTAN Skirmish | Carentan | Skirmish | Rain | |
carentan_offensive_ger |
CAR |
CARENTAN Offensive | Carentan | Offensive | Day | GER |
carentan_offensive_us |
CAR |
CARENTAN Offensive | Carentan | Offensive | Day | US |
carentan_warfare |
CAR |
CARENTAN Warfare | Carentan | Warfare | Day | |
carentan_warfare_night |
CAR |
CARENTAN NIGHT Warfare | Carentan | Warfare | Night | |
driel_offensive_ger |
DRL |
DRIEL Offensive | Driel | Offensive | Day | GER |
driel_offensive_us |
DRL |
DRIEL Offensive | Driel | Offensive | Day | GB |
driel_warfare |
DRL |
DRIEL Warfare | Driel | Warfare | Dawn | |
driel_warfare_night |
DRL |
DRIEL Warfare | Driel | Warfare | Night | |
DRL_S_1944_P_Skirmish |
DRL |
DRIEL Skirmish | Driel | Skirmish | Dawn | |
DRL_S_1944_Day_P_Skirmish |
DRL |
DRIEL Skirmish | Driel | Skirmish | Day | |
DRL_S_1944_Night_P_Skirmish |
DRL |
DRIEL Skirmish | Driel | Skirmish | Night | |
ELA_S_1942_P_Skirmish |
ELA |
EL ALAMEIN Skirmish | El Alamein | Skirmish | Day | |
ELA_S_1942_Night_P_Skirmish |
ELA |
EL ALAMEIN Skirmish | El Alamein | Skirmish | Dusk | |
elalamein_offensive_CW |
ELA |
EL ALAMEIN Offensive | El Alamein | Offensive | Day | B8A |
elalamein_offensive_ger |
ELA |
EL ALAMEIN Offensive | El Alamein | Offensive | Day | DAK |
elalamein_warfare |
ELA |
EL ALAMEIN Warfare | El Alamein | Warfare | Day | |
elalamein_warfare_night |
ELA |
EL ALAMEIN Warfare | El Alamein | Warfare | Dusk | |
elsenbornridge_offensiveger_day |
EBR |
ELSENBORN RIDGE Offensive | Elsenborn Ridge | Offensive | Day | GER |
elsenbornridge_offensiveger_morning |
EBR |
ELSENBORN RIDGE Offensive | Elsenborn Ridge | Offensive | Dawn | GER |
elsenbornridge_offensiveger_night |
EBR |
ELSENBORN RIDGE Offensive | Elsenborn Ridge | Offensive | Night | GER |
elsenbornridge_offensiveUS_day |
EBR |
ELSENBORN RIDGE Offensive | Elsenborn Ridge | Offensive | Day | US |
elsenbornridge_offensiveUS_morning |
EBR |
ELSENBORN RIDGE Offensive | Elsenborn Ridge | Offensive | Dawn | US |
elsenbornridge_offensiveUS_night |
EBR |
ELSENBORN RIDGE Offensive | Elsenborn Ridge | Offensive | Night | US |
elsenbornridge_skirmish_day |
EBR |
ELSENBORN RIDGE Skirmish | Elsenborn Ridge | Skirmish | Day | |
elsenbornridge_skirmish_morning |
EBR |
ELSENBORN RIDGE Skirmish | Elsenborn Ridge | Skirmish | Dawn | |
elsenbornridge_skirmish_night |
EBR |
ELSENBORN RIDGE Skirmish | Elsenborn Ridge | Skirmish | Night | |
elsenbornridge_warfare_day |
EBR |
ELSENBORN RIDGE Warfare | Elsenborn Ridge | Warfare | Day | |
elsenbornridge_warfare_morning |
EBR |
ELSENBORN RIDGE Warfare | Elsenborn Ridge | Warfare | Dawn | |
elsenbornridge_warfare_night |
EBR |
ELSENBORN RIDGE Warfare | Elsenborn Ridge | Warfare | Night | |
foy_offensive_ger |
FOY |
FOY Offensive | Foy | Offensive | Day | GER |
foy_offensive_us |
FOY |
FOY Offensive | Foy | Offensive | Day | US |
foy_warfare |
FOY |
FOY Warfare | Foy | Warfare | Day | |
foy_warfare_night |
FOY |
FOY Warfare | Foy | Warfare | Night | |
HIL_S_1944_Day_P_Skirmish |
HIL |
HILL 400 Skirmish | Hill 400 | Skirmish | Day | |
HIL_S_1944_Dusk_P_Skirmish |
HIL |
HILL 400 Skirmish | Hill 400 | Skirmish | Dusk | |
hill400_offensive_ger |
HIL |
HILL 400 Offensive | Hill 400 | Offensive | Foggy | GER |
hill400_offensive_US |
HIL |
HILL 400 Offensive | Hill 400 | Offensive | Day | US |
hill400_warfare |
HIL |
HILL 400 Warfare | Hill 400 | Warfare | Day | |
hill400_warfare_night |
HIL |
HILL 400 Warfare | Hill 400 | Warfare | Night | |
hurtgenforest_offensive_ger |
HUR |
HÜRTGEN FOREST Offensive | Hürtgen Forest | Offensive | Foggy | GER |
hurtgenforest_offensive_US |
HUR |
HÜRTGEN FOREST Offensive | Hürtgen Forest | Offensive | Day | US |
hurtgenforest_warfare_V2 |
HUR |
HÜRTGEN FOREST Warfare | Hürtgen Forest | Warfare | Day | |
hurtgenforest_warfare_V2_night |
HUR |
HÜRTGEN FOREST Warfare | Hürtgen Forest | Warfare | Night | |
kharkov_offensive_ger |
KHA |
Kharkov Offensive | Kharkov | Offensive | Day | GER |
kharkov_offensive_rus |
KHA |
Kharkov Offensive | Kharkov | Offensive | Day | RUS |
kharkov_warfare |
KHA |
Kharkov Warfare | Kharkov | Warfare | Day | |
kharkov_warfare_night |
KHA |
Kharkov Warfare | Kharkov | Warfare | Night | |
kursk_offensive_ger |
KUR |
KURSK Offensive | Kursk | Offensive | Day | GER |
kursk_offensive_rus |
KUR |
KURSK Offensive | Kursk | Offensive | Day | RUS |
kursk_warfare |
KUR |
KURSK Warfare | Kursk | Warfare | Day | |
kursk_warfare_night |
KUR |
KURSK Warfare | Kursk | Warfare | Night | |
mortain_offensiveger_day |
MOR |
MORTAIN Offensive | Mortain | Offensive | Day | GER |
mortain_offensiveger_dusk |
MOR |
MORTAIN Offensive | Mortain | Offensive | Dawn | GER |
mortain_offensiveger_overcast |
MOR |
MORTAIN Offensive | Mortain | Offensive | Overcast | GER |
mortain_offensiveUS_day |
MOR |
MORTAIN Offensive | Mortain | Offensive | Day | US |
mortain_offensiveUS_dusk |
MOR |
MORTAIN Offensive | Mortain | Offensive | Dawn | US |
mortain_offensiveUS_overcast |
MOR |
MORTAIN Offensive | Mortain | Offensive | Overcast | US |
mortain_skirmish_day |
MOR |
MORTAIN Skirmish | Mortain | Skirmish | Day | |
mortain_skirmish_dusk |
MOR |
MORTAIN Skirmish | Mortain | Skirmish | Dawn | |
mortain_skirmish_overcast |
MOR |
MORTAIN Skirmish | Mortain | Skirmish | Overcast | |
mortain_warfare_day |
MOR |
MORTAIN Warfare | Mortain | Warfare | Day | |
mortain_warfare_dusk |
MOR |
MORTAIN Warfare | Mortain | Warfare | Dawn | |
mortain_warfare_overcast |
MOR |
MORTAIN Warfare | Mortain | Warfare | Overcast | |
omahabeach_offensive_ger |
OMA |
OMAHA BEACH Offensive | Omaha Beach | Offensive | Day | GER |
omahabeach_offensive_us |
OMA |
OMAHA BEACH Offensive | Omaha Beach | Offensive | Day | US |
omahabeach_warfare |
OMA |
OMAHA BEACH Warfare | Omaha Beach | Warfare | Day | |
omahabeach_warfare_night |
OMA |
OMAHA BEACH Warfare | Omaha Beach | Warfare | Dusk | |
PHL_L_1944_OffensiveGER |
PHL |
PURPLE HEART LANE Offensive | Purple Heart Lane | Offensive | Day | GER |
PHL_L_1944_OffensiveUS |
PHL |
PURPLE HEART LANE Offensive | Purple Heart Lane | Offensive | Day | US |
PHL_L_1944_Warfare |
PHL |
PURPLE HEART LANE Warfare | Purple Heart Lane | Warfare | Rain | |
PHL_S_1944_Rain_P_Skirmish |
PHL |
PURPLE HEART LANE Skirmish | Purple Heart Lane | Skirmish | Rain | |
PHL_S_1944_Morning_P_Skirmish |
PHL |
PURPLE HEART LANE Skirmish | Purple Heart Lane | Skirmish | Morning | |
PHL_S_1944_Night_P_Skirmish |
PHL |
PURPLE HEART LANE Skirmish | Purple Heart Lane | Skirmish | Night | |
remagen_offensive_ger |
REM |
REMAGEN Offensive | Remagen | Offensive | Foggy | GER |
remagen_offensive_us |
REM |
REMAGEN Offensive | Remagen | Offensive | Day | US |
remagen_warfare |
REM |
REMAGEN Warfare | Remagen | Warfare | Day | |
remagen_warfare_night |
REM |
REMAGEN Warfare | Remagen | Warfare | Night | |
SMDM_S_1944_Day_P_Skirmish |
SMDM |
ST MARIE DU MONT Skirmish | St. Marie Du Mont | Skirmish | Day | |
SMDM_S_1944_Rain_P_Skirmish |
SMDM |
ST MARIE DU MONT Skirmish | St. Marie Du Mont | Skirmish | Rain | |
SMDM_S_1944_Night_P_Skirmish |
SMDM |
ST MARIE DU MONT Skirmish | St. Marie Du Mont | Skirmish | Night | |
SME_S_1944_Day_P_Skirmish |
SME |
SAINTE-MÈRE-ÉGLISE Skirmish | St. Mere Eglise | Warfare | Day | |
SME_S_1944_Morning_P_Skirmish |
SME |
SAINTE-MÈRE-ÉGLISE Skirmish | St. Mere Eglise | Warfare | Dawn | |
SME_S_1944_Night_P_Skirmish |
SME |
SAINTE-MÈRE-ÉGLISE Skirmish | St. Mere Eglise | Warfare | Night | |
stalingrad_offensive_ger |
STA |
STALINGRAD Offensive | Stalingrad | Offensive | Day | GER |
stalingrad_offensive_rus |
STA |
STALINGRAD Offensive | Stalingrad | Offensive | Day | RUS |
stalingrad_warfare |
STA |
STALINGRAD Warfare | Stalingrad | Warfare | Day | |
stalingrad_warfare_night |
STA |
STALINGRAD Warfare | Stalingrad | Warfare | Night | |
stmariedumont_off_ger |
SMDM |
ST MARIE DU MONT OFFENSIVE | St. Marie Du Mont | Offensive | Day | GER |
stmariedumont_off_us |
SMDM |
ST MARIE DU MONT OFFENSIVE | St. Marie Du Mont | Offensive | Day | US |
stmariedumont_warfare |
SMDM |
ST MARIE DU MONT Warfare | St. Marie Du Mont | Warfare | Day | |
stmariedumont_warfare_night |
SMDM |
ST MARIE DU MONT Warfare | St. Marie Du Mont | Warfare | Night | |
stmereeglise_offensive_ger |
SME |
SAINTE-MÈRE-ÉGLISE Offensive | St. Mere Eglise | Offensive | Dawn | GER |
stmereeglise_offensive_us |
SME |
SAINTE-MÈRE-ÉGLISE Offensive | St. Mere Eglise | Offensive | Day | US |
stmereeglise_warfare |
SME |
SAINTE-MÈRE-ÉGLISE Warfare | St. Mere Eglise | Warfare | Day | |
stmereeglise_warfare_night |
SME |
SAINTE-MÈRE-ÉGLISE Warfare | St. Mere Eglise | Warfare | Night | |
tobruk_offensiveger_day |
TBK |
TOBRUK Offensive | Tobruk | Offensive | Day | DAK |
tobruk_offensiveger_morning |
TBK |
TOBRUK Offensive | Tobruk | Offensive | Dawn | DAK |
tobruk_offensiveger_dusk |
TBK |
TOBRUK Offensive | Tobruk | Offensive | Dusk | DAK |
tobruk_offensivebritish_day |
TBK |
TOBRUK Offensive | Tobruk | Offensive | Day | B8A |
tobruk_offensivebritish_morning |
TBK |
TOBRUK Offensive | Tobruk | Offensive | Dawn | B8A |
tobruk_offensivebritish_dusk |
TBK |
TOBRUK Offensive | Tobruk | Offensive | Dusk | B8A |
tobruk_skirmish_day |
TBK |
TOBRUK Skirmish | Tobruk | Skirmish | Day | |
tobruk_skirmish_morning |
TBK |
TOBRUK Skirmish | Tobruk | Skirmish | Dawn | |
tobruk_skirmish_dusk |
TBK |
TOBRUK Skirmish | Tobruk | Skirmish | Dusk | |
tobruk_warfare_day |
TBK |
TOBRUK Warfare | Tobruk | Warfare | Day | |
tobruk_warfare_morning |
TBK |
TOBRUK Warfare | Tobruk | Warfare | Dawn | |
tobruk_warfare_dusk |
TBK |
TOBRUK Warfare | Tobruk | Warfare | Dusk | |
utahbeach_offensive_ger |
UTA |
UTAH BEACH Offensive | Utah Beach | Offensive | Day | GER |
utahbeach_offensive_us |
UTA |
UTAH BEACH Offensive | Utah Beach | Offensive | Day | US |
utahbeach_warfare |
UTA |
UTAH BEACH Warfare | Utah Beach | Warfare | Day | |
utahbeach_warfare_night |
UTA |
UTAH BEACH Warfare | Utah Beach | Warfare | Night |
* Appears in MATCH START
and MATCH ENDED
logs.
** Lowercase in Get Map
and Get Gamestate
outputs.
*** Only in PTEs.
Each map has an orientation and mirror_factions property that affects gameplay configuration:
-
Orientation: Determines how sectors are arranged on the map:
-
Horizontal
: Sectors are stacked left-to-right. -
Vertical
: Sectors are stacked top-to-bottom.
-
-
Mirror Factions: Indicates whether faction spawn points are mirrored:
-
False
: Allies spawn on the left (for Horizontal) or top (for Vertical), Axis spawn on the right (for Horizontal) or bottom (for Vertical). -
True
: Faction spawns are reversed (e.g., Axis on left/top, Allies on right/bottom). These properties impact commands likeSetSectorLayout
and should be considered when configuring map rotations or sector layouts.
-
Map Configurations:
- Carentan: Horizontal, mirror_factions=False (Allies: US, Axis: GER)
- Driel: Vertical, mirror_factions=True (Allies: CW, Axis: GER)
- El Alamein: Horizontal, mirror_factions=True (Allies: B8A, Axis: DAK)
- Elsenborn Ridge: Vertical, mirror_factions=False (Allies: US, Axis: GER)
- Foy: Vertical, mirror_factions=True (Allies: US, Axis: GER)
- Hill 400: Horizontal, mirror_factions=False (Allies: US, Axis: GER)
- Hürtgen Forest: Horizontal, mirror_factions=False (Allies: US, Axis: GER)
- Kharkov: Vertical, mirror_factions=False (Allies: SOV, Axis: GER)
- Kursk: Vertical, mirror_factions=False (Allies: SOV, Axis: GER)
- Mortain: Horizontal, mirror_factions=False (Allies: US, Axis: GER)
- Omaha Beach: Horizontal, mirror_factions=True (Allies: US, Axis: GER)
- Purple Heart Lane: Vertical, mirror_factions=False (Allies: US, Axis: GER)
- Remagen: Vertical, mirror_factions=True (Allies: US, Axis: GER)
- St. Marie Du Mont: Vertical, mirror_factions=False (Allies: US, Axis: GER)
- St. Mere Eglise: Horizontal, mirror_factions=True (Allies: US, Axis: GER)
- Stalingrad: Horizontal, mirror_factions=True (Allies: SOV, Axis: GER)
- Tobruk: Horizontal, mirror_factions=True (Allies: B8A, Axis: DAK)
- Utah Beach: Horizontal, mirror_factions=True (Allies: US, Axis: GER)
NOTE: The British melee weapon uses an "En Dash" (–) instead of a hyphen (-).
Category | United States (US) | Germany (GER) | Soviet Union (RUS) | Great Britain (GB) |
---|---|---|---|---|
Submachine Guns |
M1A1 THOMPSON , M3 GREASE GUN
|
MP40 |
PPSH 41 , PPSH 41 W/DRUM
|
Sten Gun Mk.II , Sten Gun Mk.V , Lanchester , M1928A1 THOMPSON
|
Semi-Auto Rifles |
M1 GARAND , M1 CARBINE
|
GEWEHR 43 |
SVT40 |
|
Bolt-Action Rifles | KARABINER 98K |
MOSIN NAGANT 1891 , MOSIN NAGANT 91/30 , MOSIN NAGANT M38
|
SMLE No.1 Mk III , Rifle No.4 Mk I , Rifle No.5 Mk I
|
|
Assault Rifles | M1918A2 BAR |
STG44 , FG42
|
Bren Gun |
|
Shotguns | M97 TRENCH GUN |
|||
Machine Guns | BROWNING M1919 |
MG34 , MG42
|
DP-27 |
Lewis Gun |
Sniper Rifles | M1919 SPRINGFIELD |
KARABINER 98K x8 , FG42 x4
|
SCOPED MOSIN NAGANT 91/30 , SCOPED SVT40
|
Lee-Enfield Pattern 1914 Sniper , Rifle No.4 Mk I Sniper
|
Pistols | COLT M1911 |
WALTHER P38 , LUGER P08
|
NAGANT M1895 , TOKAREV TT33
|
Webley MK VI |
Flamethrowers | M2 FLAMETHROWER |
FLAMMENWERFER 41 |
FLAMETHROWER |
|
Melee Weapons | M3 KNIFE |
FELDSPATEN |
MPL-50 SPADE |
Fairbairn–Sykes |
Grenades | MK2 GRENADE |
M24 STIELHANDGRANATE , M43 STIELHANDGRANATE
|
RG-42 GRENADE , MOLOTOV
|
Mills Bomb , No.82 Grenade
|
Satchel Charges | SATCHEL |
SATCHEL |
SATCHEL CHARGE |
Satchel |
Anti-Personnel Mines | M2 AP MINE |
S-MINE |
POMZ AP MINE |
A.P. Shrapnel Mine Mk II |
Anti-Tank Mines | M1A1 AT MINE |
TELLERMINE 43 |
TM-35 AT MINE |
A.T. Mine G.S. Mk V |
Anti-Tank Rifles | BAZOOKA |
PANZERSCHRECK |
PTRS-41 , BAZOOKA
|
PIAT , Boys Anti-tank Rifle
|
Flare Guns | FLARE GUN |
FLARE GUN |
FLARE GUN |
No.2 Mk 5 Flare Pistol |
Category | United States (US) | Germany (GER) | Soviet Union (RUS) | Great Britain (GB) |
---|---|---|---|---|
Artillery Guns | 155MM HOWITZER [M114] |
150MM HOWITZER [sFH 18] |
122MM HOWITZER [M1938 (M-30)] |
QF 25-POUNDER [QF 25-Pounder] |
Anti-Tank Guns | 57MM CANNON [M1 57mm] |
75MM CANNON [PAK 40] |
57MM CANNON [ZiS-2] |
QF 6-POUNDER [QF 6-Pounder] |
Category | United States (US) | Germany (GER) | Soviet Union (RUS) | Great Britain (GB) |
---|---|---|---|---|
Recon Vehicles | M8 Greyhound |
Sd.Kfz.234 Puma |
BA-10 |
Daimler |
Light Tanks | Stuart M5A1 |
Sd.Kfz.121 Luchs |
T70 |
Tetrarch , M3 Stuart Honey
|
Medium Tanks | Sherman M4A3(75)W |
Sd.Kfz.161 Panzer IV |
T34/76 |
Cromwell , Crusader Mk.III
|
Heavy Tanks |
Sherman M4A3E2 , Sherman M4A3E2(76)
|
Sd.Kfz.181 Tiger 1 , Sd.Kfz.171 Panther
|
IS-1 |
Firefly , Churchill Mk.III , Churchill Mk.VII
|
Half-tracks | M3 Half-track |
Sd.Kfz 251 Half-track |
M3 Half-track |
M3 Half-track |
Trucks |
GMC CCKW 353 (Transport) , GMC CCKW 353 (Supply)
|
Opel Blitz (Transport) , Opel Blitz (Supply)
|
ZIS-5 (Transport) , ZIS-5 (Supply)
|
Bedford OYD (Transport) , Bedford OYD (Supply)
|
Jeeps | Jeep Willys |
Kubelwagen |
GAZ-67 |
Jeep Willys |
NOTE: If a vehicle is destroyed, post-destruction kills omit the vehicle name (e.g.,
COAXIAL M1919 [M8 Greyhound]
becomesCOAXIAL M1919
).
Recon Vehicle - United States (US)
Category | Name |
---|---|
Main Cannon | M6 37mm [M8 Greyhound] |
Coaxial Machine Gun | COAXIAL M1919 [M8 Greyhound] |
Light Tank - United States (US)
Category | Name |
---|---|
Main Cannon | 37MM CANNON [Stuart M5A1] |
Coaxial Machine Gun | COAXIAL M1919 [Stuart M5A1] |
Hull Machine Gun | HULL M1919 [Stuart M5A1] |
Medium Tank - United States (US)
Category | Name |
---|---|
Main Cannon | 75MM CANNON [Sherman M4A3(75)W] |
Coaxial Machine Gun | COAXIAL M1919 [Sherman M4A3(75)W] |
Hull Machine Gun | HULL M1919 [Sherman M4A3(75)W] |
Heavy Tank - United States (US)
Category | Name |
---|---|
Main Cannon | 75MM M3 GUN [Sherman M4A3E2] |
Coaxial Machine Gun | COAXIAL M1919 [Sherman M4A3E2] |
Hull Machine Gun | HULL M1919 [Sherman M4A3E2] |
Heavy Tank - United States (US)
Category | Name |
---|---|
Main Cannon | 76MM M1 GUN [Sherman M4A3E2(76)] |
Coaxial Machine Gun | COAXIAL M1919 [Sherman M4A3E2(76)] |
Hull Machine Gun | HULL M1919 [Sherman M4A3E2(76)] |
Half-track - United States (US), Soviet Union (RUS) & Great Britain (GB)
Category | Name |
---|---|
Mounted Machine Gun | M2 Browning [M3 Half-track] |
Recon Vehicle - Germany (GER)
Category | Name |
---|---|
Main Cannon | 50mm KwK 39/1 [Sd.Kfz.234 Puma] |
Coaxial Machine Gun | COAXIAL MG34 [Sd.Kfz.234 Puma] |
Light Tank - Germany (GER)
Category | Name |
---|---|
Main Cannon | 20MM KWK 30 [Sd.Kfz.121 Luchs] |
Coaxial Machine Gun | COAXIAL MG34 [Sd.Kfz.121 Luchs] |
Medium Tank - Germany (GER)
Category | Name |
---|---|
Main Cannon | 75MM CANNON [Sd.Kfz.161 Panzer IV] |
Coaxial Machine Gun | COAXIAL MG34 [Sd.Kfz.161 Panzer IV] |
Hull Machine Gun | HULL MG34 [Sd.Kfz.161 Panzer IV] |
Heavy Tank - Germany (GER)
Category | Name |
---|---|
Main Cannon | 75MM CANNON [Sd.Kfz.171 Panther] |
Coaxial Machine Gun | COAXIAL MG34 [Sd.Kfz.171 Panther] |
Hull Machine Gun | HULL MG34 [Sd.Kfz.171 Panther] |
Heavy Tank - Germany (GER)
Category | Name |
---|---|
Main Cannon | 88 KWK 36 L/56 [Sd.Kfz.181 Tiger 1] |
Coaxial Machine Gun | COAXIAL MG34 [Sd.Kfz.181 Tiger 1] |
Hull Machine Gun | HULL MG34 [Sd.Kfz.181 Tiger 1] |
Half-track - Germany (GER)
Category | Name |
---|---|
Mounted Machine Gun | MG 42 [Sd.Kfz 251 Half-track] |
Recon Vehicle - Soviet Union (RUS)
Category | Name |
---|---|
Main Cannon | 19-K 45MM [BA-10] |
Coaxial Machine Gun | COAXIAL DT [BA-10] |
Light Tank - Soviet Union (RUS)
Category | Name |
---|---|
Main Cannon | 45MM M1937 [T70] |
Coaxial Machine Gun | COAXIAL DT [T70] |
Medium Tank - Soviet Union (RUS)
Category | Name |
---|---|
Main Cannon | 76MM ZiS-5 [T34/76] |
Coaxial Machine Gun | COAXIAL DT [T34/76] |
Hull Machine Gun | HULL DT [T34/76] |
Heavy Tank - Soviet Union (RUS)
Category | Name |
---|---|
Main Cannon | D-5T 85MM [IS-1] |
Coaxial Machine Gun | COAXIAL DT [IS-1] |
Hull Machine Gun | HULL DT [IS-1] |
Recon Vehicle - Great Britain (GB)
Category | Name |
---|---|
Main Cannon | QF 2-POUNDER [Daimler] |
Coaxial Machine Gun | COAXIAL BESA [Daimler] |
Light Tank - Great Britain (GB)
Category | Name |
---|---|
Main Cannon | QF 2-POUNDER [Tetrarch] |
Coaxial Machine Gun | COAXIAL BESA [Tetrarch] |
Light Tank - Great Britain (GB)
Category | Name |
---|---|
Main Cannon | 37MM CANNON [M3 Stuart Honey] |
Coaxial Machine Gun | COAXIAL M1919 [M3 Stuart Honey] |
Hull Machine Gun | HULL M1919 [M3 Stuart Honey] |
Medium Tank - Great Britain (GB)
Category | Name |
---|---|
Main Cannon | OQF 75MM [Cromwell] |
Coaxial Machine Gun | COAXIAL BESA [Cromwell] |
Hull Machine Gun | HULL BESA [Cromwell] |
Medium Tank - Great Britain (GB)
Category | Name |
---|---|
Main Cannon | OQF 57MM [Crusader Mk.III] |
Coaxial Machine Gun | COAXIAL BESA [Crusader Mk.III] |
Heavy Tank - Great Britain (GB)
Category | Name |
---|---|
Main Cannon | QF 17-POUNDER [Firefly] |
Coaxial Machine Gun | COAXIAL M1919 [Firefly] |
Heavy Tank - Great Britain (GB)
Category | Name |
---|---|
Main Cannon | OQF 57MM [Churchill Mk.III] |
Coaxial Machine Gun | COAXIAL BESA 7.92mm [Churchill Mk.III] |
Hull Machine Gun | HULL BESA 7.92mm [Churchill Mk.III] |
Heavy Tank - Great Britain (GB)
Category | Name |
---|---|
Main Cannon | OQF 57MM [Churchill Mk.VII] |
Coaxial Machine Gun | COAXIAL BESA 7.92mm [Churchill Mk.VII] |
Hull Machine Gun | HULL BESA 7.92mm [Churchill Mk.VII] |
Names are the same across factions.
Category | Name |
---|---|
Bombing Run | BOMBING RUN |
Strafing Run | STRAFING RUN |
Precision Strike | PRECISION STRIKE |
Katyusha Barrage | Unknown |
* Kills with Katyusha Barrage show as "Unknown". |
Name | Comment |
---|---|
Lee-Enfield Pattern 1914 |
Removed in U14.5 for SMLE No.1 Mk III |
Name | Comment |
---|---|
FireSpot |
Rarely seen when a RUS Assault player kills with a Molotov. Cause of "FireSpot" instead of "MOLOTOV" is unknown, needs testing. |
UNKNOWN |
Seen when the killer’s reference is lost, e.g., a bleeding player gives up after their attacker dies or disconnects. |
Loadouts define the equipment assigned to players based on their faction and role. Loadout items (e.g., weapons, grenades) correspond to the items listed in the Available Weapons section. Loadout names can be retrieved via the GetServerInformation: player
or GetServerInformation: players
commands, which return the loadout
field as a string (e.g., "NCO"
, "Standard Issue"
).
Available Loadout Names:
-
United States (US):
- Commander: Standard Issue, Veteran
- Officer: Standard Issue, Point Man, NCO
- Rifleman: Standard Issue, Point Man
- Assault: Standard Issue, Veteran, Grenadier, Raider
- Automatic Rifleman: Standard Issue, Veteran
- Medic: Standard Issue, Corpsman
- Support: Standard Issue, Ammo Carrier, Flamer
- Machine Gunner: Standard Issue, Fire Support
- Anti-Tank: Standard Issue, Gun Crew
-
British 8th Army (B8A):
- Commander: Standard Issue, Veteran
- Officer: Standard Issue, Point Man, NCO
- Rifleman: Standard Issue, Point Man
- Assault: Standard Issue, Veteran, Grenadier, Raider
- Automatic Rifleman: Standard Issue, Drum Gunner
- Medic: Standard Issue, Corpsman
- Support: Standard Issue, Ammo Carrier, Flamer
- Machine Gunner: Standard Issue, Veteran
- Anti-Tank: Standard Issue, Gun Crew, Ambusher, Elephant Gunner
- Engineer: Standard Issue, Sapper, Field Engineer
- Tank Commander: Standard Issue, Mechanic
- Crewman: Standard Issue, Mechanic
- Spotter: Standard Issue, Scout
- Sniper: Standard Issue, Veteran
-
Germany (GER), Soviet Union (SOV), Deutsches Afrikakorps (DAK):
- Loadouts for these factions are not defined in the provided data but may be available in additional configuration files or via the game’s internal data. Use
GetServerInformation: player
orGetServerInformation: players
to retrieve loadout names for these factions.
- Loadouts for these factions are not defined in the provided data but may be available in additional configuration files or via the game’s internal data. Use
Note: Loadout items are specific to each faction and role, and their names (e.g., M1A1 THOMPSON
, Mills Bomb
) align with the weapons listed in the Available Weapons section.
Shapes shown here are abbreviated for readability.
Player
{
"name":"string","clanTag":"string|null","iD":"string","platform":"steam|epic|xbl|psn|ps5|xsx","eosId":"string",
"level":0,"team":0-6,"role":0-13,"platoon":"string|null","loadout":"string",
"kills":0,"deaths":0,
"scoreData":{"cOMBAT":0,"offense":0,"defense":0,"support":0},
"worldPosition":{"x":-100000..100000,"y":-100000..100000,"z":float}
}
Map Rotation Entry
{ "name":"string","gameMode":"id","timeOfDay":"Day|Night|...","iD":"LayerId","position":1 }
Bans Entry
{ "userId":"string","userName":"string","timeOfBanning":"string","durationHours":int,"banReason":"string","adminName":"string" }
Server Config
{ "serverName":"string","buildNumber":"string","buildRevision":"string","supportedPlatforms":["Steam","WinGDK","eos"],"passwordProtected":bool }
-
Versioning: All commands here use
"version": 2
. -
Countdown on map change:
ChangeMap
starts a ~60s countdown; it does not hard-swap immediately. -
Sector layout: Use
GetClientReferenceData("SetSectorLayout")
to retrieve valid sector names before callingSetSectorLayout
. -
Boolean-ish outcomes: Some client libraries cast certain HTTP-like status codes to
False
instead of raising:-
PunishPlayer
/ForceTeamSwitch
: status500
→ treated asFalse
(e.g., already dead/not present/cannot switch). -
KickPlayer
,RemoveTemporaryBan
,RemovePermanentBan
: status400
→ treated asFalse
(e.g., not found / not banned).
-
-
Auto-balance threshold: Setting
AutoBalanceThreshold
to0
does not disable auto-balance; useSetAutoBalanceEnabled
instead. - Dynamic weather: Only maps that support it will respond; others may no-op.