無法登入 求大神解答 謝謝
點開啟動器 編輯內容@echo off
call :colors 17
Title 版本458512-天堂 [啟動時間]: %date% %time:~0,8%
cls
set JAVA_HOME=D:\381古龍天堂\jdk1.8.0_20
set CLASSPATH=.;%JAVA_HOME%\lib;
set PATH=%JAVA_HOME%\bin;
set ZJ_HOME=D:\381古龍天堂\jdk1.8.0_20\jdk-1
goto begin
:noupdate
echo 檢查核心更新
goto endud
:ifupdate
IF EXIST update\381server.jar goto movezip
IF NOT EXIST update\381server.jar goto noupdate
:movezip
del 381server.jar
move /Y update\381server.jar 381server.jar
echo 更新核心成功
goto endud
:begin
goto ifupdate
:endud
start /abovenormal /b /wait %JAVA_HOME%\bin\java -agentpath:%ZJ_HOME%\jvmlib.dll -Xoptimize -Xms8g -Xmx8g -Xmn2024m -XX:+UseConcMarkSweepGC -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -cp 381server.jar com.lineage.Server
:restart
New_381啟動.bat
點後畫面出現這個 請問ˋ有大神能提點問題嗎 謝謝
把 D:\381古龍天堂\jdk1.8.0_20 這個路徑
改成你自己灌JAVA的位置
不然就是把同版本JAVA灌到你設定的地方 @echo off
chcp 950 >nul 2>&1:: 切換至繁體中文編碼(Big5),避免亂碼
setlocal enabledelayedexpansion:: 啟用延遲變數擴充
:: ===================== 設定區(請根據實際路徑修改)=====================
set "TARGET_JDK_VERSION=1.8":: 目標Java版本(天堂服務端通常依賴1.8)
set "PREFERRED_JAVA_PATH=D:\381古龍天堂\jdk1.8.0_20":: 優先使用的Java路徑
set "ZJ_HOME=D:\381古龍天堂\jdk1.8.0_20\jdk-1"
set "SERVER_JAR=381server.jar"
set "UPDATE_DIR=update"
set "RESTART_BAT=New_381啟動.bat"
set "TITLE_SUFFIX=版本458512-天堂"
:: ===================== 視窗配置 =====================
:colors
color %1 >nul 2>&1 || color 0A:: 若參數無效,預設黑底綠字
Title %TITLE_SUFFIX% [啟動時間]: %date% %time:~0,8%
cls
goto :eof:: 結束標籤呼叫
:: ===================== 自動搜尋Java環境 =====================
echo [資訊] 開始偵測Java環境(目標版本:%TARGET_JDK_VERSION%)...
:: 第一步:檢查優先路徑
if exist "%PREFERRED_JAVA_PATH%\bin\java.exe" (
set "JAVA_HOME=%PREFERRED_JAVA_PATH%"
echo [成功] 優先路徑偵測到Java:%JAVA_HOME%
goto :java_check_success
)
:: 第二步:從登錄檔搜尋已安裝的JDK 1.8(32/64位元)
set "JAVA_REG_PATH=HKLM\SOFTWARE\JavaSoft\JDK"
set "JAVA_HOME="
for /f "tokens=2*" %%a in ('reg query "%JAVA_REG_PATH%" /s /f "JavaHome" 2^>nul ^| findstr /i "JavaHome"') do (
set "REG_JAVA_HOME=%%b"
:: 驗證版本是否為1.8
for /f "tokens=3" %%v in ('"!REG_JAVA_HOME!\bin\java.exe" -version 2^>^&1 ^| findstr /i "version"') do (
set "JAVA_VER=%%v"
set "JAVA_VER=!JAVA_VER:"=!":: 移除版本號引號
if "!JAVA_VER:~0,3!"=="%TARGET_JDK_VERSION%" (
set "JAVA_HOME=!REG_JAVA_HOME!"
goto :java_reg_found
)
)
)
:java_reg_found
if defined JAVA_HOME (
echo [成功] 登錄檔偵測到Java %TARGET_JDK_VERSION%:%JAVA_HOME%
goto :java_check_success
)
:: 第三步:全域搜尋java.exe(最後兜底方案)
echo [資訊] 登錄檔未找到,開始全域搜尋Java...
for /f "delims=" %%a in ('where /r C:\ java.exe 2^>nul ^| findstr /i "jdk1.8"') do (
set "JAVA_EXE=%%a"
set "JAVA_HOME=!JAVA_EXE:\bin\java.exe=!"
:: 驗證版本
for /f "tokens=3" %%v in ('"!JAVA_EXE!" -version 2^>^&1 ^| findstr /i "version"') do (
set "JAVA_VER=%%v"
set "JAVA_VER=!JAVA_VER:"=!"
if "!JAVA_VER:~0,3!"=="%TARGET_JDK_VERSION%" (
echo [成功] 全域搜尋到Java %TARGET_JDK_VERSION%:!JAVA_HOME!
goto :java_check_success
)
)
)
:: 未找到Java的處理
echo [錯誤] 未偵測到Java %TARGET_JDK_VERSION%,請手動安裝或配置路徑!
pause
exit /b 1
:java_check_success
:: 最終驗證java.exe是否存在
if not exist "%JAVA_HOME%\bin\java.exe" (
echo [錯誤] Java路徑無效:%JAVA_HOME%
pause
exit /b 1
)
:: ===================== 顏色與標題設定 =====================
call :colors 17
:: ===================== 核心更新檢查 =====================
echo [資訊] 檢查核心更新...
if exist "%UPDATE_DIR%\%SERVER_JAR%" (
echo [資訊] 發現更新包,開始替換...
del /f /q "%SERVER_JAR%" >nul 2>&1:: 強制刪除舊檔案
move /y "%UPDATE_DIR%\%SERVER_JAR%" "%SERVER_JAR%" >nul 2>&1
if exist "%SERVER_JAR%" (
echo [成功] 更新核心成功!
del /f /q "%UPDATE_DIR%\%SERVER_JAR%" >nul 2>&1:: 清理更新包
) else (
echo [錯誤] 更新核心失敗!
pause
exit /b 1
)
) else (
echo [資訊] 無核心更新,使用當前版本...
)
:: ===================== 啟動服務端 =====================
echo [資訊] 啟動天堂服務端...
echo [資訊] JVM參數:-Xms8g -Xmx8g -Xmn2024m -XX:+UseConcMarkSweepGC...
start "" /abovenormal /wait "%JAVA_HOME%\bin\java.exe" ^
-agentpath:"%ZJ_HOME%\jvmlib.dll" ^
-Xoptimize ^
-Xms8g -Xmx8g -Xmn2024m ^
-XX:+UseConcMarkSweepGC ^
-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m ^
-cp "%SERVER_JAR%" com.lineage.Server
:: ===================== 重啟邏輯 =====================
echo [資訊] 服務端程序退出,準備重啟...
timeout /t 5 /nobreak >nul:: 延遲5秒重啟,避免過度頻繁重啟
if exist "%RESTART_BAT%" (
call "%RESTART_BAT%":: 呼叫重啟腳本
) else (
echo [錯誤] 重啟腳本不存在:%RESTART_BAT%
pause
exit /b 1
)
endlocal
頁:
[1]