Réglages de performance

Sponge fournit plusieurs options pour augmenter les performance et vous aider à faire tourner un serveur sans ralentissement, même sous forte charge.

Note

Bien que nous essayons d’améliorer la performance de chaque serveur, les gains de performance dépendent de votre installation. Veuillez exécuter quelques évaluations pour vous assurez que vous avez bien configuré votre serveur Sponge pour en prendre avantage le plus possible !

Zone d’Activation des Entités

Ce paramètre va altérer le comportement de chargement autour des joueurs. Diminuer la valeur va seulement charger les entités les plus près, et l’augmenter va charger les entités qui sont loin du joueur. Diminuez la valeur pour améliorer la performance de votre serveur, surtout avec un nombre élevé d’entités et de joueurs.

Astuce

Il est possible de spécifier l’intervalle d’activation par monstre. Vous pouvez définir auto-populate à true et Sponge ajoutera tous les monstres disponibles à la liste d’intervalle d’activation, il est recommandée de la désactivée après la liste remplie. Si vous ajoutez de nouveaux monstres au jeu, répétez la procédure et les nouveaux monstres seront ajoutés à la suite de la liste.

entity-activation-range {
      # If enabled, newly discovered entities will be added to this config with
      # a default value.
      auto-populate=false

      # Default activation ranges used for all entities unless overidden.
      defaults {
          ambient=32
          aquatic=32
          creature=32
          misc=16
          monster=32
      }

Mise en Cache des Propriétaires Domptables

Ce paramètre mettra en cache le UUID des propriétaires d’entités domptables afin de limiter le nombre de recherches du data watcher.

optimizations {
    # Caches tameable entities owners to avoid constant lookups against data watchers. If mods cause issue, disable.
    cache-tameable-owners=true
    }

Drops Pré-Fusion

Ce paramètre va pré-traiter et potentiellement fusionner les items droppés afin de limiter le nombre d’entités qui sont fusionnées après leur spawn.

optimizations {
    # If enabled, block item drops are pre-processed to avoid
    # having to spawn extra entities that will be merged post spawning.
    # Usually, Sponge is smart enough to determine when to attempt an item pre-merge
    # and when not to, however, in certain cases, some mods rely on items not being
    # pre-merged and actually spawned, in which case, the items will flow right through
    # without being merged.
    drops-pre-merge=true
    }

Patch de la Luminosité pour Ignorer les Chunks Non Chargés

Activer ce paramètre évitera d’avoir à charger les données de luminosité des chunks non générés. Cela réduit l’utilisation du disque et la génération de chunk, et par conséquent améliore les performances lors de l’application des niveau de luminosité sur les blocks.

optimizations {
      # This prevents chunks being loaded for getting light values at specific
      # block positions. May have side effects.
      ignore-unloaded-chunks-on-get-light=true
      }

Recherche de Chunks en Cache

Ce paramètre active la mise en cache interne des chunks de Sponge pour améliorer les performances du serveur. Il utilise une petite portion de mémoire en plus. Si vous manquez de mémoire, essayez de désactiver cette option.

optimizations {
      # Caches chunks internally for faster returns when querying at various
      # positions
      chunk-map-caching=true
      }

Vérification de la Position des Blocks

Ce paramètre vérifie si un block a une position valide dans un monde.

optimizations{
      # Inlines a simple check for whether a BlockPosition is valid
      # in a world. By patching the check, the JVM can optimize the
      # method further while reducing the number of operations performed
      # for such a simple check. This may however break mods that alter
      # world heights and can thus be disabled in those cases.
      inline-block-position-checks=true
      }

Intervalle d’ajustement de la sauvegarde automatique

Minecraft Vanilla sauvegarde tous les chunks tous les 900 ticks (45 secondes) par défaut. Si vous voulez augmenter ou diminuer cette intervalle, vous pouvez le changer dans le fichier global.conf:

world {
      # The auto-save tick interval used when saving global player data.
      # Set to 0 to disable. (Default: 900) Note: 20 ticks is equivalent to 1 second.
      auto-player-save-interval=900

      # The auto-save tick interval used to save all loaded chunks in a world.
      # Set to 0 to disable. (Default: 900) Note: 20 ticks is equivalent to 1 second.
      auto-save-interval=900
      }

Réduire l’intervalle augmente la charge du processeur ainsi que la place sur le stockage votre serveur, mais réduit les pertes de données qui peuvent arriver si le serveur le bloque lors d’une coupure de courant. À l’inverse, augmenter l’intervalle de sauvegarde automatique réduit la charge du serveur, mais augmente la quantité de données perdues s’il y a une coupure de courant.