Skip to content
This repository has been archived by the owner on Aug 19, 2018. It is now read-only.

InWorldz Halcyon Server 0.9.31 R6242

Compare
Choose a tag to compare
@appurist appurist released this 13 Feb 19:25

This release attempts to provide a much-updated new baseline revision upon which to use as a foundation to build on for the coming year. It includes a brand-new replacement for the dated OpenMetaverse (OMV) library named LibreMetaverse (LMV) supporting some of the newer features of Second Life of the past couple years. Features like parcel privacy, default upload permissions, Project Bento bones, etc. This update also provides many other unrelated fixes and improvements.

LibreMetaverse (LMV)

This update includes some sizable changes to replace the much older OpenMetaverse (OMV) library that InWorldz was previously using with a completely up-to-date alternative from Cinder Roxley called LibreMetaverse (LMV). This update removes some major roadblocks that were preventing InWorldz from updating the code with some features that other grids (mostly SL) already supported, several of which have already now been implemented in this update (and will be listed below). However, this replacement is similar to replacing the foundation of a house with a new foundation; it is a series of significant changes that will need a longer test cycle than the usual one week for a server update. For this reason, we'll be doubling the test time to two full weeks, longer if any significant problems are found.

In addition to a whole having the updated LMV library itself, there were several immediate changes resulting from the LMV update:

  • Added support for the AgentPreferences CAP, which includes viewer language, the (non-shape) hover height slider, maturity preference, and default permissions. Added support for carrying AgentPreferences to the destination region on a teleport or crossing. Enabled AvatarHoverHeight in SimulatorFeatures.
  • Added full support for the avatar hover height slider (independent of the v2-style hover height on shapes)
  • Implemented llGetAgentLanguage. Fixes Mantis 2667.
  • Implemented default object permissions for object creation based on AgentPreferences. This may also fix Mantis 828.
  • Fixed Mantis 828: Fixed the NewAgentInventoryRequest CAP to support using any permissions specified in the call. Fixes cases of the default permissions not being correct until a relog, for uploaded assets (textures, animations, etc, rather than creation of objects).
  • Changed NewAgentInventoryRequest CAP to send an inventory item update to the viewer on a successful upload. This is a server-side fix for the second part of Mantis 828, which fixes the item permissions being out of sync with the default permissions after an upload (until the first relog/refresh).
  • Changed VisualParams to always store and return whatever the viewer sent (rather than variable 212/251/253 bytes). This may provide better support for avatar shape physics (bounce) across different viewers.

Other Fixes and Changes

This update includes many other changes:

  • Fixed Mantis 3274: Multi-byte characters passed to iwMakeNotecard cause the characters at the end of the notecard to be truncated.
  • Fixed Mantis 3270: Some iwRezPrim params (PRIM_PHYSICS and PRIM_PHANTOM) were applied to the host (rezzer) prim rather than the rezzed prim.
  • Fixed Mantis 2704: llSetKeyframedMotion does not work on phantom objects
  • Fixed Mantis 3173: llClearPrimMedia has no effect with ALL_SIDES
  • Fixed Mantis 3279: Fixed linking to fail on attachments. Also report slightly more informative message than SL's "nothing to link" (but include that text).
  • Fixed Mantis 3239: Fixes to parcel border checks. Fixed two methods for users to enter restricted parcels.
  • Fixed Mantis 980: Fixed llMapDestination in attachments to work with an implied target of the wearer. No changes to the event-related behavior, it still supports any event where llDetectedKey would return something (including collisions).
  • Fixed Mantis 2736: Cannot delete scripts in objects in regions if scripts are disabled on debug page of region window
  • Fixed new accounts created using the built-in adduser command to avoid leaving the password 'salt' blank. The password reset command had a similar problem and is also fixed.
  • Fixed a null reference crash seen in testing on disconnect if the controlling client (viewer session) is cleared in another thread.
  • Fixed the MapBlockReplyPacket to include Size blocks. This was a backward-incompatible change (a long time ago) to the LL API to support varregions in OpenSim that caused unexpected null reference errors.
  • Fixes to HUD detection checks, checking if an attempt is being made to attach something owned by someone else (may fix ghost HUD issues, especially with bots in the region).
  • Changed "loadexplicit oar" command to continue even if a creator ID no longer exists. In other words, don't fail to load an object owned by a valid user, just because the creator is not (or no longer) known to the system. (We've seen this with one of YadNi's items.)
  • Fixed a null reference exception on client disconnect while establishing presence (seen during developer testing). This may resolve some cases where a user session in a region was "stuck", and the user could not enter the region, even after logging off and logging back in.
  • Replaced old InWorldz-specific 404/500 HTTP messages that also reported bogus host info, with more generic Halcyon ones that avoid the incorrect host info.