94 lines
2.3 KiB
Batchfile
94 lines
2.3 KiB
Batchfile
@echo off
|
|
title RFCP Debug Launcher + Monitor
|
|
setlocal EnableDelayedExpansion
|
|
|
|
echo ============================================
|
|
echo RFCP Debug Launcher + Monitor
|
|
echo ============================================
|
|
echo.
|
|
|
|
:: Kill any running instance
|
|
echo [1/3] Cleaning up existing processes...
|
|
taskkill /F /IM rfcp-server.exe 2>nul
|
|
if %ERRORLEVEL% EQU 0 (
|
|
echo Killed existing rfcp-server.exe
|
|
timeout /t 2 /nobreak >nul
|
|
) else (
|
|
echo No existing process found
|
|
)
|
|
echo.
|
|
|
|
:: Environment setup
|
|
set PYTHONUNBUFFERED=1
|
|
set RFCP_DEBUG=1
|
|
set RFCP_HOST=127.0.0.1
|
|
set RFCP_PORT=8888
|
|
|
|
echo [2/3] Environment:
|
|
echo PYTHONUNBUFFERED=%PYTHONUNBUFFERED%
|
|
echo RFCP_DEBUG=%RFCP_DEBUG%
|
|
echo RFCP_HOST=%RFCP_HOST%
|
|
echo RFCP_PORT=%RFCP_PORT%
|
|
echo.
|
|
|
|
:: Find executable
|
|
if exist "%~dp0dist\rfcp-server.exe" (
|
|
set EXE_PATH=%~dp0dist\rfcp-server.exe
|
|
set WORK_DIR=%~dp0dist
|
|
) else if exist "%~dp0rfcp-server.exe" (
|
|
set EXE_PATH=%~dp0rfcp-server.exe
|
|
set WORK_DIR=%~dp0
|
|
) else (
|
|
echo [ERROR] rfcp-server.exe not found!
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo [3/3] Starting server...
|
|
echo Executable: %EXE_PATH%
|
|
echo Working dir: %WORK_DIR%
|
|
echo.
|
|
|
|
:: Create log directory
|
|
set LOG_DIR=%WORK_DIR%\logs
|
|
if not exist "%LOG_DIR%" mkdir "%LOG_DIR%"
|
|
|
|
:: Log file with timestamp
|
|
set TIMESTAMP=%date:~-4%%date:~3,2%%date:~0,2%-%time:~0,2%%time:~3,2%%time:~6,2%
|
|
set TIMESTAMP=%TIMESTAMP: =0%
|
|
set LOG_FILE=%LOG_DIR%\server-%TIMESTAMP%.log
|
|
|
|
echo Log file: %LOG_FILE%
|
|
echo.
|
|
echo ============================================
|
|
echo SERVER OUTPUT (also saved to log)
|
|
echo ============================================
|
|
echo.
|
|
|
|
cd /d "%WORK_DIR%"
|
|
|
|
:: Run server and tee to log file
|
|
:: Note: PowerShell tee for dual output
|
|
powershell -Command "& '%EXE_PATH%' 2>&1 | Tee-Object -FilePath '%LOG_FILE%'"
|
|
|
|
echo.
|
|
echo ============================================
|
|
echo Server stopped
|
|
echo Log saved to: %LOG_FILE%
|
|
echo ============================================
|
|
|
|
:: Post-mortem check
|
|
echo.
|
|
echo [POST-MORTEM] Checking for orphan processes...
|
|
for /f %%a in ('tasklist /FI "IMAGENAME eq rfcp-server.exe" 2^>nul ^| find /c "rfcp-server"') do (
|
|
if %%a GTR 0 (
|
|
echo WARNING: %%a rfcp-server process(es) still running!
|
|
echo Run: taskkill /F /IM rfcp-server.exe
|
|
) else (
|
|
echo All processes cleaned up properly.
|
|
)
|
|
)
|
|
|
|
echo.
|
|
pause
|