It's logical to assume that the server code will be compiled and obfuscated. Decompiling and deobfuscating can give you a first view inside the mechanics of the game based on which you can code an API that wil be the base for all mods and libraries that will be built on top of the server. The problem imo arises when the server updates and the obfuscator changes all variables/methods/classes names on compilation. So essentially what you have is a completelly different version of the previous server release which makes coding the API and keeping it updated pretty difficult.