Setup SmartCopilot plugin
There are no special requirements for X-Plane to run SmartCopilot. The one thing to care about is making sure X-Plane application is not blocked by the firewall and can access the network. When X-Plane starts for the first time on Windows it asks the user to add the firewall rule. Important is to allow the access!
Currently, the plugin works with X-Plane 10 and X-Plane 11 on Windows, Linux, and Mac OS.
To install SmartCopilot plugin unzip and copy the plugin folder to X-Plane default plugin storage:
X-Plane_Root/Resources/plugins Installed plugin path should look like:
When starting X-Plane flight the SmartCopilot main window should be seen on the screen:
After buying the plugin, a license file automatically will be sent to your PayPal e-mail. Please save this license file to the plugin folder and restart X-Plane. If the e-mail with license file didn’t come for some reason, please contact us at [email protected].
If the plugin is successfully licensed no DEMO mark should be seen on the main window.
Setting up a direct connection between computers
For the plugin to work correctly you should be able to set-up a direct connection between two computers. This usually means fiddling with your LAN settings on your router and configuring port forwarding. There are two ways to establish the connection.
Direct connection using port forwarding or UPnP
- most stable and recommended way to fly with SmartCopilot
- the user who wants to be a server should have a static external IP address accessed from the internet (this is an IP address which your internet provider assigns to your home router. To find this address visit http://www.get-myip.com or similar websites). In the above example, this is 22.214.171.124
- it is enough to have the static external IP only for the server user
- the server user should port-forward his local SmartCopilot port to his home router. It could be done in fully manual way or using UPnP feature of the home router
- UPnP should be enabled in the home router settings (it is always disabled by default)
- if port-forwarding is done the client should be able to initiate the connection to the server using server’s external IP address and external port (in case of UPnP the same port of SmartCopilot setup – in the example above this is 58000)
If there is no external IP or port-forwarding could not be done (including UPnP) try to setup server for the second pilot. If the second pilot could not set up his server side too there is one remaining way of using VPN providers like Hamachi etc. Next picture shows how to find server-client configuration:
Server-Client decision flow chart
Server – Client understanding
Server-Client both are networking names for connection partners. In our case:
- the Server is the SmartCopilot user who sets up his SmartCopilot plugin to be accessed from the internet using his external IP address and port. After the server starts it waits for the incoming connection request from the client
the Client is the SmartCopilot user who initiates connection (pressing Connect) to the server. The client should know the server’s external IP and port and should enter his data in own Direct Connections window. To access the server a port-forwarding on the client side is not necessary (but could be done if client wants to be a server for another potential connection session)
How Master-Slave status depends on Client-Server role of users:
- the Master-Slave status is always defined by the SmartCopilot client. It means the user who initiates connection should define Master-Slave status before pressing Connect
- after server user accepts incoming connection his Master-Slave status will always to be opposite to client’s one
Connection via VPN
If there is no external IP available or port-forwarding (including UPnP) could not be done try to setup server for the second pilot. If the second pilot could not set up his server side too there is one remaining way of using VPN providers like Hamachi etc.:
- unstable, low-speed connection for many free VPN providers
- easy to configure
- after users established their VPN connection they should select VPN interface (i.e. Hamachi IP address) in SmartCopilot setup window
- direct connection using partner’s VPN IP address
Connection via VPN
SmartCopilot connection options
To connect each other both SmartCopilot users should set up their plugins. The settings are divided into two part: Network setup window and Direct Connection window.
General settings are located in the Network setup window:
- Interface selector gives the ability to select Network interface used for communication. It shows all available network interfaces. Default interface is localhost (127.0.0.1) or “any” (0.0.0.0) which is OK in most cases. If connecting via VPN please select local VPN IP here (X-Plane should be started after VPN is connected otherwise VPN IP will not be seen in the window).
- Port number – this is a local UPN port for SmartCopilot communication – is normally the port which other clients should communicate to. By using UPnP feature the same external port number will be opened on the home router.
- UPnP selector tells the plugin to open UPnP session with home router making automatic port forwarding.
- The Auto switch enables the plugin to automatically start networking with every X-Plane session.
- Start-Stop button starts plugin networking operations. To change any settings above the plugin should be in stopped state
List of available partners (severs) is located in the Direct Connections window:
- List of available partners (severs). Here could be entered up to 32 records. Select here the user you want to connect to. Every record consists of fields, which could be entered below.
- Name field is a free mark to describe the connection
- IP field is the address of your partner (is a server IP you connecting to)
- Port field is the UDP port of your partner (normally is the port entered in your partner’s Network setup window)
- Update button updates selected record with current settings
- Add button adds new record filled with current settings
- Delete button removes selected record
- The plugin works by reading a configuration file in the aircraft’s root folder. The file is always called smartcopilot.cfg. Just keep this in mind: configuration file must be exactly the same for both participants of the joint flight! If this is not true the plugin will not connect and will notify the user with an error message.
- On the Download page, you can get configuration files that are available for download. We hope that this database will be updated by us, developers and the user community. Everybody who wants to share own configuration file can register and upload the file to the database.
- Information on how to create a configuration file can be viewed at Hangar page.
Startup and connection
So, you know should have configured the computers for a direct connection (through port forwarding/NAT, VPN, Tunneling Voodoo or Black Magic) and your plugin connection settings in X-Plane, you have a co-pilot with your same aircraft and the same smartcopilot.cfg file installed. There is a good chance you might want to start to fly together, in a shared cockpit at this point. Just make sure you and your copilot have loaded the same airport and same weather settings in X-Plane.
Then Go to the SmartCopilot menu:
and click Toggle Window:
the plugin management window will appear.
The upper and middle part of this window contains information about the current version of the plugin and the current status of the connection. At the bottom, there is a region with three fields/control buttons.
- The first pilot (or the “Captian”) will leave Master on the bottom left, press the Connect button and wait for the connection from the other party.
- The second pilot (or the “First Officer”) should select Slave by clicking on the bottom left and then click on Connect.
That should work the magic and you two should now be connected and sharing a cockpit over the network. You should see information about the remote host (should show the co-pilot’s IP) and the bandwidth used, plus any error that there might be (hopefully none). From this moment on the plugin is fully working and you can try to take off.
- The third button/field (bottom right) indicates who currently controls the plane (who has control of the flight controls). Clicking on this field the First Officer can request control. The Captain will give control (as and if he pleases) by pressing the same button. If the request goes unanswered for more than 30 seconds, it will be canceled. In such a case we would suggest the FO makes sure the Captain is alive.