OldHero 12 Report post Posted April 12, 2017 Hello guys may some share me anti bot system ??? what work 100% thanks ! Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted April 12, 2017 Hello @OldHero! Do you mean 'captcha' or script based antibot? Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
Simon 76 Report post Posted April 12, 2017 7 minutes ago, V3ct0r said: Hello @OldHero! Do you mean 'captcha' or script based antibot? this is surely what he needs. Quote Share this post Link to post Share on other sites
OldHero 12 Report post Posted April 12, 2017 Yep Victor Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted April 12, 2017 Which one? There is 'captcha' antibot. It is built in GameServer.exe / Game.exe and works only on 2.x versions. In 1.3x versions antibot is disabled, need to patch .exe's. Also I have seen simple antibot script, which checking how many seconds or minutes character is standing and does not move. Then player have to enter special letters in local chat or he will be kicked (requires GameServer.exe with HandleChat() function). Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
OldHero 12 Report post Posted April 12, 2017 ""Also I have seen simple antibot script, which checking how many seconds or minutes character is standing and does not move. Then player have to enter special letters in local chat or he will be kicked (requires GameServer.exe with HandleChat() function)."" This what i mean you have ??? for share maybe bro and i have gamesrv with handlechat func Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted April 12, 2017 10 минут назад, OldHero сказал: ""Also I have seen simple antibot script, which checking how many seconds or minutes character is standing and does not move. Then player have to enter special letters in local chat or he will be kicked (requires GameServer.exe with HandleChat() function)."" This what i mean you have ??? for share maybe bro and i have gamesrv with handlechat func No, I don't have. Also I don't remember where I have seen this script, unfortunately. Maybe here, on PkoDEV. I think you can write such script by yourself. It is not too hard. Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
OldHero 12 Report post Posted April 12, 2017 Aha oki maybe some will respond more thanks you Quote Share this post Link to post Share on other sites
Yosef 2 Report post Posted June 19, 2017 I’m looking for this too Quote Share this post Link to post Share on other sites
Ximboliex 86 Report post Posted June 19, 2017 Anti bot whitout captcha and whit exemption whit pet farmers(miner,lumber) *Note: Be sure to create or modify where the logs will be saved **By: @Yudha*** -------------------------------------------------------------------------- -- -- -- -- -- anitbot.lua -- -- -- -- -- -------------------------------------------------------------------------- print("* Loading <AntiBot> init.lua" ) local Chars = {} for Loop = 0, 255 do Chars[Loop+1] = string.char(Loop) end local String = table.concat(Chars) local Built = {['.'] = Chars} local AddLookup = function(CharSet) local Substitute = string.gsub(String, '[^'..CharSet..']', '') local Lookup = {} for Loop = 1, string.len(Substitute) do Lookup[Loop] = string.sub(Substitute, Loop, Loop) end Built[CharSet] = Lookup return Lookup end function string.random(Length, CharSet) -- Length (number) -- CharSet (string, optional); e.g. %l%d for lower case letters and digits local CharSet = CharSet or '.' if CharSet == '' then return '' else local Result = {} local Lookup = Built[CharSet] or AddLookup(CharSet) local Range = table.getn(Lookup) for Loop = 1,Length do Result[Loop] = Lookup[math.random(1, Range)] end return table.concat(Result) end end function BotLog(name,text) local file = GetResPath("script/addon/AntiBot/Logs/"..name..".txt") LogFile = io.open(file,'a') LogFile:write("["..os.date().."]\t"..text.."\n") LogFile:close() end antiBot = {} antiBot.Enable = false antiBot.Avoid = {} antiBot.store = GetResPath("script/addon/AntiBot/Logs/") ---Add exemptions here, if you haven't then set false all. antiBot.Avoid[777] = true antiBot.Avoid[778] = true ------ antiBot.Maps = {} antiBot.Maps["garner2"] = true antiBot.Maps["chaosicicle"] = true antiBot.Maps["chaosshaitan"] = true antiBot.Maps["deathcircle"] = true antiBot.Maps["warlordarena"] = true antiBot.Maps["massivewipeout"] = true antiBot.Maps["lonetower"] = true antiBot.Maps["babylontower"] = true antiBot.Maps["abandonedcity"] = true antiBot.Maps["abandonedcity2"] = true antiBot.Maps["abandonedcity3"] = true antiBot.Maps["darkswamp"] = true antiBot.Maps["puzzleworld"] = true function antiBot_timer(ignore,cha) local cha_name = GetChaDefaultName(TurnToCha(cha)) local now_tick = GetChaParam(cha, 1) local nearbyMonster = GetChaSetByRange ( cha , 0 ,0 ,230 , 0) local zoneType = IsChaInRegion( cha, 2 ) local randomizer = Percentage_Random(0.002) local ChaMap = GetChaMapName(cha) if (antiBot.Enable == true) then if(antiBot.Maps[ChaMap] ~= nil) then if(antiBot.Maps[ChaMap] == true) then if randomizer == 1 then if antiBot[cha_name] == nil then local charID = GetCharID(TurnToCha(cha)) local cap = string.random(5,"%u") table.save({cap},antiBot.store..charID..".txt","w") BickerNotice(cha,"Please enter the serial key to avoid getting kicked!") HelpInfo(cha,0," Enter Serial Key_ "..cap) antiBot[cha_name] = true end end --Player antibot activates, giving him seconds to verify if antiBot[cha_name] ~= nil then if math.mod(now_tick, 5) == 0 and now_tick > 0 then BickerNotice(cha,"Please verify to system that you are human!") end if math.mod(now_tick, 30) == 0 and now_tick > 0 then local x,y = GetChaPos(cha) x,y = math.floor(x/100),math.floor(y/100) local map = GetChaMapName(cha) BotLog("Botters","Player "..cha_name.." was kicked from "..map.." <"..x..","..y..">") GiveReputation(cha,-1000) MoveCity(cha,"") antiBot[cha_name] = nil end end end end end end Hook:AddPostHook("cha_timer",antiBot_timer) function antiBot_confirm(cha) local cha_name = GetChaDefaultName(cha) antiBot[cha_name] = nil os.remove(antiBot.store..(GetCharID(cha))..".txt") end I hope it helps! @Yosef , @OldHero Quote Share this post Link to post Share on other sites
Yosef 2 Report post Posted June 19, 2017 Thank you @Ximboliex I will test this as soon I get home. Quote Share this post Link to post Share on other sites
deguix 64 Report post Posted June 19, 2017 If I remember right, 1.35 has it enabled as well. Quote Share this post Link to post Share on other sites
Simon 76 Report post Posted June 19, 2017 3 hours ago, Ximboliex said: Anti bot whitout captcha and whit exemption whit pet farmers(miner,lumber) *Note: Be sure to create or modify where the logs will be saved **By: @Yudha*** -------------------------------------------------------------------------- -- -- -- -- -- anitbot.lua -- -- -- -- -- -------------------------------------------------------------------------- print("* Loading <AntiBot> init.lua" ) local Chars = {} for Loop = 0, 255 do Chars[Loop+1] = string.char(Loop) end local String = table.concat(Chars) local Built = {['.'] = Chars} local AddLookup = function(CharSet) local Substitute = string.gsub(String, '[^'..CharSet..']', '') local Lookup = {} for Loop = 1, string.len(Substitute) do Lookup[Loop] = string.sub(Substitute, Loop, Loop) end Built[CharSet] = Lookup return Lookup end function string.random(Length, CharSet) -- Length (number) -- CharSet (string, optional); e.g. %l%d for lower case letters and digits local CharSet = CharSet or '.' if CharSet == '' then return '' else local Result = {} local Lookup = Built[CharSet] or AddLookup(CharSet) local Range = table.getn(Lookup) for Loop = 1,Length do Result[Loop] = Lookup[math.random(1, Range)] end return table.concat(Result) end end function BotLog(name,text) local file = GetResPath("script/addon/AntiBot/Logs/"..name..".txt") LogFile = io.open(file,'a') LogFile:write("["..os.date().."]\t"..text.."\n") LogFile:close() end antiBot = {} antiBot.Enable = false antiBot.Avoid = {} antiBot.store = GetResPath("script/addon/AntiBot/Logs/") ---Add exemptions here, if you haven't then set false all. antiBot.Avoid[777] = true antiBot.Avoid[778] = true ------ antiBot.Maps = {} antiBot.Maps["garner2"] = true antiBot.Maps["chaosicicle"] = true antiBot.Maps["chaosshaitan"] = true antiBot.Maps["deathcircle"] = true antiBot.Maps["warlordarena"] = true antiBot.Maps["massivewipeout"] = true antiBot.Maps["lonetower"] = true antiBot.Maps["babylontower"] = true antiBot.Maps["abandonedcity"] = true antiBot.Maps["abandonedcity2"] = true antiBot.Maps["abandonedcity3"] = true antiBot.Maps["darkswamp"] = true antiBot.Maps["puzzleworld"] = true function antiBot_timer(ignore,cha) local cha_name = GetChaDefaultName(TurnToCha(cha)) local now_tick = GetChaParam(cha, 1) local nearbyMonster = GetChaSetByRange ( cha , 0 ,0 ,230 , 0) local zoneType = IsChaInRegion( cha, 2 ) local randomizer = Percentage_Random(0.002) local ChaMap = GetChaMapName(cha) if (antiBot.Enable == true) then if(antiBot.Maps[ChaMap] ~= nil) then if(antiBot.Maps[ChaMap] == true) then if randomizer == 1 then if antiBot[cha_name] == nil then local charID = GetCharID(TurnToCha(cha)) local cap = string.random(5,"%u") table.save({cap},antiBot.store..charID..".txt","w") BickerNotice(cha,"Please enter the serial key to avoid getting kicked!") HelpInfo(cha,0," Enter Serial Key_ "..cap) antiBot[cha_name] = true end end --Player antibot activates, giving him seconds to verify if antiBot[cha_name] ~= nil then if math.mod(now_tick, 5) == 0 and now_tick > 0 then BickerNotice(cha,"Please verify to system that you are human!") end if math.mod(now_tick, 30) == 0 and now_tick > 0 then local x,y = GetChaPos(cha) x,y = math.floor(x/100),math.floor(y/100) local map = GetChaMapName(cha) BotLog("Botters","Player "..cha_name.." was kicked from "..map.." <"..x..","..y..">") GiveReputation(cha,-1000) MoveCity(cha,"") antiBot[cha_name] = nil end end end end end end Hook:AddPostHook("cha_timer",antiBot_timer) function antiBot_confirm(cha) local cha_name = GetChaDefaultName(cha) antiBot[cha_name] = nil os.remove(antiBot.store..(GetCharID(cha))..".txt") end I hope it helps! @Yosef , @OldHero If I am correct,I remember that yudha has another one and saeed has written "anitbot" before instead of "antibot" so I believe it's Saeed not yudha. Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted August 23, 2018 GameServer.exe version 1.38 with enabled /captcha/ antibot. Antibot does not work if: Character of the player is GM or HD (GM-level > 0); The character is in a safe zone; The character is in the PvP zone. The reward for the correctly entered verification code is configured in the WGPrizeBegin() function, the functions.lua file. Use at own risk. I do not carry responsibility for any crashes and other bugs. 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
UchihaJr 2 Report post Posted August 24, 2018 (edited) But what if im using 1.36 game server? hm you can help maybe? to put it in my game srv? Edited August 24, 2018 by UchihaJr Quote Share this post Link to post Share on other sites
Knight 15 Report post Posted August 24, 2018 11 часов назад, UchihaJr сказал: But what if im using 1.36 game server? hm you can help maybe? to put it in my game srv? 1.38 server will work normally with your's 1.36 version Quote Share this post Link to post Share on other sites
UchihaJr 2 Report post Posted August 24, 2018 but my game srv is custom xd that why i cant use Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted August 26, 2018 On 8/24/2018 at 3:01 AM, UchihaJr said: But what if im using 1.36 game server? hm you can help maybe? to put it in my game srv? Hello! I do not have time and interest to enable antibot in each GameServer.exe. Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites