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

Discussion in 'Server / Admin Tools and Discussions.' started by Ryahn, Jan 28, 2013.

  1. Ryahn

    Ryahn New Member

    Joined:
    Oct 18, 2012
    Messages:
    21
    Likes Received:
    0
    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
    [​IMG]

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

    STEP 2 First Part
    [​IMG]

    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:
    [email protected];@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
    [​IMG]

    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
    [​IMG]

    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.
     
  2. Ryahn

    Ryahn New Member

    Joined:
    Oct 18, 2012
    Messages:
    21
    Likes Received:
    0
    STEP 6 Pre/Post-Services
    [​IMG]
    Click Insert

    [​IMG]

    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​
    [​IMG]

    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.
    [​IMG]

    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.
     
  3. Ryahn

    Ryahn New Member

    Joined:
    Oct 18, 2012
    Messages:
    21
    Likes Received:
    0
    Reserved For Bliss
     
  4. Yshido

    Yshido Member

    Joined:
    Nov 2, 2012
    Messages:
    44
    Likes Received:
    2
    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.
     
  5. Ryahn

    Ryahn New Member

    Joined:
    Oct 18, 2012
    Messages:
    21
    Likes Received:
    0
    That is why I found a torrented version.
     
  6. hambeast

    hambeast Well-Known Member

    Joined:
    Nov 2, 2012
    Messages:
    189
    Likes Received:
    19
    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?
     
    alexlawson likes this.
  7. Ryahn

    Ryahn New Member

    Joined:
    Oct 18, 2012
    Messages:
    21
    Likes Received:
    0

    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.
     
  8. hambeast

    hambeast Well-Known Member

    Joined:
    Nov 2, 2012
    Messages:
    189
    Likes Received:
    19
    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.
     
    alexlawson and superlube like this.
  9. Sercanatici

    Sercanatici Member

    Joined:
    Feb 5, 2013
    Messages:
    45
    Likes Received:
    1
    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
     
  10. Shaun Grogan

    Shaun Grogan New Member

    Joined:
    Feb 1, 2014
    Messages:
    2
    Likes Received:
    0
    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
     
  11. alexlawson

    alexlawson OpenDayZ Rockstar!

    Joined:
    Jan 5, 2014
    Messages:
    721
    Likes Received:
    116
    Is this any good because I would install it but want to know if its stable before I test it out.
     
    Englishman likes this.

Share This Page