As a Roblox developer, it is currently too hard to tell why a player left the game. Roblox recently added Enum.PlayerExitReason which partially solves the issue but bundles game crashes, network time outs, and players leaving the game on their own with the game menu. Adding the following enums to this would help solve the issue:
enum.PlayerExitReason.Voluntary - Left using the game menu, Alt F4, Command Q, and anything equivalent on console and mobile
enum.PlayerExitReason.TimedOut - Their connection timed out
enum.PlayerExitReason.CaughtException - A crash that triggers the “Roblox detected an error and needs to close” popup
enum.PlayerExitReason.OutOfMemory - A crash that triggers the “Out of memory” popup
These would make it way more clear why the player left the game outside of just the three current enums
Pretty sure they’re trying to say that it would make it possible for developers to have a system where items or progress is permanently lost under certain circumstances be more forgiving if they didn’t intentionally try to leave the game to avoid losing progress but had their connection disrupted by something out of their control.
enum.PlayerExitReason.CaughtException and enum.PlayerExitReason.OutOfMemory may not be reliably communicated to the server due to the fact, you know, the application suddenly exited.
i’d say most crashes result in a dialogue popup and nearly all out of memory results in a kick-style popup, to the point that roblox has crash statistics available for games