No, interaction with the HL engine on a multithreaded basis is dangerous and complicated. I'm not even going to attempt it.
It's not as easy as you make it out to be... multithreading isn't just a catch all solution, it's quite complicated. An embedded web server is useful if your host doesn't have webspace or MySQL access - it would be much faster than the remote version (the only limitation of the local version is that it couldn't manage mutiple servers).
The web interface would not be interacting with sourcemod at all. It only serves to modify the configuration through SQL queries. However, the SourceMod engine would be using those same queries to do things like authentication. That's why the DB is a two way system, it can't be threaded. But the web server can.
Another issue you guys seem to miss is that multithreading is
not that easy! Everything works on callbacks, for example, I get constantly bugged to "just make mysql multithreaded". The API would have to be totally redone, and it would look terrible, based entirely on callback functions. Observe:
Code:
new Sql:sqlID
mysql_connect(..., "callbackGetConnect")
mysql_query(sqlID, query, "callbackGetResult")
public callbackGetConnect(Sql:id)
{
sqlID = id
}
public callbackGetResult(...
Et cetera. You have no way of knowing WHEN it will execute, IF it will ever execute. Then you need to implement object locking, semaphores, etc... it's way too much work for something that wouldn't even work right, as in gaming engines things need to be timed linearly, and so many events can happen in one sequence, there's no telling what would happen by the time the OS decides the thread should be called.