Please take a look at the following document created by Marcos Crispino.
Check the Japanese translation by Yamazaki Keysuke (yamazaki at simplificasoftware.com)
CreateGXextensionFromScratch Japanese version
GXextension and GXserver
If the extension has logic to be executed in GXserver make sure it was compiled using the following attributes (AssemblyInfo.cs file):
[assembly: Package(typeof(Package), IsCore = false, IsUIPackage = false)]