Home

Welcome to my website

First a message from Anonymous:

I have some OpenSim code for those who want it.
These are based on the last OpenSim 0.9.1 Dev Master from May 5 2018.

The first zips contain only source files, you need to pre-build and build to use these. Please backup your configuration files, ini-files and region files any others you need for your grid or simulator. These zips contain the default configuration files. You will want to make sure you use your own.

THIS VERSION NEEDS TO BE PREBUILD! Make sure you are building in Release mode and not in Debug mode. And on Linux please make sure you are using a recent version of Mono. Please always READ the release notes lower on this page for extra instructions. ( Look lower on this page for BINARY versions that have already been build for you. )

Download these for master dev source files with my files merged into them:

Without the special optional modules used by OSGrid:
N17Mar2019opensim-0.9.1.zip

With the special optional modules used by OSGrid:
N17Mar2019opensim-0.9.1_OSG_mods.zip

BINARY version, pre-compiled bin folder NOT for OSGRID:
N17Mar2019opensim-0.9.1 Binary.zip (bin folder without addon modules)

BINARY version, pre-compiled bin folder for OSGRID only:
N17Mar2019opensim-0.9.1_OSGRID Binary.zip (bin folder for OSgrid only)

All changed files that deviate from the original Opensim master:
nani-source-17March2019.zip (changed files only)

– Version 17 March 2019: some more tweaking for performance. Worked on the UDP server, among other things. 🙂

– Version 13 March 2019: some more tweaking for performance. AND added the OpenSim search module v4.0, used by OSGrid, also to the versions that are not for OSGrid.

– Version 12 March 2019: worked on the inventory access module, user management module and user profile module to trigger it to get the creator name when you get an item from the inventory.

– Version 11 March 2019: worked on the inventory access module to trigger it to get the creator name when you get an item from the inventory.

– Version 10 March 2019: worked on the user management module to get names loaded faster. Re-activated pre-caching of creator data of all objects in the regions on region start. This will mean a bit more memory use at start up.

– Version 9 March 2019: worked on the user management module to get names loaded faster.

– Version 8 March 2019: Replaced the central request chain with a action chain. One chain for textures, one for mesh and one for inventory description requests. Having one single central pipe, even with multiple threads processing the requests, had some side effects like a different experiences for different visitors. So, I replaced it with the separate action chains.

– Version 3 March 2019: created a new central request chain mechanism that will deal with all mesh and texture requests. Also worked on the Asset service, plugging some potential memory leaks and adding explicit flushing of IO buffers to disk.

– Version 25 February 2019: worked on a new NConcurrentQueue and tried to explicitly release memory used by the AssetService (robust/server side) in the hopes to fix an issue some grids seem to be having.

– Version 20 February 2019: includes a NEW osslEnable.ini, use it or at least take a good look at it. Have fixed and improved the threat/permission check for OSSL script functions. Its faster and uses less memory to store the permissions.

– Version 15 February 2019: RECOMMENDED update. Tweaked the UDP client/server some more and worked on the friends module (on the sim side). If you have an older version then I highly recommend upgrading to this one.

– Version 14 February 2019: Tweaked the UDP client/server and added a temporary cache for converted images to avoid converting the same image multiple times.

– Version 7 February 2019: added a fix for http://opensimulator.org/mantis/view.php?id=8395

– Version 3 February 2019: Fixed script permission issues of a few osFunctions.

– Version 2 February 2019: tweaks and fixes and thoughts about “unknown region” isuue being related to regions that do not make a new map tile once in a while. So re-registering with Grid once in a while even regions that do not make map tile.

– Version 25 January 2019: Only small change to the NConcurrentQueue, but it makes things run smoother.

– Version 24 January 2019: BACK TO THE FUTURE! Well not really, more like back to the past. The new Open Metaverse libraries resulted in weird side effects and vague bugs. SO! Back to the old Open Metaverse libs. That needed a view code changes but no worries. All is well now 🙂

– Version 21 January 2019: Added missing support for setting alpha modes via script functions like llSetPrimitiveParams. Seemed only the llGet version was fully implemented. Also tweaked the AvatarFactory once again.

– Version 18 January 2019: Again hard to summarize. Lets see, another new approach to the GetMesh/texture modules. And an attempt to fix a tail spin that could happen when an avatar’s baxed textures could not be cached. A possible fix for land textures not always loading on all parts of a large region. Which does seem user or connection specific. Other users can see the same land just fine. AND as requested by some of you I will add a OSgrid pre-compiled binary version. Since I only have settings for OSgrid, I only made the binary for OSgrid.

– Version 10 January 2019: Done so much hard to fit in a few word. Beware this version does need a new PREBUILD! Last thing I did was make sure the command line compile was error free. Seems that building in VS2017 did not reveal that the command line compile did not like some new syntax like declaring out variables inline. So I changed that syntax. What else? I worked on AvatarFactory, GetMesh/Texture/ related modules, and on the presence animator. Plus put in some initial code for “aniMesh” aka “Mesh2” requests support. If you have not updated in a while, do look at the warning mentioned below for de 15 December 2018 version. It still applies if you are using the MySQLAssetDataCache module.

– Version 29 December 2018: improved the EventQueueGetModule and some other minor things.

– Version 24 December 2018: improved the Asset Service Connector and changed the NConcurrentQueue (again), now using “swapping chains”. Very happy with this concept. BEWARE the warning of the previous version still applies if you are using an older version.

– Version 15 December 2018: WARNING if you use the MySQLDataAssetCache module, this version uses a new format for the tables in the cache database. You will have to drop and recreate an empty cache database before using this version. This version uses Tasks in the JobEngine and a new “swapping queue” algorithm in NConcurrentQueue. This improves performance and concurrency.

– Version 7 December 2018: the fight continues 🙂 This version should be fast and release memory sooner. Some changes to Flosam and MysqlAssetData cache modules with as goal to make them use less memory. Plus some more tweaks on the NConcurrentQueue. Time-outs for bad DNS and unresolved HG user names changed from 5 seconds to 30 to allow for slow networks. Beware you do need an recent Mono on Linux as this involves using Tasks which requires a recent Mono version.

– Version 30 November 2018: [RETRACTED due to issues on Mono] Major changes. Switched to a new NConcurrentQueue and a new NExpiringCache. This touched many modules.

– Version 15 November 2018: keeping it simple: a Queue, a Lock and a ManualResetEvent. And that is how we almost come full circle 🙂

– Version 13 November 2018: after experimenting with Pulse/Wait and ManualResetEvent, the winner is ManualResetEvent

– Version 12 November 2018: Having fun with simple chain links in NConcurrentQueue.

– Version 07 November 2018: further improvements on the JobEngine 🙂 and some other things

– Version 02 November 2018: fixed a wrong reference that made prebuild/compile fail. And! Introducing new JobEngine based on NConcurrentQueue

– Version 30 October 2018: created a concurrent queue class which can wait for a signal. This way reducing the need for a blocking mechanism. Threads who enqueu objects will no longer need to be blocked. Replaced the instances of BlockingQueue with this new NConcurrentQueue. You need to prebuild before you can compile this new version, or it will be missing the NConcurrentQueue.

– Version 27 October 2018: fixed a bug in the MySQL Asset Cache module that could prevent caching from working.

– Version 19 October 2018: among other things, all instances of the Opensim “home made” BlockingQueue have been replaced by .Net native BlockingCollection instancesStarted

– Earlier Versions: started tinkering in 2017. Slowly “improving” things as I was reading the master code base.