Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kick in DeathPenalty.dll #390

Open
IrateRedKite opened this issue Jan 23, 2024 · 2 comments
Open

Kick in DeathPenalty.dll #390

IrateRedKite opened this issue Jan 23, 2024 · 2 comments
Labels
bug Something isn't working
Milestone

Comments

@IrateRedKite
Copy link
Contributor

Am seeing reproducible behaviour in our mod where clients are kicked 30-60 seconds after tractoring loot from a killed NPC with a Item is not sold on base message. I've tested this pretty extensively and it only seems to occur when deathpenalty.dll is running on the server. My guess is that FLHook is putting FLServer into an updated state when it shouldn't be and the server thinks there's a discrepancy between what the player should have and what they do have.

@Aingar has speculated that this relates to ShipDestroyed() being called when it shouldn't be, the issue requires some investigation to figure out the root cause. Debug logs unfortunately do not reveal anything in this instance

@IrateRedKite IrateRedKite added the bug Something isn't working label Jan 23, 2024
@IrateRedKite IrateRedKite added this to the Backlog milestone Jan 23, 2024
@oliverpechey
Copy link
Member

There's an interesting bit of code in Hk:Player:AddEquip which adds the equipment to a "shadow list" that is compared to the player's equipment list to ensure they aren't cheating. I'm guessing that something is preventing the tractored in loot from being added to this list.

@IrateRedKite
Copy link
Contributor Author

IrateRedKite commented Feb 6, 2024

There's an interesting bit of code in Hk:Player:AddEquip which adds the equipment to a "shadow list" that is compared to the player's equipment list to ensure they aren't cheating. I'm guessing that something is preventing the tractored in loot from being added to this list.

@oliverpechey Interestingly, this seems to be triggering again when I invoke IEngine__ShipDestroyed in a plugin I'm working on. It happens very consistently, so it's possible the issue lies with the hook and not the death penalty plugin? Not many plugins actually use this hook, player ones seem to leverage the kill message rather than the onDestroyed hook.

Please ignore this, in my sleep-deprived state I loaded my testing setup with deathpenalty.dll, the issue does indeed seem to be confined to the plugin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants