compile your own fteqcc. later versions contain an extension to build multiple progs.dat from multiple src files with a single compile.
alternatively, compile twice, with: fteqcc -srcfile csprogs.src
and: fteqcc -srcfile ssqc.src
Most of my qc source code depends upon fteqcc features nowadays, and I apologise for that. But it shouldn't need a special VM for it. But qclib would run that all even if it did. :)
Once compiled, place the csprogs.dat and progs.dat on the server in the gamedir.
csprogs.dat will also be required on the client, as csqcwinquake does not support file downloads (actually, the client will copy it to "csprogsvers/%x.dat". where %x is the hex value of the progs crc, so a single gamedir can support multiple crcs. Both FTE and DP will autodownload directly into the cache leaving the client's default csprogs.dat unmodified. This means you can connect to servers without affecting your own. But like I say, csqcwinquake doesn't support downloading, and the easiest way to work around this is to just replace the gamedir's csprogs (you can then copy out of the cache from one computer to another easily enough). Once the csprogs.dat has been loaded once, you can run that version without the csprogs.dat itself on the client computer, only the cached version. So you can revert back to the old one after you first run it. Mneh, its awkward. Implement downloading!
I just noticed, you'll need to remove entries from QSG_Extensions in pr_bgcmd.c