Server Config/ru: Difference between revisions

From Vintage Story Wiki
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>__TOC__
<languages/>
 
__TOC__


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 5: Line 7:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
You can learn more about some values on {{ll|List of server commands|List of server commands}} and {{ll|Setting up a Multiplayer Server|Setting up a Multiplayer Server}} pages.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
'''Defaults'''
'''Defaults'''
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Windows paths:
Windows paths:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
"ModPaths": [
"ModPaths": [
Line 21: Line 32:
}
}
</syntaxhighlight>
</syntaxhighlight>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Full serverconfig.json (Linux paths):
Full serverconfig.json (Linux paths):
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
Line 388: Line 403:
}
}
</syntaxhighlight>
</syntaxhighlight>
</div>
</div>
</div>
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-collapsible">
<div class="mw-collapsible">
'''Sample with explanations'''
'''Sample with explanations'''
</div>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 405: Line 423:
</div>
</div>


   // Where server should look for mods.  
   <div lang="en" dir="ltr" class="mw-content-ltr">
// Where server should look for mods.  
   "ModPaths": [
   "ModPaths": [
     "/absolute/path/to/Mods",
     "/absolute/path/to/Mods",
     "Mods"
     "Mods"
   ],
   ],
</div>


   // 2-letter code of localization to use on this server. Determines language of server messages.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// 2-letter code of localization to use on this server. Determines language of server messages.
   "ServerLanguage": "en",
   "ServerLanguage": "en",
   // Short string, visible in the public server listing.
   // Short string, visible in the public server listing.
Line 427: Line 448:
   // If server should try to use UPnP for port forwarding.
   // If server should try to use UPnP for port forwarding.
   "Upnp": false,
   "Upnp": false,
</div>


   // Maximum number of players. If an integer value is passed it will set the max concurrent players the server may have. Higher values requires more RAM and CPU.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// Maximum number of players. If an integer value is passed it will set the max concurrent players the server may have. Higher values requires more RAM and CPU.
   "MaxClients": 16,
   "MaxClients": 16,
</div>


   // If not null, requires a password for players to log in.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// If not null, requires a password for players to log in.
   "Password": "our secret password",
   "Password": "our secret password",
   // Whether or not to only allow whitelisted players to connect to the server.
   // Whether or not to only allow whitelisted players to connect to the server.
   "OnlyWhitelisted": false,
   "OnlyWhitelisted": false,
</div>


   // Whether or not add this server to the master server (public server listing).
   <div lang="en" dir="ltr" class="mw-content-ltr">
// Whether or not add this server to the master server (public server listing).
   "AdvertiseServer": true,
   "AdvertiseServer": true,
   // If true, every time a player joins the server verifies if that player is a valid, logged in, registered buyer of the game.
   // If true, every time a player joins the server verifies if that player is a valid, logged in, registered buyer of the game.
   "VerifyPlayerAuth": true,
   "VerifyPlayerAuth": true,
</div>


   // If players can hit each other.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// If players can hit each other.
   "AllowPvP": true,
   "AllowPvP": true,
   // Disables fire spreading if false.
   // Disables fire spreading if false.
Line 447: Line 476:
   // If false, completely disables any falling block behavior.
   // If false, completely disables any falling block behavior.
   "AllowFallingBlocks": true,
   "AllowFallingBlocks": true,
</div>


   // If true, this features are disabled: "MaxChunkRadius", "MaxClients", "Upnp", "EntityDebugMode", "TickTime", "RandomBlockTicksPerChunk"
   <div lang="en" dir="ltr" class="mw-content-ltr">
// If true, this features are disabled: "MaxChunkRadius", "MaxClients", "Upnp", "EntityDebugMode", "TickTime", "RandomBlockTicksPerChunk"
   "HostedMode": false,
   "HostedMode": false,
   // Sends additional debug information to the client, which displays it if it also has entity debug mode enabled.
   // Sends additional debug information to the client, which displays it if it also has entity debug mode enabled.
Line 456: Line 487:
   //
   //
   "AnalyzeMode": false,
   "AnalyzeMode": false,
</div>


   // Whether to compress data when sending it to the client.  
   <div lang="en" dir="ltr" class="mw-content-ltr">
// Whether to compress data when sending it to the client.  
   "CompressPackets": true,
   "CompressPackets": true,
   // Sets antiabuse level, this protects against a range of malicious player operations, but it is pretty glitchy in v1.7.
   // Sets antiabuse level, this protects against a range of malicious player operations, but it is pretty glitchy in v1.7.
   "AntiAbuse": 0,
   "AntiAbuse": 0,
</div>


   // Width of the world.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// Width of the world.
   "MapSizeX": 1024000,
   "MapSizeX": 1024000,
   // Height of the world.
   // Height of the world.
Line 477: Line 512:
     "roll": null
     "roll": null
   },
   },
</div>


   // If true, the calendar will never stop even if there are no players online.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// If true, the calendar will never stop even if there are no players online.
   "PassTimeWhenEmpty": false,
   "PassTimeWhenEmpty": false,
   // Makes clients time out after that amount of seconds have passed.
   // Makes clients time out after that amount of seconds have passed.
Line 488: Line 525:
   //
   //
   "SpawnCapPlayerScaling": 0.75,
   "SpawnCapPlayerScaling": 0.75,
</div>


   // How many blocks to tick at most each server tick.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// How many blocks to tick at most each server tick.
   "MaxMainThreadBlockTicks": 10000,
   "MaxMainThreadBlockTicks": 10000,
   // How many random ticks per chunk should be executed. Simply said, a higher value makes grass grow back faster.
   // How many random ticks per chunk should be executed. Simply said, a higher value makes grass grow back faster.
Line 499: Line 538:
   // The interval of time in ms between each execution of the random tick system.
   // The interval of time in ms between each execution of the random tick system.
   "BlockTickInterval": 300,
   "BlockTickInterval": 300,
</div>


   // This tells the world generator to skip stripes of chunks. Useful for testing ore deposit generation.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// This tells the world generator to skip stripes of chunks. Useful for testing ore deposit generation.
   // i.e. if you set SkipEveryChunkRow to 3 and SkipEveryChunkRowWidth to 2, then every 3rd chunk strip there'll be 2 chunk strips missing
   // i.e. if you set SkipEveryChunkRow to 3 and SkipEveryChunkRowWidth to 2, then every 3rd chunk strip there'll be 2 chunk strips missing
   "SkipEveryChunkRow": 0,
   "SkipEveryChunkRow": 0,
Line 508: Line 549:
   //
   //
   "RegenerateCorruptChunks": false,
   "RegenerateCorruptChunks": false,
</div>


   // Anti-spam for the chat window. How many milliseconds are required between 2 messages. 1000 ms = 1 second.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// Anti-spam for the chat window. How many milliseconds are required between 2 messages. 1000 ms = 1 second.
   "ChatRateLimitMs": 1000,
   "ChatRateLimitMs": 1000,
   // The max amount of group channels a player can create
   // The max amount of group channels a player can create
Line 515: Line 558:
   // Has no use currently.
   // Has no use currently.
   "GroupChatHistorySize": 20,
   "GroupChatHistorySize": 20,
</div>


   // Run a command when server starts. For example, players without access to the server console can op themselves. Can run multiple commands by separating them with linebreaks.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// Run a command when server starts. For example, players without access to the server console can op themselves. Can run multiple commands by separating them with linebreaks.
   "StartupCommands": "/time \n /info seed",
   "StartupCommands": "/time \n /info seed",
</div>


   // Internal value.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// Internal value.
   "NextPlayerGroupUid": 10,
   "NextPlayerGroupUid": 10,
</div>


   // Default role for new players.
   <div lang="en" dir="ltr" class="mw-content-ltr">
// Default role for new players.
   "DefaultRoleCode": "suplayer",
   "DefaultRoleCode": "suplayer",
   "Roles": [
   "Roles": [
Line 545: Line 594:
       //
       //
       "Color": "Green",
       "Color": "Green",
       // Max allowed claimable area in cubic meters for every player that has this role (default: 4 chunks = 4*32*32*32 cubic meters = 131072)
       // Volume allowed in cubic meters for the land claims of each player who has this role (default: 4 chunks = 4*32*32*32 cubic meters = 131072 blocks)
       "LandClaimAllowance": 0,
       "LandClaimAllowance": 0,
       // The smallest cuboid a player may claim (default 5x5x5)
       // The smallest cuboid a player may claim (default 5x5x5)
Line 556: Line 605:
     ...
     ...
   ],
   ],
</div>


   "WorldConfig": {
   <div lang="en" dir="ltr" class="mw-content-ltr">
"WorldConfig": {
     // Seed. Does not guarantee exactly the same world each time!
     // Seed. Does not guarantee exactly the same world each time!
     "Seed": "1234567890",
     "Seed": "1234567890",
Line 566: Line 617:
     // There used to be a "Allow cheats" toggle in the create world screen that forbids the use of /gamemode creative even if you are an admin. The config for it is still there.
     // There used to be a "Allow cheats" toggle in the create world screen that forbids the use of /gamemode creative even if you are an admin. The config for it is still there.
     "AllowCreativeMode": false,
     "AllowCreativeMode": false,
     // Defines preset of parameters for new world. Possible values: "creativebuilding","surviveandbuild", "exploration" and "wildernesssurvival" (theoretically - any string value).
     // Defines preset of parameters for new world. Possible values: "creativebuilding","surviveandbuild", "exploration", "homosapiens" and "wildernesssurvival" (theoretically - any string value).
     "PlayStyle": "surviveandbuild",
     "PlayStyle": "surviveandbuild",
     // A reference to an entry in the en.json. Basically, id for human-readable names for PlayStyle.  
     // A reference to an entry in the en.json. Basically, id for human-readable names for PlayStyle.  
     // Possible values: "preset-surviveandbuild", "preset-exploration", "preset-wildernesssurvival" and "creativebuilding".
     // Possible values: "preset-surviveandbuild", "preset-exploration", "preset-wildernesssurvival", "preset-homosapiens" and "creativebuilding".
     "PlayStyleLangCode": "surviveandbuild",
     "PlayStyleLangCode": "surviveandbuild",
     // World generation type. Possible values: "standard", "superflat".
     // World generation type. Possible values: "standard", "superflat".
     "WorldType": "standard",
     "WorldType": "standard",
</div>


     // Settings of new world. Basically can use the same properties as with /worldconfig
     <div lang="en" dir="ltr" class="mw-content-ltr">
// Settings of new world. Basically can use the same properties as with /worldconfig
     "WorldConfiguration": {
     "WorldConfiguration": {
       "worldClimate": "realistic",
       "worldClimate": "realistic",
Line 582: Line 635:
       "graceTimer": "0"
       "graceTimer": "0"
     },
     },
</div>


     // Height of the world.
     <div lang="en" dir="ltr" class="mw-content-ltr">
// Height of the world.
     "MapSizeY": null,
     "MapSizeY": null,
     // Anything you want to see in Author field, usually it's nickname.
     // Anything you want to see in Author field, usually it's nickname.
Line 594: Line 649:
}
}
</syntaxhighlight>
</syntaxhighlight>
</div>
</div>
</div>
</div>
</div>
Line 601: Line 657:
<syntaxhighlight lang="py">
<syntaxhighlight lang="py">


<div class="mw-translate-fuzzy">
{
{
   #The range an entity has to be in order for clients to receive regular updates for it. May be overriden by entities. The value is the max chunk distance. (e.g. 2 => update all entities not further away than 2 chunks in x/y any dir from a player)
   #The range an entity has to be in order for clients to receive regular updates for it. May be overriden by entities. The value is the max chunk distance. (e.g. 2 => update all entities not further away than 2 chunks in x/y any dir from a player)
   #This value is capped by each players max chunk range.
   #This value is capped by each players max chunk range.
   "DefaultEntityTrackingRange": 4,
   "DefaultEntityTrackingRange": 4,
</div>


   #Cubic size of the chunks on the server (width, length and height)
   #Cubic size of the chunks on the server (width, length and height)
Line 668: Line 726:


</syntaxhighlight>
</syntaxhighlight>
{{Game navbox}}

Latest revision as of 04:55, 3 August 2023

Other languages:

Вы можете узнать больше о некоторых значениях на страницах Список серверных команд и Настройка многопользовательского сервера.

You can learn more about some values on List of server commands and Setting up a Multiplayer Server pages.

Defaults

Windows paths:

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

Full serverconfig.json (Linux paths):

{
  "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
}

Sample with explanations

Пустые комментарии означают, что значение неясно, поэтому, если вы точно знаете, что оно делает - смело наполняйте комментарий полезными знаниями =)

{
  # 
  "ConfigVersion": "1.3",
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// Where server should look for mods. 
  "ModPaths": [
    "/absolute/path/to/Mods",
    "Mods"
  ],
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// 2-letter code of localization to use on this server. Determines language of server messages.
  "ServerLanguage": "en",
  // Short string, visible in the public server listing.
  "ServerName": "Vintage Story Server",
  // Has no use yet. It's supposed to be used for another piece of information in the public server detail page.
  "ServerUrl": null,
  // Can be longer than name, visible in the public server listing. You can use VTML here (for example, <br> for line break).
  "ServerDescription": null,
  // The message shown to players when they join. Placeholder {0} will be replaced with Player's nickname.
  "WelcomeMessage": "Welcome {0}, may you survive well and prosper",
  // What interface server should listen. If you don't specify one, it'll listen on all interfaces.
  "Ip": null,
  // Port what server should listen. You may want to change this if you want to run server on custom port.
  "Port": 42420,
  // If server should try to use UPnP for port forwarding.
  "Upnp": false,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// Maximum number of players. If an integer value is passed it will set the max concurrent players the server may have. Higher values requires more RAM and CPU.
  "MaxClients": 16,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// If not null, requires a password for players to log in.
  "Password": "our secret password",
  // Whether or not to only allow whitelisted players to connect to the server.
  "OnlyWhitelisted": false,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// Whether or not add this server to the master server (public server listing).
  "AdvertiseServer": true,
  // If true, every time a player joins the server verifies if that player is a valid, logged in, registered buyer of the game.
  "VerifyPlayerAuth": true,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// If players can hit each other.
  "AllowPvP": true,
  // Disables fire spreading if false.
  "AllowFireSpread": true,
  // If false, completely disables any falling block behavior.
  "AllowFallingBlocks": true,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// If true, this features are disabled: "MaxChunkRadius", "MaxClients", "Upnp", "EntityDebugMode", "TickTime", "RandomBlockTicksPerChunk"
  "HostedMode": false,
  // Sends additional debug information to the client, which displays it if it also has entity debug mode enabled.
  "EntityDebugMode": false,
  //
  "RepairMode": false,
  //
  "AnalyzeMode": false,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// Whether to compress data when sending it to the client. 
  "CompressPackets": true,
  // Sets antiabuse level, this protects against a range of malicious player operations, but it is pretty glitchy in v1.7.
  "AntiAbuse": 0,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// Width of the world.
  "MapSizeX": 1024000,
  // Height of the world.
  "MapSizeY": 256,
  // Length of the world.
  "MapSizeZ": 1024000,
  // Shows or sets the default spawn point. y can be omitted to automatically use the surface position at given x/z location.
  "DefaultSpawn": {
    "x": 500025,
    "y": 113,
    "z": 499954,
    "yaw": null,
    "pitch": null,
    "roll": null
  },
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// If true, the calendar will never stop even if there are no players online.
  "PassTimeWhenEmpty": false,
  // Makes clients time out after that amount of seconds have passed.
  "ClientConnectionTimeout": 150,
  // Max chunk radius. If an integer value is passed it will set the max chunk radius, which is the highest view distance a player may have. Higher values require more RAM.
  "MaxChunkRadius": 12,
  // Shutdowns the server if only such amount of disk space is left.
  "DieBelowDiskSpaceMb": 400,
  //
  "SpawnCapPlayerScaling": 0.75,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// How many blocks to tick at most each server tick.
  "MaxMainThreadBlockTicks": 10000,
  // How many random ticks per chunk should be executed. Simply said, a higher value makes grass grow back faster.
  "RandomBlockTicksPerChunk": 16,
  // Desired amount of milliseconds between each server tick. Default value is 30 ticks per second, i.e. 1000/30 = 33.333ms.
  "TickTime": 33.3333321,
  // How far away from the player chunks should receive random ticks (4 chunks means up to 4*32=128 blocks away).
  "BlockTickChunkRange": 4,
  // The interval of time in ms between each execution of the random tick system.
  "BlockTickInterval": 300,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// This tells the world generator to skip stripes of chunks. Useful for testing ore deposit generation.
  // i.e. if you set SkipEveryChunkRow to 3 and SkipEveryChunkRowWidth to 2, then every 3rd chunk strip there'll be 2 chunk strips missing
  "SkipEveryChunkRow": 0,
  "SkipEveryChunkRowWidth": 0,
  //
  "CorruptionProtection": true,
  //
  "RegenerateCorruptChunks": false,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// Anti-spam for the chat window. How many milliseconds are required between 2 messages. 1000 ms = 1 second.
  "ChatRateLimitMs": 1000,
  // The max amount of group channels a player can create
  "MaxOwnedGroupChannelsPerUser": 10,
  // Has no use currently.
  "GroupChatHistorySize": 20,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// Run a command when server starts. For example, players without access to the server console can op themselves. Can run multiple commands by separating them with linebreaks.
  "StartupCommands": "/time \n /info seed",
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// Internal value.
  "NextPlayerGroupUid": 10,
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
// Default role for new players.
  "DefaultRoleCode": "suplayer",
  "Roles": [
    {
      // Role ID.
      "Code": "suvisitor",
      //
      "PrivilegeLevel": -1,
      // Role readable name.
      "Name": "Survival Visitor",
      "Description": "Can only visit this world and chat but not use/place/break anything",
      // (should be similar to global DefaultSpawn, but for role)
      "DefaultSpawn": null,
      //
      "ForcedSpawn": null,
      // List of granted priveleges (full list may be shown by "/list privileges" command).
      "Privileges": [ "chat" ],
      //
      "RuntimePrivileges": [],
      // 0 - Guest, 1 - Survival, 2 - Creative, 3 - Spectator. (see /gamemode command).
      "DefaultGameMode": 1,
      //
      "Color": "Green",
      // Volume allowed in cubic meters for the land claims of each player who has this role (default: 4 chunks = 4*32*32*32 cubic meters = 131072 blocks)
      "LandClaimAllowance": 0,
      // The smallest cuboid a player may claim (default 5x5x5)
      "LandClaimMinSize": { "X": 5, "Y": 5, "Z": 5 },
      // The max quantity of non adjacent-areas a player may claim.
      "LandClaimMaxAreas": 3,
      // "Super admin" parameter. If true, any privilege that has been registered by the game engine or any mod is automatically granted to this role
      "AutoGrant": false
    },
    ...
  ],
</div>

  <div lang="en" dir="ltr" class="mw-content-ltr">
"WorldConfig": {
    // Seed. Does not guarantee exactly the same world each time!
    "Seed": "1234567890",
    // Point to world file which should be loaded on server start (or created if not exists).
    "SaveFileLocation": "/absolute/path/to/Save/world_file.vcdbs",
    // Defines a world name for new world.
    "WorldName": "Sample World Name",
    // There used to be a "Allow cheats" toggle in the create world screen that forbids the use of /gamemode creative even if you are an admin. The config for it is still there.
    "AllowCreativeMode": false,
    // Defines preset of parameters for new world. Possible values: "creativebuilding","surviveandbuild", "exploration", "homosapiens" and "wildernesssurvival" (theoretically - any string value).
    "PlayStyle": "surviveandbuild",
    // A reference to an entry in the en.json. Basically, id for human-readable names for PlayStyle. 
    // Possible values: "preset-surviveandbuild", "preset-exploration", "preset-wildernesssurvival", "preset-homosapiens" and "creativebuilding".
    "PlayStyleLangCode": "surviveandbuild",
    // World generation type. Possible values: "standard", "superflat".
    "WorldType": "standard",
</div>

    <div lang="en" dir="ltr" class="mw-content-ltr">
// Settings of new world. Basically can use the same properties as with /worldconfig
    "WorldConfiguration": {
      "worldClimate": "realistic",
      "gameMode": "survival",
      "temporalStability": true,
      "temporalStorms": "sometimes",
      "graceTimer": "0"
    },
</div>

    <div lang="en" dir="ltr" class="mw-content-ltr">
// Height of the world.
    "MapSizeY": null,
    // Anything you want to see in Author field, usually it's nickname.
    "CreatedByPlayerName": "John Smith",
    // List of mods (IDs) that should be ignored.
    "DisabledMods": [ "expandedfoods" ],
    //
    "RepairMode": false
  }
}

servermagicnumbers.json

<div class="mw-translate-fuzzy">
{
  #The range an entity has to be in order for clients to receive regular updates for it. May be overriden by entities. The value is the max chunk distance. (e.g. 2 => update all entities not further away than 2 chunks in x/y any dir from a player)
  #This value is capped by each players max chunk range.
  "DefaultEntityTrackingRange": 4,
</div>

  #Cubic size of the chunks on the server (width, length and height)
  "ServerChunkSize": 32,

  #This is ServerChunkSize - 1 if ServerChunkSize is a multiple of 2 (which it really should be)
  "ServerChunkSizeMask": 31,

  #Size of the chunk column request buffer. Every chunk column of WorldGenPass Done needs to be surrounded by chunks of pass PreDone (3x3). 
  #Every PreDone chunk needs to be surrounded by Vegetation (5x5), every Vegetation chunk needs to be surrounded by terrainfeatures (7x7)
  #So in order to complete at least chunk column we have to keep 7x7=49 chunk columns in the queue
  "RequestChunkColumnsQueueSize": 2000,

  #Size of the chunk ready buffer. If buffer is full, the chunk gen thread no longer generates new chunks. 
  #This value can probably stay fairly small because if the main thread is not the bottleneck it will never fill up, but when it is the bottleneck we don't want to overburden it with sending gazillions of chunks to clients.
  "ReadyChunksQueueSize": 200,

  #Amount of chunks the SendChunks System may request per tick. Setting this value too high might fill the buffer too quickly and give a disadvantage to other players chunk loading speed.
  "ChunksColumnsToRequestPerTick": 1,

  #Amount of chunks the SendChunks System may send per tick. Setting this value too high might overburden the client or the network.
  "ChunksToSendPerTick": 32,

  #How often (at most) the SendChunks system should be called in ms (thread sleep time)
  "ChunkRequestTickTime": 40,

  #Amount of chunks the LoadChunks System may generate per tick. Setting this value too might overburden the server.
  "ChunkColumnsToGeneratePerThreadTick": 7,

  #How many seconds between each autosave of the game world.
  "ServerAutoSave": 300,

  #Width and Length of the cube of chunks to load for the spawn area. Setting this value to high will overflow the request buffer.
  "SpawnChunksWidth": 7,

  #Amount of entities each client can track at most. If the number of spawned entitites near the player goes beyond this number the player will only see the first ones that spawned until some of them despawned
  "TrackedEntitesPerClient": 1500,

  #Width and Length of Chunk regions
  "ChunkRegionSizeInChunks": 16,

  #After how many seconds a new calendar packet should be sent out to the client. You might want to reduce this interval for very laggy server / client in order for server and client game time to stay in sync.
  "CalendarPacketSecondInterval": 60,

  #After how many ms all the chunks should be checked if they can be unloaded
  "ChunkUnloadInterval": 4000,

  #After how many milliseconds the chunk should get packed
  "UncompressedChunkTTL": 15000,

  #After how many unused milliseconds the chunk should get unloaded
  "CompressedChunkTTL": 45000,

  #How much meter of the client position should leak into sever position (every 150ms), used as motion every 200ms
  "PlayerDesyncTolerance": 0.02,

  #How many intervalls (=150m) shall we toleratate clients position out of sync with servers position before we kick him (not used)
  "PlayerDesyncMaxIntervalls": 20.0,

  #How often the chunk generator should run in ms (thread sleep time)
  "ChunkThreadTickTime": 10
}


Вики-навигация
Vintage Story Руководство[[::Category:Guides| ]]Частые вопросы (ЧАВО) Саундтрек Версии Управление
Игровые системы Крафт Откалывание Формование глины Кузнечное Дело Кулинария Температура Голод Горное дело Темпоральная стабильность Механическая сила Торговля Растениеводство Животноводство
Мир Генерация мира Биомы Погода Темпоральные штормы
Предметы Инструменты Орудия Броня Одежда Сумки Материалы Еда
Блоки Ландшафт Растения Декор Источники света Функциональные Руда
Сущности Враждебные существа Животные NPC Игроки
Miscellaneous Список клиентских команд Список команд сервера Руководство по творческому режиму для начинающих Система ботов Как использовать WorldEdit Кинематографичная камера Регулируемая частота кадров при записи видео Система тиков