Data & Privacy
A learning system raises a fair question: where does the data go? For the economy engine's learning, the short answer is that it stays on your server. The beta telemetry is the one exception, set out below.
Does the engine send my economy data anywhere?
Not to learn. The engine learns entirely on your own server, from your own trades, and the model it builds is yours and lives only with your data. Learning never uploads your market, shares it with other servers or pools it anywhere. The one thing that can send data outward is the beta telemetry below.
What about my players and their data?
The engine works with the same trade records your server already has: who traded, what, and for how much. It does not gather anything new about your players, and it does not send their information off your server as part of learning. The beta telemetry below is the exception, and it hashes every player's UUID on your server before anything leaves.
Then what is the telemetry I see in the config?
That is a separate feature for the beta, and it is the only thing that sends anything outward. It has three levels, each switched under telemetry in config.yml, and the engine works exactly the same with all of them off. On a free beta key the anonymous level is always sent, because that is how bugs get found during the beta. Everything else follows your settings.
| Level | Default | What it sends |
|---|---|---|
anonymous | On, always on a beta key | Facts about the server and the plugin, error reports, and how the auction house is used, as totals for the whole server. No player data. The full list is below. |
economy | On | Every record the engine stores, in batches: auction sales, trades read from other plugins, server shop trades and money sent between players. Each record carries its time and type, the item with its custom name, its enchantments, including those stored in an enchanted book, and its custom model data, the item's rarity, the quantity, the price and currency and the converted price, the plugin it came from, its trust weight and the engine's flags for it, whether each side shared a connection with another player, never the address itself, and each side's trade count. Player UUIDs are hashed on your server first, with a random key that never leaves it. It also sends the hourly market snapshots and the engine's price suggestions. |
playerBehaviour | Auto | For each player, under a hashed id, how many searches they ran, how many times they opened the auction house and the claim screen, and how many claims they collected. Sent on a free beta key unless you turn it off, see below. |
What exactly does the anonymous level send?
- The server: its software and version, Java and the operating system, whether it runs Folia, a rough player-count band, the player limit, and every installed plugin with its version.
- The plugin: its version, the database type, whether Redis and barter are on, the economy engine's state and settings, the ids of the currencies in use and which integration switches are on.
- Integrations: for each supported plugin that is installed, whether ProtonAuctions connected to it, found it without connecting, failed to connect, or has it switched off. Plugins that are not installed are left out.
- Feature use: how many listings of each kind, bids, sales, barter trades, ended listings and why they ended, searches, menu opens and collected claims there were since the last report, as totals for the whole server. Also which menu features are on (pointer menus, textured menus, the Auction Master) and how many Auction Master NPCs are linked.
- Imports: after
/ahadmin migrate, which plugin you imported from, whether it was a dry run, and its counts: listings read, auctions created, claims made, past sales, skipped entries and errors, and how long it took. Never a file path or a server name. - The pricing engine's cost: how many price suggestions, training runs and fraud checks ran, how long they took, and the average per server tick, with the time on the main server thread shown apart.
- Performance: the tick rate and the database connection pool's figures.
- Error reports and crash summaries, described next.
What is in an error report?
When ProtonAuctions' own code hits an error, the anonymous level sends a short report instead of the error itself: an error ID such as PA-3F9A1C, the names of the error types, the places in ProtonAuctions' own code the error passed through (class, method and line), the method it happened in, how it was caught, how many times it happened, and when it was first and last seen. It never sends the error's message, which can hold player names or values, and nothing from other plugins' code. The console prints the same error ID, so you can quote it when you ask for help.
If the server crashed in native code, the next start sends a summary of the crash file's header: the kind of crash and its signal, the Java and VM versions, the failing native frame, the operating system, whether ProtonAuctions' own native library was involved, how many new crash files there were and the hour of the newest one. File paths are removed, and the rest of the crash file is never sent.
When is player behaviour sent?
playerBehaviour has three settings:
auto, the default: sent while your server runs on a free beta key that the licence server has confirmed. Never on a Standard or Enterprise licence, and never while the key is not confirmed, for example while the licence server cannot be reached.on: always sent.off: never sent.
A config from an older version with true or false keeps working as on or off.
Is my telemetry linked to my licence?
During the beta, yes, for beta keys only. The plugin's regular beta check also tells the licence server which telemetry install belongs to your key, so that when you report a problem the developer can find your server's error reports. The link is kept only for the beta and is deleted once the beta has ended, after which your reports are anonymous again. Player identities stay hashed either way.
Can I turn it off?
telemetry.enabled: falseturns everything off, except on a free beta key, where the anonymous level is still sent and the console says so.telemetry.anonymous: falseturns the anonymous level off on a Standard or Enterprise licence. On a free beta key it stays on.telemetry.economyandtelemetry.playerBehaviourturn their level off on any key.- When a beta key has ended and the plugin is in recovery-only mode, it sends nothing at all.
Changes apply on /ahadmin reload or a restart.
What changes at the stable release?
A beta key keeps these beta rules until it ends. From the stable release, a Standard or Enterprise licence follows the stable rules: the anonymous level stays on by default, with the same off switch, and trade data and player behaviour are only sent if you turn them on.
Where does it go?
Reports are sent over HTTPS to a ProtonAuctions collection service on Cloudflare and stored in a private database that only the developer can read. They are used to find bugs and to train and check the pricing engine, and they are never sold, shared or used for advertising. Like any web request, the collection service sees the IP address of the server that sent a report. It keeps that address only for a few minutes, in a rate-limit record that is never joined to the report.
What does the engine actually store on my server?
A history of completed trades and a small learned model, kept on your server. It is the same trade information your auction house, and the plugins it reads, already record, so there is nothing in it about your players that your server did not already hold. Your auction data itself is encrypted to your installation, covered in Database Encryption.