57 lines
1.9 KiB
Batchfile
57 lines
1.9 KiB
Batchfile
@echo off
|
|
Setlocal enabledelayedexpansion
|
|
::fsutil behavior set disablelastaccess 0 >nul
|
|
::CODER BY 稻草人 POWERD BY iBAT
|
|
|
|
cd /d %~dp0
|
|
if not exist tmp mkdir tmp
|
|
set path=%path%;%~dp0SteamCMD
|
|
|
|
if "%~1" NEQ "1" goto :startup
|
|
if "%~1" equ "1" call getDayzInstallPath & goto :eof
|
|
:startup
|
|
set "gameDirectory=%~1"
|
|
set dayz_client=%gameDirectory%\DayZ_BE.exe
|
|
|
|
::玩家设置的属性
|
|
for /f "delims=" %%i in ('jq -r ".PlayerCFG.AutoUpdateMod" config.json') do (
|
|
set auto_update=%%i
|
|
)
|
|
for /f "delims=" %%i in ('jq -r ".PlayerCFG.SteamAccount" config.json') do (
|
|
set player_steam_account=%%i
|
|
)
|
|
for /f "delims=" %%i in ('jq -r ".PlayerCFG.SteamPassword" config.json') do (
|
|
set player_steam_password=%%i
|
|
)
|
|
for /f "delims=" %%i in ('jq -r ".PlayerCFG.NickName" config.json') do (
|
|
set player_nick=%%i
|
|
)
|
|
|
|
::服主设置的属性
|
|
for /f "delims=" %%i in ('jq -r ".ServerCFG.GameID" config.json') do (
|
|
set game_id=%%i
|
|
)
|
|
for /f "delims=" %%i in ('jq -r ".ServerCFG.ServerIp" config.json') do (
|
|
set server_ip=%%i
|
|
)
|
|
for /f "delims=" %%i in ('jq -r ".ServerCFG.ServerPort" config.json') do (
|
|
set server_port=%%i
|
|
)
|
|
::处理模组的更新
|
|
set load_mods=" "
|
|
echo @ShutdownOnFailedCommand 1 > "tmp\steamscript.txt"
|
|
echo @NoPromptForPassword 0 >> "tmp\steamscript.txt"
|
|
echo login %player_steam_account% %player_steam_password% >> "tmp\steamscript.txt"
|
|
for /f "delims=" %%i in ('jq -c ".ServerCFG.LoadedMod[]" config.json') do (
|
|
echo workshop_download_item %game_id% %%i validate >> "tmp\steamscript.txt"
|
|
if !load_mods! equ " " (
|
|
set load_mods=%~dp0SteamCMD\steamapps\workshop\content\221100\%%i;
|
|
) else (
|
|
set load_mods=!load_mods!%~dp0SteamCMD\steamapps\workshop\content\221100\%%i;
|
|
)
|
|
)
|
|
echo quit >> "tmp\steamscript.txt"
|
|
if %auto_update% equ true (
|
|
steamcmd +runscript ..\tmp\steamscript.txt
|
|
)
|
|
start "" "%dayz_client%" -connect=%server_ip% -port=%server_port% "-name=%player_nick%" -noPause "-mod=%load_mods%" |