TorNix~|nR Posted May 10, 2017 Share Posted May 10, 2017 Hello guys, I have a big trouble, on my server, there is more than 160 bans because of pub servers on chat, and some of copying the mods is there any solution to fix those? because I want to unban all these I already use the .luac, but they copy it and make it on their server, I need help Please guys tell me what to do? Link to comment
keymetaphore Posted May 10, 2017 Share Posted May 10, 2017 Only thing I understood is that people are stealing your clientside scripts, even when they are compiled. There is no big fix for that, but you could try to make it work only if the servername and some other things match with those ones specified in that script. Still, I am not sure if I understood your question as there wasn't a question. 1 Link to comment
AfterAll14 Posted May 10, 2017 Share Posted May 10, 2017 use cache="false" in meta for each lua client file. https://wiki.multitheftauto.com/wiki/Meta.xml 1 Link to comment
MTA Anti-Cheat Team Dutchman101 Posted May 10, 2017 MTA Anti-Cheat Team Share Posted May 10, 2017 (edited) Yes there's a solution for ''pub other servers'' you named (advertising servers) get it here: https://community.multitheftauto.com/index.php?p=resources&s=details&id=13376 It blocks advertisements, code; local BannedWords = {"22003", ":22", "22010", "22005", "tasa:"} addEventHandler("onPlayerChat",root, function(msg) function checkBannedWords(Message) for _, BannedWord in ipairs(BannedWords) do if (Message:lower()):find(BannedWord:lower()) then return 2 end end local Chunks = {(Message:gsub("%s+", "")):match("(%d+)%.(%d+)%.(%d+)%.(%d+)")} if (#Chunks == 4) then return 1 end return 0 end -- Definitions -- 1 = Might be an advert -- 2 = Confirmed advert local result = checkBannedWords(msg) if (result == 1) then cancelEvent() outputChatBox("Your Message was detected as potential server advert and you're in trouble now if true.", source, 255, 0, 0) outputServerLog("[SUSPECT-ADVERTISING] " .. getPlayerName(source) .. " (tried to) output '" .. msg .. "'") local _players = getElementsByType("player") for _, v in pairs(_players) do if (getPlayerAccount(v)) then if ((isObjectInACLGroup("user." .. getAccountName(getPlayerAccount(v)), aclGetGroup("Admin"))) or (isObjectInACLGroup("user." .. getAccountName(getPlayerAccount(v)), aclGetGroup("Moderator")))) then outputChatBox("[SUSPECT-ADVERTISING] " .. getPlayerName(source) .. " (tried to) output '" .. msg .. "'", v) end end end elseif (result == 2) then cancelEvent() local g_Name = getPlayerName(source) local _r,_g,_b = getPlayerNametagColor(source) outputChatBox( g_Name .. ":server-advertiser " .. ' was detected and temporarily banned' , g_Root, _r, _g, _b, false) banPlayer ( source, false, false, true, nil, "Don't advertise other servers, you got an 1-day ban for it now.", 86400 ) end end ) when I thought of that, it didn't exist and I hadnt seen any anti-advert scripts at servers, while it's a growing and widespread problem. It blocks both by a filter list of words only used in server advertisements, but also logs/warns and prevent IP addresses in chat. But that's just 1 side of your problems. You can make the serverside script so heavily integrated with the client compiled ones, that making a stolen .luac usable takes far too much effort or becomes impossible. Also the no-cache option suggested before reduces it. However you can never stop others from cloning your scripts (written from scratch but looking and doing exactly the same as your scripts) however from that point it's not much related to your banlist.. it's just that you can never be assured. @TorNix~|nR Edited May 10, 2017 by Dutchman101 3 Link to comment
TorNix~|nR Posted May 11, 2017 Author Share Posted May 11, 2017 Thank you so much guys <3 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now