Project Zomboid

Project Zomboid

328 ratings
Multi-Cpu Enhance *FIXED*
7
3
5
2
2
3
2
3
2
2
2
2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
763.470 KB
7 Apr @ 8:18am
1 Change Note ( view )

Subscribe to download
Multi-Cpu Enhance *FIXED*

Description
THIS MOD *FIXED*

VOTE IF YOU LIKE THIS MOD !

✅ Drastically increase FPS
✅ Reduce lag and stuttering
✅ Optimize memory management
✅ Improve gaming experience even on less powerful PCs

Here are the files I modified:
ProjectZomboid64.json
ProjectZomboid64.bat

These modifications are compatible and tested with the latest version of the game
(Build 41 ,Build 41 Server and Build 42.7.0)
and work on both Windows 10 and Windows 11 PCs.
ONLY 64BIT VERSION.

📌DOWNLOAD LINK ON YOUTUBE VIDEO DESCRIPTION(i cant upload .bat files) IF THE MOD DOESNT WORK WITH ---- B41----

NOW WORKING WITH SERVER B41! (FIX ON YOUTUBE)

📌 NOTE ON MULTI-CPU OPTIMIZATIONS:
Project Zomboid is primarily a single-threaded game, so even with these optimizations, most of the workload remains on a single CPU core. The changes I've made still improve overall performance by optimizing:
• Memory management (multi-threaded garbage collector)
• Memory access on NUMA systems
• Secondary operations like texture loading and data compression
These optimizations cannot fully transform the game into a multi-threaded application, but they maximize efficiency within the limitations of the game engine.


If you have 32gb and the game needs, it automatically allocates more memory

This mod require a manual installation by replacing an existing Project Zomboid File
Once installed you have to enable it like others mods
Backup the old files!


HOW TO MANUAL INSTALL ON WINDOWS:

YOU NEED ONLY 2 STEPS

📌 STEP 1

- locate your 'Project Zomboid' installation folder (by default should be something like: "C:\Program Files (x86)\Steam\steamapps\common\ProjectZomboid")

- edit the ProjectZomboid64.bat

- replace all with this code:

@setlocal enableextensions
@cd /d "%~dp0"
SET _JAVA_OPTIONS=

SET PZ_CLASSPATH=.\guava-23.0.jar;commons-compress-1.27.1.jar;commons-io-2.18.0.jar;istack-commons-runtime.jar;jassimp.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;./

:: Rileva hardware del sistema
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

:: Imposta memoria in base alla RAM disponibile
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
)

:: Imposta thread pool e GC in base a 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
)

:: Avvia con impostazioni ottimizzate per multi-core
echo Avvio Project Zomboid con ottimizzazioni multi-core...
echo CPU: %num_cores% core, %num_threads% thread
echo RAM: %total_mem% MB (Allocati: %MEM_MAX%)
echo Thread concorrenti: %FJ_PARALLELISM%

".\jre64\bin\java.exe" -verbose:class -Djava.awt.headless=true -Dzomboid.steam=1 -Dzomboid.znetlog=1 -XX:-CreateCoredumpOnCrash -XX:-OmitStackTraceInFastThrow -XX:+UseZGC -XX:ZCollectionInterval=120 -XX:ConcGCThreads=%CONCURRENT_THREADS% -XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -XX:+UseNUMA -XX:+DisableExplicitGC -Xmx%MEM_MAX% -Xms%MEM_MIN% -Djava.library.path=./win64/;./ -Dguava.library.path=. -Djogl.disable.openglcore=false -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

IF %ERRORLEVEL% NEQ 0 (
echo Tentativo con impostazioni di memoria ridotte...
".\jre64\bin\java.exe" -verbose:class -Djava.awt.headless=true -Dzomboid.steam=1 -Dzomboid.znetlog=1 -XX:-CreateCoredumpOnCrash -XX:-OmitStackTraceInFastThrow -XX:+UseG1GC -Xmx3072m -Xms1024m -Djava.library.path=./win64/;./ -Dguava.library.path=. -Dzomboid.multithreading=true -Dzomboid.threadpool.size=2 -cp %PZ_CLASSPATH% zombie.gameStates.MainScreenState %1 %2
)

PAUSE


📌 STEP 2

- in another window open the mod folder (by default should be: "C:\Program Files (x86)\Steam\steamapps\workshop\content\108600\3459875383\mods\Multicpu\42\)

ex:
Program Files (x86
└───Steam
└───steamapps
└───workshop
└───content
└───108600
└───3459875383
└───mods
└───Multicpu
└───42


- copy the file ProjectZomboid64.json

- paste it in the same folder inside Project Zomboid installation folder

ex:
replace "C:\Program Files (x86)\Steam\steamapps\common\ProjectZomboid\ProjectZomboid64.json"
with "C:\Program Files (x86)\Steam\steamapps\workshop\content\108600\3459875383\mods\Multicpu\42\ProjectZomboid64.json"

This will overwrite the original file with patched one

THANKS TO MY BRO : _salv0

Workshop ID: 3459875383
Mod ID: Multi-CPU
Popular Discussions View All (2)
2
5 Jul @ 12:14am
THANK YOU TO ALL OF YOU
4Zeta
1
16 Apr @ 9:43am
JOIN ITALIAN SERVER
4Zeta
272 Comments
gasses888 2 hours ago 
for those of you claiming it doesn't work. run the game from the 64bit bin file.
RunYouCleverBoy 4 hours ago 
@найт, это работало до предыдущего апдейта
не стоит агриться на мод который с 7 апреля не обновлялся
чего ты ожидал?
Swag Patrol 20 hours ago 
Any update for B42.11.0? Thanks
Drryst 23 hours ago 
same, game wont start now, good think i still have the original files
🌟Найт🌟 5 Sep @ 7:11am 
Хорошо что всегда создаю копии оригинальных файлов игр. Потому что непонятно как автор этого мода тестировал на своей игре корявый мод который попросту не даёт игре запустится. Бесполезный мод убивающий игру.
Cumloc 5 Sep @ 6:52am 
my game wont start now
littlewolf99 5 Sep @ 6:38am 
If your on B41 dont waste your time on this. The mod dont work in any way shape or form. The link from the youtube dont work. all the tricks in the comments dont work. Its a totally useless waste of time. Probably only works for the B42 people.
4vr.yung 4 Sep @ 11:35pm 
Changing -XX:+UseG1GC and -XX:+UseZGC to -XX:+UseParallelGC didn't start the game. It's unclear if B41 Solo Fix and B41 Server Fix can be installed together.
Замена -XX:+UseG1GC и -XX:+UseZGC на -XX:+UseParallelGC не привела к запуску игры. Неясно, можно ли установить B41 Solo Fix и B41 Server Fix одновременно.
4vr.yung 4 Sep @ 11:13pm 
Copying a multi-CPU server fix for b41 into the game folder prevents PZ from starting. Help needed.
Копирование исправления для cервера b41 в папку с игрой приводит к тому, что PZ не запускается. Требуется помощь.
CMD 4 Sep @ 9:40am 
@angel open the youtube video link and look in description, there is a fix