I am worried about loading every possible entity into memory including every users inventory item, posible ship in bay, researched item, etc … with 30k users you can imaging it can get large quick. The user’s entities are really not used in shared space and only used by a logged in user so they can build ships they might launch later for example. I figured I would have one shared EntityData for all entities in sector space and only instantiate user entities when a user logs in and garbage collect them when they log out.
EDIT: so basically the user’s entities are private to the user and are not needed as public entities for other’s to get.
EDIT #2: I guess I can have a hollow “ReasearchedItems” component on the user’s entity and then lazy load the stuff from the database on the client’s side via RMI … but then I don’t get the benefits of an entity subsystem for those.