Grid Hopping

Firestorm 6.4.12.67792 (15-Nov-2020) is now at Release Candidate stage and undergoing final QA testing. There are improvements to the handling of OpenSimulator “hop” addresses, especially to ensure that the current grid is inserted into Hypergrid addresses rather than always (incorrectly) using the original login grid.

This is an issue that has been outstanding for some time in virtual world viewers that support access to OpenSim. See, for example, Firestorm JIRA FIRE-10549. My own test page for hops has been tracking progress on this for over 7 years and is at http://www.aiai.ed.ac.uk/~ai/hg.html

To show you how far this has moved things forward in the latest Firestorm viewer… here are tests starting with a local login avatar (e.g. on AiLand) and a login avatar on OSGrid (a well used open grid) and then using the following hop addresses in the address bar. It includes hops to OpenSim software based on various versions including 0.8.2.1 (now over 5 years old code), 0.9.1.0, 0.9.1.1 and 0.9.2.0 dev (the latest in development version) grids, and even some grids with “Modified” code. Of course I deliberately avoided grids I know will fail (see later)… but note one of the hops is for OSGrid which separates the hg.osgrid.org GatekeeperURI and login.osgrid.org LoginURI and does assume the default :80 without including it in the address. PROGRESS

Start via your own local avatar login on a grid on any recent, properly configures Grid and region. E.g., for me that is an Ailand avatar login on AiLand…

hop://ai.vue.ed.ac.uk:8002/AiLand/128/124/26
hop://grid.kitely.com:8002/Kitely%20Welcome%20Center/126/131/24
hop://lfgrid.com:8002/Stonehaven/128/128/25
hop://login.digiworldz.com:8002/Welcome/128/128/21
hop://fireandicegrid.net:8002/Welcome%20-%20Fire%20And%20Ice%20Grid/425/53/31
hop://hg.osgrid.org/Sandbox%20Plaza/128/128/25
hop://virtual.aiai.ed.ac.uk:8002/Openvue/128/128/29
hop://ai.vue.ed.ac.uk:8002/AiLand/128/124/26

Start via local OSGrid avatar login at, e.g., Vue-Port region…

hop://hg.osgrid.org:80/Vue-Port/123/128/26
hop://ai.vue.ed.ac.uk:8002/AiLand/128/124/26
hop://grid.kitely.com:8002/Kitely%20Welcome%20Center/126/131/24
hop://lfgrid.com:8002/Stonehaven/128/128/25
hop://login.digiworldz.com:8002/Welcome/128/128/21
hop://fireandicegrid.net:8002/Welcome%20-%20Fire%20And%20Ice%20Grid/425/53/31
hop://virtual.aiai.ed.ac.uk:8002/Openvue/128/128/29
hop://ai.vue.ed.ac.uk:8002/AiLand/128/124/26
hop://hg.osgrid.org:80/Vue-Port/123/128/26
hop://ai.vue.ed.ac.uk:8002/AiLand/128/124/26
hop://hg.osgrid.org:80/Sandbox%20Plaza/123/128/26
hop://fireandicegrid.net:8002/Welcome%20-%20Fire%20And%20Ice%20Grid/425/53/31
hop://hg.osgrid.org:80/Vue-Port/123/128/26

Also note that due to a separate OpenSim/OSGrid issue, repeat returns to some 0.9.2.0 grids need TWO teleport tries to work. First reports “You appear to be already logged in. Try again”. Second always works. See http://opensimulator.org/mantis/view.php?id=8802


Problematic or Failing Grids/Regions

Grids that separate their LoginURI (e.g. login.zetaworlds.com:80) and GatekeeperURI (e.g. hg.zetaworld.com:80) are still problematic – and it may be that the Simulator Features OpenSim Extras GridURL is incorrectly set via the grid’s configuration. GridURL is set from the Robust GatekeeperURI overridden by the region’s config-include/GridCommon.ini GatekeeperURI.

hop://hg.zetaworlds.com/Welcome/128/128/25
hop://hg.metro.land:80/*Metropolis*/127/133/22
hop://hg.test.zetaworlds.com/Sandbox/128/128/25

OSGrid appears to work in hops and it is another example of a grid that separates its LoginURI (e.g. login.osgrid.org:80) and GateKeeperURI (e.g. hg.osgrid.com:80) but in its region config-include/GridCommon.ini it adds aliases to the GateKeeperURI to its LoginURI. This may indicate that the viewer is not yet properly picking up the GridURL/GatkeeperURI and using it for all Hypergrid teleports.

Some DreamGrid-based grids seem to have some issue and also fail… e.g., I cannot hop to one of my own experimental grids (not running all the time):

hop://ailsa.outworldz.net:8002/Expt/128/128/25

Some regions on OSGrid (e.g. Lani) will ALWAYS give “The region you tried to teleport to doesn’t exist anymore” message, which I am exploring with the region owner. OSGrid Lani region is not reporting its GridURL in SimulatorFeatures SimulatorExtrtas. It appears to be on OpenSim code from 2015.

E.g.

hop://hg.osgrid.org:80/Lani/161/137/30
to
hop://fireandicegrid.net:8002/Welcome%20-%20Fire%20And%20Ice%20Grid/425/53/31

Fails with “The region you tried to teleport to doesn’t exist anymore”


x-grid-info and x-grid-location-info

x-grid-info://virtual.aiai.ed.ac.uk:8002/region/Sandbox/128/128/22
x-grid-location-info://virtual.aiai.ed.ac.uk:8002/region/Sandbox/128/128/22


Enabling Extra logging Useful to Diagnosing Hop Issues

Edit the logcontrol.xml file in the Firestorm install folder… on Windows for the 64bit Firestorm release that is for example C:\Program Files\FirestormOS-Releasex64\app_settings. Go to the bottom and see a line with “import” in it. COPY that line TWICE leaving those there now in place and change the extra lines to GridManager (no space) and SLURL.

You can then explore the way in which the viewer creates each hop or “SLURL” by searching for “#SLURL#” lines in the Firstorm.log files created for each run of the viewer which is put in a location such as C:\Users\yourname\AppData\Roaming\Firestorm_x64\logs.

You can also explore what information a Grid/Region is giving back to the viewer when teleports occur. This is communicated on a call by the viewer of “setSimulatorFeatures” (look for that string in the Firestorm.log file) and returned in XML format by the destination “root” or “main” region and each “child” region within the viewer draw distance range. This contains OpenSimulator specific parameters in an “OpenSimulatorExtras” section.


Temporary Mapping of Hypergrid Destination Region to Local Map

Hypergrid destination regions are temporarily mapped to the source grid local map at any value of X and Y < 32. This range is reserved so large regions can fit. Region corner is parked at y = 0.

This entry was posted in OpenSim and tagged , , . Bookmark the permalink.