What's you ideal client / server setup for development ?

Hi all.

I’ve been struggling a little bit setting up a workable client / server setup for developing our game.

In my current setup, I use three Visual Studio projects:

  1. For editing purposes, I use a single VS project in DebugEditor mode for adding assets and all.
  2. Then I use 2 other VS projects: a DebugGame server and a DebugGame client when I need break points on either sides.

Between these projects, I always have to make sure that all relevant source code is replicated on all projects. I also have specific code for client and server builds (server has database stuff linked into it).

But there’s also the issue of Cooking. I have to do that so many times just to make sure each project doesn’t miss anything. For starters, I wish I could cook my maps once I add all the assets and be able to use this cook on all my projects.

And there’s so much compiling. For a dedicated server, I need the Unreal Engine source: UBT goes over 400 actions each time. The famous XKCD comic comes to mind: xkcd: Compiling but now it’s not comical anymore.

Any hint on setting up my project with a different / better workflow ?

You can use the editor to launch a server, it will behave like a dedicated server, only it will make your iteration time faster, I use the following command line to start a server via the editor :

Pretty sure %UE4Compiled% is a custom path variable I set up though, so adapt it yo your needs.

NOTE: First launch will probably take 20 minutes because the editor decides to build all the shaders for some reason. After that it will take a few seconds.