Advertisement
Guest User

Project Zomboid Modded Multiplayer Utility

a guest
Jan 12th, 2022
438
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 10.05 KB | None | 0 0
  1. @echo off
  2.  
  3. set moddir=C:\Program Files (x86)\Steam\steamapps\workshop\content
  4. set hostmoddir=C:\Program Files (x86)\Steam\steamapps\common\ProjectZomboid\steamapps\workshop\content
  5.  
  6. set acf_location=C:\Program Files (x86)\Steam\steamapps\workshop\appworkshop_108600.acf
  7. set host_acf_location=C:\Program Files (x86)\Steam\steamapps\common\ProjectZomboid\steamapps\workshop\appworkshop_108600.acf
  8.  
  9. set backupdir=C:\Program Files (x86)\Steam\steamapps\workshop\content\_backups"
  10. set hostbackupdir=C:\Program Files (x86)\Steam\steamapps\common\ProjectZomboid\steamapps\workshop\content\_backups
  11.  
  12. set mode=0
  13. set compresserror=0
  14. set software=Winrar
  15.  
  16. :Main
  17. set compresserror=0
  18. cls
  19. echo ===[Project Zomboid Mod Updater]===
  20. echo.
  21. echo Welcome to the Project Zomboid Modded Multiplayer Utility!
  22. echo       Created by Mr. Nekuromu
  23. echo           V0.6-(1/12/2022)
  24. echo.
  25. echo.
  26. echo    1) Wipe Mods
  27. echo    2) Wipe Server Mods
  28. echo    3) Backup Mods
  29. echo    4) Backup Server Mods
  30. echo    5) Restore Mods Backup
  31. echo    6) Restore Server Mods Backup
  32. echo    7) Exit
  33. echo.
  34. echo    8) Toggle Compression Software
  35. echo.
  36. echo    Compression Software mode: %software%
  37. echo.
  38. set /P c=Select Mode:
  39. if /I "%c%" EQU "1" set mode=1 & goto Find
  40. if /I "%c%" EQU "2" set mode=2 & goto Host_Find
  41. if /I "%c%" EQU "3" set mode=3 & goto Find
  42. if /I "%c%" EQU "4" set mode=4 & goto Host_Find
  43. if /I "%c%" EQU "5" set mode=5 & goto Restore_Mods
  44. if /I "%c%" EQU "6" set mode=6 & goto Restore_Mods
  45. if /I "%c%" EQU "7" goto Exit
  46. if /I "%c%" EQU "8" goto ToggleSoftware
  47. goto Main
  48.  
  49. :Find
  50. cls
  51. echo ===[Project Zomboid Mod Updater]===
  52. echo.
  53. echo.
  54. echo.
  55. echo Finding Mod Directory...
  56. cd "%moddir%"
  57. if %mode%==3 goto Backup
  58. echo.
  59. timeout 4
  60.  
  61. :Backup_Choice
  62. cls
  63. echo ===[Project Zomboid Mod Updater]===
  64. echo.
  65. echo.
  66. echo.
  67. set /P c=Do you wish to Backup the Current Mods Directory first[Y/N]?
  68. if /I "%c%" EQU "Y" goto Backup
  69. if /I "%c%" EQU "N" goto Delete_Mods
  70. goto Backup_Choice
  71.  
  72. :Backup
  73. cls
  74. echo ===[Project Zomboid Mod Updater]===
  75. echo.
  76. echo.
  77. echo.
  78. For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%a_%%b_%%c)
  79. For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a-%%b)
  80. set date_and_time=%mydate%_@_%mytime%
  81. set backupfoldername=Zomboid_Mod_Backup_%date_and_time%
  82. mkdir "%cd%\_backups\%backupfoldername%"
  83. echo Copying Current Mod Directory...
  84. echo.
  85. timeout 4
  86. xcopy /e /v /i "%cd%\108600" "%cd%\_backups\%backupfoldername%\108600"
  87. xcopy /v /i "%acf_location%" "%cd%\_backups\%backupfoldername%\"
  88. cls
  89. echo ===[Project Zomboid Mod Updater]===
  90. echo.
  91. echo.
  92. echo.
  93. echo Backup created. "%backupfoldername%"
  94. echo.
  95. timeout 4
  96.  
  97. :CheckSoftware
  98. if %software%==Winrar (goto Winrarcompress) else goto 7Zipcompress
  99.  
  100. :7Zipcompress
  101. set path="C:\Program Files\7-Zip";%path%
  102. cls
  103. echo ===[Project Zomboid Mod Updater]===
  104. echo.
  105. echo.
  106. echo.
  107. echo Compressing Backup Data...        (This can take a while depending on the amount of mods)
  108. 7z a -t7z -mx9 -r "%cd%\_backups\%backupfoldername%.7z" "%cd%\_backups\%backupfoldername%\*"
  109. IF %ERRORLEVEL% NEQ 0 (echo. &echo An Error Occured with Compression... [ErrorLevel:%ERRORLEVEL%] &set compresserror=1)
  110. if %compresserror%==1 pause & goto CompressErrorChoice
  111. goto Delete_Stuff
  112.  
  113. :Winrarcompress
  114. set path="C:\Program Files\WinRAR\";%path%
  115. cls
  116. echo ===[Project Zomboid Mod Updater]===
  117. echo.
  118. echo.
  119. echo.
  120. echo Compressing Backup Data...        (This can take a while depending on the amount of mods)
  121. winrar.exe a -afrar -m5 -ep1 -r -ibck "%cd%\_backups\%backupfoldername%.rar" "%cd%\_backups\%backupfoldername%\*"
  122. IF %ERRORLEVEL% NEQ 0 (echo. &echo An Error Occured with Compression... [ErrorLevel:%ERRORLEVEL%] &set compresserror=1)
  123. if %compresserror%==1 pause & goto CompressErrorChoice
  124.  
  125. :Delete_Stuff
  126. cls
  127. echo ===[Project Zomboid Mod Updater]===
  128. echo.
  129. echo.
  130. echo.
  131. echo Deleting Uncompressed Data...
  132. RMDIR /S /Q "%cd%\_backups\%backupfoldername%"
  133. echo.
  134. if %mode%==3 goto Backup_Complete
  135. timeout 4
  136.  
  137. :Delete_Mods
  138. cls
  139. echo ===[Project Zomboid Mod Updater]===
  140. echo.
  141. echo.
  142. echo.
  143. echo Deleting Mod Directory...
  144. RMDIR /S /Q "%cd%\108600"
  145. DEL "%acf_location%"
  146. echo.
  147. goto Close_Steam
  148. timeout 4
  149.  
  150. :Server_Host_Choice
  151. cls
  152. echo ===[Project Zomboid Mod Updater]===
  153. echo.
  154. echo.
  155. echo.
  156. set /P c=Are you the Project Zomboid Server Host[Y/N]?
  157. if /I "%c%" EQU "Y" goto Host_Find
  158. if /I "%c%" EQU "N" goto Close_Steam
  159. goto Server_Host_Choice
  160.  
  161. :Host_Find
  162. cls
  163. echo ===[Project Zomboid Mod Updater]===
  164. echo.
  165. echo.
  166. echo.
  167. echo Finding Hosted Mod Directory...
  168. cd "%hostmoddir%"
  169. if %mode%==4 goto Host_Backup
  170. echo.
  171. timeout 4
  172.  
  173. :Host_Backup_Choice
  174. cls
  175. echo ===[Project Zomboid Mod Updater]===
  176. echo.
  177. echo.
  178. echo.
  179. set /P c=Do you wish to Backup the Current Hosted Mods Directory first[Y/N]?
  180. if /I "%c%" EQU "Y" goto Host_Backup
  181. if /I "%c%" EQU "N" goto Host_Delete_Mods
  182. goto Host_Backup_Choice
  183.  
  184. :Host_Backup
  185. cls
  186. echo ===[Project Zomboid Mod Updater]===
  187. echo.
  188. echo.
  189. echo.
  190. For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%a_%%b_%%c)
  191. For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a-%%b)
  192. set date_and_time=%mydate%_@_%mytime%
  193. set backupfoldername=Zomboid_Host_Mod_Backup_%date_and_time%
  194. mkdir "%cd%\_backups\%backupfoldername%"
  195. echo Copying Current Hosted Mod Directory...
  196. echo.
  197. timeout 4
  198. xcopy /e /v /i "%cd%\108600" "%cd%\_backups\%backupfoldername%\108600"
  199. xcopy /v /i "%host_acf_location%" "%cd%\_backups\%backupfoldername%\"
  200. cls
  201. echo ===[Project Zomboid Mod Updater]===
  202. echo.
  203. echo.
  204. echo.
  205. echo Backup of Hosted Mods created. "%backupfoldername%"
  206. echo.
  207. timeout 4
  208.  
  209. :Host_7Zipcompress
  210. set path="C:\Program Files\7-Zip";%path%
  211. cls
  212. echo ===[Project Zomboid Mod Updater]===
  213. echo.
  214. echo.
  215. echo.
  216. echo Compressing Backup Hosted Data...        (This can take a while depending on the amount of mods)
  217. 7z a -t7z -mx9 -r "%cd%\_backups\%backupfoldername%.7z" "%cd%\_backups\%backupfoldername%\*"
  218. IF %ERRORLEVEL% NEQ 0 (echo. &echo An Error Occured with Compression... [ErrorLevel:%ERRORLEVEL%] &set compresserror=1)
  219. if %compresserror%==1 pause & goto CompressErrorChoice
  220. goto Host_Delete_Stuff
  221.  
  222. :Host_Winrarcompress
  223. set path="C:\Program Files\WinRAR\";%path%
  224. cls
  225. echo ===[Project Zomboid Mod Updater]===
  226. echo.
  227. echo.
  228. echo.
  229. echo Compressing Backup Hosted Data...        (This can take a while depending on the amount of mods)
  230. winrar.exe a -afrar -m5 -ep1 -r -ibck "%cd%\_backups\%backupfoldername%.rar" "%cd%\_backups\%backupfoldername%\*"
  231. IF %ERRORLEVEL% NEQ 0 (echo. &echo An Error Occured with Compression... [ErrorLevel:%ERRORLEVEL%] &set compresserror=1)
  232. if %compresserror%==1 pause & goto Host_CompressErrorChoice
  233.  
  234. :Host_Delete_Stuff
  235. cls
  236. echo ===[Project Zomboid Mod Updater]===
  237. echo.
  238. echo.
  239. echo.
  240. echo Deleting Uncompressed Hosted Data...
  241. RMDIR /S /Q "%cd%\_backups\%backupfoldername%"
  242. echo.
  243. if %mode%==4 goto Backup_Complete
  244. timeout 4
  245.  
  246. :Host_Delete_Mods
  247. cls
  248. echo ===[Project Zomboid Mod Updater]===
  249. echo.
  250. echo.
  251. echo.
  252. echo Deleting Hosted Mod Directory...
  253. RMDIR /S /Q "%cd%\108600"
  254. DEL "%host_acf_location%"
  255. echo.
  256. goto Close_Steam
  257. timeout 4
  258.  
  259. :Close_Steam
  260. cls
  261. echo ===[Project Zomboid Mod Updater]===
  262. echo.
  263. echo.
  264. echo.
  265. echo Now your mods need to redownload. To do that, restart Steam; Then head over to Project Zomboids Workshop.
  266. echo Subscribe, and then Unsubscribe to a random workshop mod to kickstart Steam redownloading your Mods!
  267. echo.
  268. pause
  269. goto Main
  270.  
  271. :Backup_Complete
  272. cls
  273. echo ===[Project Zomboid Mod Updater]===
  274. echo.
  275. echo.
  276. echo.
  277. echo Backup, and Compression complete. Returning to Main Menu...
  278. echo.
  279. timeout 4
  280. goto Main
  281.  
  282. :Restore_Mods
  283. cls
  284. echo ===[Project Zomboid Mod Updater]===
  285. echo.
  286. echo.
  287. echo.
  288. echo Getting Backup List...
  289. if %mode%==5 cd "%backupdir%"
  290. if %mode%==6 cd "%hostbackupdir%"
  291. timeout 4
  292. cls
  293. echo ===[Project Zomboid Mod Updater]===
  294. echo.
  295. echo Highlight the desired backup, then [CTRL+C] it.
  296. echo =================================================
  297. dir /b
  298. echo.
  299. set /P bselected=Which to restore?[CTRL+V Here]:
  300. if %software%==Winrar set path="C:\Program Files\WinRAR\";%path%
  301. if %software%==7-Zip set path="C:\Program Files\7-Zip";%path%
  302. cls
  303. echo ===[Project Zomboid Mod Updater]===
  304. echo.
  305. echo.
  306. echo.
  307. echo Restoring %bselected%...        (This can take a while depending on the amount of mods)
  308. if %software%==Winrar winrar.exe x -afrar -ibck "%bselected%" *.* "%cd%\restore_temp\"
  309. if %software%==7-Zip 7z e -t7z "%bselected%" *.* "%cd%\restore_temp\"
  310. IF %ERRORLEVEL% NEQ 0 (echo. &echo An Error Occured with Restoration... [ErrorLevel:%ERRORLEVEL%] &set compresserror=1)
  311. if %compresserror%==1 pause
  312. if %mode%==5 cd %backupdir%
  313. if %mode%==6 cd %hostbackupdir%
  314. if %mode%==5 xcopy /e /v /i "%cd%\restore_temp\108600" "%moddir%\108600"
  315. if %mode%==6 xcopy /e /v /i "%cd%\restore_temp\108600" "%hostmoddir%\108600"
  316. if %mode%==5 cd.. & cd..
  317. if %mode%==6 cd.. & cd..
  318. if %mode%==5 xcopy /v /i "%cd%\content\_backups\restore_temp\appworkshop_108600.acf" "%cd%"
  319. if %mode%==6 xcopy /v /i "%cd%\content\_backups\restore_temp\appworkshop_108600.acf" "%cd%"
  320. if %mode%==5 RMDIR /S /Q "%cd%\content\_backups\restore_temp"
  321. if %mode%==6 RMDIR /S /Q "%cd%\content\_backups\restore_temp"
  322. cls
  323. echo ===[Project Zomboid Mod Updater]===
  324. echo.
  325. echo.
  326. echo.
  327. echo Restoration Complete. Returning to Main Menu...
  328. echo.
  329. timeout 4
  330. goto Main
  331.  
  332. :CompressErrorChoice
  333. cls
  334. echo ===[Project Zomboid Mod Updater]===
  335. echo.
  336. echo.
  337. echo.
  338. set /P c=Due to an Error, Back Compression failed. Would you like to delete the uncompressed backup[Y/N]?
  339. if /I "%c%" EQU "Y" goto Delete_Stuff
  340. if /I "%c%" EQU "N" goto Delete_Mods
  341. goto Main
  342.  
  343. :Host_CompressErrorChoice
  344. cls
  345. echo ===[Project Zomboid Mod Updater]===
  346. echo.
  347. echo.
  348. echo.
  349. set /P c=Due to an Error, Back Compression failed. Would you like to delete the uncompressed backup[Y/N]?
  350. if /I "%c%" EQU "Y" goto Host_Delete_Stuff
  351. if /I "%c%" EQU "N" goto Host_Delete_Mods
  352. goto Main
  353.  
  354.  
  355. :ToggleSoftware
  356. if %software%==Winrar (set software=7-Zip) else set software=Winrar
  357. goto Main
  358.  
  359. :Exit
  360. cls
  361. echo ===[Project Zomboid Mod Updater]===
  362. echo.
  363. echo.
  364. echo.
  365. echo Thanks for using Project Zomboid Mod Updater!
  366. echo.
  367. timeout 5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement