ZeroCheat Setup Guide

ZeroCheat Control Suite
Customer operation manual

ZeroCheat Server Protection Guide

ZeroCheat is a DayZ anti-cheat and restore suite built around evidence: client sensors, server police, PHP court, R2 learning memory, optional mod adapters, restore tools, and 3D evidence clips.

This guide matches the current feature toggle catalog. The restore focus is base restore, vehicle restore, and unknown-cause death/corpse restore.

Included focus 22 feature toggles 363,271 learning samples Base restore Vehicle restore Unknown death restore Optional adapters R2 policy Setup order Install mod Start once Edit JSON Bind license/IP Enable features Test safely

1. What You Buy

  1. ZeroCheat Server and ZeroCheat Client mod package.
  2. Hosted browser control panel with AntiCheat court, live map, command queue, evidence viewer, and restore center.
  3. Feature toggles per customer server. Customers tune their own server; ZeroCheat super admin controls licensing, global tools, products, and R2 policy.
  4. Base restore, vehicle restore, and unknown-cause death/corpse restore.
  5. Optional adapters for admin mods, group mods, base mods, trader/garage mods, and vehicle lock/key mods.

2. Feature Toggles

Feature Toggles is the source of truth for what a customer can enable on their server. A detector that is not listed here should not create paid-feature risk.

Combat

FeatureKeyStatusEvidence rule
Infinite ammocombat.infinite_ammoDefault onDetects magazine/chamber refill or no-consume ammo patterns.
Fast firecombat.fast_fireDefault onDetects weapons firing faster than their DayZ/modded weapon fire-rate.
No recoil / anti recoilcombat.no_recoilOptional / watch-firstWatches impossible recoil response and robot-like recoil compensation using recoil-only evidence.

Movement

FeatureKeyStatusEvidence rule
Player speedmovement.speedDefault onDetects foot speed beyond learned walking/sprint/stance baselines.
Vehicle speed / boostmovement.vehicle_speedDefault onDetects car/boat/aircraft boost using vehicle-only evidence and accident filters.
Teleportmovement.teleportDefault onDetects impossible position jumps after admin-tool and lag filters.
Undermapmovement.undermapDefault onDetects player position below terrain with accident filters.

Camera

FeatureKeyStatusEvidence rule
Freecamcamera.freecamDefault onDetects camera separation from player beyond vanilla camera bounds.

Loot

FeatureKeyStatusEvidence rule
Remote loot / vacuum lootloot.remote_lootDefault onDetects far item pulls with bubble evidence, then rollback/quarantine without deleting loot.
Advanced dupe watchloot.dupeOptional / watch-firstDetects repeat persistent-item identity conflicts without deleting player/base items.

Aim

FeatureKeyStatusEvidence rule
Snap aim / mouse aimbotaim.snap_aimOptional / watch-firstWatch-first detector for non-human aim turn speed using aim-only evidence during combat context.
Skeleton ESP / player skeletonaim.skeleton_espOptional / watch-firstDetects sustained pre-aim on hidden player bones through hard cover or dense foliage. Independent from snap aim and NoTree.
Triggerbotaim.triggerbotOptional / watch-firstWatches impossible shot timing when the crosshair enters a target using target/attack-edge evidence only.
Silent aimaim.silent_aimOptional / watch-firstDetects hits where camera and muzzle geometry are outside the legal target cone. Independent from snap aim.

Identity

FeatureKeyStatusEvidence rule
Namespoof / fake nameidentity.namespoofDefault onTracks SteamID-name history and warns on hidden characters, protected names, or online name impersonation.

Admin Power

FeatureKeyStatusEvidence rule
Godmode / no damageadmin_power.godmodeDefault onDetects damage that does not reduce Health/Blood/Shock after server verification.
Illegal healadmin_power.healDefault onDetects Health/Blood/Shock recovery that is too fast after recent damage.
Spawn / object injectionadmin_power.spawnDefault onWatches items, vehicles, or structures appearing from UNKNOWN engine location near a non-authorized player.
Invisible watchadmin_power.invisibleDefault onWatch-only server presence guard for abnormal player visibility/network state.

Ballistics

FeatureKeyStatusEvidence rule
Wallbang / hard-wallballistics.wallbangDefault onConfirms hard-wall wallbang when impactChain crosses solid brick/concrete/metal with no glass/window/door opening. This is sold and toggled separately from NoTree.
NoTree / Treebangballistics.notree_treebangDefault onDetects shots through meaningful tree/bush/foliage cover using vegetation visibility evidence only. This is sold and toggled separately from Wallbang.
Curve bullet / smart bulletballistics.curve_bulletOptional / watch-firstDetects impossible hit geometry where the victim is far outside the straight muzzle ray. Independent from wallbang and NoTree.

Example API payload:

{
    "version": 1,
    "toggles": {
        "combat.infinite_ammo": true,
        "combat.fast_fire": true,
        "combat.no_recoil": false,
        "movement.speed": true,
        "movement.vehicle_speed": true,
        "movement.teleport": true,
        "movement.undermap": true,
        "camera.freecam": true,
        "loot.remote_loot": true,
        "loot.dupe": false,
        "aim.snap_aim": false,
        "aim.skeleton_esp": false,
        "aim.triggerbot": false,
        "aim.silent_aim": false,
        "identity.namespoof": true,
        "admin_power.godmode": true,
        "admin_power.heal": true,
        "admin_power.spawn": true,
        "admin_power.invisible": true,
        "ballistics.wallbang": true,
        "ballistics.notree_treebang": true,
        "ballistics.curve_bullet": false,
        "learning.raw": true,
        "learning.cloud_r2": true
    },
    "serverRuntimeHint": "The DayZ server applies these toggles on the next config poll/reload."
}

3. Install & Optional Mods

ZeroCheat should run on vanilla DayZ. Optional integrations are auto-detected when the server has them installed. Load optional mods before ZeroCheat when your server uses them.

  1. Upload @ZeroCheat / the delivered package to the DayZ server.
  2. Load your normal server mods first, then ZeroCheat.
  3. Start once so $profile:ZeroCheat JSON files are generated.
  4. Stop, edit JSON, start again.
  5. Use !zcreload for supported hot-reload JSON when testing.
Mod / SourceStatusHow ZeroCheat uses itLink
Vanilla DayZBuilt-in fallbackZeroCheat keeps working on vanilla servers. Vanilla TerritoryFlag/base objects and normal player/vehicle/item events are still used.Built-in / package-specific
CFOptional/common frameworkCommon dependency for many DayZ stacks. ZeroCheat does not market it as a hard requirement unless the delivered server stack uses CF-based optional mods.Steam
VPPAdminToolsOptional admin adapterUsed only when present to understand admin identity/context. ZeroCheat still detects real movement, loot, camera, ammo, and ballistic evidence independently.Steam
Community-Online-Tools (COT)Optional admin adapterUsed only when present for admin identity/context and to reduce wrong admin-tool classification.Steam
LBmaster AdminOptional admin adapterUsed only when present as another admin-permission source, alongside VPP/COT.Built-in / package-specific
DayZ Expansion CoreOptional Expansion baseLoaded when a server uses the Expansion ecosystem. It is not required for vanilla-only ZeroCheat operation.Steam
Dabs FrameworkOptional Expansion frameworkCommon framework dependency in Expansion-based stacks.Steam
DayZ Expansion GroupsOptional team adapterSame-group/team context for aim, skeleton ESP, triggerbot, NoTree, and friendly test exceptions.Steam
LBmaster GroupsOptional team adapterAnother team/group source when a server uses LBmaster group systems instead of Expansion Groups.Built-in / package-specific
RA BaseBuildingOptional base adapterAdds HQ/territory ownership context for base loss, restore, and base container evidence.Steam
Vanilla TerritoryFlag / vanilla baseBuilt-in fallbackUsed when the server does not run RA or other base frameworks.Built-in / package-specific
MuchCarKeyOptional vehicle-owner adapterVehicle ownership/lock evidence for vehicle restore and stolen/missing vehicle investigation.Built-in / package-specific
CarLock / TraderPlus CarLockOptional vehicle-owner adapterVehicle lock/owner lowID context. When possible, ZeroCheat resolves it back to the online owner Steam64/name.Built-in / package-specific
TraderPlus / TraderX / Expansion Market / GarageOptional trader adapterLegal trader, garage, buy/sell, and storage flows can downgrade loot/dupe/vehicle evidence instead of convicting a normal purchase.Built-in / package-specific
-mod=@CF;@YourAdminMod;@YourGroupMod;@YourTraderMod;@ZeroCheat
-servermod=@ZeroCheat_Server

If your server does not use an optional mod, do not install it only for ZeroCheat. ZeroCheat falls back to vanilla/context-light logic.

4. WebControl JSON ($profile:ZeroCheat/WebControl/config.json)

Folder Path: $profile:ZeroCheat/WebControl/

File Name: config.json (Generated automatically on first server boot)

Note: API URLs automatically use your current Web Panel domain (https://zero-cheat.com). If you change your domain name or web server IP in the future, these endpoints automatically adapt!

{
  "ZC_WebApiUrl": "https://zero-cheat.com/api",
  "IdentityToken": "YOUR_PRIVATE_IDENTITY_TOKEN_FROM_WEB_PANEL",
  "RegistrationToken": "",
  "GameServerId": "YOUR_GAME_SERVER_ID_FROM_WEB_PANEL",
  "CommandPollIntervalMs": 2000,
  "EventBatchIntervalMs": 1000,
  "LivePositionIntervalMs": 1000,
  "MaxEventsPerBatch": 50,
  "RequestTimeoutSeconds": 10,
  "LogVerbose": false,
  "DryRun": false,
  "LearningLocalEnabled": true,
  "LearningWebUploadEnabled": false,
  "LearningCapPerSteamId": 5,
  "LearningCloudUploadEnabled": true,
  "LearningCloudEndpointPath": "/api/learning-batch.php",
  "LearningCloudBatchIntervalMs": 60000,
  "LearningCloudMaxBatchLines": 1000,
  "LearningCloudMaxPendingLines": 20000
}
FieldRecommendedMeaning
ZC_WebApiUrlhttps://zero-cheat.com/apiDynamic Web API Base Endpoint. Automatically resolves to your web panel domain so domain changes require zero manual edits.
IdentityTokenFrom Web DashboardSecret Bearer token validating communication between your DayZ server and Web Panel. Keep private!
GameServerIdFrom Web DashboardUnique server ID assigned to this server instance in your Web Dashboard.
CommandPollIntervalMs2000 (ms)How often (in milliseconds) the DayZ server polls the Web Panel for pending admin commands (Kick, Ban, Teleport, Restore). Default: 2000ms (2s).
EventBatchIntervalMs1000 (ms)How often (in milliseconds) telemetry events (kills, combat logs, risk flags) are batched and sent to Web Panel. Default: 1000ms (1s).
LivePositionIntervalMs1000 (ms)How often (in milliseconds) player coordinates are streamed for the Web 2D/3D Live Map. Default: 1000ms (1s).
MaxEventsPerBatch50Maximum number of telemetry events sent per HTTP request payload to prevent network spikes.
RequestTimeoutSeconds10 (sec)HTTP connection timeout when communicating with Web Panel API.
LearningLocalEnabledtrueSaves local weapon recoil and movement ML baseline samples in $profile:ZeroCheat/Learning/.
LearningCloudUploadEnabledtrueUploads aggregated ML recoil baseline batches to Web Panel.
LearningCloudEndpointPath/api/learning-batch.phpRelative API endpoint path for ML baseline batches. Auto-resolves dynamically.

4.1 Remote Admin Commands & Live Inventory Inspection

The Web Control Panel communicates bidirectionally with the DayZ Game Server via HTTP polling (poll.php & result.php). Admins can execute the following remote actions live from the Web Panel or mobile phone:

FieldRecommendedMeaning
listPlayersAutomated / ManualFetches online player list, health stats, Steam64 ID, position, and ping.
getPlayerInventoryLive InspectionFetches full 3D nested inventory tree (clothing, backpack, hands, containers).
deleteItem1-Click Item WipeRemoves an illegal or cheated item classname directly from a suspect's inventory.
giveItemRemote Gear SpawnSpawns any item classname directly into a player's hands or inventory with custom quantity and condition.
sendMessageWeb BroadcastSends global server broadcasts or private direct messages to online players.
kickPlayerRemote KickKicks a player from the server with a custom administrative kick reason.
banPlayerRemote BanBans a player permanently (duration = 0) or for a set period in seconds.
unbanPlayerRemote UnbanRemoves a ban entry for a specific Steam64 ID / Game ID.
teleportPlayerRemote TeleportTeleports a player to target X, Y, Z coordinates or teleports admin avatar.
executeConsoleCommandRemote RCONExecutes raw server RCON or console commands remotely.
startAdminReplay3D Replay TeleportTeleports admin avatar straight to the 3D replay coordinates in-game.
restoreVIPVIP ManagerGrants or restores VIP status and kit entitlements.
getRisk / clearRiskRisk Score ManagerQueries or resets a suspect's accumulated risk score.
shutdownSafe RestartTriggers a safe game server restart / shutdown.

5. Core System JSON ($profile:ZeroCheat/Configs/System.json)

Folder Path: $profile:ZeroCheat/Configs/

File Name: System.json (Generated automatically on first server boot)

{
  "zc_SystemEnable": true,
  "zc_Debug": false,
  "zc_CooldownModulesSends": 3.0,
  "zc_TeleportPlayerToPrison": false,
  "zc_PrisonCoordinate": "50 0 50",
  "zc_RollbackIllegalPlayerTeleport": false,
  "zc_AimDetectorEnable": true,
  "zc_AimIgnoreExpansionParty": true,
  "zc_Admins": [],
  "zc_AimIgnorePairs": []
}
FieldRecommendedMeaning
zc_SystemEnabletrue (DEFAULT: ON)Master ON/OFF switch for the entire ZeroCheat Server protection engine.
zc_Debugfalse (DEFAULT: OFF)Binds verbose debug logging to RPT/console logs. Keep false on live production servers.
zc_CooldownModulesSends3.0 (sec)Cooldown time in seconds between web module alert dispatches to prevent spam.
zc_TeleportPlayerToPrisonfalse (DEFAULT: OFF)Automatically teleports convicted severe hackers to prison coordinates instead of instant kick/ban.
zc_PrisonCoordinate"50 0 50"World X Y Z coordinates for the offender prison cell.
zc_RollbackIllegalPlayerTeleportfalse (DEFAULT: OFF)Forces immediate physical position rollback when an illegal teleport or movement spike occurs.
zc_AimDetectorEnabletrue (DEFAULT: ON)Master switch for Aim Snap & Silent Aim trajectory detection.
zc_AimIgnoreExpansionPartytrue (DEFAULT: ON)Exempts party/clan teammates (Expansion Groups / LBmaster Groups) from aim checks.
zc_Admins[]Deny-List / Forced Normal Player Test List: Steam64 IDs placed here are stripped of Admin immunity and forced to be audited/tested as normal players for security compliance.
zc_AimIgnorePairs[]Manual Steam64A|Steam64B player pairs exempted from aim checks for friendly sparring/testing.

6. CombatMaster Engine JSON ($profile:ZeroCheat/CombatMaster/config.json)

Folder Path: $profile:ZeroCheat/CombatMaster/

File Name: config.json (Generated automatically on first server boot)

{
  "enabled": true,
  "checkFastFire": true,
  "checkInfiniteAmmo": true,
  "checkNoRecoil": false,
  "minRecoilThreshold": 0.04,
  "infiniteAmmoVerifyDelayMs": 250,
  "infiniteAmmoStrikeThreshold": 3,
  "minTimeBetweenShotsMs": 55,
  "fastFireStrikeThreshold": 3,
  "fastFireToleranceMs": 25,
  "fastFireSessionGapMs": 5000,
  "fastFireMinimumLegalMs": 45,
  "reportCooldownMs": 15000,
  "fastFireRiskDelta": 15,
  "infiniteAmmoRiskDelta": 35,
  "noRecoilRiskDelta": 5
}
FieldRecommendedMeaning
enabledtrue (DEFAULT: ON)Master switch for CombatMaster combat engine.
checkFastFiretrue (DEFAULT: ON)Enforces weapon rate-of-fire limits across 8 weapon groups (Sniper, Shotgun, Pistol, SMG, LMG, Assault, Rifle, Bow).
checkInfiniteAmmotrue (DEFAULT: ON)Tracks pre-shot ammo refills and post-shot magazine counts to detect infinite ammo.
checkNoRecoilfalse (DEFAULT: OFF)Detects robotic No-Recoil macros. Keep false until AI Recoil Learning has collected clean baselines.
minRecoilThreshold0.04Minimum recoil delta threshold before flagging No-Recoil.
fastFireStrikeThreshold3Accumulated strikes required before reporting a Fast Fire violation.
infiniteAmmoStrikeThreshold3Accumulated strikes required before reporting an Infinite Ammo violation.
minTimeBetweenShotsMs55 (ms)Absolute legal minimum interval between shots in milliseconds.
fastFireToleranceMs25 (ms)Tolerance window in ms to account for server tick rate variations.
fastFireSessionGapMs5000 (ms)Resets fast fire strikes if player stops shooting for 5 seconds.
reportCooldownMs15000 (ms)15-second cooldown per player between combat alert reports.
fastFireRiskDelta15Risk points added to player score per Fast Fire flag.
infiniteAmmoRiskDelta35Risk points added to player score per Infinite Ammo flag.
noRecoilRiskDelta5Risk points added to player score per No-Recoil flag.

7. Movement, Speed & Freecam JSON

Folder Path: $profile:ZeroCheat/Configs/

Files: SpeedDetector.json and FreecamDetector.json

// SpeedDetector.json
{
  "zc_SpeedDetectorEnable": true,
  "zc_SpeedSampleInterval": 0.25,
  "zc_SpeedGraceMs": 20000,
  "zc_MaxSpeedStand": 50.0,
  "zc_MaxSpeedCrouch": 15.0,
  "zc_MaxSpeedProne": 8.5,
  "zc_MaxTeleportXY": 35.0,
  "zc_MaxTeleportZ": 5.0,
  "zc_WebhookEnable": true,
  "zc_WebhookDiscord": "Your Discord Webhook URL Here"
}

// FreecamDetector.json
{
  "zc_FreecamDetectorEnable": true,
  "zc_FreecamCheckInVehicle": false,
  "zc_FreecamMaxDistance_1PP": 3.0,
  "zc_FreecamMaxDistance_3PP": 5.0,
  "zc_WebhookEnable": true,
  "zc_WebhookDiscord": "Your Discord Webhook URL Here"
}
FieldRecommendedMeaning
zc_SpeedDetectorEnabletrue (DEFAULT: ON)Enforces foot movement speed & teleport limits.
zc_SpeedSampleInterval0.25 (sec)Sampling interval in seconds for calculating velocity.
zc_SpeedGraceMs20000 (ms)20-second grace period after player spawn/teleport before speed checks activate.
zc_MaxSpeedStand50.0 (m/s)Max legal movement speed when standing.
zc_MaxSpeedCrouch15.0 (m/s)Max legal movement speed when crouching.
zc_MaxSpeedProne8.5 (m/s)Max legal movement speed when prone.
zc_MaxTeleportXY35.0 (m/s)Max horizontal position jump allowed in meters per second.
zc_MaxTeleportZ5.0 (m/s)Max vertical/elevation position jump allowed in meters per second.
zc_FreecamDetectorEnabletrue (DEFAULT: ON)Detects camera detachment from player body (Freecam/Ghostcam).
zc_FreecamCheckInVehiclefalse (DEFAULT: OFF)Check freecam camera separation when player is in a vehicle.
zc_FreecamMaxDistance_1PP3.0 (m)Max camera distance in 1st person view before alerting.
zc_FreecamMaxDistance_3PP5.0 (m)Max camera distance in 3rd person view before alerting.

8. Object & Remote Loot Manipulation JSON ($profile:ZeroCheat/Configs/ManipuleDetector.json)

Folder Path: $profile:ZeroCheat/Configs/

File Name: ManipuleDetector.json (Generated automatically on first server boot)

{
  "zc_IsManipuleDetectorEnable": true,
  "zc_RollbackObject": true,
  "zc_VanillaEnabled": true,
  "zc_CheckManipule_Item": true,
  "zc_CheckManipule_Car": true,
  "zc_CheckManipule_Base": true,
  "zc_CheckManipule_House": true,
  "zc_RadarEnabled": true,
  "zc_LootBubbleScannerEnable": true,
  "zc_AdvancedLootEnable": true,
  "zc_LootOuterScanRadius": 20.0,
  "zc_LootLegalPickupRadius": 5.0,
  "zc_MaxVacuumPullDistance": 150.0,
  "zc_LivePlayerStealLegalDistance": 5.0,
  "zc_CorpseLootLegalDistance": 6.0,
  "zc_DeleteVacuumLootItems": true,
  "zc_QuarantineVacuumLootSeconds": 300.0,
  "zc_RadarWatchList_Item": ["WoodenCrate", "SeaChest", "Barrel_Green", "CarTent", "LargeTent", "UndergroundStash"],
  "zc_RadarWatchList_Cars": ["CivilianSedan", "OffroadHatchback", "Truck_01_Covered", "Boat_01_Black"],
  "zc_RadarWatchList_Bases": ["Fence", "Watchtower", "TerritoryFlag"]
}
FieldRecommendedMeaning
zc_IsManipuleDetectorEnabletrue (DEFAULT: ON)Master switch for remote loot, vacuum loot, and object manipulation detection.
zc_RollbackObjecttrue (DEFAULT: ON)Automatically returns vacuumed items back to their original physical coordinates.
zc_CheckManipule_Itemtrue (DEFAULT: ON)Checks item vacuuming & illegal loot pulls.
zc_CheckManipule_Cartrue (DEFAULT: ON)Checks vehicle position manipulation.
zc_CheckManipule_Basetrue (DEFAULT: ON)Checks base wall & container position manipulation.
zc_RadarEnabledtrue (DEFAULT: ON)3D Radar active monitoring for high-value items/bases.
zc_LootLegalPickupRadius5.0 (m)Max legal pickup distance for items.
zc_MaxVacuumPullDistance150.0 (m)Severe alert distance for extreme vacuum loot pulls.
zc_DeleteVacuumLootItemstrue (DEFAULT: ON)Deletes items illegally pulled into suspect inventory.
zc_QuarantineVacuumLootSeconds300.0 (sec)Quarantines vacuumed items for 5 minutes before deletion.

9. Admin Power & Abuse Audit JSON ($profile:ZeroCheat/Configs/AdminPowerDetector.json)

Folder Path: $profile:ZeroCheat/Configs/

File Name: AdminPowerDetector.json (Generated automatically on first server boot)

{
  "zc_AdminPowerDetectorEnable": true,
  "zc_CheckGodmode": true,
  "zc_CheckIllegalHeal": true,
  "zc_CheckObjectSpawn": true,
  "zc_CheckInvisible": true,
  "zc_GodmodeStrikeThreshold": 3,
  "zc_DamageVerifyDelayMs": 350,
  "zc_HealWatchHealthJump": 20.0,
  "zc_InvisibleWatchRadius": 80.0
}
FieldRecommendedMeaning
zc_AdminPowerDetectorEnabletrue (DEFAULT: ON)Master switch for admin privilege auditing (VPPAdminTools, COT, LBmaster).
zc_CheckGodmodetrue (DEFAULT: ON)Audits invulnerability / Godmode during PvP or non-test sessions.
zc_CheckIllegalHealtrue (DEFAULT: ON)Audits instant health/blood jumps during combat.
zc_CheckObjectSpawntrue (DEFAULT: ON)Audits admin item spawning near players or vehicles.
zc_CheckInvisibletrue (DEFAULT: ON)Audits admin invisibility status.
zc_GodmodeStrikeThreshold3Strike count required before flagging Godmode abuse.

Field names may vary by build; use the generated ZeroCheat_Config_Guide.RD on the server as the final local reference. The policy is stable: god/heal/spawn/invisible must be judged as their own admin-power evidence, not mixed with speed/aim/loot.

10. Learning / R2 Policy

ZeroCheat should not upload everything forever. SQL is the court desk. R2 is the brain/archive.

Storage areaPolicy
SQL keepsActive case board, compact risk score, current unread alerts, restore indexes/codes, command queue state, clip metadata, and admin audit state.
R2 keepsCompact learning memory, selected raw batches, evidence/BlackBox clips with TTL, item/model thumbnails once per classname, court memory, and exportable archive data.
R2 should not keep foreverAFK spam, repeated heartbeat/state resend, every normal tick, duplicated client metrics, lab/debug spam, and old evidence clips after retention expires.
Learning ruleIf a customer does not buy a detector, the web may hide/disable that feature, but ZeroCheat can still collect safe background learning when allowed so the global brain improves.
Commercial ruleFeature licenses should gate feature use and court access. One purchased module should not unlock every R2 learning subject.
{
  "learning": {
    "r2_prefix": "dulieuhoc",
    "upload_r2": true,
    "local_mirror_path": "",
    "cloud_batch": {
      "max_records_per_request": 5000,
      "flush_files_per_request": 20,
      "flush_records_per_request": 10000,
      "inbox_retention_hours": 24
    }
  },
  "evidence": {
    "clip_retention_days": 7,
    "upload_only_when_case_exists": true,
    "cache_item_thumbnail_once_per_classname": true
  }
}

11. Restore

Restore must be strict. A player claim should be checked against evidence: owner, group, item contents, position, direction/orientation, last interaction, loss reason, and whether the case was already restored.

Restore toolRule
1-Click Base RestorationRestores tracked base containers and their captured nested inventory at the saved position and orientation. Supports the vanilla and optional base-building integrations enabled in the installed server mod stack.
Vehicle & Garage RestorationRecovers tracked vehicles and captured attachments or cargo after an abnormal loss. Ownership is resolved from recent driver and actor Steam64 data before a restore case is created.
Rolling Restart SnapshotsBase Restore and Vehicle Restore keep rolling JSON snapshots and save again during a graceful server shutdown. On the next start, ZeroCheat compares the tracked state and creates reviewable restore cases for abnormal losses.
Bug / Server Lag Corpse RestorationRestores captured corpse gear for supported bug and disconnect cases. Compatibility depends on the item classes installed on the server, and valid combat or environment deaths remain excluded.
3D Incident Replay & Evidence Clips (3D Blackbox)Reconstructs firefights and suspicious events in interactive 3D (1PP & 3PP). Admins can inspect shooter perspective, projectile trajectories, camera angles, remote loot pulls, and wallbang/no-tree penetrations 30 seconds before and 60 seconds after the event.
Item Thumbnail Cache & Audit TrailAutomatically caches item thumbnails and detailed action logs on cloud storage for all vanilla and modded items, allowing admins to cross-examine visual proof before approving restoration requests.
  • Base restore should place containers/items back at saved position/orientation when clear. If the spot is occupied, restore next to it and log the offset.
  • Vehicle restore should use driver, lock/key, garage/trader, owner, and last known vehicle state. Normal crashes and combat losses are not restore reasons.
  • Unknown-cause death restore should exclude suicide, valid PvP kill, zombie kill, drowning, falling, vehicle crash, and normal DayZ danger.
  • After restore, mark the entry restored or remove it from the active loss queue to prevent dupe payout.

12. Team / Group Rules

Only features that can confuse teammate behavior should use team/group ignore. Movement, teleport, under-map, freecam, admin-power, and impossible ammo still matter regardless of team.

Feature groupTeam/group effect
Aim / Skeleton ESP / TriggerbotSame team/group can downgrade friendly pre-aim or test behavior.
NoTree / WallbangSame team/group can be context, but hard-wall/foliage evidence is still stored for audit.
Loot / Dupe / RestoreGroup/base/vehicle ownership context helps decide whether an item flow is legal.
Speed / Teleport / Undermap / FreecamTeam membership does not make impossible movement/camera behavior legal.

13. Test Checklist

  1. Start server once and confirm $profile:ZeroCheat/Logs has a boot marker.
  2. Open Feature Toggles and enable only the feature being tested.
  3. Test normal behavior first. Confirm no alert.
  4. Test the suspicious behavior. Confirm one readable case, not spam.
  5. Open AntiCheat court and confirm Count/grouping, details, action buttons, and 3D Evidence only when a real R2 clip exists.
  6. Check SQL/R2 growth after testing. Normal client metrics, AFK, duplicate heartbeat, and debug payloads must not grow forever.

14. Production Hardening

  • Keep secrets in web config or encrypted/server-side code. Do not expose R2 keys to customers in plain JSON.
  • Use feature licenses so a customer buying one detector does not unlock every detector or every R2 learning subject.
  • Keep SQL retention enabled. SQL should hold active cases and indexes, not every raw event forever.
  • Keep heavy R2 evidence clips on TTL. Seven days is a good default unless a case is manually preserved.
  • Do not enable watch-first hard features as heavy punishment until the server has clean learning and admin review workflow.