Jump to content

HELP ME GUYS PLEASE?


Recommended Posts

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

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. 

  • Like 1
Link to comment
  • MTA Anti-Cheat Team

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 by Dutchman101
  • Like 3
Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...