Is it the best way to create MMORPG game using an Unreal Engine with a custom server in C++?

If you want to make your life easier, you should use the same project to build the client and the server. The server build will become a headless server, meaning that it won’t render any visual elements and it will be completely independent of the players.

It’s not the most resource-efficient way of doing things; making a custom C++ server will use fewer resources on the hardware, but it’s the most time-efficient way of building a client-server game.

There are several MMOs that run on unreal using headless servers. Therefore, unless you know your game will have the same level of players WoW did during its peak, I would recommend that you make your life simpler by using a headless server directly from Unreal Engine.