Guys, thanks for picking this up. I'm sure there will be at least some people in the sourcemod community that will appreciate it.
I'm pretty sure I'm DONE messing with Valve games. Feel free to do whatever you like to the plugin or the web UI. I would ask that the "fork" be named something else and that proper credit be given to me, not to mention the others who had their hands in this before me before *I* took a hold of it. My wife and I put a LOT of work into this plugin to clean up the web UI's HTML/W3C compliance, make the ad order changing work in IE, etc. not to mention all the work there was in the plugin itself.
The plugin itself doesn't need anything special to support CS:GO since its gamedir has a unique name that is not a substring match of some other game's gamedir value. This stuff is commented in my original plugin source code. You only have to "add support" to the plugin code itself for a game when one game's gamedir value is a substring match of another -- for example, cstrike vs. cstrikebeta. That's why I added that section of code to add conditional checks for "special cases" - so in cases like that, you could tell the plugin to use a different name for the game type when doing the SQL query to retrieve ads for that game.
The only thing you always have to update when you add a game is the web interface, like the other person pointed out a few posts back. Just don't forget to make the same changes to the "edit" php and the "create" php files.
And I know I've said this before, the last time somebody said they wanted to take over maintaining this plugin, but it is important: Be careful what you call junk in the plugin code and start removing because you don't think it's necessary. The plugin was horribly broken as far as displaying multiple ads at one time, multiple ad timers running concurrently, etc. and in some cases only with certain games. It took quite a while to identify all of the culprits and get code added to the plugin to handle all of those scenarios. You may think upon a "cursory" glance at the plugin source code that what I did was stupid -- but take the time read through it, follow the functions around, etc. before you start yanking anything out that you think doesn't need to be there. Because it WORKS.
BTW, something else I did for the brief period that we messed around with running some CS:GO servers was go into the plugin sources and remove EVERYTHING related to tickrate calculation. It occurred to me that we never used the {TICKRATE} variable in any of our ads, and yet, the plugin was still hooking every server frame so it could keep the value of {TICKRATE} accurate. I took it out as an optimization -- why have the plugin hook every server frame to do some math if we don't even use {TICKRATE}? Basically it entails removing the section of conditional ad "content" checks for "{TICKRATE}" while it is building the ad message to print to the user, removing the hook and functions that the hook calls, and removing the variable declarations that are used by this function. I checked the entire plugin source code multiple times to be sure that nothing else was using those variables, and ran that "modded" version of the plugin on our dead CS:GO servers for probably about a month. Ran fine.
I was considering releasing an updated version with that TICKRATE removal work done, but then Valve released whichever update it was that finished breaking the popup menus. Our servers were basically dead anyway, except the little brief burst of players we used to get immediately after updates were released (because we were using a modded nemrun to update and were always one of the first few servers back online) -- but killing the menus was the final nail for me. Being intimately aware of the non-existent attention span of the majority of players these days, I was not about to try to convince every player that connected to one of our servers to try to rebind a bunch of keys to other game commands to be able to vote for maps while dead or in spec, etc. Waste of time upon a further waste of time.
Peace out.