Page MenuHomeFeedback Tracker

Feature Request: Function execution rights management
Acknowledged, WishlistPublic

Description

Hello BIS Team, Hello able,

currently i am thinking about script calls/spawns and who should be allowed to use functions.
My idea is the following:
I would like to have a whitlelist of directly called scripts on the client.
I would like to have an array of functions, which can be defined to be an allowed caller

It would be great to integrate this to battleeye.

Details

Legacy ID
985076811
Severity
None
Resolution
Open
Reproducibility
N/A
Category
Scripting
Steps To Reproduce

1 Execution order and prevention of unwanted usage
System call -> initPlayerLocal.sqf
Only the game engine is allowed to call this function

initPlayerLocal spawns the function armajunkies_fnc_SpawnMyGear
The idea: armajunkies_fnc_SpawnMyGear is never being called by any player directly. The execution order is:
System call -> initPlayerLocal.sqf -> armajunkies_fnc_SpawnMyGear
//All these information can be collected preinit. They have to be compiled.

//2
for some reason i want to have admin actions as direct entry: (debug mode or be execution) or i have dynamic code
i programm a function which is delivering a modified spectator cam, or i want to start monitoring scripts manually.
These scripts need an exlusion

//3 prevent script file execution as description.ext parameter
The most hack scripts are trying to inject scripts into variables or calls
OK. Thats not good.
Now we have a system, which is able to analyze execution orders.
We have 2 things:
a) a lot of BIS scripts and functions - they shouldnt change after an release and definitely not at runtime (able takes care of the runtime thing with the new be version)

  • in Arma are some execVM executed scripts. OK, these could be replaced. Not good.

Create a name, hash array of these files
-> OnKeyBindung -> Check the Hash
-> OnSuspicios Actions like opening UI Element a function check the list again
If something is unnormal: give a hint to battleeye and let us decide what to do (log, kick, ban)

And now i want to decide as scripter: My Mission consists only of registered functions in my function namespace and a limited number of BIS functions and scripts.
Description.ext -> allowedNamespaces = [bis, armajunkies]
If i want to use cba: allowedNamespaces = [bis, armajunkies, cba]
followStrictExecutionOrder = true

Additional Information

These are just some ideas. I hope you got the direction of my thoughts.
I dont know if such an additional layer of execution seurity would really help us. But i think it's worth to post the idea here private and to give it into the hands of experts.

Even if you just consider to use one the the things. It would help us to get these wierd cheater guys.

Event Timeline

Hatchet_Harry edited Additional Information. (Show Details)
Hatchet_Harry set Category to Scripting.
Hatchet_Harry set Reproducibility to N/A.
Hatchet_Harry set Severity to None.
Hatchet_Harry set Resolution to Open.
Hatchet_Harry set Legacy ID to 985076811.May 8 2016, 12:05 PM
Hatchet_Harry added a subscriber: Hatchet_Harry.

This ticket can be closed.

I think Battleeye and the way how it is being implemented will change the whole thing in a great way.
Thank you for taking care and for your continous efforts in preventing bad guys from kicking in our hosters nuts. :-)

Stay tuned
Dirk