158,752 Commits over 4,566 Days - 1.45cph!
On livestock, stop using syncvars for things that should not be broadcasted to all clients, instead use protobuf
Created a coconut lootspawn and additional prefab. Added to palm_tree_tropical_small_b for testing
Attempt at global building privilege cache, using a simple grid holding all the building blocks + a collider test on the winning block, because triangles and roofs have bounds larger than their colliders
Thats enough to remove the Vis Entities call and keep the same precision. Works on the client and the server
In a big base, 575 blocks around me:
4.60ms -> ~0.50ms
█▊█▊▆▍▋▄▆▄ ▌▋▋█ ▍▉▌▉█▍▍▌ ▋▋▅▇█▆▅▇ ▄▌▆▇ ▅▅█▋ ▋▍▅▉▆ ▉▋▍ ▅▅▆▉▄▄▇ ▄▌▊▌▊▉ ▌▉█ ▍▌▍ ▍██▆▌▅ ▄▌█▋▇▉▅▄ ▆▆▆▄▊▇▄█▆█▉▆▋▆▌█▊▊ █▉▋█▊ ▌▇█▍▅ ▍▆▉▄▊ ▉ ▆▉▆█ ▆▉▌▉▆▍▋▉▇▌▍▍▄▋▅▉▇▋▉█▊▅▇▌▉▍▍█▊▆▍▆▆▆▇▍▋▆▆▊▅▌▅▅▆▍▅▋▍▄▆▉▄▋▌▅▅▄▄▆▄▇▍▅▌▋▋▌█▅▌▅▉▌▇▋▄▅▊▉▌▅█▉▍█▆
Fix livestock not using trough when any grass is present, after current overgrazing rework
Now eat less food the more grass there is in the pen, but still eats food, and grass only is less filling
Enabled dropAtExactPosition on the beehive.natural
Apples have a 15% chance to spawn on oak_d and oak_f (we want apple trees to be rare)
Added a way for apples to spawn in the exact location their loot container is on the trees.
Before:
https://files.facepunch.com/lukester/2026/October/10_18-53-GlassGallowaycow.mp4
Now:
https://files.facepunch.com/lukester/2026/October/10_18-48-TimelyBaboon.mp4
Add global const for "entity_links" version so we can invalidate all entity links when needed
Cache entity links across server restarts
- if a prefab's sockets change since it was saved it will relink sockets
- works for copy paste (so we can see how things were linked on a remote server)
fix laserbeam jobs using stale materials
Added alien costume to the skin viewer
merge from Halloween2026DLC
▉▍▍█▍▍ ▊▉▊▍▄▋ ▋▍▌▍▉▌ ▄▍ ▉▄▄ ▅▅▌▉ ▌▉▉▋█▊
▄▊▆▆█▅▅▍▉▉ ▇▍▄▇▅▇▄ ▆▄▉▇▌▍▋▄▅ ▋▆▆▋▇▆▆▅ ▆▅▍▌█▇▋ ▊▌▊▅▌▄▄ ▇ █▆ ▋▇▌▍▅▋█▅▇█▍▋▌▆▅▊▌▄▍▇▆▌▊▌▋▄▆▊▆▅▊▍▌▉▉▌█▆▄██▊▄▍▌▍▄█▄▅▅▍▇▄▍▍▊▄▆▅█▌▍▅▋▄▌▇▊▇▅▊▍█▌▉▋▋▍▌▄▋▊▄▄▋▉▌▉▊
▇▉▇▋▇▄ ▄█▋▍ ▆█▆▋▆▍▅▌▌▌█▅▋▇▇▊▊▌
▊▊▊█▍▆▌███ ▅▍▌▄█▋ ▌▌▍▋▍▋▍█▄ ▋█▌▍ ▋▅█ ▌▅▍█▍▍▇ ▄▇▆▇ ▄▉▋ ▄▇▇▄█▆▉█▋▌▊▅█▅▌▍█▋▆▋▅▊▄▄▋▍█▌█▊█▍▍▇▋▄▉▍▆▍▌▇█▅▋▌█▆▆▇▋▉▋▌▉▇▇▆▆▉▌▊▄▄█▊▆▄█▋█▉▉▇▍▌▆▍▆▌█▆▊▅▍
Merge from npc_phone_conversations
Add test conversation hidden behind admin convar to demo phone conversations
S2P fishing villages
Probably fixed Linux not building
Stop sending some conversation state info with every speech node when we don't need to
Add missing conversation to conversation manifest
scrap king - texture updates
scrap king - collider update
█ ▅▉▌▄ ▉▄▌█▉ ▇▍▊▄▇▅▅ ▉▍█▆▌▊
Don't send string keys to format to client unless the current speech node contains that key
▆ ▆▉▋▉▋ ▊ ▋▆▌▄ ▅▋▌▇▌▍▇▊▉ ▌█ ▍█▍█▅ ▇▄▌▉ ▉█▄▍▌▆▇▅ ▍▉▅▌▊▋▊ ▌▄▅ ▄▌▌▆▉▅ ▌▆▅▌▄▊▆▋ ▇▇█▋▋▌▉▊ ▊▅▋ ▍▋▉▇▊▆▉▄ ▅▍▄▊▇▌▍▅▉ ▅█ ▄▆▇█▉ ▇▇▍▅▆▊ ▇▆▊█ ▉█▆▍█
▍ ▆▄▇▇▄ ▊▊▄█▆▌ ▍▊▋▊▉▇▄▅▅ ▅▅▆▆▅▆ █▄
Make "failed to dlopen" skips case insensitive
Update combine_booth_tall01b.vmt
* Include $normalmapalphaenvmapmask but still commented out, just so uncommenting it makes it work better should anyone choose to do so at some point
Fixed IN_MOVERIGHT/LEFT not activating from controller
Fixed false positive for "SeekPut overflow" message
Fixed Player:KeyDown in SP clientside not detecting controller move
Fixed SetNWVarProxy callback's old value being the new value
Make Entity:SetPos run trigger touch events
Changed default render scale upscale mode to Catmull-Rom because it looks best
Changed render scale upscale mode convar name from upscaleMode to renderScaleSampling
▇▉▇▉▍█ █▉▌▅▋▄▄▅▍ ██▉ ▄█▇▄ ▊ ▇▍▉▊▉ ▉▉▌▋▇ ▋▍▄▍▇▉ ▍▆▉▇▋▅▇ ▍▄▆▉▉ ▇▇▊ ▊▆▌▍ ▊▇▋▌▍▇▇▍▋ ▆▆▌▉▄ ▍▅▆▌ ▊▍▅▊▊ ▊▆▍▄█ █▊▄▊▆▍▋▅▅▇ ▉▄▇ ▆▊▊▋█▄██ ▅█▌▉▍▋ ▄▋▅▉▄ ▆▍▉▄▆▊ ▊▊▇▋▍▌▇ ▊▉▍ ▍▍▌ ▌▍▊▄▆ ▆▆▄▆ ▅▋▇ ▍▋▉▋█▊▉█▄ ▌█▄▊▆▊▉▍▇▌▄▌▇
Remove client conversations having a reference to the NPC entity they are talking to. Allows phone conversations across the map without having to temporarily spawn in the NPC entity clientside
Merge from grid_optimizations
Merge from render_pipeline_testing
Merge from native_render_passes
Fixed issue with merge coming from the PostOpaqueDepthRendererFeature
Merge from livestock_animals, livestock reword (removing old age, simpler owner etc)
Merge from render_pipeline_testing
Building privilege debug draw convar
▄▌▆▉▄▉ ▊▄ ▌▄█▇▇▄▌ ▌▊▄▅▊▍▍▄▌ ▋▆▆▅█▍▊ ▄▄▍▇ ▊▉▍▍▆▍▇█▍▌ ▇▊█▄▆▊ █▇▍ ▄▅▋█▌▋
- Add better debug drawing commands to test cows pens and diagnostic problems with them not eating / reproducing etc, that work on client
- Limit herd size to 5, and increase herd detection distance to 40m
Grid optimizations
* Replace Stopwatch.Elapsed.TotalMilliseconds usages with a wrapper around Stopwatch.GetTimestamp()
* LODGrid and WorldGrid more accurately track which cells to refresh based on camera movement
* RendererGrid now tracks dirty cells instead of polling all for changes
Merge from occlusion_culling