OK, I know I'm bumping an old topic, but I do actually have new information.
SourceMod 1.8 has been the new stable release for about a month now. SourceMod 1.8 has a new function in it named GetMapDisplayName whose sole purpose is to extract the friendly name. All of the core plugins that deal with maps have been upgraded to use this.
If you're using Valve's vote menus, there's a plugin named
[TF2] Map Voting Tweaks which updates the maps listed in the Valve map vote with their friendly names.
Map Voting Tweaks doesn't work with newer versions of the NativeVotes plugin as they both override the callvote command and SourceMod calls them in a semi-random order so you don't know which plugin will get control first.
Speaking of which, I'm also testing a
new version of the NativeVotes server plugin, along with ports of the SourceMod Mapchooser, Nominations, and RockTheVote plugins to use NativeVotes menus.
NativeVotes 1.1 has the ability to override options in Valve's vote menu. The NativeVotes versions of Nominations and RockTheVote override specific votes in the list. RockTheVote overrides the Change Level vote, while Nominations overrides both Next Level and Change Level.
Just as importantly, the Nominations plugin also updates the maps in the Valve voting list just like Map Voting Tweaks does. It uses the nominations list rather than the mapcycle.
While this may confuse players slightly at first, it makes these votes much more accessible to players who are used to the Valve voting system. If you want to see how these look, I have them running on my test server ( tf2.rbemrose.com:27015 ). There are 11 workshop maps on that server out of the 103 maps on that server.
On a side note, I've been told that I might need to update the SM (and NativeVotes) Nominations and RockTheVote plugins to delay when they generate their internal map lists as the game server isn't always finished processing tf_workshop_map_sync commands before they're generated on the first map.