I’m trying to figure out if I can use networking to get a UE4 level going in a cave 2 environment (it’s basically a huge wall of monitors in a big circle which are powered by a bank of computers).
My plan is to have a client playing on each of the slave computers in the network and one server running somewhere that they all connect with to get a camera position and rotation from, then each client would need to also apply a rotational offset to the camera view angle corresponding to their monitors position in the video wall.
So normal multiplayer works pretty much out of the box and I’ve figured out that I can use Set View Target with Blend to make a client use the server cameras position and rotation. The catch is I’ve only been able to figure out how to do it with Get Player Controller 0 and Get Player Controller 1 and apparently these only work on localhost but not over a network.
So I’ve been trying to figure out how to manage players when they connect with the following blueprint nodes:
But it’s not working
I launch the server first with a batch file that says this:
“C:\Program Files\Unreal Engine\4.5\Engine\Binaries\Win64\UE4Editor.exe” “X:\work\USC\systems\UE4 cave prototype 3\caveTest3\caveTest3.uproject”?listen -game
And a client with a batch file that says this:
“C:\Program Files\Unreal Engine\4.5\Engine\Binaries\Win64\UE4Editor.exe” "X:\work\USC\systems\UE4 cave prototype 3\caveTest3\caveTest3.uproject"name=bob -game
When the client first runs I get a log message saying “Bob has joined the game”, but when I connect bob to the server by typing open 127.0.0.1 in his console, he connects to the server but the server displays the log message “257 has joined the game” (not bob). Then the server says the client should be set to the server view but it isn’t
It’s a bit of a pain because if I can’t get this going I’m going to have to take the whole project back to Unity (there’s a special cave plugin for Unity that does this all automatically).