Glad Gaffer

DJ Board Display Not Working Properly

Recommended Posts

9 minutes ago, Qwalyphi Korpov said:

Hmmmm... per the release notes this is being fixed tomorrow.  Would be so helpful to know those little details like the script change that's needed (or is it?).

The Simulator user group meeting is today.
I'll try & remember to ask about this.

http://wiki.secondlife.com/wiki/Simulator_User_Group

 

Share this post


Link to post
Share on other sites
11 minutes ago, Qwalyphi Korpov said:

Hmmmm... per the release notes this is being fixed tomorrow.  Would be so helpful to know those little details like the script change that's needed (or is it?).

The Simulator user group meeting is today.
I'll try & remember to ask about this.

http://wiki.secondlife.com/wiki/Simulator_User_Group

 

Share this post


Link to post
Share on other sites

Ok.... I've updated the wiki page for llHTTPRequest to show the parameter that will be available with the new server roll.

If you previously invoked the method like this to hack a User Agent header into the URL parameter:

HTTPRequest=llHTTPRequest(URL + "/7.html HTTP/1.0\nUser-Agent: LSL Script (Mozilla Compatible)\n\n",[],"");

then it won't work on the new version because the spaces and newline are not allowed in the URL (that's actually why it broke in the current Magnum server already).

You'll need to change your script to do something like:

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

The User Agent value you provide will be added to the one provided by the server, so both your script and the server version will be identified.

As has been noted above, this change is scheduled to roll to the Magnum RC regions tomorrow.

  • Like 4

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
1 hour ago, Qwalyphi Korpov said:

Tried this today and got a 502 result [...]

It would be more useful to show us your script.

Share this post


Link to post
Share on other sites
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();
    }
}

Share this post


Link to post
Share on other sites
Posted (edited)

Hello Oz :-) Seems that the Parameter HTTP_USER_AGENT still does not exist on Magnum RC? I get the error "Name not definde in scope" using that in the llHTTPRequest command?

Edited by Emmerich Beeswing

Share this post


Link to post
Share on other sites

I could get it to compile yesterday on a Magnum region and only got that error on other regions, as expected. So the parameter does exist there, but it still doesn't work, sadly. I didn't check the server response, but it's probably the same issue Qwalyphi Korpov described.

Share this post


Link to post
Share on other sites

Does anyone know if there's anything been heard from the SHX creator about this or will we just have to accept that this products will now no longer function as advertised?

  • Like 2

Share this post


Link to post
Share on other sites

Came and tried my two SHX Boards today and still showing ERROR 499 :( i see OZ's comment above about having to rollback for some rework and just hope we can get a fix soon for this as i also have a SHX Song Voting Board under my SHX Receivers - those are not working also as they depend on the ability of the Receiver to capture the Song Titles...i live in hope that al can be fixed....it is not good that the SHX owner SAI is not available to help with work to restore the functionability of his products !!

Share this post


Link to post
Share on other sites
On 2017-6-15 at 4:49 PM, Emmerich Beeswing said:

Alison don't be sad I bet all large producers of these boards will as soon as possible offer an update like we will do.

That's gonna be kind of tough if they can't reach Sai from SHX and get him to do the needed changes :P

 

Share this post


Link to post
Share on other sites
Posted (edited)

The simulator/LSL change is scheduled to roll tomorrow (6/21) to the Magnum RC channel for another try; simulator version 2017-06-19T17:18:00.327192.  Thank you all for your patience.

This release fixes two things that were responsible for the rollback:

  • Our previous change had broken adding custom headers; those should work again
  • We modified the server to properly escape space characters in the url value. Technically, the script should already have done that, but we didn't enforce it before so there are a lot of scripts out there that send them and we could make the change in a backwards-compatible way, so we did.

 

Edited by Oz Linden
  • Like 4

Share this post


Link to post
Share on other sites

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:

Share this post


Link to post
Share on other sites

Hello Oz :-)

I just did see that RC Magnum is updated to 17.06.19.327192. I tried follwowing http requests on several Shout V1, V2 and Icecast Radio stations:

            httpreqstream_id = llHTTPRequest(urlmain + "/7.html",[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");
            httpreqstream_id = llHTTPRequest(urlmain + "/stats?sid=" + urlsid,[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");
            httpreqstream_id = llHTTPRequest(urlmain + "/status-json.xsl" + urllast,[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");
            httpreqstream_id = llHTTPRequest(urlmain + "/status.xsl " + urllast,[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");

At all these requests I got back on all of these requests:

body :<html><head><title>Error 404</title></head><body><b>404 - Could not parse XSLT file</b></body></html>

Additional I have the problem that if I try to request with the old syntax the script does not get ANY response back as far I can see..so I can not check if the response is bad and I have to check with the new syntax..any help would be appreciatet

Share this post


Link to post
Share on other sites
1 hour ago, Emmerich Beeswing said:

Hello Oz :-)

I just did see that RC Magnum is updated to 17.06.19.327192. I tried follwowing http requests on several Shout V1, V2 and Icecast Radio stations:

            httpreqstream_id = llHTTPRequest(urlmain + "/7.html",[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");
            httpreqstream_id = llHTTPRequest(urlmain + "/stats?sid=" + urlsid,[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");
            httpreqstream_id = llHTTPRequest(urlmain + "/status-json.xsl" + urllast,[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");
            httpreqstream_id = llHTTPRequest(urlmain + "/status.xsl " + urllast,[HTTP_USER_AGENT, "Stream-Script/1.0 (Mozilla Compatible)"],"");

At all these requests I got back on all of these requests:

body :<html><head><title>Error 404</title></head><body><b>404 - Could not parse XSLT file</b></body></html>

Additional I have the problem that if I try to request with the old syntax the script does not get ANY response back as far I can see..so I can not check if the response is bad and I have to check with the new syntax..any help would be appreciatet

The old way certainly won't work.  Does this test script with these URLs work on other simulator versions?

When I try those URLs with CURL locally, I get the same results you describe here, so I don't see why they should work from LSL.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now