public void EndLoad(ClientConnection connection)
        {
            lock (_lOnline)
            {
                if (connection.ActivePlayer != null)
                {
                    var player = connection.ActivePlayer;
                    if (!_onlineCharacters.ContainsKey(player.GameSessionId))
                    {
                        _onlineCharacters.Add(player.GameSessionId, player);
                    }

                    connection.ActivePlayer.PlayerActions += (action, parameters) =>
                    {
                        switch (action)
                        {
                        case Player.PlayerAction.Logout:
                            if (_onlineCharacters.ContainsKey(player.GameSessionId))
                            {
                                _onlineCharacters.Remove(player.GameSessionId);
                                Log.Debug($"Player:{player.DatabaseCharacterData.CharacterName} has left the world");
                            }
                            break;

                        case Player.PlayerAction.Chat:
                            ChatProcessor.HandleChatMessage(connection, parameters);
                            break;
                        }
                    };
                }
            }
        }