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 — with free automatic invalidation and preloaded edges that kill 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•••••••••••••"
# that's it — enjoy the CDNSlow 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 — and 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, store it in R2, and serve every future request from the nearest Cloudflare region.
Preload keeps it warm
We warm your resource tree ahead of peak so joins stay instant, and versioned keys keep the cache in sync whenever you deploy.
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
Version-prefixed cache keys mean an update is never served stale. Bump a version — or let your deploy hook do it — and the edge follows within one request. No paid purge button.
Cache preloading
We warm the edge before your players arrive, so the very first join after a restart hits a hot cache. This is the fix for the ~2-minute cold-download join failure — included on every plan.
Global edge network
Built on Cloudflare's edge and R2. 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? Add two optional lines to lock the file server to Cloudflare's edge — no firewall rules required. Off by default; caching works without it.
Invalidation and preloading, free on every plan.
Competitors gate cache purge behind €15+ tiers and ration preloading to their priciest plans. We include both — plus firewall-free onboarding — on the free tier and up.
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
- Automatic cache preloading
- Config-only setup — no firewall access
- 7-day analytics
- Community (Discord) 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
- Scheduled preload & refresh
- 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
- API-triggered preload & refresh
- Uptime SLA
- Reseller / multi-tenant support
- Dedicated onboarding
Questions, answered.
Do I need firewall or SSH access?
No. Setup is two lines in server.cfg — no firewall, no SSH, no reverse proxy — 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?
Every cached object is keyed by a cache version. Update a resource and bump the version (a button, or an API call from your deploy hook) — the old cache is instantly orphaned and the new version cold-fills once. It's free, automatic, and has no purge rate limits.
What causes the cold-miss join failures, and how does preloading fix them?
With an external fileserver, a client whose download window exceeds ~2 minutes can time out during pre-connect (FiveM issue #4009) — it looks like the server rejecting your lowest-spec players. Preloading warms the edge ahead of time so 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 — 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 for up to 30 days. Only never-before-seen files need your origin — and preloading means those are rare.
Warm your cache in five minutes.
Start free — no card, no firewall access, no migration. Just one line of config.