Top
Top
dcs/atmosphere/v0/atmosphere.proto
GetTemperatureAndPressureRequest
Field
Type
Label
Description
position
dcs.common.v0.Position
The position on the map we want the wind information for. Requires lat/lon/alt fields to be populated, there are no default values
GetTemperatureAndPressureResponse
Field
Type
Label
Description
temperature
float
The temperature in Kelvin
pressure
float
The pressure in Pascals
Field
Type
Label
Description
position
dcs.common.v0.Position
The position on the map we want the wind information for. Requires lat/lon/alt fields to be populated, there are no default values
Field
Type
Label
Description
heading
float
The heading the wind is coming from.
strength
float
The strength of the wind in meters per second
GetWindWithTurbulenceRequest
Field
Type
Label
Description
position
dcs.common.v0.Position
The position on the map we want the wind information for. Requires lat/lon/alt fields to be populated, there are no default values
GetWindWithTurbulenceResponse
Field
Type
Label
Description
heading
float
The heading the wind is coming from.
strength
float
The strength of the wind in meters per second.
https://wiki.hoggitworld.com/view/DCS_singleton_atmosphere
Top
dcs/coalition/v0/coalition.proto
AddGroupRequest.GroundGroupTemplate
AddGroupRequest.GroundUnitTemplate
AddGroupRequest.HelicopterGroupTemplate
AddGroupRequest.HelicopterUnitTemplate
AddGroupRequest.PlaneGroupTemplate
AddGroupRequest.PlaneUnitTemplate
AddGroupRequest.ShipGroupTemplate
AddGroupRequest.ShipUnitTemplate
Field
Type
Label
Description
name
string
the name of the static; must be unique or would destroy previous object
country
dcs.common.v0.Country
country the unit belongs to
type
string
type of the static object (e.g. "Farm A", "AS32-31A")
livery
string
string name of the livery for the aircraft
dead
bool
boolean for whether or not the object will appear as a wreck
rate
uint32
optional
number value for the "score" of the object when it is killed
unit
string
the name of the unit to offset from
angle
double
the angle to relative to the linked unit, in a clockwise direction. negative values are anti-clockwise
x
double
x offset from linked unit center (positive is forward; negative is aft)
y
double
y offset from linked unit center (positive is starboard-side; negative is port-side)
Field
Type
Label
Description
name
string
Field
Type
Label
Description
name
string
the name of the static; must be unique or would destroy previous object
country
dcs.common.v0.Country
country the unit belongs to
type
string
type of the static object (e.g. "Farm A", "AS32-31A")
livery
string
string name of the livery for the aircraft
dead
bool
boolean for whether or not the object will appear as a wreck
rate
uint32
optional
number value for the "score" of the object when it is killed
heading
double
position
dcs.common.v0.Position
cargo_mass
uint32
cargo mass in kilograms
Field
Type
Label
Description
name
string
Field
Type
Label
Description
coalition
dcs.common.v0.Coalition
A specific coalition must be used for this API call. Do not use COALITION_ALL
AddGroupRequest.Point.AltitudeType
Name
Number
Description
ALTITUDE_TYPE_UNSPECIFIED
0
ALTITUDE_TYPE_BAROMETRIC
1
ALTITUDE_TYPE_RADIO
2
AddGroupRequest.Point.PointType
Name
Number
Description
POINT_TYPE_RANDOM
0
protolint:disable:next ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
POINT_TYPE_TAKEOFF
1
POINT_TYPE_TAKEOFF_PARKING
2
POINT_TYPE_TURNING_POINT
3
POINT_TYPE_TAKEOFF_PARKING_HOT
4
POINT_TYPE_LAND
5
Name
Number
Description
SKILL_RANDOM
0
protolint:disable:next ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
SKILL_AVERAGE
1
SKILL_GOOD
2
SKILL_HIGH
3
SKILL_EXCELLENT
4
SKILL_PLAYER
5
https://wiki.hoggitworld.com/view/DCS_singleton_coalition
This position is set at mission start and does not change for the duration of the mission.
See https://wiki.hoggitworld.com/view/DCS_func_getMainRefPoint for more details |
| GetPlayerUnits | GetPlayerUnitsRequest | GetPlayerUnitsResponse | https://wiki.hoggitworld.com/view/DCS_func_getPlayers |
Top
dcs/common/v0/common.proto
An instance of a DCS Airfield
Field
Type
Label
Description
id
uint32
optional
The DCS generated ID. Only used when the airfield is also a unit (e.g. an Aicraft Carrier)
name
string
TODO: Fill this in
callsign
string
TODO: Fill this in
coalition
Coalition
The coalition the unit belongs to. This can change mid-mission if an airfield is captured
position
Position
The position of the center point of the airfield.
category
AirbaseCategory
What category the airfield belongs to.
display_name
string
TODO: Fill this in
An instance of a DCS Cargo object
An instance of a DCS group
Field
Type
Label
Description
id
uint32
The DCS generated ID
name
string
The name of the group as assigned in the mission editor
coalition
Coalition
The coalition of the group
category
GroupCategory
The group category.
The initiator of an event
The initiator of an event. For things like shooting events it is usually a
vehicle but it can be almost anything depending on the event
A MarkPanel
A MarkPanel visible on the F10 map. These can be used for reference by
players but can also be used by things like Jester for setting waypoints
Position of an object in DCS
Latitude and Longitude are in Decimal Degrees format (e.g. 41.33 / 37.21).
Negative values are used for West of the meridian and south of the equator
Altitude is given in meters above Mean Sea Level (MSL) and can be a decimal
value.
Field
Type
Label
Description
lat
double
Latitude in Decimal Degrees format
lon
double
Longitude in Decimal Degrees format
alt
double
Altitude in Meters above Mean Sea Level (MSL)
An instance of a DCS scenery object
Field
Type
Label
Description
type
string
The DCS type-name of the scenery
name
string
The name of the scenery
position
Position
The position of the scenery
An instance of a DCS static object
These objects are often buildings but can also be vehicles that have no AI or
other game behaviour aside from being destroyable
Field
Type
Label
Description
id
uint32
The DCS generated ID
type
string
The DCS type-name of the static
name
string
The name of the static
coalition
Coalition
The coalition the static belongs to
position
Position
The position of the static
The target of an event
The target of an event. For things like shooting events it is usually a
vehicle but it can be almost anything depending on the event
An instance of a DCS Unit
A unit is an "active" unit in a DCS mission. This means it has an attached AI
that moves and shoots. Units include aircraft, ground units, ships, weapons
etc.
Field
Type
Label
Description
id
uint32
The DCS generated ID
name
string
The name of the unit as assigned in the mission editor
callsign
string
The DCS assigned callsign if one exists. e.g. "Enfield 11"
coalition
Coalition
The coalition the unit belongs to
type
string
The DCS type-name of the unit. e.g "MiG-29A", "ZSU_57_2" or "Hawk ln"
position
Position
The position of the unit
player_name
string
optional
The name of the player if one is in control of the unit
group_name
string
The name of the group that the unit belongs to
number_in_group
uint32
The number of this unit in the group. Does not change as units are destroyed
speed
double
The horizontal speed of the unit. If it is doing mach one straight up then the speed will be 0
heading
double
The heading of the unit
category
GroupCategory
The group category.
This type is returned if an object category cannot be determined
The base object includes the getName()
function so even for an unknown type
we should be able to get the name
Field
Type
Label
Description
name
string
A vector in a left-handed coordinate system with +z being north, -z south, +x
east, -x west, +y up and -y down (as opposed to DCS' unusual right-handed
coordinate system where x is north/ south and z is west/east; the underlying
conversion is basically swapping x
and z
as in x=z
and z=x
).
An instance of a DCS weapon
These weapons include everything from autocannon HE shells up to massive
ship-killer missiles
Field
Type
Label
Description
id
uint32
The DCS generated ID
type
string
The DCS type-name of the weapon. e.g "Matra_S530D", "HAWK_RAKETA" or "weapons.shells.53-UOR-281U"
position
Position
The position of the Weapon
The category the object belongs to
Some of these are less than obvious. For example an oilrig counts as a
HELIPAD airfield.
Name
Number
Description
AIRBASE_CATEGORY_UNSPECIFIED
0
AIRBASE_CATEGORY_AIRDROME
1
AIRBASE_CATEGORY_HELIPAD
2
AIRBASE_CATEGORY_SHIP
3
Coalitions in DCS
The coalitions supported by DCS. The NEUTRAL coalition is a relatively new
one and may not be as supported as the belligerant ones.
Name
Number
Description
COALITION_ALL
0
protolint:disable:next ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
COALITION_NEUTRAL
1
COALITION_RED
2
COALITION_BLUE
3
Countries in DCS
Every country belongs to a coalition and this association is set per mission.
The values of these enums are correct such that they will work with DCS
however the text names have been Made to follow gRPC conventions to to aid
in language bindings and acronyms have been replaced with their full english
names to aid in recognition. In some cases this can be a big change
(e.g. USSR -> Soviet Union).
We have also added a dummy value for the missing enum value 14 to prevent
possible issues in the various language bindings
See https://wiki.hoggitworld.com/view/DCS_enum_country for more information
Name
Number
Description
COUNTRY_UNSPECIFIED
0
COUNTRY_RUSSIA
1
COUNTRY_UKRAINE
2
COUNTRY_UNITED_STATES_OF_AMERICA
3
COUNTRY_TURKEY
4
COUNTRY_UNITED_KINGDOM
5
COUNTRY_FRANCE
6
COUNTRY_GERMANY
7
COUNTRY_AGGRESSORS
8
COUNTRY_CANADA
9
COUNTRY_SPAIN
10
COUNTRY_THE_NETHERLANDS
11
COUNTRY_BELGIUM
12
COUNTRY_NORWAY
13
COUNTRY_DENMARK
14
COUNTRY_UNUSED
15
COUNTRY_ISRAEL
16
COUNTRY_GEORGIA
17
COUNTRY_INSURGENTS
18
COUNTRY_ABKHAZIA
19
COUNTRY_SOUTH_OSETIA
20
COUNTRY_ITALY
21
COUNTRY_AUSTRALIA
22
COUNTRY_SWITZERLAND
23
COUNTRY_AUSTRIA
24
COUNTRY_BELARUS
25
COUNTRY_BULGARIA
26
COUNTRY_CZECH_REPUBLIC
27
COUNTRY_CHINA
28
COUNTRY_CROATIA
29
COUNTRY_EGYPT
30
COUNTRY_FINLAND
31
COUNTRY_GREECE
32
COUNTRY_HUNGARY
33
COUNTRY_INDIA
34
COUNTRY_IRAN
35
COUNTRY_IRAQ
36
COUNTRY_JAPAN
37
COUNTRY_KAZAKHSTAN
38
COUNTRY_NORTH_KOREA
39
COUNTRY_PAKISTAN
40
COUNTRY_POLAND
41
COUNTRY_ROMANIA
42
COUNTRY_SAUDI_ARABIA
43
COUNTRY_SERBIA
44
COUNTRY_SLOVAKIA
45
COUNTRY_SOUTH_KOREA
46
COUNTRY_SWEDEN
47
COUNTRY_SYRIA
48
COUNTRY_YEMEN
49
COUNTRY_VIETNAM
50
COUNTRY_VENEZUELA
51
COUNTRY_TUNISIA
52
COUNTRY_THAILAND
53
COUNTRY_SUDAN
54
COUNTRY_PHILIPPINES
55
COUNTRY_MOROCCO
56
COUNTRY_MEXICO
57
COUNTRY_MALAYSIA
58
COUNTRY_LIBYA
59
COUNTRY_JORDAN
60
COUNTRY_INDONESIA
61
COUNTRY_HONDURAS
62
COUNTRY_ETHIOPIA
63
COUNTRY_CHILE
64
COUNTRY_BRAZIL
65
COUNTRY_BAHRAIN
66
COUNTRY_THIRDREICH
67
COUNTRY_YUGOSLAVIA
68
COUNTRY_SOVIET_UNION
69
COUNTRY_ITALIAN_SOCIAL_REPUBLIC
70
COUNTRY_ALGERIA
71
COUNTRY_KUWAIT
72
COUNTRY_QATAR
73
COUNTRY_OMAN
74
COUNTRY_UNITED_ARAB_EMIRATES
75
COUNTRY_SOUTH_AFRICA
76
COUNTRY_CUBA
77
COUNTRY_PORTUGAL
78
COUNTRY_GERMAN_DEMOCRATIC_REPUBLIC
79
COUNTRY_LEBANON
80
COUNTRY_COMBINED_JOINT_TASK_FORCE_BLUE
81
COUNTRY_COMBINED_JOINT_TASK_FORCE_RED
82
COUNTRY_UNITED_NATIONS_PEACEKEEPERS
83
COUNTRY_ARGENTINA
84
COUNTRY_CYPRUS
85
COUNTRY_SLOVENIA
86
Group category enumerator.
Name
Number
Description
GROUP_CATEGORY_UNSPECIFIED
0
GROUP_CATEGORY_AIRPLANE
1
GROUP_CATEGORY_HELICOPTER
2
GROUP_CATEGORY_GROUND
3
GROUP_CATEGORY_SHIP
4
GROUP_CATEGORY_TRAIN
5
The category the object belongs to
All DCS objects are one of the following categories. Unlike many other
enums created by DCS, this one is not 0 indexed. Therefore we do not
need to do any modification of the value by incrementing it by one to
make it work with gRPC and DCS.
See https://wiki.hoggitworld.com/view/DCS_Class_Object for more information
Name
Number
Description
OBJECT_CATEGORY_UNSPECIFIED
0
OBJECT_CATEGORY_UNIT
1
OBJECT_CATEGORY_WEAPON
2
OBJECT_CATEGORY_STATIC
3
OBJECT_CATEGORY_SCENERY
4
OBJECT_CATEGORY_BASE
5
OBJECT_CATEGORY_CARGO
6
Top
dcs/controller/v0/controller.proto
SetAlarmStateRequest.AlarmState
Name
Number
Description
ALARM_STATE_UNSPECIFIED
0
ALARM_STATE_AUTO
1
ALARM_STATE_GREEN
2
ALARM_STATE_RED
3
Top
dcs/custom/v0/custom.proto
Field
Type
Label
Description
unit_name
string
Field
Type
Label
Description
lua
string
Field
Type
Label
Description
json
string
GetMagneticDeclinationRequest
Field
Type
Label
Description
lat
double
Latitude in Decimal Degrees format
lon
double
Longitude in Decimal Degrees format
alt
double
Altitude in Meters above Mean Sea Level (MSL)
GetMagneticDeclinationResponse
Field
Type
Label
Description
declination
double
Magnetic declination in degrees. A negative value is an westerly / declination, while a positive value is a easterly declination. True / North
+ declination
= Magnetic North
Field
Type
Label
Description
unit_name
string
Field
Type
Label
Description
unit_name
string
mission_code
int32
RequestMissionAssignmentRequest
Field
Type
Label
Description
unit_name
string
mission_type
string
RequestMissionAssignmentResponse
The Custom service is for APIs that do not map to the "standard library" of
DCS APIs provided by Eagle Dynamics.
Expect to find APIs here that may be useful for mission frameworks etc.
Top
Field
Type
Label
Description
group_name
string
active
bool
optional
Whether the response should include only active units (true
), only inactive units (false
), or all units (nil
).
https://wiki.hoggitworld.com/view/DCS_Class_Group
Top
Field
Type
Label
Description
ucid
string
The globally unique ID of the player
ip_address
string
The IP address the user had when they were banned
player_name
string
The Name of the player at the time of the ban
reason
string
The reason given for the ban
banned_from
uint64
When the ban was issued in unixtime
banned_until
uint64
When the ban will expire in unixtime
Field
Type
Label
Description
id
uint32
The session ID of the player
period
uint32
The period of the ban in seconds
reason
string
The reason for the ban
Field
Type
Label
Description
banned
bool
Was the player successfully banned
Field
Type
Label
Description
lua
string
Field
Type
Label
Description
json
string
Field
Type
Label
Description
bans
BanDetails
repeated
GetMissionDescriptionRequest
GetMissionDescriptionResponse
Field
Type
Label
Description
description
string
GetMissionFilenameRequest
GetMissionFilenameResponse
Field
Type
Label
Description
name
string
Field
Type
Label
Description
name
string
Field
Type
Label
Description
paused
bool
Field
Type
Label
Description
id
string
The slot or unit ID of the unit to retrieve the type of
Field
Type
Label
Description
type
string
Type of unit (e.g. "F-14B")
Field
Type
Label
Description
multiplayer
bool
Field
Type
Label
Description
server
bool
Field
Type
Label
Description
file_name
string
The full path to the .miz file to be loaded
Field
Type
Label
Description
loaded
bool
Was the next mission successfully loaded. SHOULD return false when the end of the mission list has been reached but DCS appears to always return true
ReloadCurrentMissionRequest
ReloadCurrentMissionResponse
Field
Type
Label
Description
paused
bool
Field
Type
Label
Description
ucid
string
The globally unique ID of the player
Field
Type
Label
Description
unbanned
bool
Was the player successfully unbanned
APis that are part of the hook environment
Top
dcs/mission/v0/mission.proto
AddCoalitionCommandRequest
Adds an F10 radio command visible to all players in the specified coalition.
When the player activates the command then a coalitionCommand
event will
be emitted to all connected DCS-gRPC clients for processing as they see fit.
The emitted event will include the coalition.
Field
Type
Label
Description
coalition
dcs.common.v0.Coalition
The coalition whose players will be able to see and run the command
name
string
The name of the command that is displayed to the player. It will form the last entry in the returned path.
path
string
repeated
The menu path the command will appear under. This can be empty if you want the command to be on the first level under the F10 menu. This path must already have been created.
details
google.protobuf.Struct
A struct containing data that will be included in the emitted event to the DCS-gRPC clients
AddCoalitionCommandResponse
Field
Type
Label
Description
path
string
repeated
The full path to the command, including the command name. Use this path to delete the command.
AddCoalitionCommandSubMenuRequest
Field
Type
Label
Description
coalition
dcs.common.v0.Coalition
The coalition whose players will be able to see the submenu
name
string
The name of the submenu that is displayed to the player. It will form the last entry in the returned path.
path
string
repeated
The menu path the submenu will appear under. This can be empty if you want the submenu to be on the first level under the F10 menu. This path must already have been created using this command. you cannot create a nested submenu tree in one command.
AddCoalitionCommandSubMenuResponse
Field
Type
Label
Description
path
string
repeated
The full path to the submenu, including the submenu name. Use this path to add another submenu or command underneath it or delete the submenu.
Adds an F10 radio command visible to all players in the specified group.
When the player activates the command then a groupCommand
event will
be emitted to all connected DCS-gRPC clients for processing as they see fit.
The emitted event will include the group name.
Field
Type
Label
Description
group_name
string
The name of the group whose players will be able to see and execute the command. TODO (Figure out if this persists across spawns)
name
string
The name of the command that is displayed to the player. It will form the last entry in the returned path.
path
string
repeated
The menu path the command will appear under. This can be empty if you want the command to be on the first level under the F10 menu. This path must already have been created.
details
google.protobuf.Struct
A struct containing data that will be included in the emitted event to the DCS-gRPC clients
Field
Type
Label
Description
path
string
repeated
The full path to the command, including the command name. Use this path to delete the command.
AddGroupCommandSubMenuRequest
Field
Type
Label
Description
group_name
string
The name of the group whose players will be able to see the submenu
name
string
The name of the submenu that is displayed to the player. It will form the last entry in the returned path.
path
string
repeated
The menu path the submenu will appear under. This can be empty if you want the submenu to be on the first level under the F10 menu. This path must already have been created using this command. you cannot create a nested submenu tree in one command.
AddGroupCommandSubMenuResponse
Field
Type
Label
Description
path
string
repeated
The full path to the submenu, including the submenu name. Use this path to add another submenu or command underneath it or delete the submenu.
Adds an F10 radio command visible to all players in all coalitions.
When the player activates the command then a missionCommand
event will be
emitted to all connected DCS-gRPC clients for processing as they see fit.
Field
Type
Label
Description
name
string
The name of the command that is displayed to the player. It will form the last entry in the returned path.
path
string
repeated
The menu path the command will appear under. This can be empty if you want the command to be on the first level under the F10 menu. This path must already have been created.
details
google.protobuf.Struct
A struct containing data that will be included in the emitted event to the DCS-gRPC clients
AddMissionCommandResponse
Field
Type
Label
Description
path
string
repeated
The full path to the command, including the command name. Use this path to delete the command.
AddMissionCommandSubMenuRequest
Field
Type
Label
Description
name
string
The name of the submenu that is displayed to the player. It will form the last entry in the returned path.
path
string
repeated
The menu path the submenu will appear under. This can be empty if you want the submenu to be on the first level under the F10 menu. This path must already have been created using this command. you cannot create a nested submenu tree in one command.
AddMissionCommandSubMenuResponse
Field
Type
Label
Description
path
string
repeated
The full path to the submenu, including the submenu name. Use this path to add another submenu or command underneath it or delete the submenu.
GetScenarioCurrentTimeRequest
GetScenarioCurrentTimeResponse
Field
Type
Label
Description
datetime
string
GetScenarioStartTimeRequest
GetScenarioStartTimeResponse
Field
Type
Label
Description
datetime
string
RemoveCoalitionCommandItemRequest
Field
Type
Label
Description
coalition
dcs.common.v0.Coalition
The coalition whose players will have the menu item removed
path
string
repeated
The full path to the menu item, which can be a submenu or a command, to be removed. Deleting a menu item will delete all children it may have.
RemoveCoalitionCommandItemResponse
RemoveGroupCommandItemRequest
Field
Type
Label
Description
group_name
string
The group whose players will have the menu item removed
path
string
repeated
The full path to the menu item, which can be a submenu or a command, to be removed. Deleting a menu item will delete all children it may have.
RemoveGroupCommandItemResponse
RemoveMissionCommandItemRequest
Field
Type
Label
Description
path
string
repeated
The full path to the menu item, which can be a submenu or a command, to be removed. Deleting a menu item will delete all children it may have.
RemoveMissionCommandItemResponse
The DCS Event information. Contains event information and a timestamp.
StreamEventsResponse.BaseCaptureEvent
Occurs when a ground unit captures either an airbase or a farp.
StreamEventsResponse.BirthEvent
Occurs when any object is spawned into the mission.
StreamEventsResponse.CoalitionCommandEvent
StreamEventsResponse.ConnectEvent
Fired when a player connected to the server.
Field
Type
Label
Description
addr
string
The player's IP and port.
name
string
The name of the player.
ucid
string
The player's unique client identifier (used to ban a player).
id
uint32
The player's id in the current server session (used to for name/slot/... changes).
StreamEventsResponse.CrashEvent
Occurs when an aircraft crashes into the ground and is completely
destroyed.
StreamEventsResponse.DeadEvent
Occurs when an object is completely destroyed.
StreamEventsResponse.DetailedFailureEvent
Occurs when a system on an aircraft fails. This can be due to damage or due
to random failures set up in the mission editor.
StreamEventsResponse.DiscardChairAfterEjectionEvent
A pilot detached from their ejection seat.
StreamEventsResponse.DisconnectEvent
Fired when a player disconnected from the server
(not fired for the server's player).
StreamEventsResponse.EjectionEvent
Occurs when a pilot ejects from its aircraft.
StreamEventsResponse.EngineShutdownEvent
StreamEventsResponse.EngineStartupEvent
Occurs when any aircraft starts its engines.
StreamEventsResponse.GroupCommandEvent
Field
Type
Label
Description
group
dcs.common.v0.Group
Details of the group to which the player who ran the command is a unit of
details
google.protobuf.Struct
A struct containing details of the command that was run by a player
StreamEventsResponse.HitEvent
Occurs when an object is hit by a weapon.
Field
Type
Label
Description
initiator
dcs.common.v0.Initiator
optional
The object that fired the weapon. Not set when for example fyling an aircraft into a building (building will be the target and weapon_name the name of the aircraft).
weapon
dcs.common.v0.Weapon
The weapon that the target has been hit with.
target
dcs.common.v0.Target
The object that has been hit.
weapon_name
string
optional
The weapon the target got hit by.
StreamEventsResponse.HumanFailureEvent
Occurs e.g. when a player controlled aircraft blacks out.
StreamEventsResponse.KillEvent
Occurs when an object is killed by a weapon.
Field
Type
Label
Description
initiator
dcs.common.v0.Initiator
The object that fired the weapon.
weapon
dcs.common.v0.Weapon
The weapon that the target has been killed with.
target
dcs.common.v0.Target
The object that has been killed.
weapon_name
string
optional
The name of the weapon that killed the target (exists instead of weapon for weapons that trigger the shooting start and end events).
StreamEventsResponse.LandEvent
Occurs when an aircraft lands at an airbase, farp or ship.
StreamEventsResponse.LandingAfterEjectionEvent
A pilot detached from their ejection seat.
StreamEventsResponse.LandingQualityMarkEvent
Occurs when an aircraft receives an LSO rating after recovering on an
aircraft carrier.
StreamEventsResponse.MarkAddEvent
Occurs when marks get added to the mission by players or scripting
functions.
StreamEventsResponse.MarkChangeEvent
Occurs when marks got changed.
StreamEventsResponse.MarkRemoveEvent
Occurs when marks get removed.
StreamEventsResponse.MissionCommandEvent
Field
Type
Label
Description
details
google.protobuf.Struct
A struct containing details of the command that was run by a player
StreamEventsResponse.MissionEndEvent
Occurs when the mission stops.
StreamEventsResponse.MissionStartEvent
Occurs when the mission starts.
StreamEventsResponse.PilotDeadEvent
Occurs when a pilot of an aircraft is killed. Can occur either if the
player is alive and crashes (in this case both this and the [CrashEvent]
event will be fired) or if a weapon kills the pilot without completely
destroying the plane.
StreamEventsResponse.PlayerChangeSlotEvent
fired when the player changes across to a slot
Field
Type
Label
Description
player_id
uint32
The player's id in the current server session.
coalition
dcs.common.v0.Coalition
The slot's coalition
slot_id
string
The slot's identifier
StreamEventsResponse.PlayerEnterUnitEvent
Occurs when a player takes direct control of a unit.
StreamEventsResponse.PlayerLeaveUnitEvent
Occurs when a player relieves direct control of a unit.
StreamEventsResponse.PlayerSendChatEvent
Occurs when a chat message is sent on the server
Field
Type
Label
Description
player_id
uint32
The player's id in the current server session.
message
string
what was typed
StreamEventsResponse.RefuelingEvent
Occurs when an aircraft connects with a tanker and begins taking on fuel.
StreamEventsResponse.RefuelingStopEvent
Occurs when an aircraft is finished taking fuel.
StreamEventsResponse.ScoreEvent
A score change (doesn't contain any useful information)
StreamEventsResponse.ShootingEndEvent
Occurs when a unit stops firing a machine gun- or autocannon-based weapon.
Event will always correspond with a [ShootingStartEvent] event.
Field
Type
Label
Description
initiator
dcs.common.v0.Initiator
The object that was shooting and has no stopped firing.
weapon_name
string
The name of the shoot weapon.
StreamEventsResponse.ShootingStartEvent
Occurs when a unit begins firing a machine gun- or autocannon-based weapon
(weapons with a high rate of fire). Other weapons are handled by
[ShotEvent].
StreamEventsResponse.ShotEvent
Occurs when a unit fires a weapon (but no machine gun- or autocannon-based
weapons - those are handled by [ShootingStartEvent]).
StreamEventsResponse.TakeoffEvent
Occurs when an aircraft takes off from an airbase, farp, or ship.
StreamEventsResponse.UnitLostEvent
A unit got destroyed.
StreamEventsResponse.WeaponAddEvent
Fired for each payload of an aircraft spawened midair.
Field
Type
Label
Description
poll_rate
uint32
optional
The poll rate in seconds at which the gRPC server communicates with the DCS mission to retrieve the latest unit positions. The lower the poll_rate
the higher the amount of requests send to to the DCS mission. Default: 5
max_backoff
uint32
optional
The maximum backoff in seconds which the gRPC postpones polling units that haven't moved recently. This is an optimization to dynamically reduce the poll rate for stationary units. Set it to the same value as poll_rate
to disable the backoff. Default: 30
category
dcs.common.v0.GroupCategory
The type of the unit to stream movements. Different categories of units would move at different speeds, which allows the stream to be configured with the appropriate polling rates. GROUP_CATEGORY_UNSPECIFIED
would return all the units.
StreamUnitsResponse.UnitGone
StreamEventsResponse.DisconnectReason
The reason a player disconnected for.
Name
Number
Description
DISCONNECT_REASON_UNSPECIFIED
0
DISCONNECT_REASON_THATS_OKAY
1
DISCONNECT_REASON_INVALID_ADDRESS
2
DISCONNECT_REASON_CONNECT_FAILED
3
DISCONNECT_REASON_WRONG_VERSION
4
DISCONNECT_REASON_PROTOCOL_ERROR
5
DISCONNECT_REASON_TIMEOUT
6
DISCONNECT_REASON_INVALID_PASSWORD
101
DISCONNECT_REASON_BANNED
102
DISCONNECT_REASON_BAD_CALLSIGN
103
DISCONNECT_REASON_TAINTED_CLIENT
104
DISCONNECT_REASON_KICKED
105
DISCONNECT_REASON_REFUSED
106
DISCONNECT_REASON_DENIED_TRIAL_ONLY
107
Contains the streaming APIs that streaming information out of the DCS server.
Top
Field
Type
Label
Description
time
double
The current time in seconds since 00:00 of the start date of the mission.
day
uint32
month
uint32
year
int32
Field
Type
Label
Description
time
double
https://wiki.hoggitworld.com/view/DCS_singleton_timer
Top
dcs/trigger/v0/trigger.proto
Represents an RGBA color but instead of using 0-255 as the color
values it uses 0 to 1. A red color with 50% transparency would be
RGBA of 1, 0, 0, 0.5
Field
Type
Label
Description
flag
string
Field
Type
Label
Description
value
uint32
Field
Type
Label
Description
position
dcs.common.v0.Position
The altitude of Illumination Bombs is meters above ground. Ground level will be calculated server-side
power
uint32
Field
Type
Label
Description
id
uint32
Field
Type
Label
Description
id
uint32
Field
Type
Label
Description
id
uint32
Field
Type
Label
Description
id
uint32
MarkupToCoalitionResponse
Field
Type
Label
Description
id
uint32
OutTextForCoalitionRequest
OutTextForCoalitionResponse
Field
Type
Label
Description
text
string
display_time
int32
clear_view
bool
Field
Type
Label
Description
id
uint32
Name
Number
Description
LINE_TYPE_NO_LINE
0
protolint:disable:next ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
LINE_TYPE_SOLID
1
LINE_TYPE_DASHED
2
LINE_TYPE_DOTTED
3
LINE_TYPE_DOT_DASH
4
LINE_TYPE_LONG_DASH
5
LINE_TYPE_TWO_DASH
6
Name
Number
Description
SHAPE_UNSPECIFIED
0
SHAPE_LINE
1
SHAPE_CIRCLE
2
SHAPE_RECT
3
SHAPE_ARROW
4
SHAPE_TEXT
5
SHAPE_QUAD
6
SHAPE_FREEFORM
7
SignalFlareRequest.FlareColor
Name
Number
Description
FLARE_COLOR_UNSPECIFIED
0
FLARE_COLOR_GREEN
1
FLARE_COLOR_RED
2
FLARE_COLOR_WHITE
3
FLARE_COLOR_YELLOW
4
Name
Number
Description
SMOKE_COLOR_UNSPECIFIED
0
SMOKE_COLOR_GREEN
1
SMOKE_COLOR_RED
2
SMOKE_COLOR_WHITE
3
SMOKE_COLOR_ORANGE
4
SMOKE_COLOR_BLUE
5
https://wiki.hoggitworld.com/view/DCS_singleton_trigger
Top
Field
Type
Label
Description
name
string
TODO fill these in as and when we need em
Field
Type
Label
Description
attributes
string
repeated
Field
Type
Label
Description
name
string
Field
Type
Label
Description
player_name
string
optional
Field
Type
Label
Description
name
string
Field
Type
Label
Description
name
string
Field
Type
Label
Description
name
string
Field
Type
Label
Description
name
string
Field
Type
Label
Description
position
dcs.common.v0.Position
u
double
Distance between DCS' map origin to object in meters on west-east axis.
v
double
Distance between DCS' map origin to object in meters on north-south axis.
heading
double
The heading of the object on a flat world. To get the heading corrected by the projection error when going from a flat to a spherical world, use orientation.yaw
instead.
orientation
Orientation
velocity
dcs.common.v0.Vector
The direction the object is traveling to, and speed (magnitude of the vector) the object is traveling with.
time
double
Time in seconds since the scenario started.
The orientation of an object in 3D space.
Field
Type
Label
Description
forward
dcs.common.v0.Vector
The normalized direction the object is pointing to.
right
dcs.common.v0.Vector
The normalized direction the three line (right wing) is pointing to.
up
dcs.common.v0.Vector
The normalized up vector (orthogonal to forward and right).
yaw
double
Yaw in degrees - clockwise relative to the true north.
pitch
double
Pitch in degrees - positive when taking-off.
roll
double
Roll in degrees - positive when rolling the aircraft to the right.
Field
Type
Label
Description
name
string
emitting
bool
https://wiki.hoggitworld.com/view/DCS_Class_Unit
Top
Field
Type
Label
Description
theatre
string
https://wiki.hoggitworld.com/view/DCS_singleton_world
Top
GetPlayersResponse.GetPlayerInfo
Field
Type
Label
Description
id
uint32
the player id
name
string
player's online name
coalition
dcs.common.v0.Coalition
coalition which player is slotted in
slot
string
the slot identifier
ping
uint32
the ping of the player
remote_address
string
the connection ip address and port the client has established with the server
ucid
string
the unique identifier for the player
locale
string
abbreviated language (locale) e.g. "en"
Field
Type
Label
Description
message
string
the message to send in the chat
coalition
dcs.common.v0.Coalition
which coalition? DCS only supports ALL or NEUTRAL (only applicable to send_chat)
Field
Type
Label
Description
message
string
the message to send in the chat
target_player_id
uint32
the target player of the direct message
.proto Type
Notes
C++
Java
Python
Go
C#
PHP
Ruby
double
double
double
float
float64
double
float
Float
float
float
float
float
float32
float
float
Float
int32
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.
int32
int
int
int32
int
integer
Bignum or Fixnum (as required)
int64
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.
int64
long
int/long
int64
long
integer/string
Bignum
uint32
Uses variable-length encoding.
uint32
int
int/long
uint32
uint
integer
Bignum or Fixnum (as required)
uint64
Uses variable-length encoding.
uint64
long
int/long
uint64
ulong
integer/string
Bignum or Fixnum (as required)
sint32
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.
int32
int
int
int32
int
integer
Bignum or Fixnum (as required)
sint64
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.
int64
long
int/long
int64
long
integer/string
Bignum
fixed32
Always four bytes. More efficient than uint32 if values are often greater than 2^28.
uint32
int
int
uint32
uint
integer
Bignum or Fixnum (as required)
fixed64
Always eight bytes. More efficient than uint64 if values are often greater than 2^56.
uint64
long
int/long
uint64
ulong
integer/string
Bignum
sfixed32
Always four bytes.
int32
int
int
int32
int
integer
Bignum or Fixnum (as required)
sfixed64
Always eight bytes.
int64
long
int/long
int64
long
integer/string
Bignum
bool
bool
boolean
boolean
bool
bool
boolean
TrueClass/FalseClass
string
A string must always contain UTF-8 encoded or 7-bit ASCII text.
string
String
str/unicode
string
string
string
String (UTF-8)
bytes
May contain any arbitrary sequence of bytes.
string
ByteString
str
[]byte
ByteString
string
String (ASCII-8BIT)