Product documentation

Operate ShieldPlay with confidence.

A practical guide to install the Paper agent, connect it safely, investigate detections and keep automatic actions conservative.

01

What ShieldPlay does

ShieldPlay combines a Paper-compatible Minecraft agent with a cloud dashboard. The agent observes server-authoritative gameplay events, submits bounded telemetry and violations, while the dashboard gives owners and staff one place to review evidence, server health, access and notifications.

The product is designed around a conservative principle: a flag is evidence for review, not an automatic verdict. Combat heuristics and X-Ray findings remain review-only by default; automatic punishment requires separately eligible, sustained and independent evidence.

02

Before you install

Use a modern Paper/Purpur/Spigot-compatible server and Java 21 for the current agent build.

RequirementWhy it matters
Java 21The current agent is compiled and tested on Java 21.
Paper 1.21 API compatible serverThe agent uses Paper/Bukkit server events and bounding boxes.
Dashboard owner accountThe owner creates and rotates the server-specific connection key.
Outbound HTTPS accessThe game server must reach https://api.shieldplay.it/api/v1.

Do not place a dashboard session token or Stripe credential in the Minecraft configuration. The agent only needs its own server-specific API key.

03

Install and connect the agent

  • Download the current ShieldPlay agent JAR from the Download page.
  • Stop the Minecraft server and copy the JAR to its plugins directory.
  • Start the server once to create the plugin configuration, then stop it or use the reload command after editing.
  • In the dashboard, register the Minecraft server and create or rotate its server API key.
  • Set the cloud URL and key in the agent configuration, then start the server and confirm the connection in the dashboard.
plugins/AntiCheatSaaS/config.yml
cloud:
  api-base-url: "https://api.shieldplay.it/api/v1"
  api-key: "PASTE_THE_SERVER_SPECIFIC_KEY_HERE"
  heartbeat-interval-seconds: 30
  request-timeout-seconds: 12

Treat api-key as a secret. Do not publish it in screenshots, Git repositories, Discord messages or client-side code.

04

Commands and access

The in-game administration permission is anticheat.admin. Dashboard staff access is separately synchronized by UUID. Keep that roster narrow and use per-check exemptions only for controlled testing or trusted operational tools.

CommandPurpose
/anticheat guiOpen the in-game management GUI for an authorized administrator.
/anticheat reloadReload local configuration, including the monitored X-Ray material list and Discord X-Ray presentation settings.
/anticheat statusInspect the local agent connection and basic operating state.
05

Detection and review policy

ShieldPlay deliberately distinguishes data collection, an alert and a sanction. A low-confidence signal can be logged without increasing risk or opening an incident. Correlations can help staff understand repeated behavior, but they are not autonomous evidence for automatic punishment.

The geometric Hitbox check traces the player eye ray against an expanded server-side target bounding box. It skips unstable contexts such as high ping, low TPS, recent movement transitions and special movement states. Paper provides event-time server geometry rather than full client-view rewind, so the result is intentionally review-only.

06

Configure X-Ray thoughtfully

X-Ray is evaluated only when a player breaks monitored rare blocks. A pattern must meet several conditions together: enough blocks mined, enough concealed rare ores, sufficient density and a bounded burst duration. Air, water and lava exposure is excluded to reduce false positives.

checks.movement.xray in config.yml
checks:
  movement:
    xray:
      rare-ores:
        - DIAMOND_ORE
        - DEEPSLATE_DIAMOND_ORE
        - EMERALD_ORE
        - DEEPSLATE_EMERALD_ORE
        - ANCIENT_DEBRIS

The Owner can also select the allowed vanilla materials in the Minecraft Staff dashboard. Removing the dashboard override returns control to config.yml.

07

Staff, language and exemptions

Owners manage the server staff roster in the Minecraft Staff module. They can choose Italian or English for the in-game GUI and staff alerts, and can grant an exemption for an individual check to an individual staff UUID. Exemptions are exact, checked before profiling and reporting, and never use wildcard rules.

08

Discord and outgoing webhooks

Create a channel webhook in Discord, then add it in Dashboard → Webhooks and subscribe it to Flag X-Ray. ShieldPlay renders Discord endpoints as an embed with player, server, ore and review-only status. Generic webhooks keep a JSON event envelope for external systems.

X-Ray Discord presentation and anti-spam settings
notifications:
  discord:
    xray:
      enabled: true
      embed:
        title: "ShieldPlay · Flag X-Ray"
        description: "{player} mined {hidden_ores} concealed ores. Last: {ore}."
        color: "#F59E0B"
      rate-limit:
        cooldown-seconds: 60

The effective X-Ray Discord cooldown is clamped to 15–600 seconds per webhook. Flags are still stored during the cooldown; only repeated chat notifications are suppressed.

09

Operational checklist

  • Check the server heartbeat, TPS and agent version after each plugin update.
  • Review new violations alongside ping, TPS, context exclusions and prior evidence before acting.
  • Use the unban flow in the dashboard so the persisted punishment and Paper profile pardon stay aligned.
  • Rotate a server key if it was exposed, then update only that server’s config.yml.
  • Use the Webhooks Test action before relying on an alert channel during an incident.
10

Troubleshooting

SymptomChecks to perform
Agent stays offlineConfirm cloud.api-base-url, server API key, outbound HTTPS, server registration and dashboard server selection.
No X-Ray alertConfirm the check is enabled, the broken material is monitored, the pattern thresholds were met and no staff exemption applies.
Discord receives nothingUse the Webhooks Test action, select Flag X-Ray, keep the webhook enabled and check its URL/channel permissions.
Unexpected flagDo not ban from a single alert. Inspect its metrics, latency, TPS, context and incident history; adjust configuration only after review.

Ready to connect your server?

Download the Paper agent and follow the guided installation.

Go to download