[COMPLETE] Phased switchover to YEngine
YEngine is a more modern script engine than XEngine. Its main advantage is that it recovers memory from scripts, which XEngine does not do, according to the OpenSim documentation. Its syntax and error reporting is also supposed to be better (and is supposed to be closer to the standard syntax of the SL script engine). It is the default script engine from OpenSim 0.9.2.0 and this means that we will needed to switch to it for a forthcoming upgrade if we are to follow standard developments in OpenSim (although XEngine will still be available). It makes made sense to perform a phased switchover (functionally an upgrade) to YEngine before doing a full upgrade in order to check to see whether anything breaks broke (and fix it). Consequently, we are starting started by moving empty regions like sea areas and little-used islands over to YEngine first and then we will moved the three most developed islands one by one. The hope is that the need to restart simulators will be less frequent once memory is recovered automatically by the script engine.
This experience has been so good that we wholeheartedly recommend that all grids switch to YEngine unless there is a very good reason not to do so. The only one that I can think of is those people who are writing scripts in C#, which YEngine does not support but XEngine does. This can't be very many people. Do NOT try to run both script engines at once. The performance problems are huge.
[Final edit at 2021-12-21 15:36]
All complete at 2021-12-21 15:29 GMT: all sea areas with 5122 island region Manaw, the 12802 large island region Rheged, the 2562 island regions Aeron, Gododdin, Celyddon & Annwfn: scripts fixed. See below for stats for minor script errors fixed.
Stats on compile errors at 2021-12-21 15:29 GMT:
- Rheged: 1 (of 19 = ~5.3%. This script was probably already broken but this was experimental/test code.)
- Manaw: 0 (of only 2 scripts here anyway! 0%)
- Sea areas (6): 0 (of only 2 scripts each here anyway! 0%)
- Gododdin: 11 (of 1072 = ~1.0%)
- Celyddon: 9 (of 1075 = ~0.8%)
- Annwfn: 8 (of 896 = ~0.9%)
- YEngine also has some improvements and additions that can simplify scripting, as documented on the OpenSim YEngine page.
- The biggest challenge is concern was the three 2562 island regions Annwfn (home region), Celyddon & Gododdin. These are where all the major sights are and consequently lots of scripts that might possibly break here and there where YEngine syntax is stricter. We shall see how good our scripting standards are! Apparently our scripting standards are on the whole pretty good with some minor errors only!
- The errors in the logs conveniently give prim name:script name and the vector coordinates of the prim, so it's quite easy to track down and fix these scripts. Perhaps some of them were already broken?
- It does seem from these fixes that XEngine allowed many type errors to pass, possibly breaking expected behaviour in some cases (see points below on touch_* events).
- The slow region start/restart caused by XEngine having to tediously convert all of the scripts into C# is avoided, meaning that regions come up much faster!
- In fact, shutting down threads also seems faster, so the slow shutdown problem is also considerably improved!
- Performance is noticeably improved: no doubt through much better thread management for scripts.
- Initial monitoring (using top in Linux/Debian) shows a dramatically reduced memory imprint. If this is sustained then performance will be increased, which will be very high given that we have 32GB RAM on the server, and region restarts will no longer have to be performed once or twice daily! This could potentially open the door to running additional simulators, although there are no plans to do so at present after the recent addition of 6 new regions of various sizes on an additional simulator (1 new island and 5 sea areas).
- Mostly these were very silly mistakes in scripting that XEngine ignored. None had significant security errors: e.g. all prevented use by groups where it should have been allowed is more restrictive rather than less). All examples so far have been touch_* events using llDetected* functions including a very few integers compared with TRUE where the word was mistakenly put in brackets as a string (which would have failed).
- We are not including multiple similar errors in one script in these stats.
- We ignored warnings about script-defined type declarations, which are numerous but do not prevent scripts running. On a further restart, these did not reoccur.
[FEATURE] Cathedral on Celyddon
The cruciform cathedral church of St Eve and St Lilith has been erected above the castle in a mix of Norman and early Gothic styles on the former high fell in Celyddon (known to locals as Y Crib), containing the tombs of the two saints of the Hebrew Old Testament. Come to see the great spire and the four doors of the Tower of the Winds, a great rose window in the East, a pair of transept-chapels with the tomb of St Eve at the crossing, and a highly unusual interfaith retro-choir with the tomb of St Lilith beneath the floor. Wonder at the strange inscriptions and effigies. Changes have been made to the castle to secure the cathedral's defence from seafaring raiders and pirates. But all is not as it seems. Something nefarious stirs nearby on a mysterious, seemingly barren isle in the west, where the townspeople fear to tread... Is the town safe?
[INFO] New island and sea areas
A new 512x512 island has been added to Ocean Grid, in a region called Manaw. For those with an interest in history and place names, this is the Welsh name for the Isle of Man and also of an ancient Brittonic or early Welsh kingdom near Edinburgh. Technically this demonstrates that varregions can have borders with regions of different sizes, which has been possible in OpenSim 0.9.x but was not recommended for previous versions.
At the time of writing the single parcel, which is in development, has the following description in Welsh and in English:
"Ynys fawr nad oes enaid byw arni. Gochelwch rhag y fampirod!
A large island without a living soul on it. Beware of the vampires!"
The same simulator has also now been used [2021-11-16] to run adjacent sea areas around the four original islands, the experimental region Rheged and the new island Manaw. Other than the sea areas, each of these are run on separate simulators. Simulator boundary crossing is more consistent and reliably faster between Manaw and the sea areas than it is between different simulators, which is perhaps not altogether surprising.
The total number of simulators on Ocean Grid is now 6 and the number of regions including the 5 sea areas is 11, up from the 4 original regions.
Perhaps it is appropriate for a grid called Ocean Grid that it now has more sea than land!
Note [2021-12-03] Some instability had been noticed for some time on the TLS regions using HTTPS including this one. It turned out to be a configuration problem where Monit was unable to test that the regions were online, including these ones and the large island Rheged, so was constantly re-starting them. This has now been resolved and they are working normally again. Their TLS certificates have also been renewed, as they were approaching expiry, but they had not expired and this was not the issue that was causing the problem.
[NOTICE] Contacting us directly by in-world chat
It will now again be possible to speak directly to the Grid Owner, Starflower Bracken, through public chat from anywhere on the grid. If you want a more virtual world experience, please go to one of the enquiry centres, the Beach Bar on Annwfn, either the Quay House or the Harbourmaster's Office on Celyddon, or the main bar of the Merry Maids Inn on Gododdin and, as if by magic, her avatar (or rather, an NPC representation of it) will appear and she will speak to you through it. Please be patient if you do not get an instant response but be assured that Starflower (or Star, if you prefer) will be doing her best to be available. Sometimes she may be busy, working or using a phone to type! You don't need to be in one of these specific locations to get in touch.
Please say "Starflower" or "Star" in public chat to increase the likelihood of being immediately noticed on the in-world chat.
For a technical and administrative explanation, please read further:
Today the IRC backend has been restored so that ONLY admninistrators can see public chat, although it isn't normally recorded unless a suspected breach of TOS is being investigated (which has never happened on Ocean Grid to date). It may be possible to add an XMPP bridge, although this isn't a major priority and will only be done if in-world chat remains entirely secure.
These chat servers were never used except by administrators when they were last in use, so even if they are made publicly accessible again, channels connected to the in-world public chat channel will not be re-opened to the outside. People in-world would not know who was listening and could be spoken to anywhere by anybody on the channel, which would make potential for unpleasant misuse of the chat channel. Use by administrators or welcome staff is entirely different and can help to provide a more personal experience to visitors who could not otherwise easily make contact in person.
Page 2 of 16