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

Stepping stone for me, sorry. Thanks for the help :)

That's quite alright, you are not alone, every single one of us went trough this learning curve and there will be plenty more coming from google, so having this out in public is a good thing. Let me know how it works out (or not) for you in the end.

Link to comment
Share on other sites

  • 0

By reading what your said ....

 

!"_x)then{_x allowDamage"

 Add that at the end line22? - - Script.txt Line#21 + 1 = #22

 

=====

Edit:

 

ok, this doesn't give me an error, #40
 

29.06.2015 06:22:30: Mr.GoodTrust (67.253.1.49:2304) 0b607d3b79cf0c61cee717b59c1f3397 - #40 "Name;
 
};
 
},{
 
_this spawn { private ["_endCondition","_deleteMarkerID","_endMissionType"];
_endCondition = _this select 1;
_d"
Link to comment
Share on other sites

  • 0

Translation :D

 

Error complains that it kicked player with restriction found in line #21, but in reality because scripts starts reading from line #0 we have to take that in account. This just means there's an extra line when looking for line that caused this kick, so Line #21 + Line #0 = 21+1=22 ... so line we want is #22 in case of this new error.

 

This line is responsible for allowDamage keyword. It will kick anyone if it finds this keyword in all scripts and if exclusion/whitelist does not contain a fix for it. Reason for all this is - if hacker tries to make himself invincible, he will be kicked. In your case, people are kicked only because you are trying to install script that makes people invincible... for whatever reason.

 

So this means you have to tell BE filter not to kick if specific keywords are true, you can do that by adding that exclusion you quoted at the end of line 22.

 

The reason I am going into large explanations is to educate. Instead of feeding fix by spoon and keeping you in dark as to why and what happened, I expect people to learn how it works and be able to help others with ease.

Link to comment
Share on other sites

  • 0

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..

Totally agree, that's why I wrote it like this:

[] spawn {
	waitUntil{!isNil "SEM_AIsniperDamageDistance"};
	waitUntil{!isNil "SEM_AI_Units"};

	while{true}do{	private "_units";
		_units = SEM_AI_Units;
		{	sleep 0.05;
		if(_x isEqualTo objNull)then{
			if(_x distance (vehicle player) > SEM_AIsniperDamageDistance)then[{
				if(!isPlayer _x)then{_x allowDamage false};
			},{
				if(!isPlayer _x)then{_x allowDamage true};
			}];
		}
		}forEach _units;
	};
};

Original part of the installation guide (which Disturbed2015 obviously did not read) looks like this:

!="if(!isPlayer _x)then{_x allowDamage"
This has been done to prevent abuse of the command allowDamage, so it can't be used on a player.

So I highly advise Disturbed2015 to read the readme.txt, it's called readme and not ignoreme for a reason!

Link to comment
Share on other sites

  • 0

Totally agree, that's why I wrote it like this:

[] spawn {
	waitUntil{!isNil "SEM_AIsniperDamageDistance"};
	waitUntil{!isNil "SEM_AI_Units"};

	while{true}do{	private "_units";
		_units = SEM_AI_Units;
		{	sleep 0.05;
		if(_x isEqualTo objNull)then{
			if(_x distance (vehicle player) > SEM_AIsniperDamageDistance)then[{
				if(!isPlayer _x)then{_x allowDamage false};
			},{
				if(!isPlayer _x)then{_x allowDamage true};
			}];
		}
		}forEach _units;
	};
};

Original part of the installation guide (which Disturbed2015 obviously did not read) looks like this:

!="if(!isPlayer _x)then{_x allowDamage"
This has been done to prevent abuse of the command allowDamage, so it can't be used on a player.

So I highly advise Disturbed2015 to read the readme.txt, it's called readme and not ignoreme for a reason!

 

Wow, harsh!. Talk about a slap in the face for a guy asking for help.

Link to comment
Share on other sites

  • 0

Well, if it's Kilo's script, you're in good hands with the script. I would go out and say - of all people here he knows very well what I meant with that :D

 

Error line #40 is a new problem, irrelevant to previous 2 you just had, because those 2 are now fixed. As I said - you need to follow this pattern to fix all problems with BE filters.... the whole reason I went out to explain it.

Link to comment
Share on other sites

  • 0

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

Got it. Thanks :)

Link to comment
Share on other sites

  • 0

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 

Link to comment
Share on other sites

  • 0

One script/mod at a time, 100 restarts and you got those BE filters, move on to the next one, 100 restarts.. and so on :)

 

Thankfully scripts released here contain VERY good information about BE filters in say 95 of the cases!

Restart? Use watchdog plugin in BEC and no restart of the server is necessary.

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...