The ideal DayZ server start bat

Using a batch file to start a DayZ server is common practice, there are many ways, methods and features to put in the batch file most confusing to beginners.

Read this if you want to learn about batch files.

Below is an easy to use DayZ server start batch or .bat file that will restart the server after 4 hours, it does this by doing a loop from creation through to destory and back again. The batch file also allows for easy configuration by using defined variables.

DayZ server start batch

Here is a DayZ Standalone server start batch file with comments:

@echo off
:start
::Server name
set serverName=Jims DayZ server
::Server files location
set serverLocation="C:\Program Files (x86)\Steam\steamapps\common\DayZServer"
::Server Port
set serverPort=2302
::Server config
set serverConfig=serverDZ.cfg
::Logical CPU cores to use (Equal or less than available)
set serverCPU=2
::Sets title for terminal (DONT edit)
title %serverName% batch

::DayZServer location (DONT edit)
cd "%serverLocation%"
echo (%time%) %serverName% started.
::Launch parameters (edit end: -config=|-port=|-profiles=|-doLogs|-adminLog|-netLog|-freezeCheck|-filePatching|-BEpath=|-cpuCount=)
start "DayZ Server" /min "DayZServer_x64.exe" -config=%serverConfig% -port=%serverPort% -cpuCount=%serverCPU% -dologs -adminlog -netlog -freezecheck

::Time in seconds before kill server process (14400 = 4 hours)
timeout 14390
taskkill /im DayZServer_x64.exe /F
::Time in seconds to wait before..
timeout 10
::Go back to the top and repeat the whole cycle again
goto start

After 4 hours the server process will be ended and after 10 seconds will start over again. Ensure you configure it to your needs, change the server location if needed (it is set for default location) and save it as a .bat file.

dayz start batch

Using BEC?

If you are running BEC alongside DayZ something such as this would suit you:

@echo off
:start
::Server name
set serverName=Jims DayZ server
::Server files location
set serverLocation="C:\Program Files (x86)\Steam\steamapps\common\DayZServer"
::BEC location
set BECLocation="C:\Program Files (x86)\Steam\steamapps\common\DayZServer\BEC"
::Server Port
set serverPort=2302
::Server config
set serverConfig=serverDZ.cfg
::Logical CPU cores to use (Equal or less than available)
set serverCPU=2
::Sets title for terminal (DONT edit)
title %serverName% batch

::DayZServer location (DONT edit)
cd "%serverLocation%"
echo (%time%) %serverName% started.
::Launch parameters (edit end: -config=|-port=|-profiles=|-doLogs|-adminLog|-netLog|-freezeCheck|-filePatching|-BEpath=|-cpuCount=)
start "DayZ Server" /min "DayZServer_x64.exe" -config=%serverConfig% -port=%serverPort% -cpuCount=%serverCPU% -dologs -adminlog -netlog -freezecheck
::Time in seconds before starting BEC
timeout 25
cd /d "%BECLocation%"
start "" "bec.exe"
::Time in seconds before kill server and BEC process (14400 = 4 hours)
timeout 14390
taskkill /im DayZServer_x64.exe /F
taskkill /im bec.exe /F
::Time in seconds to wait before..
timeout 10
::Go back to the top and repeat the whole cycle again
goto start

You can read about the launch parameters here.

Link for these startup bats on GitHub.