Skip to content

Instantly share code, notes, and snippets.

@appurist
Last active April 28, 2017 22:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save appurist/678cbd41f93685515cd2a59e5cd6ea97 to your computer and use it in GitHub Desktop.
Save appurist/678cbd41f93685515cd2a59e5cd6ea97 to your computer and use it in GitHub Desktop.

InWorldz Halcyon Server 0.9.33 R6303

Fixes and Changes

Inventory Fixes

Please be sure to clear viewer cache (for each viewer in use) once the login region has been upgraded to this version. If you don't clear the cache, you may continue to experience inventory/outfit issues that have been resolved, but are still present because the viewer is still using older data that needs to be refreshed under the fixes. Clearing your viewer (inventory) cache will allow the fixes to be applied to your inventory:

  • Fixed the inventory descendants fetching to return the folder contents including links without following the links. Fixes several problems with the descendants' folder trees being duplicated internally at the viewer end, and also problems with the expected item counts not matching the actual counts which leads the viewer to think the inventory is incomplete (it actually has too many). This also eliminates a series of false error conditions that flooded region consoles when someone logged into a region and may improve region performance during logins, as well as the performance of inventory loading after login.
  • [LibreMetaverse] A critical fix to the underlying OMV/LMV library to specify the correct type ("link_f") for a folder link rather than the assumed type ("linkfolder"). This is critical in the Current Outfit folder (COF) and allows the viewer to recognize the current outfit more reliably. In combination with the fix above, this should allow the viewer to recognize that an outfit is fully loaded and which one it is. Hopefully, this will help or even fix Mantis 3162.

Other Fixes

  • User profile interests for the "I Want To" and "Skills" sections were reversed from what they should be. This resulted in the two areas of the profile appearing to become swapped every time someone changed them. (They were actually saved correctly with what the user wanted at save-time, but were displayed backwards.) This update fixes Mantis 948.
  • Saving OAR files will now skip unknown/invalid UUIDs that can't be read from damaged assets. Previously this caused the OAR save or to fail with an exception. Reported by Vinhold as a null reference exception when save oar was called with a 1 (option to include assets). Note that InWorldz backups do not use this option and were unaffected.
  • Fixed the viewer's sun position to be timezone-relative to UTC, but unaffected by DST. Keeps estate environment timing consistent between regions even after restarts on different sides of a DST change. Fixes Mantis 1863.
  • Some tweaks to region limit checks to help debug reports of problems with the limits (and also for the user to better understand). Recording of hard and soft limits in the log show current usage and limit. User now sees a different message for hard and soft limits. Hard limit reached shows user the current usage and limit values. Soft limit just reports "Region estate limit has been reached" for the limit, since estate staff may temporarily set the limit very small to disable additional agent entry.
  • Fixes for Mantis 760 and Mantis 1605: changed events now match the events sent in SL after object Edit form changes:
    • Color changes now fire CHANGED_COLOR instead of CHANGED_TEXTURE.
    • Alpha changes now fire CHANGED_COLOR instead of CHANGED_TEXTURE.
    • Texgen mode (e.g. planar vs default) changes no longer fire a changed event at all (as in SL).
    • Changes to prim shape now correctly trigger a CHANGED_SHAPE event, for both scripted and manual edit changes. Note: SL does not send any changed events AT ALL for scripted changes. Attempts to fix this problem broke some existing content in SL. However, Halcyon servers already send the changed events for scripted changes, so the same concern is unlikely to apply here. See SL JIRA report SVC-914 for more on that issue there (summary in the final comment at the bottom).

Halcyon Open-Source Project

Halcyon Grid Branding / Customization

  • Made the inventory Library name configurable. This adds two new OPTIONAL configuration entries:
    • In Halcyon.ini file, [StandAlone] section, the server now supports a LibraryName entry.
    • Similaryly, in UserServer_Config.xml, attribute library_name.
  • Added ability to specify the currency symbol at the region level. This is used in various notifications sent to the user, but has nothing to do with the symbol displayed in the top of the viewer window. This is done by specifying CurrencySymbol in the [Economy] section of the Halcyon.ini file.
  • The default currency symbol is "I'z$", although the hard-coded texts previously contained "$" in those places.
  • Added optional economy-specific connection string: EconomyConnString. If missing, it falls back to using ProfileConnString
  • Replaced some InWorldz-specific branding on error messages with more generic Halcyon text.

General Improvements

  • Added "remote-admin" as an option for aquiring a JSON web token (JWT), matching the semantics for "remote-console".
  • Added configuration options, fixups, and docs for the JWT certificate path. This makes the administrator able to specify the path for the certificates used to verify and create JWTs. It also updates the docs for the XMLRPC-based remote-admin.
  • SSLCertFile will now be used for http_listener_ssl_cert if the latter is not specified.
  • Refactored some repeated code: added common LocationURL, LocationURLPrefix, LocationShortCode operations. The localtion URL prefix can be specified in the Halcyon.ini file using a slurl_base option.

MOSES-Related

Freeswitch Voice
  • Added voice chat support for Freeswitch servers.
  • For more information, see the Readme.txt file.
Docker Support
  • Some work has been applied to make Halcyon more compatible with Docker environments. There is a new --background true command line argument to the GridServer, UserServer, and MessagingServer so they can be started in 'background mode' similar to Halcyon.exe. By adding the "--background true" CLI option that Halcyon already has, the processes do not prompt and idle at 0% CPU.
  • The former disabling of Ctrl-C has been replaced with a server shutdown if received. (This isn't really technically part of the Docker support, but is a direct result of making it work better under Docker.)
Arbiter Project
  • Considerable additional progress towards the Halcyon Arbiter project, and mapping between Halcyon objects and .fbs content. A detailed mapping between Halcyon primitives and flatbuffer types is complete. Work in progress continues.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment