CasperVend 2/Event Vendor Script: Difference between revisions
(59 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
|} | |} | ||
[[File:German_flag.gif]] [[CasperVend_2/Event_Vendor_Script/DE | Schaue hier in Deutsch!]] | [[File:German_flag.gif]] [[CasperVend_2/Event_Vendor_Script/DE | Schaue hier in Deutsch!]] | ||
== <span style="color:#00528c">'''Where do I find the Event Vendor?'''</span> == | |||
Originally, the Event Vendor script was loose in the vendor crate. If you haven't redelivered your vendor pack in a while (for example, if your dropboxes are still at 2.2x....) then it might still be a standalone loose script. | |||
Currently, the Event Vendor script is now in its own sub-box within the vendor crate: | |||
{| class="wikitable" | |||
|- | |||
|[[File:Event_vendor_box.png|300px|thumb|left|Click for larger image]] | |||
| 1) Rez the Vendor shipping crate on the ground. <br /> 2) Click to unpack contents to your inventory. <br /> 3) Drag the Event Vendor crate from your inventory to the ground. | |||
|- | |||
| [[File:Event_vendor_unboxed.png|300px|thumb|left|Click for larger image]] | |||
| 4) Click to unpack the Event Vendor crate to your inventory. <br /> 5) Locate the Event Vendor script itself. <br /> 6) Follow the "how to" instructions in the next section. | |||
|} | |||
== <span style="color:#00528c">'''About the Event Vendor Script'''</span> == | |||
<div style="display:inline-block">{{#ev:youtube|4YwYrTWT8_w||left|Video by Casper explaining how sim communications work}}</div> | |||
== <span style="color:#00528c">'''How To Use The Event Script'''</span> == | == <span style="color:#00528c">'''How To Use The Event Script'''</span> == | ||
You will need to set up both your event vendors and have your spare "payment-capable" items out as follows: | |||
===Event Vendors=== | |||
---- | |||
# Set up your vendor(s) with the regular vendor script on your "home" sim/region. | # Set up your vendor(s) with the regular vendor script on your "home" sim/region. | ||
# Edit the vendor | # Edit the vendor | ||
# Click to the Contents tab | # Click to the Contents tab | ||
# Delete the "CasperVend2" script from the contents | # Delete the "CasperVend2" script- BUT NOT THE "MAPPING" NOTECARD! - from the contents | ||
# Drag the CasperVend2 Event Vendor replacement script from your inventory, into the contents of the vendor. | # Drag the CasperVend2 Event Vendor replacement script from your inventory, into the contents of the vendor. | ||
# Once the vendor reboots, grant debit perms. | # Once the vendor reboots, grant debit perms. | ||
# Pick up your newly modified event vendors, and rez them on the event sim/region. | # Pick up your newly modified event vendors, and rez them on the event sim/region. | ||
=== | ===Payment-Capable Items=== | ||
---- | ---- | ||
: Payment-capable items are the regular vendors (of course) and - as of version 2.70 - the DropBoxes. | |||
: '''Per Casper:''' "Dropboxes are actually much more reliable than the vendor method, so I would prefer if people just used the new dropboxes." | |||
# You will need extra payment-capable items rezzed on at least two sims/regions, to work around the existing region communication issues. | |||
# For reliability, DropBoxes are the preferred method. | |||
# There's a list '''[[DropBox_Hosting | on this page]]''' if you need to rent extra storage locations. | |||
# If you are using extra regular vendors, the vendors may have ANY product on them - what's needed is the payment capacity, not matching products. | |||
===Note:=== | |||
---- | |||
You '''CAN''' make changes to a vendor using the event script, you just have to click the vendor in-world, get the popup menu, and choose "Reset" for it to pick up the changes. | |||
Event vendors CANNOT be reset (or deleted!) from the website. | |||
== <span style="color:#00528c">'''Do Not Wait For a Problem'''</span>== | |||
The event vendor script is '''best''' used '''PROACTIVELY''' - this means, set up the event vendor script '''during your event setup period,''' not after the event begins and it's already filled and lagged! | |||
It's critically important to do this '''BEFORE THE SIM BREAKS''' - because once the sim breaks, it cannot be set up! | |||
== <span style="color:#00528c">'''Have Extra Dropboxes Rezzed Elsewhere'''</span> == | |||
As of CasperVend version 2.70, DropBoxes may '''ALSO''' be used to handle payments. See the '''[https://wiki.casperdns.com/index.php/CasperVend_2/Vendors/ChangeLog#v2.70 changelog]''' for full details. | |||
* '''The strategy for dealing with simultaneous purchases has changed'''. | |||
* We no longer require regular vendors to be present on other regions. Instead, you '''must have v2.70 dropboxes''' on multiple regions. | |||
* (You are free to have both extra dropboxes AND/OR extra regular vendors. Vendors don't need to match event products, they just need that payment capacity.) | |||
* More script memory is now available which should reduce issues with 13 panel vendors crashing | |||
* Vendors should no longer reset when touched after a region restart | |||
* The deprecated "hippo" profile format has been fully removed from the script ( Generate profile as "pages" ) | |||
If you need a place to store your spare DropBoxes, there's a list of DropBox hosting locations '''[https://wiki.casperdns.com/index.php/DropBox_Hosting on this page].''' | |||
== <span style="color:#00528c">'''Info for Event/Mall Organizers'''</span> == | |||
# '''You must have at least one normal vendor rezzed elsewhere''', on a non-overloaded region - and ideally | You '''MUST''' allow time for merchants in your event or mall adequate time to clean up their own vendors after an event! | ||
If you are unable to allow the merchants time to clean up (such as if a sim/region will be returned to LL on a specific date), or there are people unable to come back in time to clean up, then YOU must do the cleanup yourself after you return everything - Rez and click to run a vendor UpgradeBee on the "Check All" setting. (Absolutely '''anyone''' may run an UpgradeBee on "Check All" to do cleanup, as long as they have sim/region access.) | |||
If you don't already have CasperVend, you may pick up a set of the free vendors to get the upgradebee, then unpack the crate, rez the upgradebee, click to run it on "check all". | |||
Alternately, you may ask any of the '''[[Official_Avatars | official representatives]]''' for a vendor UpgradeBee instead of picking up the free vendors. | |||
== <span style="color:#00528c">'''Cleaning Up Your Event Vendors'''</span> == | |||
Because there are no incoming communications, event vendors will NEVER respond to a "delete" command via the website. | |||
You '''MUST''' remember to clean up your '''event''' vendors from an event before the sim goes away (either by click > menu > delete '''OR''' edit > delete > then run a bee on "Check All") otherwise you will be unable to later. | |||
You may also give a copy of the '''UpgradeBee VENDORS ONLY''' - this Bee is copy AND transfer - to the event organizer team and ask them to run the Bee after they send back vendors when the event ends. | |||
== <span style="color:#00528c">'''Limitations & Caveats'''</span> == | |||
# '''You must have at least one normal vendor rezzed elsewhere''', on a non-overloaded region - and ideally several more. If you don't, your transactions will stall and fail! | |||
# If you make a change to the configuration on the website, the vendor will not automatically update. You have to touch it inworld and choose Reset to get it to pull the latest config. | # If you make a change to the configuration on the website, the vendor will not automatically update. You have to touch it inworld and choose Reset to get it to pull the latest config. | ||
# License notecards will be delivered, but we can't wait for them to be accepted - the transaction will just go through regardless. | # License notecards will be delivered, but we can't wait for them to be accepted - the transaction will just go through regardless. | ||
# Same for gift deliveries - we can't wait for the customer to confirm their gift selection, it just goes through as a direct gift. | # Same for gift deliveries - we can't wait for the customer to confirm their gift selection, it just goes through as a direct gift. | ||
# Gift boxing feature is also not available due to the stripped down communications - only Direct Gifting | |||
# The vendor won't automatically reload if the linkset changes. So if you link the vendor to something, be sure to touch -> reset. | # The vendor won't automatically reload if the linkset changes. So if you link the vendor to something, be sure to touch -> reset. | ||
# The event vendor script is no-transfer, because it can't be used in affiliate vendors - it can't transfer money | # The event vendor script is no-transfer, because it can't be used in affiliate vendors - it can't transfer money | ||
Line 27: | Line 99: | ||
All these features depend on the website being able to communicate with the vendor (HTTP-IN), which is why they are not fully available with the Event Vendor replacement script. | All these features depend on the website being able to communicate with the vendor (HTTP-IN), which is why they are not fully available with the Event Vendor replacement script. | ||
Profit sharing '''DOES''' work. | Profit sharing '''DOES''' work, but affiliate payments will NOT. In other words, don't use the event vendor script in a vendor you have from someone else. | ||
== <span style="color:#00528c">'''What is the Difference?'''</span> == | |||
The regular vendors have both incoming and outgoing communications. | |||
The event vendor version has JUST outgoing communications. This is why having regular vendors rezzed on another sim is essential. | |||
(Want more explanation? See the next section.) | |||
== <span style="color:#00528c">'''Background - Why Is There An Event Script?'''</span> == | == <span style="color:#00528c">'''Background - Why Is There An Event Script?'''</span> == | ||
CasperVend2 is a very efficient vendor system, and as such has always been in popular use at events, many of which consisted of packed sims of 60+ avatars. | CasperVend2 is a very efficient vendor system, and as such has always been in popular use at events, many of which consisted of packed sims of 60+ avatars. Beginning in 2015, though, there have been two reported instances of CasperVend vendors not working well at two particularly popular events - '''Collabor88''' and '''Uber'''. | ||
While it has been very hard to diagnose these issues (none of our team have been able to gain access to the regions while the vendors were malfunctioning), we ''were'' able to get hold of some data from our side which has helped us identify the cause. | While it has been very hard to diagnose these issues (none of our team have been able to gain access to the regions while the vendors were malfunctioning), we ''were'' able to get hold of some data from our side which has helped us identify the cause. | ||
Line 43: | Line 117: | ||
---- | ---- | ||
It appears that the issue lies with the "HTTP-IN" function. | It appears that the issue lies with the "HTTP-IN" function, as described in the video linked at the top of this page. | ||
CasperVend is a very sophisticated system, which depends on complex algorithms and processes running on our servers. This is because there is simply not enough script space in the vendor itself to perform all the extensive functionality that CasperVend provides. | CasperVend is a very sophisticated system, which depends on complex algorithms and processes running on our servers. This is because there is simply not enough script space in the vendor itself to perform all the extensive functionality that CasperVend provides. | ||
Line 53: | Line 127: | ||
The proxy server received an invalid response from an upstream server. | The proxy server received an invalid response from an upstream server. | ||
The proxy server could not handle the request POST http://10.9.4.70:13020/web/task/8f493d26-de0b-19f1-74c6-5d199f02a8df/script/b48999ce-5e27-5fe8-0c22-e0c03b34babc/http. | The proxy server could not handle the request POST http://10.9.4.70:13020/web/task/8f493d26-de0b-19f1-74c6-5d199f02a8df/script/b48999ce-5e27-5fe8-0c22-e0c03b34babc/http. | ||
Reason: Error reading from remote server</lsl> | Reason: Error reading from remote server</lsl> | ||
Once such an error has been encountered, the system automatically tries to "self-heal". This causes the vendor to reset and re-establish itself in the network. Unfortunately, in such a broken region, the vendor will take a long time to get back online. | Once such an error has been encountered, the system automatically tries to "self-heal". This causes the vendor to reset and re-establish itself in the network. Unfortunately, in such a broken region, the vendor will take a long time to get back online. | ||
We can't stress enough that this is '''an issue with Second Life''' and the Lab's architecture (notice the internal IP address; 10.9.4.70 is a machine on LL's internal network), and NOT a problem with CasperVend or our servers. | |||
=== Why has this never been addressed before 2015? === | === Why has this never been addressed before 2015? === |
Latest revision as of 12:32, 21 June 2024
Where do I find the Event Vendor?
Originally, the Event Vendor script was loose in the vendor crate. If you haven't redelivered your vendor pack in a while (for example, if your dropboxes are still at 2.2x....) then it might still be a standalone loose script.
Currently, the Event Vendor script is now in its own sub-box within the vendor crate:
1) Rez the Vendor shipping crate on the ground. 2) Click to unpack contents to your inventory. 3) Drag the Event Vendor crate from your inventory to the ground. | |
4) Click to unpack the Event Vendor crate to your inventory. 5) Locate the Event Vendor script itself. 6) Follow the "how to" instructions in the next section. |
About the Event Vendor Script
How To Use The Event Script
You will need to set up both your event vendors and have your spare "payment-capable" items out as follows:
Event Vendors
- Set up your vendor(s) with the regular vendor script on your "home" sim/region.
- Edit the vendor
- Click to the Contents tab
- Delete the "CasperVend2" script- BUT NOT THE "MAPPING" NOTECARD! - from the contents
- Drag the CasperVend2 Event Vendor replacement script from your inventory, into the contents of the vendor.
- Once the vendor reboots, grant debit perms.
- Pick up your newly modified event vendors, and rez them on the event sim/region.
Payment-Capable Items
- Payment-capable items are the regular vendors (of course) and - as of version 2.70 - the DropBoxes.
- Per Casper: "Dropboxes are actually much more reliable than the vendor method, so I would prefer if people just used the new dropboxes."
- You will need extra payment-capable items rezzed on at least two sims/regions, to work around the existing region communication issues.
- For reliability, DropBoxes are the preferred method.
- There's a list on this page if you need to rent extra storage locations.
- If you are using extra regular vendors, the vendors may have ANY product on them - what's needed is the payment capacity, not matching products.
Note:
You CAN make changes to a vendor using the event script, you just have to click the vendor in-world, get the popup menu, and choose "Reset" for it to pick up the changes.
Event vendors CANNOT be reset (or deleted!) from the website.
Do Not Wait For a Problem
The event vendor script is best used PROACTIVELY - this means, set up the event vendor script during your event setup period, not after the event begins and it's already filled and lagged!
It's critically important to do this BEFORE THE SIM BREAKS - because once the sim breaks, it cannot be set up!
Have Extra Dropboxes Rezzed Elsewhere
As of CasperVend version 2.70, DropBoxes may ALSO be used to handle payments. See the changelog for full details.
- The strategy for dealing with simultaneous purchases has changed.
- We no longer require regular vendors to be present on other regions. Instead, you must have v2.70 dropboxes on multiple regions.
- (You are free to have both extra dropboxes AND/OR extra regular vendors. Vendors don't need to match event products, they just need that payment capacity.)
- More script memory is now available which should reduce issues with 13 panel vendors crashing
- Vendors should no longer reset when touched after a region restart
- The deprecated "hippo" profile format has been fully removed from the script ( Generate profile as "pages" )
If you need a place to store your spare DropBoxes, there's a list of DropBox hosting locations on this page.
Info for Event/Mall Organizers
You MUST allow time for merchants in your event or mall adequate time to clean up their own vendors after an event!
If you are unable to allow the merchants time to clean up (such as if a sim/region will be returned to LL on a specific date), or there are people unable to come back in time to clean up, then YOU must do the cleanup yourself after you return everything - Rez and click to run a vendor UpgradeBee on the "Check All" setting. (Absolutely anyone may run an UpgradeBee on "Check All" to do cleanup, as long as they have sim/region access.)
If you don't already have CasperVend, you may pick up a set of the free vendors to get the upgradebee, then unpack the crate, rez the upgradebee, click to run it on "check all".
Alternately, you may ask any of the official representatives for a vendor UpgradeBee instead of picking up the free vendors.
Cleaning Up Your Event Vendors
Because there are no incoming communications, event vendors will NEVER respond to a "delete" command via the website.
You MUST remember to clean up your event vendors from an event before the sim goes away (either by click > menu > delete OR edit > delete > then run a bee on "Check All") otherwise you will be unable to later.
You may also give a copy of the UpgradeBee VENDORS ONLY - this Bee is copy AND transfer - to the event organizer team and ask them to run the Bee after they send back vendors when the event ends.
Limitations & Caveats
- You must have at least one normal vendor rezzed elsewhere, on a non-overloaded region - and ideally several more. If you don't, your transactions will stall and fail!
- If you make a change to the configuration on the website, the vendor will not automatically update. You have to touch it inworld and choose Reset to get it to pull the latest config.
- License notecards will be delivered, but we can't wait for them to be accepted - the transaction will just go through regardless.
- Same for gift deliveries - we can't wait for the customer to confirm their gift selection, it just goes through as a direct gift.
- Gift boxing feature is also not available due to the stripped down communications - only Direct Gifting
- The vendor won't automatically reload if the linkset changes. So if you link the vendor to something, be sure to touch -> reset.
- The event vendor script is no-transfer, because it can't be used in affiliate vendors - it can't transfer money
All these features depend on the website being able to communicate with the vendor (HTTP-IN), which is why they are not fully available with the Event Vendor replacement script.
Profit sharing DOES work, but affiliate payments will NOT. In other words, don't use the event vendor script in a vendor you have from someone else.
What is the Difference?
The regular vendors have both incoming and outgoing communications.
The event vendor version has JUST outgoing communications. This is why having regular vendors rezzed on another sim is essential.
(Want more explanation? See the next section.)
Background - Why Is There An Event Script?
CasperVend2 is a very efficient vendor system, and as such has always been in popular use at events, many of which consisted of packed sims of 60+ avatars. Beginning in 2015, though, there have been two reported instances of CasperVend vendors not working well at two particularly popular events - Collabor88 and Uber.
While it has been very hard to diagnose these issues (none of our team have been able to gain access to the regions while the vendors were malfunctioning), we were able to get hold of some data from our side which has helped us identify the cause.
So, what's the problem?
It appears that the issue lies with the "HTTP-IN" function, as described in the video linked at the top of this page.
CasperVend is a very sophisticated system, which depends on complex algorithms and processes running on our servers. This is because there is simply not enough script space in the vendor itself to perform all the extensive functionality that CasperVend provides.
As part of this process, the server needs to "dial in" to the sim/region, in order to reach the vendor - this is done to send notifications, confirm option choices and license agreements, or make affiliate payments. Unfortunately, it seems that once region load gets beyond a certain point, HTTP-IN just completely falls apart and can no longer be used, with every request failing with a message like so:
<lsl> Proxy Error The proxy server received an invalid response from an upstream server. The proxy server could not handle the request POST http://10.9.4.70:13020/web/task/8f493d26-de0b-19f1-74c6-5d199f02a8df/script/b48999ce-5e27-5fe8-0c22-e0c03b34babc/http. Reason: Error reading from remote server</lsl>
Once such an error has been encountered, the system automatically tries to "self-heal". This causes the vendor to reset and re-establish itself in the network. Unfortunately, in such a broken region, the vendor will take a long time to get back online.
We can't stress enough that this is an issue with Second Life and the Lab's architecture (notice the internal IP address; 10.9.4.70 is a machine on LL's internal network), and NOT a problem with CasperVend or our servers.
Why has this never been addressed before 2015?
Quite frankly, it's never been an issue before. CasperVend has been used in huge events for many years, and while it's experienced some lag, there have never been such wide-scale issues before the summer of 2015.
Our best bet is that something has changed recently in the LL server-side code which makes HTTP-IN more vulnerable to lag.
The CasperVend2 Event Vendor replacement script
We've now released a special "Event Vendor" replacement script.
This is a special version of the vendor which has all inbound communications ripped out and disabled. This means it's reliable enough to function in heavily overloaded/broken regions.