/// <summary>
 /// Creates and sends an entity with the given information for the server. Never call this on DS instance!
 /// </summary>
 public static void SendMessageToServer(MessageBase message)
 {
     message.Side = MessageSide.ServerSide;
     message.SenderSteamId = MyAPIGateway.Session.Player.SteamUserId;
     var xml = MyAPIGateway.Utilities.SerializeToXML<MessageContainer>(new MessageContainer() { Content = message });
     byte[] byteData = System.Text.Encoding.Unicode.GetBytes(xml);
     if (byteData.Length <= MAX_MESSAGE_SIZE)
         MyAPIGateway.Multiplayer.SendMessageToServer(ConnectionId, byteData);
     else
         SendMessageParts(byteData, MessageSide.ServerSide);
 }
 public static void SendMessageToAllPlayers(MessageBase messageContainer)
 {
     //MyAPIGateway.Multiplayer.SendMessageToOthers(StandardClientId, System.Text.Encoding.Unicode.GetBytes(ConvertData(content))); <- does not work as expected ... so it doesn't work at all?
     List<IMyPlayer> players = new List<IMyPlayer>();
     MyAPIGateway.Players.GetPlayers(players, p => p != null);
     foreach (IMyPlayer player in players)
         SendMessageToPlayer(player.SteamUserId, messageContainer);
 }
        public static void SendMessageToPlayer(ulong steamId, MessageBase message)
        {
            Logger.Debug("SendMessageToPlayer {0} {1} {2}.", steamId, message.Side, message.GetType().Name);

            message.Side = MessageSide.ClientSide;
            var xml = MyAPIGateway.Utilities.SerializeToXML(new MessageContainer() { Content = message });
            byte[] byteData = System.Text.Encoding.Unicode.GetBytes(xml);
            if (byteData.Length <= MAX_MESSAGE_SIZE)
                MyAPIGateway.Multiplayer.SendMessageTo(ConnectionId, byteData, steamId);
            else
                SendMessageParts(byteData, MessageSide.ClientSide, steamId);
        }
        /// <summary>
        /// Creates and sends an entity with the given information for the server and all players.
        /// </summary>
        /// <param name="content"></param>
        public static void SendMessageToAll(MessageBase message)
        {
            message.SenderSteamId = MyAPIGateway.Session.Player.SteamUserId;

            if (!MyAPIGateway.Multiplayer.IsServer)
                SendMessageToServer(message);
            SendMessageToAllPlayers(message);
        }