I thought of something else to check. Mods called from dmprecache generally dont just simply fail to execute (unless it's a typo or smth). Is it possible that those mods have cvars that enable them inside the mod script? Your problem may have nothing to do with that dmprecache or levelwait.
What I have seen happen before is that when dmprecache and it's children (mods you exec from there) are executing, it is entirely possible that your server.cfg file has not been completely read and/or processed yet. If you have mods that use cvars to enable/disable (mod1_enable, mod2_enable, etc) and those cvars are set in server.cfg (and it's not quite baked yet) - some mods will execute and some will not because the modX_enable flag hasn't been set yet.
To see if this is the issue, in each of your mods print a line stating the current value of the enable flag before it is tested or set. When your server starts up, you may well see some of the _enable cvars are 0 when you expected them to be 1 from server.cfg.
To combat this and ensure you never have the problem again, put this at the very top of server.cfg before anything else:
Code:
// Todesengel Fix For asynch thread issues - Part 1/3
//////////////////////////////////////////////////////////////
set configdone 0
and at the very bottom of server.cfg after everything else:
Code:
// Todesengel Fix For asynch thread issues - Part 2/3
//////////////////////////////////////////////////////////////
set configdone 1
And finally, in dmprecache, after your caching section where you precache deathmatch stuff, but before you call any of your mods, put this:
Code:
// Todesengel Fix For asynch thread issues - Part 3/3
////////////////////////////////////////////////////////////
while(getcvar(configdone) != "1") waitframe
What this does is force your mods to wait before initializing, until it is for sure that everything in server.cfg has finished first. In short, this is a timing problem, as things don't happen synchronously when starting up. It appears that the necessity of using this approach has to do with just how big your server.cfg file is, and what all other things are going on at the moment. So you may not think you need this fix right now, but at some point you may well hit it. You don't need my name in the comments, that's just what I have in my server.cfg that I pasted in
Tode
~