Project Zomboid: The Complete Cleanup & Hygiene Guide
In a world where one scratch can end your journey, maintaining a clean perimeter is more than just aesthetic - it's survival. Blood splatter can cause stress for characters with the Hemophobic trait, while rotting corpses can lead to the lethal Corpse Sickness (Lethal Flu).
1. Manual Scrubbing
You need Bleach and a cleaning tool (Mop, Bath Towel, or Dish Cloth) in your inventory. Right-click the ground to see the "Clean Blood" option.
2. Corpse Disposal
Lingering corpses within 20 tiles of your character cause a sickness moodle. Pick them up and pile them away from your base, or use a Shovel to bury them in graves.
3. Personal Hygiene
Dirty clothes increase the chance of wound infections. Use a washing machine or a water source with Soap to keep your gear (and skin) pristine.
How to Clean Your Base
- Gather your supplies: One bottle of Bleach is enough for roughly 10 - 15 tiles of blood.
- With the bleach and a Mop equipped or in your main inventory, right-click the splatter.
- Select "Clean Blood." You can drag a selection box or click individual tiles.
- Your character will walk to each tile and perform the cleaning animation.
The Dangers of Neglect
| Hazard | Effect | The Solution |
|---|---|---|
| Blood Splatter | Heavy stress for Hemophobic characters; minor unhappiness for others. | Bleach and Mop. |
| Rotting Corpses | Causes "Corpse Sickness" moodle. If it reaches "Nauseous," you will lose health. | Move corpses at least 20 tiles away or burn them. |
| Dirty Clothes | +X% chance of bacterial infection on any scratch or laceration. | Wash with Soap/Detergent. |
What to Actually Carry: a 20x Weight Decision
Eight items in Build 42 carry the cleanstains tag, which is the game's own
marker for "this can scrub a floor". They do the same job and span twenty times in weight.
Read from the shipped files of the Build 42 Stable server we run (build 24909836):
| Tool | Item ID | Weight | Category |
|---|---|---|---|
| Sponge | Base.Sponge | 0.1 | Household |
| Bath Towel | Base.BathTowel | 0.3 | Household |
| Dish Cloth | Base.DishCloth | 0.3 | Household |
| Grill Brush | Base.GrillBrush | 0.3 | Cooking |
| Toilet Brush | Base.ToiletBrush | 0.6 | Household |
| Mop | Base.Mop | 2.0 | Household weapon |
| Broom | Base.Broom | 2.0 | Household weapon |
| Twig Broom | Base.Broom_Twig | 2.0 | Household weapon |
Carry a sponge. It is the lightest thing in the game that clears a stain, at one twentieth of the mop everybody reaches for. Keep the mop only if you want the weapon, because the mop, the broom and the twig broom are all filed as household weapons and swing as such.
One thing the broom does that the mop does not: both brooms also carry
clearashes, so they clean up after a fire. The mop has no such tag. If you have
been burning corpses, the broom is the tool that finishes the job.
Worth noting for what it does not say: neither Base.Bleach nor
Base.Soap2 carries the cleanstains tag. Both are ordinary
Household items at 0.2. The scrubbing tag sits on the tool, not on the liquid.
Server-Side: Automating Cleanup
On a high-population server, blood and corpses cause real FPS lag. These are the keys that control it, with the ranges our own configuration layer enforces across the Project Zomboid servers we run. Most of them are sandbox variables, not server settings, which is the usual reason an edit appears to do nothing:
| Key | File | Range | What it does |
|---|---|---|---|
HoursForCorpseRemoval | SandboxVars.lua | 0 to 8760 | In-game hours before a corpse is deleted. 8760 is a full year. |
BloodSplatLifespanDays | SandboxVars.lua | 0 to 365 | Days a blood stain survives. 0 means it never expires. |
BloodSplatLifespanDays | servertest.ini | 0 to 30 | The same name in the server file, with a much shorter ceiling. |
DecayingCorpseHealthImpact | SandboxVars.lua | 1 to 5 | How hard nearby rotting corpses hit your health. |
RemovePlayerCorpsesOnCorpseRemoval | both files | true or false | Whether the sweep also deletes player corpses, and with them anything still on the body. |
BloodLevel | SandboxVars.lua | 0 to 5 | How much blood the world generates in the first place. |
Two traps in that table. BloodSplatLifespanDays exists in both files with
different ceilings, 365 in the sandbox file and 30 in the server one, so a
value that validates in one place will be rejected in the other. And
RemovePlayerCorpsesOnCorpseRemoval is the one to think about before enabling:
turning it on means the automatic sweep takes player bodies too, along with whatever
loot the dead player was carrying.
Note: Bleach is a finite resource. If you run out of bleach, you cannot clean blood from floors without mods. Save your bleach for the interior of your base and let the rain wash away the blood on the streets.
Keep your safehouse safe and sanitary. Host your Project Zomboid server with Supercraft and enjoy optimized settings that keep the blood at bay and the performance at its peak.