Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 2 1 2 CuốiCuối
Kết quả 1 đến 10 của 19
  1. #1
    Thành Viên
    Ngày tham gia
    Apr 2011
    Bài viết
    76
    Thanks
    8
    Thanked 41 Times in 12 Posts

    Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều thứ

    Trước khi đọc bài của mình bạn nên hiểu giới hạn theo IP là gì.
    Giới hạn theo IP là giới hạn theo địa chỉ IP public (có thể vào canyouseeme.org để xem địa chỉ ip public máy tính của bạn).
    Có 2 cách để làm, 1 là dùng iptables (cách này cũng tốt nhưng nó thuộc phạm trù quản trị mạng nên mình không nhắc đến), 2 là dùng script như mình share.
    Mình tham gia cộng đồng jx chưa được bao lâu, do là người đang đi làm nên thời gian mình dành cho jx cũng không được quá nhiều. Nên kiến thức còn hạn hẹp.
    Script này mình tự mày mò và code. Có gì mọi người cùng cho ý kiến.
    Lợi ích:
    - Giới hạn được số account / IP.
    - Nếu đăng nhập quá số account sẽ tự động quay trở lại màn hình đăng nhập.
    - Có thể giới hạn theo ý tưởng. VD như mỗi IP không được đăng nhập quá 2 acc thiên nhẫn, ...
    - Có thể mở giờ không giới hạn như công thành, tống kim, ...
    - Nói chung mọi ý tưởng giới hạn đều có thể thực hiện được
    Hạn chế:
    Chỉ giới hạn được theo IP chứ không phải giới hạn theo PC.

    Cách làm như sau:

    Bước 1: tạo 1 file hancheip.lua có nội dung như sau:
    PHP Code:
    IncludeLib("SETTING")IncludeLib("RELAYLADDER")IncludeLib("TIMER")IncludeLib("PARTNER")Include("\\script\\dailogsys\\dailogsay.lua")Include("\\script\\activitysys\\functionlib.lua")Include("\\script\\global\\volamht\\config.lua")
    MAX_PLAYER_ON_IP 6
    LIST_IP 
    = {    {"113.190.208.192 ",12,2,},    {"113.23.53.21 ",12,2,},    {"118.70.178.121 ",12,2,},    {"14.177.254.170 ",12,2,},    {"14.167.238.90 ",10,2,},    {"14.164.25.194 ",8,2,},    {"14.169.90.17 ",12,2,},    {"14.176.122.185 ",10,2,},    {"123.28.158.92 ",8,2,},    {"1.54.213.213  ",10,2,},    {"113.188.136.104 ",10,2,},    {"117.5.22.230 ",8,2,},    {"42.112.235.4 ",12,2,},}
    function 
    CheckYourIP(YourIPAddress)    local OldPlayerIndex PlayerIndex    local TotalPlayer GetPlayerCount()    local count 0    local tmpPlayerIndex 1    local success 0    local tmpIPAddress    local tmp_max_ip MAX_PLAYER_ON_IP    local YourFaction GetFaction()    while (1) do        PlayerIndex tmpPlayerIndex        if(GetName() ~= ""then            if (GetTask(TASK_TEMP_ONLINE) == 202then                --Msg2SubWorld(GetName().." So Sanh ".. GetIP())                tmpIPAddress lib:Split(GetIP(),":")[1]                if (tmpIPAddress ==YourIPAddressthen                    count count 1                    for 1getn(LIST_IP) do                        --Msg2Player(YourIPAddress.." "..LIST_IP[i][1])                        if YourIPAddress == LIST_IP[i][1then                            if(YourFaction == "tianren" and count LIST_IP[i][3]) then                                OfflineLive(PlayerIndex)                                KickOutAccount(GetAccount())                            end                            --Msg2Player(LIST_IP[i][2])                            tmp_max_ip LIST_IP[i][2]                            break                        end                    end                    if (count tmp_max_ipthen                        PlayerIndex OldPlayerIndex                        --Msg2Player("IP cña b¹n ®· ®¨ng nhËp "..tmp_max_ip.." Account råi. B¹n sÏ bÞ kick khái server. Vui lßng liªn hÖ Admin ®Ó ®­îc hç trî. Tr©n Träng!")                        --ScriptProtocol:Echo("/ExitGame")                        OfflineLive(PlayerIndex)                        KickOutAccount(GetAccount())                        --ExitGame()                        break                    end                end            end            success success 1        end        if(success == TotalPlayerthen            break        end        tmpPlayerIndex tmpPlayerIndex 1    end    PlayerIndex OldPlayerIndex    Msg2Player("<color=green>X¸c thùc IP thµnh c«ng! IP cña b¹n hiÖn ®· ®¨ng nhËp "..count.." Account.<enter>Mçi IP ®­îc phÐp ®¨ng nhËp tèi ®a "..tmp_max_ip.." Account.<color>")end
    function OnTimer()    local YourIPAddress  lib:Split(GetIP(),":")[1]    --Msg2Player("<color=green>TiÕn hµnh x¸c thùc IP. IP Cña b¹n lµ <color>"..YourIPAddress)    Msg2Player("<color=green>TiÕn hµnh x¸c thùc IP. <color>")    CheckYourIP(YourIPAddress)    StopTimer()end 
    Bước 2: Khai báo task tại setting - > timertask.txt
    VD: 116 \script\global\volamht\hancheip.lua
    Bước 3: thêm 2 dòng này vào file script -> global -> login.lua.
    PHP Code:
    SetTask(TASK_TEMP_ONLINE202)SetTimer18 1116
    Bước 4: Thêm dòng sau vào file ủy thác rời mạng:
    PHP Code:
    SetTask(TASK_TEMP_ONLINE0)
    trước dòng sauOfflineLive(PlayerIndex
    Bước 5: tạo file config khai báo biến: TASK_TEMP_ONLINE = 3013 (hoặc bạn có thể tìm chỗ nào mình dùng biến này thay bằng số 3013)

    Code mình share có sẵn phần các IP trong list được vượt quá 6 acc / IP, nhưng đổi lại không được đăng nhập quá 2 acc thiên nhẫn.

    Done!
    Khách viếng thăm hãy cùng family2806 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. The Following 14 Users Say Thank You to family2806 For This Useful Post:

    bil4i3n (23-04-16), dovietthai (07-09-16), emyeusss7 (25-05-16), f-fantasy (29-04-16), hoivegame (24-04-16), killer20099 (23-04-16), knight06 (22-04-16), kuroo123 (24-04-16), minhkhanh109 (22-04-16), nguyenhuynhduc (23-04-16), nhaodzo (26-04-16), SmileBlack (23-04-16), songvijx (03-05-16), trandainghia (23-04-16)

  3. #2
    Vi phạm quy định nguyenhuynhduc's Avatar
    Ngày tham gia
    Aug 2015
    Bài viết
    202
    Thanks
    129
    Thanked 17 Times in 16 Posts

    Ðề: Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều t

    TKS chủ thớt
    30 tô tái nạm bò viên
    Lần sửa cuối bởi nguyenhuynhduc, ngày 23-04-16 lúc 07:32 AM.
    Khách viếng thăm hãy cùng nguyenhuynhduc xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #3
    Thành Viên bil4i3n's Avatar
    Ngày tham gia
    Feb 2015
    Đang ở
    Y!H: bil4i3n
    Bài viết
    291
    Thanks
    85
    Thanked 249 Times in 141 Posts

    Ðề: Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều t

    mình ghiền cái lệnh này ScriptProtocol:Echo("string")
    thanks nhiều nhé
    Khách viếng thăm -

  5. #4
    Thành Viên Tâm Huyết wermanhme1990's Avatar
    Ngày tham gia
    Apr 2008
    Bài viết
    1,295
    Thanks
    51
    Thanked 482 Times in 373 Posts

    Ðề: Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều t

    Cái script này chỉ là giải pháp tạm thời, các máy cùng ip không thể áp dụng cách này.
    Khách viếng thăm hãy cùng wermanhme1990 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #5
    Thành Viên Tâm Huyết Sesshomaru's Avatar
    Ngày tham gia
    Apr 2009
    Bài viết
    1,639
    Thanks
    21
    Thanked 609 Times in 162 Posts

    Ðề: Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều t

    PHP Code:
    IncludeLib("SETTING")
    IncludeLib("RELAYLADDER")
    IncludeLib("TIMER")
    IncludeLib("PARTNER")
    Include(
    "\\script\\dailogsys\\dailogsay.lua")
    Include(
    "\\script\\activitysys\\functionlib.lua")
    Include(
    "\\script\\global\\volamht\\config.lua")
    MAX_PLAYER_ON_IP 6
    LIST_IP 
    = {
        {
    "113.190.208.192 ",12,2,},
        {
    "113.23.53.21 ",12,2,},
        {
    "118.70.178.121 ",12,2,},
        {
    "14.177.254.170 ",12,2,},
        {
    "14.167.238.90 ",10,2,},
        {
    "14.164.25.194 ",8,2,},
        {
    "14.169.90.17 ",12,2,},
        {
    "14.176.122.185 ",10,2,},
        {
    "123.28.158.92 ",8,2,},
        {
    "1.54.213.213  ",10,2,},
        {
    "113.188.136.104 ",10,2,},
        {
    "117.5.22.230 ",8,2,},
        {
    "42.112.235.4 ",12,2,},
        }
    function 
    CheckYourIP(YourIPAddress)
        
    local OldPlayerIndex PlayerIndex
        local TotalPlayer 
    GetPlayerCount()
        
    local count 0
        local tmpPlayerIndex 
    1
        local success 
    0
        local tmpIPAddress
        local tmp_max_ip 
    MAX_PLAYER_ON_IP
        local YourFaction 
    GetFaction()
                        while (
    1)
                        do 
                        
    PlayerIndex tmpPlayerIndex
                            
    if(GetName() ~= ""then 
                                    
    if (GetTask(TASK_TEMP_ONLINE) == 202then                --Msg2SubWorld(GetName().." So Sanh ".. GetIP())                
                                        
    tmpIPAddress lib:Split(GetIP(),":")[1]                
                                            if (
    tmpIPAddress ==YourIPAddressthen
                                                count 
    count 1
                                                        
    for 1getn(LIST_IP) do 
                                                        --
    Msg2Player(YourIPAddress.." "..LIST_IP[i][1]) 
                                                            if 
    YourIPAddress == LIST_IP[i][1then 
                                                                
    if(YourFaction == "tianren" and count LIST_IP[i][3]) then
                                                                OfflineLive
    (PlayerIndex)
                                                                
    KickOutAccount(GetAccount())
                                                                
    end                            --Msg2Player(LIST_IP[i][2])
                                                            
    tmp_max_ip LIST_IP[i][2
                                                            break 
                                                            
    end
                                                        end
                                                            
    if (count tmp_max_ipthen 
                                                                    PlayerIndex 
    OldPlayerIndex
                                                                    
    --Msg2Player("IP cña b¹n ®· ®¨ng nhËp "..tmp_max_ip.." Account råi. B¹n sÏ bÞ kick khái server. Vui lßng liªn hÖ Admin ®Ó ®­îc hç trî. Tr©n Träng!")                        --ScriptProtocol:Echo("/ExitGame"
                                                                    
    OfflineLive(PlayerIndex)
                                                                    
    KickOutAccount(GetAccount())
                                                                    --
    ExitGame()
                                                            break
                                                            
    end 
                                            end
                                    end
                            success 
    success 1
                            end 
                            
    if(success == TotalPlayerthen
                                
    break 
                            
    end
                            tmpPlayerIndex 
    tmpPlayerIndex 1
                        end
                        PlayerIndex 
    OldPlayerIndex
                        Msg2Player
    ("<color=green>X¸c thùc IP thµnh c«ng! IP cña b¹n hiÖn ®· ®¨ng nhËp "..count.." Account.<enter>Mçi IP ®­îc phÐp ®¨ng nhËp tèi ®a "..tmp_max_ip.." Account.<color>")
    end
    function OnTimer()
        
    local YourIPAddress  lib:Split(GetIP(),":")[1]    
        --
    Msg2Player("<color=green>TiÕn hµnh x¸c thùc IP. IP Cña b¹n lµ <color>"..YourIPAddress)
        
    Msg2Player("<color=green>TiÕn hµnh x¸c thùc IP. <color>")
        
    CheckYourIP(YourIPAddress)
        
    StopTimer()
        
    end 
    Nhìn bạn viết code đau mắt thật,mình ko hiểu tại sao lại dùng break trong hàm if ,break dùng để phá vòng lặp for thôi mà,cơ mà code này admin phải thêm ip bằng tay,rồi lại reload lại script,có vẻ chua
    Nhận làm trang chủ,Quản lý tài khoản,forum for all game (trừ Quản lý MU).
    Demo sản phẩm xem tại đây:[Only registered and activated users can see links. ]
    SMS:0985023919
    Skype:toai.tran223

  7. Các thành viên gởi lời cảm ơn đến Sesshomaru vì bài viết này !

    emyeusss7 (25-05-16)

  8. #6
    Thành Viên bil4i3n's Avatar
    Ngày tham gia
    Feb 2015
    Đang ở
    Y!H: bil4i3n
    Bài viết
    291
    Thanks
    85
    Thanked 249 Times in 141 Posts

    Ðề: Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều t

    Trích dẫn Gửi bởi Sesshomaru [Only registered and activated users can see links. ]
    Nhìn bạn viết code đau mắt thật,mình ko hiểu tại sao lại dùng break trong hàm if ,break dùng để phá vòng lặp for thôi mà,cơ mà code này admin phải thêm ip bằng tay,rồi lại reload lại script,có vẻ chua
    Break để thoát khỏi While(1) nằm trong if là để check điều kiện để thoát thôi chứ không ra khỏi While đang true thì có mà treo máy chủ
    nhưng mà code thêm ip bằng tay có mà chết
    đoạn code này mục đích để online mà kiểm tra điều kiện không có trường hợp ngược lại, nếu không đúng phải chạy tới tổng lượng mem đang on cộng với lặp mảng IP kết hợp với Timer() thì hơi ớn nhỉ , à còn 1 mớ IncludeLib chả liên quan gì đến đoạn code này
    Lần sửa cuối bởi bil4i3n, ngày 23-04-16 lúc 12:05 PM.
    Khách viếng thăm -

  9. #7
    Thành Viên
    Ngày tham gia
    Oct 2011
    Bài viết
    214
    Thanks
    66
    Thanked 35 Times in 17 Posts

    Ðề: Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều t

    Trích dẫn Gửi bởi bil4i3n [Only registered and activated users can see links. ]
    mình ghiền cái lệnh này ScriptProtocol:Echo("string")
    thanks nhiều nhé
    Đây là lệnh j vậy bạn
    chỉ mình cách dùng dc ko bạn
    Khách viếng thăm hãy cùng rang_sut xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  10. #8
    Thành Viên bil4i3n's Avatar
    Ngày tham gia
    Feb 2015
    Đang ở
    Y!H: bil4i3n
    Bài viết
    291
    Thanks
    85
    Thanked 249 Times in 141 Posts

    Ðề: Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều t

    Trích dẫn Gửi bởi rang_sut [Only registered and activated users can see links. ]
    Đây là lệnh j vậy bạn
    chỉ mình cách dùng dc ko bạn
    Cái này mình mới thấy trong đoạn code đó chứ mấy, mình qoute lại để đó khi nào rảnh tìm xem nó là cái gì , cả đoạn code có mỗi cái này là lạ mắt nhất chứ mấy
    Khách viếng thăm -

  11. #9
    V.I.P BMK's Avatar
    Ngày tham gia
    Mar 2011
    Bài viết
    614
    Thanks
    189
    Thanked 657 Times in 182 Posts

    Ðề: Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều t

    sao ko load 1 file txt lấy ip @@! mà lạy thêm = tay..
    FB : Matchs.UntilPall
    YH : _lovelyguy_

  12. #10
    Vi phạm quy định nguyenhuynhduc's Avatar
    Ngày tham gia
    Aug 2015
    Bài viết
    202
    Thanks
    129
    Thanked 17 Times in 16 Posts

    Ðề: Share Script Giới Hạn Số Account / IP, có thể tùy biến giới hạn thêm nhiều t

    Đã làm theo như chủ thớt mà s vẫn k giới han dc ta. Vào 7acc như thường. Ai team qa jup mình với
    Khách viếng thăm hãy cùng nguyenhuynhduc xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 1 của 2 1 2 CuốiCuối

Các Chủ đề tương tự

  1. [KT] Share web pay account kiếm thế !
    Bởi BMK trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 8
    Bài viết cuối: 16-03-16, 10:51 PM
  2. [Hỗ Trợ] Share account 4Share.vn VIP vĩnh viễn.
    Bởi mrsmith59 trong diễn đàn CHUYÊN ĐỀ WEB GAMES
    Trả lời: 29
    Bài viết cuối: 02-02-14, 10:05 AM
  3. [KT] Hạn chế chơi nhiều account kéo xe bò ...
    Bởi duonghoangvu trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 0
    Bài viết cuối: 27-06-12, 08:58 PM
  4. [KT] Share web reg account
    Bởi |Rick| trong diễn đàn Releases
    Trả lời: 6
    Bài viết cuối: 16-06-12, 01:35 PM
  5. [JX] Quản lý account --- share chơi
    Bởi accelan006 trong diễn đàn Releases
    Trả lời: 4
    Bài viết cuối: 27-01-12, 11:49 AM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 08:16 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.