so any custom races will have some combination of regular races plus these custom races, correct?
The answer to this is a little more complicated than you might think.
Yes, the races listed above in the inc_constants file all correspond to the races listed in racialtypes.2da in CoPaPHak. That's correct.
However, to make a custom race for your CoPaP server, you do not have to add it to this file. You can add it to the specialraces.2da which is a 2da file used by Red Golem's AutoBic.
All races in specialraces.2da use one of those races listed in inc_constants as a base race.
Sereg'wethrin is a type of custom Avlis race. It is based off of elf. It has an entry in specialraces.2da, and it uses RACIAL_TYPE_ELF as its base race. Thus, if you have a script that uses the GetRacialType function on a sereg, it will return Elf, becauase it IS an elf... just a different subrace of elf. To tell the difference between a normal elf and a sereg elf, you'd have to use the GetSubRace function.
All races on Abyss404 are custom races. If you choose to play a halfling, you wind up making a halfling custom race which has 2 levels of outsider class automatically given to it, to denote it as a planar creature. This special type of halfling is listed in specialraces.2da for Abyss404. Using a GetRacialType function on either an Abyss404 halfling or a regular one will yield RACIAL_TYPE_HALFLING as a result.
Say you want to make bugbears a playable race on your world. This would require an addition to racialtypes.2da. A line for bugbear would have to be added to both racialtypes.2da AND specialraces.2da. This would make it so the GetRacialType command would return RACIAL_TYPE_BUGBEAR.
You could also just base the bugbear race on RACIAL_TYPE_BEAST, and make bugbear a subrace of RACIAL_TYPE_BEAST. GetRacialType would return RACIAL_TYPE_BEAST, and GetSubRace would return Bugbear in this case.
Generally, I'd say either way is ok, but anything we can do to avoid frequent changes to racialtype.2da is better. For custom races that are based on already existing races, such as new types of elves, halflings, and dwarves that are not already listed in inc_constants, I'd say to just use specialraces.2da. If you have a totally new custom race not based on any of them, we could probably add it to racialtypes.2da, though making it a subrace of Outsider, Beast, or Humanoid will work fine too.