How-To Create Your Own DayZ Mod Vanilla Server

If you find this guide to be useful, please donate to The Dead Return. All donations go into the directly into the hosting account of the server. Questions? contact me (@SkiGoggles#0091) on https://discord.me/tdr.


ADVICE FROM SOMEONE WHO HAS BUILT MANY SERVERS AND HELPED MANY OTHERS GET BUILT.

  1. Start with a clean system and do all installs from scratch if possible.
  2. Follow the guide. Don’t assume any steps have been done, prerequisites have been installed, files have been copied, etc. Reinstall everything.
  3. Plan on creating a vanilla server first. Once that starts and runs correctly, make a copy of it and then start adding scripts.

QUICK NOTES FOR DayZ Mod 1.9.0 (released on December 12, 2017)

  • init.sqf was split into 2 files (init.sqf and config.sqf)
    • init.sqf now includes config.sqf (where all variables are set).
    • config_dist.sqf is shipped with the release, so edit and rename to config.sqf
    • A pure vanilla server will not need to update init.sqf anymore.
  • Full SQL scripts were not released for 1.9.0, so just use the 1.8.9 SQL files
  • One SQL upgrade script (1.9_Updates.sql) was released, so run that if you have an existing server
  • The key file is now named DayZ_1.9.0.bikey
  • The BE filters have been updated

QUICK NOTES FOR  DayZ Mod 1.8.9 (released on June 26, 2017)

  • DayZMod 1.8.9 changed a number of files not usually changed.
    • There are new Hive (DB) DLLs AND they require MSVC 2015.
    • There is a new version-based key file (typically in \arma2oa\keys) named DayZ_1.8.9.bikey. Make sure to remove the older dayz.bikey
  • The default BE filters (especially scripts.txt) are very restrictive and will need to be adjusted if you have done any scripting (for example DZGM or ESSV3).

This guide is complete except for a few items in RED that shouldn’t affect setup, but if you test them out or have any comments, let me know.

This is a step-by-step guide to get a Vanilla DayZ Mod server up and running. It assumes you have basic knowledge of Windows, batch files, MySQL and a few other applications listed below. You should also be able to edit files and keep the syntax correct whether each line has parens, braces, ends in semicolons, is enclosed in quotes or whatever.  If you’ve done any kind of scripting or coding, then this should be straightforward.

At the end of this process you will have a running Vanilla DayZ Mod Chernarus server. If you have questions, go to the #server_guide channel of the Discord

  • Go here to learn to customize your Vanilla DayZ Mod Chernarus server.
  • Go here  if you are interested in setting up a server with a different map.

Requirements / Downloads

Each of this links in this section is generally something to download.

  1. Windows
    • I’ve run a DayZ Mod server on Windows Server 2012+ as well as Windows 7,8,8.1,10 (It seems like most flavors work).
      • I have not personally tried linux, but others have (see this outdated github). The problem is that Linux does not support external calls (which is how the Hive/Db is implemented). In Linux, the read/writes to the db are simulated by parsing the output files.
    • Basic configuration is a server with (relatively new) 2 CPU, 3 GB, ~25gb disk (game programs, db, logs, etc). Graphics are not important since you are not running the client. This will handle you and a few friends.
    • A true server will need some more horsepower. While arma2 is older and can’t use more than 2 cores, MySQL and the O/S itself need some computing power. Get it running and then look at the performance monitor.
    • An SSD is helpful for the database files, but could certainly be used for all files.
  2. Arma2 & Arma2 Operation Arrowhead
    • As far as I can tell, you DO NOT need to purchase another license to run the server.
  3. Microsoft Visual C++ Redistributable Packages (x86)
  4. DayZ Mod
    • The latest vanilla codebase will be posted here and downloaded from here (as of August 2022, this website is down. Download from here now).
    • There following files are in the google drive:
      • @DayZMod_Server-1.9.0-Full.rar – complete server files
      • dayz_1337.chernarus.rar – complete 1.90 mission files
      • @DayZMod_Client-1.9.0-Full.rar – complete client files, the same as can be downloaded from steam
      • 1.9_Part1Groups.rar – fix to the database for 1.90.
      • QF1.zip, QF2.zip – Quick Fixes for 1.9.0. They are cumulative, so you only need to apply QF2 on top of the appropriate server and mission files.
      • SQL-191-Dev.zip – work-in-progress changes to the database for 1.91 which were never released. Never released, but may be useful. Not required.
      • vehicle_locations_191.sql – more work-in-progress changes to the database for 1.9.1 for new vechicle locations. Never released, but may be useful. Not required.
      • These may not be at the same directory level, but will be within the “stable” section of the current release found here.
  5. MySQL (MySQL Community Server)
    • You need to store all the character data, vehicles and other objects someplace.
    • Tested with version 5.7 ([Download here, Installer here), although it should work with newer 5.7 versions. It will not work with 8.0 and higher versions due to database default behavior changes as well as underlying driver changes.
  6. HeidiSQL
    • Or another tool to connect to MySQL and run SQL scripts.
  7. SteamCMD (Optional)
    • Makes downloading and updating arma2 and arma2oa simple. You may need Steam installed as well. If you are having Steam authorization issues, then you’ll get an error and you’ll need to install Steam. Login and authenticate your server. You DO NOT need to run steam to start the server, you only need it to use STEAMCMD for installation.
    • If you don’t want to use this method, you can just copy the arma2 and arma2oa directories (explained in the installation and configuration section below).
  8. BattlEye – The Anti-Cheat Standard
    • This is installed with arma2 and arma2oa, but you’ll need the latest DayZMod Filters from github or here.
      • Battleye-Filters-1.9.zip
  9. BEC – BattlEye Extended Controls
    • Used for displaying scheduled messages, server restarts, and other functions related to managing the server
    • The original download is no longer active, but you can try this one (TheGamingChief / BattlEye-Extended-Controls),   google “BEC” or go here.
      • Bec.zip
  10. DaRT – A Lightweight DayZ (and ArmA) RCon Tool – can be downloaded here or maybe here.
    • Used to send in game messages and to manage bans
      • DaRT V2_1.zip

Other useful tools

  1. 7zip
    • Used to extract various archives and compress backups
  2. Notepad++ and the SQF highlighting plug-in is available here.  Used to edit files for setup and customization
    • Notepad-SQF-Syntax-Highlighting-and-Auto-Completion-version-2017-10-08.7z
  3. PBO Manager is available here
    • Used to unpack/repack .PBO files.
      • pbo_manager_v14.7z
  4. Dropbox
    • Useful to move files back and forth from your server as opposed to FTP
    • Good as the “Cloud” backup destination
  5. Discord – FREE!

Installation & Configuration

I’ll go step by step and I’m going to make some assumptions that everything is going into some standard directories on your C:\ drive. It makes it much simpler to have a standard point of reference. The scripts I provide will assume all of the directories mentioned.

  1. Download the sample configuration and batch files  from the #files channel on The Dead Return Discord or here. Don’t forget to edit any usernames and passwords.
    1. cfgdayz.zip
    2. servertools.zip
    3. steamcmd.zip (optional – see #2)
  2. Install Arma2 and Arma2OA on the destination server
    1. Method #1
      1. Navigate to your steamapps directory, typically c:\Program Files (x86)\Steam\steamapps\common
      2. Copy the entire Arma2 directory structure from c:\Program Files (x86)\Steam\steamapps\common\Arma2\* to c:\arma2 on the destination server
      3. Copy the entire Arma2OA directory structure from c:\Program Files (x86)\Steam\steamapps\common\Arma Operation Arrowhead 2 to c:\arma2oa on the destination server
    2. Method #2
      1. Copy SteamCMD into c:\steamcmd by unzipping steamcmd.zip
      2. You may need to install and login to STEAM to authorize this computer depending on the account you use (primary or shared) and whether you have 2-factor authentication setup.
      3. Install Arma2 into c:\arma2 using SteamCMD
      4. Install Arma2 Operation Arrowhead into c:\arma2oa using SteamCMD
  3. Create a SYMLINK from c:\arma2oa\Addons to c:\arma2\Addons (?? IS THIS NEEDED??)
    1. Use create_addons_link.bat from server_tools.zip
    2. This is cleaner than copying the directory over
  4. Edit or Create c:\arma2oa\steam_appid.txt
    1. The file should contain number to “224580” (without quotes).
    2. This change will allow your server to show up in the Steam->DayZMod server browser.
  5. Install MSVC 2008,2010,2013,2015 Redistributable Packages (x86)
  6. Install MySQL (5.7 is current as of April, 2016)
    1. By default the install directory is c:\Program Files\MySQL\MySQL Server 5.7
    2. Select the setup type as “Server Only”
    3. Set the config type as “Server Machine”
    4. Set and remember the root password!
    5. Create a new user, named “dayzhivemind”. “dayzhivemind” is the default and is used by each of the stored procedures, so changing it means more work later.
      1. Give the user “dayzhivemind”, the “Db Admin” role.
      2. Give the user “dayzhivemind” access to all hosts (From Host set to %). (Might need to do this later in User Manager before running all the SQL scripts)
      3. Remember the password!
    6. Do not install MySQL as a service since it makes a few things more difficult
      1. Identifying startup + shutdown errors
      2. Changing startup parameters
      3. Moving the Db files
    7. By default, the data directory is C:\ProgramData\MySQL\MySQL Server 5.7 – This is a hidden directory and important to know if you want to move the Db (to an SSD, for example).
  7. Install HeidiSQL
    • You’ll need something to run the SQL scripts.
  8. Setup the DayZ Mod database
    • Connect to your mysql database using HeidiSQL.
    • Make sure the user “dayzhivemind” has access to all hosts (From Host set to %). You can change this in Tools->User Manager.
    • Create a new database named hivemind (this is the default in HiveExt.ini)
    • From the archive @DayZMod_Server-1.9.0-Full.rar go into the SQL\1.8.9 directory and run each of the 28 SQL scripts. Fyi, 1.9.0 did not release a full set of SQL SQL files
      1. 3h updates.sql
        • Scheduled events that will run pMain() every 3 hours. You can edit this event to set the instanceid and times to match your restarts
        • OR make sure that your startup process includes a call to pMain(instanceid) (the included script does that). [I’ve always used this method]
      2. character_data.sql
        • All character information (lastlogin, backpack, inventory, worldspace, medical status, kills, etc). Includes dead and alive characters.
      3. character_dead.sql
        • Unused
      4. countVehicles.sql
        • Procedure to count the total number of vehicles
      5. countVehiclesClass.sql
        • Procedure to count the total number of vehicles, by classname
      6. countVehiclesGroup.sql
        • Procedure to count the total number of vehicles by group
      7. event_scheduler.sql
        • Log of the time the scheduled events have run
      8. generateUID.sql
        • Function to generate a unique identifier used by new objects in object_data
      9. getNumSpawnable.sql
        • Function to calculate the number vehicles available to spawn based on individual class max and group max.
      10. object_classes.sql
        • Unused (old spawn table pre-1.8.6.1) / Removed in 1.8.9
      11. object_data.sql
        • Stores information about all vehicles and player created objects (tents, stashes, sandbag walls, tank traps, walls, gates, tripwires, etc)
      12. object_spawns.sql
        • Unused (old spawn locations pre 1.8.6.1)/ Removed in 1.8.9
      13. pCleanup.sql
        • General db cleanup script. After a certain period of time, deletes 100% damaged vehicles, empty tents, sandbags, tank trap, tripwires, incomplete fences + gates, dead players and base fires.
      14. pCleanupBase.sql
        • After a period of time, sets maintenance status on base walls and gates and degrades them.
      15. pCleanupOOB.sql
        • Removes player created objects AND vehicles placed out of bounds (sometimes called the ‘debug area’)
      16. player_data.sql
        • Mapping of GUID to player name
      17. player_login.sql
        • Log of player login/logout by GUID
      18. pMain.sql
        • Procedure that updates the event scheduler, cleans up random objects, bases and respawns vehicles.
      19. pSpawnVehicles.sql
        • Procedure to respawn vehicles (by instance) based on vehicle max, group max and available locations
      20. randomizeVehicleHitpoints.sql
        • Procedure to randomly set vehicle hitpoints via sets of parts in vehicle_hitpoints
      21. randomizeVehicleInventory.sql
        • Procedure to randomly add vehicle inventory via sets of items in vehicle_inventory
      22. rndspawn.sql
        • Function to return a random number
      23. vehicle_groups.sql
        • Contains Group ID and maximum number of vehicles for that group
      24. vehicle_hitpoints.sql
        • Sets of vehicle part names as well as minimum and maximum damage
      25. vehicle_inventory.sql
        • Sets of vehicle inventory items and as well as minimum and maximum quantities and spawn chance.
      26. vehicle_locations.sql
        • Sets of vehicles locations, stored as worldspace
      27. vehicle_spawns.sql
        • List of all vehicles as well as chance to spawn and various other attributes
      28. vehicle_spawns_groups.sql
        • Maps Spawn ID to Groups ID so that vehicles can belong to more than one group.
    • You will get warnings when running most scripts. If there is no specific message, just ignore it.
    • From the archive @DayZMod_Server-1.9.0-Full.rar go into the SQL\1.9.0 extract and execute the single SQL script
      • 1.9_Updates.sql – updates some classnames
    • From 1.9_Part1Groups.rar, extract and execute the the 3 SQL scripts
      • vehicle_groups.sql
        • Contains Group ID and maximum number of vehicles for that group.
      • vehicles_spawn_groups.sql
        • Maps Spawn ID to Groups ID so that vehicles can belong to more than one group.
      • vehicle_spawn_groups_view.sql
        • View to see vehicles per group
  9. Install the DayZMod Server files into c:\arma2oa
    • Look for an archive like @DayZMod_Server-1.9.0-Full and extract it into c:\arma2oa
    • You should end up with a c:\arma2oa directory structure that will have these entries plus anything else already there from the arma2oa install. (this is a typical list from 1.9.0)
      • c:\arma2oa\@Dayz\
      • c:\arma2oa\@Hive\
      • c:\arma2oa\cfgdayz (you only need to grab the HiveExt.ini from here). DO NOT keep your config directory under c:\arma2oa. arma2oaserver can read files within its directory structure so its possible a hacker/scripter could locate your rcon and db password in various config files.
        • This directory can be removed after copying HiveExt.ini from it
      • c:\arma2oa\Keys\
        • Starting with DayZ Mod 1.8.9, each new version has a new .key file Make sure to remove the older dayz.bikey
      • c:\arma2oa\SQL\
        • SQL scripts to create the database.
      • c:\arma2oa\DatabaseMySql.dll
      • c:\arma2oa\DatabasePostgre.dll (not really needed – historic)
      • c:\arma2oa\tbb.dll
      • c:\arma2oa\tbbmalloc.dll
  10. Install the DayZMod Mission files into c:\arma2oa\MPMissions
    • Look for an archive like dayz_1337.chernarus.
      • “1337” is the server instanceid and is numeric. You can use this number in the directory name OR change it, but  save this number – you’ll need it later.
      • “.Chernarus” refers to the MAP, is required and is important to know if you’d like to run another map.
    • You should end up with a c:\arma2oa\MPMissions directory structure that will have these files and directories. (this is a typical list from 1.9.0).
      • c:\arma2oa\MPMissions\dayz_1337.chernarus\config_dist.sqf
      • c:\arma2oa\MPMissions\dayz_1337.chernarus\description.ext
      • c:\arma2oa\MPMissions\dayz_1337.chernarus\fixes\ (if there are any post-release patches)
      • c:\arma2oa\MPMissions\dayz_1337.chernarus\init.sqf
      • c:\arma2oa\MPMissions\dayz_1337.chernarus\manifest
      • c:\arma2oa\MPMissions\dayz_1337.chernarus\mftsign
      • c:\arma2oa\MPMissions\dayz_1337.chernarus\mission.sqm
      • c:\arma2oa\MPMissions\dayz_1337.chernarus\rules.sqf
    • Make a copy of config_dist.sqf and rename to config.sqf.  Edit config.sqf
      • dayZ_instance = 1337; // Instance ID of this server
        • Or whatever number you decided to use. Doesn’t matter, it just needs to be consistent. It should match what you used to call pMain() on startup
      • set dayZ_serverName = “”;  Optional. This will show up as a watermark in the lower left corner (can only be 6 characters long).
      • set dayz_presets to one of “Custom”,”Classic”,”Vanilla”,”Elite” and follow the comments below to adjust other settings if you pick “Custom”
    • Edit rules.sqf
      • Change _messages to reflect whatever you want the players to see on login.
  11. Create a configuration directory named c:\cfgdayz
    • Place HiveExt.ini in c:\cfgdayz
      • Edit the [Database] section and update Host, Port, Database, Username, Password. Defaults for a local MySql might look like
        • Host = 127.0.0.1
        • Type = MySql
        • Port = 3306
        • Database = hivemind
        • Username = dayzhivemind
        • password = dayzhivemind
      • Optionally, edit the [Time] and [Logger] sections per the comments
      • The [Characters] and [ObjectDB] sections are obsolete since the Official Hive no longer exists
      • I am unsure if the [Objects] section is relevant
        • CleanupPlacedAfterDays – I’ve heard some people mention it
        • ResetOOBVehicles – this is taken care of in the database procedure pCleanupOOB()
    • Place server.cfg in c:\cfgdayz
      • Edit the hostname to be your server name. This will show up in the Steam browser and other launchers like DayZ Launcher. If you don’t want you server to show up, make it an empty string (hostname=””;)
      • Edit the password if needed
      • Edit and/or add to the motd[] (Message of the Day) to add server name, contact info, whtaver. This shows up during login i nthe lower left corner of the screen (and nobody reads it).
      • Edit maxPlayers
      • Make sure verifySignatures=1;
      • Make sure requiredBuild = 131129; (or higher if a new build of arma2oa is released)
      • Edit the template to match the name of your mission directory in the c:\arma2oa\mpmissions directory (for example)
        template = dayz_1337.Chernarus;
        • The first part of the name (dayz_1337 can be anything. The second part MUST be “.Chernarus” since it represents the name of the map)
    • Place basic.cfg in c:\cfgdayz
    • Create a BattlEye directory named c:\cfgdayz\BattlEye
      • put your bans.txt in this directory OR just an empty text file.
      • Place latest BE Filters in c:\cfgdayz\BattlEye
      • Place BEServer.cfg in c:\cfgdayz\BattlEye and CHANGE RconPassword
      • You’ll need this password for DaRT and other admin tools. Do not leave the default and remember the new password. Note – while the server is running the file will be renamed slightly “BEServer_NNNN.cfg” and it will be locked. Once the server it stopped, it will be renamed back and can be edited.
  12. Create a tools directory named c:\ServerTools – each of the batch files listed below need to be edited if you have changed any of the default directories. Also, review each one for any specific directories or login info. For example, the scripts refer to some cloud directories which are dropbox directories for cloud backups.
    1. Put mysqlstartup.bat in c:\ServerTools
      • You MUST run this script as ADMINISTRATOR
    2. Put mysqlshutdown.bat in c:\ServerTools
      • You can run this or just ctrl-c in the mysql window. MySQL is needed for the server to work, so it will always be running.
    3. Put mysqlbackup.bat in c:\ServerTools
      • Based on standard MySQL backup scripts
      • Review the file and edit all appropriate variables for your environment.
      • Create one or more Windows scheduled tasks to backup the database
    4. Put WatchDog.bat in c:\ServerTools
      • This is the KEY batch file that run MySQL->pMain(), starts arma2oaserver, starts BEC and zips and rotates the log files. This batch file also watches to make sure the arma2oaserve.exe process is running and if not, restarts it.  Review this file and make sure to edit all appropriate variables for your environment.
        • Directories for arma2, arma2oa, mysql, BEC, config files, BE
        • server name, IP, port, instanceid (VERY IMPORTANT)
        • mysql username, password db, port
        • Review every single line that starts with “set”
      • There is an aram2oaserver glitch (discussed in troubleshooting below) which a possible workaround is to “lock” the server during startup. This is done by closing/opening the firewall port. Looking for the following and make sure name= maches the name of your firewall rules that you will setup below.
        • netsh advfirewall firewall set rule name=”ArmA 2 OA UDP 2302″ new enable=no
        • netsh advfirewall firewall set rule name=”ArmA 2 OA UDP 2302″ new enable=yes
      • Note that restarting the server(arma2oaserver.exe) is technically incorrect terminology. This script will start the server executable, then look every 30 seconds to make sure the  process is still running. If it’s not running, the scripts will start it again. BEC is used to shutdown the server and then the script notices its not running and starts it again.
    5. Put BEC into c:\servertools\BEC
      • Extract the BEC.zip into here.
      • Edit c:\servertools\BEC\config\config.cfg and make sure IP, Port and BePath are set correctly
        # Set the ip to your server. normally 127.0.0.1 will be fine.
        Ip = 127.0.0.1
        
        # Set the port to the server. default port is 2302
        Port = 2302
        
        # Set the path to the BattlEye directory that is currently in use by the server.
        BePath = C:\cfgdayz\BattlEye
      • Unless you have a custom bans file, then comment out that config like this
        # BeCustomBanFiles = Bans1.txt, file2.txt, file3.txt
      • unless you are whitelisting players, then comment out that config like this:
        # Set the path to the file containing whitelisted guids.
        #WhiteListFile = WhiteList.txt
        # Set custom whitelist kick message. Text must be in ascii letters. MAX 58 CHARS. BE only does ascii on messages
        #WhiteListKickMsg = You are not whitelisted on this server.
  13. Edit c:\servertools\BEC\config\scheduler.xml to setup scheduled messages and shutdowns, etc.
  14. BEC is no longer being maintained. On startup BEC will try and update and will timeout with an error. You can ignore it. To make the timeout quicker, add the following 2 lines to your Windows HOSTS file (by default it is c:\windows\system32\drivers\etc\hosts):
    127.0.0.1 ibattle.org
    127.0.0.1 www.ibattle.org
  • Put Dart into c:\ServerTools\dart
    • If you haven’t already done so, edit c:\cfgdayz\BE\BEServer.cfg and CHANGE RConPassword.
  • Run the file DXSETUP.EXE, found in the DIRECTX directory of Arma 2 Operation Arrowhead – usually C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\DIRECTX

Firewall Settings

  1. Arma2OAServer.exe (default ports)
    • 2 INBOUND rules – Arma2OAServer.exe – port 2302, 2303, UDP (make note of the name)
    • 1 OUTBOUND rule – Arma2OAServer.exe – all ports, UDP (make note of the name)
  2. MySQL.exe (default port)
    • mysql uses port 3306. If you are running a publicly hosted server, the best security policy is to close this port and only access it locally.
    • If you leave this port open, you should restrict inbound access to your personal IP address. If you do not,  you will most likely see bad logins in the MySQL Console – this is hackers doing port scans and trying to get in.

Router Settings

If you are creating a server on a PC in your home, don’t forget to create the port forwarding for 2302 (required), 2303 (required) and 3306 (only if needed).

Startup

  1. Start MySQL
    • Run c:\servertools\startmysql.bat as ADMINISTRATOR
  2. Start arma2oaserver and BEC
    • Run c:\servertools\watchdog.bat
  3. Start DaRT
    • Run c:\servertools\dart\dart.exe
    • Set the IP address of your server (127.0.0.1 if its local)
    • Set the password to whatever you put in BeServer.cfg
  4. Connect to the server via the DayZ Mod Steam link!
    • The arma2oa link will not work

Discord

DayZ Launcher

  1. Your server will not show up automatically. Go to http://dz.launcher.eu/check and enter your IP and port and press “Check”. Now it will show up on the list.
  2. Players will need to check the “Launch DayZ Mod as Steam App” in the Settings to connect to your server.

Troubleshooting (while getting the server to run)

  1. If you get an error about “x3daudio1_6.dll”, then you need DirectX9.0c.
    • Run the file DXSETUP.EXE, found in c:\arma2oa\DirectX
    • If you download DirectX from Microsoft you may get a newer version that will not fix this issue. You need the particular version shipped with arma2oa.
  2. If you get and error that MSVCP1000.dll is missing
    • You need the Microsoft Visual C++ 2010 Redistributable Package.
    • Download it here or google it, if it’s moved.
  3. If clients hang on “waiting for host” but the logs look ok.
    • Find each and every .DLL file in the c:\arma2oa directory, right-click on properties. In the main screen or maybe in the security tab look for a button labeled “unblock” and click it. Sometimes .DLL files moved from other windows servers are blocked by windows security features….sometimes.
    • Make sure the client is specifying the correct port.
    • Make sure the server firewall has the correct ports open.
    • Make sure the mission directory specified in server.cfg is correct and exists.
    • Make sure the db info in HiveExt.ini is correct
    • Make sure when you launch arma2oaserver.exe the parameters all point to the correct configuration directories.
  4. If BEC starts up, tries to update and immediately exits
    • Check to make sure you updated your HOSTS file as noted above. The addresses should look exactly as listed and no http: in front of them
  5. If arma2oaserver.exe crashes while loading the database objects (1.8.9)
    • Make sure you updated the DLL files that came with the release
  6. If you get an error that the server is running the wrong version (1.8.9)
    • Make sure you have updated the @DayZ files on the server AND added the new KEY file.
  7. If you connect, see the message of the day and then “You were kicked off the game”
    • make sure DayZ_1.9.0.bikey is copied to /arma2oa/keys/

Troubleshooting (while administering the server)

  1. Vehicles aren’t spawning!
    • Before arma2oaserver starts, a call is made to MySQL->pMain() (via the watchdog.bat script). This is what causes all of the built-in SQL scripts to cleanup objects and spawn vehicles.
    • If you can’t find any vehicles in the game, make sure every place instanceid is used, its set to the same value A very common mistake is to set it to one thing in init.sqf and another in the startup. Take a look in object_data at the instanceid column. That is what the game reads from – does it match init.sqf?
    • If you still can’t figure it out, make sure that all of the SQL files have been run successfully. The game will still work without a number of the tables and procedures.
  2. Players are complaining that all the tents, stashes, bases and vehicles are GONE but the database looks fine.
    • Its an arma2oa glitch. You’ll have to restart the server to fix this. All of those objects are read into the server from the database on the first player connection. If that player has a bad connection or gets disconnected, the game will start but the objects may not load.
  3. If the arma2oaserver.exe process crashes, you will most likely see the dialog “arma2oaserver.exe has stopped working” and you have to click on “Close the program” to get it to go away. The problem with this is that the watchdog.bat script is looking for the process, which is still running until you close that dialog.
    • To change this, and have the process just die and go away, you need to turn off the error dialog in the windows group policy editor.
    • This blog has a thorough description of how to do it, but here are the steps.
      • Open the Group Policy Editor by typing gpedit.msc into the Start search box or the Run dialog.
      • Navigate to Computer Configuration > Administrative Templates > Windows Components > Windows Error Reporting. Double click on “Prevent display of the user interface for critical errors” in the pane on the right.
      • Click on the radio button Enabled and then press OK.

Troubleshooting (from the client side)

  1. If you get the error “This server is running an incorrect version of the server side application. You cannot play on this server”
    • You forgot to install the Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
  2. If you get “Session Lost”
    • The server appid is set 224580, which means the players need to use STEAM->dayzmod to launch the game OR dayzlauncher with “launch dayzmod as steam app” checked in the settings.
    • Steam should be run as ADMINISTRATOR

Open Items

  1. User profiles and Settings (Waypoints, Map centering , Crosshairs etc.)

Finally, remember that DayZ Mod (Released 2012) is based on Arma II Operation Arrowhead (released in 2010) which is based on Arma II (Released 2009). A lot of the community has moved on to Arma III or DayZ Standalone or other games entirely. Plenty of the information out there is old, incomplete or not applicable to the codebase you are working on.  Dont be discouraged – If you dig in, ask some questions online (there are still a few people helping), then you’ll figure it out.

16 thoughts on “How-To Create Your Own DayZ Mod Vanilla Server

  1. How feasible is running the server on the same laptop I am playing the game from? I am assuming it might be possible, but the performance would be unbearable, everything would lag horribly, etc.
    I have zero experience running a server for any game, never needed it for anything so I didn’t bother, but now I’ve been getting the itch to play DayZ again, except I don’t really want to play it online with other people and just want solo survival experience without anyone bothering me.
    The alternative would be playing on dead servers, but playing on my own server would be more convenient since it would eliminate the possibility of anyone else coming on, I wouldn’t be at risk of losing my progress due to the server going down/getting locked/etc. and I could play it without being connected to internet.

    Like

      1. I’ll probably do as you say, go on dead servers and try playing there, but I also got one extra laptop lying around so I might eventually try setting up a server on it. Hopefully your tutorial or somebody else’s will help me with the setup should I decide to do so. Thank you for your answer.

        Like

  2. Hi, whenever I run the Watchdog.bat after setting everything up, when the arma2oa server starts, it always fails to initialize battleye. I have performed countless checks and tests for a few hours making sure I haven’t missed anything and the syntaxt and directory variables are correct. Still to no avail. Mind shedding some light in the matter for me?

    Like

    1. Sorry for the late reply, need to find me on the server discord. Probably means your directory settings are messed up. Be very careful with adding any quotes or spaces and especially make sure there are slashes only where there should be.

      Also try and run the be install by itself

      Like

  3. Does anyone still check this? I am trying to setup an Arma 2 DayZ server by this instruction. After the watchdog calls arma to start I get “ArmA 2 OA (title) Addon ‘dayz_anim’ requires addon ‘CA_Dubbing_Counterattack’. There is a few posts about this for CLIENTS but I find zilch for dedicated servers. I cannot find a file with that name in any folder for the server or client files from the download.
    In addition, which I click past that I see the Arma white console open. It gets to the Game port line and then no more.The watchdog window shows: INFO: No tasks running with the specified criteria. Trying loop.
    Then, ERROR: The search filter cannot be recognized.
    ATTENTION: ArmA closed or crashed, restarting.

    Then it loops.
    The closed or crashed message is all that is in the watchdog log.
    The aram2oaserver.rpt is empty.
    dumperrors.txt is empty

    Any direction would be appreciated.

    Like

  4. thanks for the support, if BE is no longer supported and its all played on a lan only, think invited lan guests only, can i log onto this with a debian machine that fails to load arma2oa with BE

    Like

      1. thanks for the reply, i know this is an old walkthro, i appreciate your response, is there much to disable BE, i havent been able to find anything sensible about disabling it, would you be willing to share how to do that?

        Like

Leave a comment