SetUp.bat 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. ::fsutil behavior set disablelastaccess 0 >nul
  4. ::CODER BY 稻草人 POWERD BY iBAT
  5. cd /d %~dp0
  6. if not exist tmp mkdir tmp
  7. set path=%path%;%~dp0SteamCMD
  8. if "%~1" NEQ "1" goto :startup
  9. if "%~1" equ "1" call getDayzInstallPath & goto :eof
  10. :startup
  11. set "gameDirectory=%~1"
  12. set dayz_client=%gameDirectory%\DayZ_BE.exe
  13. ::玩家设置的属性
  14. for /f "delims=" %%i in ('jq -r ".PlayerCFG.AutoUpdateMod" config.json') do (
  15. set auto_update=%%i
  16. )
  17. for /f "delims=" %%i in ('jq -r ".PlayerCFG.SteamAccount" config.json') do (
  18. set player_steam_account=%%i
  19. )
  20. for /f "delims=" %%i in ('jq -r ".PlayerCFG.SteamPassword" config.json') do (
  21. set player_steam_password=%%i
  22. )
  23. for /f "delims=" %%i in ('jq -r ".PlayerCFG.NickName" config.json') do (
  24. set player_nick=%%i
  25. )
  26. ::服主设置的属性
  27. for /f "delims=" %%i in ('jq -r ".ServerCFG.GameID" config.json') do (
  28. set game_id=%%i
  29. )
  30. for /f "delims=" %%i in ('jq -r ".ServerCFG.ServerIp" config.json') do (
  31. set server_ip=%%i
  32. )
  33. for /f "delims=" %%i in ('jq -r ".ServerCFG.ServerPort" config.json') do (
  34. set server_port=%%i
  35. )
  36. ::处理模组的更新
  37. set load_mods=" "
  38. echo @ShutdownOnFailedCommand 1 > "tmp\steamscript.txt"
  39. echo @NoPromptForPassword 0 >> "tmp\steamscript.txt"
  40. echo login %player_steam_account% %player_steam_password% >> "tmp\steamscript.txt"
  41. for /f "delims=" %%i in ('jq -c ".ServerCFG.LoadedMod[]" config.json') do (
  42. echo workshop_download_item %game_id% %%i validate >> "tmp\steamscript.txt"
  43. if !load_mods! equ " " (
  44. set load_mods=%~dp0SteamCMD\steamapps\workshop\content\221100\%%i;
  45. ) else (
  46. set load_mods=!load_mods!%~dp0SteamCMD\steamapps\workshop\content\221100\%%i;
  47. )
  48. )
  49. echo quit >> "tmp\steamscript.txt"
  50. if %auto_update% equ true (
  51. steamcmd +runscript ..\tmp\steamscript.txt
  52. )
  53. start "" "%dayz_client%" -connect=%server_ip% -port=%server_port% "-name=%player_nick%" -noPause "-mod=%load_mods%"