A3Wasteland / ArmA3_Wasteland.Altis

A3Wasteland is a survival sandbox mission for Arma 3 where two teams and independent players fight for survival. Built in collaboration between GoT, TPG, KoS, 404Games, and others.
http://a3wasteland.com
GNU Affero General Public License v3.0
102 stars 184 forks source link

Player logging in with standard gear, bank reset #244

Open LouDnl opened 9 years ago

LouDnl commented 9 years ago

On several occasions now I heard from players that they got stuck on the 'loading previous location' part. They would then get kicked from the server by a steam ticket check failed. When logging back in they would either get stuck again on this screen or could log back in again. When finally being able to log back in they would spawn in a standard outfit with huge backpack, rifle and no money.

AgentRev commented 9 years ago

Can't do nothing if they don't send in their RPT logs.

LouDnl commented 9 years ago

i've got one but not really anything to see. but di you have skype?

LouDnl commented 9 years ago

So I can send you the log

AgentRev commented 9 years ago

I need the RPT log directly from the game of the player that had the problem, not the server's. You can use http://gist.github.com

LouDnl commented 9 years ago

Here it is: https://gist.github.com/LouDnl/fb88d034e51079aa503b

edit: I think it doesn't show. I'll try and get another log. I'll post it tomorrow.

AgentRev commented 9 years ago

I might actually need the server log. I think I got confused.

LouDnl commented 9 years ago

Server log 15.00 - 21.00: https://gist.github.com/LouDnl/f22d514465dee8b8696e Server log 21.00 up to about now: https://gist.github.com/LouDnl/1369147c2220cd42d247

LouDnl commented 9 years ago

The players name is rob3rt. He had this between 20.00 and 21.00 I'll get the player rpt's from a player who had this problem last night.

AgentRev commented 9 years ago

And the issue they experienced happened during that time period?

LouDnl commented 9 years ago

yes

From: Agent Revolution [mailto:notifications@github.com] Sent: dinsdag 6 januari 2015 23:12 To: A3Wasteland/ArmA3_Wasteland.Altis Cc: Subject: Re: [ArmA3_Wasteland.Altis] Player logging in with standard gear (#244)

And the issue they experienced happened during that time period?

— Reply to this email directly or view it on GitHubhttps://github.com/A3Wasteland/ArmA3_Wasteland.Altis/issues/244#issuecomment-68943680.

This message has been scanned for viruses and dangerous content by E.F.A. Projecthttp://www.efa-project.org, and is believed to be clean.

This message has been scanned by E.F.A. Project and is believed to be clean.

AgentRev commented 9 years ago

Well there's nothing wrong in those logs, as you said... I might need the extDB logs then.

LouDnl commented 9 years ago

extDB: https://gist.github.com/LouDnl/16b4b7a689229c637d04 That error is not from the player rob3rt. The UID's don't match. neither does the time frame.

AgentRev commented 9 years ago

Obviously I need the logs from when it happened.

LouDnl commented 9 years ago

Well. Thats the only log with errors from that timeframe. Ill check the logs from last night as soon as i get these new client rpt logs.

Verstuurd vanaf mijn iPhone

Op 6 jan. 2015 om 23:32 heeft Agent Revolution notifications@github.com<mailto:notifications@github.com> het volgende geschreven:

Obviously I need the logs from when it happened.

Reply to this email directly or view it on GitHubhttps://github.com/A3Wasteland/ArmA3_Wasteland.Altis/issues/244#issuecomment-68947064.

This message has been scanned for viruses and dangerous content by E.F.A. Projecthttp://www.efa-project.org, and is believed to be clean.

This message has been scanned by E.F.A. Project and is believed to be clean.

LouDnl commented 9 years ago

Don't know if this is related but I seem to get this error in my server RPT every once in a while:

22:49:22 Error in expression <ect 2 } else { objNull };

if !(_killer isKindOf "Man") then { _killer = effecti>
22:49:22   Error position: <isKindOf "Man") then { _killer = effecti>
22:49:22   Error Generic error in expression
22:49:22 File mpmissions\ArmA3_Wasteland_v1_NLU.Altis\server\functions\serverPlayerDied.sqf, line 25
22:49:22 Error in expression <ect 2 } else { objNull };

if !(_killer isKindOf "Man") then { _killer = effecti>
22:49:22   Error position: <isKindOf "Man") then { _killer = effecti>
22:49:22   Error Generic error in expression
22:49:22 File mpmissions\ArmA3_Wasteland_v1_NLU.Altis\server\functions\serverPlayerDied.sqf, line 25
LouDnl commented 9 years ago

I checked the logs again. All I can see is msgs not being sent and received and some netmsg errors. Could it be that the connection from client to server wasn't good so the player couldnt load in and when finally connected reset the character?

LouDnl commented 9 years ago

Ok so I have a player log from the time this happened. Chat says he encountered the problem around 13:15 ~ 13:35

(2165 ) 13:31:51 : Global: [TIL] WarmasterStuvis: wtf? anyone have any problems when they logged in today? (2169 ) 13:32:18 : Global: [TIL] WarmasterStuvis: all my gear has changed (2179 ) 13:32:59 : Global: [TIL] WarmasterStuvis: i logged in fine but all my gear i logged out with this morning has changed

player rpt log: https://gist.github.com/LouDnl/880115269a4da0492af5

AgentRev commented 9 years ago

When this happens, I need player RPT, server RPT, and extDB log, all at the same time.

AgentRev commented 9 years ago

Maybe it could be an error at the moment of saving too

LouDnl commented 9 years ago

Here is the server RPT from around that time: https://gist.github.com/LouDnl/387c4ab1e7300467bc3f And here are the extDB logs from around that time: https://gist.github.com/LouDnl/98e19a8f2043178595bd

AgentRev commented 9 years ago

I would say wait till the next update, I have already fixed extDB constraint errors, maybe that could be related to it.

LouDnl commented 9 years ago

Will do, can't wait :)

LouDnl commented 9 years ago

Still have this sometimes. Even have player spawn npc's walking around sometimes as if the connection between the player and the spawn npc was disconnecten. Last weekend I was ingame, but my son logged in on my laptop. He started Arma and because you cannot run the same copy of Arma on 2 pc's I got kicked from the game. But my character stayed ingame and turned into an NPC. I logged back in and he was still there. When I killed him he respawned on spawn island and started swimming towards my group leader. I have to use deleteobject or disablesimulation to stop the npc.

LouDnl commented 9 years ago

This is still an issue. Players get their bank account reset in the process aswell. I will turn on SQL logging for extDB.

LouDnl commented 9 years ago

Here's a server RPT where a player had this happen. The players UID is: 76561198056812490 And the gist link: https://gist.github.com/LouDnl/eaacefb52b84b0b8f872 This seems to be happening quite often lately. No errors in the extDB log. The check playersave seems to get the right inputs, but the standard spawn gear doesn't seem to get replaced by em.

AgentRev commented 9 years ago

The problem must be on the client, I need the client RPT log

LouDnl commented 9 years ago

Allright I will try and get that. I've had this happen to multiple players over the last months. It's totally random. But it usually also comes with resetting of bankmoney aswell.

LouDnl commented 9 years ago

Well this guy had -noLogs haha. Will come back when it happens again.

AgentRev commented 9 years ago

noLogs = noHelp

LouDnl commented 9 years ago

I'll keep the extDB debug on untill I get a server RPT and client RPT. Will report back sir :+1:

LouDnl commented 9 years ago

Just had a player login with standard gear again. Had full sniper gear when he logged in. But when he logged out earlier today he had different gear. He did however spawn in the location he logged out.

Player UID: 76561198045856719 Client RPT: https://gist.github.com/LouDnl/40eaa5d7b1e721802456 Server RPT: https://gist.githubusercontent.com/LouDnl/ed5bf69f04c41440c5ed/raw/gistfile1.txt extDB: https://gist.github.com/LouDnl/c322b17ef95e8c737694

LouDnl commented 9 years ago

When he logged in he was in the location he logged out, but had the different gear. What i did was ask him to respawn and then go to the lobby and then back in game. He didn't have any bank money but with other players we experienced their bank money reset when they log in and have standard gear.

LouDnl commented 9 years ago

Had another player with the same problem yesterday. This was round 16.45. His gear was reset and his bank money aswell. Player UID: 76561198035264399 Client RPT: https://gist.github.com/LouDnl/ae29384a76ecfb2c6f31 Server RPT: http://we.tl/ZXofn1MvnU (too big for Gist, about 30Mb) extDB: https://gist.github.com/LouDnl/1ec6e68709edcf060f09

LouDnl commented 9 years ago

It also seems to happen when players are logging into the game. After they select a class in the lobby and get a steam ticket failed when loading their character. This is however not what happend the other times.

JoSchaap commented 9 years ago

the extdb log starts at 17:13 if the error occurred at 16:45 you've sent the wrong file :)

LouDnl commented 9 years ago

ExtDB log prior to that shows exactly the same information. I posted two accounts of this problem. https://gist.github.com/LouDnl/93d7dc241b5668935418

LouDnl commented 9 years ago

It seems to be connected to players with connection issues. It doesn't happen very much. But when people have connection issues when loading into the game.

LouDnl commented 9 years ago

Still having this with extDB2.

LouDnl commented 9 years ago

I'll be updating both my live servers to the newest a3wasteland.ini and commits including extDB2 v49 debug version. When I have logs I will contact you here Rev.

LouDnl commented 9 years ago

Here's a new log: https://drive.google.com/file/d/0By5PInQAIAA6OXZtVF9HMWNBTmM/view?usp=sharing client logs, server logs, extDB logs. Client UID: 76561197978639089

Don't mind the '2015/04/09, 21:20:12 Server: Network message aad2a7 is pending' errors in the large server RPT. I'm having problems since 1.42 and this has nothing to do with the error that was there prior to 1.42.

LouDnl commented 9 years ago

I forgot to mention, player 76561197978639089 logged in invisible so I advised him to go to the lobby and then back in. Then he spawned in at (2015/04/09, 21:24:38) with default arma gear. He didn't lose his bank money though.

AgentRev commented 9 years ago

Okay, from the log it says that the default gear seems to have been saved either right before or right after he logged off and before he logged back in... which is quite fucked up. This might have to do with the spawn island ghost bug mixed with an engine issue related to HandleDisconnect, but I really have no idea. The more info is collected, the more abstract it gets.

AgentRev commented 9 years ago

Yep pretty sure it has to do with the player corpse respawning as AI before HandleDisconnected is triggered. As to why is it happening, or how to prevent it, I'm not sure. I was gonna say mark player units as unfit for saving via setVariable until their client confirms they're good to go, but in this case I suspect the client is already gone by the time the unit respawns as AI, and server-side respawn events are very, very unreliable. That's a thought one.

If we could get something server-side that would setVariable ["playerSpawning", true, false] directly on respawn, it would probably solve the problem. Now the tricky part would be finding a proper respawn event that doesn't involve self-replicating scripts.

LouDnl commented 9 years ago

I'll try to collect more logs.

AgentRev commented 9 years ago

For the moment it won't serve much purpose, we'd need to add a couple more logging lines in the scripts to extract more relevant information, like the time at which HandleDisconnect and onPlayerDisconnected runs.

AgentRev commented 9 years ago

You don't need to collect client logs anymore until further notice

LouDnl commented 9 years ago

Ok. So it seems everything is interconnected.

LouDnl commented 9 years ago

So you don't need anymore logs right?

AgentRev commented 9 years ago

Not at the moment.

LouDnl commented 9 years ago

I've implemented your new commits with the extra logging. Send you the server side logs as soon as someone experience the problem?