5,387 Commits over 1,522 Days - 0.15cph!
Attempt #2
- store two specific weather states inside the single climate prefab (deep sea calm, deep sea wipe)
- lerp between the two deep sea weather states based on the lerp float inside the DeepSeaManager entity (and network it)
- add separate ClimateParameters for the deep sea (duplicate of Temperate for now)
- read the DeepSeaWeatherState for temperature and rain (don't need to override snow since it can't snow outside the arctic)
manually override raid, snow and temperature manually when players are inside the deep sea
Add separate set of sliders for chance of each weather preset inside the deep sea
- only clear weather allowed: no fog, rain or storms (since that indicates the deep sea is wiping soon)
- only modify the visual weather effects on the client, don't mess with the ocean simulation yet
merge from naval_update -> deep_sea
merge from fix_admin_logging -> main
Print off `[Config File]` in the admin logs instead of `[Unknown]` when commands are read from a config file
Enable admin logging a bit later in the function so it doesn't capture `readcfg` running a bunch of commands
Update manifest (prefab files)
merge fix_copypaste_clear_turrets -> main
Fix turrets getting cleared when a base is copied using copypaste :(
- fix pooling error that didn't copy users when saving turrets
- remove old code that handled this by setting the list of users to null before returning data to the pool
merge from fix_admin_logging -> main
Fix log being restarted each time the server restarts instead of appending
Fix logging all commands by normal users
- need to check both ServerUser and !ServerAdmin
Prevent startup commands from being captured before we read command line to determine if we want to disable the logging
- fix unrestricted commands being logged as clientside
- fix RCON using wrong empty field to identify rcon connections
merge from log_disable_logs -> main
Log to console indicating when logging is disabled & enabled
Codegen + fix compile error
merge from admin_logging -> main
Log commands ran by admins to a log file
- rotate daily log files
- log any command ran by admins (including useless commands like "swapseats") so it works with modded servers as well where permissions can be all over the place
- mark how each command was ran (server console, rcon, player) as well as some information about the user who ran it
- enabled by default, can be disabled with startup parameter `-disableconsolelog`
Switch the following behavior from gamemode fields -> convars
- mapenabled
- hideplayeronmap
- hideplayermapdirection
- fogofwar
- fogofwarrevealsize
- compassenabled
merge from main -> naval_update
merge from naval_update -> deep_sea
merge from deep_sea/networking -> deep_sea
Switch the deep sea island test prefab to only network to deep sea
Keep the `globalBroadcast` bool the same instead of switching to a "SpecialNetworkGroup" bool, instead make the enum "GlobalNetworkBehavior"
- switch between 3 network groups (global, main island, deep sea) based on the enum
- add the correct network group to subscriptions based on the bounds of the network group you are part of
- re-add tooltip to `globalBroadcast` we removed
Add multiple global network groups
- entire server
- main island only
- deep sea only
Set global network group ids as constants
Create enum to represent different types of global network groups
Add enum to BaseEnitty (but keep globalBroadcast bool)
update deep_sea/networking
merge from deep_sea/portals -> deep_sea
Add the `Vehicle Large` layer to the portal trigger so it works with tugboats for testing
merge from naval_update -> deep_sea
merge from main -> naval_update
- stomped mannequin material changes on naval_update branch
Fix portal teleport logic and add debugging of portal teleport attempts to ensure it's trying the right locations
Try to find a free spawn location when entering the portal
- keep trying spots alongside the portal until a free one is found
Fix map not working when deep sea islands are spawned because the tutorial island map marker covers the entire map with a layer of water
merge from deep_sea/portals -> deep_sea
Rename IsInDeepSea(Vector3) -> IsInsideDeepSea(Vector3) to match the entity overload naming
Move portal teleport code into DeepSeaManager.Portals.cs
Fix OnEntityEnter being called on clientside entities from the serverside TriggerDeepSeaPortal
Get portals enter & exit at the "same position" instead of always spawning player in the center
- switch to creating portals with different rotations instead of different sizes so we can easily adjust the enter & exit position for portals via localPosition
- ensure entiites enter & exit portals at the same relative position (enter north side, exit north side)
- adjust the position of the portal when entering and exiting
Dump players going back to main island offset from the main island portal instead of on spawn beach
- keep failback to put onto spawn beach incase something happens to the portals
merge from deep_sea -> naval_update
merge from deep_sea/portals -> deep_sea
Place entrance & exit ports based on the loot direction of the map
- entrance to deep sea should be on the T2 side of the map
- exit out of deep sea is on the "opposide side" so you enter & exit into one continious ocean
- example: leave left side of map, enter on right side of ocean