The blog for the bleeding-edge news in the server of Research and Development.

CSRD Update: 20 June 2017

← Blog

Time for another update summary!

I've been in a coding slump over the past couple of months; this update is more focused on maps.

Map changes and tweaks

  • Various improvements on bot support for Cliff Top (Payload):
    • RED players won't get stuck in their last spawn after second cap.
    • BLU players are now able to get out of their forward spawn.
    • BLU players are more capable of staying on the payload cart as it goes up the first elevator.
  • Redid the navigation mesh for Cabrakan (Attack / Defend). The built-in navigation mesh didn't have an analysis pass, and analyzing it crashed the game. I'm guessing it's for an older version of the map. In any case, I nuked the entire thing and rebuilt it.
  • Actually removed zombie spawns on Octothorpe (KOTH) for realsies.
    • Each train had its own relay; I only filtered out one of them previously.
  • Overgrown (Attack / Defend) has been updated for bot support on the latest release (Jungle update artpass).
  • Snowplow (Attack / Defend) is now available for bot play!
    • Turns out it suffers from the same issue that caused problems for bots on Overgrown.
    • The team_train_watcher entities have been replaced with a tf_glow.
    • Navigation mesh has been updated so bots avoid crossing over the where the train sits before capturing the point.
  • Added Lazarus (KOTH) to the standard map rotation. Bots supported.
  • Added Discover (CTF) to the standard map rotation. Bots supported.
  • Added Fool Hill (5-CP) to the standard map rotation.
    • The navigation mesh I generated seems heavily biased towards one team, so support is in the pending stage for now.
  • Added Extraction (Special Delivery) to the standard map rotation.
    • No bot support for this game mode, sadly.
  • Added navigation mesh support for Sinshine (Halloween 5-CP).

Behind-the-scenes work

  • Created an automated system that dumps a bunch of server-side stuff to make the process of discovering new game features easier. Very useful stuff for SourceMod plugin authors.
  • Updated the Uptime Limiter plugin with more uptime-related checks; this removes the requirement of running bots to force checks on map start.
  • Fixed the integrated Map Runner plugin from not having any maps to change to on mapcycles with smaller amounts of maps (e.g., during Full Moon / Halloween events).
  • Updated system to Debian Stretch! As sassc and megatools are both in the Stretch repository, there's no need to use the unstable repository anymore.
    • nginx is also mainlined, with that sweet, sweet HTTP2. Time to go fast, again!
  • Fixed map database updater script iterating over characters instead of lines when getting file listings from hlextract. Embedded navigation meshes should definitely be detected now.

Site changes

  • Finally fixed the front page "latest news" modal not being responsive to screen size.
    • Had to change to the full Bootstrap script, with some additional hacky JavaScript to get the panel to resize when made visible.


  • Sunsetting the legacy, PHP-based backend service.
(Up you go!)