[How-To]Using FireDaemon w/ DayZ + Extras

DISCLAIMER: This is for dedicated servers only. Not managed servers.
DISCLAIMER: All code is presented "as is". If you modify it outside of what is specified in this thread without knowledge of what your doing. I am not held liable for any data loss.

There was another thread floating around here somewhere that showed how to setup this process. The only issue with this, was that the download links don't work anymore. So I am making a new one that will be here.

For those will want to know what I am using for the private server I help manage. Here is a list of what I use:

  • Pwnoz0r's DayZ Build
  • FireDaemon Pro
  • FireDaemon Fusion
  • BEC (Battleye Extended Controls)
  • Whitelister - By Guidez
  • Custom Log Rotation Script
  • MySQL Installed as a service
  • Spawn Script
  • Dart - Rcon
  • MySQLBackupFTP - Do MySQL Backups
  • Windows Server 2008
So Lets get started

STEP 1 New

You will click on the Plus symbol on the top left.

STEP 2 First Part

You will then need to fill out all the info that has text in it. I will go in detail below


Short Name and Display Name

This will be what you see in the FireDaemon Manager and in the Service List

Custom Prefix String
This will add a custom name to the service name

Description
When you look at the Services you will see a brief description of what it is

Executable
This will be to where the arma2oaserver.exe is located. You should use the one located in the Expansions\beta\ folder

Working Directory
You will have to edit this after you add the executable (exe). It will be left to where the @hive, @bliss or any @folder is located

Parameters
This will be where you add all the startup parameters for the server
Default Pwn DayZ Build
Code:
-mod=@hive;@dayz -name=cfgdayz -config=cfgdayz\server.cfg -cfg=cfgdayz\arma2.cfg -profiles=cfgdayz
Start-Up Mode
Should be left automatic

Start-Up Time
Left at 3000 ms (3 sec)

STEP 4 Advanced and Debug

Make sure you check the box for "Enabled Debugging". The reason for this, is to allow you to be able to see if there was any issues when it tried to start anything. It makes it easier to troubleshoot.

Debug Log File
You will need to save this to where ever you want. You can name the file whatever you want, but its easier to call debug.

All the rest of the settings stay the way they are.

STEP 5 Dependencies

Here you will define all the dependencies that the server needs. You can add whatever you want but it must be a service. If you do not have MySQL installed as a service, I would advise you to do so. I used XAMPP to install MySQL and Apache, but it can be used to run just the MySQL server.
 
STEP 6 Pre/Post-Services
Click Insert


Executable
Path to either a batch (.bat) or executable (.exe)​
Working Directory
This should be left to whatever is there. But you can change it to where you want.​
Parameters
Just like when you set up the server section in STEP 2. You can add start up parameters here.​
Execution Time
This will be how long it will take for the program to run​
Run Program
Leave this default​
Run Detached
If the program needs to run after the server starts. Check this box, otherwise, leave it unchecked​
This section will get a little difficult for some. If you need any help, feel free to ask. There is no such thing as a dumb question (within moderation :) ).

I will share all the scripts I use and what they do. As I do use Pwnoz0r's DayZ Server and all my scripts are made for that. I would be willing to experiment on using Bliss.

STEP 6.1 Pre-Start Script​
You will need a pre-start script to run in the Pre-Services. This script will kill whitelister (if your using it) and BEC (if it didnt already die).​
Create a file called pre-start.bat and put this in it​
@echo off
echo Pre-Start Operation
REM Kills Whitelister
taskkill /f /IM Whitelister.exe
C:\xampp\mysql\cecho Whitelist Service killed... {0A} OK.{07}
REM Kill BEC if running
taskkill /f /IM Bec.exe
C:\xampp\mysql\cecho Bec killed... {0A} OK.{07}
timeout /T 3
exit
The cecho is a file that is in the MySQL folder that comes with Pwn's build. I just copied this into the location of where mysql is. Make sure to change the file locations to your respective paths.​
STEP 6.2 Log Rotation Script​
Second you will want a log rotation script. This will rotate all the log files including that HiveExt.log . There are 3 files that get huge and I mean huge: arma2oaserver.RPT, HiveExt.log and scripts.log. The rotation script will archive the files into respective folders with timestamps.​
Create a new file called logrotation.bat and put this in side of it​
@echo off

:start
::ONLY CHANGE THE FILE LOCATIONS HERE
set cfg="C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\cfgdayz"
set logs="C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\cfgdayz\BattlEye"
set white="C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\utils\whitelist"
::END USER EDIT

::ONLY EDIT IF YOU KNOW WHAT YOUR DOING
SET timestamp=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%
mkdir %logs%\ArchiveLogs\%timestamp%

::All Log Files in cfgdayz
if exist {%cfg%\arma2oaserver.RPT} (
copy %cfg%\arma2oaserver.RPT %logs%\ArchiveLogs\%timestamp%\arma2oaserver.RPT
del /Q /F %cfg%\arma2oaserver.RPT
) else (
goto 1
)
:1
if exist {%cfg%\HiveExt.log} (
copy %cfg%\HiveExt.log %logs%\ArchiveLogs\%timestamp%\HiveExt.log
del /Q /F %cfg%\HiveExt.log
) else (
goto 2
)
:2
if exist {%cfg%\server_console.log} (
copy %cfg%\server_console.log %logs%\ArchiveLogs\%timestamp%\server_console.log
del /Q /F %cfg%\server_console.log
) else (
goto 3
)
::All Files in Battleye
:3
if exist {%logs%\createvehicle.log} (
copy %logs%\createvehicle.log %logs%\ArchiveLogs\%timestamp%\createvehicle.log
del /Q /F %logs%\createvehicle.log
) else (
goto 4
)
:4
if exist {%logs%\mpeventhandler.log} (
copy %logs%\mpeventhandler.log %logs%\ArchiveLogs\%timestamp%\mpeventhandler.log
del /Q /F %logs%\mpeventhandler.log
) else (
goto 5
)
:5
if exist {%logs%\publicvariable.log} (
copy %logs%\publicvariable.log %logs%\ArchiveLogs\%timestamp%\publicvariable.log
del /Q /F %logs%\publicvariable.log
) else (
goto 6
)
:6
if exist {%logs%\publicvariableval.log} (
copy %logs%\publicvariableval.log %logs%\ArchiveLogs\%timestamp%\publicvariableval.log
del /Q /F %logs%\publicvariableval.log
) else (
goto 7
)
:7
if exist (%logs%\remoteexec.log} (
copy %logs%\remoteexec.log %logs%\ArchiveLogs\%timestamp%\remoteexec.log
del /Q /F %logs%\remoteexec.log
) else (
goto 8
)
:8
if exist {%logs%\scripts.log} (
copy %logs%\scripts.log %logs%\ArchiveLogs\%timestamp%\scripts.log
del /Q /F %logs%\scripts.log
) else (
goto 9
)
:9
if exist {%logs%\setdamage.log} (
copy %logs%\setdamage.log %logs%\ArchiveLogs\%timestamp%\setdamage.log
del /Q /F %logs%\setdamage.log
) else (
goto 10
)
:10
if exist {%logs%\setpos.log} (
copy %logs%\setpos.log %logs%\ArchiveLogs\%timestamp%\setpos.log
del /Q /F %logs%\setpos.log
) else (
goto 11
)
:11
if exist {%logs%\setpos.log} (
copy %white%\console.log %white%\ArchiveLogs\%timestamp%\console.log
del /Q /F %white%\console.log
) else (
echo Already Moved
goto end
)
:end
echo All Files Copied
timeout /T 3
exit
STEP 6.3 Spawn Script​
By default, the start batch file for Pwn's build does the spawning. So I have remedied this with another batch file to just spawns.​
Create a new file called spawn.bat and put this inside.​
@echo off
echo Executing spawn script...
::Change to mysql install path
cd C:\xampp\mysql\bin
mysql --user=root --password=cybernations --host=127.0.0.1 --port=3306 --database=hivemind --execute="call pSpawnVehicles()"
ping 127.0.0.1 -n 5 >NUL
C:\xampp\mysql\cecho {0A}OK.{07}
timeout /T 3
exit
I use Doc's database fix so it doesn't use pMain(). If you don't use his fix, I highly suggest you do on Pwn's build. If not just change where "call pSpawnVehicles()" to "call pMain()"​
STEP 6.4 BEC​

In the above image, you will need to add -f Config.cfg in the Parameters field. To save you some hassle with this, it would be good idea to make a batch file. Also along with this, you will need to make sure that Run Detached is checked.​
To make BEC start after the server starts. You will need to make a batch file. Adjust the timeout (in seconds) to how long it takes for the server to start.​
Make a file called bec.bat in the folder where Bec.exe is.​
@echo off
timeout /T 22
start Bec.exe -f Config.cfg

exit

STEP 6.5 Whitelister​
Just like in BEC setup in STEP 6.4. You will need to run detached but you wont need any parameters. Whitelister doesn't seem to have a problem running before the server starts. It only throws out an error that it couldn't connect to the server. But if you want it to start after the server starts, do the same in BEC's step but change it around.​
Make a file calle whitelist.bat in the folder where Whitelister.exe is.​
@echo off
timeout /T 22
start Whitelister.exe

exit


STEP 7 Process Log
NOTE: This step is not necessary unless you like to see what is going on.

You will need to check the box Enabled and then check the box Log File. Once you have done this, save it to where the debug.log is and name this file called process. Leave all the other settings at default.


Sorry for the wall of text, but its a great program to invest time to get to know. If you would like to be able to start your DayZ server without having to be on the dedicated box. You can just use an RCON program to issue a shutdown command to the server. Or you could log in game as admin and use #shutdown.

You may also use FireDaemon Fusion. This a webserver that is for FireDaemon to allow you to remote manage it via a web browser. You can also add more users with certain rights. This method can also be used to restart the DayZ server or any other service running the dedicated server.
 
Very good howto and a nice tool too. I tried it months ago. Unfortunetaly you have to buy FireDeamon after a 30 day trial period and multiserver support is pain in the but (well at least for me). Thats y i decided to not use it.

Nevertheless..... good tool.
 
Very good howto and a nice tool too. I tried it months ago. Unfortunetaly you have to buy FireDeamon after a 30 day trial period and multiserver support is pain in the but (well at least for me). Thats y i decided to not use it.

Nevertheless..... good tool.
That is why I found a torrented version.
 

Ryahn

New Member
Was going to say good work until you admitted to pirating software. It costs $30 and is well worth the money. If you can't afford $30 what are you doing renting a dedicated server/vps?

Its not $30, its $50. I have never used FireDaemon before and didnt want to risk losing out on that much. Most if not all the software I do have is paid for in full after trying it out through a torrent.
 

hambeast

Well-Known Member
Its not $30, its $50. I have never used FireDaemon before and didnt want to risk losing out on that much. Most if not all the software I do have is paid for in full after trying it out through a torrent.
They have a 30 day full featured free trial. That is what I downloaded. Legally. I liked the software so much I decided to keep using it and paid full price for it.

Keep telling yourself you didn't steal that software. Whatever helps you sleep at night.
 
its resetting the deadbodies, so if i cant give people their stuff back after they have died? (iam using navicat)

if you could join me on skype sercan.atici i would be greatfull
 
I can't keep bec running. I acts like it is going to start up but then closes. I made the batch file as you recommended

@Echo off
timeout /T 240
Bec.exe -f Napf.cfg --dsc
exit

running the batch file manually has the same results. You get the splash screen and the bec console for a second then it closes. Anyone have any suggestions?

Incidently, it runs fine logged in via rdp or the console
 
Top