Monetization with Tebex
Tebex is the storefront platform FiveM officially supports for server monetization — selling VIP tiers, in-game currency, cosmetics, or accepting donations. This guide covers the setup workflow and integration points, not exact dashboard UI steps (Tebex’s dashboard changes over time).
Creating a Store
- Sign up for a Tebex account and create a game server store.
- Select FiveM as your platform during store setup — this determines which integration options Tebex surfaces for you.
- Note the store’s identifying secret/token from its FiveM integration settings; you’ll need it to connect your server. Treat this like any other credential — see Secrets below.
Connecting Your Server
Tebex integrates with FiveM through a store plugin resource that you install on your server. Conceptually, the integration works like this:
- You install Tebex’s FiveM plugin resource into your
resources/directory andensureit inserver.cfg, alongside the store secret it needs to authenticate:
# server.cfg
ensure tebex_fivem
set tebex_secret "your-store-secret-here"- The resource listens for purchase events from your Tebex store (via webhook or polling, depending on the plugin version) and calls out to your server’s delivery logic when a purchase completes.
- Your server-side scripts (in your framework or a dedicated delivery resource) react to that event and grant the purchased reward — adding an item, setting a permission group, applying a cosmetic, etc. Log the package ID, player identifier, and delivery result for every event, so a failed delivery can be resolved without guessing what happened.
Check Tebex’s current FiveM plugin documentation for the exact resource name and convar names at the time you set this up, since plugin versions and their configuration keys change.
Setting Up Packages
Design packages around what you can reliably deliver server-side:
- VIP tiers — typically implemented as a permission group (see Permissions) granted on purchase, unlocking cosmetic commands, priority queue, or a Discord role.
- In-game currency — credited directly to the player’s account via your framework’s economy functions when the purchase webhook fires.
- Cosmetics — unlocked items, outfits, or vehicle skins flagged as owned in your database, then made available through your existing shop/wardrobe UI.
Each package should map to a specific, testable action in your delivery script — avoid packages that require manual admin intervention to fulfill, since that doesn’t scale and creates support burden.
Keep Secrets Out of Version Control
Your Tebex store secret/webhook key grants control over purchase fulfillment. Treat it like a database password:
- Never commit it directly into
server.cfgif that file is tracked in git — load it from an untrackedsecrets.cfgthat youexecfrom your main config, or from an environment variable your delivery resource reads at startup. - Rotate the secret if it’s ever exposed (committed by mistake, pasted in a support channel, etc.).
- Restrict who has dashboard access to your Tebex store to admins who actually need it.
Best Practices
- Test purchases on a staging server first. Use Tebex’s sandbox/test mode (check current Tebex docs for how test purchases are triggered) to verify delivery logic fires correctly before going live, so a real purchase never lands with no in-game reward.
- Avoid pay-to-win packages. Selling direct power advantages (stat boosts, exclusive weapons with no in-game equivalent) tends to hurt player retention and runs against how most of the FiveM roleplay community expects monetization to work — cosmetics, convenience, and VIP access sell better long-term and cause less community pushback than power advantages.