2025 week #40: SUG meeting summary

Three Finger Pines, July 2025 – blog post

The following notes were taken from the Tuesday, September 30th, 2025 Simulator User Group (SUG) meeting. These notes form a summary of the items discussed, and are not intended to be a full transcript. They were taken from my chat log of the meeting and the video recording by Pantera, embedded at the end of this summary – my thanks to Pantera for providing it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas is held every other Tuesday at 12:00 noon, SLT (holidays, etc., allowing), per the Second Life Public Calendar.
  • The “SUG Leviathan Hour” meetings are held on the Tuesdays which do not have a formal SUG meeting, and are chaired by Leviathan Linden. They are more brainstorming / general discussion sessions.
  • Meetings are held in text in-world, at this location.

Simulator Deployments

  • During week #39, the BlueSteel RC was updated with simulator version 2025.08/2025-09-16.17777995432 (Huckleberry).
  • On Wednesday, October 1st, this simulator update should be deployed to the remaining RC channels.  This update includes:
    • A new function that allows you to set a parcel for sale – this is pending a viewer-side update.
    • Various WebRTC updates.
    • More accurate CPU usage measurement; more correct live configuration file load on start; more meta data about asset upload so LL knows when people are uploading glFT assets.

SLua Updates

  • The LLEvents C++ implementation is basically done, and Harold Linden is testing it and integrating it with the simulator.
  • LLTimers is “going to be funky” because he believes that timers aren’t currently based on real time but rather frame time which is affected by time dilation in the simulator.
    • Basically, if a simulator is running at 70% speed and a timer is scheduled for 10 seconds later, it might actually happen in 13 seconds.
    • Harold notes that it’s not clear if this is the desired behaviour going forward, and so is looking for some opinions on what people actually want there.
    • The preference at the meeting was for real time (or both, as a primary / secondary set of options, if this could be handled tidily), although there was some discussion on event timers and frame / real time, etc.
    • He noted that any adjustments made would only affect users of LLTimers, not existing uses of llSetTimerEvent().
    • Those with strong opinions on the matter are asked to weigh-in on SLua event handling proposal.
  • Harold has also been profiling of the script scheduling code after reports that there can be some slowdown on simulators just by virtue of having scripts that don’t really do anything. The adjustments made should mean things run 5-10% faster now on regions with lots of scripts that don’t do much, which is most of them.
  • The LSL compiler and runtime will be open-source (MIT licensed).
  • Harold Linden has tried to put most of the code in the SLua repo that is going to be open-source, so scripters can have a mostly-complete SLua implementation for local testing.

SLua Questions

Please also refer to the video.

  • Will the LL functions that return -1 meaning “not found” (e.g. like ll.ListFindList() ), still return -1, or will they return nil? Answer: they will continue to return -1.
    • Similarly, negative indices like -1 in library functions will continue to work as before.
  • Will the LL functions that return boolean values in a list (e.g. ll.GetPrimitiveParams{PRIM_PHYSICS}), still return number? Or will they return boolean? Answer: they will continue to return a number, unfortunately.
  • Will there be a llcompat library with the functions in LSL style (0-based, etc.)? Answer: yes.
  • Will ll functions support constant folding (such as ll.Ord(“a”) being turned into 97 at compile time without having to run the function call at runtime)? Answer: not currently, but there’s no reason that they couldn’t.
  • Will it be possible to use very large scripts without having to break them up? Answer: the memory limit should be at least 128kb and scripts will generally be much smaller, so technically yes.
    • Rider Linden additionally noted the memory requirements for the Luau VM are considerably less than the old Mono VM. So there should be some headroom on larger scripts, and LL hasn’t made a final call as yet about the memory allotment.
    • Additionally, script monitors should show roughly the memory you were _using_ at a recent point in time rather than when hitting the memory limit.
  • Is there a way to avoid stack-heap collisions (e.g. is the Lua VM armed against them)? Answer: SLua does allow you to catch failures to allocate with pcall().
  • Will a “shared data” system be implemented, where multiple copies of the same script reference the same instance of bytecode data? Answer: yes, that basically comes with the VM system.
  • What is happening with viewer-side scripting capabilities? Answer: it has been put on ice for the present.
    • This sparked a mini-discussion of local scripting use cases, format, security, etc.

In Brief

  • Rider Linden has the official native VSCode plugin for LSL and SLua “ready for feedback”. He still has some further work to do on this, but hopes to have the repo open and available “as soon as possible”.
  • Leviathan Linden is now working on a server-side implementation for voice moderation on WebRTC (e.g. the ability for estate owners / managers (and possibly parcel holders) to mute people’s voice).
  • Pepper Linden  is still working on outfit support for SL Mobile, and is also working on a new viewer feature, “async inventory”:
    • This allows the loading of inventory asynchronously, leveraging the inventory cache after logging-in.
    • It should see those with very large inventories to log-in much faster than is currently the case (initial testing had 200K inventories loading in 5-10 seconds).
    • The work is described as currently “very rough” and not ready for inclusion in any active viewer branch.
  • Signal Linden has been variously involved in:
    • Apple Silicon support.
    • Working with our operational team to finish some simhost hardware configuration changes which have been in progress for a while.
    • Trying to help unblock Lua documentation efforts, get folks the resources they need to build a new documentation site.
  • Mesh faces mismatch issue: this appears to be a server-side problem rather than anything integral to the viewer. Leviathan Linden is now looking at options for correcting it – his current idea is to use the viewer request to modify a non-existent face to be a hint to the server that it maybe needs to update an asset and put it on a background queue somehow, that would essentially re-submit the asset for update in the background.

Date of Next Meetings

  • Leviathan Linden: Tuesday, October 7th, 2025.
  • Formal SUG meeting: Tuesday, October 14th, 2025.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

Have any thoughts?