So much to do, so much to see. I'll be spending some time doing some server-related fixes, but it may be slow going. My cats won't feed themselves.
Backend features:
- Added my Plugin Mangler. Makes hacking on bleeding-edge plugins slightly faster, as I can do stuff in bulk and not have to type out those long plugin names as often. It's basically just an extension / rewrite of DarthNinja's plugin, so functionally it's about the same.
- Updated TF2 Item DB to FlaminSarge's fork. Finally able to stop using my branch.
- Updated
iptables
to drop TCP connections to the game server port. No morercon
abuse. - Learned how to use
incron
for even lazier server management:- TF2 Item DB will automatically be updated whenever
items_game.txt
gets changed. - Demo archival system improvement: demo files are now available almost immediately after the demo is finished recording. The need to poll for directory updates is no more.
- Chatlogs got the same treatment. Because
incron
doesn't support wildcards, I also took a short amount of time to tidy up the chatlog plugin and change the output directory away from SourceMod's log directory. Some other changes were done for chat logging too; see the client feature notes below for details.
- TF2 Item DB will automatically be updated whenever
Shiny new bot stuff:
- Wrote up a custom logic augmentation plugin to start giving bots support for some weapons that
they aren't normally capable of handling too well. It currently does the following:
- Allows Vaccinator-using bots to change their resistance type whenever they or their heal target is attacked.
- As a result of the aforementioned TF2 Item DB change, my custom implementation of Bot Weapon
Randomizer has been updated to use the fork. Pretty much just a small change to the custom SQL
query, but still.
- I've tinkered around with letting bots have cosmetics, but some end up being quite wonky. Going to hold off on that for now.
- The old bot names plugin has been replaced with a new Bot Name Database plugin.
- It uses a stack setup such that there are as many names as there are bots. Players can't
jump between teams to force bots to get new names.
- It's rare that I actually have a use for
ArrayStack
s.
- It's rare that I actually have a use for
- Opens up the possibility of fancy features, like providing a unified way to post bot names on the website, or identifying which Steam user submitted a particular name (like for donations, anyone?).
- It uses a stack setup such that there are as many names as there are bots. Players can't
jump between teams to force bots to get new names.
Updated client features:
- Finally fixed the Weapon Pickup Responses plugin; apparently it had some trouble with Australium detection. Or at least, it should be fixed. I'd like to test it some more, but that requires organizing friends to join. With Australiums. Anyways, if you do test it on your own time, let me know.
- While not an in-game client feature, we have chatlog improvements and fixes:
- Player authstrings are now in SteamID3 format, and disconnect messages have been added.
- That multi-message issue should be fixed for good, now that I'm using the most recent build of Simple Chat Processor.
- Additionally, chatlogs are now set up to be packed into an archive file monthly. Logs older than two months or so will now be zipped up into a 7z file to keep things tidy.
The head-scratching bug:
- For some reason, manually installed custom maps have not been available for download for a
while. I thought it was initially a bug with Download Preferences, but it doesn't seem to be
broken (well, more than it was)... in any case, I hacked up a quick fix that re-adds those
custom maps to the download list. Workshop-sourced and vanilla maps are not affected by this
change. Assuming I didn't screw up while writing some plugin (very likely), I'm suspecting it
might be a bug with custom search paths; will look into it at a later date.
- Update: Suspicions are correct. A hotfix is now available for those affected.
Huh. This is actually a decent amount of stuff.
(Up you go!)