JoinFS: Manual
An up-to-date guide in PDF format has kindly been written by Dan Sullivan of Elite PremAir Virtual flight club. Click here to download (v1.1.4).
Quick Start
- Click 'Install' on the menu to the left of this page to save JoinFS to your computer.
- Open the downloaded file and install JoinFS.
- Launch your flight simulator.
- Limit your frame rate in the Display settings to around 35 frames per second.
- Choose your aircraft and flight details in Free Flight mode.
- Launch JoinFS.
- The first time you launch JoinFS you will be asked to scan your simulator folder for existing models.
- You will also be asked to choose a default model for each type-role of aircraft.
- Either create or join a session. Join by entering the address of another node, or from the menu, 'View|Hubs' shows a list of public servers to join.
- From the menu, View|Aircraft shows a list of aircraft in the session. Use the Follow button to relocate near another aircraft.
- If an aircraft shown is not the correct model, simply select the aircraft in the list and click Substitute to change it to a suitable model.
System Requirements
- Windows 10 / 8.1 / 8.0 / 7 / XP, Linux (Wine).
- .NET Framework 3.5. (Can be enabled in Control Panel -> Programs -> Programs And Features -> Turn Windows Features On And Off)
- (FSX/Prepar3D only) SimConnect 10.0.61259.0. Can be found in the simulator installation path:
- [FSX Folder]\SDK\Core Utilities Kit\SimConnect SDK\LegacyInterfaces\FSX-XPACK\SimConnect.msi
- [P3D Folder]\redist\Interface\FSX-SP2-XPACK\retail\lib\SimConnect.msi
- (X-Plane only) Microsoft C++ 64-bit Redistributable 2012. From Microsoft, Click 'Download' and select 'vcredist_x64.exe'.
- If you wish to create a session, or advertise your link, you may need to enable Port Forwarding for 6112 on your router. You may choose another port within the JoinFS Settings window.
- Aircraft may appear to stutter at very high frame rates. It is recommended that you limit your frame rate to around 35 for smooth movement. The cause of this is beyond JoinFS' control.
Contents
- Indicator Buttons
- Addresses
- X-Plane
- Creating A Session
- Joining A Session
- Model Matching And Substitution
- Views
- Shared Cockpit
- Recording
- Command Line Options
- Troubleshooting
Indicator Buttons

- Green indicates active.
- Orange indicates inactive.
- Red indicates disconnected.
- Press the Simulator button to connect to, or disconnect from, the simulator.
- Press the Network button to join the specified address or disconnect from the current session.
Addresses
Connecting people together in an online session requires an address for each person, server or hub. There are three different types of address formats supported by JoinFS. Any of them can be used to join another person, server or hub.
Encoded Address
This is a propietary JoinFS address in the format '12345 12345'. This is a useful format in that it hides your actual IP address and provides a level of security when publishing your address, for example, in screenshots and on public forums. When launching JoinFS this is the format of your own address shown in the 'Me:' box on the main window.
IP Address
This is the standard TCP/IP internet address in the format 'x.x.x.x' where x is a number 0-255. If you know the external IP address of another JoinFS client you can join it by specifying this address.
Domain Name Address
This is the standard internet domain name that uses readable text, for example, 'myserver.net'. If someone has set up a domain name for their JoinFS client or hub you can join it by specifying this address.
Example Addresses
All of the following examples are valid addresses.
32242 02397
32242 02397 7000
myserver.net
myserver.net:7000
127.0.0.1
127.0.0.1:7000
X-Plane
The following requirements are necessary for successful networking with X-Plane.
- Connecting to X-Plane requires the installation of a small JoinFS plugin. The plugin can be installed from the JoinFS settings window. Run JoinFS, from the menu select 'File|Settings', and click 'Install Plugin'.
- If the plugin does not show in X-Plane then you might need the correct C++ libraries. From Microsoft, Click 'Download' and select 'vcredist_x64.exe'.
- You may need to disable other plugins that also try to access the X-Plane aircraft in order for JoinFS to work correctly. From the X-Plane plugin menu you can enable/disable plugins as required.
- The number of network aircraft in the session is determined by the AI Aircraft specified in the Flight Configuration settings of X-Plane.
- If no AI aircraft are configured then you will not see any network aircraft in the session.
- If you add three AI aircraft then you will only see up to three network aircraft at any time. The closest network aircraft will be injected into X-Plane.
- The maximum number of AI aircraft allowed in X-Plane is currently 19. This is the maximum number of network aircraft that can be injected into X-Plane.
- JoinFS will only connect to X-Plane after loading of the flight has completed. It will not connect if X-Plane is still in the main start menu.
To remove the plugin, use Windows File Explorer and navigate to the X-Plane installation folder. Inside 'Resources/plugins', delete the JoinFS folder.
Creating A Session

Unlike FSX multiplayer, JoinFS removes the concept of a host. The original creator of a session can leave at any time and the session will continue as normal for the remaining pilots. New pilots can join the session by specifying the address of any pilots in the session. There are two ways to create a session:
- Create a private session by pressing the 'Create' button. Then click on your IP address which will be copied to the Windows clipboard. You can then paste (ctrl+v) the IP address, for example, into TeamSpeak, to tell other pilots and where they can join.
- Create a publicly advertised session from the menu, File|Settings. Tick the 'Hub Mode' box and fill in the details as necessary. You can specify the IP address or, if you wish, use a domain name for the hub address.
Joining A Session
You can join any existing JoinFS session by connecting to any node in the session (it does not have to be the original creator). You can also join a special JoinFS node called a hub, these are advertised publicly using JoinFS's decentralized hub network. There are three ways to join a session:
- Enter the known IP address or domain name with optional port number. The format of the IP address should be '10.20.30.40' (default port 6112), or if you would like to specify the port number as well, '10.20.30.40:5000'.
- From the menu, View|Hubs, select a hub. The status column identifies nodes that are currently online. Then click the Join button.
- From the menu, View|Bookmarks, select a previously saved bookmark. The status column identifies nodes that are currently online. Then click the Join button.
JoinFS will remember your last connection so when starting JoinFS you only need to click Join to immediately connect to the previous session.
Suggested Joining Procedure
Where a group of pilots is gathering on a VoIP network (such as TeamSpeak), if you append the 'My IP' from JoinFS to your username in the VoIP interface, then this will allow any new pilots to quickly join your session.
Information About The Session
- The number of pilots in the current session is displayed on the main interface.
- From the menu, 'View|Aircraft' will show a list of the aircraft in the simulator. Showing callsign, model, a button to change the model and options for selecting which aircraft should be broadcast over the network, or recorded by the recorder.
- From the menu, 'View|Users' will show a list of the other nodes in the JoinFS session along with some routing information.
- From the menu, 'View|Monitor' will show informative messages from JoinFS that may help resolve any problems.
Model Matching And Substitution
JoinFS allows you to substitute any aircraft model used to represent other pilots in the session. If you have not already done so, before doing any model matching you must select 'File|Scan For Models' from the menu to build a list of available aircraft from your simulator. This list is automatically saved so you only need to scan again when you install or remove aircraft add-ons. If you use Tacpack from VRS Simulations, be sure to include the 'Misc' folder in the scan. If you see an aircraft that is not showing the model that you expect to see, for example, the other pilot has a model that you do not have installed, then you can quickly and easily substitute the model by opening the aircraft list from the menu, 'View|Aircraft'. Select the aircraft and click the Substitute button at the bottom of the window, and you will be presented with the following form.

This form shows the model that is to be replaced at the top and the substituted model at the bottom. Use the two drop down list boxes in the middle to choose the type and variation of the replacement model. When confirmed by clicking the OK button, the models will be updated instantly in the simulator. JoinFS will save all of your substitutions automatically. At any time you can view and modify the current substitutions from the menu, 'File|Edit Model Matching'. You will be presented with the following form.

A list of all current substitutions will appear in the form window, including the current default substitution which is used when you don't have a particular model installed. You can modify any of the substitutions, including the default model by selecting the model and clicking the Substitute button at the bottom. You can also remove any entries that are no longer needed.
Every time an object is created the following rules are checked, in order, to decide which model is used to represent the object:
- If you have an existing substitution configured then it will use that.
- If you have the original model and variation in your simulator it will use that.
- If you do not have the 'Default' model installed then the 'Default' will be set to the first entry in the model list.
- The 'Default' model will be used (you can set this from the menu, 'File|Edit Model Matching')
Views
Views are a set of openable windows that provide various useful information about what is currently happening in the JoinFS network. There are several views available and they can be opened by selecting from the 'View' menu on the main JoinFS window.
Hubs View
Shows the list of known public hubs that other people are running, usually on a permanent server. The list includes information about the hub, how many clients are connected, how many aircraft and other objects are in the session. Click on a hub in the list and further details are shown in the box below the list. To join the hub, click the Join button below the details.

Column | Description |
---|---|
Name | Name of the hub. |
Status | Online status of the hub. A green cell with 'Online' means that the hub is active and can be joined. Orange means the hub is offline or cannot be contacted. |
Users | Number of JoinFS clients connected to the session. |
ATC | If ATC is available the main airport code is shown. |
P | The total number of planes in the session. |
H | The total number of helicopters in the session. |
C | The total number of carriers in the session. |
V | The total number of vehicles and other objects in the session. |
Next Event | Details about an upcoming event. Usually a location and start time. |
Bookmark | Click this cell to add or remove a local bookmark for this hub. |
Ignore | Click this cell if you do not wish to see this hub in the list in future. |
Voice Server | Details about where to connect for voice communications. |
About | A short description about activities at this hub. |
Bookmarks View
The bookmarks view is where you can manage your current bookmarks and addresses. This is ideal when you connect to another client or hub on a regular basis. For example, flying with a club or frequently with friends then adding a bookmark allows you to quickly join up at any time. You can join a session, edit, remove or add a bookmark using the buttons below the list.

Column | Description |
---|---|
Name | Name of the bookmark, for example a hub or friend. |
Address | The join address for connecting to the session. Either an IP number or domain name address. |
Status | Shows which bookmarks are actively online. A green 'Online' or 'Online Hub' means the remote client is active. Orange means not online or unable to connect. |
Users | Number of JoinFS clients connected to the session. |
ATC | If ATC is available the main airport code is shown. |
P | The total number of planes in the session. |
H | The total number of helicopters in the session. |
C | The total number of carriers in the session. |
V | The total number of vehicles and other objects in the session. |
The shortcut button on the main window shows a drop down list of bookmarks:

Aircraft View
The aircraft view shows details about all aircraft in the current session. There is also an option at the bottom right of the window to show all aircraft flying on the public hub network. It usually takes a minute or two for those public aircraft to be updated. Aircraft in your current session are updated more frequently and will show extra details.
Column | Description |
---|---|
Callsign | Aircraft callsign. |
Owner | The nickname/callsign of the owner of the aircraft. A JoinFS client can broadcast multiple aircraft over the network. Suffix: '(R)' for recorded aircraft, '(A)' for AI aircraft. |
Model | The title name of the model used to represent the aircraft in the simulator. This can be changed at any time using the Substitute button below the list. Substitution suffix: '(S)' for custom, '(A)' for automatic, '(D)' for default role-type. |
Distance | Distance from your aircraft in the simulator. |
Weather | Click on the cell to get regular weather updates from that aircraft. |
Broadcast | Click on the cell for your own aircraft to enable/disable sending that aircraft across the network. If disabled then others will not see your aircraft. |
Record | Click on these cells to determine which aircraft will be recorded when you start a recording/overdub. |
Squawk | Transponder code. |
Com 1 | Com 1 radio frequency. |
Com 2 | Com 2 radio frequency. |
Rules | Flight rules: IFR or VFR. |
From | Departure airport code. |
To | Arrival airport code. |
Bearing | Where the aircraft is in relation to your aircraft. |
Heading | Aircraft heading. |
Altitude | Aircraft altitude. |
GS | Ground speed of the aircraft. |
Wind | Current wind strength and direction affecting the aircraft. In METAR format. |
Ignore | Click this cell if you do not wish to see any aircraft/objects from this owner in future. Aircraft from ignored people will not show in the list or in the simulator. |
Objects View
The objects view shows details about all other non-aircraft simulator objects available in the current session. From this window you can choose to broadcast objects across the network, for example, aircraft carriers or service vehicles. You can also see the objects that other people in the network are broadcasting.
Column | Description |
---|---|
Owner | The nickname/callsign of the owner of the object. A JoinFS client can broadcast multiple objects over the network. |
Model | The title name of the model used to represent the object in the simulator. This can be changed at any time using the Substitute button below the list. Substitution suffix: '(S)' for custom, '(A)' for automatic, '(D)' for default role-type. |
Count | If the objects are grouped by model type using the box at the bottom right then this column shows the total number of objects of that model type. |
Bearing | Where the object is in relation to your aircraft. |
Distance | Distance from your aircraft in the simulator. |
Broadcast | Click on the cell for your own objects to enable/disable sending that object or model type across the network. If disabled then others will not see your object. |
Ignore Owner | Click this cell if you do not wish to see any aircraft/objects from this owner in future. Objects from ignored people will not show in the list or in the simulator. |
Ignore Model | Click this cell if you do not wish to see any objects of this model type. Objects of this model type will not show in the list or in the simulator. |
Sometimes the size of the object list can become overwhelming, so you can group them by clicking the option at the bottom right of the window.
Users View
The users view shows details about all users in the current session. There is also an option at the bottom right of the window to show all users flying on the public hub network. It usually takes a minute or two for those public users to be updated. Users in your current session are updated more frequently and will show extra details.
Column | Description |
---|---|
Nickname | The chosen nickname of the user. |
Callsign | The callsign of the user's aircraft. |
Aircraft | The total number of aircraft that the user is broadcasting in the session. |
Objects | The total number of carriers and other objects that the user is broadcasting in the session. |
Permissions | Shows the current permissions that have been granted by you to this user. 'C' - allow cockpit entry, 'F' - they have flight control of your aircraft, 'E' - engine controls, 'O' - other controls. |
Ignore | Click this cell if you do not wish to see any aircraft/objects from this owner in future. Objects from ignored people will not show in the list or in the simulator. |
Port | Shows the remote network port that user is using. |
ID | A unique number to identify the user. |
Route | Shows the routing status. 'Direct' - there is a direct connection to the user, otherwise the ID of a user where the connection is being rerouted. |
Connected | Is there an active connection to the user? |
Latency | The total round trip time between your client and the user's client. |
To edit the permissions for a user, click the Permissions button below the list.
Recorder View
This window is used to control the play back and recording of aircraft. It is not necessary to be in a network session. You can record, overdub and play back your own aircraft and AI aircraft in free flight. If you are in a network session then you can record other user's aircraft and also broadcast your recordings over the network for other users to see.
Buttons available are record, play, stop, overdub. The slider shows the current time position of the recording and can be dragged to quickly move to another part of the recording. The aircraft will be displayed in the simulator according to current play back time.
Monitor View
The monitor view is for diagnostics and debugging of JoinFS. It shows warnings and error messages and also information about operational events from JoinFS, such and connections being established and so on. There is an option below the output box that allows you to save the output to a file. Click the View Logs button to view the current and previous log files.
Shared Cockpit
JoinFS includes its own method of sharing cockpits with other pilots. There is no restriction on which aircraft type you need to select when joining another cockpit. However, if your aircraft is significantly different then you are likely to experience some odd aircraft behavior. The advantage is that you can choose a similar type or aircraft by a different publisher and still be able to share the cockpit.
To enter the cockpit of another aircraft you must have permission from the owner of that aircraft. The exception is if you are entering a recorded aircraft that you own. The aircraft owner can allow you permission to enter the cockpit and can also hand over different sets of controls to different co-pilots. Controls are divided into three separate groups: 'flight', 'engine' and 'other'. You can decide to hand over any or all of these groups.
JoinFS supports an unlimited number of co-pilots/passengers in one aircraft.
Procedure For Sharing The Cockpit
Pilot A wants to enter the aircraft of pilot B.
- Both pilots A and B run JoinFS and join the same session.
- Both pilots A and B choose the same aircraft in the simulator. (This is preferable but not enforced)
- Pilot B opens the user list from the menu, 'View|Users'.
- Pilot B selects pilot A.
- Pilot B clicks the 'Permissions...' button.
- Pilot B ticks the 'Allow cockpit entry' option and the desired hand over options.
- Pilot B clicks OK to confirm.
- Pilot A opens the aircraft list from the menu, 'View|Aircraft'.
- Pilot A selects pilot B's aircraft.
- Pilot A clicks the 'Enter Cockpit' button.
- Pilot A and B are now linked and sharing.
- Further pilots can also join pilot B's aircraft by using the same steps above.

Recording
JoinFS is able to record the flight data for any aircraft currently in the simulator, including other pilots in the session and AI traffic in the simulator. The Recorder menu has the following options:
- Record New - Start a new recording of the aircraft from their current positions.
- Overdub - Start playing the existing recording, and at the same time overlay new recordings of the current aircraft. You may also start overdub at any time while the recorder is playing.
- Play - Play back the current recording.
- Stop - Stop both recording and playing.
You may choose which aircraft you wish to record by opening 'View|Aircraft' and ticking the 'Record' box on the aircraft you wish to record. Your own aircraft and network aircraft are enabled to record by default.
Play back a recording over the network
You can play back a recording over the network to other pilots as well as seeing them on your own simulator. This allows you, as a group, to fly in formation with previously recorded flights. To choose which aircraft are sent over the network, go to 'View|Aircraft' and tick the Broadcast box on the aircraft that you wish to broadcast over the network. By default, recorded aircraft are automatically enabled for broadcast.
Record your own formation
You can use the recorder to assemble your own recorded formation flight. Start by making a new recording with your aircraft. And then use the overdub feature to continually tag aircraft onto the formation.
Save a recording to disk
Once you are happy with your recording you can save it to disk at any time from the menu, 'File|Save Recording'. To load a previous recording choose 'File|Open Recording'.
Command Line Options
The following options can be used when launching from a command line, which provides a way to automate certain features. For example, to create a desktop shortcut that always connects to a favorite server, copy and paste the installed JoinFS shortcut, right-click the shortcut and select properties; in the target box, append the required options, such as 'C:\Program Files (x86)\JoinFS (TEST)\JoinFS.exe -nickname "Bob" -join myhub.com'.
Command Line Option | Description |
---|---|
-create | Create a new session with this JoinFS client. |
-join address | Join the session at the specified address. |
-port number | Use the specified network port number for connection to and from this JoinFS client. The default port is 6112. |
-hub | Enable hub mode. Hubs are publicly listed connection points. Recommendation is to use router port forwarding when operating a permanent hub server. |
-hubaddress address | Optional specific address for this JoinFS hub. For example, this might be a domain name address, 'myserver.com'. |
-hubname "name" | Friendly name for this hub. This will appear on everyone's hub list. |
-hubabout "description" | Short description if this hub. For example, "Peter's Flying Club". |
-hubvoip "details" | Details of a voice server to use. For example, ts3.myserver.com. |
-nickname "name" | Sets your nickname. Others will be able to see this in the aircraft and user lists. |
-play "file" | Open a *.jfs file and play back the recording immediately. |
-record | Immediately start recording aircraft after launch. |
-activitycircle distance | Set the maximum distance in nautical miles for other aircraft to be inserted into the simulator. |
-follow distance | Sets the follow distance in meters. For use with the follow button on the aircraft list. |
-atc | Enable ATC mode. |
-airport code | Specifies which airport the ATC is controlling from. For example, '-airport EGKK'. |
-lowbandwith | Use the low bandwidth setting, designed for slow or restricted bandwidth connections. |
-tray | Launch JoinFS on the system tray in quiet mode. |
Troubleshooting
If you have any problems connecting or seeing other objects, try the following checks:
- Check the main JoinFS window and make sure that both the 'Simulator' and 'Network' buttons are green. If they are not green, click the button.
- While connected to the simulator go to the menu and select 'File|Scan For Models'. This will update JoinFS with the latest models in the simulator. It should report the number of models found. Make sure you add any other model folders that you have to the 'Additional Folders' box.
- Open the user list from the menu 'View|Users'.
- Look at the list to make sure that you see everyone you expect to see.
- Look at the 'Connected' column - it should say 'Yes' and be green.
- Look at the 'Ignore' column - it should be unticked if you with to see that user's objects.
- Open the aircraft list from the menu, 'View|Aircraft'.
- Look at the list to make sure that you see all the aircraft you expect to see.
- Look at the 'Distance' column. See if the distance is what you expected. If it is not highlighted green, check the 'Circle Of Activity' setting from the menu 'File|Settings'. Also make sure that the ignore option in the aircraft details, below the list, is unticked.
- Look at the 'Model' column. A letter in brackets after the model shows the type of substitution. See Aircraft View. Click on the 'Substitute' button to change the model displayed.
- You can quickly view any aircraft in the simulator, usually by right-clicking in the simulator window and selecting the traffic to view them. This will quickly allow you to see if an aircraft is there.
- If there are still problems then check the log window from the menu, 'View|Monitor'. Look for anything unusual. If you need help with the log, click the save option, click 'View Logs' and contact the support forum.
Public Wifi Connections
If connecting from a public wifi point and you are experiencing problems connecting with JoinFS then you may need to use VPN software such as Windscribe on your device before using JoinFS.