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_name
get_player_info
) -
(will not be implemented -- returned part ofget_slot
get_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_mission
Custom 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 tosetPaused
as this is more accurate -
getPause
- API name changed togetPaused
as this is more accurate -
stopMission
-
exitProcess
-
isMultiplayer
-
isServer
-
getModelTime
-
getRealTime
-
getMissionOptions
-
getAvailableCoalitions
-
getAvailableSlots
-
getCurrentMission
-
getMissionName
-
getMissionDescription
-
getMissionFilename
-
getMissionResult
-
getUnitProperty
-
getUnitType
-
getUnitTypeAttribute
-
writeDebriefing
-
makeScreenShot
-
Object
class members- Category
-
destroy
-
isExists
-
getCategory
-
getTypeName
-
getDesc
-
hasAttribute
-
getName
-
getPoint
-
getPosition
-
getVelocity
-
inAir
-
SceneryObject
class members-
getLife
-
getDescByName
(static)
-
-
Object
class members- Category
-
destroy
-
isExists
-
getCategory
-
getTypeName
-
getDesc
-
hasAttribute
-
getName
-
getPoint
-
getPosition
-
getVelocity
-
inAir
-
CoalitionObject
class members-
getCoalition
-
getCountry
-
-
Weapon
class 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
-
Object
class members- Category
-
destroy
-
isExists
-
getCategory
-
getTypeName
-
getDesc
-
hasAttribute
-
getName
-
getPoint
-
getPosition
-
getVelocity
-
inAir
-
CoalitionObject
class members-
getCoalition
-
getCountry
-
-
Unit
Class members-
isActive
-
getPlayerName
-
getID
-
getNumber
-
getController
-
getGroup
-
getCallsign
-
getLife
-
getLife0
-
getFuel
-
getAmmo
-
getSensors
-
hasSensors
-
getRadar
-
getDrawArgumentValue
-
getNearestCargos
-
enableEmission
-
getDescentCateogry
- (static)
getByName
- (static)
getDescByName
-
-
Object
class members- Category
-
destroy
-
isExists
-
getCategory
-
getTypeName
-
getDesc
-
hasAttribute
-
getName
-
getPoint
-
getPosition
-
getVelocity
-
inAir
-
CoalitionObject
class members-
getCoalition
-
getCountry
-
-
Airbase
class members-
getDesc
-
getCallsign
-
getUnit
-
getID
-
getParking
-
getRunways
-
getTechObjectPos
-
getRadioSilentMode
-
setRadioSilentMode
-
-
Object
class members- Category
-
destroy
-
isExists
-
getCategory
-
getTypeName
-
getDesc
-
hasAttribute
-
getName
-
getPoint
-
getPosition
-
getVelocity
-
inAir
-
CoalitionObject
class members-
getCoalition
-
getCountry
-
-
StaticObject
Class 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