Jump to content

DCS-SimpleRadio


Ciribob

Recommended Posts

This is no longer supported - Use SimpleRadio Standalone - No TS Required http://forums.eagle.ru/showpost.php?p=2826669&postcount=1

 

 

I decided I wanted to learn C/C++ and some C# so I set myself the challenge of writing my own Radio plugin for DCS.

 

DCS-SimpleRadio is what I've come up with, and its a plugin similar to TARS, ARIES.

 

This isn't meant to detract from ARIES or TARS, as they're much more advanced than my implementation, I just thought it would be a good idea to share :)

 

Latest version v.1.4.1

 

Latest Update Post: http://forums.eagle.ru/showpost.php?p=2722532&postcount=80

 

 

Features:

 

  • Full radio integration with all clickable cockpit aircraft including M2000C
    • Full C-101 Integration - UHF and VHF fully working with volume control on both radios.
    • Limited Hawk integration - UHF working - VHF not working - Volume not working

    [*]Working Volume Control - A10C radio starts with all radio volumes at 0 as does the C-101!

    [*]Working Frequency Control

    [*]Maximum of 3 radios supported per aircraft

    [*]FC3 Aircraft have realistic radio setup where possible

    [*]Stand alone optional radio status panel

    [*]Ability to hear others and talk to them when not currently in game or not in an aircraft (hotkey to disable this if you want)

    [*]Ability to force the Radio system on when spectating, Ground Commanding or JTAC

    [*]Active receiving radio indicated by the frequency text changing from orange to white - shows which radio you're hearing someone on

    [*]Support for Guard Mode on UH-1/A10C/F-86/Mi-8/KA-50/M2000C

    [*]Optional basic radio effects. Config - TS3 Window -> Plugins ->DCS-SimpleRadio ->Enable Disable Radio FX

 

Known Limitations

  • On some US radios the currently selected pre-set radio channel selector doesn't seem to work, as in all the frequencies are the same...
  • No Signal degradation or line of sight limitations to broadcasts unlike TARS
  • Hawk and C-101 implementation is a workaround

 

As the radios aren't implemented yet on both the Hawk and C-101 I've used the position of all the switches and knobs to work out the frequency. If the power to the aircraft is off but all the switches are set correctly the radio will still work in Teamspeak.

 

Hopefully the Hawk and C-101 will receive updates soon as part of 1.5/2.0 and then I can implement fully and correctly.

 

Full documentation and download on GitHub:

 

Link: https://github.com/ciribob/DCS-SimpleRadio

Downloads: https://github.com/ciribob/DCS-SimpleRadio/releases

 

This project would not have been possible without Teo and his MARS project: https://github.com/olanykvist/mars Thanks! :)


Edited by Ciribob

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

  • Replies 120
  • Created
  • Last Reply

Top Posters In This Topic

If I'd know who you were on the forums i'd have messaged you first... Also i linked to your repo in the README on github and thank the author.

 

The LUA code is very similar but the Teamspeak plugin is implemented in a different way. Yes we both used JSON, but do a diff and you'll see we've used difference approaches for synchronising and also communicating with the GUI.

 

You have two way communication with DCS, I do not, mines all one way.

 

You have hotkeys in your plugin, I use the hotkeys in teamspeak.

 

Not sure what your GUI is in, mines WPF and C#

 

We've both done similar projects but in different ways... and yes I used your plugin to understand how the hell you build a TS3 plugin, hence the reference. :)

 

Sorry if I caused offence, happy to amend the README or the post above more.

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

Ok, no offence taken. Didn't notice the reference in the readme at first. I'll take it as a compliment when my first public repo is used as a reference :)

 

BTW, I've reorganised/cleaned my export script and added support for guard frequencies (as a secondary receiver). Feel free to take a look and check if it's of any use for you.

Link to comment
Share on other sites

Awesome, thanks man! I'll take a look :)

 

As I say, happy to add info about your project to above and on github and I'll make the link to your project more explicit. :)

 

There's another radio plugin that you might find useful, I'll find the link tomorrow. It's a radio system for ARMA and they've modelled radio power dropoff at range which is what I'd like to have a look at next. All the radio transmitter powers are in the lua for all the aircraft in watts so I know initial power.

 

No idea how I'd do line of sight though, possibly compute it in the lua every couple of seconds to all other users.

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

I've been looking into LoS and range dropout myself as well. I export own 3d position every 2 seconds and do the calculations in the plugin. Every time a transmission is received, range and LoS from transmitter is calculated. Unfortunately, I got stuck at implementing an audio filter that gradually reduces the sound quality when nearing out of range/LoS, so those functions isn't commited to github yet.

Link to comment
Share on other sites

This is the radio system for arma that I think does signal dropoff. https://github.com/michail-nikolaev/task-force-arma-3-radio

 

I've got some very old physics textbooks so guess its back to school for radio! I'll let you know if I find anything useful.

 

I guess where it gets very tricky is when you're just off LOS but you should be able to hear the radio due to the way the signal propagates?

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

This is the radio system for arma that I think does signal dropoff. https://github.com/michail-nikolaev/task-force-arma-3-radio

 

I've got some very old physics textbooks so guess its back to school for radio! I'll let you know if I find anything useful.

 

I guess where it gets very tricky is when you're just off LOS but you should be able to hear the radio due to the way the signal propagates?

Will this be a teamspeak integrated plugin with the same trouble as Aries and TARS or are you creating the voice engine separate from Teamspeak? You know the current teamspeak plugins have a limitation for number of players in one channel?

Link to comment
Share on other sites

Will this be a teamspeak integrated plugin with the same trouble as Aries and TARS or are you creating the voice engine separate from Teamspeak? You know the current teamspeak plugins have a limitation for number of players in one channel?

 

I've never heard of that before, but I am new to this...

 

As far as I know, you can configure Teamspeak to have as many users as you like per channel though i assume there is an upper limit for bandwidth? How many users have you tried with ARIES and TARS without issue?

 

The most important thing to do is remove the flood limit, as otherwise you will have issues with clients being blocked.

 

I've only tested with about 10 users but i've seen 35-40 users using ACRE, a similar radio system for ARMA that works in a similar way which seemed to work without issue.

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

Yes there may be different ways to program the plugin features but both Aries, TARS and the Arma radio requires you to basically disable the Anti Spoofing in Teamspeak. So there is a problem already there. I have not seen any stress tests lately but the last one was talking about 30 players on one teamspeak server. For larger teamspeak servers you do not want a system where 30 users is crashing the server for all 500 users. That is my problem, and because of this we are currently not using any radio mod.

Link to comment
Share on other sites

Well I can reduce the meta data update rate to the ts3 server to reduce the load but its very likely you'll always trigger the flood limit as it only allows one update per second by default and a certain number in a period of time as well.

 

How it currently works is each Player's data is sent to the ts3 server every 0.35 seconds and the server distributes it to all the other players. I am going to optimise that anyway so an update is only sent either every 5 seconds or if their data has changed.

 

The only issue with sending when the data is changed is if someone changes their frequencies rapidly, obviously that change needs to be sent to everyone else and if you haven't changed the flood limit, that'll trigger it.

 

The only real way round the flood limit is by having the player meta data (which frequency, current radio and position) sent to a different server rather than the teamspeak one. This is possible but means its more difficult to setup and use as you'll need a publicly accessible server somewhere for you to run the system on or setup port forwarding.

 

I've just done a quick test on my PC and connected 25 TS3 clients and its seems to work ok.

 

Screenshot attached, you can see the CPU usage for the server isn't very much so i don't see why it would cause an issue with a TS3 server hosted somewhere unless its running on a very slow pc or with very little bandwidth.

 

Let me know if you do try it and have any issues :)

Test.thumb.jpg.ee0f189f335ea59a8b5dc418d45b68c2.jpg


Edited by Ciribob

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

It is seldom that I have seen more than 20 guys on a DCS server, maybe one or two like Virtual Aerobatics and the 104th. Then again not all the users are on TS, so this Radio should work great for most squadrons.

 

Use the KISS principle here Ciribob and try to avoid making it too complex.

Midnite Signature.jpg

552334314_MidniteSignature.jpg.7c1678ea5639bd6d044b092eb97c300e.jpg

Link to comment
Share on other sites

Thanks Midnight, I will try! :)

 

New version v.1.1.1

 

Change log:

  • Optimised TS3 sync code to sync once every 3.5 seconds or when the users radio state changes
  • Small bug fix with the JADRO radio in the Mi8

 

Please Note: Breaking change with the protocol so if you downloaded an earlier version, make sure you update to this version

 

Please let me know if you have any issues!

 

Full documentation and download on GitHub:

 

Link: https://github.com/ciribob/DCS-SimpleRadio

Downloads: https://github.com/ciribob/DCS-SimpleRadio/releases

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

New version v.1.1.3

 

Change log:

  • Status Panel now has better integration with FC3 Aircraft
  • Ability to drag the volume slider per radio for FC3 Aircraft instead of using a HotKey
  • Ability to select an FC3 Aircraft Radio by clicking on either the status dot or the frequency
  • Frequency buttons disabled when in a non FC3 Aircraft
  • Better indication of when DCS-SimpleRadio is no longer connected to DCS
  • Fixed bug with radio status panel if you were using unicast mode

 

Please let me know if you have any issues or even if you use it! :)

 

Full documentation and download on GitHub - I'll be updating the README with some info about the status panel later today if I get time.

 

Link: https://github.com/ciribob/DCS-SimpleRadio

Downloads: https://github.com/ciribob/DCS-SimpleRadio/releases

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

New version v.1.1.3.1

 

Change log:

  • Full C-101 Integration - UHF and VHF fully working with volume control on both radios.
  • Limited Hawk integration - UHF working - VHF not working - Volume not working

 

As the radios aren't implemented yet on both the Hawk and C-101 I've used the position of all the switches and knobs to work out the frequency. If the power to the aircraft is off but all the switches set correctly the radio will work in Teamspeak.

 

Hopefully the Hawk and C-101 will receive updates soon as part of 1.5/2.0 and then I can implement fully.

 

Please let me know if you have any issues or even if you use it! :)

 

If you have the previous version 1.1.3 then you only need to copy the LUA files in the script folder to "Saved Games/DCS/Scripts"

 

Link: https://github.com/ciribob/DCS-SimpleRadio

Downloads: https://github.com/ciribob/DCS-SimpleRadio/releases

C-101-UHF.thumb.JPG.6e4c9e50c0456cda6037d837a60e2fa0.JPG

C-101-VHF.thumb.JPG.84aa8252cf940c30886647cdce8ce486.JPG

Hawk-UHF.thumb.JPG.958edfcc9a29470d6a402ba6ad424cf4.JPG

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

Hey Ciribob!

Thanks for your work, it really looks interesting and I am sure we will try it out!

 

One question - if I understood correctly currently there is no "radio effect" implemented in the mod, i.e. the sound is exactly as heard via normal TS, right? If so, my question would be if you think it will work with additional plug-in that changes the sound of players, like CrossTalk?

ce535d_9d347b62819c4372b3c485a4f95d2004~mv2.png
Link to comment
Share on other sites

Hey Ciribob!

Thanks for your work, it really looks interesting and I am sure we will try it out!

 

One question - if I understood correctly currently there is no "radio effect" implemented in the mod, i.e. the sound is exactly as heard via normal TS, right? If so, my question would be if you think it will work with additional plug-in that changes the sound of players, like CrossTalk?

 

Yup your exactly right. Its normal TS if you're on the same frequency as someone else with no radio effects.

 

I've just had a quick look through CrossTalk's code and it looks like they don't use the client metadata that the plugin uses so they should work together without issues.

 

I'd be very interested to hear if it does work, let me know how you get on :)


Edited by Ciribob

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

Great!!!

 

I think It's a great Idea if you update first post whit functionality and Know issue!

 

Congrats and +++++++1

 

Thanks Gaanalma, I've updated the first post as well.

 

Let me know if you have any issues!

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

Yup your exactly right. Its normal TS if you're on the same frequency as someone else with no radio effects.

 

I've just had a quick look through CrossTalk's code and it looks like they don't use the client metadata that the plugin uses so they should work together without issues.

 

I'd be very interested to hear if it does work, let me know how you get on :)

 

Thanks, intend to use it tonight!

ce535d_9d347b62819c4372b3c485a4f95d2004~mv2.png
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...