-
Posts
102 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Events
Everything posted by rurounijones
-
As a result of a discussion on the Hoggit sub-reddit with NineLine I am submitting this documentation for consideration by Eagle Dynamics. This document was written mostly by myself but with heavy advice and expertise being provided by Grimes whom I believe to be _the_ expert on the DCS scripting system. This document could not exist without him. It has already been reviewed by around 30 community members and endorsed by admins of the following online servers: Hoggit Enigma's Cold War Server Growling Sidewinder Flashpoint Levant Conquest DCS Task Group Warrior 473rd Squadron MMSERVERSMACK [KW]LaTaniere SK Dedicated Server DCS Singapore Through The Inferno servers Rotorheads Server DCS Academy server D3W Server (Spanish community) Airgoons server Havoc Company servers VAF Servers Grim Reapers Stoneburner Training server BSD Squadron Servers As well as the following DCS related projects: LotATC DCS:Liberation Skynet IADS DCS-gRPC OverlordBot The CTLD Project The Hound ELINT project I am posting it here so that others can read, comment and offer their support if they so desire. This document can be read at the following URL: https://gist.github.com/rurounijones/92fee4f9f2acb4fac99da9121ac1cc1f and is available in PDF format as an attachment to this post. TL;DR Below is an example of things that could be done if these proposals were implemented so comment with your support if these sound good: For example: * Allow servers to fully implement their preferred logistics systems for units, weapons and fuel. Have players handle it or have AI handle it but let players escort or attack the ground, sea or air transports. A mix of both? Why not! What about Storing inventory in targetable objectives for strategic strikes by crazy Viggen players? Whatever the servers want for their scenarios. * Fully procedurally generated objectives instead of the usual hard-coded ones in a limited pre-created set of safe locations that the mission make manually picked. * Fully procedurally generated ground forces without units in forests and untargatable or clipped into buildings * Let players build their own FARPs and roadbases and spawn there to conduct their missions, then make them destroyable so the other side can recon and then deny them. * Allow for mission flight planning using an online Webmap then generate your flight group mid-mission with waypoints and loadouts on the server. ScriptingProposal.pdf
-
This thread is for OverlordBot. The ATC requests are very secondary given how little people use it. What we really need is a working `unit:getRadar` API or equivalent `unit:getSpi`
- 50 replies
-
- 1
-
-
- api request
- overlordbot
-
(and 1 more)
Tagged with:
-
information request 3rd party access to DCS VOIP?
rurounijones replied to rurounijones's topic in Wish List
The way I would set it up would make it completely up to the servers if they allow access to their server's system or not according to the goals they want to achieve with their servers. The rest of your post would probably be better as a separate thread as, as far as I can tell, it goes very off-topic from this request and more into "hard-coded" DCS behaviour. -
information request 3rd party access to DCS VOIP?
rurounijones replied to rurounijones's topic in Wish List
In the 17 December 2021 Newsletter the announcement has been made that the in-game comms system will be in the next open-beta release. Has there been any more thought on providing access to the system from outside DCS itself? Any update would be highly appreciated. -
DCS has a plethora of OutText APIs. * outText * outTextForCoalition * outTextForCountry * outTextForGroup But no ability to send outText to a single unit. This has massive impact on online mission design since it is one of the reasons mission makers end up making single unit groups which breaks wingman Datalink features, limits the callsign availability and increases the chances of callsign duplication. It has also limited my ability to provide good integration for Speech-To-Text functions for hearing impaired / deaf players so that they can "listen" to OverlordBot and conversations going on in SRS. Please implement outTextForUnit. It should be a copy/paste of outTextForGroup and a small code change to get a unit by id instead of the group and then check if this unit has the same id instead of checking if it is a member of a group. This is a very simple change with a massive impact.
-
OverlordBot Discord is at https://discord.gg/9RqyTJt
-
Introduction 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 https://grpc.io/ and written in Rust. It is available for download, along with some example client applications at https://github.com/DCS-gRPC/rust-server/releases/tag/0.1.0 What 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 https://grpc.io/ 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](https://github.com/DCS-gRPC/rust-server/wiki/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 https://github.com/DCS-gRPC/rust-server/commit/ee984b693ea6fe6f84566df58e69b949c3240a16 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 https://github.com/fullstorydev/grpcurl 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 at https://github.com/DCS-gRPC/Jupiter/releases/tag/0.1.0 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 at https://github.com/DCS-gRPC/Scribe/releases/tag/1.0.0 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 at https://github.com/DCS-gRPC/SimpleAirDefense/releases/tag/0.1.0 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 at https://discord.gg/9RqyTJt You can also find Binary and RurouniJones on other DCS related Discords (e.g. The Hoggit Discord).
-
It looks like we can no longer export the RWR for the Mirage to a separate Monitor since this requires modifying those lua files. The Radar export works. Please get RAZBAM to update the RWR luas so that it can be exported. In fact, just allow people to export all the instruments as they please in the M2K. Basically replicating this userfiles pack: https://www.digitalcombatsimulator.com/en/files/2317118/
-
reported earlier Cluster JSOW does no damage to landed AI Aircraft
rurounijones replied to rurounijones's topic in Weapon Bugs
Is this ED saying it has been fixed? Or is this ED saying there was no issue? -
Thanks for the information! I don't want to derail this thread with debate by posting a big expanattion, which would invite more speculation etc, but I do not think this is a viable option here. Msg me on the OverlordBot or Hoggit discords if you want to talk technical details
- 92 replies
-
- overlordbot
- request
-
(and 1 more)
Tagged with:
-
OverlordBot is an Open Source SimpleRadioStandalone voice enabled AWACS and ATC Bot. * It has been installed on over 80 public and private multiplayer servers * It processes around 100,000 transmissions and about 3 days worth of audio per month * Over 600 players have submitted voice training sets to help the bot recognise them * The Discord has over 1,300 members. Currently OverlordBot implements all its features using internal code. It does not call any ED provided scripting APIs to implement its AWACS and ATC functions (Because there are none that are applicable to these use-cases). However it can also act as a simple voice-to-command proxy to the DCS functions that ED makes available to the Mission Scripting Environment so that those functions can be triggered using voice commands that are transmitted over SRS (Just like in real life, the radio voice channel is the communication method and requests and responses can be heard by everyone tuned in). I would like to give players the ability to call into the new ED ATC, that is currently under development, without needing to use the F10 radio menu, other mouse / keyboard based UI or requiring local mods and also generate the response using a TTS system. Providing a full two-way voice UI will increase immersion and make ATC radio calls more natural for both transmitters and receivers. Therefore this request is is to expose the APIs required so that we can trigger the functions that would otherwise be triggered by clicking on the existing F10 radio menu. For example, if there were an F10 radio command under a specific airfield for `Inbound` then there would be a mission scripting API along the lines of result = atc.callInbound(airfield_id, unit_name, transmit_pilot_voice = false, transmit_atc_voice = false) -- transmit_pilot_voice will determine if the in-game pilot states the request with the pre-recorded audio snippets. -- true means transmit using the pre-recorded audio snippets. Useful for things like Voice Attack where the player is not transmitting over voice comms -- false means there is no audio transmission sent as other players will already have heard the request over SRS and OverlordBot triggered the action -- transmit_atc_voice will determine if the in-game ATC replies with the pre-recordded audio snippests -- true means that the ATC transmits the response in-game -- false means that the ATC does not transmit a response in-game (Will be used by OverlordBot that will speak the response from the result) -- Result table contains structured pertinent information including the text of what the ATC would say or a structure containing the data that would be needed to turn into spoken text. If ED action this request then I would be happy to discuss this bit in more detail. (There would probably need to be some sort of push mechanism or method that can be polled for updates to be transmitted when ATC wants to contact the player. A new event in the event steam would be a good method I think, happy to discuss that if ED proceeds with this request.) As this new ATC is in active development I hope this request can be actioned more easily in the code being written now. A side request would be to expose the existing radio APIs so that we can do the same thing (For example being able to contact tankers via voice for air-to-air refueling operations).
- 92 replies
-
- 48
-
-
-
- overlordbot
- request
-
(and 1 more)
Tagged with:
-
After testing we confirmed that the unit:getRadar does not return anything for players. So All APIs in this request are still required.
- 50 replies
-
- 1
-
-
- api request
- overlordbot
-
(and 1 more)
Tagged with:
-
Playing Liberation generated multiplayer mission. Player launched cluster JSOW at preplanned coordinates where AI aircraft are landed. Note that these are not statics but full AI units that happen to be on the ground. JSOW did no obvious damage to units despite the units being well inside the detonation zone. Units were still visible on F10 as live units and no damage on the models was seen. Issue occurs about 1:37:00 into the mission. Twitch clip: Track file (Zipped): http://www.filedropper.com/liberationnextturn-20210306-151201
-
Someone on Reddit pointed out that there is an API called `GetRadar` - https://wiki.hoggitworld.com/view/DCS_func_getRadar which I missed but might do what I need for `Declare` (I will update later as I have not had time to test it yet). The Airfield APIs requests are still open.
- 50 replies
-
- api request
- overlordbot
-
(and 1 more)
Tagged with:
-
@jross194 Thanks for the support bu please create a separate topic for your requests. It is hard enough to get ED to do anything in this area without this, very specifically scoped, topic devolving into a free-for-all wishlist and discussion on off-topic subjects.
- 50 replies
-
- api request
- overlordbot
-
(and 1 more)
Tagged with:
-
Found this today, looks good. May be of interest to some people on this forum. "Virtual Airplane" is an e-book. You can learn from this guide how to build a detailed aircraft model using Open Source software: Blender, GIMP and Inkscape. No previous experience required. http://airplanes3d.net/wm-000_e.xml Polish version is free. English version is paid. Can also be bought in separate volumes. All volumes clock in at nearly 3,000 pages so looks pretty definitive!
-
So before I go and have to set this up myself (and no doubt again duplicating the work that many others have done already) I am wondering. Has anyone got a minimal starter template C++ native extension project for DCS ready to go? A DLL that can be loaded into, and called from, the lua mission scripting environment. Basically something that does all this (from 2012): including dependencies etc. etc. (the link above has a little example but it is incomplete and old)/ Ideally somthing that can be dropped into a folder, rename a few things, load it in Visual Studio and compile successfully so that I can start implemeting interfaces and application logic.
-
I agree with Aarnoman here. The AI should treat humans and AI alike for the "Return Fire" ROE. The reasoning given for this behaviour "When ai checks other ai - it knows that other ai will not attack him" doesn't really make sense to me since one of the main points of "Return Fire" ROE is the tension it generates in players not knowing what is going to happen. This also makes certain realistic scenarios types (e.g. Intercept of an enemy bomber penetrating airspace to escort it away) impossible.
-
Halleluyah, this is a godsend for multi-monitor setupts. It would be *incredibly* useful for mission makers to be able to set kneeboard bookmarks programmatically via a scripting API so that things like mission specific airfield charts and other useful pages can already be set rather than making the player go through them.
-
information request Details of DCS Runway Selection Logic.
rurounijones replied to rurounijones's topic in DCS 2.9
Yes. Based on some testing the rules are convoluted and varied. Therefore without exhaustively testing every airfield at varying wind directions and wind speed combinations (which is not feasible) only ED can provide this information with any surety.(or preferably provide the API) -
As requested by BIGNEWY on https://forums.eagle.ru/forum/english/digital-combat-simulator/dcs-world-2-5/bugs-and-problems-ai/general-questions-ac/291489-reported-al-dhafra-ils-setup-incorrect I am starting a new thread. Could ED provide the following information: What is the logic DCS uses to decide which runway to use at a given airfield. Based on data from the above thread it is to do with wind direction and speed but the details (e.g. wind speed cutoff for the logic) are not clear. If the wind speed is low enough not to matter (whch is implied in the above thread) Is there a default runway per airfield or does it just use a default wind direction on all runways. [*]Which airfields are the exceptions to the general logic and what their special handling is. This information will be extremely useful for OverlordBot and DATIS programs to make sure we are in sync with the game. Alternatively (and preferably): Implement the APIs requested in https://forums.eagle.ru/forum/english/dcs-world-topics/mission-editor-discussion-and-questions/7116647-request-for-scripting-apis-to-be-implemented-to-enhance-overlordbot-functionality so that we can just query the DCS engine directly instead of having to replicate the logic.