Players who exited a vehicle can appear to have no weapon

Issue #353 on hold
Colin Basnett created an issue

This is a bit convoluted to replicate, but it happens 100% of the time.

  1. Payer 1 gets inside a vehicle (tested with the an M8 Greyhound) with a primary weapon equipped (tested with an M3 Greasegun).
  2. Player 2 goes outside the network relevancy sphere of player 1's vehicle until the network cuts it out (watch the channels drop).
  3. Player 2 walks up to the vehicle that player 1 is in.
  4. Player 1 exits the vehicle.

Now, to Player 2, Player 1 will have no weapon in his hands. This changes as soon as Player 1 switches to another weapon.

Could this be a symptom of this bug fix? (https://bitbucket.org/darklightgames/darkesthour/issue/326/vehicle-occupants-weapon-can-be-seen)

Comments (6)

  1. Matt Hands

    I can't reproduce this with bots on a dedicated server on my own machine. Have tested with M3 HT and a tank. Spawn bots and wait until they are in vehicle. Then disconnect & reconnect to server, to guarantee my client has to receive all actors through replication. Get into vehicle with bots and order them out. Bots appear with weapons and server logs 3rd person WeaponAttachments switching to bHidden=false. My client clearly receiving this as I see those wep attachments. So oddly, this only seems to affect human players.

    Have added a global debug logging option in commit f28dafe. To use this, log in as admin & then enter ToggleLogWeapon in the console. It will toggle the bLogWeaponAttachment setting on the server and clients. We can use this to check it out when we can get on the dev server - maybe Saturday morning GMT?

  2. Matt Hands

    Info on the processes involved:

    DHPawn.StartDriving() makes the 3rd party WeaponAttachment bHidden and StopDriving() makes it visible again. Wonder if there's a possibility of the WA actor losing relevancy if it is no longer visible? But StopDriving() is a native event that gets called on the server and all relevant clients. So even if WA has lost net relevance, when the server makes the WA visible again, it should re-assess it as relevant to any client in range, meaning the WA actor should replicate to them, with the value of bHidden=false.

    Hmmmm .........

  3. Matt Hands

    I cannot reproduce this. Tried it a few weeks ago with bots and it seemed to work fine. Thought bug could only affect human players. But just tried it in genuine multiplayer, with 2 PCs connected, and also seems fine. Used Greyhound and grease gun for maximum consistency with reported bug conditions. To guarantee fresh replication, player 2 disconnected from the dedicated server and reconnected.

    As was reported as a 100% of the time bug, I suspect an unknown change between date of report (23 June) and me first testing it with bots (2 July) has fixed the problem.

    Can someone pls check again and make sure I'm not misunderstanding something. Cheers.

  4. Matt Hands

    Testing on the server with Theel today and can recreate this. Still best on hold though, as it's a strange one, but not particularly significant, so for the future. Some extra info:

    Only happens if player 1 is in the vehicle when they get culled from player 2's relevant actors. If player 1 is outside the vehicle when culled, then gets in while culled and not relevant to player 2, then player 2 comes back and player 1 gets out - the bug does not happen and player 1 is seen holding a weapon.

    When bug occurs, player 1 is seen with arms in a binoculars pose. Including ironsighting, which lifts his hands into a very specific raised binocs pose.

    Most strangely, bug only occurs if player 1 has been in the driver's seat before they get culled. If player 1 enters vehicle directly into a weapon pawn position, the bug does not happen. You can do this by either entering vehicle with another player in driver's seat, putting player 1 straight into cannon pawn, or by entering a tank as an infantryman, putting player 1 straight into a rider position. So seems to be something specific to SVehicle or a subclass, and not to entering any Vehicle class generally.

    All good clues.

  5. Log in to comment