This directory contains a list of trusted hosting providers for FiveM and RedM servers, sourced from the official FiveM registry at fivem.net/server-hosting.
trusted-hosts.json- The main data file containing all verified hosting providerstrusted-hosts-schema.json- JSON Schema for validating the data format.github/scripts/update-trusted-hosts.js- Automated scraper that fetches the latest list from FiveM.github/scripts/validate-trusted-hosts.js- Validation script that checks data integrity.github/workflows/update-trusted-hosts.yml- GitHub Actions workflow for automated updates
The system automatically updates the trusted hosts list every Monday at 00:00 UTC via GitHub Actions. The workflow:
- Scrapes the FiveM server hosting page to find current providers
- Validates the scraped data against the JSON schema
- Creates a Pull Request if changes are detected
- Sends to review for manual approval before merging
You can manually trigger the update workflow:
- Navigate to Actions → Update Trusted Hosting Providers → Run workflow
Each trusted host entry contains:
{
"id": "zap-hosting",
"name": "ZAP-Hosting",
"url": "https://zap-hosting.com",
"description": "Premium game server hosting with DDoS protection",
"verified": true,
"lastVerified": "2026-01-26T12:00:00Z"
}- id: Unique identifier (lowercase, alphanumeric, hyphens only)
- name: Display name
- url: Provider's website
- description: Brief description
- verified: Whether currently active on FiveM registry
- lastVerified: When this provider was last confirmed
import { getTrustedHosts } from "@/lib/trusted-hosts";
const hosts = await getTrustedHosts();
// Returns sorted array: verified hosts first, then by nameimport { getTrustedHostsMetadata } from "@/lib/trusted-hosts";
const metadata = await getTrustedHostsMetadata();
// Returns: { lastUpdated, source }import { getTrustedHostById } from "@/lib/trusted-hosts";
const zapHosting = await getTrustedHostById("zap-hosting");import { isTrustedProvider } from "@/lib/trusted-hosts";
const isTrusted = await isTrustedProvider("https://zap-hosting.com");The data is validated using JSON Schema (Draft 7) to ensure:
- ✅ All required fields are present
- ✅ IDs follow naming conventions (lowercase, alphanumeric, hyphens)
- ✅ URLs are valid and parseable
- ✅ No duplicate IDs or URLs
- ✅ Field lengths are within limits
- ✅ Timestamps are valid ISO 8601 format
If a provider appears on fivem.net/server-hosting but isn't automatically detected:
- Add the entry to
trusted-hosts.jsonfollowing the schema - Run the validation:
node .github/scripts/validate-trusted-hosts.js - Submit a PR with your changes
- The GitHub Action will verify the changes automatically
When a provider is removed from the FiveM registry:
- The scraper will set
verified: false - Consider removing the entry entirely if it hasn't been verified in 90+ days
- Changes trigger PR creation for review
The scraper uses multiple strategies:
- HTML parsing to find provider links
- Fallback to known provider list
- Validation against provider websites
If a provider is missing:
- Check if it still exists on fivem.net/server-hosting
- Run the update workflow manually
- Manually add the provider to
trusted-hosts.json
Run the validator to check for issues:
node .github/scripts/validate-trusted-hosts.jsCommon issues:
- Duplicate IDs (each provider must have unique ID)
- Invalid URL format (must be valid http/https URL)
- ID format (must match
/^[a-z0-9-]+$/)
Planned improvements:
- Provider rating/review system
- Regional availability tracking
- Feature matrix (DDoS protection, auto-backup, etc.)
- Performance metrics
- Community feedback integration