Un serveur Paper 1.21 avec 10 joueurs commence souvent à 4 Go, pas à 12 Go. Pour un petit Vanilla, partez à 2 Go, pour un serveur moddé intermédiaire à 6 ou 8 Go, puis mesurez avant d'augmenter. Il n'existe pas une quantité universelle de RAM, car les chunks, les entités, les mods, les plugins et le processeur changent tout.
Combien de RAM mettre pour commencer sur un serveur Minecraft ?
La réponse tient dans un tableau, avec une limite à garder en tête : ces valeurs servent de départ. Elles ne promettent pas un nombre de joueurs. Un serveur avec
10joueurs immobiles au spawn consomme moins qu'un serveur avec5joueurs en elytra, chacun parti générer une zone neuve.
| Joueurs simultanés | Vanilla | Paper ou Purpur | Fabric léger | Forge, NeoForge ou modpack |
|---|---|---|---|---|
| 2 à 5 | 2 Go | 2 Go | 3 Go | 4 à 6 Go |
| 5 à 10 | 3 Go | 3 à 4 Go | 4 Go | 6 à 8 Go |
| 10 à 20 | 4 à 6 Go | 4 à 6 Go | 5 à 8 Go | 8 à 10 Go |
| 20 à 50 | 6 à 10 Go | 6 à 10 Go | 8 à 12 Go | 10 à 16 Go |
Au-delà de
16 Gopour un seul serveur, cherchez le coupable avant de payer plus. Regardezview-distance=10, un plugin de dynmap, des fermes à mobs ou un mod de machines qui garde des chunks actifs. La requête « combien de ram serveur minecraft » n'appelle pas une valeur fixe. Elle demande une mesure.
Choisir la RAM selon Vanilla, Paper, Fabric, Forge ou NeoForge
Vanilla charge le serveur sans couche d'optimisation dédiée. En
1.21, il tourne correctement avec2 Gopour quelques joueurs, mais il encaisse moins bien les villages chargés, les entités nombreuses et les explorations rapides. Paper et Purpur changent le comportement serveur. Ils ajoutent des réglages danspaper-global.yml,paper-world-defaults.ymletpurpur.yml. À carte identique, Paper tient souvent mieux les TPS avec la même RAM, car certains calculs sont mieux limités.
Fabric ne veut pas dire léger par défaut. Un Fabric avec
Lithium,FerriteCoreetsparkpeut rester sobre. Un Fabric avec dimensions, machines et worldgen custom se rapproche d'un modpack Forge. Forge et NeoForge chargent des registres, des recettes, des entités, des blocs et parfois plusieurs dimensions dès le démarrage. Le fichiermodsne raconte pas toute l'histoire, mais un pack avec150mods n'a pas le même profil qu'un serveur Vanilla avec5datapacks.
Ne copiez pas
-Xmx12Gparce qu'un pack l'indique pour le client. Le client garde les textures, l'interface et le rendu. Le serveur garde la simulation, les chunks, les entités et les données du monde. Ce ne sont pas les mêmes charges.
Régler view-distance et simulation-distance avant d'ajouter de la RAM
view-distancefixe le nombre de chunks envoyés autour du joueur.simulation-distancefixe les chunks qui vivent vraiment : entités, cultures, redstone, liquides, IA. Les deux se règlent dansserver.properties. En1.18et après, les mondes plus hauts ajoutent aussi du volume de données par chunk.
L'écart se voit tout de suite. Avec
view-distance=10, un joueur peut recevoir une zone de21 x 21chunks, soit441chunks. Avecview-distance=8, la zone tombe à17 x 17, soit289chunks. Vous retirez152chunks potentiels par joueur. À20joueurs, le serveur le sent.
Partez sur
view-distance=8etsimulation-distance=6pour un serveur survie actif. Descendezsimulation-distance=4si les fermes, les villageois ou les mobs saturent le tick. Monterview-distance=12rend la carte plus agréable à regarder, mais vous payez en RAM, en disque et en CPU. Si les joueurs explorent en bateau sur une map neuve, le générateur de chunks prend la main sur votre soirée.
RAM allouée, RAM utilisée et RAM disponible : lire les bons chiffres
Trois chiffres se confondent vite. La RAM allouée à Java vient des options de lancement, par exemple
-Xms2G -Xmx6G. La RAM réellement utilisée bouge pendant la partie. La mémoire disponible sur la machine comprend aussi le système, les sauvegardes, le cache disque, le panel, MariaDB si vous l'utilisez, et parfois un proxyVelocitysur le port25577.
Sur Linux, tapez
free -hpour lire la mémoire globale. Tapezps -o pid,rss,cmd -C javapour voir la mémoire résidente du processus Java. Dans le serveur,/tpsexiste sur Paper./spark healthdonne une lecture plus utile si le pluginsparkest installé.
Ne confondez pas
Xmxet consommation permanente. Un serveur lancé avec-Xmx8Gpeut utiliser3,5 Goaprès le garbage collector. C'est normal. À l'inverse, si le processus reste à7,8 Gosur une limite8 Gopendant plusieurs minutes, puis crashe, la limite est trop basse ou une fuite mémoire existe. Gardez aussi1 à 2 Gopour le système sur une petite machine.
Pourquoi donner trop de RAM à Java ne rend pas Minecraft plus fluide
Java utilise un garbage collector. Il libère la mémoire qui ne sert plus. Depuis Java
17, utilisé par Minecraft1.18à1.20.4, et Java21, courant pour Minecraft1.20.5et1.21, le comportement a progressé par rapport à Java8. Mais plus de heap ne donne pas plus de TPS.
Un
-Xmx16Gsur un serveur qui utilise normalement5 Godonne au collecteur une grande zone à parcourir. Selon les options, les pauses peuvent durer plus longtemps. Vous voyez alors des pics à300 msou800 msdans les timings, pas une amélioration. Les vieux copier-coller avec-XX:+UseConcMarkSweepGCsont une mauvaise idée : CMS a disparu, et Java récent l'ignore ou refuse de démarrer.
Gardez
-Xmsproche de-Xmxsur un serveur dédié à Minecraft, par exemple-Xms4G -Xmx4G. Évitez ce réglage sur une machine qui héberge plusieurs services, car Java réserve trop vite. Le port25565ne sature pas parce que vous avez seulement4 Go. Il sature rarement tout court. Le tick serveur, lui, casse vite.
Reconnaître un vrai manque de RAM sur un serveur Minecraft
Un manque de RAM laisse des traces nettes. Le message
java.lang.OutOfMemoryError: Java heap spaceindique que la heap Java atteint sa limite. Le messagejava.lang.OutOfMemoryError: GC overhead limit exceededindique que Java passe son temps à nettoyer sans récupérer assez de mémoire. Danslogs/latest.logoucrash-reports, cherchez aussiException in server tick loopautour du crash.
Le symptôme à croire n'est pas « le serveur lag ». C'est une mémoire qui monte près de
95 %deXmx, qui redescend peu après le garbage collector, puis qui remonte tout de suite. Sur-Xmx6G, rester à5,8 Gopendant une heure avec des freezes annonce un vrai problème de RAM ou une fuite.
À l'inverse,
Can't keep up! Is the server overloaded? Running 5000ms or 100 ticks behindne prouve pas un manque de mémoire. Ce message sort aussi quand un plugin bloque le thread principal, quandworldgénère trop de chunks, ou quandtickdépasse50 ms. Une erreur heap appelle une hausse de RAM ou une enquête sur les mods. Un TPS à12appelle d'abord un profilage.
Comprendre pourquoi les TPS chutent même avec assez de RAM
Minecraft vise
20 TPS. Un tick dispose donc de50 ms. Si le serveur prend90 mspour traiter un tick, la RAM peut être à moitié vide, les joueurs laguent quand même. C'est le piège classique des serveurs avec8 Goou12 Go: l'achat de mémoire cache le vrai poste de dépense.
Les causes reviennent souvent. Trop de villageois dans un hall de trade. Trop d'items au sol après une ferme. Trop de hoppers qui scannent des inventaires. Trop de redstone à horloge rapide. Un plugin de protection mal configuré qui vérifie chaque bloc. Un mod de machines qui ticke des réseaux entiers. Un monde neuf où plusieurs joueurs en elytra forcent la génération de chunks.
Installez
sparket lancez/spark profiler --timeout 120pendant le lag. Sur Paper, comparez avec/timings on, attendez5 minutes, puis/timings paste. Siminecraft:hopper,Villagerou un plugin précis consomme le temps, ajouter4 Gone corrige rien. Réduisez la cause, ou acceptez moins de joueurs simultanés sur le même processeur.
Dimensionner la RAM d'un serveur Minecraft moddé
La RAM d'un serveur Minecraft moddé se juge au type de pack, pas au compteur de mods. Un pack de
80mods avec bibliothèques, qualité de vie et quelques blocs peut tenir dans4 à 6 Go. Un pack de120mods avec dimensions, worldgen, machines, énergie et mobs custom peut demander8 à 10 Go. Un gros pack de250mods peut démarrer à10 à 12 Go, puis monter selon la carte.
| Type de pack | Profil fréquent | Départ raisonnable | Seuil qui sent mauvais |
|---|---|---|---|
| Petit pack | 50 à 100 mods, peu de dimensions | 4 à 6 Go | 6 Gopleins au spawn |
| Pack intermédiaire | 100 à 180 mods, machines et exploration | 6 à 8 Go | 8 Gopleins avec5joueurs |
| Gros pack | 180 à 300 mods, dimensions et automation | 10 à 12 Go | 12 Gopleins sans base avancée |
Regardez les fichiers
config,defaultconfigsetserverconfigdans le monde. Certains mods chargent des dimensions dès le démarrage. D'autres ne coûtent presque rien avant qu'un joueur pose leurs blocs. Le nombre de joueurs ajoute de la pression, mais la base industrielle de3joueurs peut coûter plus cher que12joueurs en début de survie.
Tester la RAM en production sans deviner
Travaillez par paliers. Cette méthode évite le serveur lancé à
-Xmx20Gparce qu'il a crashé une fois, puis oublié pendant six mois avec le même mauvais réglage.
- Partez avec une valeur cohérente :-Xms4G -Xmx4Gpour Paper1.21avec5 à 10joueurs, ou-Xms8G -Xmx8Gpour un pack intermédiaire.
- Fixezview-distance=8etsimulation-distance=6dansserver.propertiesavant le premier test. Sinon vous mesurez un réglage trop large, pas la RAM.
- Laissez jouer aux heures chargées pendant48 heures. Relevez/spark health, les TPS, la mémoire après garbage collector et les messages danslogs/latest.log.
- Augmentez par paliers de1 Goou2 Goseulement si la heap reste proche de la limite. Ne changez pas trois paramètres le même soir.
Le panel Starmine évite de modifier à la main les flags
-Xmset-Xmx, de redémarrer en SSH et de relire les journaux bruts pour vérifier la mémoire allouée. Sur ce point, il évite surtout les erreurs de saisie entre4096Met4G.
Réduire la RAM nécessaire sans casser le serveur
Commencez par ce qui gonfle la mémoire. Dans
server.properties, gardezview-distance=8tant que le monde grandit vite. Gardezsimulation-distance=6pour une survie classique, etsimulation-distance=4si les bases ont beaucoup de villageois, de fermes et de mobs. La limite devient mauvaise quand les joueurs se plaignent de cultures qui poussent trop près seulement, pas quand la montagne au loin paraît moins nette.
Sur Paper, ouvrez
paper-world-defaults.yml. Les réglages d'entités, de despawn et d'activation changent plus la charge que+2 Gode RAM. Sur Purpur,purpur.ymldonne encore plus de leviers, mais testez un réglage à la fois. Une valeur recopiée sans comprendre peut casser une ferme ou modifier le comportement des mobs.
Pré-générez les chunks si votre communauté explore beaucoup. Un outil comme
Chunkylance/chunky radius 5000puis/chunky start. Cela ne réduit pas toujours la RAM maximale, mais cela retire les pics de génération et les écritures disque pendant les soirées à20joueurs. Pour choisir une offre, partez d'un palier cohérent, puis ajustez quand les mesures le demandent, pas quand une fiche de modpack promet un chiffre magique. Les gammes publiées sur les tarifs servent de repère de départ, pas de garantie de population.
Questions frequentes
Est-ce que 4 Go de RAM suffisent pour un serveur Minecraft ?
Oui, 4 Go suffisent souvent pour un serveur Paper ou Purpur avec une petite communauté et des réglages comme view-distance=8 et simulation-distance=6. Ce n'est pas une garantie : un modpack, une grosse ferme à mobs ou une exploration massive peuvent dépasser cette limite.
Pourquoi mon serveur lag alors qu'il reste de la RAM libre ?
Le lag vient souvent du CPU, des entités, des chunks, de la redstone ou d'un plugin qui bloque le thread principal. Minecraft vise 20 TPS, donc un tick doit rester autour de 50 ms. Si les ticks dépassent cette durée, ajouter de la RAM ne règle pas la cause.
Combien de RAM faut-il pour un serveur Minecraft moddé avec des amis ?
Pour un petit pack, partez souvent autour de 4 à 6 Go. Pour un pack intermédiaire, 6 à 8 Go donne un départ plus réaliste, et les gros packs commencent plutôt vers 10 à 12 Go. Le nombre de mods seul ne suffit pas, car les dimensions, les machines et le worldgen changent beaucoup la charge.
Faut-il mettre Xms et Xmx à la même valeur ?
Sur une machine dédiée au serveur Minecraft, mettre Xms et Xmx à la même valeur stabilise souvent l'allocation Java, par exemple -Xms4G -Xmx4G. Sur une machine qui héberge aussi une base de données, un proxy ou d'autres services, laissez assez de mémoire au système et surveillez la consommation réelle.