Program Block - Restrict Scripts

Warlord shared this feedback 5 years ago
Submitted

Recently the Program Block has been moved to the Experimental Branch of the game for performance/stability reasons and from what I gather there is no real way to properly monitor it and therefore it will remain experimental.

I propose that that for those servers that like to have scripts enabled (which is vital for PVP) that there be a server setting that allows an admin to restrict the scripts that can be run to a pre-approved white list and also how frequent said scripts can be run and how many can be run on the same grid.


This would at least allow for some level of control on a server and help with performance while still allowing forthe vibrant and exciting opportunities that the program block provides.

Replies (4)

photo
1

I would rather have administrators have a white list of programmable scripts, than to just completely ban them.

There are some pretty poorly design scripts out there too. I definitely agree with this statement.!

photo
2

The PB needs its own thread so it can run outside of the main Game Thread. When the PB thread starts to lag, the main one will be unaffected. Malware reacently said, he would rewrite the PB code for that but Keen seems to have other priorities atm.

photo
1

If Malware suggested and offered his work for this... I say: GIVE HIM THE CHANCE!Where is he and where can we help him to be allowed to do this :D

photo
photo
2

I say make program blocks work like interpreters (Such as JS in your web browser)

It would be easy to squash performance issues then, By having a number that increments each time a function is called (Weighted), Almost like a code PCU, The more this number gets incremented the slower the interpreter runs the code, passing it on to the next game tick, Each tick this number get decreased. Thus program blocks should never break (In the case of huge grids using inventory managers, They would just run more slowly) The speed at which the "PCU" gets decreased is directly proportionate to the remaining overhead in the simulation ticks.


It would also make multi-threading these little buggers much easier.

As most of them only need to run once a second anyway.


Thus good scripts run well, bad scripts burn, Slowly, Painfully, And destructively..

photo
1

@Tau, this kind of tracking would be very useful and having it on a separate thread. Wouldn't necessarily need to have it be interpreted, could still be compiled. This way the PCU could be automatically calculated with the tick count.


There is such a thing as Deadlock Avoidance which uses some techniques to prevent collisions. Even the Windows operating system uses a timer to determine if a program has run away when it doesn't check in with the event pump loop.

photo
photo
1

I have a question for everyone here - if the server is restarted, all scripts are not launched?

Leave a Comment
 
Attach a file