Server Config

From Vintage Story Wiki
Revision as of 10:03, 11 March 2020 by Tander (talk | contribs) (Created page with "This is sample of serverconfig.json with explanations. ''Empty comments means that the value meaning is unclear, so if you know exactly what it does - feel free to fill comme...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This is sample of serverconfig.json with explanations.

Empty comments means that the value meaning is unclear, so if you know exactly what it does - feel free to fill comment with useful knowledge =)

{
  # 
  "ConfigVersion": "1.3",

  # 
  "ServerMonitor": true,

  # 
  "MasterserverUrl": "http://masterserver.vintagestory.at/api/v1/servers/",

  # 
  "ClientConnectionTimeout": 600,

  # 
  "ClientPlayingTimeout": 60,

  # 
  "BuildLogging": false,

  # 
  "EntityDebugMode": false,

  # Width of the world
  "MapSizeX": 1000000,

  # Height of the world
  "MapSizeY": 256,

  # Length of the world
  "MapSizeZ": 1000000,

  # 2-letter code of localization to use on this server. Determines language of server messages.
  "ServerLanguage": "en",

  # 
  "SkipEveryChunkRow": 0,

  # 
  "SkipEveryChunkRowWidth": 0,

  # Where server should look for mods. []
  "ModPaths": [
    "Mods",
    "/absolute/path/to/Mods"
  ],

  # can be used for set up parameters of new world
  "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/wold_file.vcdbs",

    # defines a world name for new world
    "WorldName": "Sample World Name",

    # 
    "AllowCreativeMode": false,

    # defines preset of parameters for new world. Possible values: "surviveandbuild", ... [need to be filled]
    "PlayStyle": "surviveandbuild",

    # defines preset of parameters for new world. Possible values: "surviveandbuild-bands", ... [need to be filled]
    "PlayStyleLangCode": "surviveandbuild",

    # Possible values: "standard", ... [need to be filled]
    "WorldType": "standard",

    # 
    "WorldConfiguration": null,

    # Height of the world
    "MapSizeY": null,

    # Anything you want to see in Author field, usually it's nickname
    "CreatedByPlayerName": "John Smith",

    # 
    "DisabledMods": []
  },

  # 
  "NextPlayerGroupUid": 10,

  # 
  "GroupChatHistorySize": 20,

  # 
  "MaxOwnedGroupChannelsPerUser": 10,

  # Set up the server name, visible in the public server listing
  "ServerName": "Name of your Vintage Story Server",

  # 
  "ServerUrl": "https://www.vintagestory.at/",

  # Set up the servers description, visible in the public server listing. You can use VTML here (for example, <br> for line break)
  "ServerDescription": "Sample description.<br>Next line of description.",

  # The message shown to players when they join. Placeholder {0} will be replaced with Player's nickname.
  "WelcomeMessage": "Welcome, {0}. Don't forget to follow our rules.",

  # 
  "Ip": null,

  # Port what server should listen. You may want to change this if you want to run server on custom port.
  "Port": 42420,

  # 
  "Upnp": false,

  # 
  "CompressPackets": true,

  # Whether or not add this server to the public server listing
  "AdvertiseServer": true,

  # Maximum number of players. If an integer value is passed it will set the maxclients, which is the max concurrent players the server may have. Higher values requires more RAM and CPU
  "MaxClients": 16,

  # Require a password for players to log in
  "Password": "my secret password",

  # 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,

  # 
  "TickTime": 33.3333321,

  # 
  "BlockTickChunkRange": 3,

  # 
  "MaxMainThreadBlockTicks": 10000,

  # How many random ticks per chunk should be executed. Simply said, a higher value makes grass grow back faster.
  "RandomBlockTicksPerChunk": 16,

  # 
  "BlockTickInterval": 300,

  # 
  "Roles": [
    {
      # Role ID
      "Code": "suvisitor",

      # Role readable name
      "Name": "Survival Visitor",

      # 
      "Description": "Can only visit this world and chat but not use/place/break anything",

      # 
      "PrivilegeLevel": -1,

      # (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": [],

      # 
      "DefaultGameMode": 1,

      # 
      "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)
      "LandClaimAllowance": 0,

      # The smallest cuboid a player may claim (default 5x5x5)
      "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },

      # The max quantity of non adjacent-areasa a player may claim (default: 3)
      "LandClaimMaxAreas": 3,

      # 
      "AutoGrant": false
    },
    ...
  ],

  # Default role for new players
  "DefaultRoleCode": "suplayer",

  # Sets antiabuse level, this protects against a range of malicious player operations, but is currently pretty glitchy in the current state (v1.7)
  "AntiAbuse": 0,

  # Wether or not to only allow whitelisted players to connect to the server
  "OnlyWhitelisted": false,

  # 
  "VerifyPlayerAuth": true,

  # 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
  },

  # If players can hit each other
  "AllowPvP": true,

  # 
  "AllowFireSpread": true,

  # 
  "AllowFallingBlocks": true,

  # 
  "StartupCommands": null
  
  # 
  "RepairMode": false,
  
  # 
  "ChatRateLimitMs": 1000
}