Xundra's Little Grid

Posted on

I decided to cancel my Alternate Metaverse region mentioned in the last post and have a go at setting up my own grid with hypergrid enabled.

It’s coming along great, I have 3 regions on it: a welcome region, a farm region and a home region.

Hosting is US$20 a month for a 4GB Vultr instance, I’m running in grid mode so I can attach more regions later if I want.

I’ve been writing a PHP web interface, as the ones that seem active today require wordpress or joomla and I don’t want to run something that heavy.

While I have written a user creation page, it requires an invite code - I want to keep local users down, just me and some friends - but anyone can hypergrid in.

Hypergrid is a bit of a problem - it’s something I want to support, but it means a few things require a bit of rethinking.

  1. You don’t control simulators of other grids ie. anyone can read your scripts.
  2. Referencing textures / sounds and things by UUID isn’t going to work if the item isn’t on the target grid’s asset server.
  3. Give inventory across grids doesn’t work (they have to be present on the grid that is giving the item.)

The first one means potentially people will steal my scripts, and that means I have to be very careful with exploits. I don’t want some random person coming to my home and killing all my turtles.

The second one means things like shroomies, which take their texture uuids from a trait database wont work. All the textures that will be applied via scripts need to be inside the object.

The third one means things like my flowers, which give new seeds via llGiveInventory() won’t work. I’m getting around this by using a “networked” bucket. A user collects seeds on their home grid into the bucket (which stores them on an external database) and then comes to my grid, and touches their bucket which communicates with a giver that gives the new flowers (and the bucket removes the seeds from the database again).

Other than hypergrid, most things work very similar to Second Life (which it’s supposed to) although there’s a couple of things I’ve tripped up on in the past:

Slam bits didn’t work, so setting an item to ‘copy trans’ when it has something ’no-copy’ in it’s inventory should make the item copyable from another prim and then when it’s rezzed it becomes no-copy due to it’s inventory - however, on opensim it’s just no-copy all the time.

This is something many breedables rely on, so an object can reproduce multiple times (by rezzing the same copyable item in it’s inventory multiple times) yet the resulting baby is not copyable, so people can’t cheat and make 10000 copies of their baby.

There was also a difference in the base64 encoder / decoder, which made xtea encryption system not work correctly - though I don’t know if this has been fixed with Y-Engine, I managed to work around it and haven’t checked again.

So if you’d like to visit my grid, checkout the new “Grid” link up the top, and hypergrid in! So far I have Turtles, Fish and Quails that you can take and should work, and I am currently testing flowers.