Network Multiplayer Fundamentals | Live from HQ | Inside Unreal

preview_player
Показать описание
Creating a networked multiplayer game isn't easy, but Unreal Engine's gameplay framework is designed to set you up for success. On this episode of Inside Unreal, Technical Writer Michael Prinke will cover fundamentals such as the server-client model, various features of replicated Actors, and best-practices for efficient networked games.

Announcement:

Project files (log in to the forums to access):

Transcript:
Рекомендации по теме
Комментарии
Автор

Flashiest intro ever. Great show, thanks guysA!

Pontypants
Автор

I'm just implementing multiplayer into my game and you recently released this video... Thank you very much Epic!

peter.bacinsky
Автор

It would be nice to clarify what are best practices if you're going to describe what your showing as 'not best practices' (48:00 and several other points)

KavanBahrami
Автор

@17:13 wow that helped me visualize so much better what is going on. I never thought of it as "the client is moving something on the host's screen", I've always thought of it as you are moving your character then replicating it to the host. but this small difference makes a huge difference in how I would think about coding an ability.
one of those light bulb clicking on moments.

stevenkent
Автор

Epic Online Services - that sounds very nice!! Cant wait for it

msmilise
Автор

You guys are a kind of my heros.. iam an architecture student with some need of creating sparetime fun for me and friends. Think this will help a lot. Def will check this kind of new unreal engine out. •••• all best

antonschmid
Автор

Wish you guys would start from scratch and show how you set this stuff all up instead of doing all the work off cam and then saying hey this is what I did, click this add that and bada boom bada bang... multiplayer.

deepelements
Автор

Thank you for the video.
You should utilize timestamps for such lengthy videos.

suitoha
Автор

1:42:53 to make a multicast RPC not take bandwidth being sent back to the triggering player (rather than just being gated off on receipt) I think you need the replication graph. If you aren't already using the rep graph extensively it may be simpler to just iterate all player controllers and send as unicast, skipping the originator, but then you have to send it through their player controller or other network owned actor rather than being able to send it from any replicated actor like with multicast.

Replicated variables can use the SkipOwner condition in a much simpler way.

charlesalexanderable
Автор

Any of the promised follow-ups, such as (1) Host Migration [timestamp: 1:16:24] and (2) staying in the already loaded level when joining a server (e.g. lobby) [timestamp: 1:14:22)]?

Cpt.Tripps
Автор

I'd rather watch some c++(or BPs, but only from scratch) tutorial with code explanation with as much as possible detailing. where it would be said why we use X (actions, arguments, naming and so on) thing and not Y. It would be great to see/hear some analogy(not the only way of doing it) for the functions you may show in the feature.


But nevertheless this video is super informative and clear! I do appreciate how These 2 dudes explain it!

utmostcreator
Автор

"For obvious reasons i wont be typing that in" made me chuckle

treasureboxofmemes
Автор

Project files MISSING! Link is not working! Oops! That page doesn’t exist or is private.

EasyRideCZ
Автор

40:00 owner and instigators dont have a clear distinction.
What he described sounds the opposite of what i understood.
In ue 5 also theres a new change. That an actor cant trigger a server rpc unless they have an owner that its a local player. (Or ultimately the owner chain resolves to the local controller).

nandkudasai
Автор

I am square like an ethernet cable. Actually I was in Boston. Then I left. Time to watch and wish I was there to ask all my questions!

iamisandisnt
Автор

Hello,
Thank you very much for this video.
A question seems important to me: in a sport game (with a ball and some online players) is it necessary to separate Frame Rate from Physic Tick Rate to build an efficient netcode like that of rocket league?
If so, is there an easy way to create this separation?

wecomfrom
Автор

Hello there I have a question. I am making a game and it is suppose to be a multiplayer battle royale type of game the question i want to ask is that every multiplayer game requires SERVERS and for a game that is to be played by a million it need alot of servers. Does Epic games/ Unreal Engine provide any type of service in which we can use a server farm from Epic games or not?

sentalogic
Автор

I'm Testing VR multiplayer using standalone with network emulation.
The active window always runs at proper tick rate but any inactive or unfocused window gets throttled to 100ms per frame. Because of this when i test client side things then the server runs slow and doesnt update the way it would normally.

Do you know how to change the throttling of a standalone window when it is running in the background?

ThatTechGuy
Автор

So the question I have, I got a source build up and running, build a dedicated server for testing things between different hardware on the same home LAN network

The idea would be to load the server and have it start the map,
And have a UI that can
Start a offline game, start a local listen server, join a local listen server, join a home network LAN server by entering the IP the server is running on, or finally join a outside server ( like steam )

Now the issue I find is when joining the dedicated with a client say my desktop (where my laptop runs the dedicated server standalone ) I get "oss no game session to leave for session (games session ) error in the server log

players can connect on the server and seem to be working, even if one is on the laptop with the server and one is on the LAN.... but I get that error on join and leaving from both pc's

Has anybody ever figured out that error ?
I've seen a ton of people asking over the last few years with very little real answers or fixes

It seems to me that the server loads a character on creation of the server, which I change to an empty pawn or character and has no effect 🤔

Multiple player starts seem to not fix it either

It seems to be on creation of the server auto loading a character to one of the player start regardless of how the game mode override is setup


Is there any actual clarity

On building and joining a dedicated server on a network and how to possess either the server character that spawned or to have the server not spawn a playable player character until you've joined ?


In essence I'd like the server to just run 24-7 with a programmable reset interval, and be able to connect or disconnect at will within a Home LAN network,

Possibly adding join outside network servers once I get further along

There seems to be no real information about how to actually make this work properly without having to have some service like Amazon server hosting or something

To me if your building a game for people to play, emulation through PIE is basic, then you move to testing on a dedicated, then you move to public testing with a dedicated, then you bug hunt

Otherwise you end up like cyberpunk 2077 with a game that worked in an editor but not on people's actual hardware and you get sued for your crap game for lack of actually testing it

And there seems to be absolutely no real hard information on this that isnt scattered, lost in tutorials or just not assembled very well 🤔

Is there any idea if there will be some real breakdown of how to set up a dedicated server on a private network for testing purposes so some of us aspiring people can avoid a lawsuit filled future being unable to properly test functionality across various platforms

It just seems like there is a real lack of clarity on anything that involves a dedicated server that doesn't involve paying other people to host it for you

TheTrifel
Автор

is it still working for 4.25 ? Because I watched alot of other tutorials (made for other versions than 4.25) and all of the don't work for me.

DiversityCraft