Online multiplayer without Steam?

Hi,
I’ve been trying to setup online multiplayer on our game so that the entire team could play test together, but I’ve hit a snag. So I initially set it up using steam subsystems and three of us (2 in California and I in Arizona) could connect and play together. Another team member on the east coast however, could not. So I assumed this would be because of some sort of a region lock since we were using the 480 testing app ID. We then decided to try setting up a multiplayer without steam for the development phase so we could all be involved in the testing, and we’d just include steam in our release. However, I haven’t been able to figure out how to go about this. I’ve read a lot of forum posts and watched some videos, and I’m really confused about how to start setting this up. I read on one post that UE just offers local multiplayer out-of-the-box and that I would need Steam or some other master server for online multiplayer ? Another person said something about connecting by using the console commands and specifying the IP, but I can’t imagine how that’s work all over the internet ? I’d be really grateful if anyone could nudge me in the right direction regarding this. Thanks!

Probably the simplest way I heard of (but haven’t tried yet) is to set up your game for LAN (use online subsystem NULL in your config files and tick the LAN checkbox on Create Session nodes in blueprint),
and then have everyone get on Hamachi or some other VPN so that your “LAN” is actually across the internet between everyone who is on the VPN. This obviously isn’t much of a solution for a released game but can get over the testing hurdle until you’re ready to really dig in and get your online features thoroughly supported.

Hmm, thanks for the input! If nothing else works (I’ve searched a lot for two days and I’m losing hope anything will), I’ll resort to doing this. But isn’t there a more intuitive way to do this by using UE’s existing framework or some service other than steam that doesn’t have a region lock ?

Suppose we go through the pains of setting up port forwarding on all the participating systems, would the create, find, and join session nodes in the BPs create and join online servers ? I’m sorry if this is a noobish question, I’m just very confused with all the different things I’ve been reading.

I wish I knew! I’ve been looking for something more intuitive, myself.

I you do the IP Address thing, then the host has to configure their internet router (and sometimes provider!) to port-forward on Unreal’s ports in order to be able to establish the socket connections between devices, so really LAN and Steam are the simplest ways I’ve heard of so far.

I read that you only have to port forward on the host. Client machines dont need special configuration to join by IP address.

I dont know if Session nodes work of joining by IP. I read that joining by IP means you are not using an online subsystem to join so there isnt a concept of Sessions except as you might create for yourself as service outside of Unreal.

The IP address maps to a specific machine so I dont see how sessions would fit in with that idea. I think you just do the command line node and input the string “open 172.0.0.1” or whatever IP address it is.

Sorry I havent tried that yet to tell you how to make t work. Well i tried but the target host machine didnt have port forwarding lol.

Hmm, makes sense. I’ll try the IP method then. Thanks for all the help and for answering my back-and-forth questions. I really appreciate it.

I’ve been searching for the answer to this question for years, and you have to use online subsystem steam in order to have production ready ue4 mutiplayer listen server game. All my other attempts failed miserably. By production ready i mean that the players do not need to do some manual actions like port forwarding / and or firewall setup.

I’m still lookign forward to solution to this issue, since i would very much like to get rid of steam from my project.