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