The DCS gRPC Server API implementation is still a work in progress, and therefore the following API functions have been implemented.
The unimplemented functions is not committed to a roadmap. We do envision full DCS API equivalence at some point in the future; pull requests are welcomed for expanding the API equivalency.
-
getWind -
getWindWithTurbulence -
getTemperatureAndPressure
-
addGroup- Sea
- Group
- Units
- Waypoints
- Tasks
- Ground
- Group
- Units
- Waypoints
- Tasks
- Plane
- Group
- Units
- Waypoints
- Tasks
- Loadout
- Helicopters
- Group
- Units
- Waypoints
- Tasks
- Loadout
- Sea
-
addStaticObject -
getGroups -
getStaticObjects -
getAirbases -
getPlayers -
getServiceProviders -
addRefPoint -
getRefPoints -
getMainRefPoint("Bullseye") -
getCountryCoalition
-
(internally, used; but LAT/LNG is used in API definitions)LLtoLO -
(internally, used; but LAT/LNG is used in API definitions)LOtoLL -
Rather implement using conversion: https://en.wikipedia.org/wiki/Military_Grid_Reference_SystemLLtoMGRS -
(internally, used; but LAT/LNG is used in API definitions)MGRStoLL
The following API's are not planned to be exposed via gRPC; client applications should use their independent logging and tracing functions.
-
info -
warning -
error -
setErrorMessageBoxEnabled -
getValueDictByKey
-
getHeight -
getSurfaceHeightWithSeabed -
getSurfaceType -
isVisible -
getIP -
profile -
getClosestPointOnRoads -
findPathOnRoads
-
addCommand -
addSubMenu -
removeItem -
addCommandForCoalition -
addSubMenuForCoalition -
removeItemForCoalition -
addCommandForGroup -
addSubMenuForGroup -
removeItemForGroup
-
net.send_chat -
net.send_chat_to- (not implemented
fromId-- open to use cases)
- (not implemented
-
recv_chat -
get_player_list- Implementation compounded with
get_player_info
- Implementation compounded with
-
get_my_player_id -
get_server_id -
get_player_info- Returned as a detailed response with compounded
get_player_list
- Returned as a detailed response with compounded
-
kick -
get_stat -
(will not be implemented -- returned part ofget_nameget_player_info) -
(will not be implemented -- returned part ofget_slotget_player_info) -
set_slot -
force_player_slot -
(DCS-gRPC bridge preferred)lua2json -
(DCS-gRPC bridge preferred)json2lua -
(DCS-gRPC bridge preferred)dostring_in -
(client applications should use their own logging)log -
(client applications should use their own logging)trace
-
reload_current_missionCustom API -
load_mission -
load_next_mission
-
getTime -
getAbsTime -
getTime0 -
scheduleFunction(TODO -- should this be implemented?) -
removeFunction -
setFunctionTime
-
getUserFlag -
setUserFlag -
getZone -
explosion -
smoke -
effectSmokeBig -
illuminationBomb -
signalFlare -
radioTransmission -
stopRadioTransmission -
setUnitInternalCargo -
outSound -
outSoundForCoalition -
outSoundForCountry -
outSoundForGroup -
outText -
outTextForCoalition -
outTextForCountry -
outTextForGroup -
outTextForUnit -
addOtherCommand -
removeOtherCommand -
addOtherCommandForCoalition -
removeOtherCommandForCoalition -
addOtherCommandForGroup -
removeOtherCommandForGroup -
markToAll -
markToCoalition -
markToGroup -
removeMark -
markupToAll -
markupToCoalition -
lineToAll -
circleToAll -
rectToAll -
quadToAll -
textToAll -
arrowToAll -
setMarkupRadius -
setMarkupText -
setMarkupFontSize -
setMarkupColor -
setMarkupColorFill -
setMarkupTypeLine -
setMarkupPositionEnd -
setAITask -
pushAITask -
activateGroup -
deactivateGroup -
setGroupAIOn -
setGroupAIOff -
groupStopMoving -
groupContinueMoving
-
createRoom
-
addEventHandler(TODO: Should implement? Probably not) -
removeEventHandler -
getPlayer -
getAirbases -
searchObjects -
getMarkPanels -
getTheatre(DCS-gRPC method. Calls env.mission.theatre internally)
-
S_EVENT_INVALID -
S_EVENT_SHOT -
S_EVENT_HIT -
S_EVENT_TAKEOFF -
S_EVENT_LAND -
S_EVENT_RUNWAY_TAKEOFF -
S_EVENT_RUNWAY_TOUCH -
S_EVENT_CRASH -
S_EVENT_EJECTION -
S_EVENT_REFUELING -
S_EVENT_DEAD -
S_EVENT_PILOT_DEAD -
S_EVENT_BASE_CAPTURED -
S_EVENT_MISSION_START -
S_EVENT_MISSION_END -
S_EVENT_TOOK_CONTROL -
S_EVENT_REFUELING_STOP -
S_EVENT_BIRTH -
S_EVENT_HUMAN_FAILURE -
S_EVENT_DETAILED_FAILURE -
S_EVENT_ENGINE_STARTUP -
S_EVENT_ENGINE_SHUTDOWN -
S_EVENT_PLAYER_ENTER_UNIT -
S_EVENT_PLAYER_LEAVE_UNIT -
S_EVENT_PLAYER_COMMENT -
S_EVENT_SHOOTING_START -
S_EVENT_SHOOTING_END -
S_EVENT_MARK_ADDED -
S_EVENT_MARK_CHANGE -
S_EVENT_MARK_REMOVED -
S_EVENT_KILL -
S_EVENT_SCORE -
S_EVENT_UNIT_LOST -
S_EVENT_LANDING_AFTER_EJECTION -
S_EVENT_PARATROOPER_LENDING -
S_EVENT_DISCARD_CHAIR_AFTER_EJECTION -
S_EVENT_WEAPON_ADD -
S_EVENT_TRIGGER_ZONE -
S_EVENT_LANDING_QUALITY_MARK -
S_EVENT_BDA -
Not a real eventS_EVENT_MAX
-
setUserCallbacks-
onMissionLoadBegin -
onMissionLoadProgress -
onMissionLoadEnd(Used; not exposed to Clients) -
onSimulationStart -
onSimulationStop(Used; not exposed to Clients) -
onSimulationFrame(Used; not exposed to Clients) -
onSimulationPause -
onSimulationResume -
onGameEvent -
onNetConnect -
onNetMissionChanged -
onNetDisconnect -
onPlayerConnect -
onPlayerDisconnect(Emitted as a special GRPC event) -
onPlayerStart -
onPlayerStop -
onPlayerChangeSlot -
onPlayerTryConnect(Emitted as a special GRPC event) -
onPlayerTrySendChat(Emitted as a special GRPC event) -
onPlayerTryChangeSlot
-
-
setPause- API name changed tosetPausedas this is more accurate -
getPause- API name changed togetPausedas this is more accurate -
stopMission -
exitProcess -
isMultiplayer -
isServer -
getModelTime -
getRealTime -
getMissionOptions -
getAvailableCoalitions -
getAvailableSlots -
getCurrentMission -
getMissionName -
getMissionDescription -
getMissionFilename -
getMissionResult -
getUnitProperty -
getUnitType -
getUnitTypeAttribute -
writeDebriefing -
makeScreenShot
-
Objectclass members- Category
-
destroy -
isExists -
getCategory -
getTypeName -
getDesc -
hasAttribute -
getName -
getPoint -
getPosition -
getVelocity -
inAir
-
SceneryObjectclass members-
getLife -
getDescByName(static)
-
-
Objectclass members- Category
-
destroy -
isExists -
getCategory -
getTypeName -
getDesc -
hasAttribute -
getName -
getPoint -
getPosition -
getVelocity -
inAir
-
CoalitionObjectclass members-
getCoalition -
getCountry
-
-
Weaponclass members-
getLauncher -
getTarget -
Desc.category -
Desc.warhead.type -
Desc.warhead.mass -
Desc.warhead.caliber -
Desc.warhead.explosiveMass -
Desc.warhead.shapedExplosiveMass -
Desc.warhead.shapedExplosiveArmorThickness -
DescMissile.guidance -
DescMissile.rangeMin -
DescMissile.rangeMaxAltMin -
DescMissile.rangeMaxAltMax -
DescMissile.altMin -
DescMissile.altMax -
DescMissile.Nmax(max range?) -
DescMissile.fuseDist -
DescRocket.distMin -
DescRocket.distMax -
DescBomb.guidance -
DescBomb.altMin -
DescBomb.altMax
-
Primarily enhanced with GRPC.exporters.unit
-
Objectclass members- Category
-
destroy -
isExists -
getCategory -
getTypeName -
getDesc -
hasAttribute -
getName -
getPoint -
getPosition -
getVelocity -
inAir
-
CoalitionObjectclass members-
getCoalition -
getCountry
-
-
UnitClass members-
isActive -
getPlayerName -
getID -
getNumber -
getController -
getGroup -
getCallsign -
getLife -
getLife0 -
getFuel -
getAmmo -
getSensors -
hasSensors -
getRadar -
getDrawArgumentValue -
getNearestCargos -
enableEmission -
getDescentCateogry - (static)
getByName - (static)
getDescByName
-
-
Objectclass members- Category
-
destroy -
isExists -
getCategory -
getTypeName -
getDesc -
hasAttribute -
getName -
getPoint -
getPosition -
getVelocity -
inAir
-
CoalitionObjectclass members-
getCoalition -
getCountry
-
-
Airbaseclass members-
getDesc -
getCallsign -
getUnit -
getID -
getParking -
getRunways -
getTechObjectPos -
getRadioSilentMode -
setRadioSilentMode
-
-
Objectclass members- Category
-
destroy -
isExists -
getCategory -
getTypeName -
getDesc -
hasAttribute -
getName -
getPoint -
getPosition -
getVelocity -
inAir
-
CoalitionObjectclass members-
getCoalition -
getCountry
-
-
StaticObjectClass members-
getID -
getLife -
getCargoDisplayName -
getCargoWeight -
getDrawArgumentValue - (static)
getByName - (static)
getDescByName
-
- (static)
getByName -
isExist -
activate -
destroy -
getCategory -
getCoalition -
getName -
getID -
getUnit -
getUnits -
getSize -
getController -
enableEmission
-
setTask -
resetTask -
pushTask -
popTask -
hasTask -
setCommand -
setOption -
setOnOff -
knowTarget -
isTargetDetected -
getDetectedTargets - Main Tasks
-
mission -
AttackGroup -
AttackUnit -
Bombing -
CarpetBombing -
AttackMapObject -
BombingRunway -
orbit -
refueling -
land -
follow -
followBigFormation -
escort -
Embarking -
fireAtPoint -
hold -
FAC_AttackGroup -
EmbarkToTransport -
DisembarkFromTransport -
CargoTransportation -
goToWaypoint -
groundEscort
-
- Enroute Tasks
-
engageTargets -
engageTargetsInZone -
engageGroup -
engageUnit -
awacs -
tanker -
ewr -
FAC_engageGroup -
FAC
-
- Commands
-
script -
setCallsign -
setFrequency -
switchWaypoint -
stopRoute -
switchAction -
setInvisible -
setImmortal -
activateBeacon -
deactivateBeacon -
eplrs -
start -
transmitMessage -
stopTransmission -
smoke_on_off
-
- Options
-
ROE -
Reaction To Threat -
Radar Using -
Flare Using -
Formation -
RTB On Bingo -
silence -
Disperse on Attack -
Alarm State -
ECM Using -
Prohibit AA -
Prohibit Jettison -
Prohibit Afterburner -
Prohibit AG -
Missile Attack Range -
Prohibit WP Pass Report -
Engage Air Weapons -
Option Radio Usage Contact -
Option Radio Usage Kill -
AC Engagement Range -
jett tanks if empty -
forced attack -
Altitude Restriction for AAA Min -
restrict targets -
Altitude Restriction for AAA Max
-
TODO
- (static)
createInfraRed -
createLaser -
createInfraRed -
destroy -
getCategory -
getPoint -
setPoint -
getCode -
setCode