Warnings

Started by
7 comments, last by 215648 7 years, 1 month ago

I don't know what's causing these warnings.


LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.
LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.
LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.
LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.
LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.
LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.
LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.
LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.
LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.
LogNet:Warning: UIpNetDriver::ProcesRemoteFunction: No owning connection for actor BaseCharacter_C_1. Function Set Is Sprinting will not be processed.

[attachment=35020:Capture.PNG]

Everything just works fine as expected despite the warnings.

Advertisement

It looks like you're trying to call an RPC on an actor you don't have authority for.

You can check if the Role of the actor is Authority and avoid the call if so, but that will still result in the call not happening. If you need the call to happen, you probably need to move it to someplace where have authority over the actor.

It looks like you're trying to call an RPC on an actor you don't have authority for.

You can check if the Role of the actor is Authority and avoid the call if so, but that will still result in the call not happening. If you need the call to happen, you probably need to move it to someplace where have authority over the actor.

I'm already using "Switch has Authority". I also found another function "Has Authority" which returns a boolean. Is there a difference between "Switch has Authority" and "Has Authority" ?

I remember running into something like this, It had to do with Actor ownership.

Does the actor have an owner?

Here is a link to the "Actors and their Owning Connections" doc.

You can also read through this thread here, It mentions that you need to own the actor you are calling the RPC on.

I could post what I have done for networking in BP's if you want.

HTH

Never say Never, Because Never comes too soon. - ryan20fun

Disclaimer: Each post of mine is intended as an attempt of helping and/or bringing some meaningfull insight to the topic at hand. Due to my nature, my good intentions will not always be plainly visible. I apologise in advance and assure you I mean no harm and do not intend to insult anyone.

I'm not sure what the difference between HasAuthority and SwitchHasAuthority is, I suspect nothing (the latter sounds like a macro using the former).

If you look in the code, this warning is generated due to a lack of an "owning connection." Authority is one reason this might be an issue, but there are other things that could sever or fail to establish and owning connection.

I checked it and "Switch has Authority" is indeed a macro which uses "Has Authority". Anyway, I don't know why are those warnings only appearing for that since I've similar functions set that way and I get no warnings for it.

Is it because I'm calling "Set Is Sprinting" to false (and true when sprinting) every frame from EventTick?


For example - I don't get warnings for the following code in the same blueprint

[attachment=35049:Capture.PNG]

I could post what I have done for networking in BP's if you want.


Would be appreciated.



EDIT : I fixed it by using "Is Locally Controlled" but I've no idea why it worked, lol.

[attachment=35050:Capture.PNG]


EDIT2 : I think I might know why but I am not able to explain it :/

Read up on the Unreal networking model. "Is Locally Controlled" is basically a check to make sure an actor is controlled by the local instance, versus an actor that is controlled by some remote server (when the local instance is a client).

I just checked, And the BP code that I have is like yours.

But I don't check for authority as I am using custom events that only execute on the server/client.

The C++ code I have works the same way as the BP version.

I ran into a similar warning due to an ownership issue (It was from the weapon from the FPS template that I was converting to network friendly)

EDIT : I fixed it by using "Is Locally Controlled" but I've no idea why it worked, lol.

attachicon.gifCapture.PNG

EDIT2 : I think I might know why but I am not able to explain it :/

Wierd, But atleast it solved the warning.

Never say Never, Because Never comes too soon. - ryan20fun

Disclaimer: Each post of mine is intended as an attempt of helping and/or bringing some meaningfull insight to the topic at hand. Due to my nature, my good intentions will not always be plainly visible. I apologise in advance and assure you I mean no harm and do not intend to insult anyone.

I am able to explain why it worked now.

It was because the functionality of sprint was written in "Event tick" and I didn't do IsLocallyControlled. So When I set SprintButtonDown to true in my local client, it was also replicated to all of my remote clients and then I tried to do this in every remote client because I did not have IsLocallyControlled check

//this code was executed in all remote clients when it should only be executed in local (or owning) client

//Only owning client can Call RPCs

if (SprintButtonDown)

SetAndReplicateToOthers_IsSprinting(true);

EDIT: My explanation sucks :P

This topic is closed to new replies.

Advertisement