Advanced Vein Server Config Parameters
This guide covers how to configure basic settings, settings directly in-game using the admin menu, and how to totally customize your server by modifying the Engine.ini configuration file.
Changing Settings from In-Game
It's also possible to configure server settings directly from in-game. Become an Admin before proceeding.
-
Connect to your server.
-
On your keyboard, press
\to open the admin menu. -
Go to
Configin the admin menu and change your desired settings.
Custom Engine.ini Configuration
VEIN has well over 100 different gameplay settings, here's how you can modify them all.
-
Access the Server Control Panel and
Stopyour VEIN server. -
Go to
Configuration Files. -
Navigate to
Vein/Saved/Config/LinuxServer/Engine.iniand edit the settings you'd like to change. -
Click save, and then start your server.
Available Engine.ini Settings
The following settings can be modified in the Engine.ini file, under the [ConsoleVariables] section:
| Setting Name | Description |
|---|---|
| vein.Activity.AFKKickTimeSeconds=0 | If this is greater than 0, kick players who haven't moved in this duration |
| vein.ActorPartition.BatchSize=10 | Batch size to process actors over |
| vein.ActorPartition.Enabled=1 | Enable actor partition |
| vein.ActorPartition.PlayerDistance=20000 | Distance to despawn actors |
| vein.Admin.Logs.MaxLogs=20000 | Max log count |
| vein.AI.AcceptanceDistance=30 | Acceptable distance to be at a location |
| vein.AI.AsyncSensing=1 | Compute sight from AI asynchronously |
| vein.AI.EnablePathUpdates=1 | If false, don't pathfind at all |
| vein.AI.PathUpdateRate=0.1 | Seconds between updating paths |
| vein.AI.PathUpdateRate.CloseDistance=7000 | Distance where you are considered 'close' enough to do high-resolution pathfinding updates |
| vein.AI.PathUpdateRate.Far=2 | Seconds between updating paths for distant zombies |
| vein.AI.SightInterval=0.1 | Sight check interval |
| vein.AISpawner.AnimalLayerPercentage=0.1 | What fraction of animals are asleep to start |
| vein.AISpawner.Enabled=1 | True (1) to enable AI to spawn, false (0) to disable |
| vein.AISpawner.EnableVirtualization=0 | True (1) to enable AI virtualization, false (0) to disable |
| vein.AISpawner.FieldOfViewDot=0 | The dot product indicating the player's field of view (-1 to 1) |
| vein.AISpawner.HordeMode=0 | True (1) to enable horde mode, false (0) to disable |
| vein.AISpawner.Hordes.ChancePerMinute=0.05 | There will be this many hordes spawned per minute |
| vein.AISpawner.Hordes.Duration=120 | Duration of a horde event |
| vein.AISpawner.Hordes.Enabled=1 | True (1) to enable horde spawning, false (0) to disable |
| vein.AISpawner.Hordes.MaxDistance=25000 | If a player gets this far away from where the horde is triggered (e.g. escaping in a car), the horde event ends |
| vein.AISpawner.Hordes.NoiseEffect=0.1 | Bigger means more likely hordes from noise |
| vein.AISpawner.Hordes.ScentEffect=0.5 | Bigger means more likely hordes from bad smells. Negative means hordes from good smells |
| vein.AISpawner.ProxifyZombies=0 | Use zombie proxy swapping |
| vein.AISpawner.ProxifyZombies.Distance=5000 | Distance to proxify zombies |
| vein.AISpawner.SpawnCapMultiplier=1 | Spawn cap multiplier for AI |
| vein.AISpawner.SpawnCapMultiplierZombie=1.5 | Spawn cap multiplier for specifically zombies |
| vein.AISpawner.ZombieCrawlerPercentage=0.1 | What fraction of zombies are crawlers |
| vein.AISpawner.ZombieLayerPercentage=0.1 | What fraction of zombies are asleep to start |
| vein.AISpawner.ZombieWalkerPercentage=0.8 | What fraction of zombies are walkers |
| vein.AISpawnpoint.Chance=0.25 | Default chance (0-1) to use an AI spawnpoint instead of a random location |
| vein.AISpawnpoint.Delay=500 | Delay between AI spawns |
| vein.AISpawnpoint.MaxZ=1500 | Max. distance to spawn zombies below/above you (in case of caves, etc.) |
| vein.AllowPickpocketing=1 | True (1) to enable pickpocketing, false (0) to disable |
| vein.AlwaysBecomeZombie=0 | If this is on, characters who die will become a zombie, regardless of infection |
| vein.AlwaysFreeLook=0 | Like permanently holding down the free-look key |
| vein.Animals.LayingDownDistance=1000 | How far away stimuli has to be for animals to 'wake up' |
| vein.Animals.NavWalk=0 | If animals should use nav walking instead of walking |
| vein.Animation.UpdateRateOptimizations=0 | Enable update rate optimizations (don't change this at runtime) |
| vein.Appearance.MergeSkeletalMeshes=0 | Merge skeletal meshes when combining clothing |
| vein.Assets.CacheDataAssets=1 | True (1) to cache hard-loaded data assets |
| vein.Autosave.Enabled=1 | True (1) to enable autosaves, false (0) to disable |
| vein.Autosave.Interval=300 | Seconds between autosaves |
| vein.Autosave.MaxQuantity=10 | Maximum autosaves to keep |
| vein.BaseDamage=1 | Can bases be damaged, ever? |
| vein.BasicVehicleReplication.PositionInterpSpeed=10 | Vehicle position interpolation speed |
| vein.BasicVehicleReplication.RotationInterpSpeed=5 | Vehicle rotation interpolation speed |
| vein.BasicVehicleReplication.UpdateInterval=0.1 | Interval between basic vehicle replication when the vehicle is moving |
| vein.BasicVehicleReplication.UpdateIntervalSlow=1 | Interval between basic vehicle replication when the vehicle is not moving |
| vein.BatchTicks.Active=1 | Is the batch ticking system active/running ticks? |
| vein.BatchTicks.Enabled=1 | Is the batch ticking system enabled? |
| vein.BatchTicks.EveryFrame=0 | Force the batch tick system to run every frame and ignore countdowns/delays |
| vein.BatchTicks.PositionGranularity=500 | Size of hierarchical position query box |
| vein.BuildObjectDecay=1 | Are UCs necessary? |
| vein.BuildObjectPvP=1 | Can players damage other players' bases? |
| vein.Calendar.ElectricalShutoffTimeDays=7.4 | Days until the power is shut off |
| vein.Calendar.WaterShutoffTimeDays=5.5 | Days until the water is shut off |
| vein.Camera.EnableSprintFOV=1 | Enable or disable zooming when sprinting |
| vein.Camera.FirstPersonADS=0 | When ADSing, go into first-person even if you're in third-person |
| vein.Camera.FirstPersonBody=1 | Show legs in first-person |
| vein.Camera.FOV=90 | How much FOV to apply |
| vein.Camera.HeadBob=1 | How much head bob to apply |
| vein.Camera.MeleeViewPunchMultiplier=1 | How much to attenuate melee view punch |
| vein.Camera.SmoothingLocation=0 | How much location camera smoothing to apply |
| vein.Camera.SmoothingRotation=0 | How much rotation camera smoothing to apply |
| vein.Camera.UseMouseWheel=1 | Use the mouse wheel to zoom in and out |
| vein.CameraScreen.CameraCaptureInterval=0.4 | Interval between camera frames |
| vein.CameraScreen.CameraCaptureIntervalFar=5 | Interval between camera frames when the player is far away |
| vein.Censor.ContentFriendly=0 | If this is on, names of drugs are censored/replaced with false names |
| vein.Characters.Max=100 | Maximum number of characters one player may have |
| vein.Cheating.MaxItemTransferDistance=2000 | Disconnect people if they try taking an item from this far away |
| vein.Cheating.MaxVehicleMovement=50000 | If a vehicle move request is this far away from its actual location, log it |
| vein.ClothingHideable=0 | Can players hide their clothes for roleplaying purposes? |
| vein.Conditions.AlwaysShow=0 | Show all conditions always, regardless of threshold |
| vein.Conditions.NetworkInterval=0.3 | The delay between networking conditions |
| vein.Conditions.NetworkIntervalSlow=3 | The delay between networking conditions where conditions are expected to predict |
| vein.Consciousness.RecoveryPerSecond=1.666 | How much consciousness to recover |
| vein.Construction.ContinueBuilding=1 | Always keep building, regardless of holding down shift or not |
| vein.ContainersRespawn.Enabled=1 | If this is on, empty containers respawn items |
| vein.ContainersRespawn.Interval=10800 | How frequently containers should respawn their contents |
| vein.DeadDoorsIntact=0 | True to spawn doors that damage things, false to just crumble |
| vein.Firearm.BloodSplatter.MaxDecals=4 | How many blood decals to spawn from a firearm |
| vein.Firearm.BloodSplatter.MaxDistance=300 | Max distance for blood decals to spawn from a firearm |
| vein.Firearms.AISoundMultiplier=1 | Multiplier for firearm use to alert zombies. Smaller means sound travels less far |
| vein.Firearms.MaxRange=200000 | Max range for bullets |
| vein.Furniture.PhysicalFall=1 | Furniture physically falls to the ground |
| vein.Furniture.RespawnRate=3000 | Seconds to respawn furniture |
| vein.Furniture.Respawns=1 | If furniture respawns at all |
| vein.Gamma=2.2 | Gamma value |
| vein.GoreHoles.Enabled=0 | True (1) to enable gore holes, false (0) to disable |
| vein.HeadshotDamageMultiplier=1 | How much more or less damage headshots do |
| vein.HideChat=0 | Hide all chat |
| vein.HideCodeLocks=0 | Hide code locks |
| vein.HideNameplates=0 | Hide player names |
| vein.HideWorldPartitionLoadingScreen=0 | Don't make a black screen when world partition is loading after a teleport |
| vein.Holidays.AlwaysSpawn=0 | Always spawn holiday actors, even if it's not a holiday |
| vein.HUD.HideAllNameplates=0 | Hide all item/player/etc nameplates |
| vein.Inventory.AlwaysUpdateContents=0 | If turned on, always update container contents, regardless of distance |
| vein.Inventory.DisableItemUpdates=0 | Disable all item updates |
| vein.Inventory.ItemUpdateInterval=1 | Duration between regular item updates |
| vein.Inventory.PropertyNetworkInterval=5 | Duration between property updates |
| vein.Inventory.QuickDismantleEnabled=0 | True (1) to enable alt-clicking on an item to dismantle it |
| vein.InvertedPitch=0 | Inverted mouse pitch |
| vein.ItemActorSpawner.MinimumWorldTime=60 | Item actor spawners won't spawn before the world is this old |
| vein.ItemActorSpawner.RespawnInterval=3600 | Item actor spawner respawn interval |
| vein.ItemActorSpawner.Respawns=1 | Do item actor spawners ever respawn? |
| vein.Landscape.LODCurvesEnabled=0 | Enable landscape LOD curves |
| vein.LightHiderVolume.Enabled=1 | Enable light hider volumes |
| vein.MainMenu.EnableModsPanel=0 | Enable the mods panel in the main menu |
| vein.MaxLoadingDuration=120 | Maximum time to spend loading the world before unfreezing the player |
| vein.MeleeSlowdownDuration=0.1 | How long to slow down melee animations on impact |
| vein.MeleeSlowdownSpeed=0.2 | How much to slow down melee animations on impact |
| vein.MinLoadingDuration=2 | Minimum time to spend loading the world before unfreezing the player |
| vein.Movement.AirControl=0.5 | Character air control amount |
| vein.Movement.MaxBrakingDecelerationFlying=10000 | Character flying braking deceleration maximum |
| vein.Movement.MaxFlySpeed=500000 | Max fly speed while in the air |
| vein.Multiplayer.AllowDifferentVersions=0 | Allow joining different-versioned servers through the server browser |
| vein.Music.Enabled=1 | True (1) to enable music, false (0) to disable |
| vein.Music.LocationWeight=2 | How much to prioritize regional music |
| vein.Music.NightWeight=2 | How much to prioritize night-focused music |
| vein.NoSaves=0 | Can players not save? |
| vein.OfflineRaidProtection=0 | If this is on and no UC owners are online, the UC/base is invulnerable |
| vein.Permadeath=0 | Can players not respawn? |
| vein.PersistentCorpses=1 | True (1) to enable persistent corpses, false (0) to disable |
| vein.PersistentCorpses.CorpseRemovalDelay=120 | How fast to remove corpses |
| vein.PersistentCorpses.RemoveTime=324000 | How fast corpses go away in seconds |
| vein.PersistentCorpses.RotTime=37800 | How fast corpses rot (get stinky) in seconds |
| vein.PersistentCorpses.SkeletalTime=75600 | How fast corpses turn into skeletons in seconds |
| vein.PhysicsProxy.BlockSize=5000 | Block size to put foliage into |
| vein.PhysicsProxy.CapsuleTimeBudget=1 | Maximum time to spend updating capsules in a single frame |
| vein.PhysicsProxy.Enabled=1 | If false, pause updating proxies |
| vein.PhysicsProxy.MaxDistance=2500 | Maximum distance to allow physics proxies from a player |
| vein.PhysicsProxy.NumProxies=300 | The number of physics proxies |
| vein.Placement.AlwaysAllow=0 | Ignore any placement restrictions when moving or building |
| vein.Placement.MaxFenceHeight=3 | Maximum height for vertical fences |
| vein.Placement.MaxPlacementAttachParents=5 | Maximum attachment chain when placing objects |
| vein.Placement.MaxUtilityCabinets=0 | Max. number of utility cabinets people can build |
| vein.PunchInterval=0.5 | How fast players and NPCs can punch |
| vein.PvP=1 | Can players damage other players? |
| vein.RagdollDragForce=1000000 | What force to apply when dragging ragdolls |
| vein.RepGraph.CellSize=10000 | Replication graph cell size |
| vein.RepGraph.DestructInfo.MaxDist=30000 | Max distance (not squared) to rep destruct infos at |
| vein.RepGraph.DisableSpatialRebuilds=1 | Disable spatial rebuilds |
| vein.RepGraph.DisplayClientLevelStreaming=0 | Display client level streaming |
| vein.RepGraph.DynamicActorFrequencyBuckets=3 | Dynamic actor frequency buckets |
| vein.RepGraph.EnableFastSharedPath=1 | Enable fast shared path |
| vein.RepGraph.FastSharedPathCullDistPct=0.8 | Fast shared path cull distance percentage |
| vein.RepGraph.LogLazyInitClasses=0 | Log lazy init classes |
| vein.RepGraph.SpatialBiasX=-700000 | Spatial bias X |
| vein.RepGraph.SpatialBiasY=-700000 | Spatial bias Y |
| vein.RepGraph.TargetKBytesSecFastSharedPath=10 | Target KB/sec fast shared path |
| vein.RichPresence.Enabled=1 | True (1) to enable rich presence, false (0) to disable |
| vein.Saves.Async=1 | Save on a different thread |
| vein.Saves.Format=0 | Save game format |
| vein.Saves.LogEmplacements=0 | Log when a save object is emplaced |
| vein.Saves.SkipInitialApply=0 | Skip the initial save application when loading the map |
| vein.Saves.SkipInitialApplyCheck=0 | Skip the initial save application check when loading actors |
| vein.ScalarField.Timeout=2 | Duration the scalar field cache is held for |
| vein.Scarcity.Difficulty=3 | Loot scarcity difficulty. 0 = None, 1 = More Loot, 2 = Standard, 3 = Less Loot, 4 = Impossible |
| vein.Scent.CacheTime=2 | How often to reset scent caches |
| vein.Sky.DFAO=1 | If distance field ambient occlusion is on |
| vein.Sky.DistanceFieldShadowDistance=30000 | DF shadow distance for sun and moon |
| vein.Sky.DynamicShadowCascades=3 | Shadow cascade count for the sun |
| vein.Sky.DynamicShadowDistance=3000 | How far should the sun render dynamic shadows |
| vein.Sky.FogIndoorsInterpolationSpeed=0.5 | Speed of blending indoor and outdoor fog |
| vein.Sky.LightShaftBloom=1 | Should the sky cast shaft bloom? |
| vein.Sky.MoonDynamicShadowCascades=1 | Shadow cascade count for the moon |
| vein.Sky.MoonDynamicShadowDistance=2000 | How far should the moon render dynamic shadows |
| vein.Sky.TickInterval=0.016666 | Seconds between each tick of the sky |
| vein.Sky.VolumetricClouds=0 | If volumetric clouds should be rendered instead of painted ones |
| vein.Sky.VolumetricFog=1 | Should the sky fog be volumetric? |
| vein.StaggerChance=0.1 | Stagger odds |
| vein.Stats.NetworkInterval=2 | The delay between networking for stats |
| vein.Stats.XPMultiplier=1 | How much more or less XP you earn |
| vein.StunLockChance=0.6 | Stunlock odds |
| vein.StunLockDuration=2 | Stunlock duration |
| vein.Time.ContinueWithNoPlayers=1 | If this is on, time continues moving when no players are on the server |
| vein.Time.NightTimeMultiplier=3 | How much faster than daytime that nighttime runs |
| vein.Time.NightTimeMultiplierEnd=6 | What (24-hour) hour the night multiplier ends |
| vein.Time.NightTimeMultiplierStart=20 | What (24-hour) hour the night multiplier starts |
| vein.Time.StartOffsetDays=0 | How many days to start a new game at |
| vein.Time.TimeMultiplier=16 | How fast the game world runs |
| vein.ToggleCrouch=0 | Toggle crouch vs. press-and-hold |
| vein.TV.AllowRemoteContent=0 | If this is on, TVs can play content from the web |
| vein.TV.CameraCaptureInterval=0.05 | Interval between camera frames |
| vein.TV.CameraCaptureIntervalFar=2 | Interval between camera frames when the player is far away |
| vein.TV.Server.AllowRemoteContent=1 | If this is on, TVs can play content from the web |
| vein.Units.Fahrenheit=1 | Set the temperature units. Off is Celsius, on is Fahrenheit |
| vein.Units.Imperial.Distance=1 | Set the distance units. Off is metric, on is imperial |
| vein.Units.Imperial.Pressure=1 | Set the pressure units. Off is metric, on is imperial |
| vein.Units.Imperial.Volume=1 | Set the volume units. Off is metric, on is imperial |
| vein.Units.Imperial.Weight=1 | Set the weight. Off is metric, on is imperial |
| vein.Usable.MaxValidationDistance=10000 | Maximum distance to objects to validate uses for |
| vein.Usable.ValidateDistance=0 | If we should validate all use distances |
| vein.UtilityCabinet.AllowRaiding=1 | If this is off, nobody can add themselves to utility cabinets |
