عرض مشاركة واحدة
احصائياتى

الردود
4

المشاهدات
2096
 
محمد ياسر

محمد ياسر is on a distinguished road

    غير متواجد

المشاركات
1,940

+التقييم
0.87

تاريخ التسجيل
Apr 2019

الاقامة
https://www.facebook.com/daany

نظام التشغيل

رقم العضوية
1
2019-09-14, 04:33 PM
المشاركة 1 
#1  
افتراضي Banned Ips بفكره عبده ماتركس


السلام عليكم ورحمة الله وبركاته
معانا اليوم فكره جديده من عبده ماتركس بتاعت زمان
بان Banned Ips من غير ماتستخدم القاعده بملف txt
هتعمل ملف جديد هتسميه اي حاجة
او تسميه
BannedIPs.cs
هتشيل الي فيه

وهتحط ده فيه

كود:
using System;
using System.IO;
using Conquer_Online_Server;

namespace 
Conquer_Online_Server
{
    public 
partial class BannedIP
    
{
        public static 
String[] BannedIPs;
        public static 
String RootPath Environment.CurrentDirectory;
        public static 
void GetBannedIPs()
        {
            try
            {
                if (!
File.Exists(RootPath "\\BannedIPs.list"))
                    
File.Create(RootPath "\\BannedIPs.list");

                
BannedIPs File.ReadAllLines(RootPath "\\BannedIPs.list");                
            }
            catch (
Exception Exc) { Program.WriteLine(Exc); }
        }

        public static 
Boolean IsIPBanned(String IP)
        {
            try
            {
                for (
Int32 i 0BannedIPs.Lengthi++)
                {
                    
String[] Splitter BannedIPs[i].Split('.');
                    
String[] TheSplit IP.Split('.');

                    
//Internet Protocol Adresse
                    
if (BannedIPs[i] == IP)
                        return 
true;

                    
//Internet Protocol with Joker
                    
if (Splitter[0] == TheSplit[0])
                    {
                        if (
Splitter[1] == "*")
                            return 
true;
                        else
                            if (
Splitter[1] == TheSplit[1])
                            {
                                if (
Splitter[2] == "*")
                                    return 
true;
                                else
                                    if (
Splitter[2] == TheSplit[2])
                                    {
                                        if (
Splitter[3] == "*")
                                            return 
true;
                                    }
                            }
                    }
                }
                return 
false;
            }
            catch (
Exception Exc) { Program.WriteLine(Exc); return false; }
        }
    }


هتفتح ملف
program.cs
وهتدور علي

كود:
Console.WriteLine("Initializing database."); 

وهتضيف دول تحتيه

كود:
BannedIP.GetBannedIPs();
                
Conquer_Online_Server.Console.WriteLine("BannedIPs loaded By AbdouMatrix."); 

هتفتح ملف
PacketHandler.cs
وتدور علي كلمة

كود:
private static void AppendConnect 

وتنزل لغاية لما تلاقي حاجة زي كده

كود:
if (client.Account.State == AccountTable.AccountState.Banned)
                    {
                        
str "You are banned.";
                    } 

وهتضيف دي تحتيها

كود:
string str2 client.Socket.RemoteEndPoint.ToString().Split(new char[] { ':' })[0].ToString();
                    
client.Account.IP str2;
                    if (
BannedIP.IsIPBanned(client.Account.IP))
                    {
                        
str "You are Ip banned.";
                        
Conquer_Online_Server.Console.WriteLine("BannedIPs: " client.Account.IP " Tried To Enter game hhhhhhhh.");
                    } 

هتلاقيه مرتين اعمله في المرتين

طبعا في سورسات هيبقي في اختلافات


طيب هتبن ازاي بقي؟؟



هتشغل السورس مرة فهيعملك ملف اسمه BannedIPs.list

ده الي هتضيفه فيه