Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Discussion: Keyless Product Update Server

Dragon Keen
Registered User
Join date: 24 Apr 2006
Posts: 245
03-16-2007 15:34
From: Darien Caldwell
Yes, thanks for posting your code. I'll still post mine later as an alternative for people who can't or dont have access to a web server.


if you've made an in-world only server capable of not being forced to utilize UUID keys, we'd all be very interested to see such code I'd gather. I couldnt possibly find a way around UUIDs without at least having 1 main object that was UUID specific.
Woopsy Dazy
Registered User
Join date: 12 Nov 2006
Posts: 173
03-16-2007 15:43
Just my reflection,

Isn't it just lovely to see a thread which is goying beyond argumenting and holding positions! Great discussion in here. Intelligent and well written posts. Awesome!

*applause*
Woopsy Dazy
Registered User
Join date: 12 Nov 2006
Posts: 173
03-16-2007 16:03
From: Dragon Keen
if you've made an in-world only server capable of not being forced to utilize UUID keys, we'd all be very interested to see such code I'd gather. I couldnt possibly find a way around UUIDs without at least having 1 main object that was UUID specific.


Sorry if I missunderstand your question. haven't had time to read thru all code. I sense it's probably great! :)

Is the question based on if the server object suddenly dies and how to handle it? Eg meaning the clients calling the server with a hardcoded or sentout key?

Then, I think you're right. If the server dies and you have to recreate it you have to have an external backup of client keys externally, or having clients requesting the server key from web.

Otherwize replacing a server could be easily done by having clients requesting server key once a day by email. Make the old server return the new server key and after 24 hrs every client will run against the new server.

Anyone understand this?
Dragon Keen
Registered User
Join date: 24 Apr 2006
Posts: 245
03-16-2007 20:37
From: Woopsy Dazy
Sorry if I missunderstand your question. haven't had time to read thru all code. I sense it's probably great! :)

Is the question based on if the server object suddenly dies and how to handle it? Eg meaning the clients calling the server with a hardcoded or sentout key?

Then, I think you're right. If the server dies and you have to recreate it you have to have an external backup of client keys externally, or having clients requesting the server key from web.

Otherwize replacing a server could be easily done by having clients requesting server key once a day by email. Make the old server return the new server key and after 24 hrs every client will run against the new server.

Anyone understand this?


well see thats not a problem with the above code. My code doesnt rely on the UUID. However Darien Caldwell posted he/she has a solution that doesnt utilize a mysql/php backend system which is amazing.

Normally, an update server has specific code in it (hard coded UUID key) to the originating server. If that server was to disappear, and you rezzed a new one, its UUID key would change, making all previous updates coded to look for it not work. Thats why I wrote this, so with my code, no matter what, your updates would work. If you delete, and rez a new server, the code is programming to automaticaly reflect the new servers UUID, and all older items checking for an update continue to work.
RobbyRacoon Olmstead
Red warrior is hungry!
Join date: 20 Sep 2006
Posts: 1,821
03-16-2007 20:52
From: Dragon Keen
if you've made an in-world only server capable of not being forced to utilize UUID keys, we'd all be very interested to see such code I'd gather. I couldnt possibly find a way around UUIDs without at least having 1 main object that was UUID specific.


Here is a page that describes one very good and relatively painless method.

Not much different than yours conceptually, except it is a free service that does all the heavy lifting on the backend.
_____________________
Dragon Keen
Registered User
Join date: 24 Apr 2006
Posts: 245
03-17-2007 08:42
From: RobbyRacoon Olmstead
Here is a page that describes one very good and relatively painless method.

Not much different than yours conceptually, except it is a free service that does all the heavy lifting on the backend.


right thats very similar... except when doing things in a "production environment" my point of view is not to use someone elses server you dont have control over.

I actually wrote this before w-hat came up with objdns also

Also with objdns, you would only be able to send one item. For example... your updating a product called "Widget". Well it would only allow the server to send an item called "Widget". If you look into my code, the items you send are renameable. Example you have the same product "Widget" but you can send out named updates, like "Widget v1.0" then "Widget v1.4". Doing things this way was the #1 suggestion from my update server, to keep end users easily able to discern in their inventory which one was the newest, without having to look at the properties of the object.
Dragon Keen
Registered User
Join date: 24 Apr 2006
Posts: 245
03-17-2007 12:07
I missed the config.php file

CODE

<?


// config.php - useful variables/functions

// database parameters
// alter this as per your configuration
$database="";
$user = "";
$pass = "";
$hostname = "";
?>
RobbyRacoon Olmstead
Red warrior is hungry!
Join date: 20 Sep 2006
Posts: 1,821
03-18-2007 12:39
From: Dragon Keen
when doing things in a "production environment" my point of view is not to use someone elses server you dont have control over.


Agreed.
_____________________
Darien Caldwell
Registered User
Join date: 12 Oct 2006
Posts: 3,127
03-19-2007 13:12
Sorry if there was a misunderstanding, I didn't mean to say my update system was exactly like yours Dragon. Mine has a server but relies on chat messages on a negative channel to handshake between the server and the item being updated. I assume you mean that yours is Grid-Wide, mine is not. I prefer people come to my shop to update. Will post in a couple days.

As for your observations about servers and keys for grid wide communcation, I can only agree. I just finished up a grid-wide control device for a customer and ran into that same issue. I'm currently safeguarding the in-world server inside my house, hoping SL never eats it and breaks my system by changing the key. (crosses fingers)
Valect Hax
Registered User
Join date: 27 Feb 2007
Posts: 4
03-19-2007 15:26
Any chance you could post a working example of this, or a description of how to setup the LSL scripts? I'm at a complete loss of how to get the whole thing to work.
Keknehv Psaltery
Hacker
Join date: 11 Apr 2005
Posts: 1,185
03-19-2007 15:29
From: Darien Caldwell
Sorry if there was a misunderstanding, I didn't mean to say my update system was exactly like yours Dragon. Mine has a server but relies on chat messages on a negative channel to handshake between the server and the item being updated. I assume you mean that yours is Grid-Wide, mine is not. I prefer people come to my shop to update. Will post in a couple days.

As for your observations about servers and keys for grid wide communcation, I can only agree. I just finished up a grid-wide control device for a customer and ran into that same issue. I'm currently safeguarding the in-world server inside my house, hoping SL never eats it and breaks my system by changing the key. (crosses fingers)


That sound like a bad idea-- how about using some secret password instead of relying on a constant key?
Darien Caldwell
Registered User
Join date: 12 Oct 2006
Posts: 3,127
03-20-2007 12:25
From: Keknehv Psaltery
That sound like a bad idea-- how about using some secret password instead of relying on a constant key?


hehe, well the issue is one object must know the other's key in order to sen it an Email. So there's really no way around it if you want to keep things in-world. The only other alternative is to do as Dragon did here, and handle things out of world. But not everyone has the time/money/desire to do so. And this is only applicable to cross sim Email, if you can do with handling things within a small area, then the key issue is not applicable.
Luke Lachman
Registered User
Join date: 17 Dec 2006
Posts: 18
03-21-2007 07:04
Where can I get an update server which doesn't need a mysql database?
Dragon Keen
Registered User
Join date: 24 Apr 2006
Posts: 245
03-21-2007 08:26
From: Luke Lachman
Where can I get an update server which doesn't need a mysql database?


search is a mans best friend

http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryProductUpdateServer
Luke Lachman
Registered User
Join date: 17 Dec 2006
Posts: 18
03-21-2007 09:05


I did, but didn't find this page. Thanks for the link
Darien Caldwell
Registered User
Join date: 12 Oct 2006
Posts: 3,127
03-21-2007 12:09
From: Luke Lachman
Where can I get an update server which doesn't need a mysql database?



I'll be posting one tonight. The thing from the wiki really isn't an updater, its more of a inventory giver. The updater I'm posting swaps out the scripts/objects/notecards inside the item you already own, to update it to the latest version. This is good for transferrable items, as otherwise if you gave a new copy, they could sell or give away the old one.
Luke Lachman
Registered User
Join date: 17 Dec 2006
Posts: 18
03-22-2007 02:04
From: Darien Caldwell
I'll be posting one tonight. The thing from the wiki really isn't an updater, its more of a inventory giver. The updater I'm posting swaps out the scripts/objects/notecards inside the item you already own, to update it to the latest version. This is good for transferrable items, as otherwise if you gave a new copy, they could sell or give away the old one.


Hi Darien,
I think I need both. For products you wear, the giver is ok. But I would also need a script, notecard update function for products which you not wear.
Dragon Keen
Registered User
Join date: 24 Apr 2006
Posts: 245
03-22-2007 08:23
From: Luke Lachman
Hi Darien,
I think I need both. For products you wear, the giver is ok. But I would also need a script, notecard update function for products which you not wear.


you could theoretically use both with no/small modifications

instead of forcing someone to your land to update, you could send the updating prim.

Lets say I had a clog, but I want to update it, but not send a new clog, just update the clogs scripts. Instead of using my code to send a new clog, you use it to send "clog updater". The AV then rezzes the clog updater, and the clog. It updates the current scripts inside the clog, then auto-deletes itself upon a successful transfer.
Luke Lachman
Registered User
Join date: 17 Dec 2006
Posts: 18
03-22-2007 08:54
From: Dragon Keen
you could theoretically use both with no/small modifications

instead of forcing someone to your land to update, you could send the updating prim.

Lets say I had a clog, but I want to update it, but not send a new clog, just update the clogs scripts. Instead of using my code to send a new clog, you use it to send "clog updater". The AV then rezzes the clog updater, and the clog. It updates the current scripts inside the clog, then auto-deletes itself upon a successful transfer.


Thanks for the help, I saw your update code in the meantime. Is always only a local (close) update possible? When I understand you correct, the avatar has to come into the shop or I have to send the update prim.

So I can't remotly replace scripts/notecards ... in the remote prim
Daisy Rimbaud
Registered User
Join date: 12 Oct 2006
Posts: 764
03-22-2007 09:02
I don't see a lot of use for an update server for a non-commercial product.
White Hyacinth
Registered User
Join date: 15 Nov 2006
Posts: 353
03-22-2007 09:14
OK, time for a stupid question:
What does this thing do?

I make several products and one day I may find there is a bug in one of them.
Then I will want to give my customers a free upgrade.
Assuming I know who my customers ARE, I can simply drop the new version onto their profile. (Sounds like a lot of work though :( , and I am not sure I really know that...)

But I assume this thing is something similar to the mysterious "update servers" I have seen in the Xcite-shops?
Dragon Keen
Registered User
Join date: 24 Apr 2006
Posts: 245
03-22-2007 10:43
From: White Hyacinth
OK, time for a stupid question:
What does this thing do?

I make several products and one day I may find there is a bug in one of them.
Then I will want to give my customers a free upgrade.
Assuming I know who my customers ARE, I can simply drop the new version onto their profile. (Sounds like a lot of work though :( , and I am not sure I really know that...)

But I assume this thing is something similar to the mysterious "update servers" I have seen in the Xcite-shops?


ok, what happens when you have 100 customers, 1000 customers.... are you going to spend hours dropping items into profiles? This does that automatically (along with any other automated update server)

this is similar to xcites update server, except the end-user doesnt have to go to a specific sim to upgrade, upgrades are send anywhere in-world
Luke Lachman
Registered User
Join date: 17 Dec 2006
Posts: 18
03-22-2007 12:27
Dragon, I like your update server but don't wnt that people have to come into my shop. Would also a remote update be possible?

You explaind the update box, but would it be also possible without a update box very close?
Dragon Keen
Registered User
Join date: 24 Apr 2006
Posts: 245
03-22-2007 12:36
From: Luke Lachman
Dragon, I like your update server but don't wnt that people have to come into my shop. Would also a remote update be possible?

You explaind the update box, but would it be also possible without a update box very close?


that is exactly what this code does, it updates an item anywhere in world.
Darien Caldwell
Registered User
Join date: 12 Oct 2006
Posts: 3,127
03-22-2007 12:41
From: Dragon Keen
you could theoretically use both with no/small modifications

instead of forcing someone to your land to update, you could send the updating prim.

Lets say I had a clog, but I want to update it, but not send a new clog, just update the clogs scripts. Instead of using my code to send a new clog, you use it to send "clog updater". The AV then rezzes the clog updater, and the clog. It updates the current scripts inside the clog, then auto-deletes itself upon a successful transfer.


THis is 100% correct. I just like driving traffic to my store, and not having to fool with an external website. ;)

Here's a link to my posted code:

/54/43/172874/1.html
1 2 3