@echo off title MP Manager Launcher echo =================================================== echo MP Manager - Iniciando Servidor Monte Providencia echo =================================================== echo. cd /d "%~dp0" :: ---------------------------------------------------------------------- :: 1. Verificar Python :: ---------------------------------------------------------------------- python --version >nul 2>&1 if %errorlevel% neq 0 ( echo [ERROR] No se detecto Python en el PATH. Instala Python 3.10+ y reintenta. pause exit /b 1 ) :: ---------------------------------------------------------------------- :: 2. Pre-vuelo: comprobar si ya hay MP Manager corriendo, si el puerto 8000 :: esta ocupado por otro proyecto, o si hay registros stale que limpiar. :: ---------------------------------------------------------------------- python runtime_control.py preflight set "PRE=%errorlevel%" if "%PRE%"=="1" ( echo. echo [SISTEMA] No se relanza. Si quieres reiniciar usa restart.bat. timeout /t 5 >nul exit /b 1 ) if "%PRE%"=="2" ( echo. echo [SISTEMA] Continuando: MP Manager buscara el siguiente puerto libre. echo. ) :: ---------------------------------------------------------------------- :: 3. Dejar huella del modo activo para que restart.bat sepa como relanzar. :: ---------------------------------------------------------------------- if not exist "generated\runtime" mkdir "generated\runtime" > generated\runtime\last_mode echo normal :: ---------------------------------------------------------------------- :: 4. Lanzar el servidor en una ventana secundaria. main.py escribira :: server_info.json con el puerto real una vez levantado, y abrira el :: navegador con un cache-bust para evitar pestanas viejas de otros :: proyectos. :: ---------------------------------------------------------------------- echo [SISTEMA] Iniciando servidor FastAPI... :: Lanzar con path absoluto a main.py para que la linea de comando del proceso :: contenga la ruta del proyecto. Eso permite a stop.bat distinguir esta :: instancia de otros proyectos Python que pudieran estar en el mismo puerto. start "MP Manager Server" python "%~dp0main.py" echo. echo =================================================== echo El servidor se esta iniciando en segundo plano. echo La ventana del navegador se abrira sola en el echo puerto correspondiente (8000 o el siguiente libre). echo. echo Para detener: stop.bat echo Para reiniciar: restart.bat echo =================================================== timeout /t 5 >nul exit /b 0