Advertisement
Guest User

Untitled

a guest
Mar 25th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.56 KB | None | 0 0
  1. @echo off
  2.  
  3. :: // General references (locations)
  4. :: Fields: [ Scrip home(Homedir), arma2oaserver.exe(GameServerPath), MySQL.exe(MYSQLPath), BEC.exe(BECPath) ]
  5. set Homedir=%CD%
  6. set GameServerPath="C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\"
  7. set GameServerExe="C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\arma2oaserver.exe"
  8. set MYSQLPath=C:\Program Files\MySQL\MySQL Server 5.7\bin\"
  9. set MYSQLExe="C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe"
  10. set BECPath="C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\cfgdayz\BEC\"
  11. set BlockerPath="C:\Server\DayZ\"
  12.  
  13. :: // Server Affinity settings
  14. :: Core 0
  15. set affinity1=1
  16. :: Core 1
  17. set affinity2=2
  18. :: Core 2
  19. set affinity3=4
  20. :: Core 3
  21. set affinity4=8
  22. :: Core 4
  23. set affinity5=16
  24. :: Core 5
  25. set affinity6=32
  26. :: Core 6
  27. set affinity7=64
  28. :: Core 7
  29. set affinity8=128
  30. :: Core 0+1
  31. set affinity01=3
  32. :: Core 2+3
  33. set affinity23=C
  34. :: Core 4+5
  35. set affinity45=30
  36. :: Core 6+7
  37. set affinity67=C0
  38. :: Core 0+1+2+3
  39. set affinity0123=F
  40.  
  41. :: // Arma2oa Server Settings.
  42. :: Fields: [ Name(servername), IP(serverip), Port(serverport), Launch paramters(addpar) ]
  43. set servername=[DE]lonexx-gaming.de[1.8.7|Chernarus|Vanilla|Day only|New]
  44. set serverip=127.0.0.1
  45. set serverport=2302
  46. set addpar=-maxMem=2047 -bandwidthAlg=2 -cpuCount=4 -exThreads=1 -malloc=tbb4malloc_bi -nosplash -noSound -pid=C:\cfgdayz\server_pid.txt
  47. :: removed params: -cpuCount=4 -exThreads=1 -autoinit -skipIntro -noPause -noCB
  48.  
  49. :: // Arma2oa Server Configuration location(s).
  50. :: Fields: [ Root folder(configloc), Configuration(servercfg), Basic(basiccfg), BattlEye filters(BattlEyePath), PID creation path(PIDPath) ]
  51. :: <comment> (please note that the suffix '\' should be excluded) </comment>
  52. set configloc=C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\cfgdayz
  53. set servercfg=C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\cfgdayz\server.cfg
  54. set basiccfg=C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\cfgdayz\basic.cfg
  55. set BattlEyePath=C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\cfgdayz\BattlEye
  56. set PIDPath=C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\cfgdayz
  57. set LogPath=C:\Program Files (x86)\Steam\steamapps\common\Arma 2 Operation Arrowhead\cfgdayz
  58.  
  59.  
  60. :: // MySQL Settings.
  61. :: Fields: [ IP(mysqlhost), Port(mysqlport), Username(mysqlusr), Password(mysqlpwd), Database name(mysqldb), Game instance-ID(instanceid) ]
  62. set mysqlhost=localhost
  63. set mysqlport=3306
  64. set mysqlusr=root
  65. set mysqlpwd=@Dmin!669
  66. set mysqldb=dayz_chernarus
  67. set instanceid=1336
  68.  
  69.  
  70. cls
  71. echo Protecting Server: [ %servername% ] from crashes...
  72. title DayZMod_%serverip%_%serverport% Watchdog
  73. timeout /T 5
  74. goto logrotation
  75.  
  76. :update
  77. ::D:\GameServers\SteamCMD\steamcmd.exe +runscript "D:\GameServers\steamCMD\steamapps\Common\DayZMod_%serverip%_%serverport%\DayZMod_%serverip%_%serverport%.cfg
  78. ::timeout /T 5
  79. goto StartMysql
  80.  
  81. :StartMysql
  82. echo Executing spawn script...
  83. %MYSQLExe% --user=%mysqlusr% --password=%mysqlpwd% --host=%mysqlhost% --port=%mysqlport% --database=%mysqldb% --execute="call pMain(%instanceid%)"
  84. timeout /T 5
  85. goto StartServer
  86.  
  87. :StartServer
  88. echo DayZMod_%serverip%_%serverport% started.
  89. "C:\Windows\System32\cmd.exe" /C start "DayZMod_%serverip%_%serverport%" /HIGH /AFFINITY F %GameServerExe% -port=%serverport% -config=%servercfg% -cfg=%basiccfg% -profiles=%configloc% -bepath=%BattlEyePath% -name=prod -mod=@DayZ;@Hive %addpar%
  90. :: Removed for testing /AFFINITY %affinity01%
  91. echo (%date%) (%time%) Waiting for Dayz to start.
  92. TIMEOUT /T 20
  93. goto StartBEC
  94.  
  95. :StartBEC
  96. echo Starting BEC ELITE.
  97. start /D %BECPath% "BEC Europa" Bec.exe -f Config_Europa.cfg
  98. TIMEOUT /T 20
  99. goto armaloop
  100.  
  101. :armaloop
  102. for /f %%a in (%PIDPath%\server_pid.txt) do (
  103. SET pid=%%a
  104. )
  105. taskkill /f /fi "status eq not responding" /im arma2oaserver.exe
  106. echo (%date%) (%time%) ATTENTION: trying loop
  107. TIMEOUT /T 30
  108. tasklist /fi "PID eq %pid%" /FO TABLE | find /i "arma2oaserver.exe"
  109. if "%ERRORLEVEL%"=="0" goto armaloop
  110. if "%ERRORLEVEL%"=="1" goto armacrashed
  111. exit
  112.  
  113. :armacrashed
  114. IF NOT EXIST Watchdog_Logs (
  115. mkdir %LogPath%\Watchdog_Logs\
  116. )
  117. echo (%datestamp%) (%timestamp%) ATTENTION: ArmA closed or crashed, restarting.
  118. echo (%datestamp%) (%timestamp%) ATTENTION: ArmA closed or crashed > %LogPath%\Watchdog_Logs\%fullstamp%_Crash.txt
  119. TIMEOUT /T 30
  120. goto logrotation
  121.  
  122. :logrotation
  123. :: Declare how date / time should be handled.
  124. for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
  125. set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
  126. set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
  127. set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" & set "fullstamp=%YYYY%-%MM%-%DD%_%HH%%Min%-%Sec%"
  128.  
  129. cls
  130. echo (%datestamp%) (%timestamp%) Starting Log Rotation.
  131.  
  132. IF NOT EXIST Watchdog_Logs (
  133. Mkdir Watchdog_Logs
  134. )
  135.  
  136. :: Check / Copy / Clear Server Logs
  137.  
  138. :: arma2oaserver.RPT
  139. IF EXIST %LogPath%\arma2oaserver.RPT (
  140. Echo Copying arma2oaserver.RPT from (%timestamp%)
  141. IF NOT EXIST %LogPath\%datestamp%\%timestamp%\ (
  142. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  143. )
  144. copy %LogPath%\arma2oaserver.RPT %LogPath%\Logs\%datestamp%\%timestamp%\arma2oaserver.RPT /Y
  145. break>%LogPath%\arma2oaserver.RPT
  146. )
  147.  
  148. :: HiveExt.log
  149. IF EXIST %LogPath%\HiveExt.log (
  150. Echo Copying HiveExt.log from (%timestamp%)
  151. IF NOT EXIST %LogPath\%datestamp%\%timestamp%\ (
  152. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  153. )
  154. copy %LogPath%\HiveExt.log %LogPath%\Logs\%datestamp%\%timestamp%\HiveExt.log /Y
  155. break>%LogPath%\HiveExt.log
  156.  
  157. :: server_console.log
  158. IF EXIST %LogPath%\server_console.log (
  159. Echo Copying server_console.log from (%timestamp%)
  160. IF NOT EXIST %LogPath\%datestamp%\%timestamp%\ (
  161. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  162. )
  163. copy %LogPath%\server_console.log %LogPath%\Logs\%datestamp%\%timestamp%\server_console.log /Y
  164. break>%LogPath%\server_console.log
  165. )
  166.  
  167. :: Check / Copy / BattlEye Logs
  168.  
  169. :: waypointstatements.log
  170. IF EXIST %BattlEyePath%\waypointstatements.log (
  171. Echo Copying waypointstatements.log from (%timestamp%)
  172. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  173. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  174. )
  175. copy %BattlEyePath%\waypointstatements.log %LogPath%\Logs\%datestamp%\%timestamp%\waypointstatements.log /Y
  176. break>%BattlEyePath%\rcon_elite.log
  177. )
  178.  
  179. :: teamswitch.log
  180. IF EXIST %BattlEyePath%\teamswitch.log (
  181. Echo Copying teamswitch.log from (%timestamp%)
  182. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  183. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  184. )
  185. copy %BattlEyePath%\teamswitch.log %LogPath%\Logs\%datestamp%\%timestamp%\teamswitch.log /Y
  186. break>%BattlEyePath%\teamswitch.log
  187. )
  188.  
  189. :: setvariable.log
  190. IF EXIST %BattlEyePath%\setvariable.log (
  191. Echo Copying setvariable.log from (%timestamp%)
  192. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  193. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  194. )
  195. copy %BattlEyePath%\setvariable.log %LogPath%\Logs\%datestamp%\%timestamp%\setvariable.log /Y
  196. break>%BattlEyePath%\setvariable.log
  197. )
  198.  
  199. :: setpos.log
  200. IF EXIST %BattlEyePath%\setpos.log (
  201. Echo Copying setpos.log from (%timestamp%)
  202. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  203. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  204. )
  205. copy %BattlEyePath%\setpos.log %LogPath%\Logs\%datestamp%\%timestamp%\setpos.log /Y
  206. break>%BattlEyePath%\setpos.log
  207. )
  208.  
  209. :: setdamage.log
  210. IF EXIST %BattlEyePath%\setdamage.log (
  211. Echo Copying setdamage.log from (%timestamp%)
  212. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  213. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  214. )
  215. copy %BattlEyePath%\setdamage.log %LogPath%\Logs\%datestamp%\%timestamp%\setdamage.log /Y
  216. break>%BattlEyePath%\setdamage.log
  217. )
  218.  
  219. :: selectplayer.log
  220. IF EXIST %BattlEyePath%\selectplayer.log (
  221. Echo Copying selectplayer.log from (%timestamp%)
  222. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  223. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  224. )
  225. copy %BattlEyePath%\selectplayer.log %LogPath%\Logs\%datestamp%\%timestamp%\selectplayer.log /Y
  226. break>%BattlEyePath%\selectplayer.log
  227. )
  228.  
  229. :: scripts.log
  230. IF EXIST %BattlEyePath%\scripts.log (
  231. Echo Copying scripts.log from (%timestamp%)
  232. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  233. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  234. )
  235. copy %BattlEyePath%\scripts.log %LogPath%\Logs\%datestamp%\%timestamp%\scripts.log /Y
  236. break>%BattlEyePath%\scripts.log
  237. )
  238.  
  239. :: remoteexec.log
  240. IF EXIST %BattlEyePath%\remoteexec.log (
  241. Echo Copying remoteexec.log from (%timestamp%)
  242. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  243. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  244. )
  245. copy %BattlEyePath%\remoteexec.log %LogPath%\Logs\%datestamp%\%timestamp%\remoteexec.log /Y
  246. break>%BattlEyePath%\remoteexec.log
  247. )
  248.  
  249. :: remotecontrol.log
  250. IF EXIST %BattlEyePath%\remotecontrol.log (
  251. Echo Copying remotecontrol.log from (%timestamp%)
  252. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  253. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  254. )
  255. copy %BattlEyePath%\remotecontrol.log %LogPath%\Logs\%datestamp%\%timestamp%\remotecontrol.log /Y
  256. break>%BattlEyePath%\remotecontrol.log
  257. )
  258.  
  259. :: publicvariable.log
  260. IF EXIST %BattlEyePath%\publicvariable.log (
  261. Echo Copying publicvariable.log from (%timestamp%)
  262. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  263. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  264. )
  265. copy %BattlEyePath%\publicvariable.log %LogPath%\Logs\%datestamp%\%timestamp%\publicvariable.log /Y
  266. break>%BattlEyePath%\publicvariable.log
  267. )
  268.  
  269. :: mpeventhandler.log
  270. IF EXIST %BattlEyePath%\mpeventhandler.log (
  271. Echo Copying mpeventhandler.log from (%timestamp%)
  272. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  273. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  274. )
  275. copy %BattlEyePath%\mpeventhandler.log %LogPath%\Logs\%datestamp%\%timestamp%\mpeventhandler.log /Y
  276. break>%BattlEyePath%\mpeventhandler.log
  277. )
  278.  
  279. :: deletevehicle.log
  280. IF EXIST %BattlEyePath%\deletevehicle.log (
  281. Echo Copying deletevehicle.log from (%timestamp%)
  282. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  283. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  284. )
  285. copy %BattlEyePath%\deletevehicle.log %LogPath%\Logs\%datestamp%\%timestamp%\deletevehicle.log /Y
  286. break>%BattlEyePath%\deletevehicle.log
  287. )
  288.  
  289. :: createvehicle.log
  290. IF EXIST %BattlEyePath%\createvehicle.log (
  291. Echo Copying createvehicle.log from (%timestamp%)
  292. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  293. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  294. )
  295. copy %BattlEyePath%\createvehicle.log %LogPath%\Logs\%datestamp%\%timestamp%\createvehicle.log /Y
  296. break>%BattlEyePath%\createvehicle.log
  297. )
  298.  
  299. :: attachto.log
  300. IF EXIST %BattlEyePath%\attachto.log (
  301. Echo Copying attachto.log from (%timestamp%)
  302. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  303. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  304. )
  305. copy %BattlEyePath%\attachto.log %LogPath%\Logs\%datestamp%\%timestamp%\attachto.log /Y
  306. break>%BattlEyePath%\attachto.log
  307. )
  308.  
  309. :: addweaponcargo.log
  310. IF EXIST %BattlEyePath%\addweaponcargo.log (
  311. Echo Copying addweaponcargo.log from (%timestamp%)
  312. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  313. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  314. )
  315. copy %BattlEyePath%\addweaponcargo.log %LogPath%\Logs\%datestamp%\%timestamp%\addweaponcargo.log /Y
  316. break>%BattlEyePath%\addweaponcargo.log
  317. )
  318.  
  319. :: addmagazinecargo.log
  320. IF EXIST %BattlEyePath%\addmagazinecargo.log (
  321. Echo Copying addmagazinecargo.log from (%timestamp%)
  322. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  323. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  324. )
  325. copy %BattlEyePath%\addmagazinecargo.log %LogPath%\Logs\%datestamp%\%timestamp%\addmagazinecargo.log /Y
  326. break>%BattlEyePath%\addmagazinecargo.log
  327. )
  328.  
  329. :: addbackpackcargo.log
  330. IF EXIST %BattlEyePath%\addbackpackcargo.log (
  331. Echo Copying addbackpackcargo.log from (%timestamp%)
  332. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  333. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  334. )
  335. copy %BattlEyePath%\addbackpackcargo.log %LogPath%\Logs\%datestamp%\%timestamp%\addbackpackcargo.log /Y
  336. break>%BattlEyePath%\addbackpackcargo.log
  337. )
  338.  
  339. :: Check / Copy / Bans and Localbans for reference.
  340. :: Special handling apply where the file is not breaked.
  341.  
  342. :: bans.txt
  343. IF EXIST %BattlEyePath%\bans.txt (
  344. Echo Copying bans.txt from (%timestamp%)
  345. IF NOT EXIST %LogPath%\%datestamp%\%timestamp%\ (
  346. mkdir %LogPath%\Logs\%datestamp%\%timestamp%\
  347. )
  348. copy %BattlEyePath%\bans.txt %LogPath%\Logs\%datestamp%\%timestamp%\bans.txt /Y
  349. )
  350.  
  351. TIMEOUT /T 3
  352. cls
  353. goto update
  354.  
  355. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement