Internet Multiplayer

Good day!

I have watched the networking basics video series as well as various other online tutorials, in order to understand multiplayer in UE4. What I am not clear about, is if the built-in multiplayer support, as described in the Networking Basics videos, are limited to LAN, or do they apply to over-the-internet gameplay as well?

I have tried running a simple multiplayer game, that does work when I test it from the editor with 2 players. I run it as host on a server machine and try to connect to it from another machine, not on the same network, but with port 80 (internet) open.

This does not work though. I get no errors, but my game instances clearly do not see each other.

Do I need to go through something like Steam for internet play in UE4? Or am I just doing something wrong? Could you please help me understand what I need in order to be able to play multiplayer UE4 game from client machines to an internet-based server machine?

Thank you!

Hey ,

Joining a multiplayer game is actually pretty simple and the procedure to join it is same for Lan games or Internet games, Things change only when you want to use steam.

So the basic method of joining a server is a console command “Open <Server IP>:<ServerPort>” Unless you’ve changed it the server for UE4 games by default is 7777. So if your server is located at ip address 192.168.1.100 then just type “Open 192.168.1.100:7777” in the console and it’ll connect you the server and you can play there.

In case the server is somewhere on the internet outside of Lan then the procedure is still the same , just make sure that the server machine has a public ip address that you know and can connect to and it does not blocks request to port 7777 (or whatever port you’ve set)

Even with steam the procedure is similar with the server browser and steam giving you the ip of the server.

In shipping version of the game these console commands can be run via code or blueprint nodes or you can just trigger the function yourself.

Hey thanks for this explanatuon were actually in the process of integrating our game for steam but wanted to test everything first.

So basically i would need to add blueprint nodes that would allow me to use console commands then package the game , follow the steps here and fingers crossed i should be able to join?

Use this tutorial for Steam integration and this for using the connection nodes in blueprint.

Just keep in mind that you can’t test the connection in the same machine as Steam needs different accounts connected to Steam to work.

EDIT: As for the “normal” implementation, there is no Online, only Lan and manual connection (as described above).

Yes, I actually have a client game that uses that exact method you mentioned , but I use a UMG text box widget to let me enter the IP address and then it calls console commands using blueprint nodes internally since its not nice to use console on a polished game.

so basically yes , you need to call “open <ip>:<port>” in the console somehow , if you package in debug build you’ll get console in the packaged game by key and if you package in shipping build you'll not get console by key but you can still run console commands using blueprint.

yep those nodes will not work outside of lan without steam

Oh so as its only.for testing can just package in debug mode and use the console . In final build.we use steam.or add a custom.text widget and blueprint nodes to manually enter ip.

Thanks.guys

Thanks Commander Shepard. I have to admit I’m embarrassed. I cannot believe I’m just now finding this OPEN console command to connect via the internet without OSS… sheesh.

good day people
sorry to bother but i was wondering the IP from ipify.org work to connect via internet and the port, is it application port or … like communication port or something any assistance will be deeply appreciated thank you in advance :slight_smile: