Initial Release #45
Locked
rurounijones
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
DCS-gRPC 0.1.0 Released!
Binary (the creator of DATIS, DCS-Scratchpad and many other DCS related projects) and RurouniJones (the creator of Overlordbot) are proud to announce our initial 0.1.0 release of DCS-gRPC; an Open Source Remote Procedure Call server for DCS powered by Google's RPC framework and written in Rust.
To install please download the
DCS-gRPC-0.1.0.zip
and extract into your DCS Saved Games folder. An example mission with DCS-gRPC integration calledDCS-gRPC-Example.miz
is included in theMissions
folderWhat is DCS-gRPC?
DCS-gRPC allows you to remotely interact with the scripting environment on a running DCS mission.
This allows scripters to move code, that previously had to run inside the DCS server process, outside of the process. This allows for complex code to be executed with less performance impact on the DCS server itself.
For example: Instead of having an IADS (Integrated Air Defence System) script running inside the DCS process it can do all the detection calculations externally and then only has to tell the DCS mission to turn SAM sites on and off.
Another advantage of using an RPC system is that the scripter has a much greater choice in what scripting language they use. Instead of having to use Lua they can choose to use Python, JavaScript, C#, Java, Ruby and any language supported by gRPC
Sounds nice. But is this relevant to me?
DCS-gRPC is aimed at scripters, mission makers, application developers and multiplayer server-admins who wish to add functionality to their servers and missions while limiting the performance impact. We have already implemented a number of APIs that cover a wide variety of use-cases and are adding more as time goes on. For a list of currently implemented APIs have a look at our API Documentation which is also available in the
Docs
folder of the download.Adding new APIs can be done quite easily by anyone as it is 95% lua code and just a bit of Rust boilerplate code. See this commit for an example.
Since this is the initial 0.1.0 release we are still potentially modifying existing APIs as we improve the design so this release is mainly for people to play around, experiment and start prototyping their applications.
DCS-gRPC has already been deployed to the Hoggit servers without any issues.
Do you have some example applications that use DCS-gRPC?
Yes! The server comes with a repl and a copy of grpcurl.exe which can be used for experimentation. These are available in the
Tools
folder of the download.As part of this initial release we are also releasing some example client applications that communicate with the DCS-gRPC server. The following examples are all written in C# but you can choose to write your clients in a variety of languages.
Jupiter
Jupiter is an application that will allow someone to act as a GameMaster for a mission. It will allow real-time control of units and other things (Such as placing smoke, flares and Illumination bombs). This application is very much in very incomplete ALPHA state and is included here to demonstrate what is possible.
Download here
DCScribe
DCScribe is a program that makes use of the unit streaming ability of DCS-gRPC to stream the position information of units and write them to a PotsgreSQL database. This data in the database can then be used for various purposes such as an online map.
Download here
SimpleAirDefence
A simple example Integrated Air Defence System. Note that this is a very simple example. It does not have most of the features that Skynet IADS has for example. However it demonstrates the possibilities.
Download here
OverlordBot
OverlordBot already uses DCS-gRPC on the Syria-At-War server to implement the mission request and mission join functionality. It also uses DCS-gRPC to send start-up and shutdown messages into the server. As time goes on more and more functions in OverlordBot will start using DCS-gRPC to make OverlordBot better.
Support & Contact
You can reach us via the Github issues and Discord. We don't think DCS-gRPC requires yet another Discord so we have instead created a DCS-gRPC section on the OverlordBot Discord . You can also find Binary and RurouniJones on other DCS related Discords (e.g. The Hoggit Discord).
This discussion was created from the release Initial Release.
Beta Was this translation helpful? Give feedback.
All reactions