I recently discovered an issue where if a player logs out while you have their inventory open, when you close their inventory, their firstPlayed timestamp will be overwritten with the current time.
Before I realised OpenInv was the culprit, I had the following conversation in PaperMC's Discord server:

As you can see, according to masmc05, who is a Paper contributor, if a plugin is accessing a player's data file directly (which OpenInv must be doing in order to read offline players' inventories), then it can cause this issue.
Steps to reproduce:
- Set up a server with two different players' data in the world's
playerdata folder.
- Take note of Player A's
firstPlayed timestamp - this can be viewed with programs like NBTExplorer, inside the bukkit compound tag.
- Start the server, and join it with both Player A and Player B.
- Have Player B open Player A's inventory.
- Log out with Player A.
- Close Player A's inventory on Player B.
- Observe as Player A's
firstPlayed timestamp has been overwritten.
I recently discovered an issue where if a player logs out while you have their inventory open, when you close their inventory, their
firstPlayedtimestamp will be overwritten with the current time.Before I realised OpenInv was the culprit, I had the following conversation in PaperMC's Discord server:

As you can see, according to masmc05, who is a Paper contributor, if a plugin is accessing a player's data file directly (which OpenInv must be doing in order to read offline players' inventories), then it can cause this issue.
Steps to reproduce:
playerdatafolder.firstPlayedtimestamp - this can be viewed with programs like NBTExplorer, inside thebukkitcompound tag.firstPlayedtimestamp has been overwritten.