Project Zomboid

Project Zomboid

No Mo Culling (Formerly known as Zombie Fix)
 This topic has been pinned, so it's probably important
Modinstaller  [developer] 21 Dec, 2023 @ 11:53pm
F.A.Q
What's culling?

In short if there are more than 500 zombies around a player on a multiplayer server, any extra zombies get deleted. It's called "zombie culling". This is not the only thing that this mod fixes though! For a comprehensive explanation, check the More Info thread.

Who needs this?

Servers and their players. It's more important for servers to be patched, but still important for their players too.

Nobody would face any disappearance issues if all the servers in the world were patched. Even if absolutely no players had the clientside patch. We highly encourage all server owners to install this ASAP so their server can be more enjoyable for everyone.

However, because as a player you can never be sure if a new server you join has the serverside patch, and because even if it does, you get increased performance, you should just patch your game if you can. It doesn't cost anything. Do message your server owners and ask them to patch their server, but also do your PC a favor by installing this for yourself.

Additionally, if you ever decide to self-host a server from the game UI, your server will already be patched too. There is no reason not to install this no matter if you are a server owner or a player.

Does this concern me if my server doesn't have many zombies?

First of all, disappearances due to kiting affect all servers as long as they have at least one live zombie. For this reason alone, everyone should use this (except if your server is full creative with 0 zombies).

As for disappearances due to >500 zombie counts, while it is true that you will see the effect of culling much less on a server with low pop, you will still sometimes see it. Even with a low zombie pop, some denser areas have enough zombies for culling to take effect. Especially if those areas are filled with interiors (interiors are not influenced by zombie population settings), e.g downtown Louisville or the mall. Car/house alarms may also bring more than 500 zombies in.

In other words, yes this does concern you and you should get the mod!

How do I find my game files?

1. Open your Steam Library

2. Right-click Project Zomboid

3. Manage -> Browse local files.

There is no zombie folder?

Make sure you are looking at the root of the game installation (you should be inside a folder called something like "ProjectZomboid"). For servers, the zombie folder is located inside the java folder so go there first.

There is no java folder?

I was made aware that the server hosting platform "G-Portal" previously hid the java folder from its users for some reason. It might or might not have been fixed by now, if not, on your ftp app input java\zombie\popman as file path as java might be hidden but its sub-folders are not.

If this doesn't fix your issue or you're on another server hosting platform, contact them first.

I don't have a dedicated server, I run my server from the game, where do I drop the files?

In the normal game install. If you run a server from the in-game interface, it will use the files in your game install. Reminder: zombie\popman

My server is hosted on this or that website, how do I access its files?

Typically by using a ftp app like FileZilla and inputting the ftp address provided by the website.

Do I need to re-replace the files often?

Not for now. The files are reverted back to the original ones whenever you verify file integrity with steam, or whenever The Indie Stone releases an update. Thanksfully they release updates very rarely and they will probably fix these issues on their side in the next big update.

When the devs resume releasing updates and if they don't fix it on their side, you will have to re-replace the files regularly. We will watch the situation closely and notify you of any developments.

Why are there two files? Which one do I use?

Use both. Replace both. It is just simpler this way.

One is used for servers (NetworkZombiePacker), the other for clients (ZombieCountOptimiser). However, it doesn't hurt to have both and makes for simpler instructions for everyone.

The reason there are two files is simply because not all the code is located in the same file. To fix every issue, we have to replace both.

But do I really need both files though? Really?

Servers only need the serverside file NetworkZombiePacker. Players who will never host any server from the in-game menu only need the clientside file ZombieCountOptimiser.

If you have to ask us twice, feel free to install only the one you need. We are telling everyone to install both because it makes instructions easier and doesn't make a difference.

How does this mod increase performance exactly?

The mod doesn't increase performance by itself. However if a server is patched with it, players stand to gain increased performance by installing it as well for their own game. Here's why:

Zombie culling happens in 2 steps. First, the client reacts to a zombie count higher than 500 by tallying up all the extra zombies to be deleted and sending the list to the server. Then, the server receives the list and deletes all the zombies inside it.

When a server owner patches their server, they essentially remove the server's ability to delete the zombies in the list. The server will now ignore it. However, the clients, if unpatched, will still tally up zombies over and over at a now much faster rate, since the zombies are never getting deleted.

We haven't measured how much of an impact this really makes. However, we've seen clients count up from 0 to 2000 zombies very fast, then go back down to 0 and do it all over, and over, and over.

The clients do not just count zombies, they also run tests on each one to see if it should be deleted. Namely, it checks their distance to players (there is a minimum distance for deletion) and whether they are in line of sight of anyone.

These calculations take precious computing power that is completely wasted, unless players patch their client as well, in which case the clients won't count zombies up anymore.

To be very clear, the difference shouldn't be anything too big. It will be bigger the more zombies surround a player (and there will be no impact with 500 zombies or less), but even with 2000 zombies around it shouldn't make more of a difference than a couple frames per second. However, that can count for a lot when your PC already struggles at 30 fps.

What is this "client" you keep talking about?

In networking lingo, there are "servers" which act as a communication hub, receive all the requests and send back all the data (in video games these are the things you connect to), and "clients" which act as the individual machines connecting to the server and requesting/communicating info to it (in video games, that's you, the player).

When we say "client" we just mean "the instance of the game which is running as an individual player connecting to a server". If you're a player connecting to a server, that's you.

What are these "clientside" and "serverside" you keep talking about?

Some files in Zomboid are used exclusively when it runs as a server, some others when it runs as a client. Some code executes for one and not the other, some for both. In our case, we started out editing code used by clients (clientside version), and the new version (serverside version) now edits code used by servers.

When we say that our fix has a "clientside" version and a "serverside" version we simply mean a version that is used by players, and a version that is used by servers. The version that is used by players will only affect the players using it. The version that is used by servers will affect all of the players on the server.

As for the files used, it's simple. ZombieCountOptimiser is used for clients, NetworkZombiePacker is used for servers. But you can and should replace both files both if you're a player exclusively joining servers and if you're a server owner. It's simpler and it doesn't hurt.

Why should I trust your files?

The provided .class files are simply compiled .java files. You can see the original .java files with the code laid out bare on github, as well as the modified .java files from which the .class files are compiled.

You can check the .java files for their code. Our modifications remove bits of code and add one line of code. You can compile the .java files themselves, or decompile our .class files.

If you don't know your way around java code/a java compiler/decompiler, you'll have to trust our word that these files are safe.

Why is this manually installed?

While it is available as a "mod" on the steam workshop, it's true that unlike most other mods, this requires manual installation and can't be simply downloaded and activated in-game.

The reason is that the kahlua API of Zomboid does not provide the necessary tools to fix the issue. The offending java code is not exposed to kahlua and therefore, the only way is overwriting it directly.

There is sadly no better way to do this, for now. You'll have to replace your files until a better solution is found/the devs fix the issue on their side.

Why are there 2 steam workshop mods for this?

In short, the owner of the other mod, Nippytime, wished for us to make a new mod following the new release of the fix. His mod is the old version which this mod improves on.

There aren't really any reasons to go for the other mod as it's now outdated. If you download it you'll see it only has ZombieCountOptimiser.class, not NetworkZombiePacker.class.

One of the reasons the old mod is still up is to redirect people to this one in case they're still using the old address.

As for the reason we made a new mod instead of updating the old one, it's just that it was simpler for us that way - as we understand it, Nippytime didn't have the time/desire to manage their mod anymore.

I play split-screen, will this work for me?

It depends. Do you play split-screen on a multiplayer server? If so, yes absolutely! Reminder: this mod only affects multiplayer. That's whether your play split-screen MP or no.

If you play split-screen without connecting to a server though, then you're essentially playing "singleplayer" and this mod is useless and will do nothing for you. Because in singleplayer (again, splitscreen or no), there are no 500 zombie limitations or bugs causing zombie disappearances.
Last edited by Modinstaller; 27 Dec, 2023 @ 3:19pm
< >
Showing 1-15 of 15 comments
ERKEK2000 8 Jun, 2024 @ 5:06pm 
Do I need to activate the mod from the mod menu for it to work? Or just replacing the files make the mod work?
Mopop  [developer] 9 Jun, 2024 @ 2:49pm 
Activating it in game does nothing, replacing it is fine.
PristineKoii 29 Jun, 2024 @ 7:38pm 
ok i used the github instead how does one know if its working tho lol?
Last edited by PristineKoii; 29 Jun, 2024 @ 7:48pm
chimd715 24 Aug, 2024 @ 8:27am 
I didn't create back up before overwrite the files. How to reverse the changes?
Mopop  [developer] 26 Aug, 2024 @ 2:31pm 
Originally posted by chimd715:
I didn't create back up before overwrite the files. How to reverse the changes?

Just verify the files with steam it will add the original .class files.

Do not recommend uninstalling it if playing high pop zombies on MP as you'll get culling and have the stale zombie bug reintroduced thinning the zombies IG drastically.
MoxxieMox 14 Oct, 2024 @ 9:43pm 
Do I need to pull the files out of the folder or is leaving it in there fine when I paste it?
Mr.E 22 Nov, 2024 @ 3:42pm 
I'm having trouble finding the java folder, I have installed a FTP app to find it, but when i try to put Java/zombie/popman as a path it says it cant be access because it doesn't exist, i have also tried only using one of the files and I'm hosting through the in-game menu.
Mopop  [developer] 23 Nov, 2024 @ 3:16pm 
Originally posted by Mr.E:
I'm having trouble finding the java folder, I have installed a FTP app to find it, but when i try to put Java/zombie/popman as a path it says it cant be access because it doesn't exist, i have also tried only using one of the files and I'm hosting through the in-game menu.

You need the full file path where the game is installed.
QcUltime 30 Nov, 2024 @ 7:44pm 
I used v41.78.16.:steamthis: Is it still useful to install them ?
Ointment 8 Mar @ 10:44pm 
Why will this not work on singleplayer? I'm trying to stop the zombies from disappearing when I load into a single player game.
Mopop  [developer] 9 Mar @ 3:52pm 
Because this bug and the class file are only used in MP and culling isn't used in SP at all as there is no need.
Ointment 10 Mar @ 3:31am 
Originally posted by Mopop:
Because this bug and the class file are only used in MP and culling isn't used in SP at all as there is no need.
There is a need because when I load back into single player all the zombies disappear.
Mopop  [developer] 10 Mar @ 4:16am 
Well that's some other issue you're having. It has nothing to do with culling zombies or stale zombies since it is all server side logic.
ЯΞxx 27 Apr @ 3:49pm 
There's something I noticed is that the zombies behave differently from SP. With this mod there's more zombies like it promises, however only the closer ones follows the player, they do not form that crazy HUGE horde like SP.

For example, if I shoot I can see in the debug window that the zombies start moving towards me, but if I stop shooting (loud noise) only the ones surrounding me keep tracking, the other ones behave like they lost me, even tho i'm on their vision sight.

I made a statement a while ago saying they don't stop coming, they indeed do not if you KEEP shooting without supressors and making loud noises

any thoughts?
Last edited by ЯΞxx; 27 Apr @ 3:51pm
ЯΞxx 28 Apr @ 9:04am 
Originally posted by ЯΞxx:
There's something I noticed is that the zombies behave differently from SP. With this mod there's more zombies like it promises, however only the closer ones follows the player, they do not form that crazy HUGE horde like SP.

For example, if I shoot I can see in the debug window that the zombies start moving towards me, but if I stop shooting (loud noise) only the ones surrounding me keep tracking, the other ones behave like they lost me, even tho i'm on their vision sight.

I made a statement a while ago saying they don't stop coming, they indeed do not if you KEEP shooting without supressors and making loud noises

any thoughts?

nevermind, i've been running some tests, it turns out I was making a mistake, I was starting a new game in SP and comparring with a MP save I had been surviving for months. Occurs that I have stealth skills on good levels, and SP new game had no stealth points which was causing zombies to see and follows me easier.
< >
Showing 1-15 of 15 comments
Per page: 1530 50