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

CSRD Update: 28 September 2017

← Blog

Back to school edition. I've been swamped with actually studying for an exam.

There's a number of other things that are backlogged that I hope to release soon-ish, but they could use some more testing.

A thing I missed from the last summary

  • Raised minimum requirement to play on non-bot maps to four human players (from two). I have nothing against unsupported maps, but it's really awkward to have to play 1v1 Arena for twenty minutes if you want to stay on the server. Even more awkward when the other person leaves.
    • Maybe someday we'll get bot support on the rest of the maps.

Client features

Achievement fixes

  • Fixed Blue Scream of Death so they are awarded by bots.
    • A while ago I just wrapped a bunch of client checks to ensure that only humans could get achievements. I accidentally added that check on attackers in the conditions for getting this achievement. It would normally be fine in most cases, but the attacker is the same as the victim here; the Engineer is the one dying by their own sentry.
  • Slight optimization to various "counting" achievements so they're only checked for completion once per connect session (a better rate than once per achievement increment).
  • Used the game's native losing_team_num_caps event property to determine if A Sulfuric Shutout should be awarded. It does track control points that were retaken.

Map and mapcycle changes

  • Added Luftangriff (KOTH) to the standard rotation. Bots supported.
  • Fixed missing navigation areas on the last point of Stoneyridge (A/D). Darn breakable brushes.
  • Fixed robots trying to get the small health packs near mid on Waste (KOTH). Also added a connection from spawn to sewer and removed an untraversable connection.

Robot changes

  • Minor fix to ensure bots use the correct model on the start of the round. Bug was caused by a regression from an internal refactoring cycle.
    • It's still kind of an issue, though. Can't seem to get a repro case going, but it's probably some conflict with the Prophunt end-round plugin.

A minor, but rather important change for the Round End Music system

  • Considering we're now using the browser for music playback, there's no reason why we have to keep using the MP3 format. Expect future songs to be encoded using Opus, an entirely open audio format that has comparable quality at even smaller file sizes.
    • Completely listenable audio at 48kbps? Faster downloads? Music to everyone's ears. Or at least for those that opt-in to the content.
    • A few tracks may also be re-encoded or completely redone in Opus whenever I feel like it. Fewer tracks amplified to the point of distorted clipping!

Site tweaks

  • The MOTD web page now mainly targets the TF2 browser; Pure.CSS and jQuery have been removed. No more external dependencies! The Hugo theme has been updated to match.
  • The text-based MOTD has been updated slightly.
  • A few more tweaks to the achievements page.
    • It's a bit more green now. The original version used a single color for text, but TF2 was apparently gaslighting me into not being sure what colors were right.
    • We're also now using CSS grid properties instead of flexboxes for the main grid setup. There's no visual difference, though the guts of the page itself is cleaner.
    • Arrow functions and template literals are great. Modern JavaScript is great, despite all the legacy baggage it has to carry around.

Backend changes

  • The legacy API/AJAX endpoints are finally phased out. Mostly.
    • Managed to get CORS working properly so the new endpoint is accessible over HTTP(S) on all required subdomains.
    • Ported over the last few functions that were in use in the legacy system.
  • Tweaked access controls for some administration pages.
  • Wrote up a new utility that can extract navigation meshes from maps. Should make bot support updates to Workshop maps that aren't packing meshes in a workshop-friendly way a lot easier.
(Up you go!)