- Add TTSService.js for text-to-speech functionality - Add comprehensive deployment documentation (guides, checklists, diagnostics) - Add new SBS content (chapters 8 & 9) - Refactor 14 game modules for better maintainability (-947 lines) - Enhance SettingsDebug.js with improved debugging capabilities - Update configuration files and startup scripts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
250 lines
7.4 KiB
Batchfile
250 lines
7.4 KiB
Batchfile
@echo off
|
|
title Class Generator - Diagnostic System
|
|
cd /d "%~dp0"
|
|
setlocal enabledelayedexpansion
|
|
|
|
echo.
|
|
echo ========================================
|
|
echo CLASS GENERATOR - DIAGNOSTIC
|
|
echo ========================================
|
|
echo.
|
|
echo Running pre-flight checks...
|
|
echo.
|
|
|
|
set ERROR_COUNT=0
|
|
set WARNING_COUNT=0
|
|
|
|
:: ============================================
|
|
:: 1. SYSTEM CHECKS
|
|
:: ============================================
|
|
echo [CHECK 1/8] Windows Version...
|
|
ver | findstr /i "10.0" >nul
|
|
if %errorlevel% equ 0 (
|
|
echo [OK] Windows 10 detected
|
|
) else (
|
|
echo [WARNING] Not Windows 10, but might work
|
|
set /a WARNING_COUNT+=1
|
|
)
|
|
|
|
:: ============================================
|
|
:: 2. PORTABLE NODE.JS
|
|
:: ============================================
|
|
echo [CHECK 2/8] Portable Node.js...
|
|
if exist "nodejs-portable\node.exe" (
|
|
echo [OK] Node.exe found
|
|
|
|
:: Test if it runs
|
|
"nodejs-portable\node.exe" --version >nul 2>&1
|
|
if !errorlevel! equ 0 (
|
|
for /f "tokens=*" %%v in ('"nodejs-portable\node.exe" --version') do set NODE_VERSION=%%v
|
|
echo [OK] Node.js !NODE_VERSION! working
|
|
) else (
|
|
echo [ERROR] Node.exe exists but doesn't run
|
|
echo Possible causes:
|
|
echo - Antivirus blocking execution
|
|
echo - Missing Visual C++ Runtime
|
|
echo - Corrupted download
|
|
set /a ERROR_COUNT+=1
|
|
)
|
|
) else (
|
|
echo [ERROR] nodejs-portable\node.exe NOT FOUND
|
|
echo Please run PORTABLE_SETUP.txt instructions
|
|
set /a ERROR_COUNT+=1
|
|
)
|
|
|
|
:: ============================================
|
|
:: 3. NPM (inside portable Node)
|
|
:: ============================================
|
|
echo [CHECK 3/8] NPM availability...
|
|
if exist "nodejs-portable\node_modules\npm\bin\npm-cli.js" (
|
|
echo [OK] NPM found in portable Node
|
|
) else (
|
|
echo [ERROR] NPM not found in portable package
|
|
echo Re-download Node.js portable with npm included
|
|
set /a ERROR_COUNT+=1
|
|
)
|
|
|
|
:: ============================================
|
|
:: 4. PROJECT FILES
|
|
:: ============================================
|
|
echo [CHECK 4/8] Critical project files...
|
|
set MISSING_FILES=0
|
|
|
|
if not exist "server.js" (
|
|
echo [ERROR] server.js missing
|
|
set /a MISSING_FILES+=1
|
|
)
|
|
if not exist "src\Application.js" (
|
|
echo [ERROR] src\Application.js missing
|
|
set /a MISSING_FILES+=1
|
|
)
|
|
if not exist "index.html" (
|
|
echo [ERROR] index.html missing
|
|
set /a MISSING_FILES+=1
|
|
)
|
|
|
|
if !MISSING_FILES! equ 0 (
|
|
echo [OK] All critical files present
|
|
) else (
|
|
echo [ERROR] !MISSING_FILES! critical files missing
|
|
set /a ERROR_COUNT+=!MISSING_FILES!
|
|
)
|
|
|
|
:: ============================================
|
|
:: 5. PORT 8080 AVAILABILITY
|
|
:: ============================================
|
|
echo [CHECK 5/8] Port 8080 availability...
|
|
netstat -ano | findstr :8080 | findstr LISTENING >nul
|
|
if %errorlevel% equ 0 (
|
|
echo [WARNING] Port 8080 is currently in use
|
|
echo Will attempt to free it on startup
|
|
set /a WARNING_COUNT+=1
|
|
|
|
:: Find what's using it
|
|
for /f "tokens=5" %%a in ('netstat -ano ^| findstr :8080 ^| findstr LISTENING') do (
|
|
set PID=%%a
|
|
echo Process ID: !PID!
|
|
for /f "tokens=1" %%b in ('tasklist /fi "pid eq !PID!" /fo table /nh') do (
|
|
echo Program: %%b
|
|
)
|
|
)
|
|
) else (
|
|
echo [OK] Port 8080 is available
|
|
)
|
|
|
|
:: ============================================
|
|
:: 6. WRITE PERMISSIONS
|
|
:: ============================================
|
|
echo [CHECK 6/8] Write permissions...
|
|
echo test > test_write_permission.tmp 2>nul
|
|
if exist test_write_permission.tmp (
|
|
del test_write_permission.tmp >nul 2>&1
|
|
echo [OK] Can write to directory
|
|
) else (
|
|
echo [ERROR] No write permission in current directory
|
|
echo Try running as Administrator
|
|
echo Or move folder to Documents/Desktop
|
|
set /a ERROR_COUNT+=1
|
|
)
|
|
|
|
:: ============================================
|
|
:: 7. FIREWALL CHECK (informational)
|
|
:: ============================================
|
|
echo [CHECK 7/8] Firewall status...
|
|
netsh advfirewall show currentprofile state | findstr ON >nul
|
|
if %errorlevel% equ 0 (
|
|
echo [INFO] Windows Firewall is ON
|
|
echo You may need to allow Node.js on first run
|
|
) else (
|
|
echo [INFO] Windows Firewall is OFF
|
|
)
|
|
|
|
:: ============================================
|
|
:: 8. FIREFOX AVAILABILITY (CRITICAL)
|
|
:: ============================================
|
|
echo [CHECK 8/9] Firefox availability...
|
|
set FIREFOX_AVAILABLE=0
|
|
|
|
:: Check common Firefox locations
|
|
if exist "C:\Program Files\Mozilla Firefox\firefox.exe" (
|
|
echo [OK] Firefox found at: C:\Program Files\Mozilla Firefox\
|
|
set FIREFOX_AVAILABLE=1
|
|
)
|
|
|
|
if !FIREFOX_AVAILABLE! equ 0 (
|
|
if exist "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" (
|
|
echo [OK] Firefox found at: C:\Program Files ^(x86^)\Mozilla Firefox\
|
|
set FIREFOX_AVAILABLE=1
|
|
)
|
|
)
|
|
|
|
if !FIREFOX_AVAILABLE! equ 0 (
|
|
where firefox >nul 2>&1
|
|
if !errorlevel! equ 0 (
|
|
echo [OK] Firefox found in PATH
|
|
set FIREFOX_AVAILABLE=1
|
|
)
|
|
)
|
|
|
|
if !FIREFOX_AVAILABLE! equ 0 (
|
|
echo [ERROR] Firefox NOT FOUND
|
|
echo Firefox is REQUIRED - Edge/Chrome do not work
|
|
echo.
|
|
echo SOLUTIONS:
|
|
echo 1. Install Firefox from mozilla.org
|
|
echo 2. Use Firefox Portable ^(no install needed^)
|
|
echo 3. Ask IT to install Firefox
|
|
set /a ERROR_COUNT+=1
|
|
)
|
|
|
|
:: ============================================
|
|
:: 9. ANTIVIRUS HEURISTIC CHECK
|
|
:: ============================================
|
|
echo [CHECK 9/9] Antivirus interference check...
|
|
:: Try to create and execute a simple .bat file
|
|
echo @echo ok > test_exec.bat 2>nul
|
|
if exist test_exec.bat (
|
|
call test_exec.bat >nul 2>&1
|
|
if !errorlevel! equ 0 (
|
|
echo [OK] No obvious script blocking
|
|
del test_exec.bat >nul 2>&1
|
|
) else (
|
|
echo [WARNING] Script execution might be blocked
|
|
echo Check antivirus settings
|
|
set /a WARNING_COUNT+=1
|
|
del test_exec.bat >nul 2>&1
|
|
)
|
|
) else (
|
|
echo [WARNING] Cannot create test scripts
|
|
set /a WARNING_COUNT+=1
|
|
)
|
|
|
|
:: ============================================
|
|
:: SUMMARY
|
|
:: ============================================
|
|
echo.
|
|
echo ========================================
|
|
echo DIAGNOSTIC SUMMARY
|
|
echo ========================================
|
|
echo.
|
|
echo Errors: !ERROR_COUNT!
|
|
echo Warnings: !WARNING_COUNT!
|
|
echo.
|
|
|
|
if !ERROR_COUNT! equ 0 (
|
|
if !WARNING_COUNT! equ 0 (
|
|
echo [SUCCESS] System is ready to run!
|
|
echo You can now execute START_PORTABLE.bat
|
|
echo.
|
|
) else (
|
|
echo [CAUTION] System should work but has warnings
|
|
echo Proceed with START_PORTABLE.bat
|
|
echo Monitor for issues
|
|
echo.
|
|
)
|
|
) else (
|
|
echo [FAILURE] Critical errors detected!
|
|
echo DO NOT run START_PORTABLE.bat yet
|
|
echo Fix errors above first
|
|
echo.
|
|
)
|
|
|
|
:: ============================================
|
|
:: SAVE REPORT
|
|
:: ============================================
|
|
echo Saving diagnostic report to DIAGNOSTIC_REPORT.txt...
|
|
(
|
|
echo CLASS GENERATOR - DIAGNOSTIC REPORT
|
|
echo Generated: %date% %time%
|
|
echo ========================================
|
|
echo.
|
|
echo Errors: !ERROR_COUNT!
|
|
echo Warnings: !WARNING_COUNT!
|
|
echo.
|
|
echo For support, send this file to the developer
|
|
) > DIAGNOSTIC_REPORT.txt
|
|
|
|
echo Report saved!
|
|
echo.
|
|
pause
|