I’m having a lot of trouble getting a connection between my Linux machine which acts as a Unreal Server and my Windows machine which is the client. For testing I’m using the default Third Person Template with working multiplayer on a single machine.
Yes. You need to be on the same build, which is not guaranteed in this case. You could hack the code to do that but then you need to be prepared to track subtle errors that may be introduced by incompatible changes in content or code between two machines. A better way would be testing a packaged build (you can package it for Windows and Linux on your Windows machine and then copy .pak files to Linux machine to /Content/Paks directory - that way game or server binary will be able to pick it up).
You can override the version check value by passing the networkversionoverride command line argument. For example, when testing packaged phone clients against my Linux dedicated server, I launch the server with this command line: