Pourquoi ton choix d'hébergement fait ou défait ton serveur
Le fournisseur d'hébergement que tu choisisses a un impact direct et mesurable sur tous les aspects de ton serveur FiveM. L'expérience du joueur, les performances des scripts, la synchronisation des entités, la qualité du chat vocal et les temps de réponse des bases de données dépendent tous du matériel installé quelque part dans un centre de données. Un hôte mal choisi entraîne des élastiques, une désynchronisation lors des poursuites en véhicule, une coupure du chat vocal pendant les moments critiques du jeu de rôle et des écrans de chargement qui mettent tellement de temps que les joueurs se déconnectent avant même d'apparaître. La différence entre un serveur fonctionnant sur du matériel approprié et un serveur entassé sur un VPS survendu est immédiatement perceptible par tout joueur FiveM expérimenté. Dans ce guide, nous détaillerons exactement les spécifications dont tu as besoin, comparerons le VPS à l'hébergement dédié et t'aiderons à faire le bon choix en fonction de la taille et du budget de ton serveur.
VPS vs serveur dédié : comprendre la différence
A VPS (serveur privé virtuel) est une tranche virtualisée d'une machine physique plus grande. Tu partagez le matériel sous-jacent avec d'autres locataires, mais tes ressources sont isolées via un hyperviseur. UN serveur dédié tu donne l'intégralité de la machine physique en exclusivité. Pour FiveM, cette distinction est plus importante que pour un hébergement Web classique, car FiveM est extrêmement sensible aux performances du processeur monothread et à la latence de la mémoire. Sur un VPS, des voisins bruyants exécutant des charges de travail gourmandes en CPU peuvent provoquer des micro-bégaiements sur ton serveur même lorsque les ressources allouées ne sont pas maximisées. Les serveurs dédiés éliminent complètement ce risque. Cependant, un VPS de haute qualité provenant d'un fournisseur qui ne vend pas trop peut fonctionner de manière comparable pour les serveurs de moins de 64 joueurs. Voici comment vérifier les performances actuelles de ton serveur pour établir une base de référence avant de changer d'hôte :
-- server.lua: Performance monitoring
local perfData = {}
CreateThread(function()
while true do
Wait(10000) -- Check every 10 seconds
local cpuTime = GetProfiler():ToJSON() -- FiveM built-in profiler
local playerCount = #GetPlayers()
local resCount = GetNumResources()
-- Track server frame time (should stay under 33ms for 30 tick)
local svFrameTime = GetConvar('sv_frameTime', '33')
print(('[PERF] Players: %d | Resources: %d | Target Frame: %sms')
:format(playerCount, resCount, svFrameTime))
-- Log to file for analysis
SaveResourceFile(GetCurrentResourceName(), 'perf.log',
os.date() .. ' | Players: ' .. playerCount ..
' | Resources: ' .. resCount .. '\n', -1)
end
end)
Spécifications matérielles recommandées
Les performances du serveur FiveM sont largement déterminées par vitesse du processeur monothread, pas le nombre de cœurs. Le moteur d'exécution du serveur est en grande partie monothread, ce qui signifie qu'un processeur à 4 cœurs à 5,0 GHz surpassera largement un processeur à 16 cœurs à 2,5 GHz. Pour la RAM, la base de référence est de 8 Go pour un petit serveur (moins de 32 joueurs avec des scripts modérés), mais 16 Go est le minimum pratique pour un serveur de jeu de rôle sérieux avec plus de 64 joueurs, un système téléphonique, MDT, des tâches personnalisées et une économie complète. Le stockage NVMe est essentiel pour les serveurs gourmands en bases de données, car les requêtes oxmysql atteignent le disque lors de jointures complexes et de lectures volumineuses. Voici une répartition par taille de serveur :
- Petit (1-32 joueurs) : 4 cœurs à 4,0+ GHz, 8 Go de RAM, 50 Go de SSD NVMe, bande passante de 100 Mbps
- Moyen (32-64 joueurs) : 4 à 6 cœurs à 4,5+ GHz, 16 Go de RAM, 100 Go de SSD NVMe, bande passante de 250 Mbps
- Grand (64-128 joueurs) : 6 à 8 cœurs à 5,0+ GHz, 32 Go de RAM, 200 Go de SSD NVMe, bande passante de 500 Mbps
- Entreprise (128+ joueurs) : i9/Ryzen 9 dédié à 5,5+ GHz, 64 Go DDR5, 500 Go NVMe, 1 Gbit/s non mesuré
Protection DDoS : une exigence non négociable
Les serveurs FiveM sont des cibles fréquentes pour les attaques DDoS. Les joueurs bannis mécontents, les propriétaires de serveurs rivaux et les script kiddies aléatoires tenteront tous une chance sur ton serveur à un moment donné. Sans une atténuation DDoS appropriée, une seule attaque peut mettre ton serveur hors ligne pendant des heures, voire des jours. Recherchez des fournisseurs d'hébergement qui proposent Protection DDoS de couche 4 toujours active spécialement adapté au trafic des serveurs de jeux. La protection DDoS générique axée sur le Web filtre souvent les paquets de jeu légitimes car ils ressemblent au trafic d'attaque. Les meilleurs fournisseurs proposent un filtrage adapté aux jeux qui comprend les modèles de trafic UDP du FiveM. Certains fournisseurs prennent également en charge le tunneling GRE ou des règles de pare-feu personnalisées qui tu permettent de mettre sur liste blanche les plages IP de relais Cfx.re tout en bloquant tout le reste. Voici comment configurer ton server.cfg pour restreindre l'accès et réduire la surface d'attaque :
# server.cfg: Security hardening
sv_hostname "Your Server Name"
sv_maxclients 64
sv_endpointPrivacy true
sv_scriptHookAllowed 0
# Restrict RCON access
rcon_password "YOUR_STRONG_PASSWORD_HERE"
# Rate limiting
rate_limiter "strict"
# Only allow connections through Cfx.re
sv_forceIndirectListing true
# Firewall rules (Linux iptables example)
# Run these in your server startup script:
# iptables -A INPUT -p udp --dport 30120 -m state --state NEW -m recent --set
# iptables -A INPUT -p udp --dport 30120 -m state --state NEW -m recent \
# --update --seconds 10 --hitcount 20 -j DROP
L'emplacement du serveur et la latence sont importants
L'emplacement physique de ton serveur détermine la latence ressentie par tes joueurs. Pour une base de joueurs principalement européenne, l'hébergement à Francfort, Amsterdam ou Paris offre le meilleur ping moyen du continent. Pour les serveurs nord-américains, les emplacements à Dallas, Chicago ou New York offrent une bonne couverture. Si ta communauté s'étend sur les deux continents, choisissez la région où se trouvent la majorité de tes joueurs, car il n'existe aucun bon moyen de servir à la fois l'UE et l'Amérique du Nord avec un ping inférieur à 50 ms à partir d'un seul emplacement. Une latence inférieure à 50 ms semble réactive, 50 à 100 ms sont perceptibles mais jouables, et tout ce qui dépasse 100 ms provoque une désynchronisation visible lors de scénarios rapides comme des poursuites policières ou des fusillades. Testez la latence à partir de tes emplacements cibles avant de tu engager sur un hôte en exécutant un simple test ping ou en utilisant l'outil miroir du fournisseur.
Hébergement de base de données : même machine ou externe ?
La plupart des serveurs FiveM exécutent MySQL ou MariaDB sur la même machine que le serveur FiveM lui-même. Cela convient aux serveurs de petite et moyenne taille car cela élimine la latence du réseau entre le serveur de jeu et la base de données. Cependant, pour les grands serveurs comptant plus de 100 joueurs et les systèmes économiques complexes, séparer la base de données sur sa propre machine dédiée peut améliorer à la fois les performances du serveur de jeu et de la base de données. Le serveur de jeu dispose de plus de RAM et de CPU pour l'exécution des scripts, tandis que la base de données bénéficie d'une bande passante d'E/S dédiée. Si tu optes pour cette voie, assurez-tu que le serveur de base de données se trouve dans le même centre de données que ton serveur de jeu pour maintenir la latence des requêtes inférieure à 1 ms. Voici un exemple de chaîne de connexion oxmysql pour les deux configurations :
# server.cfg: Database configuration
# Local database (same machine)
set mysql_connection_string "mysql://fivem:password@localhost/fivem_db?waitForConnections=true&connectionLimit=10&connectTimeout=60000"
# Remote database (separate server, same datacenter)
set mysql_connection_string "mysql://fivem:[email protected]/fivem_db?waitForConnections=true&connectionLimit=20&connectTimeout=10000"
# Performance tuning for oxmysql
set mysql_slow_query_warning 200
set mysql_debug false
# MariaDB recommended settings (my.cnf)
# [mysqld]
# innodb_buffer_pool_size = 4G
# innodb_log_file_size = 256M
# innodb_flush_method = O_DIRECT
# max_connections = 100
# query_cache_type = 1
# query_cache_size = 128M
Configuration de ton serveur sur un nouveau VPS
Une fois que tu as choisi ton fournisseur d'hébergement, la configuration d'un serveur FiveM sur un nouveau VPS Linux suit un processus reproductible. Commencez avec Ubuntu 22.04 ou Debian 12, mettez à jour le système, créez un utilisateur non root pour le processus FiveM et configurez le pare-feu. N'exécutez jamais ton serveur FiveM en tant que root car une vulnérabilité dans n'importe quel script pourrait compromettre l'ensemble de la machine. Utiliser systemd pour gérer le processus FiveM afin qu'il redémarre automatiquement en cas de crash et démarre au démarrage. Cette configuration prend environ 15 minutes et tu offre un environnement serveur prêt pour la production :
#!/bin/bash
# setup-fivem.sh - Fresh VPS setup script
# Update system
apt update && apt upgrade -y
# Create FiveM user
useradd -m -s /bin/bash fivem
mkdir -p /home/fivem/server /home/fivem/server-data
# Download FiveM server artifacts
cd /home/fivem/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/LATEST_RECOMMENDED_URL -O fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xz
# Set permissions
chown -R fivem:fivem /home/fivem
# Configure firewall
ufw allow 30120/tcp
ufw allow 30120/udp
ufw allow 40120/tcp
ufw allow OpenSSH
ufw --force enable
# Create systemd service
cat > /etc/systemd/system/fivem.service << 'EOF'
[Unit]
Description=FiveM Server
After=network.target mariadb.service
[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/server-data
ExecStart=/home/fivem/server/run.sh +exec server.cfg
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable fivem
echo "Setup complete! Place your server-data files and run: systemctl start fivem"
Surveillance et maintenance de ton serveur
Après le déploiement, une surveillance continue est cruciale. Configurez une surveillance de base des ressources avec des outils tels que htop pour une utilisation du CPU et de la RAM en temps réel, iotop pour les E/S disque, et vnstat pour le suivi de la bande passante. Configurez des sauvegardes automatisées du répertoire de données de ton serveur et de ton base de données, idéalement vers un emplacement hors site. Une bonne stratégie de sauvegarde consiste en un vidage quotidien complet de la base de données et une sauvegarde incrémentielle horaire des tables de données des joueurs. Surveillez le taux de ticks de ton serveur FiveM via le panneau Web txAdmin, que la plupart des fournisseurs d'hébergement préinstallent. Un serveur sain maintient un taux de ticks cohérent proche de la valeur configurée (généralement 30 ou 48 ticks par seconde). Lorsque le taux de ticks tombe en dessous de 80 % de l'objectif, il est temps d'optimiser tes scripts ou de mettre à niveau ton matériel.

