12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- @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 ^
- -Dlog4j.configurationFile=%LOG4J_CONFIG%
- 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
|