#multiplayer

1 messages Β· Page 400 of 1

winged badger
#

triggers if bAcceptingConnection is false

thin stratus
#

Just looked at it

#

It triggers if "bPassedChallenge" is false and yes if it accepts connections

#

Hmm

#

Seems to be running on tick though

#

So if it fails it just tries again

#

Welp, the Client seems to connect despite that warning

winged badger
#

it might be a matter of timing

#

and it might be common occurence, considering most people don't log LogNet VeryVerbose

#

yeah, was tracing the wrong warning above 😦

#

with bAcceptingConnection

full bane
#

is there a built-in way to monitor tick rate of a dedicated server?

lean hornet
#

for using steam ?

full bane
#

at least the config part, yes

#

the .dll's should be supplied though, at least v139

lean hornet
#

so i dont need to manually update to v142

full bane
#

only if you want to

#

not sure if there is anything new though

lean hornet
#

I just followed these steps because i had alot of issues with connectivity and testing in the past few days

#

for example i cant even host sessions anymore in PIE

winged badger
#

steam won't run in PIE

lean hornet
#

but i was able to do it before no issue and i know that steam wont run

#

what can i do for testing in pie ?

full bane
#

it falls back to a backup if steam doesn't run

#

so maybe you were able to find lan games

lean hornet
#

im going to test hosting a lan game really quickly

#

also if i package a project do i need to pack steam into it ?

full bane
#

or just try standalone

#

that should run with steam

lean hornet
#

Okay Anything else than manuallly adding the steam_appid.txt

full bane
#

you don't even have to do that

lean hornet
#

oh ?

full bane
#

unreal creates one if oyu added your appid in the config

lean hornet
#

i did but it doesnt always do that for me for whatever reason

full bane
#

do you see the overlay when starting standalone?

lean hornet
#

now it works

full bane
#

Shift + Tab

#

well, then it thats it

#

everything else should be a different issue

#

like not using sessions correctly

#

or wrong settings

#

ports

#

etc

lean hornet
#

can i ask you one more thing ?

full bane
#

bRelaunchInSteam, it's probably a good idea to set that to true

#

also is that your real appid?

lean hornet
full bane
#

if that is the case, I think you have to write the steam support to whitelist your game for p2p usage

#

ya, I would try with 480 first

#

if that doesn't work, then dunno

lean hornet
#

so i can remove the p2p usage ? i was just following the steamworks tutorial from steam thats why

full bane
#

not even sure, tbh

#

how ue4 handles this internally

lean hornet
#

So also if steam doesnt allow loading in pie whats the best way to test networking locally ?

#

because even after all those changes i still cant host locally

twin juniper
#

you can use standalone, or a test build with your defaultengine.ini configged like that.

#

i always package out to test steam builds.

full bane
#

or an editor shortcute with your project and -game as start parameter

twin juniper
#

^

lean hornet
#

What would i need to change to locally test it in pie for now ? i dont really need to use steam right now i just need to test networking in general

#

and haveing to package it out every time is a additional step wich i rather not take at this moment if possible

full bane
#

for that you can just crank up the number of clients in the play drop-down

twin juniper
#

if you want to test networking, just set it to 2 players and run it in UE..

lean hornet
#

oh nvm i just realized i dont even have to host a session i can just open the map and PIE

#

Thank you both^^

twin juniper
lean hornet
#

i got that part

#

everything works now.

twin juniper
#

no problem, just wait until you have to do a dedicated server

#

πŸ˜›

#

those are the best

lean hornet
#

dont worry that wont be any of my issues anytime soon its a playerhosted simple game project xp

twin juniper
#

@lean hornet "path to unreal binary\UE4Editor.exe" "path to game project\gameuproject" -game will get it to test locally, or you can use -server -game -log at the end for local server testing. taht';s what Denny was reffering to earlier

lean hornet
#

Ohhhhhhhh

twin juniper
#

yep

meager spade
#

this is annoying me, trying to get an anim to replicate reliable but for some reason it just doesn't

#

works fine the first time, second time, it just doesn't animate

worthy wasp
#

is there a way to make an HPBar (UWidget) face the character at all times - but be local? In a multiplayer setting - each local player would have enemies HP bars face towards the player character - but not be replicated in rotation.

I typically have pulled this off with a tick event, setting the rotation of the widget to the player if(!HasAuthority()) but this could get pretty expensive with 50+ enemies on the scene (which will be easily done in this game mode)

#

my thoughts were to use a MaterialBillboard - with a child widget parented to it - but this doesnt drive the rotation of the children unfortunately 😦

#

even though i'm doing this via C++ so it'll be fast - i still want to optimize this if i can.

full bane
#

you can attach the widget component and set it to screen space

#

that should take care of everything automatically

worthy wasp
#

ah lemme try that - thanks @full bane - let you know how this goes in a sec!

versed socket
#

@worthy wasp You can make a widget component as part of the actors

worthy wasp
#

is that it?

#

-πŸ’―

thin stratus
#

Idk if I'm late to the party

#

But 4.20 has:

Networking Updates:
-Replication Driver / Replication Graph (Experimental)
--UReplicationDriver is a base class that can be used for implementing custom server replication logic.
--UReplicationGraph is an implementation of UReplicationDriver that provides a replication system optimized for games with large actor and player counts.
-Steam Authentication has been added.
worthy wasp
#

you sire are NEVER late to the party ❀

thin stratus
#

:D hehe

full bane
#

Steam Authentication has been added

#

not too long ago I've spent a frustrating week of doing this

#

😦

#

also the ReplicationDriver sounds amazing

thin stratus
#

Yeah that's actually kinda cool

marsh gate
#

Anyone used GameLift before? How was your experience?

wary willow
#

So, who knows how to use Replication Driver/Graph ? πŸ˜‰

fleet sluice
#

@wary willow Can't wait for 4.20-release?

sharp hornet
#

Currently I would estimate exactly 2 people, both of whom work at epic

fleet sluice
#

I haven't come across any "how-to" about those.

wary willow
#

@fleet sluice as long as they test

hasty adder
#

Think that replication driver is foundation for instant replay maybe?

marsh gate
#

How do we implement something like Fortnite's crossplay features?

#

Is this a difficult undertaking

fleet sluice
#

@hasty adder Wasn't the UDemoNetDriver class supposed to handle everything about replays?

hasty adder
#

Not sure. All I know is instant replay is on the todo list and I’m hoping the work will make it easier to implement stuff for live network games πŸ˜ƒ

sharp pagoda
#

@marsh gate I believe you have to design your own online subsystem that can cooperate with Steam, Xbox, PSN, etc. To answer your question yes it would be a difficult undertaking

hasty adder
#

Doesn’t it all just come down to connection to the dedicated servers?

#

For instance you canoad game in steam and connect to a null dedicated server

sharp hornet
#

Replication driver doesn't have anything to do with instant replay, it's a thing for optimizing network bandwidth and server cpu usage for large player counts

hasty adder
#

Ah

copper portal
#

I have this problem when I respawn everyone in the lobby. It respawns everyone but the person who won. PM me if you have any ideas, I can give more info there

wary willow
#

@marsh gate crossplay, moderately difficult. Depending on platforms. But generally..

#

Need your own custom oss (or at the very least customize current ones)

#

Or a backend

#

Like GameSparks

#

I should have tried out PlayFab this go around

#

Maybe next time

#

But heard they are pretty good for cross platform as well since not only is it BaaS, they provide server solutions as well

marsh gate
#

Or a backend... hmm

#

I'm planning on using AWS GameLift

#

@wary willow @sharp pagoda I'm not sure if they have that sort of functionality already built in, but if they do, that'll come in really handy. I have no idea what an Online Subsystem even is right now LOL.

#

Reading up on it

mellow cipher
#

Is there any info on this anywhere?

wary willow
#

Everyone and their mom wants to know

#

Hopefully we'll see an Epic dev post something

mellow cipher
#

I hope its a button that turns my game into fortnite

umbral adder
#

does a dedicated server have a player controller?

#

and does the dedicated server have a pawn spawnned in the word

#

@mellow cipher also what is steam auth i though ue4 already has steam

mellow cipher
#

Steam auth checks if you own the game

#

When u join a server/game

#

Else pirated versions can play online too

umbral adder
#

ok

thin stratus
#

@umbral adder Dedi Servers aren't players. So no.

umbral adder
#

@thin stratus MEANING NO PAWN?

#

only gamemode?

thin stratus
#

Why would he have a Pawn? :D

lost inlet
#

@mellow cipher the shooter game sample will be updated to show how to use replication graph

mellow cipher
#

Shooter game actually gets updates OwO?

lost inlet
#

well for the 4.20 release it will

mellow cipher
#

Oh baby I'm hyped

pallid mesa
#

@lost inlet source on that?

lost inlet
#

dev-networking branch

pallid mesa
#

gona take a look thanks sswires

lost inlet
#

it might not be on github, i don't think they have the sample projects on there

pallid mesa
#

P4 if anything

#

well maybe they don't have the sample projects on github

#

but they are making a reference in the github on that branch you say

#

right?

mellow cipher
#

Anyone know where abouts the replication graph stuff is in the source?

pallid mesa
mellow cipher
#

Cheers mate

meager spade
#
LogNetPackageMap: Warning: FNetGUIDCache::SupportsObject: ParticleSystemComponent /Game/ThirdPersonCPP/Maps/UEDPIE_1_ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.BP_Twinblast_C_0.ParticleSystemComponent_86 NOT Supported.
LogNetPackageMap: Warning: FNetGUIDCache::SupportsObject: ParticleSystemComponent /Game/ThirdPersonCPP/Maps/UEDPIE_1_ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.BP_Twinblast_C_0.ParticleSystemComponent_87 NOT Supported.```
#

only started happening

vocal dagger
#

I have a question about general session creation and session join, I've been using the NULL subsystem for this, when I create a session with a player (without server travel) and I dump the session details it shows 0 Registered Players, if I then join that session with another player (no client travel) and dump the session, it still shows 0 Registered Players also no players seem to be in that session from the NumOpenPrivateConnections. Do I require to travel to a Lobby Map in order for these players to register and start updating the NumOpenPrivateConnections?

ruby meteor
#

How do I correctly get the ping of a server in my server browser? I am currently using in BPs: Session->GetPingInMs, but that one doesnt seem to be accurate or update unless I refresh the server browser multiple times, whats the best way to get the ping of a session, and update it every second?

bitter oriole
#

You want every client to ping every server every second ?

#

Sounds like a really bad idea πŸ˜ƒ

ruby meteor
#

Maybe ping it a few times on server browser refresh, and then get the median value of all pings? the way I do it right now displays too high pings

thin stratus
#

Pings aren't meant to update after you received the list. :D

full bane
#

those pings aren't accurate anyway

#

depending on your oss

ruby meteor
#

But the pings from the logs ('found server xxx with ping xx') seem to be much more accurate than my server browser pings

wary willow
#

tbh

#

There are some external solutions

#

Just need to make something to ping current city to target city

#

or region

#

Depending on how much data you can get from each player, can be super accurate, or semi-

#

I was thinking about using GameSparks to do that eventually

#

But I think there are some other (maybe even better) solutions

prisma ore
#

Hi guys, got a weird behavior with my MP Game ....

hasty adder
#

Yeah pinging region is how rocket league works

#

It pings it’s server farm not the instance of server itself

prisma ore
#

FPS game, when a client connects, if the host character is running around, then the client see the host player in the wrong spot !

hasty adder
#

Then when connected it can run a routine with a time stamp message to get time sent time returned for live ping and split the time

prisma ore
#

anyone has a hint for my issue ?

hasty adder
#

Movement in the pawn set to replicate?

prisma ore
#

yes, it replicates perfect if server host is not running around

#

the effect on the client is like the the local position of the character is being offset .. when i just look around on server, the client then see my skin move around my location on a big circle ... not sure how to explain properly

dull stream
#

so I have the server spawn a bunch of cubes at begin play, but theres horrible "pop in" effect as the actors become relevant (?)

#

I want to be able to see them on the client from a distance

#

so okay I thought I should spawn them on the client, however that doesnt seem to work

#

I dont know what to do to fix this issue, theres gotta be some conceptual thing I am missing here

#

its just static objects

#

i should be able to see them from anywhere without communicating with server

twin juniper
#

anyone know why my dedicated server game i hosted on ec2 might be 4.5 GB in ram use? if the answer is textures, i already set compression to 512, many of them are 4096. does unreal use the imported texture size in dedicated servers, or the compressed one?

dull stream
#

nvm i figured out my issue i had to replicate movement and make it always relevant i think

twin juniper
#

B-ry if you spawn the actor using multicast it should work without replicates/replicates movement

#

otherwise yes you will need those.

dull stream
#

I tried that

#

hm

#

it might be because i am spawning randomly sized cubes

#

server decides the random size

#

would it still work in that situation? because i tried a lot of things and it didnt seem to work for me

prisma ore
#

check the network culling setting ?

dull stream
#

@prisma ore you would still need to replicate to use that yes?

#

so i could replicate, but have the pop in only for really distant objects?

prisma ore
#

the parameter is a distance (or distance squared, not sure)

#

so anything farther is culled

dull stream
#

that did fix it, no longer need to always be relevant

#

im still a bit confused why i even need to replicate though, I guess its because i change the scale after its spawned

prisma ore
#

nah, you replicate so every other client see the same thing as you

#

you being the server

dull stream
#

right. hm. but it seems to me like if its a static object that doesnt move during game the client could just be responsible for what it sees, and server just handles collision. but maybe im thinking too deeply about this

prisma ore
#

you are generating those objects at runtime, right ?

dull stream
#

yeah I am. spawn random cube type at begin play, call a function on that cube type to get a random scale value

#

then use that random scale value to set its size

#

initially i was trying to use that random scale and spawn identical versions for each client

prisma ore
#

Once the cube has been replicated, if it does not move or scale etc then no network data will update it so you're not losing bandwidth

dull stream
#

ohhh okay thats good to know

#

so its not constantly checking for changes

#

the clients arent

prisma ore
#

the server calculates a delta .. and if that gives a zero transform .. no need to replicate again

dull stream
#

okay i see, thanks

prisma ore
#

yw

dull stream
#

so why do you think it culls then? if you've seen the object once, and you move away... is that just so you dont have inaccurate/out of date information about the object?

#

it just hides it rather than giving you a visual on a potentiall out of date actor?

prisma ore
#

the culling is usually done to keep performance

dull stream
#

performance for the client?

prisma ore
#

in this case, for net culling, performance with the network and a bit for visuals

dull stream
#

i guess what i mean is, instead of just letting the actor exist as what you have most recently seen without communicating with the server, it hides it.

#

which makes sense especially for non-static things like players or enemies

#

sorry kinda just thinking out loud

prisma ore
#

yes, things that could also be heavy to replicate even if they are fare

#

*far

dull stream
#

cool. now time to figure out how to build the dedicated server and join sessions hah

prisma ore
#

what version of engine you on ?

dull stream
#

19.2

#

i have the source

prisma ore
#

im stuck on 4.16.3 for my project

dull stream
#

why stuck, too much refactoring to update?

prisma ore
#

ya, that would require huge refactoring

#

it was my boss that created 99.9% of the game and all he had done in the past was MS Access stuff lol

dull stream
#

ouch

prisma ore
#

he has impressed me actually

dull stream
#

oh?

prisma ore
#

he knows the engine much better than me

dull stream
#

always good to work with someone who knows more than you.

prisma ore
#

my knowledge is more with C# than UE blueprings

dull stream
#

ah

#

big change

prisma ore
#

ya, lol

#

i did create the server side of an MMORTS

#

using C#

dull stream
#

was this unity?

prisma ore
#

no, just pure c#

#

the UI is in flash

dull stream
#

haha fun

#

i had to do some flash stuff at my last job

prisma ore
#

flash is a damn PITA lol

dull stream
#

yeah no kidding

#

it was a nightmare for us too. there was this interface between python and flash scaleform

#

bleh

#

i mean once you got the groove of it, worked ok i guess but still a pain

prisma ore
#

i have clients sometimes getting a "flash not installed" message, yet they had not updated the version of flash

dull stream
#

lol

prisma ore
#

then some players get back and say "clear your browser history, clean temp folder .. and it will work again" ... duh !!!

dull stream
#

haha

hazy herald
#

Anyone want to help make mobile game please message me.

winged badger
hazy herald
#

@winged badger it’s read only

winged badger
#

you need to message the bot and fill out a form, there is instructions how to do it somewhere

#

yes, its pinned on the channel there

marsh gate
#

@twin juniper probably want to use GameLift instead of EC2

thin stratus
#

Wasnt there a gitHub repo exactly for that

prisma ore
#

anyone can help me with a strange case when client is connecting?

light nymph
#

has anyone got VOIP working with the Null subsystem on 4.18?

prisma ore
#

not me, sorry

copper portal
#

I have a problem with my respawn system. I dont wanna fill up the chat with screenshots so if you can help, pm me

twin juniper
#

@marsh gate hey. was looking into this. as long as the code overhead is not too bad i can try it. saw they have some kind of automated downtime and dynamic instancing for diffrent times of day. i am totally fine with a ded server staying up for 24/7, just need to focus on optimization and trying to get the graphics util down to below 4GB for my dedicated server build. i am fairly certain the problem is coming from my graphics. so since i add in like tons of 4096 maps, it might be causing it. problem is i got some of my assets on the marketplace, and they were imported from other users hard disks do i dont have access to the original texture files. would be happy to manually convert everything in a batch image resizer, just need to figure how to get at all the files. if anyone else has any idea why a dedicated server build might be taking up 4.5 GB for the exe please let me know, would love to hear ideas on that. trying to get it down to under 4 GB so my ec2 pricing is halved ($40 a month instead of $99 a month).

marsh gate
#

I know there's a lot of performance analysis tools that UE4 comes with @twin juniper

#

I have never used them before, but I know it is extensive

#

that's such a random error, missing sky sphere? Idt I ever even touched a sky sphere

twin juniper
#

for that error did you fix up redirectors on the appropriate folder, and try repackaging?

#

make sure there is no dangling references anywhere to anything you might have imported from marketplace?

dull stream
#

this is kind of a silly question, but I guess functions that arent marked specifically as client or server can be called by anyone?

#

and follow up question, if this is the case; why mark something as Client or Server instead of having if statement and checking the actors role? cleaner code?

#

nvm i did some reading and i understand it better. its more along the lines of when a client wants to call a function on server and vice versa

#

rather than determining if the code should be executed (although it does sorta do that but thats not the main intent)

marsh gate
#

I have no imports from marketplace, but I'll check redirectors

umbral adder
#

hey guys
i am using advanced steam sessions and i am using this: to make a friend invite system

#

the event doesnt get called

#

only on session recieved

#

this is my gameinstance

#

@thin stratus ?

marsh gate
#

@umbral adder when is the event being called? Does it ever get called?

#

if it is the case that it's never being called, the issue is in another part of your code where the Event on Session Invite is being called

#

Not in the implementation of the event

umbral adder
#

@marsh gate it never dets called

#

hm..

marsh gate
#

So where is Event on Session Invite Received being called?

umbral adder
#

ill send a screenshot

#

it is called in steam and here:

twin vault
#

are you using two steams, on two different computers?

umbral adder
#

@twin vault yes

#

i have my own appid

#

and the overlay works

marsh gate
#

Send Session Invite to Friend's implementation is what calls Event on Session Invite Received?

umbral adder
#

yes

marsh gate
#

Then debug that

#

Use the BP debugger

#

see if it's being executed properly

umbral adder
#

bp debugger?

#

print strings?

marsh gate
#
  1. Play game
  2. Go to the BP you want to debug
  3. On the top right click "debug filter"
  4. Select your BP
  5. Observe red lines demonstrating nodes being executed
#

more efficient than print strings

umbral adder
#

ohh ok

twin vault
#

you created a party right?

#

i think you need one to invite at all

umbral adder
#

@twin vault party?

#

no

#

just sent 1 invite

#

@marsh gate does bp debugging work with blueprints?

#

and in standalone build?

marsh gate
#

yes its designed for blueprint

#

and only works for blueprint

umbral adder
#

ok

marsh gate
#

what's a standalone build?

umbral adder
marsh gate
#

ayyyyyyy

umbral adder
marsh gate
#

did it work?

#

ahhh

umbral adder
#

u know?

#

u should know

marsh gate
#

Yeah I've used standalone a few times

umbral adder
#

@marsh gate no thats just the invite part

marsh gate
#

Idk if it works with debugging

umbral adder
#

steam works only with standalone

marsh gate
#

what's the prupose of standalone vs. PIE

#

ah

twin vault
#

its called lobby* not party, i though you needed one to invite πŸ€” but seens you're inviting already

umbral adder
#

standalone is like the finished model which acess other external libs

#

yea @twin vault the received part is not working

#

ok i joint session

#

but

#

i have a session ivite interface

#

on session received is not working

#

anyone know who is advanced sessions creator?

#

any ideas?

narrow trench
#

Hi, i have a question. Upon a client joining a session and traveling to the map. What would be the best way to spawn UI for that specific player?

umbral adder
#

HUD Class

#

@narrow trench

narrow trench
#

How do I distinguish between host and clients in HUD and new connections in general

umbral adder
#

there is a isserver bool node

twin juniper
fleet sluice
#

@narrow trench HUD is probably going to be deprecated or renamed to "PlayerScreen" (according to an already-old livestream) soon. It's best to avoid it and use 100% UMG, especially since HUD doesn't add anything new. You distinguish between host and clients by using SwitchHasAuthority.

dull stream
#

question about the following:

#
    {
        ServerSetMoveDirection(MoveDirection);
    }```
umbral adder
#

ok

dull stream
#

doesnt this mean that the simulated pawns will call the serverSetMove ?

#

and isnt that bad?

#

or do I misunderstand something

umbral adder
#

@twin juniper get player controller id returns 0 right?

#

and u dint answer my question

#

waht is the meaning of it

twin juniper
#

yes for self, i think its some kind of strange conversion or something to convert it to be used by the networked voice.

#

all i know is, that code works :>

#

i always call it from self in playercontroller

umbral adder
#

ohh so it doenst return 0?

#

ok

#

i dont get 1 thing get player controller id retruns the net player id or local?

twin juniper
#

just looked i think it does

#

you have to convert it to "byte" i blieve

#

believe*

#

to be used in that networked voice call

umbral adder
#

i am unable to understand

twin juniper
#

well

#

so if you have a player controller

umbral adder
#

nvm

twin juniper
#

and it can be any player

#

like player 1-8

#

ok

#

it works for me

#

when i press the button and any player tries

#

not just player 1

umbral adder
#

with steam?

twin juniper
#

yeah

#

i use steam online subsys and advanced sessions

#

somteimes packets drop

#

and mic dropouts

#

but it works

#

make sure to add the aadvanced session voicelines like mordentral states on his advanced sessions forum page into defaultengine.ini

#

should work.

umbral adder
#

when u hold it activates for u only right?

twin juniper
#

yep press and hold for me

umbral adder
#

and others can hear

#

ok thanks

twin juniper
#

i actually have an image that shows up too whenever a user presses it. so people who who's talking

#

so you can add that to a widget if you want to get people to see who talks

umbral adder
#

cool

#

like in ow

twin juniper
#

so if you exec the mic on and mic off events on server, you can set the var in an array

#

and then turn it on that way

umbral adder
#

i can do that thanks

twin juniper
#

i am a terrible programmer lol so i have bad code

#

yea np just an idea of how to do it

#

and yea i think like in OW although havent played recently haha

#

are u making a full game?

umbral adder
#

yes

twin juniper
#

cool man same

#

im adding menu options rn

umbral adder
#

u 2?

twin juniper
#

takign forever lol

#

yea

#

6dof game

umbral adder
#

6dof?

twin juniper
#

six degree of freedom game like descent from the 90s its a space clone

#

closed levels, full multi

umbral adder
#

ohh yea i think u sent a screenshot

twin juniper
#

yea

#

speaking of multi - i actually JUST got ded servers working

umbral adder
#

and i think i helped u afaik

twin juniper
#

lol i think so

umbral adder
#

ohh i got dedi long ago πŸ˜„

twin juniper
#

what host u use for ded?

#

aws?

umbral adder
#

ye ec3

twin juniper
#

same

umbral adder
#

but i stopped becuase no money 😦

twin juniper
#

dude my instance is 4.5 GB because.. textures probably. so i am paying 99 a month rofl

#

if my binary was just under 4gb i coudl pay less..

umbral adder
#

just using null servers

twin juniper
#

u can do ec2 free tier for a year if its t2.micro right?

#

hrm

umbral adder
#

hrm?

twin juniper
#

thinking lol

umbral adder
#

ohh

#

hmmm

twin juniper
#

are you gonna post to steam, mine is on steam. glad i did.

umbral adder
#

it is on steam with my appid

#

mabye my english was not proper

thin stratus
#

@umbral adder What's the Discord post for?

umbral adder
#

my game

thin stratus
umbral adder
#

...

twin juniper
#

sorry

umbral adder
#

wait

#

sorry

#

deleted πŸ˜„

thin stratus
#

:P Okay

umbral adder
#

πŸ˜›

twin juniper
#

gonna get back to menu and maybe work on some net tests a bit later.

#

ttyl

umbral adder
#

i was working on a lobby/ party template that ill be posting to marektplace

twin juniper
#

cool. dont forget to look at the MP right now dude there's some amazing stuff. i went on a spree. a literal spree. i got like i think 5 multiplayer assets already.

umbral adder
#

?

twin juniper
#

marketplace summer sale πŸ˜ƒ i sorted by low priced and kept going for like 30 pages loil

#

took me 4 days

#

i better get going. ttyl

hollow patrol
#

Anyone here have experience with dedicated server instance performance costs?

Like in personal experience, how much processing power and ram does a single instance of a typical ue4 project take up?

Trying to figure out costings of running all our dedicated servers on amazon EC2s, and how many game instances we can run on a single server instance

twin juniper
#

@hollow patrol i've done this.

#

the process is fairly lengthy (took me about 3 days to get everything working at full blast), but once it's up, it's really fun to see working πŸ˜ƒ fire and forget. i use t2.large for mine, the cost is roughly .13 per hour and 99$ per month. if you use t2.medium, your ram must be below 4 GB, and you are looking at roughly half that cost per month. you should run your game server.exe with -log enabled in a shortcut to see the console, and test your ram util / cpu util on your local machine first. that way you can gauge what you'll need instance wise by looking at the process details in the task manager of your machine.

#

hope that helps. let me know if you need some general paradigm advice on setting up the dedicated server. i have a friend on here who walked me through the whole thing.

umbral adder
#

anyone know's how to create the hoverable widget on clicked?

hollow patrol
#

@twin juniper yea. Thanks for the insight. How many servers can you run on a single large instance?

umbral adder
#

is all these 5 widget different or same?

scenic tangle
#

Does PlayerState get destroyed/cleared when a player dies?

umbral adder
#

no

#

@scenic tangle

scenic tangle
#

I'm getting strange behaviour where my variables are not being saved when a player respawns

umbral adder
#

do you destory the pawn and again possess?

scenic tangle
#

yes

umbral adder
#

send the error screenshot

scenic tangle
#

is that a new controller or something?

umbral adder
#

no

#

its a different class

scenic tangle
#

I'm storing the current weapon in the player state as an enum, and when the player respawns I want to give him the gun again from what he had selected before

umbral adder
#

it doesnt get destroyed

scenic tangle
#

but for some reason, the weapon enum is being reset to default even if the palyer changed weapon

umbral adder
#

make sure when u spawn the weapon get it from ps

twin juniper
#

@hollow patrol i am running one server. if you try to run more than one, you will need to do some kind of port setting for it. if you run more than one you can go up to the mem cap - but just make sure to keep all TCP / UDP / ICMP open with ec2s

hollow patrol
#

We use playfab for instance management. So launching multiple is easy

#

Do you know what your RAM per instance cost is?

scenic tangle
#

I'm casting the PlayerState to my own CustomPlayerState that I've created and when I switch weapon, it's like nothing is happening to that state (I'm stepping through with debugger and the variables don't update)

umbral adder
#

did u select the player state in the gamemode?

scenic tangle
#

yeah

umbral adder
#

playerstate take 2seconds to load even with a good pc

#

so add a delay

#

or

#

did u update the player state after weapon switch?

scenic tangle
#

what do you mean 'update player state'?

umbral adder
#

when u switch the weapon cast to player state and set the variable

scenic tangle
#

yeah that's what I do

#

I actually call a server RPC to switch weapon

#

but that variable is replicated

#

I've also got a client RPC call inside the server switch weapon rpc just to make sure it's updated on both server and client

#

that was just for testing

umbral adder
#

...

scenic tangle
#

what? πŸ˜„

umbral adder
#

john galt tutorials?

#

@thin stratus can u make a doc on online beacon

#

can u explain it to me?

proud cosmos
#

such a nice intro with such an ugly border over it

scenic tangle
#

Does player state have issue with running multiple instances in editor? Because my switching weapon works for one of the clients

#

and the second client seems like it uses the same state as the first client

gleaming bobcat
#

Use data breakpoint then

vocal dagger
#

I'm also interested in understanding how to use online beacons for the party system, but I've seen some stuff in the engine like the OnlinePartyInterface that makes me wonder if beacons are really needed for this purpose

#

but I guess explaining that beats the purpose of selling the party plugin on the Marketplace

umbral adder
#

yea

#

@vocal dagger u created a party system?

vocal dagger
#

working on it

umbral adder
vocal dagger
#

I'm still learning by looking at the engine and examples

umbral adder
#

engine examples?

#

where?

#

ahh partyclient & partyhost

vocal dagger
#

I'm right now trying to understand why beacons would be necessary for a party, I think you cannot join a session unless both client and server call their respective travels into a new map

umbral adder
#

mabye

#

but what i do understand is for example,

vocal dagger
#

so there is a lot of examples in the OnlineSubsystemUtils module

twin vault
#

if you dont use beacons youre bound to platforms wich implement the interface, steam, xbox, psn...

umbral adder
#

u want to dm someone but to do that ull need a connection

#

usally ull have to join the session to connect up

#

but with beacons its just simple tcp/ip stuff

#

its the base for ue4 networking

vocal dagger
#

but if I do care about the platforms that implement it, is it worth it?

umbral adder
#

beacons are necessary

vocal dagger
#

I'm not planning on releasing my game without Steam / XB1, etc

#

hmm ok

umbral adder
#

like i said DM's, u would at somepoint have a friend chat

#

and u wouldnt want the friend to join u just to chat

#

so yea beacons are necessary, always ue4 uses it πŸ˜„

vocal dagger
#

oh ok, I'm just not used to them, I need to understand them first, I have a long way to go I guess

umbral adder
#

yea

#

not much tutorials or docs

#

either

#

lets be friends and keep in touch

#

cedric_eXi h help would be appericiated

daring arch
#

hi!

It seems to me that Net Update Frequency is different for the client and for the server

#

is that correct?

#

in my game, my pawn has a NetUpdateFrequency of 10.

#

The server sees the client move quite smoothly while the client sees the server move in a jittery manner.

#

What gives?

umbral adder
#

steam? @daring arch

daring arch
#

not using steam.

daring arch
#

this is confusing: it seems to me that the server has a different Net Update Frequency

#

everything is smoother on the server than it is on the client

#

either that or the server has some sort of built in interpolation

#

any ideas?

icy nacelle
#

Whats the best way for a player to pick up another player? Should I be doing this by mounting the player onto another and then restricting their movement input?

marsh gate
#

Not restricting their movement input, just restricting their movement. You'd have a property like bIsPickedUp and you'd check this on every movement operation

#

You don't want to prevent players from even sending inputs to the game

#

Imo

#

@icy nacelle

icy nacelle
#

Yeah movement is what I meant, infact I've already sorted out that stuff using a bool variable

#

I'm thinking about more on how I should deal with picking up the player

marsh gate
#

You can attach the two pawns together

icy nacelle
#

Yes, I'm trying to figure out how to do this.

slim holly
#

if you're using regular character class, probably not possible

#

πŸ€”

#

like outright attach them

dull stream
#

picking up a player sounds difficult

#

definitely need some customized character movement

marsh gate
#

Guys how do I make a multiplayer match for players to join

#

That's what a session is right

#

Can I make it via BP?

#

I added in some code into GameSession::RegisterServer()

#

Idk how to connect to it though

#

Or how to even see if the session was successfully created

#

How can I see if a session has been successfully created?

wary willow
#
  1. You just do it, try PinnedMessages
  2. Yes
  3. Yes
  4. K
  5. Watch/Read tutorials or PinnedMessages code
  6. Simple Debug Print String will do or logs, or the fact you travelled OnSuccess to new map
  7. See 6
    @marsh gate
marsh gate
#

Thanks Victor :)

dull stream
#

Can someone explain to me when I should and shouldnt use the custom flags in the character movement component? For example, they use it for crouch and the wiki has an example with dodge where they use it...

#

but im not understanding the benefits here. like i know it compresses the boolean with other stuff

#

but then it has to do some wacky stuff with the simulated proxy characters

#

idk its just freakin strange, and it works for me but it doesnt show the animation for other clients when i do my dodge/dash right now.

#

I know its a loaded question, but maybe someone has experience adding a dash or dodge mechanic, and maybe they know how to get the animations to play for players other than yourself

meager spade
#

are you playing the animation through the blueprint?

dull stream
#

yes I am @meager spade

meager spade
#

the AnimBlueprint sorry

dull stream
#

I am calling a getter function which gets the bool which is part of the compressed flags

#

yes anim blueprint

#

i am getting the bool in the anim bp

#

the flag gets set via client input, so it makes sense the simulated proxy wouldnt have it set. but im not sure how to set it, or if i should be using a separate boolean thats replicated

#

theres a bCrouched in the Character class that is separate from the bWantsToCrouch (which is the compressed flag)

#

so i was trying to do that but idk

#

not sure where I should set it to true/false in the whole process

meager spade
#

the bool would need to probably be rep notified

#

and set on the server

dull stream
#

yeah thats what i was trying to do... Im probably not setting it to true int he right place

#

but im not sure where that should happen

meager spade
#

blueprint or c++?

dull stream
#

C++

#

im referring to the bool on my character that is separate from the flags

meager spade
#

how are you querying it in the Animblueprint for the dash?

#

based on the Movement Mode?

#

i did mine via a bool which gets removed then the dash is finished

dull stream
#

no no, not movement mode. Im just getting bDashed by callling IsDashing, which is a C++ function

#

isdashed exists in movement component

#

isdashing*

meager spade
#

so you would need to replicate bDashed to all clients via a repnotify

#

that sort of thing you trying to achieve?

dull stream
#

I wish i hadnt used the compressed flags... its making this more complicated

meager spade
#

compressed flags?

dull stream
#

yeah

#

one sec

#

its done that way in this tutorial

meager spade
#

oh right, yeah i use Gameplayabilties

#

and reference a set tag

#

those bools should be replicated though for multiplayer?

unique thunder
#

Any AWS gamelift users having issues with 4.19?

dull stream
#

uhhhh well, it works like i see myself dash functionally is correct

#

the only issue is

#

the other players dont have the animation playing

#

they move correctly and everything

#

its just the damn animation

#

i keep hearing about gameplay abilities i should probably be using that

meager spade
#

@dull stream only thing i can think of is you need to replicate the bool

#

so all clients get it

lament kettle
#

When I apply damage to a character, and then set the player state health..... and then do a (on-rep func) with the health being set, to show on the widget, there's a small delay?

meager spade
#

how small is the delay?

lament kettle
#

I would say 0.3 to 0.8 seconds

#

so 300 milliseconds to 800 milliseconds

#

Ah, I figured it out

#

Was set to 1 and 2

hazy herald
#

So I always get an error creating session anyone know how to fix

dull stream
#

ok thanks Kaos. I will probably end up reworking this stuff to use gameplay abilities anyway

#

but i do want to understand why its not working first

#

so I'll keep at it

umbral adder
#

@fossil spoke do you know how to connect to an online beacon?

fossil spoke
#

Not yet, im close to needing to know that myself. However here are a few links for reading material if you havent already done so.

#

@rough iron Wrote that last article on the Wiki.

agile lotus
#

Cameras shouldnt be replicated right?

fossil spoke
#

@agile lotus The PlayerCameraManager class provides Server Side information on Camera Location/Rotation information.

#

For Clients

#

But typically you would not replicate a camera no, i cant think why you would outside of the default state of the PCM.

agile lotus
#

using a shared camera and was wondering if it was a good idea to replicate it or let clients do it

#

if its already handled by the PCM then thats good

fossil spoke
#

For your game i think you should let Clients manage their camera themselves.

agile lotus
#

thanks for the tip πŸ˜ƒ

fossil spoke
#

Good luck

umbral adder
#

@fossil spoke thx

fossil spoke
#

πŸ‘

umbral adder
#

πŸ˜„

scenic tangle
#

Is it OK to store widgets in player state? e.g. I'm trying to implement a kill feed and even when the player dies, I still want the player to be notified of deaths

umbral adder
#

why store in widgets in player state?

#

store the kills in the player state

scenic tangle
#

yeah I'm wondering if that's a good idea or not - perhaps there's a better way

umbral adder
#

and bind the property

#

in the widget simple πŸ˜ƒ

#

i have already done mine

scenic tangle
#

but when the player is dead does he still receive updates?

#

because destroying the actor will destroy the widget wouldn't it?

umbral adder
#

no

#

who says?

scenic tangle
#

my assumptions πŸ˜›

umbral adder
#

just make a isvaild in the widget

#

unless remove from parent is called

scenic tangle
#

wait but don't you have a reference to that widget when you first create the character?

#

where are you creating this widget by the way? we might be talking about different things

umbral adder
#

i told u to create it in hud class

scenic tangle
#

HUD class is outdated now isn't it?

umbral adder
#

no

#

its just not used that much

#

reason being you can use a is locally controlled bool

#

but yes its not used much

scenic tangle
#

hmm ok thanks πŸ˜ƒ

umbral adder
#

πŸ˜„

fleet sluice
#

@scenic tangle Yes, yes it is. @umbral adder Should stop promoting it. Epic themselves said, in an older live-stream, that HUD will either be deprecated or renamed and repurposed. They use UMG in Robo Recall and Paragon. Period.

scenic tangle
#

OK thanks for the info vlad

umbral adder
#

hud class in the gamemode is just used to create widget's whats the harm in that?

#

instead of using a bool node and checking if its locally controlled?

fleet sluice
#

It's the equivalent of coding in Notepad and that's it.

umbral adder
#

πŸ˜„

fleet sluice
#

If you want to be stuck in the past, go for it. But don't teach others to do so as well.

umbral adder
#

so where is preffered to create widgets?

brittle sinew
#

Using the HUD and UMG aren't mutually exclusive; like Decode said, you can use it to spawn UMG widgets. If you're using it to manually draw things shape by shape however, that's a different story. πŸ˜„

umbral adder
#

πŸ˜„

#

not going to draw shapes xD.

fleet sluice
#

@scenic tangle Think of UIs this way: the engine was built for multiple local players. Each of these has an APlayerController actor associated. Each of them also has a screen associated, which isn't easily "visible" in BPs. Ideally, you'd create/destroy UMGs in an APlayerController subclass, because you're going to use that anyway, but HUD is just as optional as an APlayerState (sure, the engine creates all that stuff by default, but routing every single bullshit through some of those classes will just end up with a ARK/PUBG/ConanExiles-like performance).

umbral adder
#

btw Vlad, do you know about online beacons if so could you tell me how to connect them?

fleet sluice
#

The usual "single local player" type of game is just a particular case of what I said above and works the exact same way.

#

If that doesn't work, just mention Cedrix (eXi) again. I'm sure he's enjoying it.

scenic tangle
#

hahaha OK Vlad, cheers for the helpful advice

#

I don't want terrible performance like those games πŸ˜›

fleet sluice
#

Anytime!

umbral adder
#

i read that Vlad. but it doesnt tell us how to connect or pair them

#

is it a simple join session?

wary willow
#

Get SteamParty

#

and look at Source

umbral adder
#

plugin?

wary willow
#

ya

#

free tut

umbral adder
#

thanks

#

also is it necessary to
[/Script/OnlineSubsystemUtils.OnlineBeaconHost]
ListenPort=7787
BeaconConnectionInitialTimeout=48.0
BeaconConnectionTimeout=49.0

[/Script/Engine.Engine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")
+NetDriverDefinitions=(DefName="BeaconNetDriver",DriverClassName="/Script/OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")

put this in the config?

#

nvm its necessary

umbral adder
#

can online beacon functions be accessed by blueprints?

#

i see virtual void OnClientConnected(class AOnlineBeaconClient* NewClientActor, class UNetConnection* ClientConnection) override;

#

in c++ but is it exposed to blueprints?

dull stream
#

...well doing the saved moves and compressed flag stuff was great and all, good learning experience... but screw that. Im gonna learn gameplay abilities rofl.

#

i have no idea where that custom flag is being set by server, and i have no idea why I couldnt get it to replicate to simulated proxy... I ended up just brute forcing it out of frustration and setting it in tick rofl. works but this whole thing needs to be reworked 😩

#

the networking and client prediction in movement component makes my head hurt

agile lotus
#

I'm having trouble finding any created sessions, I can host and bring clients into online matches if I use party beacons but I'd like to have a server browser too for people who don't want to join a party

scenic tangle
#

in some of those articles he covers prediction

agile lotus
#

using Advanced Sessions it finds nothing and using the standard find sessions it fails to search

dull stream
#

@scenic tangle Nah I haven't but I'll check it out

cerulean hamlet
#

I thought AGameSession was supposed to handle the entire flow of creating a session and logging players in

#

Oh I see

#

it's when it's a dedicated server

#

by itself

summer iron
#

Is there any good documentation anywhere that explains how to use the networking especially the stuff that should prevent hackers/cheaters to teleport around or exploit network variables etc.?

winged badger
#

clients can only affect the server via server RPC

#

and can only push a variable to the server as an argument to the server RPC

#

all of them come with bool MyServerFunction_Validate(params); function that you have to implement by default

#

which is, aside from some special use cases, like Server instructing clients to disable user input for a bit, enough to prevent clients from cheating

#

listen server host is entirely different subject

summer iron
#

so I should avoid using client RPC functions when doing things that only the server should be able to do e.g. teleport players around

winged badger
#

server is absolute authority

#

when it client RPCs it notifies the client that something in its PlayerController hierarchy changed

#

has no affect on cheating

#

client can for example hack his location, teleporting, locally

summer iron
#

maybe ill understand it better with an example, how would this scenario secure against hackers: we have the player who needs to speak to some npc to fast travel somewhere, what kind of network functionality would you be using here

winged badger
#

on the server, and as far as any other clients are concerned the location of the would-be cheating client will not change

#

if he does that

#

next update for the client's character, server will replicate the location again and correct him to where it should be

#

in your example

#

say player presses E key to interact with the NPC

#

that is mapped to InputActionInteract in your ProjectSettings/Input

summer iron
#

yes, so on the server there would be a check if he is within the range of this npc

#

else it could be faked and he would be able to fast travel from anywhere theoretically

winged badger
#

and your, say, PlayerCharacter blueprint has a node to handle that input action

#

from there you just do a ServerEventInteract, replicated to server, reliable

#

and let the server handle all the logic required

#

is the NPC in range, did the player complete a required quest...

summer iron
#

and I would be using a UFUNCTION( Server, Reliable) void ServerRPCFunction(); for this

winged badger
#

the name is unfortunate

#

and also, WithValidation

#

but yes

summer iron
#

alright so in the XX_Validate function I would be doing all the checks or?

winged badger
#

that function will just drop the client

#

if it returns false

#

so no, you should be catching cheaters explicitly there

#

and nothing else

summer iron
#

yea that is what I meant, check if player is within range of npc and quests etc.

winged badger
#

you don't want to boot a player if he pressed E while being a meter too far from the NPC

summer iron
#

no but the client shouldnt send that interaction if he is too far away anyway

winged badger
#

basically ServerRPCFunction_Implementation() should handle the interaction

#

as it if were a single player game

#

and just ClientRPC the results

#

back to the player

#

like NPC is in range, and available for a chat, you should open a dialogue window now

summer iron
#

Alright I think I understand it now thanks

#

I got another question with this server/client thing, so basically if I want to hide some server logic for example a database connection from the game.exe how would I do that

#

the end goal is to have a dedicated server that connects to a database, and there would probably be a few things that I would prefer wasnt available in any of the exe/dll files the client needs to play

winged badger
#

dedicated server has a separate build

#

you wouldn't need to hide it because only dedi build would have it

#

my advice: get the thing to work now, catch the cheaters later

summer iron
#

yea sure I just like to understand things before I work with it, but how does the dedi thing make sense, I guess my question is more like how can I split the c++ code for client and dedicated server

winged badger
#

i have not worked with dedicated servers

#

but you would have some classes that exist only on server

#

easiest example: Component of a GameMode

#

and you would not package that class, or the database with your client builds

#

(educated guess now)

summer iron
#

yea ofc not, just wondering if I need to make a seperate module that is only available for the server incase all the c++ code is packed to 1 thing that the client needs

winged badger
#

that i can't help you with, probably not

summer iron
#

np ill figure it out eventually

icy nacelle
#

Hey guys! I've been trying to think of the best ways to handle this, and I thought it'd probably be best if I ask here before going ahead:
I've got a jailing system in my dedicated multiplayer game. Players are sent to jail for a certain length of time, and then released. If a player disconnects, their remaining time is resumed when they return. What kind of system should I create to handle this? I was thinking of having a timer on the player controller using 'Timer By Function Name', and then pausing it when they disconnect, and releasing them when the timer is complete. Are there any heavy downsides to using a system like this that I should be aware of? What would you recommend is the best way of doing this?

dull stream
#

my biggest concern would be about the number of players, and if players can be replaced. Lots of memory use if theres a lot of players leaving

#

I dont know if theres an alternative though other than having a database?

icy nacelle
#

Thanks for the response @dull stream, what kind of database would I be looking at creating? I'm already using a datatable to store all the items in the game, would it be using the same datatable system?

dull stream
#

oh i meant like, legit database thats separate from the dedicated server that has information about your players

severe widget
#

also you can't really write to a DT

#

I'd suggest a database as well

#

There's probably an alternative if you're ok with sketchy workaround for just-this-one-thing and just-that-one-server, but that isn't a good idea unless you can't avoid it.

dull stream
#

yeah it might be "ok" to do it that way but its definitely not a good practice to be storing persistent information about your players, even if they are logged off

#

just think about if you had like, a million players and your server executable is storing all that memory during runtime

#

regardless of whether or not you had like, 10k people currently playing

#

it would still be storing memory about all 1 million players

#

im exaggerating the situation to convey the potential issue

severe widget
#

sure.

#

and not only that

#

but you'd be storing the data all of players who ever logged in and not finished their sentence. (assuming you store beyond server shutdown)

dull stream
#

ya

severe widget
#

PID<->float really adds up fast

dull stream
#

yeah it could be dangerous

icy nacelle
#

Great, this is really helpful. I don't know anything about creating this type of database though, what's some keywords I can search this up to get a good understanding of how it works?

dull stream
#

I have no idea. Never done it and know nothing about it. πŸ˜†

icy nacelle
#

I see a lot of MySQL when I try and research the database, is this what I'm looking for?

dull stream
#

so Im interested in the answer as well

#

probably would need some sort of sql backend. but idk how ue4 would communicate with the database. i know theres json stuff in ue4, and theres nodejs plugins

#

plugins to help make the process easier. but either way you'd have to have a separate server with a sql database of some sort, probably

severe widget
#

if this is like an MMO with instancing and stuff

#

you'd have to have a database server

#

otherwise if its more like, say, Rust, you could get away with SQL on the same server

#

there's a few plugins to UE4 which assist with SQL and also doing JSON stuff

icy nacelle
#

hmmm alright, looks like I'll have to do some research and learning πŸ˜ƒ Thanks for your help!

#

Would it be good to store things like inventory and skill levels on the server also?

dull stream
#

yes, unless they are temporary and disappear when you log off.

#

anything that is persistent for a long period of time. wouldnt want the players to lose their stuff if the server crashed or there was maintenance

#

everytime you created a new server build, like when you add new content to game, youd shut down server and lose all the stuff

#

if its on a database it wouldnt be lost

agile lotus
#
[2018.06.09-17.45.28:705][433]LogOnline: Warning: Async task 'FOnlineAsyncTaskSteamFindLobbiesForFindSessions bWasSuccessful: 0 NumResults: 3' failed in 15.022457 seconds
[2018.06.09-17.45.28:705][433]LogOnline: STEAM: Found 2 lobbies, finalizing the search
[2018.06.09-17.45.28:705][433]LogOnline: Verbose: STEAM:  "gamedir" "unrealtest"
[2018.06.09-17.45.29:005][451]LogOnline: Verbose: STEAM: Server query complete '2' eNoServersListedOnMasterServer (No servers match)
[2018.06.09-17.45.29:005][451]LogOnline: Verbose: Async task 'FOnlineAsyncTaskSteamFindServers bWasSuccessful: 1 Results: 0' succeeded in 0.284243 seconds

Can someone help me figure out why I can't find sessions

icy nacelle
#

(apologies for the tag πŸ˜ƒ )

severe widget
#

Sure thing

#

probably has guides on setting up the whole thing

icy nacelle
#

Yeah, he's got a lengthy guide on forums.unreal

#

Thanks for your help with this one mate, wish me luck πŸ˜ƒ

lament kettle
#

Is there a way to do server sided line trace and if hit, it does client sided spawn emitters (without using an RPC ALL func) ?

vocal dagger
#

hey guys, I'm doing a map travel after I create a session and I've noticed something is wrong with my game mode, looks like it's not using the overrided GameMode I set on the World Settings of the new map, in the URL I cannot find out how to pass in the GameMode and if I don't pass it at all it still doesn't seem to load the new one

lament kettle
#

GameModes are based upon maps I think.

#

@vocal dagger

#

actually

#

I'm wrong

#

here you go

#

answer

vocal dagger
#

yeah I know, I set the GameMode in the world settings of the new map, but if I Server Travel (or OpenLevel with options) the new GM is not being used

lament kettle
#

No clue.

vocal dagger
#

oh so turning off* SeamlessTravel may do the trick? hmm, no prob man you helped me with that link already

vocal dagger
#

ok I take it back, well first my URL was wrong, then I thought my GM was not correctly set since I couldn't use my custom cheat manager from my PC set in that GM. Then I read this on the CheatManager base class commands only spawned in single player mode πŸ˜›

#

at least I got to learn more about seamless nonseamless and Travel_Absolute and Relative...

full bane
#

did someone give 4.20's steam auth a shot yet?

agile lotus
#

Can anyone help me figure out why I can't find sessions? I have a log here

[2018.06.09-17.45.28:705][433]LogOnline: Warning: Async task 'FOnlineAsyncTaskSteamFindLobbiesForFindSessions bWasSuccessful: 0 NumResults: 3' failed in 15.022457 seconds
[2018.06.09-17.45.28:705][433]LogOnline: STEAM: Found 2 lobbies, finalizing the search
[2018.06.09-17.45.28:705][433]LogOnline: Verbose: STEAM:  "gamedir" "unrealtest"
[2018.06.09-17.45.29:005][451]LogOnline: Verbose: STEAM: Server query complete '2' eNoServersListedOnMasterServer (No servers match)
[2018.06.09-17.45.29:005][451]LogOnline: Verbose: Async task 'FOnlineAsyncTaskSteamFindServers bWasSuccessful: 1 Results: 0' succeeded in 0.284243 seconds
twin juniper
#

With connecting via ip do I have to write a port too?

#

Or only ip

twin juniper
#

@twin juniper i use execute console command node -> open x.x.x.x without a port number for a dedicated connection, works.

#

@agile lotus any luck with your issue yet? the general process i use for testing listen servers with create and find session is by using two separate machines, and a steam test app id 480 in the defaultengine.ini file

unique thunder
#

What's easier / better for replication:
a) Play sound at location
b) Play sound component in BP

fleet sluice
#

@twin juniper If you don't specify a port, it defaults to 7777. If your server is on another port, it will fail (if you run multiple servers, they will bind to multiple ports).

twin juniper
#

ok

severe nymph
#

I’m trying to store a var across sessions using advanced sessions and I see that player controller is passed in. I created a var called left handed in my steam VR player controller and I’m setting a local var in my character bp on possessed with it ... it seems it’s resetting?

thin stratus
#

Your PC and the Session stuff don't really have to do much with each other

#

The PC that you pass in is used to retrieve a specific user ID in the code that the Session Nodes use

#

If you want something to persists, you either use SeamlessTravel and use "OnSwapPlayerControllers" in the GameMode to pass the data over (Server). You'd need to replicate the variable after wards of course.

#

Or if you don't/can't use SeamlessTravel, save it somewhere local (GameInstance/SaveGame)

thin stratus
#

Hm, just to refresh my memory: Why can't I override an OnRep function in a Child of a BP?

#

.>

fleet sluice
#

#feature

thin stratus
#

Β―_(ツ)_/Β―

pallid mesa
#

πŸ˜‚

agile lotus
#

@thin stratus That explains so much

#

damn

umbral adder
#

Could any tell me how would you achieve this setup of meshs

#

So we have to have 2 meshs?

#

Please @ me

cerulean hamlet
#

I am getting Removed Incompatible build whenever I am trying to search for sessions using the steam online subsystem

#

I am running the same build on two different computers with two different steam accounts, how come I can't find my session?

thin stratus
#

What AppID?

#

@cerulean hamlet

cerulean hamlet
#

480

#

I know everyone uses this

#

But I set the search results to 200000

thin stratus
#

Soo, what do you think is "Remove Incompatible Build" then

cerulean hamlet
#

and I still only see the same 4 sessions pop up

#

I know what it means, it's finding sessions of different binaries. But I am hosting a session from one computer with the same binary as what I am using to try and find it

#

how come I'm only getting 4 sessions when my search results number is so high?

thin stratus
#

@umbral adder One Base Weapon class, two child classes.
Each having their own Fire Weapon Implementation, Animations, Meshes, Sounds, etc.

#

@cerulean hamlet Well, Steam uses a Presence system, means it checks for your region, friendlist, friends etc.

#

That sadly has the problem that it often fails to find session if you aren't in the same download region as your friends

cerulean hamlet
#

I see

thin stratus
#

And I wouldn't trust the log there too much

cerulean hamlet
#

So I've set both steam accounts to be US - Boston

thin stratus
#

I haven't had issues using a custom AppID

#

Well it owuld increase the chance to find your mate

#

If you are on the same region

cerulean hamlet
#

for a custom AppID I need to have my own app id right?

thin stratus
#

Ultimately you want your own

#

Yeah

cerulean hamlet
#

iirc, I have to apply for one correct?

thin stratus
#

I wouldn't worry too much atm. It's only for connecting and serverlist.
You can still code all the rest of your game.
And if really needed, connect via IP (or lan session + hamachi or what ever you can come up with)

#

You have to setup a dev account iirc and pay the 100€ or $

cerulean hamlet
#

right

thin stratus
#

Then you should get your ID

cerulean hamlet
#

But it seems like other people have had success with 480, I'm thinking I should also see it

#

is download server the only thing that matters for region?

thin stratus
#

As far as I'm aware, yes

#

And a lot of people have trouble with 480

#

You are far from being alone

cerulean hamlet
#

is there a way to query for sessions outside of unreal

#

like from a web browser?

marsh gate
#

Q: When do we have to rebuild the <Game>Server.exe for a dedicated server?
Q: Is there a way to cache building the <Game>Server.exe so that it doesn't take forever just for a simple change?

#

Do we even need to rebuild the server much?

#

I thought whenever I make a change to my game I need to rebuild the server

#

I'm probably wrong, I probably only have to repackage the game

next falcon
#

The Variable "My Character" is only set on the server but it is replicated..
Why and how do i fix it ?

marsh gate
#

is the dedicated server on UE4 HTTP?

thin stratus
#

You need to rebuild the Server if you changed Server Code. @marsh gate

marsh gate
#

@thin stratus where can I edit server code?

thin stratus
#

Whereever you coded Server stuff?

marsh gate
#

@thin stratus You mean server code like any server has authority logic in a PlayerController for example?

tired jasper
#

trying to create a multiplayer, where each player is a rolling ball and they have to knock each other off a platform to win, but i'm having problems with the replication of the pawns/characters. Is there problems with replicating physics based movement for pawn movement?

strong breach
#

@tired jasper im working on the exact same thing lmao

#

I haven't had any issue replicating physics movement so far

tired jasper
#

@funnygoose haha, mind sending over some tips? =D

strong breach
#

What issues are you having

#

i havent tested over the internet yet but Lan works fine

umbral adder
#

Thanks ce

umbral adder
#

@marsh gate Google it and learn the questions your asking are out of range

#

Also Cedric I have tried everything but I think epic's fp mesh animations and tp animations don't match

agile lotus
#

Telling people to "google it and learn" isn't really a very positive message to be giving people seeking help. At the very least you could word it more politely πŸ˜›

umbral adder
#

thanks πŸ˜„

#

whats the best practise for making a hit marker?

severe nymph
#

Yea I get a hint of competitiveness among people learning in here where sometimes people come off a bit abrasive lol

#

@umbral adder hit marker? Collision detection? Sphere? Box?

umbral adder
#

no when u hit enemy player

severe nymph
#

Oh

umbral adder
#

ui displays a hit marked line

#

or crosshair

#

i have done it but its a bit intensive i think and i want to know an optimised way

severe nymph
#

Line trace

#

Then spawn the crosshair or effect as decal

#

On hit

#

Use hit normal to give the decal transform

#

No different than blood or any other particles you would do on hit

umbral adder
#

what's a decal transform and hit normal?

severe nymph
#

On hit and on overlap events

#

They return results and can break the results out

#

They have information like hit location, hit normal etc

#

Use that to execute a spawn decal node

#

Then from hit normal you tell the decal how to spawn and which direction to face

umbral adder
#

ok thanks

#

how is the gun being spawned?

#

i am not able to select it its also not there in the editor

#

is it being spawned in cpp?

umbral adder
#

and does the shooter example character have a camera?

tired jasper
#

@strong breach it seems when I use a standard static mesh pawn using applied force to move the pawn the client sees all movement but the server cannot see the client move and when the server comes in contact with the client the client snaps back to its original loc and then loses all movement control =/

#

But I was testing using steam over Internet

raven holly
#

Does the player state stay on the server when the player leaves?

#

I am wanting to keep some data on the server and allow the player to leave and reconnect

#

Is that possible ?

worn nymph
raven holly
#

Thanks mate

umbral adder
#

@worn nymph its up-to-date and anyways cedric only asked epic for that event πŸ˜„ so all thanks goes to him.

strong breach
#

@tired jasper yeah thats normal when you just enable replicates (im assuming thats all youve done)

#

im a super newb but you also have to send the move information to the server aso the server can see the client moving. Im still working on this part

#

you have to do something like (YOUR_MOVE_METHOD)_Implmentation and another verify method. If i can get it working ill try to help u more lol sorry if this doesnt help im confused myself

tired jasper
#

ah, thats where i'm stuck as well πŸ˜„

strong breach
#

I had it working but i accidentally deleted my entire project file...

#

Ill shoot u a message when i fix it though

tired jasper
#

but I think it was trying to set the location of the client at the same time the client was trying to move so the client was stuck in-place

twin vault
#

Anyone know a technique to avoid jitter on listen server? on clients i can just interpolate between the client position and the server position, obviously if i do that on the server it will have the wrong location, i though about just interpolating the mesh, while keeping the actor on the correct place, but that would cause to the physics asset to be on the wrong place

strong breach
#

oh im using c++

#

our games are the exact same thing lol

#

but its not stuck i dont believe i think the server is just updating its position (which is just sitting there) thats why its kind of jittery

#

just guessing here but i think you need to update the simulated proxy on the server's position (which is the ball the user is not controlling on the server)

tired jasper
#

hmmm, i'll have a read about 'simulated proxy' πŸ˜„ ...I also get this error message: "LogNet: Warning: UIpNetDriver::ProcessRemoteFunction: No owning connection for actor BP_MasterBall_C_0. Function RunOnServerEvent will not be processed."

tired jasper
#

May have solved it with this setup... I need to test online still but i'll let you know (Y)

vocal dagger
#

hey guys, does anyone know how I can travel into a LobbyMap without setting the session state to InProgress?

#

as soon as I create a session I do ServerTravel into this URL /Game/Maps/TestMap?game=/Game/Gameplay/GameMode/FNTestMapGameMode.FNTestMapGameMode_C?listen?bIsLanMatch=1

#

that changes my session state, then if I don't have bAllowJoinInProgress I cannot find the session anymore

vocal dagger
#

ok in case someone comes in here later, it looks like if you open a map after you create a session it will set the session state to InProgress, I think I can either 1. Update the session to Pending on the "LobbyMap" so that other players can find it and join or 2. Maybe I can open the map with the listen parameter and there create the session. I'm not even sure I need to open a map with the "listen" parameter, I think it's unnecessary

meager spade
#

@fleet sluice Does UWork have party functionality ?

arctic willow
#

My OnRep_EmitterSpawnLocation() doesn't get called when the variable get's changed :/
Can anyone tell me why?

shut gyro
#

@arctic willow the location has to be set on a Server of Multicast function call, you need ServerHit or something similar that can replciate the information and call the OnRep. Also make sure you set the variable to replicate in GetLifetimeReplicatedProps

arctic willow
#

yeah i got the GetLifetimeReplicatedProps

#

you mean "Server or Multicast"?

shut gyro
#

Yea my bad lol

arctic willow
#

make sense, i try that thx @shut gyro !

shut gyro
#

Call OnRep in the Server function as well. Pretty sure it needs to be called directly

pallid mesa
#

yes they need to

meager spade
#

@arctic willow also i would get some design on your code ::hit should be ::Hit

#

makes code horrible to read and is messy