Doors not waiting for animation to finish before interaction prompt

So I asked this question in the RustEdit discord (link to conversation at bottom). After determining that I might get more info here, I’m copying and pasting the question here šŸ˜‹ any advice would be appreciated.

Ā 

I'm making a custom map. This map has door frames and doors (a variety of types; garage, single, double, etc). When I save and load up the map for the first time, everything's fine except: when I open/close a door, Rust doesn't prevent me from interacting with the door again before its animation finishes.Ā 

Ā 

To be more clear, you know how the "Close Door" prompt doesn't show up until the door is completely open? It doesn't wait to be fully open before showing me the "Close Door" prompt. Vise versa for "Open Door" prompt.

Ā 

Spamming the door in this way causes significant lag (I imagine from all the RPC messages happening too quickly). Has anyone else been experiencing this? Has anyone found a solution?

Ā 

This only happens on first boot. A second reboot fixes this. But it's consistent. On every map change, this happens.

Ā 

Thanks in advance šŸ™‚

Rust and oxide have both been fully updated to using the latest of both to date.

link to RustEdit discord convo:Ā 
https://discord.com/channels/475486514768510999/604834351825420301/860560818579570729

One directional tip for this investigation is that entities have a flag called Busy which is typically used to hide prompts for cases like this when an entity should be unusable temporarily. Generally the code associated with the entity class will handle setting and inserting said flag. It seems odd that it would be affected by a server restart.

How many types of doors does this happen with?

Thanks for the reply WhiteThunder. So I have been messing with these flags, particularly Busy, Locked, and Reserved8. I don't _think_ my plugin is causing this behavior since:

  1. this didn't start until I started using a custom map
  2. a restart fixes it which wouldn't be the case if the plugin was causing (since the same OnServerInitailized gets called).

That said, I'm going to triple-double check my source code in case that is what's causing it.

To answer your question though, it's happening with every Door type (garage, single, double, jail cell, etc).Ā 

If you suspect your plugin, I would test what happens after reloading the plugin, both before and after restart. Also with your plugin unloaded.

Does it also happen with doors deployed by players, or just the ones that spawned with the map?

@WhiteThunder to test, I removed my plugin, wiped the server, and retried. The problem persists.Ā 

This behavior does not occur for doors I place in-game. Only with doors spawned in RustEdit.