Host a DCS Server in Azure
In my free time, I love flying digital airplanes in the battlefield simulator DCS World. Online play is great, too! But, playing online requires a server.
Hosting a server can seem daunting. Many people host on their personal PC (with poor performance) or pay a king's ransom to host on expensive hardware. Let's fix this with the Azure Cloud!
Why Host in Azure?
- Geo-locate your server to minimize latency
- Easy to start and stop your server
- Pay for what you use
- Super-reliable compute and networking power
- Windows license is included
How to Host
1. Signup for Azure
You can get a free trial or $100 free if you're a student.
2. Make a new Virtual Machine
This is where you'll pick the size of the virutal machine and the region.
For the size, I recommend: Standard D8s v3 (8 vcpus, 32 GB memory). I've hosted up to 25 people on a complex mission with this setup. My recommendations:
- Minimum 16 GB RAM
- Minimum 8 Cores
- Latest Windows 10 Client
- Premium SSD (we'll end up with 2 of these: one for the OS and one for the game)
For the region: this is one of the amazing things about Azure. You can host the server in a location wich is best for the players. For example, I live the North West of the USA. But, I host my server where my online buddies fly: in the UK.
These instructions will help you make your first Virtual Machine:
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/quick-create-portal
3. Add Some Storage
DCS World takes a lot of disk space. And, the load and update processes are very disk heavy. So, don't skimp on the disk. I recommend a 256 GB Premium SSD.
Here's the instructions:
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-managed-disk-portal
4. Open DCS TCP & UDP Ports
DCS World hosts on port 10308 for both TCP & UDP. You need to open this port in the Azure Firewall to allow users to connect to your server.
Use these instructions:
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/nsg-quickstart-portal
Use these details:
- Protocol: Any (TCP & UDP)
- Port: 10308
- Source: Any | Destination: Any
- Action: Allow
- Priority: 310 (Any # between 310 and 65500)
5. Get into your VM
Find your VM in the azure portal. Start it, then connect using the Connect button. This will open Microsoft Remote Desktop. Enter your VM using the username and password you provided during creation.
6. Install DCS World
Most servers choose to run the Open Beta. But, with the 256GB, you can fit both. Download and install from:
https://www.digitalcombatsimulator.com/en/downloads/world/
Your server does not need to "own" the pay modules: the base game can host all released aircraft with no DLC. The full install takes about 30 minutes.
7. Configure DCS World to disable 3d render
Your VM (probably) doesn't have a graphics card. So, if you skip this step and just start hosting a server, DCS World will attempt to render 3d frames on the CPUs. This won't go well!
We can solve this by disabling 3d rendering. This replaces all 3d renders with a simple black frame. Perfect for a dedicated server. Credit to this forum post for teaching me how to do it!
Open notepad to make a new file. Add these lines:
options.graphics.fullScreen = true
options.graphics.render3D = false
Save it as:
%user%\Saved Games\DCS\Config\autoexec.cfg
%user%\Saved Games\DCS.openbeta\Config\autoexec.cfg
8. Fire it up!
Start up DCS World. Sign in (reminder: you don't need to own any DLC on the account you use for hosting!). Multiplayer -> New Sever. Follow the on-screen instructions.
I find that it takes 5 minutes for the first mission to load. From there on, it should only take about 2 minutes to stop and restart the server.
Don't forget to Stop your VM in the portal when you're done!
I hope you find this guide helpful. See you in the skies!
PlanR