If some or all of the vanilla NPCs won't spawn for you and you don't want to fiddle around with your mods to get them working again, this is for you.
In trying to get the SP campaign to work, I discovered that OpenJK (using the last September build) apparently has different caps for NPCs and species between SP and MP; while everything works just fine in MP, SP would not show all of my species and, more urgently, would not spawn Rosh or Tavion, rendering the first level unwinnable without cheats. In the process of fiddling around, trying to figure out what to toss out to get all the NPCs working in SP, another solution came to me; simply copy the base NPC files and place them in a .pk3 with a lot of Z's at the front of the filename. It worked, so I'm sharing it.
HOW TO MAKE AT HOME:
1. Copy the ext_data/npc folder from assets1.pk3.
2. Paste into a new .pk3 file (can be made by creating a zip, placing the files into it, then changing extension to .pk3).
3. Make sure no NPC mods are loaded before it by adding however many Zs to the front of the filename (4-5 should suffice for most users).
4. Put .pk3 in gamedata/base (or wherever else you need it).
5. That's it. You're done. Make sure it works by starting a SP game.
Note that this does not increase the NPC cap; it merely works around it to get the SP campaign functioning. Therefore, expect at least some of your custom NPCs to not spawn with this installed.
Credit is appreciated, but not needed if you wish to use this fix for whatever reason in your own mod; it's so simple to do I don't feel comfortable making any claim of ownership over it. This upload is more of a timesaver than anything else.
THIS FILE IS NOT MADE, DISTRIBUTED, OR SUPPORTED BY ACTIVISION, RAVEN SOFTWARE, OR LUCASARTS ENTERTAINMENT COMPANY LLC. ELEMENTS™ & © LUCASARTS ENTERTAINMENT COMPANY, LLC AND/OR ITS LICENSORS.