Two config lines.
Zero cold misses.
Drop a single endpoint into your server.cfg and every FiveM asset streams through a global pull-through CDN. Invalidation is free and automatic, and a warm edge cache kills cold-miss join failures.
# add these 2 lines to server.cfg, then restart
fileserver_add ".*" "https://cdn.fivemcdn.com/t/ab12cd34/files"
set adhesive_cdnKey "k9f2•••••••••••••"Slow asset delivery empties lobbies.
When resources download straight from your game server, every player hammers your origin bandwidth. Worse, on a cold cache the first joiners after a restart can stall past FiveM's ~2-minute pre-connect window and get bounced. It looks like you're rejecting your own lowest-spec players. They don't retry. They find another server.
Origin does all the work
Every file, every player, straight off your box. Bandwidth bills and packet loss during peak joins.
Stale files after updates
No native cache-busting in FiveM. Update a script and players get the old bytes, then blame you.
Cold-miss join failures
First joiners after a restart hit an unwarmed cache, blow the 2-minute window, and fail to connect (issue #4009).
Live in three steps.
Add two lines
We generate your key and endpoint. Paste both lines into server.cfg and restart. That's the whole integration.
We cache at the edge
On the first request for a file we pull it from your origin once, cache it on Cloudflare's network, and serve every future request from the nearest region.
It stays warm on its own
Your files stay cached at the edge, and content-hashed keys keep the cache in perfect sync whenever you deploy, so only changed files re-fetch.
Everything the download screen needs.
Config-only onboarding
Paste one fileserver_add line plus a key into server.cfg. No firewall access, no reverse proxy, no SDK, no migration weekend. Works with shared and managed hosting.
Free automatic invalidation
Every file is cached by its content hash, so an update is never served stale. Change a resource and only the files that actually changed re-fetch, automatically. Nothing to bump, no paid purge button.
Always-warm cache
Your files stay cached at the edge. The first player to join fills the cache; everyone after them downloads from the nearest edge, not your origin. No preload step, no cold-download join failures.
Global edge network
Built on Cloudflare's global edge network. Players download byte-identical, cached assets from the nearest region. Your origin is contacted at most once per file.
Real-time analytics
See cache-hit rate, bandwidth saved, storage used, and origin fetches per server. Know exactly how much load you've offloaded.
Optional origin lock
Want to stop anyone who finds your origin IP from grabbing your paid scripts? Two optional lines lock the file server to Cloudflare's edge, no firewall rules needed. Off by default; caching works without it.
Invalidation and a warm cache, free on every plan.
Competitors gate cache purge behind €15+ tiers. Ours is automatic and per file, and a warm edge cache keeps joins fast, both included on the free tier and up, along with firewall-free onboarding.
Honest, EUR-native pricing.
A real permanent free tier. No per-GB surprise metering. Cancel anytime.
Free
For solo devs and hobby communities. No card required.
- 1 server
- 15 GB edge cache storage
- 1 TB / month bandwidth (fair use)
- Full global edge network
- Free automatic cache invalidation
- Always-warm edge cache
- Config-only setup, no firewall access
- 7-day analytics
- Community (Discord) support
Starter
For one production server that outgrew the free tier.
- 1 server
- 50 GB edge cache storage
- 5 TB / month bandwidth
- Everything in Free, plus:
- 30-day analytics (hit/miss + bandwidth saved)
- Custom subdomain
- Priority support
Community
For established RP servers that outgrew the free tier.
- Up to 3 servers
- 200 GB edge cache storage
- Unlimited bandwidth (fair use)
- Everything in Free, plus:
- 30-day analytics (hit/miss + bandwidth saved)
- Shared cache across your servers
- Custom subdomain
- Priority support
Network
For multi-server networks and hosting resellers.
- Up to 10 servers
- 1 TB edge cache storage
- Unlimited bandwidth (fair use)
- Everything in Community, plus:
- 90-day analytics
- One cache shared across all your servers
- Reseller / multi-tenant support
- Dedicated onboarding
Questions, answered.
Do I need firewall or SSH access?
No. Setup is two lines in server.cfg, with no firewall, SSH, or reverse proxy involved, so it works on shared and managed hosting too. If you want, you can optionally add two more lines to lock your origin to Cloudflare's edge (FiveM's sv_proxyIPRanges + sv_httpFileServerProxyOnly, build 10543+), but it isn't required.
How does cache invalidation work?
Automatically, per file. Every file the client requests carries its content hash, so when you update a resource the changed files are fetched fresh and the unchanged ones keep serving from cache. There's nothing to bump and no purge rate limits.
What causes the cold-miss join failures, and how do you avoid them?
With an external fileserver, a client whose download window exceeds ~2 minutes can time out during pre-connect (FiveM issue #4009). To your lowest-spec players it looks like the server rejected them. Because your files stay cached at the nearest edge and the first player to join fills anything new, real players almost never hit a cold miss.
Does it work with ESX / QBCore / txAdmin?
Yes. We sit in front of your existing resource downloads, so it's framework-agnostic. No code changes to your resources; just the config block.
Is adhesive_cdnKey required?
Yes. By default FiveM obfuscates files with a per-client key, so the same file is different bytes for every player and can't be shared from a cache. Setting adhesive_cdnKey forces one global key so every player gets byte-identical, cacheable files. We generate the key for you.
What happens if my origin goes offline?
Cached files keep serving from the edge even if your origin is down. Only never-before-seen files need your origin, and your warm cache makes those rare.
Warm your cache in five minutes.
Start free. No card, no firewall access, no migration. Just one line of config.