Defent

guide How To: BattlEye filters - DO IT YOURSELF!

61 posts in this topic

This is a short tutorial on how to fix BattlEye filters.

Scripts.log Example:

First find what type of error it was. For example, if it says: 

Defent (X) XX - #43 "To _playerUID)exitWith
{
_playerObject = _x;
};
} 
forEach allPlayers;
_playerObject"

You simply put a \ infront of every ". So a backslash before every quotation mark. 

Then you put \n where the there is a new row. Backslash n. So it would look like this:

"To _playerUID)exitWith
\n{
\n_playerObject = _x;
\n};
\n}
\nforEach allPlayers;
\n_playerObject\"

As you can see here, I have removed my nickname, my single X which represents my IP and the XX that represents my GUID.

Now when you've done it like this, we can format it abit to make it look neater and easier to read. 

Then it would look like this:

!="To playerUID)exitWith\n{\n_playerObject = x;\n};\n} \nforEach allPlayers;\n_playerObject"

Notice how I have added != in front of the first quotation mark. This is to make this line of code an exception and make it so that it does not kick you.

How to add it to Scripts.txt

As you may have noticed, when being kicked a number is mentioned. #43 in this case. This represents the line of code you need to edit inside the scripts.txt.

However if you use the latest BattlEye filters you will have to add +2 to #43. Meaning that you will have to modify line #45!

Now open scripts.txt, find line #45 and add the exception we made above to the end of that line!

 

CreateVehicle.log Example:

Defent (X) XXX - #0 "R_TBG32V_F" 16:102 2:2956 Exile_Unit_Player [13757,19530,23] [-26,137,5]

As you can see here, I got kicked for trying to spawn an item that was not whitelisted. To white list this I would simply take the item within the quotation marks and do:

!="R_TBG32V_F"

Then open createVehicle.txt and add that to line number #2! Becase we apply the same logic here if we use new BattlEye filters. #0 + 2 = 2!

How do I know if I use new filters?

Quite simple, if the .txt file contains this on line 1 then it is new. 

//new

 

Footnote and another example:

As an example from the other thread here:

#58 "line 1 "mpmissions\__CUR_MP.Altis\VEMFclient\fn_vemfClientInit.sqf"
if (isServer) then {
uiNamespace setVariable ["vemfClientMsg"

You will have to add another quotation mark " infront and in the end of the restriction message:

 !=""\mpmissions\__CUR_MP.Altis\VEMFclient\fn_vemfClientInit.sqf\"
\nif (isServer) then {\nuiNamespace setVariable ["vemfClientMsg\""

 

How do I apply my changes?

It's simple. You save the file and you DO NOT HAVE TO RESTART your server. You can simply open the rcon tool of your choice and click "Refresh Scripts". This will refresh the scripts.txt file and the exceptions will be added. All done neatly and fast! No problems here.

 

Any suggestions or pointers is appreciated. You can also post your error here and maybe some kind soul will help you with adding it as an exception.

23 people like this

Share this post


Link to post
Share on other sites

 

Hello! 

Thanks for this!

I need to add exceptions to all my BE filters for the mods we run ... does this mean it will filter out those exceptions and not log them ... logfiles get fairly chunky with infiStar :)

Also if you get an exception that says ... BE kick #23 , how do i locate which filter is actually the catching that  ?

CRE4MPIE out !

GamersInc. Gaming Community

Share this post


Link to post
Share on other sites
Advertisement

 

Hello! 

Thanks for this!

I need to add exceptions to all my BE filters for the mods we run ... does this mean it will filter out those exceptions and not log them ... logfiles get fairly chunky with infiStar :)

Good question. The logging depends on what number is at the very start of each line. As represented here:

1 = Log to .log file only
2 = Log to console only
3 = Log to both
4 = Kick with no log
5 = Kick and log to .log file only
6 = Kick and log to console only
7 = Kick and log to both

If its added as an exception, I.e with

!=

infront of it it means that it will ignore that item or that part of the code and not log or kick anyone for it.

Also if you get an exception that says ... BE kick #23 , how do i locate which filter is actually the catching that  ?

CRE4MPIE out !

GamersInc. Gaming Community

You can find it by either checking the rcon tool or by checking the kick message you get in game. You can also sort the .log files by date of time where they were changed. And find it there. Generally it's scripts.txt! :)

 

Share this post


Link to post
Share on other sites

thats what i do

someone kicked for #40 - "Somecodehere
};


{ somecodehere;

;"
!=someone kicked for #40 - "Somecodehere };{ somecodehere;;"

 

!="\Somecodehere
\n};


\n{ somecodehere;

\n;\"

Like this.

Share this post


Link to post
Share on other sites

I've learned filters from @infiSTAR -> http://pastebin.com/9FBdjS1u. It took a few hours to get the hang of it on my test server but was well worth it, I can now do everything by myself :)

Edited by Seth^^
gief praise where praise is due
1 person likes this

Share this post


Link to post
Share on other sites

hehe good to know that someone actually used that :)!

6 people like this

Share this post


Link to post
Share on other sites

hehe good to know that someone actually used that :)!

I feel like you explained it better than @Defent did here, especially with notepad++ and find and replace pictures, much easier, but that's just one man's opinion :)

Share this post


Link to post
Share on other sites

got this #52 "r _parametre);
};
};
};
"R3F_LOG_PV_commande_MP" addPublicVariableEventHandler R3F_LOG_FNCT_PVEH_commande_MP;

did this

!="r _parametre);\n};\n};\n};\n"R3F_LOG_PV_commande_MP" addPublicVariableEventHandler R3F_LOG_FNCT_PVEH_commande_MP;

got restriction #10 which shows nothing in the script - help! 

Share this post


Link to post
Share on other sites

got this #52 "r _parametre);
};
};
};
"R3F_LOG_PV_commande_MP" addPublicVariableEventHandler R3F_LOG_FNCT_PVEH_commande_MP;

did this

!="r _parametre);\n};\n};\n};\n"R3F_LOG_PV_commande_MP" addPublicVariableEventHandler R3F_LOG_FNCT_PVEH_commande_MP;

got restriction #10 which shows nothing in the script - help! 

You need to make it like this: and add it on like 54.

!="r _parametre);\n};\n};\n};\n"\R3F_LOG_PV_commande_MP\" addPublicVariableEventHandler R3F_LOG_FNCT_PVEH_commande_MP;\"

 

Share this post


Link to post
Share on other sites

scripts.log:
 
31.08.2015 07:44:18: JustYou (127.0.0.237:8080) GUIDBLABLA - #49 " 26) == 1)
||
 
profilenamespace getvariable ["BIS_fnc_init_displayErrors",false]
) then {
("BIS_fnc_error" call (uinamespace get"
 
 
so we see it is triggered with #49.
#0 would be not the first but the second line in our scripts.txt. Why? because line 1 is //new2 which is not being taken into count because of the // infront of the line.
 
 
so #49 + 2 -> Line 51. which is this:
7 isPlayer
 
Triggered because the word d_isplayEr_rors contains "isPlayer"
 
 
to white-list the log entry now you simply select everything from beginning to the end like this
 
" 26) == 1)
||
 
profilenamespace getvariable ["BIS_fnc_init_displayErrors",false]
) then {
("BIS_fnc_error" call (uinamespace get"
 
 
 
replace \r with nothing

31-08-15_07-50-41.png

(there is no space, it is just NOTHING)
 
 
" 26) == 1)
||
 
profilenamespace getvariable ["BIS_fnc_init_displayErrors",false]
) then {
("BIS_fnc_error" call (uinamespace get"
 
 
 
now this is still multiple lines and the exception has to be in one line so we need to replace the existing backslash expression \n with a written out \n
31-08-15_07-50-24.png
 
" 26) == 1)\n||\n\nprofilenamespace getvariable ["BIS_fnc_init_displayErrors",false]\n) then {\n("BIS_fnc_error" call (uinamespace get"
 
 
 
 
 
since we can not have QUOTATIONS within these QUOTATIONS we need to "backslash" existing ones. But only the normal quotations, not the single ones (normal: ", single: ')
 
" 26) == 1)\n||\n\nprofilenamespace getvariable [\"BIS_fnc_init_displayErrors\",false]\n) then {\n(\"BIS_fnc_error\" call (uinamespace get"
 
You can just select everything within the quotes and replace " with \\" (if you still have

31-08-15_07-55-29.png

enabled in your notepad++)
 
 
At the end we just add this new line to our existing line like this:
 
7 isPlayer !=" 26) == 1)\n||\n\nprofilenamespace getvariable [\"BIS_fnc_init_displayErrors\",false]\n) then {\n(\"BIS_fnc_error\" call (uinamespace get"
 
 
This could have also done inappropriate by just doing it like:
7 isPlayer !"BIS_fnc_init_displayErrors"

3 people like this

Share this post


Link to post
Share on other sites
Advertisement
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.