MantisBT - opensim
View Issue Details
0008709opensim[REGION] Script Functionspublic2020-05-27 09:072021-02-06 19:18
Chris Weymann 
Chris Weymann 
resolvedwon't fix 
Standalone (1 Region)
XEngine, YEngine
0008709: [PATCH] Implement OS commands similar to llCreateKeyValue, llReadKeyValue and llDeleteKeyValue
This patch adds functions similar to the SL experience tools. It can read / store / delete data from an internal data store with the commands "osGetDataValue", osSetDataValue" and "osDeleteDataValue".
This patch saves the data to the directory "ScriptDataValue", which is a subfolder of the OpenSim bin directory. Though the target directory can be changed with a configuration parameter in the [XEngine] block of the OpenSim.ini file. The data in the target directory can be shared with other region or be synchronised with other servers via a cloud service.
No tags attached.
patch 0001-Add-os-commands-similar-to-experience-data-storage.patch (11,687) 2020-05-27 09:07
Issue History
2020-05-27 09:07Chris WeymannNew Issue
2020-05-27 09:07Chris WeymannFile Added: 0001-Add-os-commands-similar-to-experience-data-storage.patch
2020-05-27 09:07Chris WeymannStatusnew => patch included
2020-06-02 07:47Ferd FrederixNote Added: 0036525
2020-06-02 08:31UbitUmarovNote Added: 0036527
2020-06-02 08:45tampaNote Added: 0036528
2021-02-06 19:17Chris WeymannNote Added: 0037544
2021-02-06 19:17Chris WeymannStatuspatch included => resolved
2021-02-06 19:17Chris WeymannResolutionopen => won't fix
2021-02-06 19:17Chris WeymannAssigned To => Chris Weymann

Ferd Frederix   
2020-06-02 07:47   
I would love this, but does this have limits on the size of data structure? Or a rate limiter? Good way to fill up a hard drive, if not.
2020-06-02 08:31   
Sorry no ...
We already have a try to do some storage for scripts in the form of JsonStoreScriptModule. (that i think is also also bad).

why not?

- All access to disk must be done via dataserver mechanics (as ll does on those examples). Disk IO is unpredictable, needs to be done async, or may block the entire scripts engine (even kill Yengine multi task). ( yes we still have some functions wrongly added like the osnotecard*)

- not clear to me any form of garbage collection.
- not sure why store path is based on the groudID when it can be none...
- etc

Anyway, thanks for the contribution.
Even in its current form, it may be usefull for some people, that can get it here.
Just i can't make it part of main code.
2020-06-02 08:45   
Correct me if I am wrong, but it does not compress the data in any way, this means uncompressed txt files, which are often magnitudes larger than their actual content if it were compressed. I was curious to add this for testing, but letting some folks loose on this without compression I can see my disks being full in no time.
Chris Weymann   
2021-02-06 19:17   
This will not be implemented in the os core.
Then someone have interest on this, i provide this at [^]