Server Config: Difference between revisions

From Vintage Story Wiki
Sample update
(Added 1.18.1 defaults)
(Sample update)
Line 397: Line 397:


<!--T:5-->
<!--T:5-->
<syntaxhighlight lang="py">
<syntaxhighlight lang="js">
{
{
#
   "ConfigVersion": "1.5",
   "ConfigVersion": "1.3",
   // Master server address where to publish server info if "AdvertiseServer" is true.
 
  <!--T:6-->
# Unused
   "ServerMonitor": true,
 
  <!--T:7-->
#
   "MasterserverUrl": "http://masterserver.vintagestory.at/api/v1/servers/",
   "MasterserverUrl": "http://masterserver.vintagestory.at/api/v1/servers/",
  // Address from which to download mods (command /moddb install).
  "ModDbUrl": "https://mods.vintagestory.at/",


   <!--T:8-->
   // Where server should look for mods.  
# Makes clients time out after that amount of seconds have passed
  "ClientConnectionTimeout": 600,
 
  <!--T:11-->
# Sends additional debug information to the client, which displays it if it also has entity debug mode enabled
  "EntityDebugMode": false,
 
  <!--T:12-->
# Width of the world
  "MapSizeX": 1000000,
 
  <!--T:13-->
# Height of the world
  "MapSizeY": 256,
 
  <!--T:14-->
# Length of the world
  "MapSizeZ": 1000000,
 
  <!--T:15-->
# 2-letter code of localization to use on this server. Determines language of server messages.
  "ServerLanguage": "en",
 
  <!--T:16-->
# 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,
 
  <!--T:17-->
# Where server should look for mods. []
   "ModPaths": [
   "ModPaths": [
    "Mods",
     "/absolute/path/to/Mods",
     "/absolute/path/to/Mods"
    "Mods"
   ],
   ],


   <!--T:18-->
   // 2-letter code of localization to use on this server. Determines language of server messages.
# Can be used for set up parameters of new world
  "ServerLanguage": "en",
  "WorldConfig": {
  // Short string, visible in the public server listing.
   
   "ServerName": "Vintage Story Server",
    # Seed. Does not guarantee exactly the same world each time!
   // Has no use yet. It's supposed to be used for another piece of information in the public server detail page.
    "Seed": "1234567890",
   "ServerUrl": null,
 
   // Can be longer than name, visible in the public server listing. You can use VTML here (for example, <br> for line break).
    <!--T:19-->
   "ServerDescription": null,
# Point to world file which should be loaded on server start (or created if not exists)
   // The message shown to players when they join. Placeholder {0} will be replaced with Player's nickname.
    "SaveFileLocation": "/absolute/path/to/Save/wold_file.vcdbs",
   "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.
    <!--T:20-->
# Defines a world name for new world
    "WorldName": "Sample World Name",
 
    <!--T:21-->
# 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,
 
    <!--T:22-->
# Defines preset of parameters for new world. Possible values: "creativebuilding","surviveandbuild", "exploration" and "wildernesssurvival" (theoretically - any string value)
    "PlayStyle": "surviveandbuild",
 
    <!--T:23-->
# 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"
    "PlayStyleLangCode": "surviveandbuild",
 
    <!--T:24-->
# World generation type. Possible values: "standard", "superflat"
    "WorldType": "standard",
 
    <!--T:25-->
# Settings of new world. Basically can use the same properties as with /worldconfig
    "WorldConfiguration": {
      "worldClimate": "realistic",
      "gameMode": "survival",
      "temporalStability": true,
      "temporalStorms": "sometimes",
      "graceTimer": "0"
    },
 
    <!--T:26-->
# Height of the world
    "MapSizeY": null,
 
    <!--T:27-->
# Anything you want to see in Author field, usually it's nickname
    "CreatedByPlayerName": "John Smith",
 
    <!--T:28-->
# List of mods that should be ignored
    "DisabledMods": []
  },
 
  <!--T:29-->
# Internal value
  "NextPlayerGroupUid": 10,
 
  <!--T:30-->
# Has no use currently
  "GroupChatHistorySize": 20,
 
  <!--T:31-->
# The max amount of groups a player can create
  "MaxOwnedGroupChannelsPerUser": 10,
 
  <!--T:32-->
# Set up the server name, visible in the public server listing
   "ServerName": "Name of your Vintage Story Server",
 
   <!--T:33-->
# Has no use yet. It's supposed to be used for another piece of information in the public server detail page
   "ServerUrl": "https://www.vintagestory.at/",
 
   <!--T:34-->
# 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.",
 
   <!--T:35-->
# 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.",
 
   <!--T:36-->
# What interface server should listen. If you don't specify one, it'll listen on all interfaces
   "Ip": null,
   "Ip": null,
 
   // Port what server should listen. You may want to change this if you want to run server on custom port.
   <!--T:37-->
# Port what server should listen. You may want to change this if you want to run server on custom port.
   "Port": 42420,
   "Port": 42420,
  // If server should try to use UPnP for port forwarding.
  "Upnp": false,


   <!--T:38-->
   // 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.
# If server should try to use upnp for port forwarding
   "MaxClients": 16,
   "Upnp": false,


   <!--T:39-->
   // If not null, requires a password for players to log in.
# Whether to compress data when sending it to the client.  
  "Password": "our secret password",
   "CompressPackets": true,
  // Whether or not to only allow whitelisted players to connect to the server.
   "OnlyWhitelisted": false,


   <!--T:40-->
   // Whether or not add this server to the master server (public server listing).
# Whether or not add this server to the 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.
  "VerifyPlayerAuth": true,


   <!--T:41-->
   // If players can hit each other.
# 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
  "AllowPvP": true,
   "MaxClients": 16,
  // Disables fire spreading if false.
  "AllowFireSpread": true,
  // If false, completely disables any falling block behavior.
  "AllowFallingBlocks": true,
 
  // 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,
 
  // 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,


   <!--T:42-->
   // Width of the world.
# Require a password for players to log in
  "MapSizeX": 1024000,
   "Password": "my secret password",
  // 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
  },


   <!--T:43-->
   // If true, the calendar will never stop even if there are no players online.
# 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
  "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,
   "MaxChunkRadius": 12,
  // Shutdowns the server if only such amount of disk space is left.
  "DieBelowDiskSpaceMb": 400,
  //
  "SpawnCapPlayerScaling": 0.75,


   <!--T:44-->
   // How many blocks to tick at most each server tick.
# Desired amount of milliseconds between each server tick. Default value is 30 ticks per second, i.e. 1000/30 = 33.333ms  
  "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,
   "TickTime": 33.3333321,
 
   // How far away from the player chunks should receive random ticks (4 chunks means up to 4*32=128 blocks away).
   <!--T:45-->
# How far away from the player chunks should receive random ticks (4 chunks means up to 4*32=128 blocks away)
   "BlockTickChunkRange": 4,
   "BlockTickChunkRange": 4,
  // The interval of time in ms between each execution of the random tick system.
  "BlockTickInterval": 300,


   <!--T:46-->
   // This tells the world generator to skip stripes of chunks. Useful for testing ore deposit generation.
# How many blocks to tick at most each server tick
  // i.e. if you set SkipEveryChunkRow to 3 and SkipEveryChunkRowWidth to 2, then every 3rd chunk strip there'll be 2 chunk strips missing
   "MaxMainThreadBlockTicks": 10000,
  "SkipEveryChunkRow": 0,
  "SkipEveryChunkRowWidth": 0,
  //
  "CorruptionProtection": true,
  //
  "RegenerateCorruptChunks": false,
 
  //
  "ChatRateLimitMs": 1000,
  // The max amount of group channels a player can create
  "MaxOwnedGroupChannelsPerUser": 10,
  // Has no use currently.
  "GroupChatHistorySize": 20,
 
  // 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",


   <!--T:47-->
   // Internal value.
# How many random ticks per chunk should be executed. Simply said, a higher value makes grass grow back faster.
   "NextPlayerGroupUid": 10,
   "RandomBlockTicksPerChunk": 16,


   <!--T:48-->
   // Default role for new players.
# The interval of time in ms between each execution of the random tick system
   "DefaultRoleCode": "suplayer",
   "BlockTickInterval": 300,
 
  <!--T:49-->
#
   "Roles": [
   "Roles": [
     {
     {
       # Role ID
       // Role ID.
       "Code": "suvisitor",
       "Code": "suvisitor",
 
      //
       <!--T:50-->
       "PrivilegeLevel": -1,
# Role readable name
      // Role readable name.
       "Name": "Survival Visitor",
       "Name": "Survival Visitor",
      <!--T:51-->
#
       "Description": "Can only visit this world and chat but not use/place/break anything",
       "Description": "Can only visit this world and chat but not use/place/break anything",
 
       // (should be similar to global DefaultSpawn, but for role)
       <!--T:52-->
#
      "PrivilegeLevel": -1,
 
      <!--T:53-->
# (should be similar to global DefaultSpawn, but for role)
       "DefaultSpawn": null,
       "DefaultSpawn": null,
 
       //
       <!--T:54-->
#
       "ForcedSpawn": null,
       "ForcedSpawn": null,
 
       // List of granted priveleges (full list may be shown by "/list privileges" command).
       <!--T:55-->
       "Privileges": [ "chat" ],
# list of granted priveleges (full list may be shown by "/list privileges" command)
       //
       "Privileges": [
        "chat"
      ],
 
       <!--T:56-->
#
       "RuntimePrivileges": [],
       "RuntimePrivileges": [],
 
       // 0 - Guest, 1 - Survival, 2 - Creative, 3 - Spectator. (see /gamemode command).
       <!--T:57-->
#
       "DefaultGameMode": 1,
       "DefaultGameMode": 1,
 
       //
       <!--T:58-->
#
       "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)
       <!--T:59-->
# 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,
       "LandClaimAllowance": 0,
 
       // The smallest cuboid a player may claim (default 5x5x5)
       <!--T:60-->
       "LandClaimMinSize": { "X": 5, "Y": 5, "Z": 5 },
# The smallest cuboid a player may claim (default 5x5x5)
       // The max quantity of non adjacent-areas a player may claim.
       "LandClaimMinSize": {
        "X": 5,
        "Y": 5,
        "Z": 5
      },
 
       <!--T:61-->
# The max quantity of non adjacent-areasa a player may claim (default: 3)
       "LandClaimMaxAreas": 3,
       "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
       <!--T:62-->
# "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
       "AutoGrant": false
     },
     },
Line 649: Line 557:
   ],
   ],


   <!--T:63-->
   "WorldConfig": {
# Default role for new players
    // Seed. Does not guarantee exactly the same world each time!
  "DefaultRoleCode": "suplayer",
    "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" 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" and "creativebuilding".
    "PlayStyleLangCode": "surviveandbuild",
    // World generation type. Possible values: "standard", "superflat".
    "WorldType": "standard",


  <!--T:64-->
    // Settings of new world. Basically can use the same properties as with /worldconfig
# Sets antiabuse level, this protects against a range of malicious player operations, but is currently pretty glitchy in the current state (v1.7)
    "WorldConfiguration": {
  "AntiAbuse": 0,
      "worldClimate": "realistic",
      "gameMode": "survival",
      "temporalStability": true,
      "temporalStorms": "sometimes",
      "graceTimer": "0"
    },


  <!--T:65-->
    // Height of the world.
# Wether or not to only allow whitelisted players to connect to the server
    "MapSizeY": null,
  "OnlyWhitelisted": false,
    // Anything you want to see in Author field, usually it's nickname.
 
     "CreatedByPlayerName": "John Smith",
  <!--T:66-->
     // List of mods (IDs) that should be ignored.
# If true, every time a player joins the server verifies if that player is a valid, logged in, registered buyer of the game.  
     "DisabledMods": [ "expandedfoods" ],
  "VerifyPlayerAuth": true,
     //
 
    "RepairMode": false
  <!--T:67-->
   }
# 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
  },
 
  <!--T:68-->
# If players can hit each other
  "AllowPvP": true,
 
  <!--T:69-->
#
  "AllowFireSpread": true,
 
  <!--T:70-->
# Completely disables any falling block behavior
  "AllowFallingBlocks": true,
 
  <!--T:71-->
# Run a command when server starts. For example, players without access to the server console can op themselves. [probably can run multiple commands by separating them with linebreaks(\n), need to test]
  "StartupCommands": "/op Tyron"
 
  #
  "RepairMode": false,
    
  #
  "ChatRateLimitMs": 1000
}
}
</syntaxhighlight>
</syntaxhighlight>
Confirmedusers
1,783

edits