Jump to content
  • 0

BE Script Restriction #22?


Disturbed2015

Question

Ok having little trouble here. Got a server, everything's loading just fine but when I try to get into the server I'm getting "Battleeye Script Restriction #22", I've looked everywhere to find what's causing trouble in my PBO or mt BE files. Can someone help me figure this out please? If so just tell me what info you need...

Link to comment
Share on other sites

Recommended Posts

  • 0

Here's the script log

26.06.2015 18:03:58: Mr.GoodTrust (67.253.1.49:2304) 0b607d3b79cf0c61cee717b59c1f3397 - #22 "#line 1 "mpmissions\__CUR_MP.Altis\init.sqf"
[] execVM "addons\messages\init.sqf";
[] execVM "scripts\loadout.sqf";
[] execVM "t"
26.06.2015 21:28:48: Mr.GoodTrust (67.253.1.49:2304) 0b607d3b79cf0c61cee717b59c1f3397 - #22 " 1 "mpmissions\__CUR_MP.Altis\init.sqf"
 
if(hasInterface)then{execVM "semClient.sqf"};
[] execVM "wai\remote.sqf";
[] execVM "tr"
27.06.2015 00:38:42: Mr.GoodTrust (67.253.1.49:2304) 0b607d3b79cf0c61cee717b59c1f3397 - #22 "61198089657376','76561197976164651','76561197975775044'];
 
[] execVM "Logistics\init.sqf";
 
 
if(hasInterface)then{execVM "script"
27.06.2015 00:39:12: Mr.GoodTrust (67.253.1.49:2304) 0b607d3b79cf0c61cee717b59c1f3397 - #22 "61198089657376','76561197976164651','76561197975775044'];
 
[] execVM "Logistics\init.sqf";
 
 
if(hasInterface)then{execVM "script"
27.06.2015 00:55:37: Mr.GoodTrust (67.253.1.49:2304) 0b607d3b79cf0c61cee717b59c1f3397 - #22 "61198089657376','76561197976164651','76561197975775044'];
 
[] execVM "Logistics\init.sqf";
 
 
if(hasInterface)then{execVM "script"
27.06.2015 01:08:59: SYSTEM (67.177.221.8:2304) 1e15a7753a39157e1dcd6fbc0d85f208 - #22 "61198089657376','76561197976164651','76561197975775044'];
 
[] execVM "Logistics\init.sqf";
 
 
if(hasInterface)then{execVM "script"
Link to comment
Share on other sites

  • 0

Allways in the line which is displayed: line 22. battleye starts counting at zero so line 21 will be good

Actually it's the other way around, file starts with //new and 0. This requires to add 2 lines on top of error's count. So in this case line #24 is the culprit :)

Link to comment
Share on other sites

  • 0

Ok now it's Script Restriction #23

Log is

if(hasInterface)then{execVM "script"
27.06.2015 03:35:30: Mr.GoodTrust (67.253.1.49:2304) 0b607d3b79cf0c61cee717b59c1f3397 - #23 "
with uinamespace do {
disableserialization;
_display = _this select 0;
 
 
_alpha = if (_display == finddisplay 58) then {0.15} e"
Link to comment
Share on other sites

  • 0

Hey ya, sorry for late response, but no, that's not the right line I am looking for. Are you using default BE filters that I can lookup? If custom, drop me a PM with:

1) scripts.txt filter

2) scripts.log logs

3) your init.sqf file

 

I've a feeling you just need to whitelist logistics script in your filters

Link to comment
Share on other sites

  • 0

Received your PM, here's solution + explanation:

 

Ok, I see it, asked you for wrong line, because normally filters has to start with //new, but yours didn't. So your lines starts from 0 only.

This means, if error is #22, then you are looking at line #23 (not #24 as I asked previously), because we start counting from 0 (included)

 

In filters on very left on each line:

1 - log

5 - kick

7 - log and kick

 

When it comes to scripts, then scripts.txt file checks each script that is being run and compares it to keywords in this file.

So in your case:

 

Line#23 says:

Kick and LOG everything that has exec keyword in script, except for: (add all exclusions).

 

Exclusions are done 2 ways:

!"case" //do not kick if script line matches these keywords
!="case" //do not kick if FULL line contains EXACTLY this

So if we look back, then issue we had was

[] execVM "Logistics\init.sqf";

Now we are facing 3 choices, out of which only one is best, second is good and third is bad:

1) Best choice is to whitelist only this one line, so we add this to end of Line#23:

!="[] execVM "Logistics\init.sqf";"

This means we will continue kicking everyone that tries to execVM, except if they are executing this exact line and only this line. And we know for the fact that that's our file so it's all safe.

2) Second choice is to whitelist part of this script, in case we are executing multiple scripts from same directory. To whitelist keyword we don't use equal sign like so:

!"[] execVM "Logistics\"

Now we are allowing to use execVM as long as folder Logistics is used, you can see how I cut off last part, INCLUDING one of quotation marks. This way we only need one whitelist if we intend to run multiple scripts from same location, for example:
 

[] execVM "Logistics\1.sqf"; //ok
[] execVM "Logistics\2.sqf"; //ok
[] execVM "herpderp\3.sqf"; //not ok, will kick because does not match keywords

3) Option 3 is to white list execVM keyword, this is a fucking bad idea... because now all kiddos can execVM anything they want from everywhere

!"execVM" //will work, but allow anyone to execute scripts

Hope this helps. If in doubt - 1) follow the pattern in current file, human beings are awesome at pattern recognition... 2) ask here

Link to comment
Share on other sites

  • 0

After adding that to the end of line 23.

I get error 21.

 

if(hasInterface)then{execVM "scripts\semClient.s"
29.06.2015 05:09:03: Mr.GoodTrust (67.253.1.49:2304) 0b607d3b79cf0c61cee717b59c1f3397 - #21 "SEM_AIsniperDamageDistance)then[{
if(!isPlayer _x)then{_x allowDamage false};
},{
if(!isPlayer _x)then{_x allowDamage true};
}];"
Link to comment
Share on other sites

  • 0

Cool explanation. Now i understand the difference between != and ! :)

So if i have a script in folder /addons/newsuperscript/ i can simply add

!"/addons/newsuperscript" and all scripts in there don't make problems ?

Thx

Well kinda... umm not exactly.

As mentioned previously - you need to execute a logic/keyword that will kick players first, this is most important part. Then You add exceptions to this rule to whitelist.

 

in case with Line#23, main keyword to kick was exec, this automatically includes anything that contains this combination of characters.

This means, if you do simple filter like this without any exclusions (literary this line alone):

5 exec

It will kick everything that has this keyword in exact combination. So, previous rule will kick if you use variables or commands like:

execute something; //kick
execVM "path\file.sqf"; //kick
execFSM "path\file.fsm"; //kick
_apples = "executive quality"; //kick
_execFunction = {}; //kick

_exeR = 0; //did not match word "exec", won't kick

Your example

!"/addons/newsuperscript" //not valid

Does not contain this "main keyword" I mentioned earlier, so it is not a legit exclusion. Line below is valid to exclude folder from execVM:

!"execVM "addons/newsuperscript" //valid
Link to comment
Share on other sites

  • 0

After adding that to the end of line 23.

I get error 21.

The very same issue again. Please try to read stuff I wrote again and simply adjust same logic to this error, too. You will be going trough many errors like this until all bad guys are whitelisted. This is normal every day part of any Arma server admin that installs additional functionality on heavily guarded mods :)

 

Error: Line #21 - allowDamage

Script.txt Line#21 + 1 = #22 - 7 allowDamage (kick all that has this as main keyword)

 

This is a very dangerous script you are about to whitelist and it's author should probably be slapped in face for such generic expressions or even utilizing it, but oh well..

 

Safest way to whitelist this one I'd assume would be adding one exception for both bool issues, but still keep it complex enough to hacker won't guess it:

!"_x)then{_x allowDamage"

Use your own intuition on these ones, I am not taking any responsibility since I strongly suggest staying away from such bad practices, sorry.

Link to comment
Share on other sites

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
  • Advertisement
  • Discord

×
×
  • Create New...