-
Notifications
You must be signed in to change notification settings - Fork 26
API documentation 0.8.1
Dutchie edited this page Nov 5, 2024
·
2 revisions
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Events
OnRunwayTouch
andRunwayTakeoff
for "changed" TakeOff and Landing logic in DCS.
- Renamed
TtsService
toSrsService
- Added
ActivateGroup
API which allows to activate groups with late activation. - Added
DestroyGroup
API which removes the entire group from the game world. - Added
DestroyUnit
API - Added
GetClients
toSrsService
, which retrieves a list of units that are connected to SRS and the frequencies they are connected to. - Added
SrsConnectEvent
andSrsDisconnectEvent
events - Added
GetDrawArgumentValue
API for units, which returns the value for drawing. (useful for "hook down", "doors open" checks) - Added
MetadataService
withGetHealth
andGetVersion
for quick checks on health (even when DCS mission is unresponsive) and version. - Added Authentication Interceptor. This enables authentication on a per client basis.
- Fixed
MarkAddEvent
,MarkChangeEvent
andMarkRemoveEvent
position - Fixed crash of concurrent Windows TTS synthesis (#223)
- Fixed file handler left open: Closing config file again after reading it in LUA
- Fixed the config value for
tts.defaultProvider
for Google Cloud to be lowercasegcloud
(instead ofgCloud
) - Fixed error with getCategory due to API changes in DCS (#246)
- Fixed export of airbase objects by filtering out ships that are no longer part of a group due to damage
- Fixed `onPlayerTrySendChat``returning a value and therefore stopping other scripts from reacting to the event
- Fixed velocity and orientation not getting updated in units stream
- Fixed error when retrieving mark panels (
WorldService.GetMarkPanels
) when the mark panel was created by a game master / JTAC, or when the player who created the mark panel left.MarkPanel.initiator
is now optional. (#156) - Fixed scale of blocking time percentage in stats logs.
- Added
SimulationFps
event that is fired every second and contains simulation fps information since the last event (i.e. for the past ~1sec). - Added
GetSessionId
API which is refreshed every mission restart to allow clients to know if a new mission has started on client reconnect. - Added
GetDetectedTargets
API. Method follows the DCS implementation of controller's getDetectedTargets. Can optionally also return the unit or weapon objects tracked by the radar. - Added
orientation
andvelocity
toUnit
object - Added
u
/v
coordinates (offset from DCS map origin in meters) toPosition
s used in responses. To not require them in requests, all positions provided in requests got changed to a newInputPosition
type (you'll have to update your requests, simply replacePosition
withInputPosition
in them). -
GetRealTime
API - Added
orientation
andvelocity
toWeapon
object - Added DCS
time
of the update to units stream (StreamUnitsResponse
) - Added
GetBallisticsCount
API - Added
TtsService/Transmit
to synthesize text to speech and transmit it over SRS - Added
GRPC.tts(ssml, frequency[, options])
Lua API
- Unit objects now return the full group object in the
group
field to make event processing easier. This replaces thegroup_name
andgroup_category
fields and is a backwards incompatible change. - Updated all vectors to be in DCS' coordinate system (+x north, -x south, +z is east, -z west, +y up and -y down)
- Scenery objects now have an
id
instead of aname
, since dcs associates them with a number.
-
OutTextForUnit
API -
GetStaticObjects
API -
AddStaticObject
API (for standard static objects) -
AddLinkedStatic
API (for statics linked to units such as ships) -
MarkupToAll
API -
MarkupToCoalition
API -
GetTheatre
API -
GetUnitType
API -
ReloadCurrentMission
API -
LoadNextMission
API -
LoadMission
API
- Fixed event handler error log missing actual error message (contained
nil
instead of the message).
-
GetMissionFilename
API -
GetPaused
API -
SetPaused
API -
StopMission
API -
ExitProcess
API -
KickPlayer
API -
IsMultiplayer
API -
IsServer
API -
GetMissionDescription
API -
BanPlayer
API -
GetBannedPlayers
API -
UnbanPlayer
API
- Replaced
groupName
field in theGroupCommand
event with all the group details as exposed by the group exporter (currently id, name, coalition, category). This change was made based on experience writing a client that processes these events where only having the groupName was a limitation. This change breaks backwards compatibility with 0.4.0 where theGroupCommand
event was first added.
-
ForcePlayerSlot
API -
PlayerChangeSlotEvent
emitted when player changes slot -
StreamUnits
can optionally specify thecategory
of the units which may be monitored. - APIs for creating the F10 radio menus and letting players run them. These will emit events to DCS-gRPC clients when run.
-
MarkToCoalition
was sending the mark to the incorrect coalition. -
NetService.GetPlayers
overwroteCoalitionService.GetPlayers
(see Breaking Changes for details) - Corrected
proto
files from camel-casing to snake-casing; not a runtime breaking change but some code generators may generate different casing by convention, creating a compiler only issue.-
net.proto
-GetPlayerInfo.remote_address
-
mission.proto
-PlayerSendChatEvent.player_id
-
- Corrected
proto
files with enumerations to be named correct; compiler-only breaking change, not runtime.-
coalition.proto
-AddGroupRequest.Point
- enumType
has been renamed toPointType
-
coalition.proto
-AddGroupRequest
- enum members ofSkill
has been prefixed withSKILL_
-
-
CoalitionService.GetPlayers
did not filter correctly on specified coalition -
StreamUnits
would only monitor thePlane
groups; now monitors all groups with the default option ofGROUP_CATEGORY_UNSPECIFIED
- Added
GROUP_CATEGORY_UNSPECIFIED
todcs.v0.common.GroupCategory
; breaking change as all indexes have changed. -
CoalitionService.GetPlayers
was renamed toCoalitionService.GetPlayerUnits
; fixes conflict withNetService.GetPlayers
- Generated scaffolding for the
net.*
scope intoNetService
-
SendChat
API -
SendChatTo
API -
GetPlayers
API - Optional config file at
Saved Games\DCS\Config\dcs-grpc.lua
-
Connect
andDisconnect
events - INFO log entry for the the host and port he server listens on
- DEBUG log entry for all current settings
-
place
toLandingQualityMark
event
- Stream
PlayerSendChatEvent
to theMissionService.StreamEvents
for clients to observe the chat as part of the event stream - Fixed an issue where units updates were not being stream after initial load
-
HookService.StreamChatMessages
has been removed in favor forPlayerSendChatEvent
- Option to specify settings inside of the
MissionScripting.lua
- Speed and heading in units stream
-
SetEmission
API -
GetScenarioStartTime
API -
GetScenarioCurrentTime
API -
GetBullseye
API -
GetTransform
API -
AddGroup
API (Initial version suitable for spawning fixed SAM sites) -
Eval
API executable in the DCS hook environment along with command-line tool -
day
,month
andyear
fields toGetTimeZero
API -
coalition
andcategory
toGroup
s -
category
toUnit
s -
GetUnit
API -
GetMagneticDeclination
API -
GetTransform
API (get all information for a unit in 3D space) - Ability to include DCS-gRPC on all server missions without needing to edit the mission
- Updated Rust version and many Rust dependencies
-
autostart
option
- Split and reorganised APIs into versioned namespaces
- Switched to a different way of initialising the server that does not require sanitisation
- Changed Enum numbering to allow more idiomatic gRPC usage
- Initial release with APIs documented in https://github.com/DCS-gRPC/rust-server/wiki/API-documentation-0.1.0