Dedicated Server Setup

* For this document, we will assume that SteamCMD will be installed to "**C:\SteamCMD\**"
2. Ensure that your user account has Full NTFS permissions to this folder.
	* This will prevent you from having to constantly run things as Administrator
3. Open up Command Prompt and browse to where you have SteamCMD installed
	* `cd C:\SteamCMD\`
4. Download the Dark and Light Server
	* `steamcmd.exe`
	* `login **anonymous**`
	* `force_install_dir ./DNL/`
	* `app_update 630230 validate`
	* `quit`
	* Optionally, you can create a batch file as this is also the same command that you will use to update the server

**Sample Install/Update Batch File (OBSELETE)**

`@echo off

TITLE Dark and Light Updater

CLS

steamcmd.exe +login anonymous +force_install_dir ./DNL/ +app_update 630230 validate +quit

PAUSE`

### Linux

At this current time, server is not supported on Linux distributions

## SteamClient and Prerequisites

As it currently stands, the installer doesn't come with any of the Steam Client files so that your server will be joinable or even show in the public list.
If you start your server and the first line doesn't say `Setting breakpad minidump AppID = 529180`, this is the fix.
Copy the following files from `C:\SteamCMD\dnl\` to `C:\SteamCMD\dnl\DNL\Binaries\Win64\` on the server

* steamclient64.dll
* tier0\_s64.dll
* vstdlib\_s64.dll

## Setting Port Forwarding on your Router

To allow your server to be connectable to the online community, you must forward ports on your router to the computer running the dedicated server. Unfortunately, each model of router does this differently so you will have to check you manual on how to do this. Here is a list of what you will need to forward.

* 27015-27016 TCP/UDP
	+ Required for steam clients to read server information.
	+ If you don't have this, people will also not be able to see your server.
* 7777-7779 TCP/UDP
	+ Allows people to connect to your game server
* 27020 TCP/UDP
	+ **OPTIONAL** This is not required. This is only needed if you want people online to use RCON to remotely administer your server. **DO NOT** Port forward this unless you are sure you need it, and you have an admin password setup in your config. Ignoring this warning could result in someone hijacking your server. You have been warned.

## Starting Server

1. Browse to the DNL binaries folder
	* `C:\SteamCMD\dnl\DNL\Binaries\Win64\`
2. Create a batch file with the following command line in it
	* `start DNLServer.exe **MAPNAME**?listen?SessionName=**MYSERVERNAME**?ServerPassword=**PASSWORD**?ServerAdminPassword=**MYADMINPASSWORD**?Port=7777?QueryPort=27016?MaxPlayers=**127**``exit`
	* Replace **MYSERVERNAME** with whatever you want to call your server
	* Replace **MAPNAME** with **DNL\_ALL** to run the default map, or **theshard** to play the new map
	* Replace **PASSWORD with a password for your player**
	* Replace **MYADMINPASSWORD with a password for your admin**

Run the batch file you just created by double clicking on it, and the server will start. It will take between 5-10 minutes before you can connect to it, so be patient.

## Configuring Server

After the server has been run at least once, the folder `C:\SteamCMD\dnl\DNL\Saved\Config\WindowsServer` will be created. This folder will have all your custom server settings in it. The file `GameUserSettings.ini` will hold 95% of the settings you will need to change.

You can look at the file in `C:\SteamCMD\dnl\DNL\Saved\Config\CleanSourceConfigs\GameUserSettings.ini` to see all the settings you can edit. **Do Not Edit This File - make all your settings in the file listed above**