Transaction Synchronization

transaction.yml controls transaction provider selection and native probe settings. AUTO is the default provider mode.

What this file controls

transaction.yml supports provider modes AUTO, GRIM, NATIVE, and DISABLED; AUTO is the configured default. Native settings include probe interval, pending timeout, and per-player pending size.

The transaction group defaults to enabled with mode: AUTO, probe-interval-ms: 80, pending-timeout-ms: 5000, and pending-size: 256; debug and successful-ack logging default to false and throttling defaults to 1000 ms. The protection group defaults to disabled with 3 allowed strikes in 15,000 ms, one successful acknowledgement to recover, and player warnings enabled.

The selected provider can depend on transaction ownership by another plugin. Use the status and messages from your server to diagnose the active provider.

Provider decision truth

The selected provider depends on mode and which plugin owns transaction handling. Use the table to understand how each mode is resolved.

Provider decision truth
Configured modeResult
DISABLED, or transaction/confirmation path offSynchronization is off; a disabled confirmation path also yields DISABLED.
AUTOResolves to NATIVE, GRIM, or GRIM_UNAVAILABLE depending on runtime ownership.
GRIMStrict Grim path; resolves to GRIM_UNAVAILABLE when Grim cannot own synchronization.
NATIVE while Grim is presentGRIM_UNAVAILABLE with a warning; Native does not silently take over a Grim-owned connection.
Polar-owned connectionPOLAR_CONFLICT takes precedence for the affected connection.
Vulcan-owned connectionVULCAN_CONFLICT takes precedence and FairPlay sync is bypassed for the affected connection.

Diagnose provider and probe behavior

  1. Back up the generated file and check that the transaction group is enabled and the requested mode is correct.
  2. Compare the deployed probe interval, pending timeout, and pending size with the 80, 5000, and 256 defaults.
  3. Review the protection group before attributing a warning or kick to it; it is disabled by default.
  4. Use a controlled server session to check which provider is active. The configured mode alone does not identify the provider selected for a connection.

Apply and verify changes

After editing a setting, use the reload command when that setting supports reload. If the change does not take effect, check the configuration troubleshooting guide for the setting’s restart requirements.

Browse all documentation