Jump to content

llGetEnv ("simulator_hostname") doesn't return cloud server name


KT Kingsley
 Share

You are about to reply to a thread that has been inactive for 1268 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Checking out region Hippotropolis, I notice that while Help/About says "You are at 128.0, 128.0, 30.3 in Hippotropolis located at ec2-35-163-246-234.us-west-2.compute.amazonaws.com (35.163.246.234:13020)", llGetEnv ("simulator_hostname") returns "simhost-0ab4af337179dda29.agni.secondlife.io".

Is there a way to determine if a simulator is cloud hosted using LSL?

Link to comment
Share on other sites

1 hour ago, KT Kingsley said:

Checking out region Hippotropolis, I notice that while Help/About says "You are at 128.0, 128.0, 30.3 in Hippotropolis located at ec2-35-163-246-234.us-west-2.compute.amazonaws.com (35.163.246.234:13020)", llGetEnv ("simulator_hostname") returns "simhost-0ab4af337179dda29.agni.secondlife.io".

Is there a way to determine if a simulator is cloud hosted using LSL?

So funny that you ran into this. 

I wrote a little "Uplift Detector" as I named it earlier today because I wanted to see when I was in a cloud-based region (and I know there are only a few right now, but that will increase over time) and of course, ran into the same issue as you did.  Here is my solution.

integer DEBUG = 0;
string tofind = "simhost";

default
{
    state_entry()
    {
        string data = llGetEnv("simulator_hostname");
        integer index = llSubStringIndex(data, tofind);
        if(index >= 0) // If string is found....
        {
            llOwnerSay("You are in an UPLIFTED region ("+data+")");
        }
        else if(index < 0) // If string is NOT found...
        {
            if(DEBUG) llOwnerSay("You are in a plain old LL hosted region ("+data+")");
        }
        else // Making sure we get all the info, even if something changes as far sim naming goes.
        {
            llOwnerSay("NO DATA ("+data+")");
        }
    }

    changed(integer change) 
    {
        if(change & CHANGED_REGION) llResetScript(); //Reset on region change
    }
}

 

Edited by Fritigern Gothly
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, KT Kingsley said:

Checking out region Hippotropolis, I notice that while Help/About says "You are at 128.0, 128.0, 30.3 in Hippotropolis located at ec2-35-163-246-234.us-west-2.compute.amazonaws.com (35.163.246.234:13020)", llGetEnv ("simulator_hostname") returns "simhost-0ab4af337179dda29.agni.secondlife.io".

Is there a way to determine if a simulator is cloud hosted using LSL?

Both of those domain names point to the same IP address at AWS. Try a ping.

(This is ordinary Internet plumbing stuff.)

 

Link to comment
Share on other sites

Like Fritigern I was looking to make a simple uplift detector. I think whether a simulator is cloud hosted or not can be easily determined from text strings in the URL returned by llGetEnv. My first attempt failed because I looked for "amazon". Others have pointed out other strings that do seem to work.

Link to comment
Share on other sites

On 10/3/2020 at 9:21 AM, animats said:

Both of those domain names point to the same IP address at AWS. Try a ping.

(This is ordinary Internet plumbing stuff.)

 

Is it possible to ping from LSL with HTTP server functions?

Link to comment
Share on other sites

On 10/5/2020 at 5:22 PM, Fritigern Gothly said:

What kind of server functions were you thinking about?

Well, not sure if it makes any sense to call from a script, just thought about it, as @animats wrote ping is basic internet stuff. Besides llGetRegionTimeDilation and llGetRegionFPS information about the clients ping time to server could be useful information.

Maybe like accessing the viewers statistics information on packet loss and ping sim though an API to viewer from LSL.

Link to comment
Share on other sites

2 hours ago, Phate Shepherd said:

Be careful... anything that gathers client IP information is frowned on, and may violate the Resident's Privacy Rights policy, specifically the Disclosing Personal Information section. http://wiki.secondlife.com/wiki/Linden_Lab_Official:Residents'_privacy_rights

Um... Do you have any knowledge of LSL scripting?

Link to comment
Share on other sites

Yes, there are no LSL commands that expose that information directly. However, there are a few viewer features that are enabled by default that will expose that information in concert with an external server. I only mention it as one of the thread participants was discussing collecting various diagnostic information, and I wanted them to be aware that displaying any identifying information, even without any bad intentions, could run afoul of the TOS.

Do you recall the RedZone fiasco some years back? It took advantage of these loopholes to collect visitor IP addresses. It also had a web page you could visit, put in an avatar name and it would list out all other avatars that shared that IP address... and obviously, IP addresses typically resolve down to a city, if not an even smaller geographic area.

Link to comment
Share on other sites

42 minutes ago, Phate Shepherd said:

Do you recall the RedZone fiasco some years back? It took advantage of these loopholes to collect visitor IP addresses. It also had a web page you could visit, put in an avatar name and it would list out all other avatars that shared that IP address... and obviously, IP addresses typically resolve down to a city, if not an even smaller geographic area.

RedZone collected IP addresses by redirecting ShoutCast addresses via a tertiary server. This is not a viewer function and it's no LSL function.
 

Link to comment
Share on other sites

8 hours ago, Fritigern Gothly said:

RedZone collected IP addresses by redirecting ShoutCast addresses via a tertiary server. This is not a viewer function and it's no LSL function.
 

-snip-

Both on by default. No user interaction required.

This message will self destruct in 24 hours.

Edited by Phate Shepherd
Link to comment
Share on other sites

31 minutes ago, Fritigern Gothly said:

So you want to rely on external services to make your pointless point?
 

Poster was discussing gathering client diagnostic information, client IP, etc.  If they happen to go down the path of obtaining that information, to avoid presenting that information to others. Nothing more than that was intended by the post.

 

Edited by Phate Shepherd
Link to comment
Share on other sites

3 minutes ago, Phate Shepherd said:

Poster was discussing gathering client diagnostic information, client IP, etc.  If they happen to go down the path of obtaining that information, to avoid presenting that information to others. Nothing more than that was intended by the post.

 

"Poster" has a name, it's Rachel1206 and all that was mentioned were trying to collect ping times. The ping time to a server IP, not a client IP.

Nice try though.

Link to comment
Share on other sites

12 hours ago, Phate Shepherd said:

Poster was discussing gathering client diagnostic information, client IP, etc.  If they happen to go down the path of obtaining that information, to avoid presenting that information to others. Nothing more than that was intended by the post.

 

I understand your concerns, but by no means I was referring to collecting any information - just if it was possible to obtain the ping times to region servers.

 

  • Like 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1268 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...