public static void LogPlayerList(ref MyEventGetPlayerListResponse msg)
 {
     for (int i = 0; i < msg.PlayerList.Count; i++)
     {
         var p = msg.PlayerList[i];
         Log(String.Format("PlayerList[0] {0}, UserId: {3}, PlayerId: {2}, Faction: {1}", p.DisplayName, MyFactionConstants.GetFactionProperties(p.Faction).Name, p.PlayerId, p.UserId));
     }
 }
        private void SendPlayerList(NetConnection connection)
        {
            var response = new MyEventGetPlayerListResponse();
            response.PlayerList = new List<MyPlayerInfo>(MyMultiplayerPeers.Static.Players.Select(s => RemotePlayerToInfo(s)));

            var me = new MyPlayerInfo()
            {
                DisplayName = MyClientServer.LoggedPlayer.GetDisplayName().ToString(),
                Faction = MySession.Static.Player.Faction,
                PlayerId = MyEntityIdentifier.CurrentPlayerId,
                UserId = MyClientServer.LoggedPlayer.GetUserId(),
            };
            response.PlayerList.Add(me);

            LogPlayerList(ref response);

            Peers.NetworkClient.Send(ref response, connection, NetDeliveryMethod.ReliableOrdered, 0);
        }