Skip to content

Conversation

@Vauff
Copy link
Contributor

@Vauff Vauff commented Sep 17, 2025

  • Removed the KeyValues map config auto-converter, by this point all servers should have had their KV configs auto-converted to JSON
  • Removed leftover patch
  • Refactored timer system
    • Switched to smart pointers
    • Moved timer storage to std container
    • Introduced timer flags, to replace map/round change preservation variables
    • Privated internal stuff, all public methods are now fully usable
    • New Create() function for creating timers, returns a weak_ptr that can be stored
    • Use lock() to get a usable shared pointer from the weak pointer, when used from a stored variable then you first must check timer exists with expired(), also never store the shared pointer
    • Execute() can now be manually called at any point to force an early timer execution
    • New Cancel() function for forcing an early timer cancellation
    • GetInterval(), GetLastExecute(), don't know if these will have a use case, but they're needed for timer system & were safe to expose
  • Removed custom ZR regen timers, since new timer system can now handle this use case
  • Replaced unnecessary CUtlString usage in weapon info lookup with std functions
  • Migrated map system CUtlQueue usage to std::deque
  • Switched to using smart pointers for storing commands
  • Cleaned up all extern usage into their respective headers only
  • Added automatic reloading of map config at map change if edits were made
  • Added proper handling for some weird Steam "rate limiting" in map system downloads
  • Refactored most map access to be object oriented
    • We were previously passing/storing map list indexes everywhere, but now using CMap smart pointers
    • This was an overdue change as we have already been dealing with maps not on the map list in certain contexts, and handling it was getting a bit messy
    • Votes themselves still always need to work with indexes, however further migration work should still be possible for nomination storage later
  • Fixed map names that appeared in other map names being unselectable, e.g. ze_pools_p couldn't be nominated due to ze_pools_part2
  • Migrated saved cooldowns storage to JSON
    • After updating, cooldowns.txt will be auto-converted to cooldowns.jsonc
  • Workshop ID's passed to !map & !setnextmap are now validated through Steam API to ensure they're valid, to avoid map download crashes
  • !map, !setnextmap, & !nextmap now show the workshop addon title when map is set via workshop ID
  • Fixed jump bug when subtick movement was disabled and other subtick input(s) were pressed at the same time
  • Started teleporting flashlight for every toggle, this means any angle breakage is now isolated to each toggle rather than entire rounds
  • Added c_rcon server output redirection to client console
  • Fixed timing of map vote end detection
  • Reset default ZR class scales to 1.0x, since custom values now act pretty weird post-AG2 update, not really good defaults anymore
  • Updated gamedata for 2025-09-16 & 2025-09-17 CS2 updates
  • Updated SDK for 2025-09-16 CS2 update

Known issues:

  • CServerSideClient virtual functions shifted and broke, at least SetClientName
  • Windows movement unlocker patch is broken and needs reworking, compiler fucked with the jump instruction

Vauff and others added 21 commits September 4, 2025 17:24
Wasn't sure how to do this earlier, most usages weren't even leaking anyways
Handles some weird Steam rate limiting that only happens when we re-download the same maps within a short time period
Votes always need to work with indexes, however further migration should still be possible for nomination storage later
Provides a readable name (workshop submission title) to be displayed instead of ID, we can also now allow non-rcon admins access to set map by workshop ID, since we're now verifying validity first
Playermodel scaling acts pretty weird post-AG2 update, not really a good default anymore
@Vauff Vauff marked this pull request as draft September 17, 2025 06:38
@Vauff Vauff marked this pull request as ready for review September 18, 2025 02:41
@Vauff Vauff enabled auto-merge (rebase) September 18, 2025 02:42
@Vauff Vauff merged commit dff23ee into main Sep 18, 2025
6 checks passed
@Vauff Vauff deleted the dev branch September 18, 2025 02:49
@Vauff Vauff changed the title Misc dev + 2025-09-16 CS2 update fixes Misc dev + CS2 update fixes Sep 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants