How to Ban IP By CharName :D

Results 1 to 10 of 10
  1. #1
    Banned nukertube is offline
    BannedRank
    Oct 2011 Join Date
    BrazilLocation
    224Posts

    note How to Ban IP By CharName :D



    Credits to @Caipi

    My Query to Ban Player


    PHP Code:
    --By Leandro nukertube ) --
    USE [
    SRO_VT_SHARD]           
    GO
    --------------------------------                           
    DECLARE @
    ChrID INT;            
    DECLARE @
    CharName VARCHAR(64); 
    DECLARE @
    AccJID INT;           
    ---------------------------------
    SET @CharName =    'CharNameHere'---
    ---------------------------------
    SET @ChrID=(SELECT CharID FROM _Char WHERE CharName16=@CharName)
    SET @AccJID=(SELECT UserJID FROM _User WHERE CharID=@ChrID)
    -----------------------------------------------------------------
    USE 
    SRO_VT_ACCOUNT
    DECLARE @ID VARCHAR (64)
    DECLARE @
    Reason VARCHAR(128)
    DECLARE @
    Begin DATETIME
    DECLARE @End DATETIME
    SET 
    @ID = (Select STRuserID FROM TB_User Where JID = @AccJID)

    ---------------------------------
    SET @Reason    =    'Ban Reason Here'
    SET @Begin    =    '2012-05-01 00:00:00.000' --    Time Begin    --
    SET @End    =    '2040-01-01 00:00:00.000' --    Time End    --
    ---------------------------------
    ---------------------------

    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
    -----------------------------------------------------------------
    --
    By Leandro nukertube ) -- 
    Querry to Unban Player

    PHP Code:
    --By Leandro nukertube ) --
    USE [
    SRO_VT_SHARD]           
    GO
    --------------------------------                           
    DECLARE @
    ChrID INT;            
    DECLARE @
    CharName VARCHAR(64); 
    DECLARE @
    AccJID INT;           
    ---------------------------------
    SET @CharName =    'CharNameHere'---
    ---------------------------------
    SET @ChrID=(SELECT CharID FROM _Char WHERE CharName16=@CharName)
    SET @AccJID=(SELECT UserJID FROM _User WHERE CharID=@ChrID)
    --------------------------------
    USE [
    SRO_VT_ACCOUNT]
    --------------------------------
    DELETE FROM [dbo].[_BlockedUser]
    WHERE UserJID = @AccJID
    DELETE FROM 
    [dbo].[_Punishment]
    WHERE UserJID = @AccJID

    --By Leandro nukertube ) --  

    -----------------------------------------------------------------
    SELECT StrUserID FROM TB_User WHERE JID = @AccJID
    ----------------------------------------------------------------- 
    (Querry to ban and Unban by me! +1 Like :D)

    Credits to @Caipi ->

    query to create table to store the ip of the players

    PHP Code:
    USE Log_DB

    CREATE TABLE _IPLogs 


    [
    No.] int IDENTITY(1,1PRIMARY KEY
    [
    CharIDint
    [
    Charnamevarchar(max), 
    [
    IPvarchar(max), 
    [
    Datedatetime 
    ); 
    stored product to record the ip of the players at the table _IPlogs

    PHP Code:
    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.dbo._Char WHERE CharID = @CharID),@DynIP,GETDATE()) 
        -- 
    END 

        END 

    Okay, now the ip will be archived and it will be possible to display the name of the char
    EDITED
    --> Only if the _IPLogs table doesn't contain already IP's of the Char you want to ban


    PHP Code:
    USE [Log_DB]

    Declare @
    Charname varchar(max);

    SET @Charname 'CharNameHere'

    SELECT Data2 INTO #temp_table FROM _LogEventChar 
    WHERE CharID = (SELECT CharID FROM SRO_VT_SHARD.dbo._Char WHERE CharName16 like @Charname) AND (EventID OR EventID 6)
    GROUP BY Data2
    ORDER BY Data2 asc

    Declare @Counter int = (SELECT MIN(Data2FROM #temp_table), @IP varchar(max);

    CREATE TABLE #temp_table_result (
    [IPvarchar(max)
    );

    WHILE (@
    Counter <= (SELECT MAX(Data2FROM #temp_table))
        
    BEGIN
            exec 
    @IP SRO_VT_ACCOUNT.dbo.split_ip @Counter
            INSERT INTO 
    #temp_table_result SELECT @IP
            
    SET @Counter = (SELECT MIN(Data2FROM #temp_table WHERE Data2 > @Counter)
        
    END

    SELECT 
    FROM #temp_table_result

    DROP TABLE #temp_table
    DROP TABLE #temp_table_result 
    Now the table where the IP will be blocked

    PHP Code:
    CREATE TABLE _BannedIPs (
    [
    No.] int PRIMARY KEY IDENTITY (1,1),
    [
    IPvarchar(maxNOT NULL
    ); Ā  

    Now the stored product to block all accounts that connect the blocked ip

    PHP Code:
    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.dbo._Char WHERE CharName16=@CharName)
    SET @AccJID=(SELECT UserJID FROM SRO_VT_SHARD.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
    ----------------------------------------------------------------- 


    Last stored product


    PHP Code:
    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.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.dbo._Char WHERE CharID = @CharID)
        
        
    exec SRO_VT_ACCOUNT.dbo._BannPlayerSP @Charname,'usage of a banned IP'
        
    -- END banned IP stuff
        END

        END 




    After Run all tables and stored products, to ban an ip you just run the query to find the ip by the name of the character, get the ip, and paste the table _bannedips (in log_DB)


    Plz THX for me and Caipi[/FONT][/COLOR][/SIZE]


  2. #2
    Proficient Member epvp2 is offline
    MemberRank
    Oct 2011 Join Date
    163Posts

    Re: [RELEASE]How to Ban IP By CharName :D

    thanks very helpful

  3. #3
    Banned nukertube is offline
    BannedRank
    Oct 2011 Join Date
    BrazilLocation
    224Posts

    Re: [RELEASE]How to Ban IP By CharName :D

    :D Like This

  4. #4
    NewEvolust.Com xxNukertube is offline
    MemberRank
    Jul 2012 Join Date
    Ceres, Goias, BLocation
    215Posts

    Re: [RELEASE]How to Ban IP By CharName :D

    Nice !

  5. #5
    Valued Member fabien31 is offline
    MemberRank
    Dec 2010 Join Date
    FranceLocation
    147Posts

    Re: [RELEASE]How to Ban IP By CharName :D

    Too bad this is not works correctly :(

  6. #6
    Valued Member trytokillme is offline
    MemberRank
    Nov 2011 Join Date
    101Posts

    Re: How to Ban IP By CharName :D

    Msg 1046, Level 15, State 1, Procedure _AddLogChar, Line 39
    Subqueries are not allowed in this context. Only scalar expressions are allowed.

  7. #7
    Valued Member fabien31 is offline
    MemberRank
    Dec 2010 Join Date
    FranceLocation
    147Posts

    Re: How to Ban IP By CharName :D

    try to use mssql 08 :)

    Only think do not working here it's if you add a IP on bannedIPs the query do not check it and do not ban any other char added :)

    IF anyone have a solution to this issue that will be helpfull for all :)

  8. #8
    NewEvolust.Com xxNukertube is offline
    MemberRank
    Jul 2012 Join Date
    Ceres, Goias, BLocation
    215Posts

    Re: How to Ban IP By CharName :D

    Original Thread

  9. #9
    Enthusiast farawy is offline
    MemberRank
    Oct 2012 Join Date
    35Posts

    Re: How to Ban IP By CharName :D

    Thanks Works prefect
    you are Rock

  10. #10
    NewEvolust.Com xxNukertube is offline
    MemberRank
    Jul 2012 Join Date
    Ceres, Goias, BLocation
    215Posts

    Re: How to Ban IP By CharName :D

    xD you welcome



Advertisement