Jump to content

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


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 post
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 post
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 post
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 post
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 post
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 post
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 post
Share on other sites
14 hours ago, Phate Shepherd said:

Yes, why?

Then you know that is impossible with normal LSL functions to collect any user-identifiable info, including IP addresses.

Therefore, your warning is utter nonsense.

Link to post
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 post
Share on other sites
35 minutes ago, Fritigern Gothly said:

Then you know that is impossible with normal LSL functions to collect any user-identifiable info, including IP addresses.

Therefore, your warning is utter nonsense.

Grr... goofed and missed hitting reply. Post above is the response.

Link to post
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 post
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 post
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 post
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 post
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 post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...