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

CSRD Update: 6 August 2017

← Blog

It's August already? The year's gone by awfully quickly.

Here's the update summary that I've been writing, though I already covered most of it in the shorthand changelog.

Bug fixes

  • Robots can now actually play on maps with embed.nav-style navigation meshes.
    • All that happened was that I forgot to disable the bot support check in Bot Manager. It's not needed anymore, as the Map Runner plugin determines if the bot quota should remain untouched (after the configs set it) or zeroed out.
    • I've mainly observed this on Rumble. Props to ICS being the only one to care enough about bot support and making me have to fix all of this navigation mesh stuff.
  • Fixed this weird MOTD caching issue where the MOTD panel would navigate itself to the page it was last on if the one that was being opened was on the same subdomain.
    • This caused issues with the /achievements command and blanked out the MOTD page if the player had the Round End Music enabled.
    • A fix is available here. It hooks the VGUIMenu usermessage and retransmits it with a rewritten URL.
      • However, pages that can't be embedded as <iframe> elements (which is what this workaround uses) will not work.
      • An additional hotfix was applied so /group works again. The only caveat is that we won't be able to use any other Steam Community URLs that can't be accessed via iframe. (Steam profiles and workshop listings work embedded, so this is a non-issue for my server.)

Mapcycle and map changes

  • Massive Jungle map content addition, all on the standard rotation:
  • Additional standard rotation additions:
  • Fixed RED bots not being able to move out of their final spawn area on 1Fort (CTF). Had no idea that was used; didn't play 1Fort much.
  • Fixed bots not being able to get out of their final forward spawn on Follower (5-CP).
  • Fixed navigation mesh for Abandoned Upward (Payload). This particular one annoyed me for a couple of reasons:
    1. The map author(s) didn't change the map name on their release. My Workshop detection tools notify me about map changes automatically, but only when the map name changes. This generally works well, considering most map authors release maps outside of the workshop and add a suffix to their map names to indicate version (as names have to be unique to avoid naming conflicts).
    2. This would be a non-issue in most cases; the server would just use the existing navigation mesh and things would continue as normal. This time around, the entire map had its coordinates translated, so the navigation mesh wasn't overlaid on top of the map like it used to be. I only found out this was an issue once I hopped on and found the bots weren't doing anything. A simple nav_shift -512 512 realigned the entire map, but this was a pretty bad mix of conditions.
  • Fixed bots not being able to leave spawn on Snowy Coast (Payload) due to missing connections between the BLU spawn and the main area.
  • Might have finally fixed a server crash that occurs when BLU wins on Cashworks (Payload).
    • Finally have proper crash logs from the server, and it looks like it's crashing because the bots can't find their control point once the round ends (CTFBot::GetMyControlPoint()). Turns out Cashworks in particular kills the last control point entity at the end of the round, and it looks like bots just assume a point exists.
    • The patch for this just uses the point's HideModel input instead of Kill. Same visual effect (the capture point hologram disappears in the explosion); none of the entity-removing shenanigans.

Bot tweaks

  • Changes to robot chatter:
    • To avoid subject ambiguity, robots now always mention the name of the low-health player that killed them, should the bot decide to talk about it.
    • Robot domination messages have been added. I think. I've never actually tested the code path, I just assume it works (especially since it's set to a 25% chance). Get dominated by a bot or multiple and let me know.

Site tweaks

  • The front page tagline "#notallcommunityservers" now has zero-width spaces so it linebreaks properly on mobile. I'm probably the only one relevant to this fix since who else checks the server page on mobile, really?
  • The achievements viewer (accessible by /achievements) now exclusively uses flexboxes and no external stylesheets or scripts. Modern browsers are great.

Thoughts and possible future updates

  • I'm trying to wrap my head around sigsegv's TFBot extension; been having a great load of trouble trying to build it.
  • Also debating on whether or not I should move the killsounds to my streaming setup. Would pretty much remove the need for the download preferences plugin, though it does mean the killsound doesn't get played in the gameplay space.
  • That front page notification system's still an interesting thought.
  • Also, HTTPS. I'm thinking about redirecting the entire site to it and implementing HTTPS best practices.
  • Server achievements. I need to retest some achievements; "Blue Scream of Death" doesn't seem to properly be awarded, and I've tried that a few times.
  • Nim (the programming language) sounds really promising.

That's all for now! Excuse me while I try to repair my sleep schedule.

(Up you go!)