Aller au contenu

De combien de RAM un serveur Minecraft a-t-il besoin ?

Estimez la RAM nécessaire pour les serveurs Minecraft Java, Paper et avec mods.

Vous créez un serveur Minecraft pour vos amis sur un PC équipé de 8 Go de RAM. Il est facile d'inscrire -Xmx8G dans le script de démarrage : le PC dispose de 8 Go, autant laisser Java utiliser les 8 Go. Puis vous vous souvenez de Windows, du navigateur et du client Minecraft si vous comptez jouer sur ce même ordinateur. Avant même qu'un joueur se connecte, le système manque déjà de mémoire pour faire fonctionner tout ce petit monde. Parfois, le problème ne vient pas du serveur, mais de cette seule ligne dans le script.

Examinez séparément les résultats « Heap Java recommandé » et « RAM totale nécessaire » du calculateur. Le premier sert à définir -Xmx. Le second indique la quantité totale de RAM nécessaire sur votre PC ou votre serveur loué. Je ne dirais pas que « 8 Go suffisent » sans distinguer ces deux valeurs. Le nombre de joueurs ne permet pas, à lui seul, de répondre à cette question.

Dix joueurs ne génèrent pas toujours la même charge

Rester ensemble au spawn ou se disperser sur la carte

Indiquez le nombre de personnes susceptibles de jouer simultanément, et non le nombre total de comptes enregistrés. Lorsque 10 joueurs construisent leurs bases autour du point d'apparition, ils utilisent en grande partie les mêmes chunks. La situation change lorsqu'ils partent dans toutes les directions avec leurs élytres. Le serveur doit alors charger de nouvelles zones tout en générant des terrains que personne n'a encore explorés. Les mêmes 10 joueurs peuvent donc solliciter la RAM très différemment au début et à la fin d'une soirée.

Pour estimer les besoins en mémoire, je regarde comment le groupe joue réellement. Si tout le monde reste généralement dans une zone commune, l'option « Généralement ensemble » convient. Si chaque joueur rejoint sa propre base dans un monde Survie, « Zones séparées / incertain » correspond mieux à la situation. Si les joueurs explorent fréquemment de nouveaux terrains, activez également cette option. Le calculateur ajoute alors 25 % à la charge liée aux chunks. Porter arbitrairement le nombre de joueurs à 20 par précaution masque la véritable origine du besoin de mémoire supplémentaire.

Vérifiez également les distances d'affichage et de simulation dans le fichier server.properties. La distance d'affichage détermine la zone envoyée au joueur. La distance de simulation définit la zone environnante dans laquelle les mobs et les événements du jeu restent actifs. À l'ouverture du formulaire, ces valeurs sont respectivement de 8 et 6 chunks. Pour les versions récentes de Minecraft, le calcul retient la plus grande des deux distances. Si la distance d'affichage est de 8 chunks, passer la distance de simulation de 6 à 7 peut laisser l'estimation de RAM inchangée. Cela ne signifie pas que la charge de traitement des ticks reste identique. Avec le profil « 1.17 et versions antérieures », le calculateur ne prend pas en compte la distance de simulation.

Le nombre de plugins ne suffit pas non plus

Pour Paper, Purpur et Spigot, vous indiquez le nombre de plugins et leur charge moyenne. Pour Fabric, Forge et NeoForge, c'est le nombre de mods qui entre en jeu. Avec Vanilla, le calculateur n'utilise aucune de ces entrées. Ne considérez pas les options « Faible / Moyenne / Élevée » comme des mesures réelles de la consommation de RAM de chaque plugin. Dix petits plugins de gestion des permissions ne sont pas comparables à un seul plugin qui génère le rendu d'une carte en arrière-plan.

Lorsque j'installe un modpack, je commence par chercher la quantité de mémoire heap recommandée spécifiquement pour le serveur. Si cette information est disponible, renseignez-la dans l'option « Utiliser la recommandation de RAM du modpack ». Le calculateur ne proposera pas une valeur inférieure. N'utilisez pas ici la recommandation destinée au client : il s'agit de deux processus de jeu distincts. Si vous ne savez pas estimer la charge du modpack, comparez les résultats « Moyenne » et « Élevée » côte à côte. Cet écart est plus utile que le simple nombre de mods pour déterminer si une offre d'hébergement supérieure est nécessaire.

Quelles valeurs faut-il saisir dans le calculateur ?

Si vous créez un nouveau serveur, choisissez « Estimer la RAM ». Si vous souhaitez évaluer votre PC actuel, sélectionnez « Vérifier mon ordinateur ». Les deux modes utilisent le même calcul pour la mémoire du serveur. Le point le plus facile à oublier concerne les valeurs initiales du formulaire : Paper est sélectionné par défaut, avec 10 plugins déjà renseignés. Si votre installation n'en comporte aucun, remplacez 10 par zéro. Indiquez ensuite votre version de Minecraft, votre distance d'affichage et, si nécessaire, votre distance de simulation. Si vous prévoyez des fermes intensives, des circuits de redstone, une carte web ou des mondes supplémentaires, ouvrez les paramètres avancés. Sinon, n'activez pas les options simplement parce qu'elles sont disponibles.

La marge de fonctionnement est initialement fixée à 25 %. Dans les paramètres avancés, vous pouvez la régler entre 10 % et 100 %. Lorsque vous désactivez ces paramètres, les charges supplémentaires sont retirées du calcul et la marge revient à 25 %. Si un essai donne 6 GiB et un autre 9 GiB, commencez par vérifier quelles options étaient activées. Notez également les valeurs saisies à côté de chaque résultat. Vous éviterez ainsi de tout recommencer pour comprendre la différence.

8 GB correspondent approximativement à 7,45 GiB. Si une offre d'hébergement indique la mémoire en GB, choisissez GB dans le formulaire. Si une machine virtuelle ou un conteneur ne peut utiliser qu'une partie de la RAM physique, saisissez cette quantité accessible comme limite. Il est tentant de se rassurer en se disant : « J'ai saisi 8 et j'ai obtenu 8. » Mais si les deux valeurs utilisent des unités différentes, la comparaison est faussée dès le départ, surtout lorsque le résultat se situe près d'un seuil de demi-GiB.

Comprendre les deux résultats de RAM affichés

Ne confondez pas la taille du heap et la capacité de la machine

Le heap Java représente la quantité maximale de mémoire que le serveur peut utiliser pour les objets Java. La RAM totale tient également compte du système d'exploitation et de la mémoire utilisée par Java en dehors du heap. Le calculateur réserve au moins 1 GiB pour cette consommation supplémentaire de Java. Si 15 % du heap dépasse 1 GiB, il retient cette valeur supérieure, puis arrondit le résultat au demi-GiB supérieur. Si le heap affiché est de 3,5 GiB, le paramètre généré -Xmx3584M représente cette même quantité. Lorsque vous choisissez une offre d'hébergement, ne confondez pas la valeur -Xmx avec la RAM totale nécessaire.

Essayez cette configuration : Paper avec 10 joueurs, une version récente de Minecraft, une distance d'affichage de 8 chunks, une distance de simulation de 6 chunks et 10 plugins de charge moyenne. Avec les paramètres avancés et Chunky désactivés, le calculateur indique 3,5 GiB de heap et 6,5 GiB de RAM totale. Sur une machine de 8 GiB exécutant Linux sans environnement de bureau, l'estimation tient dans la mémoire disponible si vous ne réservez pas de RAM supplémentaire à d'autres applications. Considérez maintenant Windows et le client Minecraft fonctionnant sur le même PC. En indiquant 1 GiB pour les autres applications et 4 GiB pour le client, le besoin total atteint 13,5 GiB. Une machine de 8 GiB ne suffit plus. Nous n'avons pourtant ajouté aucun plugin supplémentaire à Paper. Ce sont les autres processus qui consomment la mémoire.

En mode de vérification de l'ordinateur, le calculateur réserve 2 GiB pour Linux sans environnement de bureau, 3 GiB pour Linux avec environnement de bureau et 4 GiB pour Windows ou macOS. Dans le cas d'un conteneur, il n'ajoute pas la réserve mémoire du système d'exploitation de la machine hôte. Si d'autres services fonctionnent à l'intérieur du conteneur, vous devez indiquer leur consommation de RAM dans « RAM pour les autres applications ». Lorsque la mémoire disponible est insuffisante, le calculateur ne réduit pas automatiquement le heap recommandé. Il affiche clairement la quantité manquante.

Passer de Vanilla à un modpack

Conservons 10 joueurs et des distances de 8/6 chunks. Avec Vanilla, le résultat est de 3 GiB de heap et 6 GiB de RAM totale. En ajoutant 10 plugins de charge moyenne à Paper, ces valeurs passent à 3,5 et 6,5 GiB. Un exemple Fabric avec 50 mods de charge moyenne donne 5 et 8 GiB, tandis que l'exemple Forge donne 6 et 9 GiB. Je n'interpréterais pas ces résultats comme la preuve que « Fabric est toujours plus léger que Forge ». Si les mods contenus dans les packs changent, la comparaison change également. Ces chiffres montrent uniquement comment le calculateur réagit à des paramètres identiques.

Dans l'exemple Paper, si les joueurs restent dans la même zone, vous obtenez 3 GiB de heap et 6 GiB de RAM totale. S'ils se dispersent et explorent de nouveaux terrains, les valeurs passent à 4 et 7 GiB. Dans les deux cas, le serveur accueille 10 joueurs. Voilà pourquoi je ne me fierais pas uniquement à une recommandation du type « tant de RAM par joueur ». En ajoutant des fermes intensives, une carte web, une génération de monde personnalisée et deux mondes actifs supplémentaires, la même estimation atteint 6 GiB de heap et 9 GiB de RAM totale. Plutôt que d'activer ces quatre options simultanément et d'observer le résultat, testez-les une par une. Vous verrez alors quelle charge provoque la hausse de l'estimation.

Estimations Chunky et mesures sur un serveur en fonctionnement

Dans Chunky, vous commencez par sélectionner le nom du monde, les coordonnées du centre, la forme de la zone et son rayon. Pour un carré, la superficie est égale à 4 × rayon² ; pour un cercle, elle est égale à π × rayon². Comme un chunk couvre 16 × 16 blocs, le calculateur divise la superficie par 256. Avec un centre aux coordonnées 0, 0 et une zone carrée de rayon 3000 blocs, le résultat est de 140 625 chunks. Si la moitié de la zone a déjà été générée, il reste 70 313 chunks. En portant le rayon à 6000 blocs, on obtient 562 500 chunks. Ajouter 3000 blocs au rayon ne double donc pas simplement le travail : la superficie est multipliée par quatre. Vérifiez attentivement la valeur saisie dans le champ du rayon.

L'activation de Chunky fait passer le heap recommandé pour notre exemple de serveur Paper à 4 GiB et la RAM totale à 7 GiB. Vous pouvez effectuer un court essai de prégénération pour estimer l'espace disque et la durée nécessaires. Si vous indiquez 10 000 nouveaux chunks générés, une augmentation de 256 MiB de la taille du dossier du monde et une durée de 300 secondes, le calculateur estime qu'il faudra environ 3,52 GiB d'espace disque supplémentaire et 1,17 heure pour les 140 625 chunks restants. La vitesse de génération peut varier au cours du processus. N'incluez pas les sauvegardes ni les fichiers de cartes web dans vos mesures. Avant d'exécuter la commande générée, vérifiez à nouveau le nom du monde et le rayon. Un zéro supplémentaire peut avoir des conséquences importantes sur la durée comme sur l'espace disque nécessaire.

Vous avez démarré le serveur, les joueurs se sont dispersés et le TPS a chuté. N'augmentez pas immédiatement -Xmx. Le TPS représente le nombre de ticks de jeu traités par seconde, tandis que le MSPT indique le nombre de millisecondes nécessaires au traitement d'un tick. Utilisez /spark tps pour consulter ces deux indicateurs. En enregistrant un profil Spark pendant une période de forte activité, vous pouvez déterminer si le serveur passe son temps à générer du terrain ou à exécuter des plugins. Examinez séparément la pression exercée par le ramasse-miettes à l'aide des métriques GC. Si le serveur s'arrête avec une erreur OOM, la limite de RAM et le paramètre -Xmx figurent parmi les premiers éléments à vérifier. Si le TPS diminue alors qu'il reste beaucoup de mémoire disponible, je commencerais par examiner les résultats du profilage. J'envisagerais ensuite une offre d'hébergement avec davantage de RAM.

Comment nous avons testé

Nous avons vérifié les formules, les conversions d'unités et les scénarios de test prédéfinis dans la définition JSON du calculateur. Nous avons confirmé que la configuration Paper par défaut pour 10 joueurs donne 3,5 GiB de mémoire heap et 6,5 GiB de RAM totale, et qu'une zone carrée Chunky de 3000 blocs de rayon donne 140 625 chunks, conformément aux valeurs de test attendues. Nous avons également vérifié la signification des paramètres à l'aide de la documentation des développeurs. Aucun test de charge n'a été effectué sur un serveur réel.

Questions fréquentes

De combien de RAM un serveur Minecraft pour 10 joueurs a-t-il besoin ?
Dans l’exemple Paper utilisé dans l’article, il faut 3,5 GiB de heap Java et 6,5 GiB de RAM totale pour la machine. La dispersion des joueurs, l’exploration de nouveaux terrains et les charges supplémentaires peuvent augmenter ce besoin.
Peut-on faire fonctionner un serveur Minecraft avec 8 GB de RAM ?
Dans la configuration d’exemple, une machine Linux sans interface graphique avec 8 GiB satisfait le besoin en mémoire. Si Windows, d’autres applications et le client Minecraft fonctionnent sur le même ordinateur, le besoin de l’exemple monte à 13,5 GiB. De plus, 8 GB correspondent à environ 7,45 GiB.
De combien de RAM un serveur Minecraft moddé a-t-il besoin ?
Avec 10 joueurs et 50 mods sous une charge moyenne, le calculateur indique 5 GiB de heap / 8 GiB de RAM totale pour Fabric et 6 GiB de heap / 9 GiB de RAM totale pour Forge. Si le modpack fournit une recommandation de heap spécifique au serveur, saisissez-la également.

Références et sources

Les calculs de cette page sont basés sur les sources standard et scientifiques suivantes.

  1. PaperMC: server.properties

    docs.papermc.io
  2. PaperMC: Aikar’s flags

    docs.papermc.io
  3. Chunky: FAQ

    github.com
  4. Chunky: Commands

    github.com
  5. Spark: TPS and MSPT

    spark.lucko.me
Dernière mise à jour :
Les informations sont basées sur des valeurs de référence standard. Une vérification est recommandée pour les projets critiques.