Supported Games
Tebex Plugin for Rust Game Servers
Monetize your Rust server with the same tools used by FiveM and Hypixel. Sell items, subscriptions, and passes while Tebex handles payments, tax compliance, and risk all at a flat 5% fee.
This is our Oxide plugin designed specifically for Rust game server administrators, rebuilt from the ground-up based on community feedback.
Features
- Permission Replay: Easily re-apply your players' permissions/groups after server wipes. All saved locally and fully customizable.
- In-Game Storefront UI: Players can browse an in-game representation of your store, if enabled.
- QR Checkout: Scan a QR code to checkout and pay with a mobile device instead of leaving the game.
Installation and Setup
To install, simply upload the TebexPlugin.cs source file to the oxide/plugins directory of your game server.
You must Create a Game Server on your Tebex store to receive the key used to link your server.
Use the tebex secret <key> command as an administrator to set your game server key. Alternatively, it can be added to the config at oxide/config/TebexPlugin.json.
You may also use the TEBEX_SECRET_KEY environment variable which will override any configuration value.
Configuration
The plugin is highly configurable to support a wide range of setups, both vanilla and modded. Below is the default configuration generated at startup:
{
"secret_key": "",
"buy_command": "buy",
"disable_ui": true,
"admin_command": "tebex",
"debug": false,
"auto_report_logs": true,
"enable_basket": true,
"track_permissions": true,
"custom_permission_commands": [],
"queue_check_seconds": 120,
"listing_refresh_seconds": 120,
"telemetry_flush_seconds": 120,
"join_flush_seconds": 60
}
- secret_key: Your webstore's plugin secret key from the Tebex control panel
- buy_command: Chat command name that opens the store for players.
- admin_command: Chat command name for all admin subcommands.
- disable_ui: Toggle the full in-game storefront. Note: your server may be categorized as modded if UI is enabled.
- debug: Enables verbose server-log output.
- auto_report_logs: Whether the plugin sends telemetry/error events.
- enable_basket: Enables selecting multiple items from the in-game storefront.
- track_permissions: Enables the permission replay feature, which saves any permissions issued.
- custom_permission_commands: List of { label, grant_command, revoke_command } deliverable commands so they're tracked and replayable too.
- queue_check_seconds: Baseline interval (seconds) between polls of the Tebex command queue for due purchases. Minimum is 30s.
- listing_refresh_seconds: How often package/category listings and community goals are re-fetched from Tebex. Minimum is 30s.
- telemetry_flush_seconds: How often telemetry events are sent to Tebex. Minimum is 30s.
- join_flush_seconds: How often player-join events are sent to Tebex. Minimum is 15s.
Permission Replay
Permission Replay lets you restore the permissions and groups your players purchased through your Tebex store after a server wipe, without asking buyers to re-purchase and without manually re-issuing commands.
When a Tebex package delivers an Oxide permission or group, the plugin records who got what. After a wipe (or any time Oxide permissions get reset), you can run tebex replay <username|all> to re-apply tracked purchases.
Tracking custom (non-Oxide) permissions
If your perks are granted by another plugin instead of Oxide's built-in permissions, for example a VIP manager with addvip / delvip, teach the ledger about that plugin's grant/revoke commands with custom_permission_commands in the config:
"custom_permission_commands": [
{
"label": "vip",
"grant_command": "addvip",
"revoke_command": "delvip"
}
]
Refunds/expiries that come through as revoke commands automatically remove the entitlement, so a later replay won't re-grant something that was taken away.
All tracked permissions are saved to a ledger file in oxide/data/Tebex/permission_ledger.json. It is safe to back this up.
Support
If you have found a bug, please open an issue on our GitHub repository.
The original author may request that this plugin be removed and there is a risk that the plugin may be unavailable in the future.
Note that the current maintainer may not have permission to assign a license to the plugin if they are not the original author, so explicit permission would need to be obtained from the original author in order for the plugin to remain openly available and guarantee that it will be around for all to enjoy going forward.

