الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الشروحات و البرامج المستخدمة في عمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=289)
-   -   Banned IP system By Yui (https://silkroad4arab.com/vb/showthread.php?t=538719)

Yui 25-11-2013 02:37 AM

Banned IP system By Yui
 
Hello Silkroad4arab

Today i will add New Banned system for silkroad server
with this system can get IP by Charname & Charname by IP
also can Banned any IP you want


كود PHP:

USE SRO_VT_SHARDLOG 

CREATE TABLE _IPLogs 
(  

[
No.] int IDENTITY(1,1PRIMARY KEY,  
[
CharIDint,  
[
Charnamevarchar(max),  
[
IPvarchar(max),  
[
Datedatetime  
); 

كود PHP:

USE SRO_VT_SHARDLOG  
GO  

SET ANSI_NULLS ON  
GO  
SET QUOTED_IDENTIFIER ON  
GO  


ALTER   procedure 
[dbo].[_AddLogChar]   
@
CharID        int,  
@
EventID        tinyint,  
@
Data1        int,  
@
Data2        int,  
@
strPos        varchar(64),  
@
Desc        varchar(128)  
as  

    IF(@
EventID OR @EventID 6)  
    
BEGIN  

    
declare @len_pos     int  
    
declare @len_desc    int  
    set 
@len_pos len(@strPos)  
    
set @len_desc len(@Desc)  
    if (@
len_pos and @len_desc 0)  
    
begin      
        insert _LogEventChar values
(@CharIDGetDate(), @EventID, @Data1, @Data2, @strPos, @Desc)      
    
end  
    
else if (@len_pos and @len_desc 0)  
    
begin       
        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2EventPosvalues(@CharIDGetDate(), @EventID, @Data1, @Data2, @strPos)  
    
end  
    
else if (@len_pos and @len_desc 0)  
    
begin       
        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2strDescvalues(@CharIDGetDate(), @EventID, @Data1, @Data2, @Desc)  
    
end  
    
else  
    
begin  
        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2values(@CharIDGetDate(), @EventID, @Data1, @Data2)  
    
end  
      
    
--For the new IPLog table  
    
Declare @DynIP varchar(max);  
    
exec @DynIP SRO_VT_ACCOUNT.dbo.split_ip @Data2  
    INSERT INTO _IPLogs 
(CharID,Charname,IP,[Date]) VALUES (@CharID, (SELECT CharName16 FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharID = @CharID),@DynIP,GETDATE())  
    -- 
END  

    END 

------------------------------------------------------------------------------------------------ 

كود PHP:

use SRO_VT_SHARDLOG 
CREATE TABLE _BannedIPs 

[
No.] int PRIMARY KEY IDENTITY (1,1), 
[
IPvarchar(maxNOT NULL 
); 

كود PHP:

USE [SRO_VT_ACCOUNT
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

CREATE PROCEDURE 
[dbo].[_BannPlayerSP]          

@
CharName varchar(max), 
@
Reason varchar(max

as 
--------------------------------                            
DECLARE @
ChrID INT;             
DECLARE @
AccJID INT;            
--------------------------------- 

SET @ChrID=(SELECT CharID FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharName16=@CharName
SET @AccJID=(SELECT UserJID FROM SRO_VT_SHARD_INIT.dbo._User WHERE CharID=@ChrID

---------------------- 

DECLARE  
        @
ID VARCHAR(64) = (Select STRuserID FROM TB_User Where JID = @AccJID), 
        @
Begin DATETIME GETDATE()-1
        @
End DATETIME GETDATE()+3650 


INSERT 
[dbo].[_Punishment

[
UserJID], 
[
Type], 
[
Executor], 
[
Shard], 
[
CharName], 
[
CharInfo], 
[
PosInfo] , 
[
Guide], 
[
Description], 
[
RaiseTime], 
[
BlockStartTime], 
[
BlockEndTime], 
[
PunishTime], 
[
Status

VALUES  

@
AccJID
1
1
0
@
CharName
1
1
@
Reason
@
Reason
@
Begin
@
Begin
@
End
@
End
0); 
---------------------------------------------------------- 
DECLARE @
ReasonID INT 
SET 
@ReasonID 
(
Select SerialNo FROM _Punishment Where UserJID = @AccJID
---------------------------------------------------------- 
INSERT [dbo].[_BlockedUser

[
UserJID], 
[
UserID], 
[
Type], 
[
SerialNo], 
[
TimeBegin], 
[
TimeEnd]) 
VALUES 

@
AccJID
@
ID
1
@
ReasonID
@
Begin
@
End); 

----------------------------------------------------------------- 
SELECT StrUserID FROM TB_User WHERE JID = @AccJID 
--------------------------------------------------------------- 

كود PHP:

USE [Log_DB]  
GO  

SET ANSI_NULLS ON  
GO  
SET QUOTED_IDENTIFIER ON  
GO  


ALTER   procedure 
[dbo].[_AddLogChar]   
@
CharID        int,  
@
EventID        tinyint,  
@
Data1        int,  
@
Data2        int,  
@
strPos        varchar(64),  
@
Desc        varchar(128)  
as  

    IF(@
EventID OR @EventID 6)  
    
BEGIN  

    
declare @len_pos     int  
    
declare @len_desc    int  
    set 
@len_pos len(@strPos)  
    
set @len_desc len(@Desc)  
    if (@
len_pos and @len_desc 0)  
    
begin      
        insert _LogEventChar values
(@CharIDGetDate(), @EventID, @Data1, @Data2, @strPos, @Desc)      
    
end  
    
else if (@len_pos and @len_desc 0)  
    
begin       
        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2EventPosvalues(@CharIDGetDate(), @EventID, @Data1, @Data2, @strPos)  
    
end  
    
else if (@len_pos and @len_desc 0)  
    
begin       
        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2strDescvalues(@CharIDGetDate(), @EventID, @Data1, @Data2, @Desc)  
    
end  
    
else  
    
begin  
        insert _LogEventChar 
(CharIDEventTimeEventIDData1Data2values(@CharIDGetDate(), @EventID, @Data1, @Data2)  
    
end  
      
    
--For the new IPLog table  
    
Declare @DynIP varchar(max);  
    
exec @DynIP SRO_VT_ACCOUNT.dbo.split_ip @Data2  
    INSERT INTO _IPLogs 
(CharID,Charname,IP,[Date]) VALUES (@CharID, (SELECT CharName16 FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharID = @CharID),@DynIP,GETDATE())  
    -- 
END 
    
-- Banned IP stuff 
    
IF exists (SELECT IP FROM _BannedIPs WHERE IP like @DynIP
    
BEGIN 
    
Declare @Charname varchar(max) = (SELECT CharName16 FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharID = @CharID
     
    
exec SRO_VT_ACCOUNT.dbo._BannPlayerSP @Charname,'usage of a banned IP' 
    
-- END banned IP stuff 
    END 

    END 
--------------------------------------------------------------- 

Have Fun
This V.1.1.0
Coming soon with tools V.2.1.0

http://im35.gulfup.com/Sg94k.png



●♥ Marwan1337 ♥● 25-11-2013 08:48 PM

تمــت المـوافقــة..

.a7la-smile. 25-11-2013 10:11 PM

الله ينور عليك

فنان ولله

aaaaa200123 25-11-2013 10:17 PM

انا جبت جوان فى هولندا

https://encrypted-tbn0.gstatic.com/i...XuzWURbmW0bJJA

Alrayk 25-11-2013 10:38 PM

رائع

hossam sayed 26-11-2013 02:58 AM

الله ينور
 
:thumb_yello:

Yousef Ayyoub 26-11-2013 02:12 PM

انا اسف علي الحقولو بس ....
الحور ده حينفاع مع الناس المش فلدول العربيه
عشان فلدول العربيه عندنا Dynamic IP ياعني كل مره ب Restart الروتر ال IP بيتغير فا مش لي فيده عند العرب
ياعني لو تعملو بي ال Mac address يبقه 100/100
لكن ال IP مش نافع

ارجو يكون كلامي غلط ^_^

و علي فكره الموضوع جامد جدا
ياعني مش مشكله لو استخدمنه بس حنعمل Ban للغرب بس :mushy:

Hamza FiGo 27-11-2013 10:53 AM

شكرا الموضوع دة كنت بدور علية من زمان ^_^
بس معلش حضرتك انا مش فاهم . انا لما اجي اعمل Ban IP لحد هدخل كل الـ Querys دي ولا Query معين ؟

Yousef Ayyoub 27-11-2013 01:59 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة hamzafigo (المشاركة 4952963)
شكرا الموضوع دة كنت بدور علية من زمان ^_^
بس معلش حضرتك انا مش فاهم . انا لما اجي اعمل Ban IP لحد هدخل كل الـ Querys دي ولا Query معين ؟

يا باشا ال querys دي بتعملك ال table بتاع ال ban عايز بقا تعميل بان لحد ممكن تضيفو manually او اعمل انتا query يعمل بان by char name

Tigger 13-05-2014 10:44 AM

اللة ينور


الساعة الآن 11:12 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.