
New lighting

Changelog - Version 0.32
Performance & Networking
- Hugely reduced input lag for actions like placing voxels or shooting RPGs.
- Removed automatic ping kick. Lag compensation is now limited based on the `sv.pingthreshold` cvar (recommended max: 225ms). Players exceeding this threshold will need to lead their shots more significantly.
- Voxels now regenerate health gradually over time (`sv.voxelhealth.heal.voxels.count`) after a configurable delay (`sv.voxelhealth.wait.time`) to prevent server lag spikes during regeneration.
- Clamped client simulation rate (`sv.player.max.simulation.rate`) to reduce server CPU load caused by high-performance clients.
- Fixed block destruction particles causing major performance freezes (Optimization).
Gameplay & Features
- Added the new Thunderstrike Shotgun for the Miner class.
- Added 'Smooth Mouse' option to the settings menu.
- Melee attacks (e.g., Zombie arms, Spades) now use a sphere cast instead of a raycast, making hits easier to land.
- Added per-map ambient sound system.
- Added ambient sound to the official Observatory map.
- Added ambient sound to the official Observatory map.
- Added map save functionality via the 'savemap' command (saves current world state to .vxl).
- Added Light Block system:
- Light blocks emit light onto nearby voxels.
- Emitted light blends with other nearby light sources.
- Includes performance optimizations.
- Added an option in settings to disable dynamic light block lighting.
- Light blocks emit light onto nearby voxels.
- Added a sound effect for grenades colliding with the world or other entities.
- Landmine explosions now behave like other explosions:
- Spherical shape instead of box.
- Damage falloff based on range (no longer always an instant kill).
- Spherical shape instead of box.
- Rocket turret now uses a simpler box collider for consistency and potential performance improvement.
- Disabled players taking damage from falling gravestones.
- Blood effects are no longer shown when hitting tents.
- Reduced recoil smoothing for increased weapon snappiness.
Visual & UI
- Improved bullet visual effects:
- Increased visual velocity.
- Now uses a box instead of a line renderer for better visuals.
- Added a slight random offset to the visual starting position.
- Increased visual velocity.
- Older killfeed items now fade out gradually.
- Reworked scoreboard synchronization. This should fix issues where player entries sometimes appeared invisible.
- Fixed class model in the class selection view not being team-colored.
- Fixed previously equipped capes sometimes not showing in the UI immediately after joining a server and selecting a class.
- Fixed the killfeed icon not displaying correctly for flamethrower kills.
- Fixed cycling through previously sent chat messages not working.
Fixes
- Fixed grenade particle trails sometimes rendering in the wrong position when initially spawned.
- Various server security fixes.
Server & Modding
- Significant backend reworks to better support modding.
- Added server API for the ambient sound system, allowing modders to add custom ambient sounds per map.
- Added server API (`WorldProxy:Save`) corresponding to the 'savemap' command.
- Added server API (`ClientProxy:GetDisplayUsername`, `DisplayUsername:SetDirty`) for modifying player display names, including colored prefixes/suffixes (related to scoreboard rework).
- Added new server hooks: `OnPlayerDied`, `OnWorldLoaded`, `OnDamaged`, `OnKilled`, `OnExplosion`, `OnExploded`.
- Added `EntityProxy` API.
- Added `PlayerProxy` methods: `GetHeadPosition`, `TryGetViewVoxels`.
- Added `GrenadeProjectileSpawner` object API.
Changed files in this update