It's that time again when we try to package up the fixes and enhancements we have so far and bundle them into the next release.This update is now running on the InWorldz Beta grid, as well as running on the main grid on InWorldz Sandbox 1 through 6 regions.
If you find any issues on those regions, please report them in this thread, thanks.
Update: We're delaying the rollout until next Tuesday while I investigate a possible regression problem report. If further testing goes well, this update will be applied to all regions, overnight beginning Tuesday April 19
, into Wednesday morning.InWorldz Halcyon Server 0.9.23 R5955LSL Scripting
- Implemented iwValidateURL
function, which allows a scripter to verify if a URL is formatted correctly according to the HTTP, HTTPS, and WWW schemes.
- Improved argument handling in iwStringCodec
to allow codec names to be case-insensitive, and allowed cryptographic hashes to be specified with or without a dash (e.g.: sha512 vs sha-512).
- Relaxed botGetPos
to not require ownership of the target bot. This makes botGetPos consistent with botGetName, etc. in that any script can get the position of a bot in the region. It is not only available to the owner, and is not privileged info. See viewtopic.php?f=17&t=21338&p=194059#p194059
- Tweak to error message of llRemoteLoadScriptPin
when PIN is wrong. The error now differentiates from failure due to the wrong PIN being set and failure due to no PIN being set.
- For performance and security reasons, llRemoteLoadScriptPin
will now give an error message and return if the PIN is zero.
respects Phlox's recent increased 128KB memory limit.
- Fixed llJsonSetValue
with zero values, empty strings, and other cases. (Fixes Mantis #3174
and Mantis #3182
- Fixed the format of the User-Agent from LSL scripts calling llHTTPRequest, which was not accepted at some servers, notably Shoutcast servers. They would reject (with a 403) calls from InWorldz scripts that would work unchanged in SL. (Fixes Mantis #3194
now supports many more custom headers: "accept", "content-length", "content-type", "expect", "host", "date", "if-modified-since", "range", "transfer-encoding" (auto-enabling chunked sends), and "connection"
(including recognizing keep-alive).
- Duplicate custom headers passed to llHTTPRequest
now append as comma-separated values if that custom header already exists. This matches SL behavior.
- Much simpler implementation and cleaned up SimChat methods used by llSay, llRegionSay, llOwnerSay, llShout, llWhisper, etc.
- [R5942] Restored previous "(Mozilla compatible)" suffix on User-Agent headers from llHTTPRequest
. The User-Agent change fixed some Shoutcast servers and broke others. The best combination is SL-compatible prefix, with original IW "(Mozilla Compatible)" suffix. We will continue to need that for other server types anyway.
- [R5942] Disabled the blocking of User-Agent headers in llHTTPRequest
calls, i.e. allow them to be specified in custom headers, since we don't support the SL kludge of appending them to the end of the URL in a multi-line hack (and won't be, since it seems like a major security risk anyway). Allows scripters to provide a specific User-Agent as needed by the destination server.
- [R5955] Fixed the region position associated with dialog replies (button presses), which was causing them to sometimes appear to be out of range to be heard by the listener object, resulting in dialog menu buttons being ignored if the owner was in the region. Fixes Mantis 3206
. Thanks to Judy Muircastle, Chuck String and Ayiana Cerna for helping us track this one down.Behavior and Reliability
- Fairly significant fixes to the memory management of bot clients, avatar "scene presence" objects and region "scene view" objects to avoid sending updates to bot clients
which did not recognize or process them, and hanging on to object references, resulting in possibly large region memory
- Fixed the implementation of the teleport routing
value: "Blocked". (Fixes Mantis #3201
- Fixed the server to recognize a region restart time of -1 as a region restart abort
- Code related to region chat methods was cleaned up and made much simpler.
- Viewer protocol fixes to add support for missing AlertInfo parameters. Proper implemenations for HomePositionSet and RegionSecondsRestart alerts.
- Fixed a possible null reference exception in the user friend permissions checks. Seen on IDI when there were bots.
- Changes to XML files (especially region.XML) are now committed out-of-place. This avoids cases where a 0-length region.xml file was created when the VM is out of disk space.
- Changed the code that saves the last map UUID to not rewrite the whole XML file twice.
- Added a more informative server console error message on netacl errors.
- The "forcegc" console command now includes command options to specify the maximum generation, and forced mode.
- Fixed SQL field and trigger creation issues in new Halcyon installations.