βš–οΈHow we provide reliability

The biggest issue with trade plugins is dupe bugs

We understood this difficulty and I started working on the plugin keeping in mind that it should've been designed to have as little as possible ways to produce instabilities

We adopted 2 measures to counteract dupes:

  1. Trade is divided into 4 statuses/phases: REFUSED, CONFIRMED, COMPLETED and RETRIEVED Those 4 phases lock the player and the trade items to prevent duping by clicking, double-clicking, drag-clicking, and all the things

  2. I'm using a plugin to test ZelTrade under stress conditions and on particular cases. The code of TradeIntegrity will be open source and released soon, so you can download it and test ZelTrade by yourself

ZelTrade is robust, efficiently managing disruptions to the Redis cache connection. It can also withstand server crashes, utilizing a query system to monitor all active trades within the network.

Our testing suite

My testing suite
  • I start with a testing modpack to thoroughly test each GUI feature, identifying any bugs related to item desynchronization

  • The second tool is a stress test command that makes the server lag randomly

  • When I test, I choose MySQL and Redis servers with latency greater than 200ms to amplify desynchronization issues

  • Additionally i attach a debugger to the server instance to check if there is any leftover inside hashmaps and to check if there is any possible memory leak

Last updated