One of the things we're passionate about at Tebex is making great experiences. Great experiences for server owners, but also for players. As part of this, we're pleased to say we're tackling one of the biggest sources of 'bad experiences' for players - waiting for their purchase.
If you use any of the major server monetization platforms, they all work the same way - you make a purchase, and a piece of software polls to check for new purchases or new commands. The frequency may be different - some might check every minute, some might check every 10 - but the principle is always the same.
Tebex is changing that with push commands. With this new feature, as soon as the gateway tells us the payment has gone throught, we will actively push the commands to the server in real time. No more waiting for checks, no more details, and then lag when hundreds of commands come through at the same time, just better experiences all round. At the moment this is only available on Minecraft: Java Edition, however we're working to bring the same push commands to as many of our games as possible.
How Does It Work?
With push commands, Tebex has built a listener in to the plugin that we can send commands directly to. By using this listener, we send requests via the same port as you use for Minecraft, so there is no need to open up additional ports or configure anything. When we push the commands to the plugin, they will get processed and executed immediately (following all the usual rules of checking if the player needs to be online, checking inventory requirements etc.)
What About Security?
All the push messages from Tebex will be signed using your secret key, and the plugin will then verify that the signature is correct. This means if someone else was to try to send push commands to the plugin, the plugin will detect the incorrect signature and not process the message. In addition, we are making significant changes to our architecture to ensure that the messages come from a small number of known IP addresses, meaning you can lock down access to our IPs if for example you are using a proxy for your normal 'game' traffic.
What If the Push Command Fails?
We will still have the 'polling' mechanism as a fallback in the plugin - if for any reason we cannot push the commands to your server then the polling mechanism will pick them up, just as it always has
Actually, I'm Happy With How It Currently Works
That's fine too. While we're excited about the new push commands, we totally understand that for some servers it might not be right. Enabling push commands is entirely optional, and if you decide not to do so, then polling will continue to work just as it has before.
We're currently finalising some of our infrastructure changes to make this a reality, but we're so excited that we had to share the news. We will be releasing the feature in early-September, so ensure you login to your control panel and check the changelogs for more details!