Fichiers de configuration d'un serveur

From Vintage Story Wiki
Revision as of 12:19, 7 June 2023 by Xandoria (talk | contribs)
Other languages:

serverconfig.json

Vous pouvez en savoir plus sur certaines valeurs sur les pages Liste des commandes serveur et Configuration d'un serveur multijoueur.

Paramètres par défaut

Chemins sous Windows :

"ModPaths": [
  "C:\\Users\\user\\AppData\\Roaming\\VintagestoryData\\Mods",
  ...
],
"WorldConfig": {
  "SaveFileLocation": "C:\\Users\\user\\AppData\\Roaming\\VintagestoryData\\Saves\\default.vcdbs",
  ...
}

Contenu total du fichier serverconfig.json (Chemins sous Linux):

{
  "EntityDebugMode": false,
  "ConfigVersion": "1.5",
  "ServerName": "Vintage Story Server",
  "ServerUrl": null,
  "ServerDescription": null,
  "WelcomeMessage": "Welcome {0}, may you survive well and prosper",
  "Ip": null,
  "Port": 42420,
  "Upnp": false,
  "CompressPackets": true,
  "AdvertiseServer": true,
  "MaxClients": 16,
  "PassTimeWhenEmpty": false,
  "MasterserverUrl": "http://masterserver.vintagestory.at/api/v1/servers/",
  "ModDbUrl": "https://mods.vintagestory.at/",
  "ClientConnectionTimeout": 150,
  "Password": null,
  "MapSizeX": 1024000,
  "MapSizeY": 256,
  "MapSizeZ": 1024000,
  "ServerLanguage": "en",
  "MaxChunkRadius": 12,
  "TickTime": 33.3333321,
  "SpawnCapPlayerScaling": 0.75,
  "BlockTickChunkRange": 4,
  "MaxMainThreadBlockTicks": 10000,
  "RandomBlockTicksPerChunk": 16,
  "BlockTickInterval": 300,
  "SkipEveryChunkRow": 0,
  "SkipEveryChunkRowWidth": 0,
  "Roles": [
    {
      "Code": "suvisitor",
      "PrivilegeLevel": -1,
      "Name": "Survival Visitor",
      "Description": "Can only visit this world and chat but not use/place/break anything",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "chat"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "Green",
      "LandClaimAllowance": 0,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "crvisitor",
      "PrivilegeLevel": -1,
      "Name": "Creative Visitor",
      "Description": "Can only visit this world, chat and fly but not use/place/break anything",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "chat"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 2,
      "Color": "DarkGray",
      "LandClaimAllowance": 0,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "limitedsuplayer",
      "PrivilegeLevel": -1,
      "Name": "Limited Survival Player",
      "Description": "Can use/place/break blocks only in permitted areas (priv level -1), create/manage player groups and chat",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "build",
        "useblock",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "White",
      "LandClaimAllowance": 0,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "limitedcrplayer",
      "PrivilegeLevel": -1,
      "Name": "Limited Creative Player",
      "Description": "Can use/place/break blocks in only in permitted areas (priv level -1), create/manage player groups, chat, fly and set his own game mode (= allows fly and change of move speed)",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "build",
        "useblock",
        "gamemode",
        "freemove",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 2,
      "Color": "LightGreen",
      "LandClaimAllowance": 0,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "suplayer",
      "PrivilegeLevel": 0,
      "Name": "Survival Player",
      "Description": "Can use/place/break blocks in unprotected areas (priv level 0), create/manage player groups and chat. Can claim an area of up to 8 chunks.",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "areamodify",
        "build",
        "useblock",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "White",
      "LandClaimAllowance": 262144,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 3,
      "AutoGrant": false
    },
    {
      "Code": "crplayer",
      "PrivilegeLevel": 100,
      "Name": "Creative Player",
      "Description": "Can use/place/break blocks in all areas (priv level 100), create/manage player groups, chat, fly and set his own game mode (= allows fly and change of move speed). Can claim an area of up to 40 chunks.",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "areamodify",
        "build",
        "useblock",
        "gamemode",
        "freemove",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 2,
      "Color": "LightGreen",
      "LandClaimAllowance": 1310720,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 6,
      "AutoGrant": false
    },
    {
      "Code": "sumod",
      "PrivilegeLevel": 200,
      "Name": "Survival Moderator",
      "Description": "Can use/place/break blocks everywhere (priv level 200), create/manage player groups, chat, kick/ban players and do serverwide announcements. Can claim an area of up to 4 chunks.",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "areamodify",
        "build",
        "useblock",
        "buildblockseverywhere",
        "useblockseverywhere",
        "kick",
        "ban",
        "announce",
        "readlists",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "Cyan",
      "LandClaimAllowance": 1310720,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 60,
      "AutoGrant": false
    },
    {
      "Code": "crmod",
      "PrivilegeLevel": 500,
      "Name": "Creative Moderator",
      "Description": "Can use/place/break blocks everywhere (priv level 500), create/manage player groups, chat, kick/ban players, fly and set his own or other players game modes (= allows fly and change of move speed). Can claim an area of up to 40 chunks.",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "controlplayergroups",
        "manageplayergroups",
        "chat",
        "areamodify",
        "build",
        "useblock",
        "buildblockseverywhere",
        "useblockseverywhere",
        "kick",
        "ban",
        "gamemode",
        "freemove",
        "commandplayer",
        "announce",
        "readlists",
        "attackcreatures",
        "attackplayers",
        "selfkill"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 2,
      "Color": "Cyan",
      "LandClaimAllowance": 1310720,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 60,
      "AutoGrant": false
    },
    {
      "Code": "admin",
      "PrivilegeLevel": 99999,
      "Name": "Admin",
      "Description": "Has all privileges, including giving other players admin status.",
      "DefaultSpawn": null,
      "ForcedSpawn": null,
      "Privileges": [
        "build",
        "useblock",
        "buildblockseverywhere",
        "useblockseverywhere",
        "attackplayers",
        "attackcreatures",
        "freemove",
        "gamemode",
        "pickingrange",
        "chat",
        "kick",
        "ban",
        "whitelist",
        "setwelcome",
        "announce",
        "readlists",
        "give",
        "areamodify",
        "setspawn",
        "controlserver",
        "tp",
        "time",
        "grantrevoke",
        "root",
        "commandplayer",
        "controlplayergroups",
        "manageplayergroups",
        "selfkill",
        "worldedit"
      ],
      "RuntimePrivileges": [],
      "DefaultGameMode": 1,
      "Color": "LightBlue",
      "LandClaimAllowance": 2147483647,
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
      "LandClaimMaxAreas": 99999,
      "AutoGrant": true
    }
  ],
  "DefaultRoleCode": "suplayer",
  "ModPaths": [
    "Mods",
    "/home/user/.config/VintagestoryData/Mods"
  ],
  "AntiAbuse": 0,
  "WorldConfig": {
    "Seed": null,
    "SaveFileLocation": "/home/user/.config/VintagestoryData/Saves/default.vcdbs",
    "WorldName": "A new world",
    "AllowCreativeMode": true,
    "PlayStyle": "surviveandbuild",
    "PlayStyleLangCode": "surviveandbuild-bands",
    "WorldType": "standard",
    "WorldConfiguration": null,
    "MapSizeY": null,
    "CreatedByPlayerName": null,
    "DisabledMods": null,
    "RepairMode": false
  },
  "NextPlayerGroupUid": 10,
  "GroupChatHistorySize": 20,
  "MaxOwnedGroupChannelsPerUser": 10,
  "OnlyWhitelisted": false,
  "VerifyPlayerAuth": true,
  "DefaultSpawn": null,
  "AllowPvP": true,
  "AllowFireSpread": true,
  "AllowFallingBlocks": true,
  "HostedMode": false,
  "StartupCommands": null,
  "RepairMode": false,
  "AnalyzeMode": false,
  "CorruptionProtection": true,
  "RegenerateCorruptChunks": false,
  "ChatRateLimitMs": 1000,
  "DieBelowDiskSpaceMb": 400
}

Exemple avec explications

Les commentaires vides signifient que la signification de la valeur n'est pas claire, donc si vous savez exactement ce qu'elle fait - n'hésitez pas à remplir le commentaire avec des informations utiles =)

{
  "ConfigVersion": "1.5",
  // Adresse du serveur maître où publier les informations du serveur si "AdvertiseServer" est "true".
  "MasterserverUrl": "http://masterserver.vintagestory.at/api/v1/servers/",
  // Adresse à partir de laquelle télécharger les mods (commande /moddb install).
  "ModDbUrl": "https://mods.vintagestory.at/",

  // Où le serveur doit rechercher les mods.
  "ModPaths": [
    "/absolute/path/to/Mods",
    "Mods"
  ],

  // Code de localisation à 2 lettres à utiliser sur ce serveur. Détermine la langue des messages du serveur.
  "ServerLanguage": "en",
  // Chaîne de caractères courte, visible dans la liste des serveurs publics.
  "ServerName": "Vintage Story Server",
  // N'a pas encore d'utilité. C'est censé être utilisé pour un autre élément d'information dans la page de détail du serveur public.
  "ServerUrl": null,
  // Peut être plus long que le nom du serveur. Est visible dans la liste des serveurs publics. Vous pouvez utiliser des balises VTML ici (par exemple, <br> pour le saut de ligne).
  "ServerDescription": null,
  // Le message affiché aux joueurs lorsqu'ils rejoignent. L'espace réservé {0} sera remplacé par le pseudo du joueur.
  "WelcomeMessage": "Welcome {0}, may you survive well and prosper",
  // Quelle interface le serveur doit écouter. Si vous n'en spécifiez pas, il écoutera sur toutes les interfaces.
  "Ip": null,
  // Quel port le serveur doit écouter. Vous voudrez peut-être changer cela si vous souhaitez lancer le serveur sur un port personnalisé.
  "Port": 42420,
  // Si le serveur doit essayer d'utiliser UPnP pour la redirection de port.
  "Upnp": false,

  // Nombre maximum de joueurs. Si une valeur entière est transmise, cela définira le nombre maximum de joueurs simultanés que le serveur peut contenir. Des valeurs plus élevées nécessitent plus de RAM et de CPU.
  "MaxClients": 16,

  // Si non nul, nécessite un mot de passe pour que les joueurs se connectent.
  "Password": "our secret password",
  // Autoriser ou non uniquement les joueurs figurant sur la liste blanche à se connecter au serveur.
  "OnlyWhitelisted": false,

  // Ajouter ou non ce serveur au serveur maître (pour être dans la liste des serveurs publics).
  "AdvertiseServer": true,
  // Si "true", chaque fois qu'un joueur rejoint le serveur, il vérifie si ce joueur est un acheteur valide, connecté et enregistré du jeu.
  "VerifyPlayerAuth": true,

  // Si les joueurs ont le droit de s'attaquer mutuellement.
  "AllowPvP": true,
  // Désactive la propagation du feu si "false".
  "AllowFireSpread": true,
  // Si "false", désactive complètement tout comportement de chute des blocs par la gravité.
  "AllowFallingBlocks": true,

  // Si "true", ces fonctionnalités sont désactivées : "MaxChunkRadius", "MaxClients", "Upnp", "EntityDebugMode", "TickTime", "RandomBlockTicksPerChunk"
  "HostedMode": false,
  // Envoie des informations de débogage supplémentaires au client, qui les affiche si le mode de débogage d'entité est également activé.
  "EntityDebugMode": false,
  //
  "RepairMode": false,
  //
  "AnalyzeMode": false,

  // S'il faut compresser les données lors de leur envoi au client.
  "CompressPackets": true,
  // Définit le niveau anti-abus, cela protège contre une gamme d'opérations malveillantes des joueurs, mais c'est assez hasardeux dans la v1.7.
  "AntiAbuse": 0,

  // Largeur du monde.
  "MapSizeX": 1024000,
  // Hauteur du monde.
  "MapSizeY": 256,
  // Longueur du monde.
  "MapSizeZ": 1024000,
  // Affiche ou définit le point d'apparition par défaut. "y" peut être omis pour utiliser automatiquement la position à la surface à un emplacement x/z donné.
  "DefaultSpawn": {
    "x": 500025,
    "y": 113,
    "z": 499954,
    "yaw": null,
    "pitch": null,
    "roll": null
  },

  // Si c'est "true", les heures et les jours passeront même s'il n'y a aucun joueur en ligne.
  "PassTimeWhenEmpty": false,
  // Si la connexion n'est plus établie correctement entre le serveur et le client, déconnecte le clients une fois ce nombre de secondes écoulé.
  "ClientConnectionTimeout": 150,
  // Rayon maximum des tronçons (chunks). Si une valeur entière est transmise, cela définira le rayon maximum des tronçons, qui est la distance de vue la plus élevée qu'un joueur peut avoir. Des valeurs plus élevées nécessitent plus de RAM.
  "MaxChunkRadius": 12,
  // Arrête le serveur s'il ne reste qu'une telle quantité d'espace disque en méga octets.
  "DieBelowDiskSpaceMb": 400,
  //
  "SpawnCapPlayerScaling": 0.75,

  // Combien de blocs sont actualisés à chaque tick du serveur.
  "MaxMainThreadBlockTicks": 10000,
  // Combien de ticks aléatoires par tronçon doivent être exécutés. En termes simples, une valeur plus élevée fait repousser l'herbe plus rapidement.
  "RandomBlockTicksPerChunk": 16,
  // Quantité souhaitée de millisecondes entre chaque tick du serveur. La valeur par défaut est de 30 ticks par seconde, c'est-à-dire 1000/30 = 33,333 ms.
  "TickTime": 33.3333321,
  // À quelle distance du joueur les tronçons doivent recevoir des ticks aléatoires (4 tronçons signifie jusqu'à 4*32=128 blocs de distance).
  "BlockTickChunkRange": 4,
  // L'intervalle de temps en ms entre chaque exécution du système de ticks aléatoires.
  "BlockTickInterval": 300,

  // Cela indique au générateur de monde de sauter des bandes de tronçons. Utile pour tester la génération des gisements de minerais.
  // c'est-à-dire que si vous définissez SkipEveryChunkRow sur 3 et SkipEveryChunkRowWidth sur 2, alors chaque 3ème bande de tronçons, il y aura 2 bandes de tronçons manquantes
  "SkipEveryChunkRow": 0,
  "SkipEveryChunkRowWidth": 0,
  //
  "CorruptionProtection": true,
  //
  "RegenerateCorruptChunks": false,

  // Anti-spam pour la fenêtre de chat. Combien de millisecondes sont nécessaires entre 2 messages. 1000 ms = 1 seconde.
  "ChatRateLimitMs": 1000,
  // Le nombre maximum de canaux de discussion de groupe qu'un joueur peut créer
  "MaxOwnedGroupChannelsPerUser": 10,
  // Ne sert à rien actuellement.
  "GroupChatHistorySize": 20,

  // Exécute une commande au démarrage du serveur. Par exemple, les joueurs n'ayant pas accès à la console du serveur peuvent se mettre op eux-mêmes. Peut exécuter plusieurs commandes en les séparant par des sauts de ligne.
  "StartupCommands": "/time \n /info seed",

  // Valeur interne
  "NextPlayerGroupUid": 10,

  // Rôle par défaut pour les nouveaux joueurs.
  "DefaultRoleCode": "suplayer",
  "Roles": [
    {
      // ID du rôle.
      "Code": "suvisitor",
      //
      "PrivilegeLevel": -1,
      // Nom lisible du rôle.
      "Name": "Survival Visitor",
      "Description": "Can only visit this world and chat but not use/place/break anything",
      // (devrait être similaire au DefaultSpawn global, mais pour le rôle)
      "DefaultSpawn": null,
      //
      "ForcedSpawn": null,
      // Liste des privilèges accordés (la liste complète peut être affichée par la commande "/list privileges").
      "Privileges": [ "chat" ],
      //
      "RuntimePrivileges": [],
      // 0 - Invité, 1 - Survie, 2 - Créatif, 3 - Spectateur. (voir la commande /gamemode).
      "DefaultGameMode": 1,
      //
      "Color": "Green",
      // Volume autorisé en mètres cubes pour les revendications territoriales de chaque joueur qui a ce rôle (par défaut : 4 tronçons = 4*32*32*32 mètres cubes = 131072 blocs)
      "LandClaimAllowance": 0,
      // Le plus petit cuboïde qu'un joueur peut revendiquer (5x5x5 par défaut)
      "LandClaimMinSize": { "X": 5, "Y": 5, "Z": 5 },
      // La quantité maximale de zones non adjacentes qu'un joueur peut revendiquer.
      "LandClaimMaxAreas": 3,
      // Paramètre "super administrateur". Si "true", tout privilège qui a été enregistré par le moteur de jeu ou n'importe quel mod est automatiquement accordé à ce rôle
      "AutoGrant": false
    },
    ...
  ],

  "WorldConfig": {
    // Graine du monde. Ne garantit pas exactement le même monde à chaque fois !
    "Seed": "1234567890",
    // Pointe sur le fichier du monde qui doit être chargé au démarrage du serveur (ou créé s'il n'existe pas).
    "SaveFileLocation": "/absolute/path/to/Save/world_file.vcdbs",
    // Définit un nom de monde pour le nouveau monde.
    "WorldName": "Sample World Name",
    // Autrefois, il existait un paramètre "Autoriser les tricheurs" dans l'écran de création du monde qui interdisait ou non l'utilisation de la commande "/gamemode creative" même si vous étiez un administrateur. Ce paramètre peut être modifié uniquement ci-dessous désormais.
    "AllowCreativeMode": false,
    // Définit le préréglage du style de jeu pour le nouveau monde. Valeurs possibles : "creativebuilding","surviveandbuild", "exploration", "homosapiens" et "wildernesssurvival" (en théorie - n'importe quelle valeur de chaîne de caractères).
    "PlayStyle": "surviveandbuild",
    // Une référence à une entrée dans le fichier en.json. Fondamentalement, id pour les noms lisibles par le joueur pour le style de jeu.
    // Valeurs possibles : "preset-surviveandbuild", "preset-exploration", "preset-wildernesssurvival", "preset-homosapiens" and "creativebuilding".
    "PlayStyleLangCode": "surviveandbuild",
    // Type de génération du monde. Valeurs possibles : "standard", "superflat"=entièrement plat.
    "WorldType": "standard",

    // Paramètres du nouveau monde. Fondamentalement, utilise les mêmes réglages qu'avec /worldconfig
    "WorldConfiguration": {
      "worldClimate": "realistic",
      "gameMode": "survival",
      "temporalStability": true,
      "temporalStorms": "sometimes",
      "graceTimer": "0"
    },

    // Hauteur du monde.
    "MapSizeY": null,
    // Nom que vous voulez voir dans le champ Auteur, généralement c'est le pseudo.
    "CreatedByPlayerName": "John Smith",
    // Liste des mods (ID) à ignorer.
    "DisabledMods": [ "expandedfoods" ],
    //
    "RepairMode": false
  }
}

servermagicnumbers.json

{
  #La distance à laquelle une entité doit se trouver pour que les clients reçoivent des mises à jour régulières pour celle-ci. Peut être outrepassé par le paramètre "entities". La valeur est la distance maximale en tronçons. (par exemple 2 => mettre à jour toutes les entités pas plus loin que 2 tronçons dans n'importe quelle direction x/z d'un joueur)
  #Cette valeur est plafonnée par la distance maximale en tronçon définie par chaque joueur dans ses paramètres propres.
  "DefaultEntityTrackingRange": 4,

  #Taille cubique des tronçons sur le serveur (largeur, longueur et hauteur)
  "ServerChunkSize": 32,

  #Il s'agit de ServerChunkSize - 1 si ServerChunkSize est un multiple de 2 (ce qui devrait être le cas)
  "ServerChunkSizeMask": 31,

  #Taille du tampon de requête des colonnes de tronçons. Chaque colonne de tronçons de WorldGenPass Done doit être entourée de tronçons de passe PreDone (3x3).
  #Chaque tronçon PreDone doit être entouré de végétation (5x5), chaque tronçon de végétation doit être entouré de caractéristiques de terrain (7x7)
  #Donc, pour compléter au moins une colonne de tronçons, nous devons conserver 7x7 = 49 colonnes de tronçons dans la file d'attente
   "RequestChunkColumnsQueueSize": 2000,

  #Taille du tampon des tronçons prêts. Si le tampon est plein, la routine de génération des tronçons ne génère plus de nouveaux tronçons.
  #Cette valeur doit probablement rester assez petite car si la routine principale n'est pas le goulot d'étranglement, le tampon ne se remplira jamais, mais si c'est bien le goulot d'étranglement, nous ne voudrions pas surcharger le client en lui envoyant des milliards de tronçons d'un seul coup.
  "ReadyChunksQueueSize": 200,

  #Quantité de tronçons que le système d'envoi des tronçons SendChunks peut demander par tick. Définir ce paramètre sur une valeur trop élevée peut remplir le tampon trop rapidement et désavantager la vitesse de chargement des tronçons des autres joueurs.
  "ChunksColumnsToRequestPerTick": 1,

  #Quantité de tronçons que le système d'envoi des tronçons SendChunks peut envoyer par tick. Une valeur trop élevée peut surcharger le client ou le réseau.
  "ChunksToSendPerTick": 32,

  #Combien de fois (au maximum) le système d'envoi de tronçons SendChunks doit être appelé en ms (temps de veille de la routine)
  "ChunkRequestTickTime": 40,

  #Quantité de tronçons que le système de chargement de tronçons LoadChunks peut générer par tick. Régler cette valeur sur un nombre trop élevé peut également surcharger le serveur.
  "ChunkColumnsToGeneratePerThreadTick": 7,

  #Combien de secondes entre chaque sauvegarde automatique du monde du jeu.
  "ServerAutoSave": 300,

  #Largeur et longueur du cube de tronçons à charger pour la zone d'apparition initiale. Si cette valeur est trop élevée, le tampon de requêtes débordera.
  "SpawnChunksWidth": 7,

  #Nombre d'entités que chaque client peut suivre au maximum. Si le nombre d'entités générées près du joueur dépasse ce nombre, le joueur ne verra que les premières qui sont apparues jusqu'à ce que certaines d'entre elles disparaissent.
  "TrackedEntitesPerClient": 1500,

  #Largeur et longueur des régions de tonçons.
  "ChunkRegionSizeInChunks": 16,

  #Après combien de secondes un nouveau paquet de mise à jour du calendrier doit être envoyé au client. Vous voudrez peut-être réduire cet intervalle pour un connexion serveur/client très lente afin que l'écoulement du temps dans le jeu entre le serveur et le client reste synchronisé.
  "CalendarPacketSecondInterval": 60,

  #Après combien de ms doit on vérifier tous les tronçons pour savoir s'ils peuvent être déchargés
  "ChunkUnloadInterval": 4000,

  #Après combien de millisecondes un tronçon doit être compressé
  "UncompressedChunkTTL": 15000,

  #Après combien de millisecondes le tronçon inutilisé doit être déchargé
  "CompressedChunkTTL": 45000,

  #Combien de mètres au maximum peut il y avoir de différence entre la position du personnage sur le client et sa position sur le serveur (vérifié toutes les 150 ms), utilisé en mouvement toutes les 200 ms
  "PlayerDesyncTolerance": 0.02,

  #Quel d'intervalle de décalage (=150 m) devons-nous tolérer entre la position du personnage chez le client et la position du même personnage sur le serveur avant d'expulser le client du serveur (non utilisé)
  "PlayerDesyncMaxIntervalls": 20.0,

  #La fréquence à laquelle le générateur de tronçons doit s'exécuter en ms (temps de veille de la routine)
  "ChunkThreadTickTime": 10
}