
Modrinth · Minecraft mod
PointZero
PointZero is an anti-cheat mod that ensures you can only join the server with allowed mods.
Quick answer
Which PointZero release matches 1.21.5 Forge?
PointZero 3.3.0+1.21.5 targets 1.21.5 with Forge. Installation on the client is optional. Installation on the dedicated server is optional. No extra mods listed for this file.
Where it goes
Is PointZero required on the client, server, or both?
Installation on the client is optional. Installation on the dedicated server is optional.
The source marks this as usable on both the client and server.
What else does PointZero 3.3.0+1.21.5 need?
3.3.0+1.21.5 on 1.21.5 Forge. Every mod below is checked against that same setup.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add PointZero without breaking your instance.
Built for PointZero 3.3.0+1.21.5 on 1.21.5 Forge. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 3.3.0+1.21.5. It targets 1.21.5 with Forge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
Installation on the client is optional. Installation on the dedicated server is optional.
- 04
Pick the file you checked
Use the “Get this file” button beside 3.3.0+1.21.5. It opens that exact file at the source.
About this project
What does PointZero add?

Your server decides which mods, resource packs and shader packs players may use. PointZero makes sure they stick to it.
The check runs while the player connects, before the world loads. Nobody gets in with a file you did not allow, not even for a second.
Players who are turned away see exactly which files are the problem and how to fix it.
Why PointZero
- Checked before joining: the check happens in the configuration phase.
- File hashes: every loaded mod is checked by its SHA-256 hash.
- Proof of possession: the server asks for random parts of the reported files. A client that only copies a list of allowed hashes cannot answer.
- You choose what is checked: mods, resource packs, shader packs and Java agents can each be turned on or off.
- Whitelist or blacklist: allow only your files, or allow everything except the mods and packs you block.
- Clear for players: a rejection screen lists every reason with an error code, so players can fix it themselves or send you the details.
- Light: mods are hashed once when the game starts, in the background. On servers without PointZero, nothing is sent and nothing runs.
How it works
- Put the mods (jars) your players may use into
config/pointzero/allowed-mods/(on Paper:plugins/PointZero/allowed-mods/). Resource packs and shader packs go into their own folders. With a blacklist, you list only what is forbidden instead. - A player connects. The server says what it checks.
- The client reports only that part: its mod hashes, its active resource packs and shader pack (hashed now, only if asked), and its Java agents.
- The server checks every reported hash against its lists, then asks for random pieces of a few files as proof that the client really has them.
- Only then does the player enter the world.
While a player is on a server that checks resource packs or shader packs, those menus are locked. If the packs change anyway, they are checked again.
For players
- Install PointZero together with the server's mods, for the same loader as the server.
- Nothing else to set up. Singleplayer and servers without PointZero are not affected.
- If you are turned away, the PointZero screen shows what to remove or update.
For server owners
All settings are in config/pointzero/server.properties (on Paper: plugins/PointZero/server.properties), with comments.
- Check switches:
check-mods,check-resource-packs,check-shader-packs,check-java-agents, eachtrueorfalse. - Blacklist:
mods=blacklist(alsoresource-packsandshader-packs) lets everything in except what you block: jars inblocked-mods/(every version of that mod), packs inblocked-resourcepacks/andblocked-shaderpacks/, and lines inblocked.txtwith mod ids, names such asname:xray, or SHA-256 values. - Audit mode: log findings without disconnecting anyone while you build your lists.
- Join queue: while the allow list is rebuilt (startup or
/pointzero reload), joining players wait in a queue and see their place. They get in automatically once it is ready. Operators can skip the queue (queue-skip-operators). - Exemptions: operators and listed players can join without verification.
- Discord: webhooks for rejections, joins, and server start and stop. No pings, no webhook URLs in the log.
- Commands (
/pointzeroor/pz, permission level 3, on Paperpointzero.admin):status: what is checked, list sizes, the queuereload: reload settings and listslist: show the allowed or blocked entriesinspect <player>: the player's last report and resultsstats: totals and most common error codescleanup: delete old player history
Tip: start with mode=audit. Everyone gets in and the log shows what is missing from your lists. Switch to mode=enforce when the lists are complete.
Error codes
| Code | Meaning |
|---|---|
| PZ-101 | PointZero is not installed |
| PZ-102 | No answer from the client |
| PZ-103 | PointZero version mismatch |
| PZ-104 | Invalid verification data |
| PZ-201 | Mods not allowed |
| PZ-202 | Modified or wrong version of an allowed mod |
| PZ-203 | Mod files do not match the report |
| PZ-204 | PointZero missing from the mod list |
| PZ-301 | Resource packs not allowed |
| PZ-302 / 303 | Shader pack not allowed / shaders not allowed |
| PZ-401 | Java agents not allowed |
| PZ-501 | Error on the server |
Limits
PointZero checks what the client reports.
Someone who writes their own fake client can always lie, and no client-side check can fully prevent that.
PointZero makes it a lot of work: they need the exact allowed files, have to answer the proof requests, and need a modified PointZero.
Renaming or modifying jars does not help at all.
A blacklist only stops what you list: a cheat mod with a new mod id and a new name gets in. The whitelist is the stronger choice.
Requirements
On the server and on every client, for the same loader:
- Fabric: Fabric Loader and Fabric API
- NeoForge or Forge: nothing else
Paper servers (1.21.10 to 26.3): put pointzero-paper into plugins/. Players install the PointZero mod for their loader and the server's Minecraft version. Players without PointZero see the install hint a little later than on modded servers: after about 5 seconds on a vanilla client, after timeout-seconds (15 by default) on a modded one.
Server and players need the same PointZero version.
Usage statistics
PointZero sends anonymous usage statistics every 10 minutes: environment, Minecraft and PointZero version, loader and a random ID. No player names, no mod lists. All data is deleted after 10 minutes. Turn it off with enabled=false in telemetry.properties.
Project description from Modrinth.
Pick your setup
PointZero by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
26.2
4 loader builds26.1.2
4 loader builds26.1.1
4 loader builds26.1
4 loader builds1.21.11
4 loader builds1.21.10
4 loader builds1.21.9
3 loader builds1.21.8
3 loader builds1.21.7
3 loader builds1.21.6
3 loader builds1.21.5
3 loader buildsShowing the newest 12 of 19 game versions. Older files are in the list below.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
PointZero versions and loaders
3.3.0+1.21.5
pointzero-forge-3.3.0+1.21.5.jar
9 Nov 2026
3.2.0+1.21.5
pointzero-forge-3.2.0+1.21.5.jar
5 Nov 2026
3.1.0+1.21.5
pointzero-forge-3.1.0+1.21.5.jar
3 Nov 2026
Looking for an older file? The official Modrinth project page is in Resources.