Situation:
My flight group and I want to create missions using Retribution. I run the campaign on my dedicated server, which is a Windows 10 Guest VM. Generally we use the Server Interface provided by ED to control the server. Missions are synced by a Google Drive sync. So everybody is able to upload missions and run them on the server remotely, without having to use some sort of third party interface - like VNC or Remote Desktop.
On Retribution it is a bit different - you cannot control it using some sort of WebGui. Making a turn would need the user to be on that very machine the mission runs. Asking for a solution I was pointed to use Remote Desktop for such an endeavour - in my eyes not a good solution when running a server where several people want to operate.
Workaround:
To access the Retribution Tool I used VNC and set it up the following way...
Setting up Retribution area
On the Windows VM set up a second screen in which you want to position Retribution. Note that the resolution should be somewhat below your clients-resolution for example: If you use 1080p on your client then it would be best that the resolution on your VM is below that (1680x1050) - otherwise your browser bars/frames will cost viewing area. If you fancy remove the Taskbar from that screen.
Setting up VNC
Download TightVNC - why? Because you can limit the viewing-Area with it.
I found several other VNC server tools, but its seldom that you can limit the provided area to a certain window or coordinates. Install TightVNC using its installer. Once done install it as a service (there are links in the StartMenu for that) and run that service (also link in StartMenu). In your tray you'll find a VNC icon, click on it and open configuration. Set up your ports and passwords as needed. On Extra Ports add the port and viewing area your Retribution is positioned In my particular case (1152x864 main screen / 1680x1050 second screen) that string looks like that:
5901:1680x1020+1152+30
Explanation:
- 5901: listening port for VNC connections
- 1680: picture width
- 1020: picture height (minus the windows top-bar)
- 1152: starting point X (right of my main screen)
- 30: starting point Y (below the windows top-bar)
Change to the tab Access Control and allow loopback connections
Setting up noVNC and websockify
- Download noVNC and extract it to a folder of your liking.
- change the websocket.json (../noVNC-1.2.0/core/websocket.json - Line 185) to following: >
this_websocket = new WebSocket(uri, ['binary',base64']); - Download Websockify
- Start websockify using (for example) the following parameters:
..\websockify.exe 5902 127.0.0.1:5901 --web ..\noVNC-1.2.0
- Explanation:
- ..\websockify.exe - please provide the correct path to the executable
- 5902 - any port you want to use for your connection
- 127.0.0.1:5901 - localhost + the port your VNC server is listening on
- --web - parameter for the web interface to show
- ..\noVNC-1.2.0 - the path to your noVNC folder
- rename the vnc.html to index.html so you don't need to enter it in the URL afterwards
There are some more parameters to websockify to wrap executables or start them on connection, which I haven't had a look on yet.
Execution
Start websockify using the parameters given (or adapted). Start Retribution and put it on your second screen maximized. Start a Browser and enter the URL:port of your machine. Enter you password - now you should see your Retribution tool.
Notes
I did all that for people I trust and not for a public server. Keep in mind that this provides an access to your machine, there is no security implemented. Why did I use an area instead of an executable wrapping? Because Retribution uses popups, if I wrap VNC only to Retribution.exe those popups might not show up - providing an area I avoid this.
Tutorials
- DCS Retribution UI
- Air Wing Configuration
- Turn Zero
- First operation
- Setting up a custom Strike mission
- Campaign "Battle of Abu Dhabi" Play Through Tutorial
Manual
Additional content
Dedicated Servers
Modding Retribution
Contributing
Contributing to DCS Retribution