158,765 Commits over 4,566 Days - 1.45cph!

16 Minutes Ago
Building privilege tests
2 Hours Ago
Legacy shelters, vehicles and boat building stations no longer use Vis queries Same base same spot: GetVehicleBuildingPrivilege 0.34ms -> 0.01ms GetEntityBuildingPrivilege 0.84ms -> ~0
2 Hours Ago
nailgun skinnable initial setup
3 Hours Ago
Optimize server startup time by 72s (230s -> 158s) by fetching the spawnables only once instead of doing it for each of the 100 spawn populations
4 Hours Ago
merge from main
4 Hours Ago
Optimize server startup time by 24s (254s -> 230s) by using HashSet to check for duplicate player models
4 Hours Ago
Added coconuts to small_a, small_b, small_c and med_a
5 Hours Ago
Sort the cells oldest first
5 Hours Ago
Store each blocks bound centre and net id in the grid so: - blocks out of the query radius are skipped without a dictionary lookup - the age check doesnt read every block from memory Only run HasColliderWithinSphere when the block bounds aren't entirely inside the search sphere Around 0.09ms for GetBuildingPrivilege in that same base, same spot
Today
LightGroupAtTime optimization pass
Today
Merge from livestock_animals, fix regression and red test
Today
Fix regression caught by Led_TwoInSingleFile_StandSideBySide test
Today
- Skip the bounds check for blocks that aren't older than the current best block - Visit the cell you're standing in first Skips a lot of work when standing in the core or middle of a base
Today
On livestock, stop using syncvars for things that should not be broadcasted to all clients, instead use protobuf
Today
Created a coconut lootspawn and additional prefab. Added to palm_tree_tropical_small_b for testing
Today
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
Rin
Today
█▊█▊▆▍▋▄▆▄ ▌▋▋█ ▍▉▌▉█▍▍▌ ▋▋▅▇█▆▅▇ ▄▌▆▇ ▅▅█▋ ▋▍▅▉▆ ▉▋▍ ▅▅▆▉▄▄▇ ▄▌▊▌▊▉ ▌▉█ ▍▌▍ ▍██▆▌▅ ▄▌█▋▇▉▅▄ ▆▆▆▄▊▇▄█▆█▉▆▋▆▌█▊▊ █▉▋█▊ ▌▇█▍▅ ▍▆▉▄▊ ▉ ▆▉▆█ ▆▉▌▉▆▍▋▉▇▌▍▍▄▋▅▉▇▋▉█▊▅▇▌▉▍▍█▊▆▍▆▆▆▇▍▋▆▆▊▅▌▅▅▆▍▅▋▍▄▆▉▄▋▌▅▅▄▄▆▄▇▍▅▌▋▋▌█▅▌▅▉▌▇▋▄▅▊▉▌▅█▉▍█▆
Today
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
Today
Fix test attribute
Yesterday
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)
Yesterday
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
Yesterday
Tests
Yesterday
Codegen
Yesterday
Add global const for "entity_links" version so we can invalidate all entity links when needed
Yesterday
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)
Yesterday
fix laserbeam jobs using stale materials
Yesterday
Added alien costume to the skin viewer
Yesterday
merge from main
Yesterday
merge from Halloween2026DLC
Yesterday
▉▍▍█▍▍ ▊▉▊▍▄▋ ▋▍▌▍▉▌ ▄▍ ▉▄▄ ▅▅▌▉ ▌▉▉▋█▊
Rin
Yesterday
▄▊▆▆█▅▅▍▉▉ ▇▍▄▇▅▇▄ ▆▄▉▇▌▍▋▄▅ ▋▆▆▋▇▆▆▅ ▆▅▍▌█▇▋ ▊▌▊▅▌▄▄ ▇ █▆ ▋▇▌▍▅▋█▅▇█▍▋▌▆▅▊▌▄▍▇▆▌▊▌▋▄▆▊▆▅▊▍▌▉▉▌█▆▄██▊▄▍▌▍▄█▄▅▅▍▇▄▍▍▊▄▆▅█▌▍▅▋▄▌▇▊▇▅▊▍█▌▉▋▋▍▌▄▋▊▄▄▋▉▌▉▊
Yesterday
▇▉▇▋▇▄ ▄█▋▍ ▆█▆▋▆▍▅▌▌▌█▅▋▇▇▊▊▌
Rin
Yesterday
▊▊▊█▍▆▌███ ▅▍▌▄█▋ ▌▌▍▋▍▋▍█▄ ▋█▌▍ ▋▅█ ▌▅▍█▍▍▇ ▄▇▆▇ ▄▉▋ ▄▇▇▄█▆▉█▋▌▊▅█▅▌▍█▋▆▋▅▊▄▄▋▍█▌█▊█▍▍▇▋▄▉▍▆▍▌▇█▅▋▌█▆▆▇▋▉▋▌▉▇▇▆▆▉▌▊▄▄█▊▆▄█▋█▉▉▇▍▌▆▍▆▌█▆▊▅▍
Yesterday
Merge from npc_phone_conversations
Yesterday
Add test conversation hidden behind admin convar to demo phone conversations S2P fishing villages
Yesterday
Probably fixed Linux not building
Yesterday
Stop sending some conversation state info with every speech node when we don't need to Add missing conversation to conversation manifest
Yesterday
scrap king - texture updates
Yesterday
scrap king - collider update
Yesterday
█ ▅▉▌▄ ▉▄▌█▉ ▇▍▊▄▇▅▅ ▉▍█▆▌▊
Yesterday
Don't send string keys to format to client unless the current speech node contains that key
Yesterday
Uzi FX & related files.
Yesterday
▆ ▆▉▋▉▋ ▊ ▋▆▌▄ ▅▋▌▇▌▍▇▊▉ ▌█ ▍█▍█▅ ▇▄▌▉ ▉█▄▍▌▆▇▅ ▍▉▅▌▊▋▊ ▌▄▅ ▄▌▌▆▉▅ ▌▆▅▌▄▊▆▋ ▇▇█▋▋▌▉▊ ▊▅▋ ▍▋▉▇▊▆▉▄ ▅▍▄▊▇▌▍▅▉ ▅█ ▄▆▇█▉ ▇▇▍▅▆▊ ▇▆▊█ ▉█▆▍█
2 Days Ago
Merge fixes
2 Days Ago
▍ ▆▄▇▇▄ ▊▊▄█▆▌ ▍▊▋▊▉▇▄▅▅ ▅▅▆▆▅▆ █▄
2 Days Ago
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
2 Days Ago
Changed default render scale upscale mode to Catmull-Rom because it looks best Changed render scale upscale mode convar name from upscaleMode to renderScaleSampling
2 Days Ago
Merge from main
2 Days Ago
▇▉▇▉▍█ █▉▌▅▋▄▄▅▍ ██▉ ▄█▇▄ ▊ ▇▍▉▊▉ ▉▉▌▋▇ ▋▍▄▍▇▉ ▍▆▉▇▋▅▇ ▍▄▆▉▉ ▇▇▊ ▊▆▌▍ ▊▇▋▌▍▇▇▍▋ ▆▆▌▉▄ ▍▅▆▌ ▊▍▅▊▊ ▊▆▍▄█ █▊▄▊▆▍▋▅▅▇ ▉▄▇ ▆▊▊▋█▄██ ▅█▌▉▍▋ ▄▋▅▉▄ ▆▍▉▄▆▊ ▊▊▇▋▍▌▇ ▊▉▍ ▍▍▌ ▌▍▊▄▆ ▆▆▄▆ ▅▋▇ ▍▋▉▋█▊▉█▄ ▌█▄▊▆▊▉▍▇▌▄▌▇
2 Days Ago
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