-
Notifications
You must be signed in to change notification settings - Fork 23
API documentation 0.4.0
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 |
---|---|---|---|
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 |
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. |
https://wiki.hoggitworld.com/view/DCS_singleton_atmosphere
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetWind | GetWindRequest | GetWindResponse | https://wiki.hoggitworld.com/view/DCS_func_getWind |
GetWindWithTurbulence | GetWindWithTurbulenceRequest | GetWindWithTurbulenceResponse | https://wiki.hoggitworld.com/view/DCS_func_getWindWithTurbulence |
GetTemperatureAndPressure | GetTemperatureAndPressureRequest | GetTemperatureAndPressureResponse | https://wiki.hoggitworld.com/view/DCS_func_getWindWithTurbulence |
Field | Type | Label | Description |
---|---|---|---|
country | dcs.common.v0.Country | The coalition is determined by the provided Country and the coalition setup of the mission | |
group_category | dcs.common.v0.GroupCategory | ||
ground_template | AddGroupRequest.GroundGroupTemplate | ||
ship_template | AddGroupRequest.ShipGroupTemplate | ||
helicopter_template | AddGroupRequest.HelicopterGroupTemplate | ||
plane_template | AddGroupRequest.PlaneGroupTemplate |
Field | Type | Label | Description |
---|---|---|---|
group_id | uint32 | optional | |
hidden | bool | ||
late_activation | bool | ||
name | string | ||
position | dcs.common.v0.Position | ||
waypoints | AddGroupRequest.Point | repeated | |
start_time | uint32 | ||
task | string | ||
task_selected | bool | ||
tasks | AddGroupRequest.Task | repeated | |
uncontrollable | bool | ||
units | AddGroupRequest.GroundUnitTemplate | repeated | |
visible | bool |
Field | Type | Label | Description |
---|---|---|---|
name | string | ||
type | string | ||
position | dcs.common.v0.Position | ||
unit_id | uint32 | optional | |
heading | uint32 | optional | |
skill | AddGroupRequest.Skill |
Field | Type | Label | Description |
---|---|---|---|
position | dcs.common.v0.Position | ||
altitude_type | AddGroupRequest.Point.AltitudeType | ||
type | AddGroupRequest.Point.PointType | ||
action | string | ||
form | string | ||
speed | double |
Field | Type | Label | Description |
---|---|---|---|
group | dcs.common.v0.Group |
Field | Type | Label | Description |
---|---|---|---|
coalition | dcs.common.v0.Coalition | A specific coalition must be used for this API call. Do not use COALITION_ALL
|
Field | Type | Label | Description |
---|---|---|---|
position | dcs.common.v0.Position |
Field | Type | Label | Description |
---|---|---|---|
coalition | dcs.common.v0.Coalition | ||
category | dcs.common.v0.GroupCategory |
Field | Type | Label | Description |
---|---|---|---|
groups | dcs.common.v0.Group | repeated |
Field | Type | Label | Description |
---|---|---|---|
coalition | dcs.common.v0.Coalition |
Field | Type | Label | Description |
---|---|---|---|
units | dcs.common.v0.Unit | repeated |
Name | Number | Description |
---|---|---|
ALTITUDE_TYPE_UNSPECIFIED | 0 | |
ALTITUDE_TYPE_BAROMETRIC | 1 | |
ALTITUDE_TYPE_RADIO | 2 |
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
Method Name | Request Type | Response Type | Description |
---|---|---|---|
AddGroup | AddGroupRequest | AddGroupResponse | https://wiki.hoggitworld.com/view/DCS_func_addGroup |
GetGroups | GetGroupsRequest | GetGroupsResponse | https://wiki.hoggitworld.com/view/DCS_func_getGroups |
GetBullseye | GetBullseyeRequest | GetBullseyeResponse | Get the Bullseye for the 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 |
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
Field | Type | Label | Description |
---|---|---|---|
unknown | Unknown | ||
unit | Unit | ||
weapon | Weapon | ||
static | Static | ||
scenery | Scenery | ||
airbase | Airbase | ||
cargo | Cargo |
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
Field | Type | Label | Description |
---|---|---|---|
id | uint32 | ||
time | double | I have no idea what this time value means | |
initiator | Unit | ||
coalition | Coalition | optional | |
group_id | uint32 | optional | |
text | string | optional | |
position | Position |
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
Field | Type | Label | Description |
---|---|---|---|
unknown | Unknown | ||
unit | Unit | ||
weapon | Weapon | ||
static | Static | ||
scenery | Scenery | ||
airbase | Airbase | ||
cargo | Cargo |
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
).
Field | Type | Label | Description |
---|---|---|---|
x | double | ||
y | double | ||
z | double |
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 |
Field | Type | Label | Description |
---|---|---|---|
group_name | string | ||
unit_name | string | ||
alarm_state | SetAlarmStateRequest.AlarmState |
Name | Number | Description |
---|---|---|
ALARM_STATE_UNSPECIFIED | 0 | |
ALARM_STATE_AUTO | 1 | |
ALARM_STATE_GREEN | 2 | |
ALARM_STATE_RED | 3 |
Method Name | Request Type | Response Type | Description |
---|---|---|---|
SetAlarmState | SetAlarmStateRequest | SetAlarmStateResponse | https://wiki.hoggitworld.com/view/DCS_option_alarmState |
Field | Type | Label | Description |
---|---|---|---|
unit_name | string |
Field | Type | Label | Description |
---|---|---|---|
lua | string |
Field | Type | Label | Description |
---|---|---|---|
json | string |
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) |
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 |
Field | Type | Label | Description |
---|---|---|---|
unit_name | string | ||
mission_type | string |
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.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
RequestMissionAssignment | RequestMissionAssignmentRequest | RequestMissionAssignmentResponse | DCT Function |
JoinMission | JoinMissionRequest | JoinMissionResponse | DCT Function |
AbortMission | AbortMissionRequest | AbortMissionResponse | DCT Function |
GetMissionStatus | GetMissionStatusRequest | GetMissionStatusResponse | DCT Function |
Eval | EvalRequest | EvalResponse | Evaluate some Lua inside of the mission and return the result as a JSON string. Disabled by default. |
GetMagneticDeclination | GetMagneticDeclinationRequest | GetMagneticDeclinationResponse | Calculates the magnetic declination at the given position using the International Geomagnetic Reference Field (IGRF) model. The result is not always exactly the same as what DCS seem to use, but it is very close (DCS doesn't expose its declination). |
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 ). |
Field | Type | Label | Description |
---|---|---|---|
units | dcs.common.v0.Unit | repeated |
https://wiki.hoggitworld.com/view/DCS_Class_Group
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetUnits | GetUnitsRequest | GetUnitsResponse | https://wiki.hoggitworld.com/view/DCS_func_getUnits |
Field | Type | Label | Description |
---|---|---|---|
lua | string |
Field | Type | Label | Description |
---|---|---|---|
json | string |
Field | Type | Label | Description |
---|---|---|---|
name | string |
APis that are part of the hook environment
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetMissionName | GetMissionNameRequest | GetMissionNameResponse | https://wiki.hoggitworld.com/view/DCS_func_getMissionName |
Eval | EvalRequest | EvalResponse | Evaluate some Lua inside of the hook environment and return the result as a JSON string. Disabled by default. |
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 |
Field | Type | Label | Description |
---|---|---|---|
path | string | repeated | The full path to the command, including the command name. Use this path to delete the command. |
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. |
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. |
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. |
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 |
Field | Type | Label | Description |
---|---|---|---|
path | string | repeated | The full path to the command, including the command name. Use this path to delete the command. |
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. |
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. |
Field | Type | Label | Description |
---|---|---|---|
datetime | string |
Field | Type | Label | Description |
---|---|---|---|
datetime | string |
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. |
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. |
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. |
The DCS Event information. Contains event information and a timestamp.
Occurs when a ground unit captures either an airbase or a farp.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that captured the base. | |
place | dcs.common.v0.Airbase | The airbase that was captured, can be a FARP or Airbase |
Occurs when any object is spawned into the mission.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that was spawned. | |
place | dcs.common.v0.Airbase | optional | The airbase, farp or ship the unit took off from. |
Field | Type | Label | Description |
---|---|---|---|
coalition | dcs.common.v0.Coalition | The coalition of the player who ran the command | |
details | google.protobuf.Struct | A struct containing details of the command that was run by a player |
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). |
Occurs when an aircraft crashes into the ground and is completely destroyed.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that crashed. |
Occurs when an object is completely destroyed.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that has been destroyed. |
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.
Field | Type | Label | Description |
---|---|---|---|
target | dcs.common.v0.Target | The target the failure occurred for. |
A pilot detached from their ejection seat.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The ejection seat. | |
target | dcs.common.v0.Target | The pilot. |
Fired when a player disconnected from the server (not fired for the server's player).
Field | Type | Label | Description |
---|---|---|---|
id | uint32 | The player's id in the current server session. | |
reason | StreamEventsResponse.DisconnectReason | The reason a player disconnected for. |
Occurs when a pilot ejects from its aircraft.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The unit a pilot ejected from. | |
target | dcs.common.v0.Target | The ejection seat. |
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | Occurs when any aircraft shuts down its engines. | |
place | dcs.common.v0.Airbase | The airbase, farp or ship the unit shut down their engine at. |
Occurs when any aircraft starts its engines.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that starts its engines. | |
place | dcs.common.v0.Airbase | The airbase, farp or ship the unit started their engine at. |
Field | Type | Label | Description |
---|---|---|---|
group_name | string | The name of the group of the player who ran the command | |
details | google.protobuf.Struct | A struct containing details of the command that was run by a player |
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 | The weapon the target got hit by. |
Occurs e.g. when a player controlled aircraft blacks out.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The unit the system failure occurred in. |
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 | The name of the weapon that killed the target (exists instead of weapon for weapons that trigger the shooting start and end events). |
Occurs when an aircraft lands at an airbase, farp or ship.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that landed. | |
place | dcs.common.v0.Airbase | The airbase, farp or ship the unit landed at. |
A pilot detached from their ejection seat.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The ejected pilot. | |
place | dcs.common.v0.Position | The position the pilot landed at. |
Occurs when an aircraft receives an LSO rating after recovering on an aircraft carrier.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The aircraft that received the rating. | |
comment | string | The rating. | |
place | dcs.common.v0.Airbase | The ship the unit landed at. |
Occurs when marks get added to the mission by players or scripting functions.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that added the mark. | |
group_id | uint64 | The group the mark's visibility is restricted for. | |
coalition | dcs.common.v0.Coalition | The coalition the mark's visibility is restricted for. | |
id | uint32 | The mark's id. | |
position | dcs.common.v0.Position | The position the mark has been added at. | |
text | string | The mark's label. |
Occurs when marks got changed.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that changed the mark. | |
group_id | uint64 | The group the mark's visibility is restricted for. | |
coalition | dcs.common.v0.Coalition | The coalition the mark's visibility is restricted for. | |
id | uint32 | The mark's id. | |
position | dcs.common.v0.Position | The position of the changed mark. | |
text | string | The mark's label. |
Occurs when marks get removed.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that removed the mark. | |
group_id | uint64 | The group the mark's visibility is restricted for. | |
coalition | dcs.common.v0.Coalition | The coalition the mark's visibility is restricted for. | |
id | uint32 | The mark's id. | |
position | dcs.common.v0.Position | The position the mark has been removed from. | |
text | string | The mark's label. |
Field | Type | Label | Description |
---|---|---|---|
details | google.protobuf.Struct | A struct containing details of the command that was run by a player |
Occurs when the mission stops.
Occurs when the mission starts.
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.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The unit the pilot has died in. |
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 |
Occurs when a player takes direct control of a unit.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The unit the player took control of. |
Occurs when a player relieves direct control of a unit.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The unit the player relieves control of. |
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 |
Occurs when an aircraft connects with a tanker and begins taking on fuel.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that is receiving fuel. |
Occurs when an aircraft is finished taking fuel.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | he unit that was receiving fuel. |
A score change (doesn't contain any useful information)
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. |
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].
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that started firing. | |
weapon_name | string | The name of the shoot weapon. |
Occurs when a unit fires a weapon (but no machine gun- or autocannon-based weapons - those are handled by [ShootingStartEvent]).
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that fired the weapon. | |
weapon | dcs.common.v0.Weapon | The weapon that has been fired. |
Occurs when an aircraft takes off from an airbase, farp, or ship.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that took off. | |
place | dcs.common.v0.Airbase | The airbase, farp or ship the unit took off from. |
A unit got destroyed.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that got destroyed weapon. |
Fired for each payload of an aircraft spawened midair.
Field | Type | Label | Description |
---|---|---|---|
initiator | dcs.common.v0.Initiator | The object that got spawned. | |
weapon_name | string | The name of the payload. |
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. |
Field | Type | Label | Description |
---|---|---|---|
unit | dcs.common.v0.Unit | The unit is either new or its position changed. | |
gone | StreamUnitsResponse.UnitGone | The unit does not exist anymore. |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 | ||
name | string |
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.
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 |
Field | Type | Label | Description |
---|---|---|---|
time | double | The time in seconds since 00:00. | |
day | uint32 | ||
month | uint32 | ||
year | int32 |
https://wiki.hoggitworld.com/view/DCS_singleton_timer
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetTime | GetTimeRequest | GetTimeResponse | https://wiki.hoggitworld.com/view/DCS_func_getTime |
GetAbsoluteTime | GetAbsoluteTimeRequest | GetAbsoluteTimeResponse | https://wiki.hoggitworld.com/view/DCS_func_getAbsTime |
GetTimeZero | GetTimeZeroRequest | GetTimeZeroResponse | https://wiki.hoggitworld.com/view/DCS_func_getTime0 |
Field | Type | Label | Description |
---|---|---|---|
position | dcs.common.v0.Position | ||
power | uint32 |
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 |
---|---|---|---|
text | string | ||
position | dcs.common.v0.Position | ||
read_only | bool | ||
message | string |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 | ||
text | string | ||
position | dcs.common.v0.Position | ||
coalition | dcs.common.v0.Coalition | ||
read_only | bool | ||
message | string |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 | ||
text | string | ||
position | dcs.common.v0.Position | ||
group_id | uint32 | ||
read_only | bool | ||
message | string |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 |
Field | Type | Label | Description |
---|---|---|---|
text | string | ||
display_time | int32 | ||
clear_view | bool | ||
coalition | dcs.common.v0.Coalition |
Field | Type | Label | Description |
---|---|---|---|
text | string | ||
display_time | int32 | ||
clear_view | bool | ||
group_id | uint32 |
Field | Type | Label | Description |
---|---|---|---|
text | string | ||
display_time | int32 | ||
clear_view | bool |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 |
Field | Type | Label | Description |
---|---|---|---|
flag | string | ||
value | uint32 |
Field | Type | Label | Description |
---|---|---|---|
position | dcs.common.v0.Position | Altitude parameter will be ignored. Signal flares always fire from ground level which will be calculated server-side | |
color | SignalFlareRequest.FlareColor | ||
azimuth | uint32 |
Field | Type | Label | Description |
---|---|---|---|
position | dcs.common.v0.Position | Altitude parameter will be ignored. Smoke always eminates from ground level which will be calculated server-side | |
color | SmokeRequest.SmokeColor |
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
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 |
---|---|---|---|
position | dcs.common.v0.Position |
Field | Type | Label | Description |
---|---|---|---|
name | string |
Field | Type | Label | Description |
---|---|---|---|
active | bool | ||
target | dcs.common.v0.Target |
Field | Type | Label | Description |
---|---|---|---|
name | string |
Field | Type | Label | Description |
---|---|---|---|
unit | dcs.common.v0.Unit |
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
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetRadar | GetRadarRequest | GetRadarResponse | https://wiki.hoggitworld.com/view/DCS_func_getRadar |
GetPosition | GetPositionRequest | GetPositionResponse | https://wiki.hoggitworld.com/view/DCS_func_getPoint |
GetPlayerName | GetPlayerNameRequest | GetPlayerNameResponse | https://wiki.hoggitworld.com/view/DCS_func_getPlayerName |
GetDescriptor | GetDescriptorRequest | GetDescriptorResponse | |
SetEmission | SetEmissionRequest | SetEmissionResponse | https://wiki.hoggitworld.com/view/DCS_func_enableEmission |
Get | GetRequest | GetResponse | https://wiki.hoggitworld.com/view/DCS_func_getByName |
GetTransform | GetTransformRequest | GetTransformResponse | Get information about the unit in 3D space, including its position, orientation and velocity. |
Field | Type | Label | Description |
---|---|---|---|
coalition | dcs.common.v0.Coalition |
Field | Type | Label | Description |
---|---|---|---|
airbases | dcs.common.v0.Airbase | repeated |
Field | Type | Label | Description |
---|---|---|---|
mark_panels | dcs.common.v0.MarkPanel | repeated |
https://wiki.hoggitworld.com/view/DCS_singleton_world
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetAirbases | GetAirbasesRequest | GetAirbasesResponse | https://wiki.hoggitworld.com/view/DCS_func_getAirbases |
GetMarkPanels | GetMarkPanelsRequest | GetMarkPanelsResponse | https://wiki.hoggitworld.com/view/DCS_func_getMarkPanels |