@echo off
chcp 65001 >nul
title Step 2 - JVLinkServer (do not close)
call "%~dp0_load-env.bat"
if errorlevel 1 exit /b 1

set "JRA_VAN_DIR=C:\Program Files (x86)\JRA-VAN"
if not exist "%JRA_VAN_DIR%\" (
  echo [WARN] JV-Link フォルダが見つかりません: "%JRA_VAN_DIR%"
  echo JRA-VAN 公式から JV-Link をインストールしてください
)

set "JV_EXE=%USERPROFILE%\AppData\Local\Python\pythoncore-3.11-64\Lib\site-packages\pyjvlink\lib\JVLinkServer.exe"
set "PORT=%JVLINK_SERVER_PORT%"
if not defined PORT set "PORT=8765"
set "SID=%JVLINK_SID%"
if not defined SID set "SID=UNKNOWN"

if not exist "%JV_EXE%" (
  echo [NG] JVLinkServer.exe が見つかりません:
  echo   %JV_EXE%
  echo.
  echo 先に実行: py -3.11 -m pip install pyjvlink
  pause
  exit /b 1
)

REM setup(jv_open) は 5 分超かかることがある。既定 300 秒だと COM task timed out になる。
if not defined JVLINK_STREAM_READ_TIMEOUT set "JVLINK_STREAM_READ_TIMEOUT=7200"
if not defined JVLINK_HTTP_TIMEOUT set "JVLINK_HTTP_TIMEOUT=7200"
if not defined JVLINK_COM_TASK_TIMEOUT_MS set "JVLINK_COM_TASK_TIMEOUT_MS=7200000"

echo [INFO] JVLinkServer 起動 port=%PORT% sid=%SID%
echo [INFO] TIMEOUT stream=%JVLINK_STREAM_READ_TIMEOUT%s com_ms=%JVLINK_COM_TASK_TIMEOUT_MS%
echo [INFO] この窓は閉じないでください
"%JV_EXE%" --port %PORT% --sid %SID%
echo.
echo JVLinkServer が終了しました
pause
exit /b %ERRORLEVEL%
