Quote Originally Posted by Asiaine View Post
There is more to it than that:
A check has to be done to see if the user is available and can be 'modified'.
The user data should be available since the data is stored on the server(s), most likely just an entry in a database.

The user who is removed has to have the linkshell removed from their list of linkshell.
This is possible the moment the user data is available (see above)

The user who is removed has to have their linkshells re-listed so that they appear in a new & correct order.
There is no "correct" order from what I can see, every time I get a new LS/throw away a pearl, the list gets randomly thrown around. In any case, it is a modification of character data - not based on online status.

If the user who is removed is on the linkshell when being removed something different happens than if they are not on when they are removed.. This has to be handled as well.
that one is independent on being online - it's just a flag in the character data which tells you which linkshell you have set.

The server has to be notified to no longer relay messages to that user since they have been kicked.
This happens when a LS member sends a message, it is relayed only to those who are members of the shell and are online at the moment - this is not part of the kicking procedure.

All in all, you list things that make sense, but nothing is tied to the user being online at the moment of removal. I did say my "example" was heavily simplified.

Communication/synchronization between zone servers also works as long as both players are online, so even if each server really has it's own database, it still doesn't explain the inability to do the same queries when one of the players is offline. It's as if to kick a player you send a request to the player's client to execute the "retire" command. If it's the case then may the Twelve help SE.