They can, and I'll prove it to you.
Sorry if there's already a thread dedicated to explaining this, I also appologise if I've made this thread in the wrong location. Mods and Admins, feel free to move or delete at your discretion.
OK. So I've seen a hell of a lot of threads on the various M2TW hosted mods boards where people are wondering how to get steam to work with their favorite M2TW mods.
I've found a way that seems to work pretty well. I'm not going to go and say that this is a one size fits all blanket solution to the problem. But so far I've got For King Or Country, Renaissance Total War, Hundred Years War, Broken Crescent and Road To Jerusalem to run on it.
OK. The main problem that steam has with most mods that aren't source based is to do with the command line. Usually it's because it can't add an entire game command line with the mod command line in one go, but there are solutions to that in some circumstances anyway.
The main problem that steam has with most of the M2TW mods is that they're not opened by .exe files, and it seems that as far as steam is concerned, a program or game only uses .exe files or it doesn't exist. But that's ok. There's a way around it. Here's what you do:
Open your steam games list, then click on Add Non Steam Game. Add your vanilla Medieval II Total War game to the list (if it isn't already there).
When you click add non steam game and it gives you a list of already installed applications, you may be able to pick it from there. But personally I prefer to go and find the medieval2.exe myself in the directory that I've installed M2TW into. Mostly because I don't want to accidentally select the launcher rather than the game, then have it not work for me.
OK. So medieval 2 now has a shortcut in your steam games list. All you have to do is manually edit the command line. But first, you need to know what you're putting in there.
While all the M2TW mods I've ever played used .bat files, all a .bat file usually ever does is redirect to another file elsewhere, sometimes with additional instructions. That's all these mod .bat files are doing.
To look at what a .bat file does, just right click on it, then click "edit". If your OS doesn't know what to open it with, just choose notepad.
Notice that the .bat files for mods that you view all just have one simple line of coding. Usually just medieval2.exe then a short line of command redirecting it to another .cfg file that will apply for that mod. Well that's all you need to do. Just copy that extra bit of the line after medieval2.exe and add that to the command line that steam will use when it executes Medieval II.
As a visual aid. This is what I did to get it working with broken crescent.
Find the extra instructions after where it tells your PC to open medieval2.exe:
Then just copy it after the existing command line on your M2TW shorcut in steam:
Then it should work fine:
Spoiler Alert, click show to read:
There is one minor drawback that you should know about though. Because this method uses the same .exe file no matter what. It would seem that you can't have multiple shorcuts like you can with windows. I tried having shortcuts for a few. I got it working with Renaissance TW first, then tried running it with For King Or Country under a seperate shortcut, but it ran Renaissance instead. So it seems that steam still won't coooperate with you 100% and will just run the last mod you got it to work with. So instead you might want to keep a .txt file of all the extra command lines handy so you can change them when you want to play a different mod:
At any rate. This should hold you in good stead with most mods.
Good luck, and I hope this helps some of you.