Can I load Unity 3d envirmoment in other mono c# app? I would like to load terrain with all game objects and do collision and game events on the server side and send it to the clients.
You can’t host a Unity environment inside a .NET app (.NET is actually just a scripting system embedded in Unity, but the app itself is native code). If the reason you want to do this is to create a headless server, then there is another way you can do it. See this manual page to see how to run Unity from the command line with the graphic display disabled.