Is it possible to run a peer to peer PC in an Unreal 4 game without the need for 3rd party servers

I am considering building a VERY SIMPLE peer to peer FPS mp in Unreal 4 over the Christmas period.
I want to know if I can do this with my own computer hosting and acting perhaps as dedicated server and
NO NEED FOR 3RD PARTY SERVER RENTALS.
The goal would be a zero budget little game that I can play with friends, FPS with maybe only 3 on each team for TDM games.
Very light and simple.
Is it possible to set it up to work in UE4 without having to go rent servers somewhere?

Thank you! :slight_smile:

So the answers that I am getting so far is that it is possible but only if the game is super small like 1 v 1 or 2 v 2 and one player must host at all times.
Data packages need to be very small for home networks / wifi to handle them.

and I see a dev setting up and running a mp game through a Steam account. Confused by this. How can you use Steam servers free of charge? Can you? Or are you simply interfacing and you are still hosting from your own computer?

Hey There, No you cannot use the Steam servers without paying Gabe this would be too good. And yes he’s simply interfacing and you have an PC hosting the server and that’s exactly what a large number of games do, like northgard (RTS) for example. You have an amazing tutorial on the UR4 YT channel about how to implement Steam features it in your project. But be careful they are a few mistakes in the tutorial here and there that are being corrected later in the videos. If any question feel free to ask, I think I still have the tutorial completed on my old computer

O.k. great thanks for that answer. My only question would be can you do it without the help of Steam? Can you simply interface between computers with one of them hosting and maybe use the networking plugin that you can download and install into Unreal 4? I am trying to do something really small and simple and would prefer not to drag Steam or any other third party into it. :slight_smile:
But then I was wondering how would you search or find a game if you buddy is hosting it? Is that why people use Steam interface?

Found gold here: https://www.youtube.com/watch?v=U1LwGHynZhw
Now that makes it crystal clear to me.

Yes you need a “lobby” server so players can find games hosted by other players.

Note that if you let players host their own games (not using dedicated servers) then the Host will know the joining players IP address and the joining players will know the Host IP address which is a potential security issue.

A dedicated server is far more secure as it doesn’t expose the players IP addresses and the server can’t easily be tampered with by the players.

Steam is not the only option out there and with the proper knowledge you could create your own lobby server.

UE4 doesn’t use P2P (Peer to Peer) it uses the authoritative server model which needs a Host or a Dedicated server as the authority and everyone else connects to this Host or Dedicated server. The regular P2P model has no server, instead everyone is communicates with everyone with the same “authority” level.

O.k. great thank you :slight_smile:

So what you are saying is that Steam is used as a lobby server basically right?
So that is what I see when I watch tutorials on YT and the guy is “running his game on Steam”?
Steam is just used to find matches of your game basically its a lobby system essentially?

Is this what you mean?

So it looks like what I will have to deal with is building the game in Unreal 4 and then somehow run this tool along with Unreal (on the same computer?)
So this tool would allow a lobby system between the players / host?
So I guess the next step is to ask how the hell to do incorporate this tool with Unreal 4?
I guess I will have to find a tutorial online do you know of any that will explain how I can fuse this tool with Unreal?

I did already discover that the character classes have replication included already and that is what I should use rather than pawns thanks :slight_smile:

O.k. thanks.
Yeah I found a thread where it looks like Hamachi is just a huge pain to deal with:

https://forums.unrealengine.com/unreal-engine/feedback-for-epic/35576-can-t-play-with-unreal-engine-4-a-multiplayer-game-through-hamachi-shootout-example

Oh I see your link takes me to that thread LOL.
Yeah looks like a pain to deal with.
I am really trying to keep it super simple.

O.k. but if I want to keep it simple and just get players to connect to my hosted match, how do I do that?
Is there a tool inside Unreal 4 that makes that possible or do people have to email me with their IP ies or what?
Thank you :slight_smile:
So I assume what you are saying is skip a whole lobby creation right?
That is fine.
I am not trying to build anything fancy the simpler it is the better :slight_smile:

I guess what I then ask is how to get players to connect with my hosted game WITHOUT a lobby system?
Is there just another way of doing it then?

O.k. thanks for the warnings I believe you.
Grrrrr :slight_smile:
My friends are all over the world in different countries so LAN wont work :slight_smile:

We need a better internet :slight_smile:

What a bunch of c__p to deal with.
Sounds more like the whole internet is dino doo doo.

If you don’t want to spend a lot of time then you really should use something that is already working and tested like Steam. Using Hamachi and turning off firewalls etc. is a bad idea. If the host configure his router correctly and the firewall gets configured correctly then you don’t need any third party NAT-punch through, unfortunately most users only know how to open a browser and search for cat pictures using google :slight_smile:

Just take the “shooter game” example from epic its multiplayer and free in the launcher ! You can host and play on youre PC and youre friends can join either via LAN or youre public IP Adress.
Also there are some packs on the marketplace that provide you with out of the box multiplayer shooter functionaliy.