public static ReportingMessage FromBytesBE(byte[] inputBytes)
        {
            ReportingMessage returnMessage = new ReportingMessage();

            using (MessageStream2.MessageReader mr = new MessageStream2.MessageReader(inputBytes))
            {
                returnMessage.serverHash      = mr.Read <string>();
                returnMessage.serverName      = mr.Read <string>();
                returnMessage.description     = mr.Read <string>();
                returnMessage.gamePort        = mr.Read <int>();
                returnMessage.gameAddress     = mr.Read <string>();
                returnMessage.protocolVersion = mr.Read <int>();
                returnMessage.programVersion  = mr.Read <string>();
                returnMessage.maxPlayers      = mr.Read <int>();
                returnMessage.modControl      = mr.Read <int>();
                returnMessage.modControlSha   = mr.Read <string>();
                returnMessage.gameMode        = mr.Read <int>();
                returnMessage.cheats          = mr.Read <bool>();
                returnMessage.warpMode        = mr.Read <int>();
                returnMessage.universeSize    = mr.Read <long>();
                returnMessage.banner          = mr.Read <string>();
                returnMessage.homepage        = mr.Read <string>();
                returnMessage.httpPort        = mr.Read <int>();
                returnMessage.admin           = mr.Read <string>();
                returnMessage.team            = mr.Read <string>();
                returnMessage.location        = mr.Read <string>();
                returnMessage.fixedIP         = mr.Read <bool>();
                returnMessage.players         = mr.Read <string[]>();
            }
            return(returnMessage);
        }
        private void HandleReportV2(NetworkClient <ReporterClient> client, byte[] data)
        {
            ReportingMessage reportingMessage = new ReportingMessage();

            using (MessageStream2.MessageReader mr = new MessageStream2.MessageReader(data))
            {
                reportingMessage.serverHash      = mr.Read <string>();
                reportingMessage.serverName      = mr.Read <string>();
                reportingMessage.description     = mr.Read <string>();
                reportingMessage.gamePort        = mr.Read <int>();
                reportingMessage.gameAddress     = IPUtils.GetSafeGameAddress(mr.Read <string>(), client.stateObject);
                reportingMessage.protocolVersion = mr.Read <int>();
                reportingMessage.programVersion  = mr.Read <string>();
                reportingMessage.maxPlayers      = mr.Read <int>();
                reportingMessage.modControl      = mr.Read <int>();
                reportingMessage.modControlSha   = mr.Read <string>();
                reportingMessage.gameMode        = mr.Read <int>();
                reportingMessage.cheats          = mr.Read <bool>();
                reportingMessage.warpMode        = mr.Read <int>();
                reportingMessage.universeSize    = mr.Read <long>();
                reportingMessage.banner          = mr.Read <string>();
                reportingMessage.homepage        = mr.Read <string>();
                reportingMessage.httpPort        = mr.Read <int>();
                reportingMessage.admin           = mr.Read <string>();
                reportingMessage.team            = mr.Read <string>();
                reportingMessage.location        = mr.Read <string>();
                reportingMessage.fixedIP         = mr.Read <bool>();
                reportingMessage.players         = mr.Read <string[]>();
            }
            HandleReport(client.stateObject, reportingMessage);
        }