View Issue Details

IDProjectCategoryView StatusLast Update
0009489New issuesSynchronizationpublic2017-04-14 14:28
ReporterBonus1702Assigned To 
PrioritynormalSeveritymajorReproducibilityrandom
Status newResolutionopen 
PlatformLinuxOSDebianOS Version8.2
Summary0009489: Sometimes spawnPlayer doesn't sync
Description

Sometimes after spawnPlayer (in another dimension) it can happen, that one or more other client(s) don't get the positions of the body of the spawned player.

That means the body of that guy stays in the same position where it became spawned, but rotates, does animations, shoots etc.
The server knows the exact position, but some clients don't get it synced.

Steps To Reproduce

Spawn players in another dimension.

Additional Information

Most of the times it happened to players with high ping/packetloss.
Could be the reason for that problem.
Some players had the bug more than one time - and they don't have a good internet connection.

It's really annoying for tactics servers, because these guys can kill others while staying invisible.

TagsNo tags attached.

Activities

arranTuna

2016-12-20 17:28

manager   ~~0025514

"Spawn players in another dimension." is probably not enough information to go on for reproducing this bug.

Bonus1702

2017-02-02 19:57

viewer   ~~0025661

It appeared again and I think I know, what the problem is:
bandwidth_reduction!
Haven't had the bug for many weeks, then set bandwidth_reduction to maximum and had the bug again.
The player sync his position with the server, but the server doesn't sync his position with the clients.

Bonus1702

2017-02-12 15:24

viewer   ~~0025669

It's 99% bandwidth_reduction (maximum)
Had the bug many times, but now not only one time.
Not sure how to reproduce it.

Bonus1702

2017-03-10 21:18

viewer   ~~0025693

Now I'm 100% sure, that it's bandwidth_reduction.
On "maximum" we had the bug like every 2nd day.
Since I changed it to "none" like 3 months ago we never had this bug again.

Not sure if it's because of dimension or only because of spawnPlayer, but the bug can occure after spawnPlayer in another dimension (same position).

arranTuna

2017-03-10 22:29

manager   ~~0025697

I've been using bandwidth reduction on maximum since it's introduction many years ago and I've never seen or heard of someone complain about this bug, the way you spawn players might be unusual meaning that it only happens on your server also you should try bandwidth reduction on medium as it will save a lot of CPU and bandwidth.

Bonus1702

2017-03-10 22:51

viewer   ~~0025698

local x, y, z = getElementPosition ( player )
local , , rot = getElementRotation ( player ))
local team = getPlayerTeam ( player )
local gang = getElementData ( player, "gangwarGang" )
spawnPlayer ( player, x, y, z+1, rot, skinids[gang] or 0, 0, area.dimension, team )

Previous skin-ID is always 0, skinids[gang] can give every possible skin-ID. area.dimension is a dimension somewhere near 65534 (most of the time 65533).

I could check the bug three times when it occured.
The server knew the right position, rotation etc., but client didn't.

https://i.imgur.com/COoGHiS.jpg
Here this player was shooting, rotation, crouching etc. Only the position was wrong.

https://i.imgur.com/KBz3tE6.jpg
Here after I used spawnPlayer again the player was visible. setElementPosition didn't work, but spawnPlayer worked.

The position didn't sync with every client, not sure why.

Oh and the skin-IDs on the three screens were 237 (2x) and 141

Bonus1702

2017-04-14 14:28

viewer   ~~0025813

I had another server 2-3 years ago, had the same problem there, but with another script.
Only used spawnPlayer into another dimension and it could happen that some players became invisible.

Never had the bug since I changed bandwidth reduction from maximum to something else, but with maximum I had the bug like every 2nd day.

Issue History

Date Modified Username Field Change