And to make it show up you need to have the letter C at the start of any colony game.
The 'C' in the beginning is not so that it shows up in the menu. It's a naming convention so that users can easily distinguish between different mission DLL's.
The engine looks at the internal map type within the DLL's exports. To be more specific:
SDescBlock DescBlock = { Colony, 1, 12, 0 }; // Important level details
^^^^^^
It's in that part of the code that the game determines what type of map the mission DLL is and where to place it.
As far as the 7 character names, hacker/hooman are probably the experts as to exactly why OP2 does what it does. If you ask me, the game's engine wasn't written as well as it could have been. It seems like the developers at Dynamix were a bunch of amatuers who started a software firm that eventually went down the tubes.
Anyway, the coders name in a file (or abreviation, you'll see mine setup in the following form: c_ld001.dll) makes it rather unique especially in the small community we have. So for Spirit1Flyer, I would name them something like c_sp001.dll or cspe001/cspp001 )... while the names of the files are obscure the names of the games would be unmistakable if you named it for what it was:
e.g., Colony Builder, Eden - LD 001 - Pie Chart IV v1.1
I use numbers to indicate how many maps I have created... it's easy for me to find and identify and it also shows the potential experience level of the designer/coder when the map was created and published. I would only put the version number in there if there was some sort of bug identified after the intial release that warranted a rebuild and republication.
(you know... it just occured to me that I'm beginning to lay the foundations for the standards of OP2 map naming/publication conventions...)