Kết quả 1 đến 10 của 22
-
22-04-16, 11:27 PM #1
- Ngày tham gia
- Apr 2011
- Bài viết
- 90
- Thanks
- 8
- Thanked 48 Times in 13 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) == 202) then --Msg2SubWorld(GetName().." So Sanh ".. GetIP()) tmpIPAddress = lib:Split(GetIP(),":")[1] if (tmpIPAddress ==YourIPAddress) then count = count + 1 for i = 1, getn(LIST_IP) do --Msg2Player(YourIPAddress.." "..LIST_IP[i][1]) if YourIPAddress == LIST_IP[i][1] then 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_ip) then 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 == TotalPlayer) then 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
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_ONLINE, 202)SetTimer( 18 * 1, 116)
PHP Code:SetTask(TASK_TEMP_ONLINE, 0)
trước dòng sauOfflineLive(PlayerIndex)
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é!
-
The Following 19 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), greenvn (14-09-19), 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), nokia1100 (23-06-19),sin1992(30-07-17), SmileBlack (23-04-16), songvijx (03-05-16), trandainghia (23-04-16), tului (03-11-22), tunggiang (17-04-20)
-
23-04-16, 12:12 AM #2
Ðề: 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ênLầ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ùngnguyenhuynhducxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
23-04-16, 05:00 AM #3
- Ngày tham gia
- Feb 2015
- Đang ở
- fb.com/bil.jx
- Bài viết
- 321
- Thanks
- 87
- Thanked 276 Times in 151 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 hãy cùng bil4i3n xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
23-04-16, 06:44 AM #4
Ðề: 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é!
-
23-04-16, 10:36 AM #5
Ðề: 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) == 202) then --Msg2SubWorld(GetName().." So Sanh ".. GetIP())
tmpIPAddress = lib:Split(GetIP(),":")[1]
if (tmpIPAddress ==YourIPAddress) then
count = count + 1
for i = 1, getn(LIST_IP) do
--Msg2Player(YourIPAddress.." "..LIST_IP[i][1])
if YourIPAddress == LIST_IP[i][1] then
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_ip) then
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 == TotalPlayer) then
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
Khách viếng thăm hãy cùng Sesshomaru xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 2 Users Say Thank You to Sesshomaru For This Useful Post:
babylon9xx (27-04-18), emyeusss7 (25-05-16)
-
23-04-16, 11:44 AM #6
- Ngày tham gia
- Feb 2015
- Đang ở
- fb.com/bil.jx
- Bài viết
- 321
- Thanks
- 87
- Thanked 276 Times in 151 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
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àyLần sửa cuối bởi bil4i3n, ngày 23-04-16 lúc 12:05 PM.
Khách viếng thăm hãy cùng bil4i3n xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
23-04-16, 12:49 PM #7
- Ngày tham gia
- Oct 2011
- Bài viết
- 415
- Thanks
- 73
- Thanked 43 Times in 21 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
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é!
-
23-04-16, 01:16 PM #8
- Ngày tham gia
- Feb 2015
- Đang ở
- fb.com/bil.jx
- Bài viết
- 321
- Thanks
- 87
- Thanked 276 Times in 151 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
Khách viếng thăm hãy cùng bil4i3n xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
23-04-16, 01:21 PM #9
Ðề: 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..
Khách viếng thăm hãy cùng BMK xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
23-04-16, 02:06 PM #10
Ðề: 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ùngnguyenhuynhducxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
Các thành viên gởi lời cảm ơn đến nguyenhuynhduc vì bài viết này !
longloveskyper (10-07-19)
Các Chủ đề tương tự
-
[KT] Share web pay account kiếm thế !
Bởi BMK trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 8Bài viết cuối: 16-03-16, 10:51 PM -
[Hỗ Trợ] Share account 4Share.vn VIP vĩnh viễn.
Bởi mrsmith59 trong diễn đàn CHUYÊN ĐỀ WEB GAMESTrả lời: 29Bài viết cuối: 02-02-14, 10:05 AM -
[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ầuTrả lời: 0Bài viết cuối: 27-06-12, 08:58 PM -
[KT] Share web reg account
Bởi |Rick| trong diễn đàn ReleasesTrả lời: 6Bài viết cuối: 16-06-12, 01:35 PM -
[JX] Quản lý account --- share chơi
Bởi accelan006 trong diễn đàn ReleasesTrả lời: 4Bài viết cuối: 27-01-12, 11:49 AM