Jump to content

Qwalyphi Korpov

Resident
  • Posts

    3,463
  • Joined

  • Last visited

Posts posted by Qwalyphi Korpov

  1. 2 hours ago, Whirly Fizzle said:

    The changes that will affect the DJ boards is what's rolling to main channel today - the simulator OS update.
    http://wiki.secondlife.com/wiki/Release_Notes/Second_Life_Server/17#17.07.11.327548

    The new code rolling to magnum is just "internal fixes".
    Looks like they changed their mind about what was being rolled to Magnum this week at the last minute: http://wiki.secondlife.com/w/index.php?title=Release_Notes%2FSecond_Life_RC_Magnum%2F17&diff=1205991&oldid=1205990

    Thanks for that Whirly... but I guess I'm easily confused because "

    • Scheduled for 2017-07-18 for Main Channel
    • OS upgrade (Nothing is changing functionality-wise)

    " isn't the  "WARNING, THIS WILL BREAK EXISTING CONTENT" I was expecting.

  2. There was a similar discussion last year where llGetAttachedList was mentioned as a way to... usually determine an AVs currently active group key.   Might come close enough.  Comments by Qie Niangao mentioned GetAttachedList and listed exception conditions.

     

  3. 11 hours ago, Oz Linden said:

    The Shoutcast stream API has changed, and the /7.html is no longer supported. See http://wiki.shoutcast.com/wiki/SHOUTcast_DNAS_Server_2_XML_Reponses#Equivalent_of_7.html

    I have read both that 7.html went away with DNAS V2 and that it has since come back.  Can't say that I have excellent sources for this..  In my testing of some Shoutcast V2 servers 7.html gave me good results.  Not sure if those were exceptions.  Here's a link to a 2011 forum post saying 7.html came back due to popular demand: http://forums.shoutcast.com/showthread.php?p=3039066&langid=2

    BTW, I made changes today at a Magnum sim and my revised scripts are working without problem now.

  4. @Linnrenate Crosby Later changes are available for testing on the Beta-grid.  See Oz Linden post 2:17 pm Thursday part of which said:

    "Go to any of Leafeon, Sylveon, Umbreon and Glaceon on Aditi, or you can look for server version 17.06.28.327400 on http://aditi.coreqa.net/gridtool.php (we'll be adding some more regions shortly).

    If you've never used the Beta grid, see http://wiki.secondlife.com/wiki/Aditi#How_do_I_log_in_to_Aditi.3F "

  5. 15 hours ago, Rolig Loon said:

    Yes, although you should be aware that bots, like avatars in general, will create some load on the region's servers and therefore potentially cause some lag.  You should also be aware that you may not "use robots or other automated means to increase traffic to any Virtual Land" TOS (sect. 6.3). Other than that, there are no restrictions other than ones that your landlord may impose.  To have multiple bots, you'll of course need to have them all hosted on external servers somewhere and then script them to perform whatever tasks you have in mind.

    There is a fairly obscure policy requiring accounts primarily run as bots to register as scripted agents.

    http://wiki.secondlife.com/wiki/Linden_Lab_Official:Bot_policy

  6. 12 minutes ago, Oz Linden said:

    anything that worked before (including test scripts) should still work on any region that is not in the Magnum or Cake channel; if it doesn't, the problem is not our server change.

    if you can find a simple test script that works on the older releases now and fails on the Magnum or Cake channel, let us know.

    Four hours ago I posted a simple script (& other details) that should work with the new server change but doesn't. 

    Of course anything that worked on the old release fails under the new release, giving a Script Warning/Error/Debug message:  URL passed to llHTTPRequest is not valid.  So I'm confused.

    I'll paste as simple a script I can that has just two lines that differ.  One needs to be commented to run in the old servers and the other needs to be commented to run in the new.  Works fine on the old.  Fails on the new.

    --------------------------------

    // v3 - to use new HTTP request HTTP_USER_AGENT parameter
    // v3.1 - simpler
    key kSentRequest;
    string URL;
    string stream_status;
    string stream1;
    string stream2;
    integer toggle = 0;
    default
    {
        state_entry()
        {   
            stream1 = "http://37.59.14.77:8352";
            stream2 = "http://server3.luschaudio.com:10272";
        }
        touch_start (integer number)
        {
            if (toggle)URL = stream1;
            else URL = stream2;
            llOwnerSay("URL:"+URL);
            toggle = !toggle;
            kSentRequest = llHTTPRequest(URL + "/7.html"+" HTTP/1.0\nUser-Agent: XML Getter (Mozilla Compatible) \n\n", [], "");  // old code
            //kSentRequest = llHTTPRequest(URL + "/7.html",[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");  // new code
        }   
        http_response (key kRecRequest, integer intStatus, list lstMeta, string strBody)
        {
            llOwnerSay("Status:"+(string)intStatus+", ResponseBody:"+strBody);
        }
    }

  7. Testing was not successful today. Using the simple script below to access one of two ShoutCast servers I get a 502 response from one and the other gets a 403.

    // 7.html gives the following in the body

    // 0 -> current listeners

    // 1 -> status

    // 2 -> listener peak

    // 3 -> max listeners

    // 4 -> reported listeners

    // 5 -> bitrate

    // 6 -> song

     

    // v3 - to use new HTTP request HTTP_USER_AGENT parameter

     

    string stream = "YOUR STREAM URL";

    key kSentRequest;

    string URL;

    string stream_status;

     

    default

    {

    state_entry()

    {

    stream = "http://37.59.14.77:8352";

    stream = "http://server3.luschaudio.com:10272";

    URL = stream;

    llOwnerSay("URL:"+URL);

    }

    touch_start (integer number)

    {

    kSentRequest = llHTTPRequest(URL + "/7.html",[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");

    }

    http_response (key kRecRequest, integer intStatus, list lstMeta, string strBody)

    {

    if (kRecRequest == kSentRequest)

    {

    llOwnerSay("Status:"+(string)intStatus+", ResponseBody:"+strBody);

    kSentRequest = NULL_KEY;

    }

    }

    }

    Location & Server version:

    You are at 11.6, 18.5, 21.3 in Morabeza located at sim10094.agni.lindenlab.com (216.82.48.160:13020)

    SLURL: http://maps.secondlife.com/secondlife/Morabeza/12/19/21

    (global coordinates 199,948.0, 307,987.0, 21.3)

    Second Life RC Magnum 17.06.19.327192

    Messages below

    [08:06:40] Qwalyphi Korpov: .

    [08:06:53] Simple Stream Mon V3 June 20: URL:http://server3.luschaudio.com:10272

    [08:07:18] Simple Stream Mon V3 June 20: Status:502, ResponseBody:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ERROR: The requested URL could not be retrieved</title> <style type="text/css"><!-- %l body :lang(fa) { direction: rtl; font-size: 100%; font-family: Tahoma, Roya, sans-serif; float: right; } :lang(he) { direction: rtl; } --></style> </head><body id=ERR_ZERO_SIZE_OBJECT> <div id="titles"> <h1>ERROR</h1> <h2>The requested URL could not be retrieved</h2> </div> <hr> <div id="content"> <p>The following error was encountered while trying to retrieve the URL: <a href="http://server3.luschaudio.com:10272/7.html">http://server3.luschaudio.com:10272/7.html</a></p> <blockquote id="error"> <p><b>Zero Sized Reply</b></p> </blockquote> <p>Squid did not receive any data for this request.</p> <p>Your cache administrator is <a href="mailto:webmaster">webmaster</a>.</p> <br> </div> <hr> <div id="footer"> <p>Generate

    [08:07:25] Qwalyphi Korpov: .

    [08:07:41] Simple Stream Mon V3 June 20: URL:http://37.59.14.77:8352

    [08:07:44] Simple Stream Mon V3 June 20: Status:403, ResponseBody:

  8. 12 minutes ago, Oz Linden said:

    It would be more useful to show us your script.

    // 7.html gives the following in the body
    // 0 -> current listeners
    // 1 -> status
    // 2 -> listener peak
    // 3 -> max listeners
    // 4 -> reported listeners
    // 5 -> bitrate
    // 6 -> song

    // v3 - to use new HTTP request parameters

    integer DEBUG = FALSE;
    string stream = "YOUR STREAM URL";
    key kSentRequest;
    string URL;
    string stream_status;
    string listeners;
    string song;
    integer bit_rate;

    default
    {
        state_entry()
        {   
            stream = llGetObjectDesc();
            URL = stream;
            llOwnerSay("URL:"+URL);
            //URL = stream + "/7.html HTTP/1.0\nUser-Agent: XML Getter (Mozilla Compatible)\n\n";
            //kSentRequest = llHTTPRequest(URL, [], "");
            kSentRequest = llHTTPRequest(URL + "/7.html",[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");
            llSetTimerEvent(10.0);
        }
        touch_start (integer number)
        {
            //kSentRequest = llHTTPRequest(URL, [], "");
            kSentRequest = llHTTPRequest(URL + "/7.html",[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");
            // check it
        }
        timer ()
        {
            //kSentRequest = llHTTPRequest(URL, [], "");
            kSentRequest = llHTTPRequest(URL + "/7.html",[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");
            if (stream != llGetObjectDesc())
            {
                llResetScript();
            }
        }
        
        http_response (key kRecRequest, integer intStatus, list lstMeta, string strBody)
        {
            if (kRecRequest == kSentRequest)
            {   
                // Strip the html out of the received information and just show what is inbetween the body tags
                llOwnerSay("Status:"+(string)intStatus+", ResponseBody:"+strBody);
                list html = llParseString2List(strBody,["<body>", "</body>"],[]);
                string info = (llList2String(html,1));
                list status = llCSV2List(info);
                listeners = llList2String(status,4);
                integer new_rate = llList2Integer(status,5);
                song = llList2String(status,6);
                //if (song != "") llOwnerSay("song is "+song);
                if (new_rate != bit_rate)
                {
                    //if (bit_rate > 0) llOwnerSay("New stream bit rate is "+(string)new_rate+" kbps");
                    bit_rate = new_rate;
                }
                stream_status = llList2String(status,1);
                if (stream_status == "1")
                {
                    llSetTextureAnim(TRUE | SMOOTH | LOOP, ALL_SIDES,1,1,1.0, 1,0.25);
                    llSetColor(<1.0,1.0,1.0>, ALL_SIDES);
                    llSetText("Stream is ON with "+listeners+" listeners"+
                      "\nBit Rate is "+(string)bit_rate+" kbps"+
                      "\nSong: "+song,<0.1,0.9,0.1>,0.9);
                } else
                {
                    llSetTextureAnim(FALSE | SMOOTH | LOOP, ALL_SIDES,1,1,1.0, 1,0.25);
                    llSetColor(<0.3,0.3,0.3>, ALL_SIDES);
                    llSetText("Stream is OFF",<0.9,0.1,0.1>,0.9);
                }
                //llSay(0," Current Listeners: " + llList2String(status,0));
                //llSay(0,"Status: " + llList2String(status,1));
                //llSay(0,"listener peak: " + llList2String(status,2));
                //llSay(0,"max listeners: " + llList2String(status,3));
                //llSay(0,"reported listeners: " + llList2String(status,4));
                //llSay(0,"bitrate: " + llList2String(status,5));
                //llSay(0,"Song: " + llList2String(status,6));
                kSentRequest = NULL_KEY;
            }
        }
        on_rez(integer start_param)
        {
            llResetScript();
        }
    }

  9. Tried this today and got a 502 result:

    [11:37:37] Q Stream Monitor June 14: Response Status:502, ResponseBody:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ERROR: The requested URL could not be retrieved</title> <style type="text/css"><!--   %l  body :lang(fa) { direction: rtl; font-size: 100%; font-family: Tahoma, Roya, sans-serif; float: right; } :lang(he) { direction: rtl; }  --></style> </head><body id=ERR_ZERO_SIZE_OBJECT> <div id="titles"> <h1>ERROR</h1> <h2>The requested URL could not be retrieved</h2> </div> <hr>  <div id="content"> <p>The following error was encountered while trying to retrieve the URL: <a href="http://server3.luschaudio.com:10272/7.html">http://server3.luschaudio.com:10272/7.html</a></p>  <blockquote id="error"> <p><b>Zero Sized Reply</b></p> </blockquote>  <p>Squid did not receive any data for this request.</p>  <p>Your cache administrator is <a href="mailto:webmaster">webmaster</a>.</p> <br> </div>  <hr> <div id="footer"> <p

    which looks like:

     

    error  on .7html test.PNG

  10. 4 hours ago, Oz Linden said:

    We have diagnosed the problem with this script, and are reaching out to the author to define a change to the script and the server to restore the functionality.

    This is not a problem with one script by one author.  It's a general problem with scripts that access shoutcast status.  Please reach out further.

    • Like 2
  11. LOL

    This isn't questions.  How rude of people to ask questions in the LSL forum rather than in Questions.

    AND Madelaine asks another question!

    AND Snugs answers a question instead of pointing out that you shouldn't ask questions here.

    I'm so upset.

    In the forums you could edit your original post to be something completely different.  Which I did frequently.  Although it's not helpful.

     

    • Like 1
  12. First, you all have gone way off-topic here, so that's normal I suppose.

    Second, the LL originally hid the experience forum.  Then they announced that they had stopped hiding it.  Except they left it hidden in that it wasn't listed in the list of forums.  When we told them that was wacky they did nothing.  So.... maybe there still is an experience forum and you all just haven't found it yet.  Or.... maybe there still is an experience forum and even LL hasn't found it yet.   They did spent a month or so banging on pipes (or whatever they called the search process.)

    • Like 1

  13. Rolig Loon wrote:


    Kostya Noyes wrote:

    [ .... ]

    But users don't see content on face of object, only after click on them.
    [ .... ]


    Yes, that's why I wrote that "
    In theory
    " your code should work.  In practice, I have never seen prim media start automatically.



    I have some MOP objects that auto-play IF I turn on the "Allow media to auto-play" option in Preferences.  If not I see my "Media on A Prim" texture until I click the  object.  Firestorm viewer is all I can speak to.  The experience of others may vary.

  14. I haven't looked through all of your logic.

    There is a simple problem in the 'if' statements:

     

    if (value = 0) direction = 1; should be
    if (value == 0) direction = 1;

     As you have it coded the 1st 'if' sets ' value' to 0 and then the 2nd 'if' sets 'value' to 4 every time.  Which is why you're gettting stuck at that number.

×
×
  • Create New...