Arma 2 DayZ: Epoch is the most popular of all the DayZ modifications and adds many new RPG elements. The mod is set in a future time after the Great Infection. Humanity is slowly returning to the wasteland, industrious survivors have begun to join together in small groups and rebuild society. Merchants have started to pop up to do business with survivors who collect goods from the wasted remnants of civilization. Wholesalers have landed, offering imported goods to aid the rebuilding effort.
The Arma 2 dedicated server and DayZ Epoch mod can be run as a Windows service using FireDaemon Pro. FireDaemon Pro will allow you to have the dedicated server start automatically at system boot prior to login and restart the dedicated server if it crashes. This HOWTO will show you how to set it up. You can also use FireDaemon Fusion to manage FireDaemon Pro and other Windows services via a web browser.
To set up a DayZ Epoch server, you need to install Arma 2 files in addition to the Arma 2: Operation Arrowhead files since the mod relies on content from the main game. There is no dedicated server package available. You can only install the server files if you own a copy of the game. The easy way to install them is via Steam's SteamPipe servers, but the caveat to this is that the Steam account must have Arma 2 and/or Arma 2: Operation Arrowhead purchased. Arma 2: Combined Operations includes both.
IMPORTANT: We recommend that you DO NOT use your regular local client version GUI of Steam as it will be logged out when you install/update the server files and causes conflicts when running as a service under FireDaemon Pro control. Use SteamCMD instead.
NOTE 1: If you're wondering why the DayZ mod itself cannot be hosted, it's because only Game Server Providers can host it.
NOTE 2: DayZ Epoch uses its own private hive for the server so you cannot sync with the DayZ database. You will also need to set up a MySQL server so do that first by following our MySQL Server HOWTO here.
Setting Up Arma 2 and SteamCMD
- Create a new Steam account for your server. If you want to use your existing Steam account that already has Arma 2 and Arma 2: Operation Arrowhead, then skip to step 3.
- Purchase ARMA 2: Combined Operations (or Arma 2 Complete Collection) and gift it to the server account you just created.
- Download and extract SteamCMD. For the purposes of this HOWTO we install SteamCMD into the directory C:\SteamCMD
- You now need to download the ARMA 2 and ARMA 2: Operation Arrowhead server files via the Steam SteamPipe servers.
Note: Do not install Arma 2 on top of Arma 2: Operation Arrowhead (OA) files as that will break things. First download Arma 2 files, let it finish downloading and then start the OA download. If you started the OA install first, then install the ARMA 2 files into a different directory and then copy and paste the OA files into the ARMA 2 directory.
Before you can download the server files we will need to create two shortcuts. Go to the directory where you installed SteamCMD (eg. C:\SteamCMD) and create the first shortcut to "steamcmd.exe". In the first shortcut, edit the properties and in the Target field append the following (remember to place a space between steamcmd.exe and +login):
+login USERNAME PASSWORD +force_install_dir "C:\DayZ Epoch" +app_update 33905 validate +quit
Note: Replace USERNAME with your Steam username and PASSWORD with your Steam password. You may need to enter a verification string if your Steam account has SteamGuard enabled. The verification string will be sent to the email you set up as your Steam account email. This string only needs to be entered once.
Once you have created the shortcut, double click it to run SteamCMD and the Arma 2 Dedicated Server will be downloaded and installed into "C:\DayZ Epoch".
Now create your second shortcut to steamCMD.exe. Edit the properties and in the Target field append the following to it. Remember to add a space before the parameters:
+login USERNAME PASSWORD +force_install_dir "C:\DayZ Epoch" +app_update 33935 validate +quit
Now that you've set up SteamCMD, download the remaining additional files before setting up FireDaemon Pro.
- Download the Visual C++ x86 Redistributable Packages for Visual Studio 2013. Make sure you install the x86 version (vcredist_x86.exe) even if your OS is 64-bit
- Download and install the DirectX End-User Runtime Web Installer. The server will not start if you do not have DirectX installed
- Download both of the Epoch Server (requires 7zip to unpack) and Client files (requires BitTorrent client and 7zip to unpack). Extract them to the place where you downloaded Arma 2 and Arma 2 OA (eg. C:\DayZ Epoch).
- Open sqlyog that you installed with MySQL (from the MySQL HOWTO here), create a new database and import the epoch.sql file found in "C:\DayZ Epoch\SQL".
- DayZ Epoch uses 2 configuration files to store its settings. They can be found in the "C:\DayZ Epoch\Configs/InstanceName" directory. Replace InstanceName with the map you are running.
Setting up FireDaemon Pro with Arma 2 DayZ Epoch
Once you've set up the files necessary to run Arma 2 DayZ Epoch, it's time to set up FireDaemon Pro.
Download and install FireDaemon Pro into the directory of your choice, typically C:\Program Files\FireDaemon.
Next start the FireDaemon Pro GUI from the desktop shortcut. Click on the "Create a new service definition" button in the toolbar (or type Ctrl+N) and enter the information into the fields as you see below. Adjust the paths to suit your installation. Pay special attention to the Parameters list.
- Executable: The path to your arma2oaserver.exe file. For the purposes of this HOWTO, the path is C:\DayZ Epoch\Expansion\beta\arma2oaserver.exe.
- Working Directory: The directory containing your arma2oaserver.exe file. For the purposes of this HOWTO, the path is C:\DayZ Epoch\Expansion\beta.
The most important field on the tab is the Parameters. The Parameters define the initial setup of your server.
Here’s the full parameter list you should have:
-ip=126.96.36.199 -port=2302 "-config=Configs\INSTANCENAME\config.cfg" "-profiles=Configs\INSTANCENAME" -name=INSTANCENAME "-BEpath=C:\DayZ Epoch\Battleye" "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;" -cpuCount=2 -exThreads=7 -bandwidthAlg=2 -maxMem=2047 -noSound
- "-ip" It's useful to define this if your server is behind a NAT router or if your server machine has multiple IP's and you only want the server to listen on one IP. If you are hosting the server from home or do not know your server IP, then on the server, go to the following website to find your external IP address: http://WhatIsMyIp.com
- "-port" This sets the server port. It should be left on default unless you are running multiple servers on the same IP.
- "-config" Loads the server config file. You will need to replace "INSTANCENAME" with the instance (map) you intend on loading.
- "-profiles" Loads/saves profiles to the specified directory. You will need to replace "INSTANCENAME" with the instance (map) you intend on loading.
- "-mod" Loads DayZ Epoch and DayZ mod files. If your server is using a custom map, you will need to add it to this parameter too. Prefix the map name with the @ symbol and put a semi-colon at the end. For example if you were running the Lingor map, then this parameter would look like: "-mod=@lingor;@DayZ_Epoch;@DayZ_Epoch_Server;". You can find out which mod parameter to use by looking in the batch file in C:\DayZ Epoch\Configs" that matches your map.
The next few parameters are performance related and may be too low or high depending on your server specs. You should research them before using. If you don't know about them, then do not use them.
- "-cpuCount 2" Limits the number of cores your server uses to 2. This is usefull to prevent your whole machine from locking up should your server ever use 100% CPU.
- "-exThreads 7" Limits the number of threads your server uses to 7.
- "-bandwidthAlg 2" Changes the bandwidth algoritm to a better optimized one. This may improve bandwidth usage and management.
- "-maxMem=2047" Limits the maximum amount of memory to 2GB. Servers in general never go above 500MB (even for 50 slot servers), this command is useful to prevent memory leaks.
- "noSound" Disables sound output when the server starts.
Now click on the Settings tab. If you DON'T want to see your DayZ Epoch dedicated server running, uncheck the Interact with Desktop check box & select "Hidden" from the "Show Window" dropdown. You can optionally run DayZ Epoch dedicated server as the user you installed it as. In the Logon Account field type your username (e.g. Administrator) and then enter the user's password twice in the Password and Confirm fields. You can change the Process Priority to allocate more CPU time to the dedicated server or specify which CPU or core the dedicated server will run on (in the case of multi-processor, hyperthreaded or multi-core CPUs).
Now click on the Lifecycle tab. Uncheck Graceful Shutdown as DayZ Epoch doesn't respond to it.
Now click on the OK button to install and start DayZ Epoch Dedicated Server!