UE1 - UT Timeout detection

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

Neo_b

New Member
Jul 2, 2008
72
0
0
Like I said lifespan (which is handled by native code obviously) doesn't matter in this case, so I think nothing is able to destroy the playerpawn... :(
 

Zur

surrealistic mad cow
Jul 8, 2002
11,708
8
38
48
Out of curiosity, why do you want to destroy the PlayerPawn ?
 

Neo_b

New Member
Jul 2, 2008
72
0
0
Just so that my mutator has such functionality after the playerpawn times out. Looks like a lacking puzzle in my script to me...
 

Zur

surrealistic mad cow
Jul 8, 2002
11,708
8
38
48
Have you pondered the idea that the PlayerPawn isn't destroyable by design in this case ?
 

Neo_b

New Member
Jul 2, 2008
72
0
0
Well, it's the only explanation I think, why would it be indestructible otherwise? But still I consider it senseless...
 

Zur

surrealistic mad cow
Jul 8, 2002
11,708
8
38
48
Well, I don't know if you've heard the expression that says, "If it ain't broke don't fix it". It may be nonsense from the game point of view but it's also harmless (unless you want to do something special). Perhaps the PlayerPawn needs to be kept alive for network communication. If communication isn't interrupted or handled properly, it can go haywire and spam packets of information in either way. I'm guessing this one of the reasons why a PlayerController was introduced in ut2004, so the pawn and the communication with the player are dissociated.
 
Last edited:

Zur

surrealistic mad cow
Jul 8, 2002
11,708
8
38
48
Right, I decided to post here after finding a sure way of detecting a timeout.

What you do is create your own ReplicationInfo. Inside this class, you have two functions. One of them is reliable for the client and the other reliable for the server. These two functions call each other sending a timestamp. You can then measure the time it takes between those responses.

I don't know if it's what you want to achieve but I hope it will get you closer to a solution.
 

Wormbo

Administrator
Staff member
Jun 4, 2001
5,913
36
48
Germany
www.koehler-homepage.de
Are you sure you do the Destroy() serversidely? At least in UT200x that's the standard way of "forcibly" disconnecting a player on the server side. Clientsidely it's ConsoleCommand("disconnect").
 

Neo_b

New Member
Jul 2, 2008
72
0
0
A timed player doesn't have the client-sidely and yes, I used the Destroy() function server-sidely. Actually the mutator is on its way to the server now. ;) Thanks for replies.
 

Zur

surrealistic mad cow
Jul 8, 2002
11,708
8
38
48
A timed player doesn't have the client-sidely and yes, I used the Destroy() function server-sidely.

So, to make things clear, you mean that when a player times out, there is a point beyond which Destroy() doesn't do it's expected job ? If so, is the player still visible in the server ?

Also, it sounds like you tried to use a ReplicationInfo. Have you tried adding a function inside that disconnects the client if it receives no news from the server ?

If your mod is to be released publicly, I look forward to seeing it.
 
Last edited:

Neo_b

New Member
Jul 2, 2008
72
0
0
The timeout detection is no problem anymore (replicating a function). Just that Destroy() still doesn't remove the player. Just so, but actually I don't think a timed-out player can be removed anyway. The mutator is for exclusive use on -/EDF/- Servers (reputation, huh? I guess my mutator is going to be first to punish players using Tactical Ops 3.4 bugs), but hell, I trust you won't publish it anywhere. I could send it to you soon.