I created this site to host the SimCom X flight simulator multiplayer voice chat and ESJFS ATC software, that I write in my spare time for flight simulators such as MS2020, FSX, P3D, XPlane and FS9.
The SimCom X flight simulator Voice Client for multiplayer pilots
The SimCom X Pilot voice client is a standalone voice application that allows users to Autoswitch Voice channels by using their Aircraft radio stack. It is also able to decrease the voice quality of other users based on distance and altitude. The SimCom X pilot client uses less resources than the TeamSpeak and Discord Clients and (unlike the Simcom TS3 plugin) supports all major flight simulators including FS9, XPlane, FSX,P3D and MS2020.
The SimCom X flight simulator voice Client for multiplayer ATCOs
The SimCom X ATC voice client mimics a VCS (Voice Communication System) found in Air Traffic Control units. The system provides a way to not only communicate with aircraft using the SimCom X Pilot Client, but users are also able to conduct phone calls to other controllers using the ATC client in order to Co-ordinate. The SimCom X ATC client also includes an ATIS, enabling pilots using the SimCom X pilot voice client to tune to the controller’s ATIS frequency and receive the latest airfield information.
The SimCom Teamspeak 3 Plugin
One of the first plugins I wrote, the Teamspeak 3 SimCom Plugin creates a way for users to autoswitch channels on a TeamSpeak 3 server, when tuning the radio stack in FSX or P3D.
ESJFS Flight Simulator ATC Radar tool
ESJFS stands for EuroScope JoinFS and is a tool that displays traffic other than VATSIMs on to EuroScope or VRC. Originally written for ATC using the JoinFS network, ESJFS has the option to gain data from either JoinFS or Flight Simulators such as FSX, P3D (via SimConnect), XPlane and FS9 (using FSUIPC or XPUIPC). More info can be found on the Radar tools page.
Feel free to have a look around my little site and please do leave a comment below letting me know if any of my tools have been of use to you.
Roo
So this is a client, but what about the server software?
Hi Bert,
Each client runs a server too.
So it works similar to P2P.
A user running the App can connect to any other user running the App, as long as the relevant port isnt blocked.
In Simcom X mode a random client(/server) is used to connect.
This helps to eliminate problems caused by users not able to forward ports etc.
Hi,
thanks for your reply. How would that work if most people in the group don’t know how to open that port or are otherwise unable to? Could one person run as server just as with JoinFS?
Cheers,
Bert
Hi Bert,
Yes I thought of people not knowing how to open a port and have tried to help as much as possible.
Firstly I have added Upnp.
If a user has Upnp enabled in their router, it will in essence forward the port for them.
In addition to this..
In SCX Mode a frequency will only ever be created on a server that is accessible (ie port forwarded correctly).
This means that a user can join with all their ports blocked and still be able to use Simcom X.
Regarding a server client setup..
I added a feature called Group mode.
This enables one person to act as a server with other users able to connect.
SCX mode is the preferred method as users can see available ATC and act as ATC to users that wouldn’t normally know they were online.
But I know that some groups like to keep themselves to themselves, which is what Group mode would do.
I have checked the log there reports as follows:
###### SimCom X Log Created at 15:34:39 09/12/2020 Zulu ######
15:34:42 Sound Devices in use:
15:34:42 No Sound Devices Set!
15:35:27 No Internet Detected.
15:35:27 Upnp Ticked.
15:35:30 Upnp Enabled Router not found!
15:35:30 Open.Nat.NatDeviceNotFoundException: Generata eccezione di tipo ‘Open.Nat.NatDeviceNotFoundException’.
in Open.Nat.NatDiscoverer.<DiscoverDeviceAsync>d__5.MoveNext()
— Fine traccia dello stack da posizione precedente dove è stata generata l’eccezione —
in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
in Open.Nat.NatDiscoverer.<DiscoverDeviceAsync>d__4.MoveNext()
— Fine traccia dello stack da posizione precedente dove è stata generata l’eccezione —
in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
in SIMCOM_X.Form1.<Port_checkAsync>d__167.MoveNext()
15:35:42 SimCom X started Closing…
15:35:42 Port Removed!
15:35:42 Client Removed!
15:35:42 Simcom X Closed Successfully!
Actually the SimComX client was working properly then suddenly it is no more able to startup correctly (and my internet connection is working properly as before)
The error in the log is related to Upnp not being enabled in your router.
You either need to enable Upnp in your router or untick the Upnp tickbox in the Simcom X config and forward UDP port 9988.
I hope that helps.
Brilliant!
Query V3005 ESJFS
I understand that when connected, at the bottom is Euroscope in green, and JoinFS is in orange, is this correct! I would assume that JoinFS will be in green, to denote connected to JoinFS server.
Frank
Sorry Frank, I thought I’d replied to this.
You are right, JoinFS should be green if it’s getting the data from JoinFS correctly.
Do you have the whazzup tickbox ticked in the JoinFS settings?
Hey 🙂 first of all.. great work with the programs, especially the ESJFS tool. I’m really interested in how the ESJFS plugin sends the aircraft data to EuroScope and how EuroScope processes it. Is it enough for EuroScope to send the primitive data (coordinates, altitude, heading, speed, ?) or does ESJFS the calculation for e.g. the aircraft movement? Is there any explanation from EuroScope how to handle with an external datafeed & how to implement it in an application or EuroScope plugin? Thanks in advance 🙂
Hi Emex,
ESJFS gains the data, then arranges it into a format that euroscope can read.
It’s then sends the data every few seconds for euroscope to plot on its radar display.
Hello
Is there a chance to develop this tool: SIMCOMX for MAC?
All Simcom X software is built with Microsofts .NET Framework. The eventual plan is to port ESJFS, Simcom X Pilot and Simcom X VCCS to the latest cross platform .NET.
ESJFS should be straight forward, but the voice clients will need a bit of work and I have no timeline for it I’m afraid.