Best way to make local development easier for multiplayer game

I’m developing a multiplayer game which calls a number of remote functions to get things like account details on login, get player inventories, stats, etc… as the game itself is server authoritative it all revolves around running as a dedicated server.

The problem I’m finding is what’s the best way of testing functionality and developing locally, as generally the workflow would be MainMenu > works out which level / dedicated server to send the player to > targets the remote server to join and it goes from there, however if you’re testing with dedicated server enabled it just spins up the player directly into the level with the dedicated server already running which skips some of the initial login logic and makes the RPC side of things more complicated.

So questions are:

  1. What’s the best practices when testing multiplayer games locally in PIE - any good resources here?
  2. Is there a good way of setting a local-test style flag and duplicating remote functionality with stubs so other developers don’t need to worry about connecting to remote servers or running other servers locally?
  3. Is running a server with a .bat file locally alongside the editor playing in a single process just as a client the best way of replicating a server-client workflow?

Cheers,