Exemple #1
0
        public static byte[] HTML(String text)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(text, false, true);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_HTML));
        }
Exemple #2
0
        public static byte[] Topic(AresClient client, String text)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, text, false);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_TOPIC));
        }
Exemple #3
0
        public static byte[] UserListEnd()
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteByte(0);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_CHANNEL_USER_LIST_END));
        }
Exemple #4
0
        public static byte[] OfflineUser(AresClient client, String name)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, name);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_OFFLINEUSER));
        }
Exemple #5
0
        public static byte[] Part(AresClient client, IClient target)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, target.Name);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_PART));
        }
Exemple #6
0
        public static byte[] EndOfSearch(ushort id)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteUInt16(id);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_ENDOFSEARCH));
        }
Exemple #7
0
        public static byte[] IsIgnoringYou(AresClient client, String name)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, name);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_ISIGNORINGYOU));
        }
Exemple #8
0
        public static byte[] EndOfBrowse(ushort id)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteUInt16(id);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_ENDOFBROWSE));
        }
Exemple #9
0
        public static byte[] BotAvatarCleared(AresClient client)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, Settings.Get <String>("bot"));
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_AVATAR));
        }
Exemple #10
0
        public static byte[] BrowseError(ushort id)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteUInt16(id);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_BROWSEERROR));
        }
Exemple #11
0
        public static byte[] AvatarCleared(AresClient client, IClient target)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, target.Name);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_AVATAR));
        }
Exemple #12
0
        public static byte[] SuperNodes()
        {
            var linq = from x in UserPool.AUsers
                       where x.NodePort > 0 && (x.Version.StartsWith("Ares 2.") || x.Version.StartsWith("Ares_2."))
                       select new IPEndPoint(x.ExternalIP, x.DataPort);

            TCPPacketWriter packet = new TCPPacketWriter();

            if (linq.Count() > 0)
            {
                List <IPEndPoint> nodes = linq.ToList();
                nodes.Randomize();

                if (nodes.Count > 20)
                {
                    nodes = nodes.GetRange(0, 20);
                }

                foreach (IPEndPoint n in nodes)
                {
                    packet.WriteIP(n.Address);
                    packet.WriteUInt16((ushort)n.Port);
                }
            }

            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_HERE_SUPERNODES));
        }
Exemple #13
0
        public static byte[] MyFeatures(AresClient client)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, Settings.VERSION + " - " + Settings.RELEASE_URL);

            ServerFeatures flag = (ServerFeatures.SERVER_SUPPORTS_PVT |
                                   ServerFeatures.SERVER_SUPPORTS_SHARING |
                                   ServerFeatures.SERVER_SUPPORTS_COMPRESSION |
                                   ServerFeatures.SERVER_SUPPORTS_VC |
                                   ServerFeatures.SERVER_SUPPORTS_OPUS_VC |
                                   ServerFeatures.SERVER_SUPPORTS_PM_SCRIBBLES);

            if (client.SupportsHTML)
            {
                flag |= ServerFeatures.SERVER_SUPPORTS_HTML;
            }

            if (Settings.Get <bool>("can_room_scribble"))
            {
                flag |= ServerFeatures.SERVER_SUPPORTS_ROOM_SCRIBBLES;
            }

            packet.WriteByte((byte)flag);
            packet.WriteByte(63);
            packet.WriteByte(Settings.Get <byte>("language"));
            packet.WriteUInt32(client.Cookie);
            packet.WriteByte(1);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_MYFEATURES));
        }
Exemple #14
0
        public static byte[] ClientCompressed(byte[] data)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteBytes(Zip.Compress(data));
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_CLIENTCOMPRESSED));
        }
Exemple #15
0
        public static byte[] PersonalMessageBot(AresClient client)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, Settings.Get <String>("bot"));
            packet.WriteString(client, Settings.VERSION, false);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_PERSONAL_MESSAGE));
        }
Exemple #16
0
        public static byte[] PersonalMessage(AresClient client, IClient target)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, target.Name);
            packet.WriteString(client, target.PersonalMessage, false);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_PERSONAL_MESSAGE));
        }
Exemple #17
0
        public static byte[] Url(AresClient client, String addr, String tag)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, addr);
            packet.WriteString(client, tag);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_URL));
        }
Exemple #18
0
        public static byte[] Ack(AresClient client)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, client.Name);
            packet.WriteString(client, Settings.Get <String>("name"));
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_LOGIN_ACK));
        }
Exemple #19
0
        public static byte[] OpChange(AresClient client)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteByte((byte)(client.Level > 0 ? 1 : 0));
            packet.WriteByte(0);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_OPCHANGE));
        }
Exemple #20
0
        public static byte[] StartOfBrowse(ushort id, ushort count)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteUInt16(id);
            packet.WriteUInt16(count);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_STARTOFBROWSE));
        }
Exemple #21
0
        public static byte[] Userlist(AresClient client, IClient target)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteUInt16(target.FileCount);
            packet.WriteUInt32(0);
            packet.WriteIP(Settings.HideIps ? IPAddress.Parse("0.0.0.0") : client.Ares ? target.ExternalIP : IPAddress.Parse("0.0.0.0"));
            packet.WriteUInt16(Settings.HideIps ? (ushort)0 : target.DataPort);
            packet.WriteIP(target.NodeIP);
            packet.WriteUInt16(target.NodePort);
            packet.WriteByte(0);
            packet.WriteString(client, target.Name);
            packet.WriteIP(Settings.HideIps ? IPAddress.Parse("0.0.0.0") : client.Ares ? target.LocalIP : IPAddress.Parse("0.0.0.0"));
            packet.WriteByte((byte)(target.Browsable ? 1 : 0));
            packet.WriteByte((byte)target.Level);
            packet.WriteByte(target.Age);
            packet.WriteByte(target.Sex);
            packet.WriteByte(target.Country);
            packet.WriteString(client, target.Region);

            byte b = 0;

            if (target.SupportsHTML)
            {
                b |= CLIENT_SUPPORTS_HTML;
            }

            if (target is AresClient)
            {
                AresClient ac = (AresClient)target;

                if (ac != null)
                {
                    if (ac.VoiceChatPublic)
                    {
                        b |= CLIENT_SUPPORTS_VC;
                    }

                    if (ac.VoiceChatPrivate)
                    {
                        b |= CLIENT_SUPPORTS_PM_VC;
                    }

                    if (ac.VoiceOpusChatPublic)
                    {
                        b |= CLIENT_SUPPORTS_OPUS_VC;
                    }

                    if (ac.VoiceOpusChatPrivate)
                    {
                        b |= CLIENT_SUPPORTS_OPUS_PM_VC;
                    }
                }
            }

            packet.WriteByte(b);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_CHANNEL_USER_LIST));
        }
Exemple #22
0
        public static byte[] CustomData(IClient client, String sender, String ident, byte[] data)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, ident);
            packet.WriteString(client, sender);
            packet.WriteBytes(data);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_CUSTOM_DATA));
        }
Exemple #23
0
        public static byte[] VoiceChatNoPrivate(AresClient client, String sender)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, sender);
            byte[] buf = packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_VC_NOPVT);
            packet = new TCPPacketWriter();
            packet.WriteBytes(buf);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_ADVANCED_FEATURES_PROTOCOL));
        }
Exemple #24
0
        public static byte[] FavIcon()
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteBytes(Resource1.fi);
            byte[] buf = packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_FAVICON);
            packet = new TCPPacketWriter();
            packet.WriteBytes(buf);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_ADVANCED_FEATURES_PROTOCOL));
        }
Exemple #25
0
        public static byte[] BrowseItem(ushort id, SharedFile file)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteUInt16(id);
            packet.WriteByte((byte)file.Mime);
            packet.WriteUInt32(file.Size);
            packet.WriteBytes(file.Data);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_BROWSEITEM));
        }
Exemple #26
0
        public static byte[] Redirect(AresClient client, Room room)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteIP(room.IP);
            packet.WriteUInt16(room.Port);
            packet.WriteIP(room.IP);
            packet.WriteString(client, room.Name);
            packet.WriteString(client, "Redirecting...");
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_REDIRECT));
        }
Exemple #27
0
        public static byte[] SupportsVoiceClips()
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteByte((byte)(Settings.Get <bool>("voice") ? 1 : 0));
            packet.WriteByte(0);
            byte[] buf = packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_VC_SUPPORTED);
            packet = new TCPPacketWriter();
            packet.WriteBytes(buf);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_ADVANCED_FEATURES_PROTOCOL));
        }
Exemple #28
0
        public static byte[] DirectChatPush(AresClient client, IClient target, byte[] cookie)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, target.Name);
            packet.WriteIP(target.ExternalIP);
            packet.WriteUInt16(target.DataPort);
            packet.WriteIP(target.LocalIP);
            packet.WriteBytes(cookie);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_CLIENT_DIRCHATPUSH));
        }
Exemple #29
0
        public static byte[] VoiceChatUserSupport(AresClient client, AresClient target)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, target.Name);
            packet.WriteByte((byte)(target.VoiceChatPublic ? 1 : 0));
            packet.WriteByte((byte)(target.VoiceChatPrivate ? 1 : 0));
            byte[] buf = packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_VC_USER_SUPPORTED);
            packet = new TCPPacketWriter();
            packet.WriteBytes(buf);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_ADVANCED_FEATURES_PROTOCOL));
        }
Exemple #30
0
        public static byte[] UpdateUserStatus(AresClient client, IClient target)
        {
            TCPPacketWriter packet = new TCPPacketWriter();

            packet.WriteString(client, target.Name);
            packet.WriteUInt16(target.FileCount);
            packet.WriteByte((byte)(target.Browsable ? 1 : 0));
            packet.WriteIP(target.NodeIP);
            packet.WriteUInt16(target.NodePort);
            packet.WriteIP(Settings.HideIps ? IPAddress.Parse("0.0.0.0") : (client.Ares ? target.ExternalIP : IPAddress.Parse("0.0.0.0")));
            packet.WriteByte((byte)target.Level);
            packet.WriteByte(target.Age);
            packet.WriteByte(target.Sex);
            packet.WriteByte(target.Country);
            packet.WriteString(client, target.Region);
            return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_UPDATE_USER_STATUS));
        }