PDA

View Full Version : Saved Windows and Modified Characters



jimlad42
May 26th, 2025, 16:33
Hello there.
I've found a set of bugs caused by the Saved Windows feature interacting with character sheets the DM changes between games.

First: (Likely intentional, but I'll mention it.) If a player claims a character sheet and then disconnects, and then the DM clears ownership of the sheet, when the player rejoins they will automatically claim ownership of the sheet.
(Well, the they claim the sheet in that slot. If you add/remove characters that could be a different character now, but that won't share anything claimed by DM or anything.)

Second: If a player claims a character sheet and has it open when they disconnect, and then the DM claims the sheet himself between games, then when the player rejoins the character sheet will open on the player's end even though they don't own it.
(Additionally, the DM is then unable to hide the sheet from the player; normally you could clear ownership or take ownership and it'll close that window, but when they have the character sheet open like this those have no effect. Although they do now have the ability to unlock the character sheet, and any attempts to modify it are met with no result, or an error.)

The GM claimed character, usable on the player side in the middle.
64463


Third: If a player claims a character sheet and has it open when they disconnect, and then the DM deletes the character sheet between games, the player will create a "ghost" character, which has the portrait the old character had exclusively on the DM side, and default settings for everything else. (Also, it doesn't auto-open that ghost sheet, just creates and claims it. And on the player leaving and rejoining, the portrait for the ghost sheet is sent to the player as well)

The sheet according to GM and player.
64464


Fourth: (Most niche, but most "dangerous") If a player claims a character sheet and has it open when they disconnect, and then the DM deletes the character sheet between games, restarts with the sheet deleted, and makes a new character sheet, when the player rejoins the server the character sheet in that same slot will be shared with the player.
(As with the second version, the character sheet can not be taken from the player unless they choose to close it, and they can not modify the sheet themselves. "Dangerous" in the sense that a player could read info for a DM sheet they shouldn't have.)

The super secret sheet, leaked out!
64465

Moon Wizard
May 26th, 2025, 18:09
#1. The character sheets are claimed by character ID, and the player has no way to know that the GM changed the IDs while they were away. So, this is expected behavior. (i.e. player claims any IDs they were playing the last time they were connected.)

#2. All player character data is available to all player clients; and the saved windows feature remember the position and whether a window is open for all windows. So, an open character sheet will be opened again. If the player isn't using that character, they just need to close it. There's no mechanism to "force" a PC window shut. (Previously, the character data would be completely removed from player client; but that causes other limitations that got in the way of features we've implemented.) The only other option would be to not save character sheet position and open state at all; which would probably be a problem for other users.

#3. This is related to #1. The player requests the ID that they owned before (which is the same thing as requesting a new character if the ID doesn't exist).

#4. This is similar to a combination of all the above, with the same considerations.

At this time, there is no plan to change the behavior, as it would remove the functionality for auto-logging characters or would require application client changes to somehow track and communicate data changed since last login to the player client in some sort of historical data tracking (which is not done in FG database, and would be quite complex to implement). Also, I believe that this would only be an issue when deleting the last character created in the database, since the ID counter for new nodes created in the database is set to highest ID + 1 when loaded.

Regards,
JPG

LordEntrails
May 26th, 2025, 21:31
It sounds like an easy work around or best practice would simple for the GM to create a new character sheet before deleting any existing ones. This way the latest ID is incremented and any IDs deleted before players connect simple won't exist anymore.