@echo off REM 设置控制台编码为 UTF-8 chcp 65001 >nul REM 设置 JAR 包的名称 set JAR_NAME=incubator-game-1.0-SNAPSHOT.jar REM 设置 Log4j2 配置文件路径 set LOG4J_CONFIG=conf/log4j2.xml REM 设置 Java 选项,包含优化和编码修复 set JAVA_OPTS=-XX:+UnlockExperimentalVMOptions ^ -XX:+UseG1GC ^ -XX:MaxGCPauseMillis=200 ^ -XX:+ParallelRefProcEnabled ^ -XX:+AlwaysPreTouch ^ -Xms2G ^ -Xmx2G ^ -XX:+UseStringDeduplication ^ -XX:G1NewSizePercent=30 ^ -XX:G1MaxNewSizePercent=60 ^ -XX:InitiatingHeapOccupancyPercent=45 ^ -XX:SurvivorRatio=8 ^ -XX:+HeapDumpOnOutOfMemoryError ^ -XX:HeapDumpPath=heapdump.hprof ^ -Dfile.encoding=UTF-8 ^ -Dsun.jnu.encoding=UTF-8 ^ REM 设置 JAR 包路径 set JAR_PATH=%~dp0%JAR_NAME% REM 检查 JAR 包是否存在 if not exist "%JAR_PATH%" ( echo [ERROR] 未找到 JAR 包 "%JAR_PATH%" pause exit /b ) REM 检查 Log4j2 配置文件是否存在 if not exist "%~dp0%LOG4J_CONFIG%" ( echo [ERROR] 未找到 Log4j2 配置文件 "%~dp0%LOG4J_CONFIG%" pause exit /b ) REM 检查 Java 是否安装 java -version >nul 2>&1 if %ERRORLEVEL% NEQ 0 ( echo [ERROR] Java 未安装或未配置 JAVA_HOME,请检查环境变量。 pause exit /b ) REM 启动 JAR 包 echo 正在启动游戏服务端... java %JAVA_OPTS% -jar "%JAR_PATH%" REM 提示并保持窗口运行 echo 游戏服务端运行中,按 Ctrl+C 停止服务或关闭窗口以退出... pause