How to Properly Setup A DCS World Dedicated Server

August 12, 2018

How to Setup A Dedicated Server for DCS World

Today we are going to discuss how to setup a DCS World dedicated server to host your own DCS World Missions with your friends or for the community. Learning how to properly setup a dedicated server for my on use I found that most of the information about the topics – while very good information I did come across it was too spread out for my taste. Here I have compiled all of this information you will need to get up and running with your own dedicated DCS World server. Digital Combat Simulator is actually working on a new sever tool for DCS but until then here is a guide to help you out.

With this guide we will setup a server to host DCS World, have DCS auto start its hosting server and mission, and even learn how to auto restart DCS every 4 hours or what ever you wish. Take note, this is not for a VPS or “Virtual Private Server”. Not sure if this would work on a VPS with the following setup. So lets begin.

oh I almost forget. This is just a guide that worked for me. I am no IT tech nor am I a licensed computer guy specialist. Use this guide for informational purposes only and I am not held responsible if you screw something up on your machine.

Dedicated Server

First things first. You are going to need a dedicated server.  While you can use your home PC as a dedicated server, this guide is geared for running a server exclusively for DCS. And this is what I highly recommend if you plan of having your server up and running continuously.  Server will need to be a windows based machine Windows, 10, Windows Server 2012,2016, ect.  Your server should also at the very least meet DCS Worlds minimal requirements. It should have at least a 2.8 ghz core processor, 8 gigs of Ram and 60 GB of free disk space. Speaking of hard disk, make sure you have a Solid State Drive (SSD). Sure you can use a mechanical hard drive but that may decrease the games performance. And get with it man! Everyone uses SSD’s these days.

My personal minimal recommendation for a dedicated server is a  3.0+ ghz core processor, 16 GB Ram, and 120gb SSD.

Setup

Okay so you have your dedicated server up and running. You have your admin login info and your able too remotely login without a problem. You are also going to need some type of texted editor because we going to be working with Lua code. Now don’t you get your britches in a bunch, if you know how to cut-n-paste, you will be just fine. My text editor of choice is NotePad++. Go and download this.  At this point, I’m also going to assume you have installed DCS World on your machine. If not, go ahead and install your flavor of choice and meet me back here. Go Team!

autoexec.cfg File

Okay now that we have notepad++ installed, lets create a new file named “autoexec.cfg”. You want to save this in the following location.

X:\Users\[yourusername]\Saved Games\DCS\Config\

Cut-n-Paste in The Following

options.graphics.fullScreen = false
options.graphics.width = 1280
options.graphics.height = 768
options.graphics.maxfps = 20
options.graphics.render3D = false
if not net then net = {} end
net.download_speed = 131072000
net.upload_speed = 131072000
disable_write_track = true

 

This code mainly stops 3D graphics from rendering and it also opens  up the bandwidth that DCS uses. Remember this is a Dedicated server and we will not be gaming on this machine. No need to render 3D graphics to slow down the system. By default DCS is allowed to only use up to 1 megabit connection. Well since we are no longer in the early 2000’s most connects are on up to a full Gigabit. So to greatly help with lag we need to open up the bandwidth pipe that DCS uses.

serverSettings.cfg File

If this is a fresh server, go ahead and open up DCS and start a new Server. Set it up how ever you wish and start the server. After the game loads, I now want you to disconnect from the server. This creates your serverSettings.cfg file if this is  a fresh install of DCS World. If you have already ran a server this file will already be created. So now lets open this file. Its also located in this directory. “X:\Users\[yourusername]\Saved Games\DCS\Config\”

In this file you just need to make sure the following line says “false”.

pause_on_load = false

Save and your done with this file.

After this, technically you are all set. You can load up any multiplayer mission and host it on your new server. But again, this is a dedicated server only to host DCS and maybe you wish to load DCS up at start along with a DCS multiplayer mission.  Maybe you would like to have your DCS Server reboot every 4-6 hours. We’ll i’m going to show you how we do this next. URAAW!

Start DCS Multiplayer Server At DCS Startup

With your shinny new dedicated server, you may wish to start your DCS Sever and its mission at DC Start up. This is what we are going to tackle next and this is going to be a bit code-ie. But I believe in you and know you can do it!

For this to work, DCS must be setup for Auto-Login at its login screen. Within NotePad++ open up the file MissionEditor.Lua which can be found in this location on y our system: “X:\Eagle Dynamics\DCS World\MissionEditor\”. With this file open we need to do a search for a function. Hit Ctrl+F to do a search. Now search for “function onShowMainInterface“. This is what you should find.


-- used in __EMBEDDED__
function onShowMainInterface()
--print("--onShowMainInterface()---")
if tooltipSkin_ == nil then
tooltipSkin_ = Gui.GetTooltipSkin()
else
Gui.SetTooltipSkin(tooltipSkin_)
end
prepareMissionPath()
mmw.setLastWallpaper()
openReturnScreen()
end

Just before the “end” of the function or just below “openReturnScreen()”, paste in the following.

-- START DEDICATED CODE - ADD FROM THIS LINE
--
if grgFirstRun == nil then
grgFirstRun = true

local net = require('net')
local lfs = require('lfs')
local Tools = require('tools')
local mpConfig = Tools.safeDoFile(lfs.writedir() .. 'Config/serverSettings.lua', false)
local dediConfig = Tools.safeDoFile(lfs.writedir() .. 'Config/dedicated.lua', false)

if dediConfig and dediConfig.dedicated ~= nil and dediConfig.dedicated["enabled"] == true then
net.set_name(dediConfig.dedicated["name"])
net.start_server(mpConfig.cfg)
net.log("Starting Dedicated Server...")
end
end
--
-- END DEDICATED CODE - ADD UP TO THIS LINE

We now need to create a new file “dedicated.lua” within notepad++ and save it at this location. “X:\Users\[yourusername]\Saved Games\DCS\Config” and within this file paste in the following changing it to your information at will.


dedicated =
{

["enabled"] = false,
["name"] = "Server Player Name",

}

Now open DCS and start your server. Just to make sure your info has been saved. You can disconnect and close DCS after the server starts.  Now back in your “dedicated.lua” file you can now changed  [“enabled”] = false to [“enabled”] = true.

*Please take note. When ever you wish to STOP have  your server started at DCS Startup, simply changed true, to false.

You are now all setup for  auto server start. Go ahead and start DCS and your server should now auto start with the most recent mission auto loading as well. Remember if you wish to ever stop this so that you can switch missions, make changes, ect, simply edit your dedicated.lua file.

Ok now that is done, 1 final thing you may wish to do with your new server. To help with performance issues maybe you wish to have your server restart every 4,6,8 hours. What ever you wish. Lets tackle this next.

Auto Restart your DCS Server

Now that we have DCS starting our server at launch, now lets restart our server every 4 hours. Or what ever you wish. For this to work we are going to have to make a very small and simple change to our systems registry to stop error messages when our DCS server is shut down. Right click on windows start menu and select “run”. Type in “regedit” and hit enter. You should now have windows reg editor open.

Open and locate the following “key”: “[HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting] “DontShowUI”=dword:00000001”

We are changing its value from 0 to 1.

rededit rededit

StartDCS.bat

Now lets create a new file called “StartDCS.bat” within Notepad++. We are going to simply save this to our Desktop. Now within this file paste in the following code.


@echo off
:loop
Start "" /high "C:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin\DCS_updater.exe"
timeout /t 14400 >null
taskkill /f /im DCS.exe >nul
goto loop

This is the secret sauce on how I restart my server every 4 hours. Be sure to change the locate of DCS_updated.exe to match your. And do you see the number 14000? Well this is your server restart time in seconds. So after 14400 sec (4 hours) this batch file will restart the DCS server. And do this over and over again every 4 hours. Just change the minutes to what ever fits your server. Remember we set our server to auto start at DCS start up so this is now done completely hands off. To start the process simply double click on the StartDCS.bat that you saved to your desktop. Or you can also setup a windows task scheduler to start this at a specific date and time.

Note: As I stated at the start of this guide. This is geared towards servers that will be dedicated to DCS. Please make sure you have full administrative privileges. This is also very important if you wish to start DCS automatically with windows task scheduler.

In Closing

If you have followed this guide from the start you now have up and running a top notch dedicated server able to host your own missions with multiple players. Also when DCS starts your server and mission loads at startup. And you have also learned how to auto restart your server ever so often if you require it to do so. This also saves you this time and effort of doing it by hand. I can not thank the DCS community for all the great information to make this happen. Please check out the sources below for additional information on starting a dedicated server to host DCS.

Sources:

Eagle Dynamics WIKI
How to Create a Dedicated Server. 10 Easy Steps
Dedicated Server Script
Improved stability and dedicated server and Here (a good read)
How we set our servers to auto restart DCS

Element
Element

About the Author: Im just a Web Developer, Freelancer, DCS Pilot & Mission Designer, Poet, Singer (in my head), Blogger, Producer, Sea Food Lover who loves the feel of cool beach sand running thru my toes...

Editor

Not Logged In

DCS World Pilots

Create a free pilot account to share your own missions, campagins, mods, comments, reserve dedicated server for hosting, plus much more.

Create Pilot Account Pilot Login
Recent Blog Posts
NVIDIA RTX 2080 and 2080Ti Benchmarks and Reviews Released!
Element 9.20.18
NVIDIA RTX 2080 and 2080Ti Benchmarks and Reviews Released!

Whelp! They are finally here folks. The review of the year we all have been awaiting. Yesterday morning…

How I Setup My Gaming System for DCS World in VR
Element 9.8.18
How I Setup My Gaming System for DCS World in VR

If you have been following my blog for some time then you already know that I am a…

Don’t believe the hype DCS World in VR is Awesome!
Element 9.5.18
Don’t believe the hype DCS World in VR is Awesome!

Before we discuss DCS World in VR. Let me start off by quickly talking about a completely unrelated…

Digital Combat Simulator F/A-18C Hornet gets its Vapors
Element 8.29.18
Digital Combat Simulator F/A-18C Hornet gets its Vapors

With today's update from Digital Combat Simulator, they offered us a very nice and much welcomed treat. Its…