2025 week #33: SUG Leviathan Hour – SLua and bits

Diamond Moon Village, June 2025 – blog post

The following notes were taken from the Tuesday, August 12th, 2025 Simulator User Group (SUG) off-week meeting (which I refer to as the “SUG Leviathan Hour”). 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.

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

  • There are no planned deployments to any channels this week, only restarts.

In Brief

  • Harold Linden – SLua:
    • Has been working on “some major garbage collector surgery” so  that memory usage is “properly less than Mono” and general memory profiling will be much better under SLua.
    • The garbage collector is good with creation and deletion of lots of small objects, with Harold noting:
SLua is weird in that most of the objects managed by the GC are built-in things that will never go away as long as the script is running, so I’ve changed the GC to ignore those entirely to make garbage collection much much faster … I’ve added some code to the GC that’s inspired by some work that was proposed for Lua proper that makes the GC get more aggressive if it thinks it might run out of memory soon .. Luckily GC is _incredibly_ cheap now so you could run it tens of thousands of times a second and it wouldn’t make much of a dent.
The event style will be similar to the EventEmitter API in JS `whatever.on(‘someevent’, callback)` with an alternative form that’s similar to how they’re currently specified … It’ll return a handle you can use to unsubscribe … I’m writing a pure-SLua implementation of the new event API first so people can comment on it before it’s solidified as production code, I’ve got a WIP version but I’m just sorting out some unsubscription bugs; the most notable ones, lists-in-lists and the ability to use dictionaries / objects.
    • He also indicated the the LSL → SLua compiler “will be open-source once we’ve start the beta phase on Agni so people can feel free to improve it. It’s much more approachable than the current compiler.”
    • Overall, the hope is to start beta testing of SLua on Agni in the next few months; ahead of that, Harold hopes to get an updated alpha to Aditi (the Beta grid) “to make sure events are sound”.
  • Leviathan provided an update on another issue he has been looking into – a bug that would sometimes cause objects to not show up on login. In providing his update on this work, he noted:
The repro case we had was delicate and would not always show up. In any case that work finally merged into the next server update. The problem was: we were clearing out the server’s “interest list” info on login that would cause the viewer to have to re-request static/cacheable data. With the change going forward we now do a better job of resetting your interest list when you arrive at your final position in the region (on login or teleport from far away). This causes the stuff to show up maybe just a second or two sooner, and less likelihood of some stuff being missing.
  • However, regarding the issue of issue of some people experiencing failures on logging-in (see my summary of the previous Leviathan Hour), Leviathan noted the fix he thought he had isn’t going to help. Instead, he was able to get a reliable repro which has helped better pin down the problem, which he described thus:
It turns out… if you login with lots of inventory folders at a lull in the traffic in SL you will be more likely to succeed. The system will happily handle 100k inventory folders in less than 10 seconds when the database and login.cgi servers are not under load. However, when things are busy the viewer might decide to timeout after 40 seconds. So… Signal has an idea for how to reduce the problem. It turns out you can configure Mysql server and clients to use gzip data transmission. This would happen between login.cgi and the database, while the login server is trying to compile the big chunk of data that it sends back to your viewer. Perhaps that idea will just help login.cgi and the database keep up and the problem may happen less frequently. That is the status of that.

He further noted another workaround would be to tweak the viewer’s timeout on that particular HTTPS request. This approach would allow TPVs make suitable changes and help their users get around the issue.

  • Restoring LindenWorld:
    • This has been a repeated request – to have LindenWorld (the Lab’s first attempt at a virtual environment) “brought back to the grid”, which has had pretty much the same answer with each request.
    • In essence – the LindenWorld code is very different to the Second Life code; it is incompatible with the current account system. While these problems could be fixed, they would require time and effort.
    • Harder to solve, as noted by Leviathan at this meeting, are matters of all the backend support: asset system, user database, spaceserver, etc.
    • All of this would divert developer resources from Second Life, it “would require an unknown amount of backburner work. Couldn’t be done as a first priority”.

Date of Next Meetings

  • Formal SUG meeting: Tuesday, August 19th, 2025.
  • Leviathan Linden: Tuesday, August 26th, 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.

Cica’s A – Maze in Second Life

Cica Ghost: A – Maze, August 2025

For August, Cica Ghost presents A – Maze, an interactive setting offering a little fun and turning a quote from author John Green somewhat on its head.

As the name might suggest, the core theme of A -Maze is just that – a maze. Formed by capped brick walls, it covers most of the region. Unlike most mazes, however, this one doesn’t have a centre or destination / goal, nor is it a unicursal; neither is it precisely a branching tour-puzzle (although it does have a form of branching). Rather, it is a means to offer assorted routes of exploration around the setting, with assorted points of exit and re-entry.

Cica Ghost: A – Maze, August 2025

While it can be travelled on foot, the maze is can also be explored via the vehicles Cica presents to visitors alongside the Landing Point. As is typical with Cica, there are no ordinary vehicles; instead they add to the region’s whimsy by taking the form of four animals carved from wood – a duck, horse, elephant and giraffe – all set on wooden chassis. Two sizes of vehicle are supplied, the smaller set of four lined up to one side of the Landing Point and potentially offered for Tinies.

By default, the vehicles move at a pedestrian speed. But if you are feeling daring then tap the Page Up key to apply the second gear and and little more speed (Page Down to slow down again). In this respect, the smaller vehicles are possibly more fun, as they are small enough to zip around the maze in comfort.

Cica Ghost: A – Maze, August 2025

The maze is not the only feature of the setting. Towards the middle of the region is a little village raised on the back of a steep-sided plateau, with bottle houses and a windmill. It is slightly overgrown by great vines, some with seed-like seats hanging from them. Elsewhere thumb-like hills are topped by trees or have ladders climbing them to individual bottle houses. Also waiting to be found are some of Cica’s little critters, while some of the walls of the maze are painted with more of Cica’s creations, brightening their brickwork.

The quote accompanying the build is from Looking for Alaska, John Gren’s 2005 novel for young adults:

At some point we all look up and realize we are lost in a maze.
Cica Ghost: A – Maze, August 2025

In its original form the quote references the central themes of the novel – that of coming of age, the meaning of life and grief. As such, it can be seen as slightly dark in tone and meaning. Here, Cica turns it on its head, offering an underscoring to the idea that mazes can offer journeys into the unknown (as is life itself, really), filled with unexpected delights. In this, if one wanted to be totally analytical, A – Maze echoes the ultimate message from the book, that of hope.

Not that any analysis of quote and setting is required; A – Maze is enjoyable in and of itself.

Cica Ghost: A – Maze, August 2025

SLurl Details