Program Block - Restrict Scripts
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.
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.!
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.!
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.
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.
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..
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..
I have a question for everyone here - if the server is restarted, all scripts are not launched?
I have a question for everyone here - if the server is restarted, all scripts are not launched?
Replies have been locked on this page!