-
Notifications
You must be signed in to change notification settings - Fork 24
API documentation 0.8.1
Field | Type | Label | Description |
---|---|---|---|
position | dcs.common.v0.InputPosition | 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.InputPosition | 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.InputPosition | 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.InputPosition | ||
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.InputPosition | ||
unit_id | uint32 | optional | |
heading | uint32 | optional | |
skill | AddGroupRequest.Skill |
Field | Type | Label | Description |
---|---|---|---|
position | dcs.common.v0.InputPosition | ||
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 |
---|---|---|---|
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.InputPosition | ||
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
|
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 |
Field | Type | Label | Description |
---|---|---|---|
coalition | dcs.common.v0.Coalition | the coalition which the statics belong to |
Field | Type | Label | Description |
---|---|---|---|
statics | dcs.common.v0.Static | repeated | the list of statics |
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 |
GetStaticObjects | GetStaticObjectsRequest | GetStaticObjectsResponse | https://wiki.hoggitworld.com/view/DCS_func_getStaticObjects |
AddStaticObject | AddStaticObjectRequest | AddStaticObjectResponse | Focussed on statics (linked statics - see AddLinkedStatic ) https://wiki.hoggitworld.com/view/DCS_func_addStaticObject
|
AddLinkedStatic | AddLinkedStaticRequest | AddLinkedStaticResponse | Focussed on properties relevant to linked static objects https://wiki.hoggitworld.com/view/DCS_func_addStaticObject |
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 |
---|---|---|---|
unit | Unit | optional | Information about the unit, if the airbase is one (e.g. in case of a 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 contact in a DCS AI controller's detection table
This is a target that the AI controller has detected and is actively tracking
Field | Type | Label | Description |
---|---|---|---|
id | uint32 | The DCS generated ID | |
visible | bool | Can the sensor see the contact | |
distance | bool | Does the controller know the distance to the contact? | |
object | Unknown | ||
unit | Unit | ||
weapon | Weapon |
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 |
Position used in requests to DCS-gRPC.
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) |
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 | The id of the mark panel. | |
time | double | The time in seconds relative to the mission start the mark got created. | |
initiator | Unit | optional | The unit of the player that created the mark. Not set if the player isn't controlling any unit anymore (disconnected, spectator, game master, ...). |
coalition | Coalition | optional | If set, the mark is only visible for the specified coalition. |
group_id | uint32 | optional | The ID of the group the player was in when creating the mark panel. This will still be set even if the player isn't controlling the unit in that group anymore. |
text | string | optional | The text content of the mark. |
position | Position | The position of the mark. |
The orientation of an object in 3D space.
Field | Type | Label | Description |
---|---|---|---|
heading | double | The heading the nose of the object points to on a flat world. | |
yaw | double | Yaw in degrees - clockwise relative to the true north (this is similar to the heading, just corrected by the projection error when going from a flat to a spherical world). | |
pitch | double | Pitch in degrees - positive when taking-off. | |
roll | double | Roll in degrees - positive when rolling the aircraft to the right. | |
forward | Vector | The normalized direction the object is pointing to. | |
right | Vector | The normalized direction the three line (right wing) is pointing to. | |
up | Vector | The normalized up vector (orthogonal to forward and right). |
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) | |
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. |
An instance of a DCS scenery object
Field | Type | Label | Description |
---|---|---|---|
id | uint32 | The id of the scenery | |
type | string | The DCS type-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 | |
orientation | Orientation | The orientation of the unit in both 2D and 3D space | |
velocity | Velocity | The velocity of the unit in both 2D and 3D space | |
player_name | string | optional | The name of the player if one is in control of the unit |
group | Group | 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 |
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 right-handed coordinate system where +x is north, -x south, +z is east, -z west, +y up and -y down.
Field | Type | Label | Description |
---|---|---|---|
x | double | ||
y | double | ||
z | double |
The orientation of an object in 3D space.
Field | Type | Label | Description |
---|---|---|---|
heading | double | The heading the object is moving to (use orientation.heading to get the heading the nose is pointing to). |
|
speed | double | The horizontal speed of the unit. If it is doing mach one straight up then the speed will be 0 | |
velocity | Vector | The direction the object is traveling to, and speed (magnitude of the vector) the object is traveling with. |
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 | |
orientation | Orientation | The orientation of the unit in both 2D and 3D space | |
velocity | Velocity | The velocity of the unit in both 2D and 3D space |
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 |
---|---|---|---|
unit_name | string | ||
include_object | bool | optional | |
detection_type | GetDetectedTargetsRequest.DetectionType | optional |
Field | Type | Label | Description |
---|---|---|---|
contacts | dcs.common.v0.Contact | repeated |
Field | Type | Label | Description |
---|---|---|---|
group_name | string | ||
unit_name | string | ||
alarm_state | SetAlarmStateRequest.AlarmState |
Name | Number | Description |
---|---|---|
DETECTION_TYPE_UNSPECIFIED | 0 | |
DETECTION_TYPE_VISUAL | 1 | |
DETECTION_TYPE_OPTIC | 2 | |
DETECTION_TYPE_RADAR | 4 | |
DETECTION_TYPE_IRST | 8 | |
DETECTION_TYPE_RWR | 16 | |
DETECTION_TYPE_DLINK | 32 |
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 |
GetDetectedTargets | GetDetectedTargetsRequest | GetDetectedTargetsResponse | https://wiki.hoggitworld.com/view/DCS_func_getDetectedTargets |
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 |
Field | Type | Label | Description |
---|---|---|---|
group_name | string |
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 |
Activate | ActivateRequest | ActivateResponse | https://wiki.hoggitworld.com/view/DCS_func_activate |
Destroy | DestroyRequest | DestroyResponse | https://wiki.hoggitworld.com/view/DCS_func_destroy |
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 |
---|---|---|---|
count | uint32 |
Field | Type | Label | Description |
---|---|---|---|
bans | BanDetails | repeated |
Field | Type | Label | Description |
---|---|---|---|
description | string |
Field | Type | Label | Description |
---|---|---|---|
name | string |
Field | Type | Label | Description |
---|---|---|---|
name | string |
Field | Type | Label | Description |
---|---|---|---|
paused | bool |
Field | Type | Label | Description |
---|---|---|---|
time | double | The current time in a mission relative to the DCS start time |
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 |
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
Field | Type | Label | Description |
---|---|---|---|
alive | bool |
Field | Type | Label | Description |
---|---|---|---|
version | string |
A service to get administrative/meta data like server health checks and version
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetHealth | GetHealthRequest | GetHealthResponse | |
GetVersion | GetVersionRequest | GetVersionResponse |
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 |
---|---|---|---|
session_id | int64 |
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 | 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 |
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. |
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 | optional | 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. |
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. |
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 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. |
Fired every second containing simulation FPS information since the previous event.
Field | Type | Label | Description |
---|---|---|---|
average | double | The average FPS since the last event. |
Fired every time a player occuping a unit connects to a frequency on SRS.
Field | Type | Label | Description |
---|---|---|---|
unit | dcs.common.v0.Unit | The unit that connected to a frequency in SRS. | |
frequency | uint64 | The radio frequency in Hz the unit connected to. |
Fired every time a player occuping a unit disconnects from a frequency on SRS. It is not fired when the player leaves the unit or the unit dies.
Field | Type | Label | Description |
---|---|---|---|
unit | dcs.common.v0.Unit | The unit that disconnected from a frequency in SRS. | |
frequency | uint64 | The radio frequency in Hz the unit disconnected from. |
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. |
Fired for every TTS request that contains the text_plain
field, for other
clients to use e.g. for accessibility use-cases.
Field | Type | Label | Description |
---|---|---|---|
text | string | The plain text that got transmitted. | |
frequency | uint64 | The radio frequency in Hz the transmission got send to. | |
coalition | dcs.common.v0.Coalition | The coalition of the transmission. | |
srs_client_name | string | optional | Custom name of the SRS client used for the transmission. |
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 |
---|---|---|---|
time | double | ||
unit | dcs.common.v0.Unit | The unit is either new or its position or attitude 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 |
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 |
---|---|---|---|
red | double | ||
green | double | ||
blue | double | ||
alpha | double |
Field | Type | Label | Description |
---|---|---|---|
position | dcs.common.v0.InputPosition | ||
power | uint32 |
Field | Type | Label | Description |
---|---|---|---|
flag | string |
Field | Type | Label | Description |
---|---|---|---|
value | uint32 |
Field | Type | Label | Description |
---|---|---|---|
position | dcs.common.v0.InputPosition | 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.InputPosition | ||
read_only | bool | ||
message | string |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 | ||
text | string | ||
position | dcs.common.v0.InputPosition | ||
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.InputPosition | ||
group_id | uint32 | ||
read_only | bool | ||
message | string |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 |
Field | Type | Label | Description |
---|---|---|---|
shape | Shape | ||
points | dcs.common.v0.InputPosition | repeated | |
border_color | Color | ||
fill_color | Color | ||
line_type | LineType | ||
read_only | bool | ||
message | string |
Field | Type | Label | Description |
---|---|---|---|
id | uint32 |
Field | Type | Label | Description |
---|---|---|---|
shape | Shape | ||
coalition | dcs.common.v0.Coalition | ||
points | dcs.common.v0.InputPosition | repeated | |
border_color | Color | ||
fill_color | Color | ||
line_type | LineType | ||
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 | ||
unit_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.InputPosition | 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.InputPosition | Altitude parameter will be ignored. Smoke always eminates from ground level which will be calculated server-side | |
color | SmokeRequest.SmokeColor |
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 |
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 |
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 | ||
argument | uint32 |
Field | Type | Label | Description |
---|---|---|---|
value | double |
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 |
---|---|---|---|
time | double | Time in seconds since the scenario started. | |
position | dcs.common.v0.Position | The position of the unit | |
orientation | dcs.common.v0.Orientation | The orientation of the unit in both 2D and 3D space | |
velocity | dcs.common.v0.Velocity | The velocity of the unit in both 2D and 3D space |
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. |
Destroy | DestroyRequest | DestroyResponse | https://wiki.hoggitworld.com/view/DCS_func_destroy |
GetDrawArgumentValue | GetDrawArgumentValueRequest | GetDrawArgumentValueResponse | https://wiki.hoggitworld.com/view/DCS_func_getDrawArgumentValue |
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 |
Field | Type | Label | Description |
---|---|---|---|
theatre | string |
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 |
GetTheatre | GetTheatreRequest | GetTheatreResponse | Returns the theatre (Map name) of the mission |
Field | Type | Label | Description |
---|---|---|---|
player_id | uint32 | ||
coalition | dcs.common.v0.Coalition | ||
slot_id | string |
Field | Type | Label | Description |
---|---|---|---|
players | GetPlayersResponse.GetPlayerInfo | repeated | list of all the players connected to the server |
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 |
---|---|---|---|
id | uint32 | ||
message | string |
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 |
Method Name | Request Type | Response Type | Description |
---|---|---|---|
SendChatTo | SendChatToRequest | SendChatToResponse | https://wiki.hoggitworld.com/view/DCS_func_send_chat_to |
SendChat | SendChatRequest | SendChatResponse | https://wiki.hoggitworld.com/view/DCS_func_send_chat |
GetPlayers | GetPlayersRequest | GetPlayersResponse | returns a list of all connected players. https://wiki.hoggitworld.com/view/DCS_func_get_player_info |
KickPlayer | KickPlayerRequest | KickPlayerResponse | Kick a specified player from the server with a message https://wiki.hoggitworld.com/view/DCS_func_kick |
ForcePlayerSlot | ForcePlayerSlotRequest | ForcePlayerSlotResponse | Force a player into a slot / coalition. To move the player back into spectators, use the following pseudo: ForcePlayerSlot({ player_id: ..., coalition: NEUTRAL, slot_id: "" })
|
Field | Type | Label | Description |
---|---|---|---|
alive | bool |
Field | Type | Label | Description |
---|---|---|---|
version | string |
A service to get administrative/meta data like server health checks and version
Method Name | Request Type | Response Type | Description |
---|---|---|---|
GetHealth | GetHealthRequest | GetHealthResponse | |
GetVersion | GetVersionRequest | GetVersionResponse |