Project Zomboid

Project Zomboid

Multi-Cpu Enhance
 此主题已被置顶,因此可能具有重要性
4Zeta  [开发者] 2 小时以前
UPDATED MOD INSTRUCTION 42.13.X WITH MULTIPLAYER LEGACY STABLE
B42.13.0 MultiPlayer Installation Instruction (Windows OS)
"Replace the contents of ProjectZomboid64.json and ProjectZomboid64.bat in C:\Program Files (x86)Steam\steamapps\common\ProjectZomboid with the following text in any text editor and hit save. The mod must also be activated in-game."



ProjectZomboid64.bat

@setlocal enableextensions @cd /d "%~dp0" SET _JAVA_OPTIONS= :: Set up classpath for Project Zomboid SET PZ_CLASSPATH=commons-compress-1.27.1.jar;commons-io-2.18.0.jar;istack-commons-runtime.jar;jassimp.jar;guava-23.0.jar;javacord-3.8.0-shaded.jar;javax.activation-api.jar;jaxb-api.jar;jaxb-runtime.jar;lwjgl.jar;lwjgl-natives-windows.jar;lwjgl-glfw.jar;lwjgl-glfw-natives-windows.jar;lwjgl-jemalloc.jar;lwjgl-jemalloc-natives-windows.jar;lwjgl-opengl.jar;lwjgl-opengl-natives-windows.jar;lwjgl_util.jar;sqlite-jdbc-3.48.0.0.jar;trove-3.0.3.jar;uncommons-maths-1.2.3.jar;imgui-binding-1.86.11-8-g3e33dde.jar;commons-codec-1.10.jar;javase-3.2.1.jar;totp-1.0.jar;core-3.2.1.jar;./ :: Detect system hardware specifications for /f "tokens=2 delims==" %%a in ('wmic OS get TotalVisibleMemorySize /value') do set /a total_mem=%%a/1024 for /f "tokens=2 delims==" %%a in ('wmic cpu get NumberOfCores /value') do set /a num_cores=%%a for /f "tokens=2 delims==" %%a in ('wmic cpu get NumberOfLogicalProcessors /value') do set /a num_threads=%%a :: Set memory allocation based on available RAM if %total_mem% GTR 16000 ( SET MEM_MAX=10240m SET MEM_MIN=4096m ) else if %total_mem% GTR 12000 ( SET MEM_MAX=8192m SET MEM_MIN=2048m ) else if %total_mem% GTR 8000 ( SET MEM_MAX=6144m SET MEM_MIN=2048m ) else ( SET MEM_MAX=4096m SET MEM_MIN=1024m ) :: Set thread pool and garbage collection settings based on CPU if %num_cores% LEQ 2 ( set GC_THREADS=1 set CONCURRENT_THREADS=1 set FJ_PARALLELISM=2 ) else if %num_cores% LEQ 4 ( set GC_THREADS=2 set CONCURRENT_THREADS=2 set FJ_PARALLELISM=4 ) else if %num_cores% LEQ 8 ( set GC_THREADS=4 set CONCURRENT_THREADS=2 set FJ_PARALLELISM=6 ) else ( set GC_THREADS=6 set CONCURRENT_THREADS=3 set FJ_PARALLELISM=8 ) :: Launch Project Zomboid with multi-core optimizations echo Starting Project Zomboid with multi-core optimizations... echo CPU: %num_cores% cores, %num_threads% threads echo RAM: %total_mem% MB (Allocated: %MEM_MAX%) echo Concurrent threads: %FJ_PARALLELISM% ".\\jre64\\bin\\java.exe" ^ -Djava.awt.headless=true ^ -Dzomboid.steam=1 ^ -Dzomboid.znetlog=1 ^ -XX:-CreateCoredumpOnCrash ^ -XX:-OmitStackTraceInFastThrow ^ -XX:+UseParallelGC ^ -XX:ParallelGCThreads=%GC_THREADS% ^ -XX:ConcGCThreads=%CONCURRENT_THREADS% ^ -XX:+UnlockExperimentalVMOptions ^ -XX:+AlwaysPreTouch ^ -XX:+UseNUMA ^ -XX:+DisableExplicitGC ^ -Xmx%MEM_MAX% ^ -Xms%MEM_MIN% ^ -Djava.library.path=./win64/;./ ^ -XX:+OptimizeStringConcat ^ -Dzomboid.multithreading=true ^ -Dzomboid.thread.model=worksteal ^ -Dzomboid.thread.priority=high ^ -Dzomboid.threadpool.size=%num_cores% ^ -Djava.util.concurrent.ForkJoinPool.common.parallelism=%FJ_PARALLELISM% ^ -cp %PZ_CLASSPATH% ^ zombie.gameStates.MainScreenState %1 %2 :: Fallback launch with reduced memory settings if the main launch fails IF %ERRORLEVEL% NEQ 0 ( echo Main launch failed, attempting with reduced memory settings... ".\\jre64\\bin\\java.exe" ^ -Djava.awt.headless=true ^ -Dzomboid.steam=1 ^ -Dzomboid.znetlog=1 ^ -XX:-CreateCoredumpOnCrash ^ -XX:-OmitStackTraceInFastThrow ^ -XX:+UseParallelGC ^ -Xmx3072m ^ -Xms1024m ^ -Djava.library.path=./win64/;./ ^ -Dzomboid.multithreading=true ^ -Dzomboid.threadpool.size=2 ^ -cp %PZ_CLASSPATH% ^ zombie.gameStates.MainScreenState %1 %2 ) PAUSE



Project Zomboid64.json
{ "mainClass": "zombie/gameStates/MainScreenState", "classpath": [ ".", "commons-compress-1.27.1.jar", "commons-io-2.18.0.jar", "istack-commons-runtime.jar", "jassimp.jar", "guava-23.0.jar", "javacord-3.8.0-shaded.jar", "javax.activation-api.jar", "jaxb-api.jar", "jaxb-runtime.jar", "lwjgl.jar", "lwjgl-natives-windows.jar", "lwjgl-glfw.jar", "lwjgl-glfw-natives-windows.jar", "lwjgl-jemalloc.jar", "lwjgl-jemalloc-natives-windows.jar", "lwjgl-opengl.jar", "lwjgl-opengl-natives-windows.jar", "lwjgl_util.jar", "sqlite-jdbc-3.48.0.0.jar", "trove-3.0.3.jar", "uncommons-maths-1.2.3.jar", "imgui-binding-1.86.11-8-g3e33dde.jar", "commons-codec-1.10.jar", "javase-3.2.1.jar", "totp-1.0.jar", "core-3.2.1.jar" ], "vmArgs": [ "-Djava.awt.headless=true", "-Xmx8192m", "-Xms4096m", "-XX:+UseParallelGC", "-XX:ParallelGCThreads=4", "-XX:+UseNUMA", "-XX:+AlwaysPreTouch", "-XX:+DisableExplicitGC", "-Dzomboid.steam=1", "-Dzomboid.znetlog=1", "-Djava.library.path=win64/;.", "-XX:-CreateCoredumpOnCrash", "-XX:-OmitStackTraceInFastThrow", "-XX:+OptimizeStringConcat" ], "windows": { "6.1": { "vmArgs": [ "-XX:+UseParallelGC", "-XX:G1NewSizePercent=20", "-XX:G1ReservePercent=20", "-XX:MaxGCPauseMillis=50", "-XX:G1HeapRegionSize=32m" ] }, "10.0.17134": { "vmArgs": [ "-XX:+UseParallelGC", "-XX:ZCollectionInterval=120", "-XX:ConcGCThreads=2", "-XX:+UnlockExperimentalVMOptions" ] } } }
最后由 4Zeta 编辑于; 1 小时以前
< >
正在显示第 1 - 4 条,共 4 条留言
4Zeta  [开发者] 1 小时以前 
Important
For some reason, the game cannot start when using these settings
4Zeta  [开发者] 1 小时以前 
this is for the stable legacy version released today 42.13.X
最后由 4Zeta 编辑于; 1 小时以前
引用自 4Zeta
this is for the stable legacy version released today 42.13.X
Oh, I didn't notice. Thanks for the quick reply!
< >
正在显示第 1 - 4 条,共 4 条留言
每页显示数: 1530 50