-
Notifications
You must be signed in to change notification settings - Fork 29
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
OnRunwayTouchandRunwayTakeofffor "changed" TakeOff and Landing logic in DCS.
- Renamed
TtsServicetoSrsService
- Added
ActivateGroupAPI which allows to activate groups with late activation. - Added
DestroyGroupAPI which removes the entire group from the game world. - Added
DestroyUnitAPI - Added
GetClientstoSrsService, which retrieves a list of units that are connected to SRS and the frequencies they are connected to. - Added
SrsConnectEventandSrsDisconnectEventevents - Added
GetDrawArgumentValueAPI for units, which returns the value for drawing. (useful for "hook down", "doors open" checks) - Added
MetadataServicewithGetHealthandGetVersionfor 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,MarkChangeEventandMarkRemoveEventposition - 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.defaultProviderfor 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.initiatoris now optional. (#156) - Fixed scale of blocking time percentage in stats logs.
- Added
SimulationFpsevent that is fired every second and contains simulation fps information since the last event (i.e. for the past ~1sec). - Added
GetSessionIdAPI which is refreshed every mission restart to allow clients to know if a new mission has started on client reconnect. - Added
GetDetectedTargetsAPI. Method follows the DCS implementation of controller's getDetectedTargets. Can optionally also return the unit or weapon objects tracked by the radar. - Added
orientationandvelocitytoUnitobject - Added
u/vcoordinates (offset from DCS map origin in meters) toPositions used in responses. To not require them in requests, all positions provided in requests got changed to a newInputPositiontype (you'll have to update your requests, simply replacePositionwithInputPositionin them). -
GetRealTimeAPI - Added
orientationandvelocitytoWeaponobject - Added DCS
timeof the update to units stream (StreamUnitsResponse) - Added
GetBallisticsCountAPI - Added
TtsService/Transmitto 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
groupfield to make event processing easier. This replaces thegroup_nameandgroup_categoryfields 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
idinstead of aname, since dcs associates them with a number.
-
OutTextForUnitAPI -
GetStaticObjectsAPI -
AddStaticObjectAPI (for standard static objects) -
AddLinkedStaticAPI (for statics linked to units such as ships) -
MarkupToAllAPI -
MarkupToCoalitionAPI -
GetTheatreAPI -
GetUnitTypeAPI -
ReloadCurrentMissionAPI -
LoadNextMissionAPI -
LoadMissionAPI
- Fixed event handler error log missing actual error message (contained
nilinstead of the message).
-
GetMissionFilenameAPI -
GetPausedAPI -
SetPausedAPI -
StopMissionAPI -
ExitProcessAPI -
KickPlayerAPI -
IsMultiplayerAPI -
IsServerAPI -
GetMissionDescriptionAPI -
BanPlayerAPI -
GetBannedPlayersAPI -
UnbanPlayerAPI
- Replaced
groupNamefield in theGroupCommandevent 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 theGroupCommandevent was first added.
-
ForcePlayerSlotAPI -
PlayerChangeSlotEventemitted when player changes slot -
StreamUnitscan optionally specify thecategoryof 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.
-
MarkToCoalitionwas sending the mark to the incorrect coalition. -
NetService.GetPlayersoverwroteCoalitionService.GetPlayers(see Breaking Changes for details) - Corrected
protofiles 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
protofiles with enumerations to be named correct; compiler-only breaking change, not runtime.-
coalition.proto-AddGroupRequest.Point- enumTypehas been renamed toPointType -
coalition.proto-AddGroupRequest- enum members ofSkillhas been prefixed withSKILL_
-
-
CoalitionService.GetPlayersdid not filter correctly on specified coalition -
StreamUnitswould only monitor thePlanegroups; now monitors all groups with the default option ofGROUP_CATEGORY_UNSPECIFIED
- Added
GROUP_CATEGORY_UNSPECIFIEDtodcs.v0.common.GroupCategory; breaking change as all indexes have changed. -
CoalitionService.GetPlayerswas renamed toCoalitionService.GetPlayerUnits; fixes conflict withNetService.GetPlayers
- Generated scaffolding for the
net.*scope intoNetService -
SendChatAPI -
SendChatToAPI -
GetPlayersAPI - Optional config file at
Saved Games\DCS\Config\dcs-grpc.lua -
ConnectandDisconnectevents - INFO log entry for the the host and port he server listens on
- DEBUG log entry for all current settings
-
placetoLandingQualityMarkevent
- Stream
PlayerSendChatEventto theMissionService.StreamEventsfor 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.StreamChatMessageshas been removed in favor forPlayerSendChatEvent - Option to specify settings inside of the
MissionScripting.lua
- Speed and heading in units stream
-
SetEmissionAPI -
GetScenarioStartTimeAPI -
GetScenarioCurrentTimeAPI -
GetBullseyeAPI -
GetTransformAPI -
AddGroupAPI (Initial version suitable for spawning fixed SAM sites) -
EvalAPI executable in the DCS hook environment along with command-line tool -
day,monthandyearfields toGetTimeZeroAPI -
coalitionandcategorytoGroups -
categorytoUnits -
GetUnitAPI -
GetMagneticDeclinationAPI -
GetTransformAPI (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
-
autostartoption
- 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