-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This is OpenSim master with my own change-set on top, addressing issues that the upstream team neglects to fix.
When I refer to 'upstream' throughout the wiki, that means the original OpenSim project.
lickx is the active branch, while master is a 1:1 clone of upstream.
Several add-on modules can be added, such as MoneyServer, or my Gloebit fork.
I'm more of a end-user than a developer, so the main focus is on fixing annoyances and stuff that in my opinion where broken and should 'just work'. The code in this fork has been in use for several years on live production regions/grids.
Some changes are on the grid side, meaning you won't notice them unless your home grid services (running robust) runs from this fork as well. For a live demo see Example use cases.
Feel free to pull or cherry pick any changes you like into your own branch/fork. It's kind of the point of open source :)
NB. I don't keep patches I made in the past for the Mantis up to date anymore. The latest code is always in this fork.
- Hypergrid: Resume the scripted attachments of hypergrid visitors when they arrive Mantis 8366. Hypergrid visitors no longer have to re-attach their scripted attachments after arriving to re-enable them. See Hypergrid Teleport.
- Hypergrid: Don't allow hypergrid visitors from grids whose HomeURI is just an ip address instead of a proper hostname
- Scripting: The "local" parameter for certain LSL functions (llApplyImpulse etc) is now respected Mantis 8556
- Scripting: CHANGED_POSITION, which is a changed() event that only exists in OpenSim not SL, now only fires to the rootprim for better performance Mantis 8539
- Scripting: Support receiving a /declined response from RLVa viewers by including a certain string in the inventory offer message (which RLVa viewers have hardcoded to check) Mantis 6311 Test Patch
- Scripting: Improved SL compatibility for llMoveToTarget; Roleplayers that use collars will like this (no more leash weirdness on slopes/ramps/stairs) Mantis 8250
- Scripting: Stopping the default sit works properly. Those wearing a ZHAO AO, might want to upgrade their AO scripts to the Seamless Sit variant, this is no different than in SL. Modern AOs that use llSetAnimationOverride will "just work". Mantis 9042 commit
- Scripting: Out of the box, sim-local object2object mail works with llEmail. Additionally, inter-sim object2object mail can be enabled, which requires one shared IMAP account for all simulators. See Inter‐object email with llEmail()
- Scripting: "grid" and "region_rating" are now supported parameters to llGetEnv(), on par with SL. With "grid" it provides a portable way to get the grid name without having to use ossl. With "region_rating" it provides a direct way to get the maturity rating for this region without having to use the dataserver. Additionally, the "mailname" parameter retrieves the email hostname for objects on this region (defined with 'internal_object_host' in OpenSim.ini).
- Scripting: Like osGetApparentTime, llGetRegionTimeOfDay now is based on the region environment, while llGetTimeOfDay is based on the parcel environment
- Profiles: Unicode profiles and unicode profile picks (grid-side database migration)
- Security: Option for globally disabling visitor's ability to 'Take Copy' of objects set with that flag. This way it can be prevented rezzed out objects with an incorrect or forged creator name further spread over the hypergrid. When this security option is enabled, taking a copy is still possible if you have been granted modify perms by the object owner (a friend/alt), OR if you have godmode powers.
- Security: God mode is by default disabled for everyone, including the region owner; and enabled for grid admins only (level >=200)
- Security: Fix per-sim viewer white/black-lists for OpenSim.ini (in upstream this only works grid-wide through Robust.ini). Example .ini config
- Privacy: osGetAgentIP is by default disabled for everyone, including the region owner. Such sensitive info should not be exposed to scripts.
- Animation: Unbreak and restore original mouse-navigation speed Mantis 9005. Mouse-navigation is walking/running when holding LMB + RMB; In upstream this is still broken because of what feels like a backpush force, like walking against the wind in a storm. commit 5f0dfd7
- Assets: Some missing assets (used by viewers) have been added, others have been upgraded to higher quality (factory-default assets update)
- Groups: Incoming hypergridders will auto change group to the one they have active for this grid (or none)
- Groups: After entering a parcel with scripts enabled for group members only, then changing to the needed grouptag, attached scripts will resume
- Groups: On changing grouptag (either manually or by incoming HG teleport), all attachments are set to the active group according to spec
- Groups: The group changes can be found in Mantis 9052 and Mantis 8366. As a positive side-effect, other old group issues are now also resolved: no need to re-open the group dialog after changing something (like role permissions), and inviting someone in a specific role now actually works.
- Friends: Rewrite HGStatusNotifier, so we now have working online/offline notifications from and to HG friends; at least from/to their homegrid Related mantis 8953 Upstream robust sends one single notice for all friends per given grid. That never worked alright; so we changed this to send one notice per friend, even if multiple friends are on the same foreign grid. Slightly more overhead, but way more reliable.
- Land: Safer default perms for new and abandoned land (everyone/group = no rezzing, yes object entry; autoreturn = 300 seconds) Mantis 9014
- Land: Fix parcel restrictions not being enforced where the parcel owner demands 18+ or PIOF. See Adult and PIOF checking
- Full support for linux/ARM64 architecture (ubODE, sqlite). Note this has been compiled on Debian 12 so you might need a similarly recent distro.
- Do away with PresenceService and GridUserService caches as this will not work in a grid where these services are ran behind a proxy (typically multiple/redundant robust instances). The FriendsService still has a cache, which means you should limit that service to a single instance for now (if doing a split-robust setup).
- Archives: When --default-user is specified, then besides objects also make parcels whose owner doesn't exist belong to the user specified. When --default-user is ommitted, objects and parcels are set to the estate owner like usual. One use of this is when you want the estate owner to be a dedicated Governor account, while any parcels with objects loaded to be owned by the user specified with --default-user.
- Communication: Customised whisper, chat and shout distances where ignored because it attempted to load these from the wrong section (SMTP instead of Chat) in OpenSim.ini.
- Misc: Both OpenSim and Robust now handle SIGTERM unix signals, allowing for graceful shutdown. This also works on Windows (by ending the task I guess), but is untested as of yet
The active branch is lickx
You can also see this with Git itself, for example:
git diff master lickx
Can the issue be reproduced on upstream OpenSim (git master)? Then file the bug at Mantis
Is the issue specific to OpenSim/lickx? Then file the bug at Issues
I no longer make binary snapshots, as the people who use this prefer to compile from source. That is quite easy, you don't have to be a programmer, following the instructions at the wiki.
I don't use this, but as far as I understand you can't just replace the OpenSim that comes with it, as Dreamgrid has proprietary extensions.
Diva hasn't made Wifi available yet for .NET 8. In the meantime you'll have to use some other web frontend for user creation, such as W4OS, or jOpenSim. It is also easy to create a webpage yourself in PHP etc. for allowing people to create an account, see user manipulation with XMLRPC
OpenSim/lickx can be used for simulators on OsGrid, only a few improvements might not work fully (unicode in profiles, HG status updates) due to OsGrid grid services running upstream Robust, not lickx. See Binaries.