Jump to content

DCS-SimpleRadio Standalone


Recommended Posts

Introducing the snappily named: DCS Simple Radio Standalone

 

The goal of this project is to bring integrated Radio Comms into DCS similar to my existing TS plugin and others (Aries, UniversRadio, TARS) but without relying on TeamSpeak.

 

The Standalone is meant to be a compliment for TS, allowing players to use Full Radio voice comms if they want with the eventual goal of the program automatically connecting when connecting to a multiplayer server. TS is then used as a fall back to establish frequencies or for those that don't have the radio.

 

Its quite early days but currently I have working:

 

  • All FC3 Aircraft with Realistic Radios and Frequencies + Guard Frequencies
  • All Clickable cockpit aircraft including Gazelle
  • Hotkeys for PTT + Switching Active Radio (Gazelle + A10C + FC3 only)
  • In Cockpit PTT
  • Intercom Support in L-39
  • GCI / CA / ATC Radio
  • Voice encryption for A-10C / Mirage / F-15C / A-10A / Gazelle
  • Radio Overlay indicating current frequencies, selected radio and active light when Transmitting or Receiving
  • Built from Scratch voice protocol using OPUS encoding - allows much greater flexibility as I'm not dependant on TS3 or Mumble.
  • Client Microphone Boost
  • Audio Separation
  • Optional Line of Sight
  • Optional Radio Distance limitations
  • Squelch Effect
  • Handling of Lag and Missing Packets
  • Support for 10 radios for Ground Commander / AWACS
  • Server side controlled expansion radios giving 3 radios to almost all aircraft including WW2 for training

 

You only need to run the installer to install the Scripts into DCS. The SR-Server.exe can be run without the installer. DO NOT run the installer or install the Script on your Standalone server unless your going to be flying as the server (no need too 🙂 )

 

To Host the server all you need to do is run SR-Server.exe and make and TCP and UDP port 5002 is open. It does not need to be on a PC running DCS and you do NOT need to port forward if you're just using the client 🙂

 

.NET version 4.6.2 Required - PLEASE INSTALL THIS BEFORE INSTALLING SRS - https://www.microsoft.com/en-gb/download/details.aspx?id=53345

 

 

DOWNLOAD HERE - Unzip all files and Run the Installer: https://github.com/ciribob/DCS-SimpleRadioStandalone/releases/latest or use the One Click Auto Updater to install and / or update

 

Manual Install Procedure

 

Extract the entire zip somewhere

 

Copy DCS-SimpleRadioStandalone.lua to C:UsersUSERNAMESaved GamesDCSScripts

Copy DCS-SRSGameGUI.lua to C:UsersUSERNAMESaved GamesDCSScripts

Copy DCS-SRS-OverlayGameGUI.lua to C:UsersUSERNAMESaved GamesDCSScripts

Copy DCS-SRS-Overlay.dlg to C:UsersUSERNAMESaved GamesDCSScripts

 

Copy DCS-SRS-Hook.lua to C:UsersUSERNAMESaved GamesDCSScriptsHooks

 

Create the script folder if it doesnt exist

 

Add to the END of the Export.lua file in C:UsersUSERNAMESaved GamesDCSScripts:

 

 

local dcsSr=require('lfs');dofile(dcsSr.writedir()..[[scriptsDCS-SimpleRadioStandalone.lua]])
 

 

If Export.lua doesn't exist, just create the file and add the single line to it.

 

Copy the rest of the zip files where ever you like and then run, don't forget to keep opus.dll with the rest of the .exes

 

Server Hosting Procedure

Run SR-Server.exe (no need to run installer or add scripts!) and make sure TCP and UDP port 5002 are open. It does NOT need to be on a PC running DCS.

 

If you change the server port by editing the CFG file - be sure to always open the TCP and UDP for that

 

 

Auto Connect Feature - Server Owners ONLY - Clients don't need this file!

To enable SRS clients to be prompted automatically to connect just add the DCS-SRS-AutoConnectGameGUI.lua to the appropriate DCS Saved Games folder e.g. DCS.openbeta/Scripts/Hooks, DCS.openalpha/Scripts/Hooks or jut DCS/Scripts/Hooks

 

If you dont have a Scripts or a Hooks folder inside Scripts, just create them

 

Edit the line below to your server address where SRS server is running. Port is optional. DCS must be restarted on the server for this file and any changes to take effect.

 

 

-- CHANGE FROM
SRSAuto.SERVER_SRS_HOST = "127.0.0.1" -- Port optional e.g. "127.0.0.1:5002"

--TO
SRSAuto.SERVER_SRS_HOST = "5.189.162.17:5010" -- BuddySpike One
-- OR
SRSAuto.SERVER_SRS_HOST = " 37.59.10.136" -- TAW One (port optional)

 

 

And thats it.

 

If a client isn't connected and has SRS running they'll be prompted to connect automatically. You'll also see the message posted in the chat listing the address when slots change or a client connects.

 

 

Installation and Overview Video

 

 

 

 

Troubleshooting

 

Please follow the instructions here: https://forums.eagle.ru/showpost.php?p=2963204&postcount=1122

 

Future Features

 

  • Signal Degradation sound effects - Noise Increase with distance
  • HAVE QUICK II
  • FM transmission blocking (FM knocks out weaker FM Signals)
  • Location for AWACS / GCI

 

 

Encrypted Radios

DCS-SRS now supports encrypted Radios with differing keys. If a Radio receives an encrypted voice signal but doesn't have either the correct decryption key or decryption equipment, white noise will be played.

 

A radio with encryption enabled can hear non encrypted transmissions as normal.

 

Encryption is shown on the Radio overlay with an E followed by a number by the radio. The number indicates the key that is in use.

 

A-10C

Procedure to enable Encrypted Audio:

 

  • Turn Power on to KY-58
  • Set Mode to OP
  • Pick the fill use wish to use. This is the key that encodes the audio. The receiving radio must have the same key set
  • Turn to C/RAD 1 to encrypt AN/ARC-164 UHF
  • Turn to C/RAD 2 to encrypt AN/ARC-186(V)FM
  • Turning to plain will disable encryption again

 

attachment.php?attachmentid=144290&d=1468616161

 

Mirage

Procedure to enable Encrypted Audio:

 

  • Setup Radios as Normal
  • Press the Green UHF CDE Switch

 

attachment.php?attachmentid=144564&d=1468959204

 

To change the Mirage code use the overlay

 

 

Demo Video of Native DCS Overlay

 

 

 

 

Overlay and Overlay Configuration

 

The overlay has 3 states, hidden, small & full that you can see by pressing Left Control + Left Shift + Escape by default.

 

The Full state has a title bar that you can click and drag the window around with. The window position will be saved for when DCS is next opened.

 

The radio status is removed after 5 seconds if SRS is closed or loses server connection

 

To configure the overlay hotkey, run DCS once to create a config file in Saved GamesDCSConfig which will look something like so and quit DCS:

 

 

config = 
{
   ["mode"] = "minimum",
   ["hotkey"] = "Ctrl+Shift+escape",
   ["windowPosition"] = 
   {
       ["y"] = 342,
       ["x"] = 981,
   }, -- end of ["windowPosition"]
} -- end of config
 

 

Edit the "Hotkey" section and add the characters from the keyboard you'd like to use instead. i.e

 

 

config = 
{
   ["mode"] = "minimum",
   ["hotkey"] = "Ctrl+Shift+1", -- now uses the combination of ctrl shift and 1 together to toggle
   ["windowPosition"] = 
   {
       ["y"] = 342,
       ["x"] = 981,
   }, -- end of ["windowPosition"]
} -- end of config
 

 

Dont forget to restart DCS after editing this file or you wont see the changes.

 

If you want to remove the overlay entirely and never use it, just delete:

 

  • DCS-SRS-Overlay.dlg
  • DCS-SRS-OverlayGameGUI.lua

 

In Saved GamesDCSScripts

 

Preset Channel Configuration

 

Preset channels can be created for all FC3 aircraft and all expansion radios for Non FC3.

 

Channel presets are created per Radio - full list of names & frequencies here https://docs.google.com/spreadsheets/d/1tzd996zJ1t0heZ-t1PpL7vNUIZbXl7pI6De0GThN1Qw/edit#gid=1869108790 )

 

Preset files are named after the radio (no special characters needed & case is ignored) and are text files with a single frequency on each line.

 

For example, to create a fixed channel list for the first UHF radio in the F15C:

 

Create a file called ANARC-164 UHF1.txt or anarc164 UHF1.txt where you installed SimpleRadio Standalone (where the client exe is), add frequencies and save.

 

The file will be automatically loaded when that radio appears on an aircraft. The frequency list can also be manually reloaded with the reload button. The files are per radio not per aircraft.

 

 

 

 

Finally - I need your help!

If you'd like to help with this project, please help me fill in this sheet of radio info! It'll also help correct any mistakes I've made with the Radios.

 

LINK: https://docs.google.com/spreadsheets/d/1tzd996zJ1t0heZ-t1PpL7vNUIZbXl7pI6De0GThN1Qw/edit#gid=1869108790

 

The work can't be done without the data so if you can help fill in a box please do! 🙂

  • Like 3

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 post
Share on other sites
  • Replies 2.9k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Generate autoconnect with dinamic IP   Hello everyone, I created a batch file (a bit archaic, but it works) so that on the dedicated servers, update the DCS-SRS auto-connect IP. The T1.txt and T3.txt

I love you. This is a new era. But also reminds me of the good old PR and Mumble days.


Edited by SpeedStick

"Hard to imagine bigger engine. its got a beautiful face and an arse built like sputnik." - Pikey AKA The Poet, on 37 Viggen.

Link to post
Share on other sites

thanks Ciribob - its awesome

 

-=42VFG=-SPECTER

Custom built W10 Pro 64Bit, Intel Core i9 9900k, Asus ROG Maximus Code XI Z390, 64GB DDR4 3200 RGB, Samsung 1TB NVme M.2 Drive, Gigabyte AORUS 2080TI, 40" Iiyama Display. Wacom Cintiq Pro 24, HOTAS Virpil T50 Stick / FA-18C TM Stick and Virpil T50 Throttle, MFG Crosswind Graphite Pedals. HP Reverb

 

SPECTER



[sIGPIC][/sIGPIC]

 

Lead Terrain Developer / Texture Artist

Link to post
Share on other sites

Ciribob, is there any chance you could convince ED to implement this mod in the official release?

Would be a very good feature. :)

System specs:

 

Gigabyte Aorus Master, i7 9700K@std, GTX 1080TI OC, 32 GB 3000 MHz RAM, NVMe M.2 SSD, Oculus Quest VR (2x1600x1440)

Warthog HOTAS w/150mm extension, Slaw pedals, Gametrix Jetseat, TrackIR for monitor use

 

Link to post
Share on other sites

Nice work!

 

I am also wondering if you have more information on performance impact and especially bandwith used per interacting players.

Is the server only used to connect players and then the voice process is distributed thru clients or does the server need to receive and forward all the voice?

 

Right now, the TS server is hosted somewhere else so I don't have to care about performances/bandwidth being drawn from my DCS server to the VOIP system.

DCS is already pretty greedy on bandwith so I am wondering what would be the impact to host this system on the same not-crazy-great hardware/connection of my DCS server?


Edited by Mirknir

Mirknir

My old server:

The Thread

Link to post
Share on other sites
Nice work!

 

I am also wondering if you have more information on performance impact and especially bandwith used per interacting players.

Is the server only used to connect players and then the voice process is distributed thru clients or does the server need to receive and forward all the voice?

 

Right now, the TS server is hosted somewhere else so I don't have to care about performances/bandwidth being drawn from my DCS server to the VOIP system.

DCS is already pretty greedy on bandwith so I am wondering what would be the impact to host this system on the same not-crazy-great hardware/connection of my DCS server?

 

There is no performance hit.

Link to post
Share on other sites
Nice work!

 

I am also wondering if you have more information on performance impact and especially bandwith used per interacting players.

Is the server only used to connect players and then the voice process is distributed thru clients or does the server need to receive and forward all the voice?

 

Right now, the TS server is hosted somewhere else so I don't have to care about performances/bandwidth being drawn from my DCS server to the VOIP system.

DCS is already pretty greedy on bandwith so I am wondering what would be the impact to host this system on the same not-so-good hardware/connection of my DCS server?

 

I've not done many tests, as its early days yet but voice is currently transmitted from a client to the server, and then distributed to all other clients over UDP. Each receiving client then determines if they can actually hear the audio.

 

Originally there was a sync system built in and the server would then determine if it should send the packet to a particular client or not but in a trade-off of bandwidth vs processing power and sync speed I picked bandwidth. If it becomes an issue this can always be revisited and the sync method reintroduced :)

 

I've just done a quick benchmark of the bytes going out over UDP (the UDP payload so this excludes UDP Header) and its roughly 3-4 KB/s for a client transmitting audio.

 

As I said above, client audio is naively distributed to all other connected clients so your total server outgoing bandwidth will just be 3.5 * (number of connected clients - 1) for one transmission and incoming is just number of clients transmitting * 3.5 both giving numbers in Kilo Bytes (not bits!).

 

Its worth mentioning the SimpleRadio Server doesnt need to be on the same PC as the one hosting the mission, it doesnt touch DCS, so can be run on any Windows PC.

 

Hope that helps!

 

I'm quite jet lagged so apologies for any mistakes above...

  • Like 1

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 post
Share on other sites

So not near my PC to download yet... From what I've read this is basically like how BMS does it right?

 

The overlay, is that always on or if you're in a full fidelity module it's off?

 

Also, if this works like I think I understand it does... Ciribob, you're my new DCS hero! Not having to go through TS, thank you Jebus! TS plugin installs is what keeps us away from the other radio mods out there as some folks really don't like to mess with TS.

 

Can't wait to try it out.

VFA-25 Fist of the Fleet

[sIGPIC][/sIGPIC]

Virtual Carrier Strike Group One | Discord

Link to post
Share on other sites
So not near my PC to download yet... From what I've read this is basically like how BMS does it right?

 

The overlay, is that always on or if you're in a full fidelity module it's off?

 

Also, if this works like I think I understand it does... Ciribob, you're my new DCS hero! Not having to go through TS, thank you Jebus! TS plugin installs is what keeps us away from the other radio mods out there as some folks really don't like to mess with TS.

 

Can't wait to try it out.

 

Pretty much that, its IVC :)

 

The Radio Overlay is optional, you can open and close it when DCS is or isn't running. Its mostly for FC3 aircraft so you can control radios and frequencies but I like to use it for Full fidelity as well as it will indicate the state of all the radios and when you're transmitting or receiving. You can also make it transparent with the bottom slider.

 

You should thank the Buddy Spike team for hassling me to do it! :P

 

New Release - Version v1.0.4.0

 

Change Log:

 

  • Fixed Clear buttons for Bindings so they work
  • Fixed individual Radio not being disabled when it should be for FC3 Aircraft
  • Return Focus to DCS for FC3 button presses on Radio Overlay
  • Increased CA radio range for FM

 

If you have v1.0.3.0 it should prompt you about the update when you open the client or server. To Update just download the latest version, extract all the files from the zip and run the installer. You can also update manually by just replacing the LUA in the scripts folder and all the exe's where ever you put them.

 

The major change in this is the experimental return of focus to DCS. As the Radio overlay sits above DCS, when you interact with it with the mouse, focus to DCS is lost and you have to click back to select DCS. The overlay will now automatically do this for you for all FC3 aircraft when you press any enabled button or use the volume sliders.

 

After dragging the window, resizing or changing the opacity focus will not automatically be returned. For non-FC3 aircraft, focus is not returned either as no buttons are enabled for the user to interact with.

 

Please let me know if the auto-update prompt works or if you have any issues! :)

 

I will try to work on getting the intercom for the L-39 working and some tutorial videos done next.

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 post
Share on other sites
Hi Ciribob.

I ve sended to you a new version for the LUA with a minor bug and a possible change.

 

Great work as always!

 

Thanks! Got the LUA.

 

I'll change the CA Radios in the next update to have the better range :)

 

For the M2000C - I'll change to Hotkeys instead of the Amplis switch instead. Forgot it had the Hotas controls switch

 

Edit:

Very good work! Question: Do you have voice detection to automatically activate the microphone?

 

No you must use PTT, sorry.


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 post
Share on other sites
OK Perfect, but you can be programmed a key combination?

Currently its just a single key or joystick button. I will be looking at making it possible to have a modifier and a button but that will take time :)

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 post
Share on other sites

New Release - Version v1.0.5.0

 

Change Log:

 

  • Changed Look and Feel of Connect window
  • Added new Settings Panel
  • Able to configure which radio goes to which audio channel on the fly, changes take effect immediately
  • Added experimental Radio Effects
  • Changed CA / Ground Commander to have 2 VHF/UHF Radios with a greater range
  • Increased CA / Ground Commander FM Range Max to 76
  • Changed Mirage to use Hotkeys rather than in-cockpit radio selector (it has HOTAS controls) - Same as Gazelle, A10C and all FC3

 

The UI of the connect window is still pretty ugly but you don't to look at it long...

 

If you have v1.0.3.0 or newer it should prompt you about the update when you open the client or server. To Update just download the latest version, extract all the files from the zip and run the installer. You can also update manually by just replacing the LUA in the scripts folder and all the exe's where ever you put them.

 

I will try to work on getting the intercom for the L-39 working and some tutorial videos done next, I didn't get round to that this evening.

 

The radio effects haven't been well tested, so once they're turned on in the settings panel (off by default), please let me know how you find them!

 

Please let me know if the auto-update prompt works or if you have any issues! :)

 

DOWNLOAD HERE - Unzip all files and Run the Installer: https://github.com/ciribob/DCS-SimpleRadioStandalone/releases/latest

 

Manual Install Procedure

Copy DCS-SimpleRadioStandalone.lua from the zip to C:\Users\USERNAME\Saved Games\DCS\Scripts

Create the folder if it doesnt exist

 

Add to the END of the Export.lua file in C:\Users\USERNAME\Saved Games\DCS\Scripts:

 

local dcsSr=require('lfs');dofile(dcsSr.writedir()..[[scripts\DCS-SimpleRadioStandalone.lua]])

 

If Export.lua doesn't exist, just create the file and add the single line to it.

 

Copy the rest of the zip files where ever you like and then run, don't forget to keep opus.dll with the rest of the .exes


Edited by Ciribob
  • Like 1

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 post
Share on other sites

Is any of the big / dedicated servers (104th, open conflict, VA, TAW) running this mod. Would love to try and test it on a large open server and see how it works there.

 

Maybe we could make a list of the servers using this and IP for the radio servers?

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...