SasTech KioskNet

Object and Information Distribution System

KioskNet V9.5 Documentation

Congratulations on purchasing the most advanced, powerful system for distributing items and managing subscriber lists in the world of Second Life. Product support is a keystone of my business success, so after doing your best to read the manual, don't hesitate to contact me for help. I'll be there for you!

Help and Support

Your primary channel of support is this documentation. If you can find your answer here, then IM Sasun Steinbeck in-world. If I am offline, don't worry, I'll get back to you (please do not notecard me for short messages, I'll get them).

Setup Instructions

Note that the server communicates by whispering to avoid spamming the surrounding area. This means you need to be within 10m of the server to hear it, so stand close!

Step 1: Configure a server and kiosk:

Note that each edition has a different setup process. Please read the "!GETTING STARTED" notecard in your package for any edition-specific instructions. Note that if you bought any addon packages, you should start with a kiosk in your "Edition" package (so it matches your server), not your addon package. Here is the basic, common setup process:

  1. Rez the KioskNet Server.
  2. Edit settings notecard inside it and set a myID. Just make one up. Save.
  3. Click Configure from the server menu. Click Save on the web page.
  4. Rez a kiosk.
  5. Edit the "!Kiosk Settings" notecard in the kiosk and set the same myID. Save.

You now have a working kiosk network to start experimenting with. Be sure to read your "!GETTING STARTED" notecard for complete setup instructions!

Your kiosk should display the sample texture that's in the server and give out any sample items that may be in the server. Note that when you click a kiosk, you get a menu. That is because you are the owner of that kiosk. No one else except the kiosk owner sees a menu when they click a kiosk, they just get the stuff. So when you give out these kiosks, the new kiosk owner is the only person that will see the menu on their kiosk. If you want to see what happens when a non-owner clicks a kiosk, select "Click" from the kiosk menu. That puts you into "non-owner" mode for the next click. Click the kiosk again to get your stuff from the server.

Step 2: Create an account at the website

  1. Click your KioskNet server and click "My Servers" from the menu.
  2. On the web page that it takes you to, in the Login box, click the Create New User link to create a new account. Note! If you do not see a dialog pop up that takes you to the website, make sure you have not muted yourself!
  3. When that is done, click your server and click Connect Me. This permanently links your SL avatar to your new account. This only needs to be done once, ever. Once done, it will send you to your My Servers page, which should show your existing servers.

Next Steps

At this point your system should be up and running. To learn out how to give out your own items and display your own textures, please read the next section below.

If you own any of the special editions (Subscriber, Fundraiser, Virtual, or Real Estate) please find the individual sections in the left nav to read about your specific edition.

To build your own kiosk or lean about more advanced options, explore the "Your Kiosk" and "Your Server" sections of the documentation.

Changing the Notecard, Texture, and Objects

This is the process you use when you want to update what items the kiosk gives out and what textures it shows.

  1. Right Click and edit the KioskNet Server. Look in the contents. The server contains a sample notecard and texture.
  2. Delete the sample notecard and replace it with your own notecard (or any object to give out, instead).
  3. Delete the sample texture and replace it with your own texture. This texture is what will be shown on the kiosks.
  4. Add any optional Objects that you want to dispense.
  5. Test by clicking a kiosk and selecting "Refresh" from the menu. If your texture doesn't show up right away, check the textureFaces setting in the "!Kiosk Settings" notecard in your kiosk to control what faces get textured.
  6. Click the kiosk and select "Click" from the menu. Click the kiosk again. You should receive your notecard and objects immediately.
  7. Every 2 hours the kiosks will check with the server to see if they need to update anything. If your server has been updated but your kiosk has not received an update yet, and a kiosk is clicked, it will do an immediate update. The person can then click the kiosk again once it has finished updating.

Kiosk Configuration

Here are the settings in the "!Kiosk Settings" notecard you need to configure. Please note that some editions have two settings notecards, one with settings specific to that edition.

Note: I recommend setting next owner permissions for this notecard to NO MODIFY before making your kiosks public to avoid people hacking with your settings.

KioskVer: This should be an integer number. It is defined by you so that you can set version numbers of your kiosks as you release new kiosks. This number shows up in the version column of your kiosk list on your Kiosk View web page. When you send out an updated kiosk, you should update your version number as well.

Texturefaces: This tells the system which faces of the kiosk prim that all the scripts are in to put your texture(s) on. If you want to texture more than just face 2 (for example, all sides of a box), simply specify all the face numbers in a comma separated list.

Example: to texture all faces of a cube, set texturefaces=0,1,2,3,4,5

Tip: One way to get texture faces: Edit your kiosk, use the "Select Texture" edit tool, select the face, and press Ctrl+Shift+Alt+T. This will tell you the the face number you currently have selected.

ignoreparcel: By default, the system is designed to automatically replace a kiosk record in the database if another kiosk with the same myID value shows up on the same parcel and is owned by the same person. This is very helpful in keeping your kiosk list clean and avoiding duplicate records. By default this value is FALSE which means that only one kiosk, per owner, is allowed per parcel. Any additional kiosks will replace the one already there, in the database. If you DO need to allow more than one kiosk per owner per parcel, you can set this to TRUE. What you will see is quite a lot more "dead" kiosks in your kiosk list, since a new record is created every time someone rezzes a new (or re-rezzes the same) kiosk, requiring more work to keep your list clean and accurate by deleting those missing kiosks. For more important details, see the FAQ entry at the bottom of this help file.

teamName: This setting is used if you are using the Donation Mode feature to assign this kiosk to one of your donation teams. After you configure your team names on the website, assign this kiosk to one team by putting that team name for this setting.

Building a Custom Kiosk

If you are building a kiosk from scratch, all you need to do is copy all the scripts from any of the sample kiosks in the package into your kiosk, then configure your "!Kiosk Settings" notecard correctly, and you'll be up and running. There are three steps to copying all the scripts from a sample kiosk to your custom kiosk:

  1. Copy everything from the root (display) prim of the sample kiosk into your display prim. Your script MUST go into your display prim (with the face(s) you want to texture from the server). You are not required to link your kiosk so that the display prim with all the scripts inside is the root prim, but I'd recommend that to make things easier for you.
  2. Drop all the scripts into your display prim.
  3. If you have the Subscriber edition/addon, copy the ~subscriber script from the subscriber button into your subscriber button, if you have one, otherwise it goes into the display prim.

One last crucial step I highly recommend you do once you are happy with your kiosk and ready to send it out—do a Reboot from the kiosk menu to reset the scripts, wait a minute for it to settle, then pick it up as your master kiosk ready for distribution. This ensures the scripts are all in a known, fresh state when rezzed by your customers.

I do recommend building your own kiosk from scratch, or at a minimum, replacing the root prim of your kiosk with a prim created by you. The reason for this is that I am contacted frequently to supply kiosks that are not mine, because the kiosk builder used one of my prims as the root prim, so I show up as the kiosk creator. If you use one of your prims for the root prim, you will show up as the kiosk creator instead of me, which will make it easier for people to contact you for a kiosk.

As you manually texture your other kiosk parts, keep prims to a minimum and texture sizes in mind. If you texture everything on your kiosk with 1024x1024 textures, it's going to take a long time for people to see your kiosk. If your kiosk has a lot of prims, you will get pushback from your customers that have tiny shops and limited prims. Always offer a "low prim" 1-2 prim poster version of your kiosk for those on tight prim budgets on small parcels.

If you would like me to personally review you kiosk before shipping, I'd be happy to! Simply send me a kiosk and I'd be glad to check it for any potential problems and give you some suggestions to consider to improve your kiosks. This can help you avoid big problems down the road so don't hesitate to send me a kiosk to review before you release them!

Kiosk Configuration Details

This section contains detailed additional information about your KioskNet kiosks.

IMPORTANT NOTE! The sample full-perm kiosks provided as part of the KioskNet product package are for you to use as part of a configured KioskNet network system ONLY. You MAY NEVER sell them as part of a competing kiosk product. You may ONLY distribute them if it they fully configured kiosks that are part of YOUR kiosk network used to distribute items or information, or subscribe people to your subscriber list. If that is true, you can give your network kiosks away for free or sell them if you wish. You can use any permissions you want, including full perms. NEVER give them away if they are not part of a configured kiosk network!

Kiosk Refresh cycles: Your kiosks will automatically connect to your server every 2 hours and check to see if there are any changes with the server and update themselves at that point if necessary. If you make any kind of change to the server, and someone clicks a kiosk before it has checked in on it's normal update cycle, no problem. The kiosk will immediately refresh wilth the data from the server, which is pretty quick.

Remove Modify on settings card: I HIGHLY recommend REMOVING modify rights on your "!Kiosk Settings" notecard so that the people you give/sell kiosks to can't mess with it.

Description field: The description field of the kiosks stores the cumulative kiosk click counts. Make sure that the DESCRIPTION field of your kiosks is always set to 0 (the number zero) before you give it out.

Kiosk Name: Feel free to name your kiosk anything you want.

"Allow anyone to copy" permission: I would recommend you do not check "Allow anyone to copy". Though this is a good (though non-intuitive way) to virally spread kiosks, you can run into major problems with controlling how many kiosks are attached to your server. Instead, I recommend you distribute your kiosks via the included MDOG gadget, and put the MDOG requester in your server, as well as on the SL Marketplace. For example, if you have the VIRTUAL mode addon (see below) you could have a "get this kiosk" button so that people can click that button on your kiosk to get a copy of your kiosk. Or, just stick a copy of the kiosk into the server with your stuff, and everyone will get a kiosk. Using these techniques you have complete control of the kiosks that you give out in case you need or want to update your kiosks. If "Allow anyone to copy" is checked, you have zero control over the spread of your kiosks. If you ever update your kiosks, the old kiosks will proliferate forever.

Testing: I can't stress the importance of testing your kiosks before you release them! Make sure that kiosk texture updates work as expected, since the face to texture is set in your kiosk, not the server, so that can't be fixed if you make a mistake.

Kiosk Parcel Group Setting: The kiosks require the kiosk owner to set the group setting on the kiosk to match the group setting on the parcel. There is an important reason for this. In my experience I've found many a kiosk that was dead and not working because the parcel owner unchecked "All Residents" for the Run Scripts option. If the kiosk doesn't have the same group tag as the parcel, the scripts stop working and the kiosk is dead in the water. However if the kiosk group tag is set to the land group, then the parcel owner can safely uncheck "All Residents" for Run Scripts and as long as they leave Group checked, then the kiosk will work fine. This requirement can cause you a little pain explaining to your kiosk customers, but will save you long term problems with many dead kiosks in the future, trust me.

You can have your kiosk owners drop a full perm texture into their kiosks to cause that texture to show up on the Tour HUD when their location is active on the HUD. I recommend customers put in a small (256x256) texture to keep HUD rezzing times fast.

Kiosk Menus

By default, the kiosks will show a MENU to the owner of the kiosk so that they can carry out basic maintenance tasks.

Configure: this allows the kiosk owner to do any kiosk-specific configuration necessary. The system generates an online kiosk listing for you automatically (go to your kiosk listing online and click the "Go To Public List" button at the bottom to see your automatic kiosk directory) so this menu item allows kiosk owners to customize their listing. They can configure a location description, add a texture to show for their listing, and a few other options such as taking them out of the tour HUD and allowing multiple kiosks on one parcel. If you have installed the Visitor Counter script from the Visitor Counter addin. they will also be able to configure their visitor counter.

Refresh: forces the kiosk to get updated data from the server. This will also happen automatically, if needed, when the kiosk receives a normal click, and every two hours when the kiosks check in with the server.

Click: Lets the owner do a "non-owner" (normal) click to see how the kiosk works for a non-owner.

Payments: This is only used if your system is set up in SUBSCRIPTION payment mode. This is how your customers will find out how much their weekly subscription payment amount is based on the number of kiosks they own.

Reboot: reboots all the scripts, in case something has gone haywire.

Version: Reports on the version of the scripts installed in the kiosk, as well as the "kioskVer" setting in the kiosk settings notecard (which you use to give your own version number to your kiosks).

Help: If you configured a "Kiosk Instructions" notecard in your server settings, this button will deliver that notecard to them.

Click Counts

The kiosks each keep a count of clicks in the description field of the kiosk object. This number can be zeroed out at any time the kiosk owner wishes to reset the counter. This will not affect the global click count displayed in floating text above the KioskNet server.

This data is available on the website as well in your kiosk list so you can see how many clicks each kiosk has gotten since being rezzed.

The Server also keeps a running count of ALL kiosk clicks in the description field of the Server.

Kiosk Lag

99.9% of the time the kiosks are doing absolutely nothing - just waiting for a click. Every 2 hours they "phone home" and update the database. That's it. The scripts are NOT spinning around in useless circles eating up script resources, so don't worry.

If you own a sim, you can also see exactly how much script resource usage a kiosk is using by using the estate manager debug menu. Any other gadget or method to measure script resource "lag" by a specific object will not give you accurate results.

Another cause of lag is texture flipping with huge textures. As you know it really lags a sim to load huge textures, and it's certainly possible you could load up a server with a ton of 1024x1024 textures then set the texture flip time to a small number so that the kiosk is contstantly rotating to unloaded textures that need to be loaded. Lag can also be caused by the textures/mesh/sculptie maps used on the kiosk itself. If you have a kiosk with 20 prims that all use 1024x1024 textures on it, the sim is definitely going to lag as soon as anyone gets near that kiosk. In a few minutes (literally, it may take that long) after all the textures are loaded, the load on the sim should decrease. You can watch textures load by hitting control+shift+3 if you ever suspect you are causing texture lag on the sim.

So to sum up, make sure that all textures on your kiosk are as SMALL as possible without sacrificing quality, don't use 1024x1024 textures in your server unless absolutely necessary—again as small as possible without looking all blurry. Use plain prims instead of sculpties if possible, that's one less texture to load, and your kiosk will look pretty weird while the sculpt map is loading.

Your Server

This section contains detailed details about your KioskNet server. All the configuration options are documented on the server settings webpage.

Your KioskNet servers are "keyless" servers—you can pick up your servers and kiosks and move them or re-rez them anywhere, any time. Everything will just reconnect after a moment and just work. You simply can't destroy the system. In case you lose your main server completely, you just rez another server, configure it, and with one click from the menu it will instantly take over as the main server for your network. You CAN'T screw it up beyond repair :)

Disaster Recovery

There is no possibility of disasters with the KioskNet system. If your KioskNet Server is ever returned to your inventory, just re-rez it, and click "Save". Disaster averted! If you completely lose your server, just configure a new one with the same myID value as your original, click the Save button, and you're back in business.

Make sure you pick up a copy of your server now and then to make disaster recovery extremely simple.

Server Automatic Fail-Over Redundancy

In order to avoid any down-time with your system in case the sim hosting your server goes offline for extended lengths of time, the system supports an automatic "fail-over" redundancy system using multiple servers that can take over automatically if any one server goes down or offline. How this works is very simple to set up, all you need to do is take a copy of your server and rez it somewhere else. That's it! If you have more than one server with the same myID and myServerID values, what happens is that they will each "take turns" as the currently active server in a round-robin fashion. The time that each server is actually the active server is random, some servers may be the active server longer than others. What each server does each hour is check in with the website and assume control of the network, setting itself up as the active server. From that point on, all kiosk communication goes to that active server. So if a sim goes offline containing one of your servers, no problem—the other servers will continue checking in and assuming control of the network.

What I would recommend you do is get your primary server all set up and when you are happy with the configuration and changes, just take a copy of it into inventory, go to a different region, delete the old secondary server there, and rez a fresh copy of your primary server. You can rez more than one copy of the server in other regions, for even more redundancy.

Since each server checks in once an hour, if the currently active server is in a sim that goes offline, your system may be down for an hour at the most, but some time within the next 1-60 minutes, one of your other servers will assume control as the active server and your network will be back up and running. If you notice that one of the sims containing one of your servers is down and your network is not working, you or any admin can go to one of the other servers and click Save from the menu and it will take over as the active server and your network will immediately be back in operation.

If you have a mission-critical kiosk network that cannot afford to go down for very long, there is a hidden setting you can use in your server's "!Settings" notecard (server version 9.55 or later). Just add the setting "serverCycle = " followed by the number of minutes to "check in" with the web server. The mimimum number of minutes is 5, anything less will be set to 5. This will shorten the amount of down time switching from one server to a secondary. Note that this will cause a message to be whispered from the server every time there is a server switch, so you may not want to put your server in a busy area.

Please note that your Watchdog timer will not alert you if one of your servers is down—as long as at least one of your network servers is up and running, your watchdog server will report "OK" for your kiosk network status.

It is absolutely critical that each server is an exact copy of your main server. If they are configured differently, this will result in your kiosks updating excessively over and over every 2 hours, which is an enormous amount of traffic going to and from your server over the long run, so make sure the servers are identical. It's easier to just make a copy of your server and replace the old ones with new copies than to try to keep each one configured the same, unless the changes are very simple. Just make you don't get bit by autoreturn when you are rezzing copies of your server!

There is one important caveat to remember, and that is that the server click counts shown in floating text above each server are NOT reset when you rez a copy of a server. If you want to maintain accurate total click counts, you need to remember that each server will be keeping click counts separate from the other servers (it is not some kind of shared number). I recommend you zero them out (set the server description field to 0) when you rez a backup copy, then if you ever delete a backup server, save it's click count so you have a record of all the clicks that individual server handled since it was last reset to 0.

Another thing to be aware of is that the only server in your set of redundant servers that shows on your My Servers page is the currently active (registered) server. The other servers do not show on your My Servers page. If you want to make sure that each server is working correctly, you can simply manually register each by clicking Reg Server from the server menu. If it registers with no errors, it's working.

Moving a Server

You may simply pick up your server at any time and rez it somewhere else. Just rez, wait for it to reload all the settings, and when the server says "SERVER READY" click the Save button and you're back in business.

Adding Server Admins

You can have multiple people help manage your server and network of kiosks online. They will have full power to manage your kiosk system, just like you.

IMPORTANT NOTE! If you add an admin that also owns the KioskNet system, adding them as an admin allows them to rez and configure their own servers under the same myID as yours (they must use a different myServerID), but they cannot "take over" an existing server you own and replace it with theirs.

Here is how you add an admin:

  1. Click Configure from your server menu. Add your LEGACY admin avatar names to the "Other Managers" setting. List more than one person by separating their avatar names with commas. Note! all names must include 'Resident' if necessary!
  2. If the avatar you are adding is an alt of yours, have the alt click Save from the server menu and you are done.
  3. If the admin you are adding is NOT an alt, send them this link for instructions for them, which takes them to the next section below:

New Server Admin Instructions

Follow these steps to add yourself as an admin for someone else's KioskNet server:

  1. Click the server and click "My Servers" from the menu and go to that page.
  2. If you already have your own login account at, login, then just click Save from the server menu and you are DONE.
  3. IMPORTANT! Do NOT log in with someone else's account or it will disconnect them from the entire system!
  4. Click the Create New User link.
  5. Once you are logged in, follow the instructions in red on the page: go back to the server and click "Connect Me" from the server menu.
  6. Now, your login account is permanently connected to your avatar (and ONLY your avatar).
  7. Go to the server and click "Save" from the menu. The server should whisper "New Admin added".
  8. Now click the Server icon in the menu to refresh the list of servers. Done.

If there are additional servers that your admin needs to administer, since they already have a account, all you need to do is the following to add them as admins them on additional servers:

  1. Configure the server and add them to the other managers setting so they can get the server menu.
  2. Have them click Save from the server menu. Done.

To remove an admin:

  1. Configure your server and remove them from the "other managers" setting.
  2. Go to your kiosk list for the network they are an admin for and remove them from the list of admins there by clicking the red X next to their name.

Tip: you can have members of an SL group manage your in-world server (changing contents, edit notecards and settings, etc.) by doing the following:

  1. Edit your server and set the server's group setting to the group you want to give rights to edit your server.
  2. Make sure "Share with group" is checked on the server.
  3. Set the properties on all the items in the server and set "share with group", including any server settings notecards or anything else you want them to be able to update. Now, if your admin is wearing that same group tag, then can edit the server, update items in the server, and edit any server notecards that are shared with that group.
  4. Be careful that you don't cause the server to autoreturn by setting the group on the server to something other than your land group. I recommend sharing the server with your land group if possible so that the server won't autoreturn, otherwise you'll need to turn autoreturn off if the server is shared with a different group.

Server Groups

A Server Group is a logical cluster of servers that all use one database on the website. Each server in the group shares the same subscriber group, the same click statistics, and everything else connected with that particular myID value.

Server groups are very handy in a few situations, for example, you can run two incompatible network (server + kiosks) versions side by side using the same set of data. So for example you can migrate an older network to a new one by adding a newer server to the Server Group. The two servers, and the kiosks connected to them, could even be incompatible, but the systems can run side-by-side using the same set of data stored on the server.

It can also be very useful for expanding past the 1000 kiosk limit (or in some cases, the limit may be lower if you show a lot of textures on the kiosks). If your server shows a consistent red light on the front, that means the server is maxed out on the number of HTTP requests it can make and is overloaded. The way to fix this is to simply rez another server, add it to the Server Group (by giving it the same myID value) and stop giving out kiosks connected to the old server. That will help spread the load across mutiple servers, and using this technique you can grow limitlessly.

Another reason to use it is this allows you to distribute different kinds of kiosks with completely different configurations. Just set up two servers (each of which has a different type of kiosk that connects to it) add them to the same server group.

To set up a server group, just set up a new server, and edit the server settings card. You need to add a new setting, "myServerID". Set it equal to a unique name that you make up for that specific server. Place it just under your myID setting. For example:

myID = Queen Magazine
myServerID = Queen Server 1

Your old server doesn't need a myServerID and in fact should NOT be given one or you will lose all your settings! If you did that, just remove the myServerID from your original server and your settings will be back.

By default every server has a myServerID setting... it is set to be the same as your myID by default. So only your new server + kiosks needs a myServerID setting.

Now in your new kiosk settings, add the same exact myServerID setting in the kiosk settings card just under the myID setting. Any kiosk with myServerID = Queen Server 1 will connect to that specific server, for the example above.

HTTP Throttling

The KioskNet system can handle any amount of incoming communication from the kiosks, but there is an SL limitation on the frequency of outgoing communication that the server can send to the kiosks. The system is designed to NOT lose any data in this case. What the server will do is throttle responses to the kiosks so as not to send too much data in a short period of time (which will fail due to the SL limitation). When this happens, the green light on the front of your server case will start to turn red. The redder the light on the left is, the more throttling is being applied, which means you have a lot of communication being sent from your server for some reason. Also, a number will show up above the server showing the amount of throttling going on. As time goes on, if communication traffic decreases, the system will slowly lower the throttle amount to speed things up. If you had a temporary spike, the throttle will eventually go back to zero (no response delay), which is the ideal situation.

There are a few things that can cause throttling. The primary cause is too many kiosks attached to that server. If you are consistently being throttled, you may need to split your network into two servers. See the Server Groups section above on how to set up a new server and put it into the same Server Group so you can split your network load across two servers.

The other cause is too many textures. In order to be able to flip textures very quickly on the server, the server has to send a complete list of all the texture keys to each kiosk. Due to size limitations in the amount of data that the server can send to each kiosk in one shot, it may need to split up the data into 2, 3, or even 4 chunks and send them as separate messages to the kiosk due to the number of texture keys and other data it needs to send. This can impact the maximum number of kiosks you can have attached to your server. The only way to know when you're at the limit is if your server throttling is consistently above zero. In that case your server is just overloaded and your network needs to be split.

The good news is that periods of high data traffic are usually temporary, and caused by you making a change in your server. Over the course of the next few hours after you update your server, as all the kiosks check in, there will be a lot of communication as the server sends out data to all the kiosks with the changes. However once a few hours have passed and all the kiosks have received the changes, the amount of traffic will slow dramatically and the server should be able to handle a lot of kiosks with no problems.

Other Server Notes

Q: What happens if I delete a server from my My Servers web page?

A: Your system will stop working. This is easy to fix, though, simply click your server for the menu and click Save. You will be back to normal. No data will be lost.

Kiosk Script Compatibility and Integration Guide

In general, it can be risky to add additional scripts from another product to your KioskNet system kiosks or server. If you want to add some additional functionality, and you have the source code to the scripts, please send me a copy and I'd be glad to see if there are any compatibility problems.

There are quite a few things that may cause very bad problems with the KioskNet scripts. For this reason there is a very good chance that the scripts you want to add (which includes scripts in linked prims!) will cause serious problems with the KioskNet scripts.

Here are all the things any additional scripts must never do:

  • The scripts cannot send any link messages in the 100-200 range to any prim.
  • You must not add any textures to the kiosk contents.
  • The scripts must NOT set the script access PIN.
  • They must not set any textures, alpha, or color on the display prim.
  • They must not make any HTTP calls.
  • They must not set floating text—it will be turned off.
  • If they do a listen or a menu, there is a very small chance there will be a listen channel collision. This can usually be fixed by rebooting the kiosk.
  • They must be able to survive a script reset with no ill effects. The reboot menu item will reset ALL scripts in the main kiosk prim.
  • The must NOT require group ownership (deeding to group)—this is not allowed by the KioskNet scripts.
  • They must not receive email.
  • They must NOT call llAllowInventoryDrop().
  • They must not set or get the object description (llSetObjectDesc()).
  • If you are using the Payments module (for kiosk donations or subscription payments) they cannot accept money, request debit permissions, or call llSetPayPrice().

If you absolutely must integrate some no-mod scripts in the kiosk, you can send the list above to the scripts to the script writer and have them check their scripts for compatibility.

If you want to integrate another product's scripts into your kiosk, it may be possible if those scripts are in a linked prim. In that case there is a much smaller set of no-no's for scripts in linked prims:

  • The scripts cannot send any link messages in the 100-200 range to any prim.
  • If they do a listen or a menu, there is a very small chance there will be a listen channel collision. This can usually be fixed by rebooting the kiosk.
  • The must NOT require group ownership (deeding to group)—this is not allowed by the KioskNet scripts.
  • They must not create or break links with other prims (lllBreakLink() and llCreateLink()).
  • If you are using the Payments module (for kiosk donations or subscription payments) they cannot accept money, request debit permissions, or call llSetPayPrice().

Transferring A Kiosk Network to Someone Else

It is easy to "give" an entire kiosk network to someone else.

  1. The new owner must buy a KioskNet system so that they can have ownership of the new server and all the additional tools to run the network. If the system to transfer is an older version than the current retail release version you buy, contact me for help, there are complications with changes in settings, and compatibility issues, between various versions that I can help you with.
  2. The new owner needs to set up a server exactly like the current owner's server:
    • Current owner: copy everything (including settings cards!) in the server except for the scripts to inventory. Give everything to the new owner.
    • New owner: rez a new server and delete everything, including settings cards, in it except for the scripts. Then paste everything the current owner gave you into the new server. When you do this, after all the settings are read, you will get errors about the myID being owned by someone else. Ignore that for now.
  3. Current owner: Configure your server and add the new owner as an admin and save.
  4. New owner: click Save on the OLD server. This adds them as an admin for that myID. If successful you will see the message "New Administrator successfully added."
  5. Current owner:
    • Click "My Servers" from the server menu.
    • Click on your myID for the server to see your admins and kiosks.
    • Remove yourself as an admin by deleting yourself in the Admin box.
    • Pick up your server.
  6. New owner:
    • Click Reboot on your new server's menu. Wait for all settings to load.
    • If successful, the server will whisper: "Your new server has successfully registered. Your old server record has been replaced with this one."
    • Click "My Servers". Your new server should be there.
  7. Make sure that there are no backup servers rezzed anywhere - once the old owner is no longer an admin, those servers will not be able to register as the active server, so there is no danger of them "taking" the network back. However if the new owner sets up the old owner as an admin, note that the old owner's servers could take the network back, so any backup servers sitting around should be removed asap.
  8. If there are other servers in the same Server Group (same myID but different myServerID values) those must be transferred in the exact same way since those are separate networks attached to a separate server.

KioskNet Subscriber Edition


If you have the Subscriber Edition package, the server inside there is pre-configured with the Subscriber addon and ready to go. If you have any other edition, you need to configure your server with the Addon. Also, if you do not see "SUBSCRIBERS" as an option on your IM Machine Machine Mode setting, you probably don't have your server configured with the addon yet. Simply open up your Subscriber Addon box and read the README notecard inside there for instructions on adding the Addon to your server. The Addon works with ANY KioskNet server.

Importing Subscribers

The first thing you may need to do is import existing subscribers. The import process uses a plain text file. The avatars in that file can be in a few different formats:

  1. UUIDs
  2. legacy names ("Resident" not required)
  3. legacy names and UUIDs in the format: name,UUID

The best format to use is plain UUIDs. Since avatar names can be changed they simply can't be relied upon but an avatar's UUID never changes.

One easy way to try to get the right format is to import your existing list into Excel/Google sheets and fiddle with the import settings to get the UUIDs or legacy names into a single column. You can then delete the other columns and save as a simple text file.

If you are a Subscribe-O-Matic customer, try the Subscribe-O-Matic EXPORT link on your Subscribers page. Please note that from time to time this importer may break. If it does not work, please contact me so I can fix it.

If you are having no luck getting your names in the right format, zip them up and email them to me at and please note what your myID is that you want them imported into, I'd be glad to take care of it for you.

To import the names in, go to your My Servers page and click the Subscribers button on the top. From there, click Import to import your text file of avatar names. During the import process, the system attempts to look up each avatar (that it doesn't already know about) in Second Life search. If the avatar can't be found in search, they are rejected and listed on the Subscriber page as a bad avatar. This usually means that the avatar is deleted, banned, or has not logged in for at least 6 months. This is a great way to clean your subscriber list automatically, reducing send times significantly.

Sending Stuff

To send messages to your subscribers, you use the IM Machine. Your IM machine acts as a permanent storage box for each message with its associated notecards/object. So each message you send out needs one IM Machine rezzed and left alone until you no longer want that message to be in the message archives to be re-sent. This makes it very easy to organize your messages and items. Instead of piling them all into one box, making a big confusing mess, each message and the stuff you gave out with is in a separate prim.

To send a message to your subscriber group, see the IM Machine link above.

You can have other people use their own copies of your IM Machine to send IMs. See Letting Other Avatars Send Messages in the IM Machine documentation (which you can get to by clicking Help on an IM Machine).

Subscriber HUD

Included in your package is a special HUD that you can distribute to encourage people to join your group. To configure it, simply set your myID in the subscriber HUD's settings card, then drop in a notecard describing your group and listing the benefits of subscribing. HUD owners can then get info on your group (via that notecard), subscribe, unsubscribe, and get old messages very easily.

I highly recommend periodically sending out your subscriber HUD to your subscribers to give them an easy way to get old messages, invite their friends to join, and unsubscribe without pestering or complaining to you.

Automatic Subscriber Invites

Version 9.53 and above allow you to configure an automatic subscriber invite to be given automatically from a kiosk without requiring that visitors click the kiosk at all. To do this:

  1. If you don't already own the Visitor Counter addon, you'll need to buy that.
  2. Click your server and click Configure.
  3. In your server settings, configure the invite text they will see in the Subscriber Invite Dialog box. Save.
  4. Follow the directions in your Visitor Counter addon to add the visitor counter script to your kiosk.
  5. Go to your subscriber kiosk and get the owner menu. Note that for the simple kiosks, the front face may be configued to only subscribe/unsubscribe and not show the owner menu. In that case, click the back of the kiosk.
  6. Click configure. From the config page, set the range of the visitor counter higher than 0 to turn it on.
  7. In the visitor counter settings, check "auto-invite" and save.

Note that you may need to unsubscribe yourself to see the invite. You will also need to reboot the kiosk since the kiosk tries to remember who it invited to avoid spamming people with multiple invites.

KioskNet Subscriber Group Directory

All version 9.5 (beta 3 or later) systems are integrated with the new subscriber group directory. On every subscriber dialog from any KioskNet kiosk or subscriber HUD is a link to the subscriber group directory page. The purpose is to help promote your subscriber group and make it very easy for people to find your group and subscribe to it.

Private groups will not show up in the list, and if you do not configure your group's friendly name and description (either via your Subscriber page or via an IM Machine config screen) then it will not show up in the directory.

Note that customers must use either a subscriber HUD or a kiosk with a subscribe button to generate the correct link to that page. The customer's avatar UUID is encoded in the URL to avoid griefing. If you go to the subscriber directory page manually you will see the list but will not be able to subscribe or unsubscribe from any groups.

In addition the KioskNet kit includes a special server called the KioskNet Kiosk Dispenser. If you rez this and put your kiosk into it, a button will show up in the subscriber directory allowing anyone to get your kiosk with a single click. This is a great way to get more of your kiosks distributed across the grid. Simply keep your kiosk udpated in your dispenser and just sit back and watch your kiosk counts grow!

Subscriber Group Gifts

You can set up a network of kiosks that only give out items to existing subscribers. Do to this, go to your server settings and select "Subscriber-Only Kiosk". This configures ALL kiosks connected to that server to be subscriber-only. People clicking will get a message that they need to subscribe to get the gift.

If you have multiple gifts to give out separately, I also supply a special gadget (board) in the Subscriber Edition/Addon that will only give out the contents of the gadget to people clicking if they are an existing subscriber. So more like a vendor that only works for subscribers. That way you can have an array of items that can be given out as subscriber gifts. The gifts need to be manually managed as each one goes directly into the gadget, not the server. In this way you don't need to check the "Subscriber-Only Kiosk" option in server settings which affects ALL kiosks attached to that server. The gadget works with any server/kiosk configuration.

Hunt Edition

The Hunt Edition is simply the Basic Edition with the Hunt Item Giver addon included. For more info on the Hunt Item Giver, click here.

Fundraiser Edition

By setting your fundraising setting to DONATION in your server settings, you can enable your kiosks to accept payments. This is idea for collection donations for a fund drive or charitable organization. All of the settings are explained in the popup tool tips on the configuration web page, please see that for details. Using those settings, you can set the $L amounts you want to show up on the standard pay dialog, who will receive the donations (one or more people using any split percentages you want), the message that people will receive when they pay money, the floating text (which can show total donations and is updated every 2 hours) and an optional item to give to avatars when they pay the kiosk.

This mode can be turned on and off from the server as well as any of the above settings, and all of your kiosks will update within 2 hours with your new settings.

Full reports of each payment are available on the KioskNet website, and if you have any requirements to match up all the payments from that report with the standard LL transaction history, please contact me for help, I have some Excel/Google spreadsheet macros that can make that audit almost totally automatic.

I have taken great pains to avoid any hacking or fraud with the kiosks, however there are certain limitations with LSL scripting and the way that money payments work that can't guarantee that everything will work perfectly with any payment system. But these kiosks are as safe and reliable as you can get and will stop accepting payments immediately if anything wrong is detected to avoid fraud or loss of payments.

Note that if you have kiosk floating text set in your server settings, you may need to click "Refresh" from the kiosk menu to see correct amounts in the floating text. A reboot will cause the floating text to disappear until you click "Refresh" or make a payment.


To enable teams, first you need to define some some teams. Go to your kiosk list and on the reports menu is a Payments menu item. Go there. That page is where you will see reports of all payments made to your kiosks. On the Payments page is a "Teams" menu item. Click that to define some teams.

Now you need to configure a specific kiosk to be a member of that team. Simply add a "teamname" setting to that kiosk's !Kiosk Settings notecard. For example:

teamname = Sasun's Raiders

Will create a new donation team named Sasun's Raiders. All donations made by anyone to a kiosk with that setting will be tagged with that team name in your payments listing online. From the Payments page you can see all the donations and team names in the Team column there. You can click on the Team Totals menu to see totals by team, and also you can click Teams to add and delete teams.

Vendor Mode

A simple, single-item vendor mode is included with the Fundraiser edition. You can have your kiosk owners drop an item into the kiosk to sell. This is a great way to run a charitable donation drive where your kiosk owners can put an item in to sell and have all of the proceeds to go the avatars you have configured in your payeeInfo setting in the server (split percentages).

To enable vendor mode, set the payment mode to VENDOR on your server settings page. When you do that, the kiosk owner must set the price they want to sell their item at by clicking the kiosk to get the owner menu and clicking the "Set Price" button.

You can also attach another prim to the kiosk that can act as a "click here to pay" type button, which works in all payment modes. In the kit is a sample kiosk set up in Vendor mode. If you look in the attached prim on the left, there is a very simple script named ~Vendor in there that simply changes the default click behavior to "pay". Drop that in your optional "pay" button/prim on your own kiosk and all buyers need to do is click that button to see the pay dialog, very simple and effective. If you do not have a separate pay prim, anyone can always pay the kiosk by clicking "Pay" from the pie menu, so a separate pay prim is never required. A separate pay button is very convenient since your kiosk owners can texture it with an ad for the item for sale so buyers can see exactly what they are getting.

This spare prim could also be removed, but then the default click action on the kiosk is "Touch", not "Pay". You could have your kiosk owners set the click action to "Pay" and then access the normal owner menu via right clicking the kiosk. Or, just copy the ~Vendor script right into the main prim to force the click action to be "Pay".

Note that in VENDOR mode, the system does not report any money donated that is paid to the kiosk owner. So for example if you set your payment split to "OWNER, 50%, <your key>, 50%" So that the kiosk owner keeps 50% of any payment, and someone pays L$100, then in your payment reports online, you will see a payment of L$50, not L$100, since the kiosk owner retained half of the money paid in. That way you can see the actual amount you've earned, and not money paid to the kiosk owner that you never see.

Subscription Mode Settings

The subscription mode allows you to charge a weekly fee for "value added" services you provide to a set of customers. Membership in your service is determined by kiosk ownership—each kiosk owner can be charged an ongoing fee for your services. The kiosks make it very easy to know who is current with their subscription payments and who is not, so you can take appropriate action. For example, let's say that you maintain a list of fashion stores that you publish on your website. As a value added service, the stores in your network can post advertisements to your group and enjoy group events and fashion shows that you organize. Each customer must have one of your kiosks advertising the network on display and must be current on their subscription fees to enjoy the membership benefits. Your kiosk list will show you exactly who is up to date on their subscription payments and who is behind to help you manage the services you provide.

Do not confuse this with the Subscriber Group feature, this is very different! There are no way to collect fees for someone simply subscribing to your kiosk subscriber group.

To set up to collect subscription fees, set the Payment Mode setting on your server config web page to SUBSCRIPTION. For the amounts setting, you need to decide on three important numbers for your fees:

Base amount: This is a "flat fee" for all subscribers. Use this if you want to charge every kiosk owner the same weekly rate, no matter how many kiosks (locations) they have.

Per additional Kiosk: This how much you want to charge for someone that owns more than one kiosk. For each kiosk (location) you can charge an additional fee.

Cap: This is the maximum amount anyone will pay.

You can combine these values in any way you like in your amounts setting to structure your subscription payments however you like.

One important concept to realize is that the system assigns subscriptions to PEOPLE, not kiosks. It doesn't matter where the kiosks are, or even if any kiosks are rezzed for that subscriber. Once someone pays a subscription fee, time is tracked for that PERSON. If they pay for one week, pick up their kiosk, and rez it 6 days later, they will show up on the kiosk list as having one day left in their subscription. If they delete their kiosk that day and rez it somewhere else, they show up the same exact way in the kiosk list—one day left.

What happens when someone rezzes a kiosk connected to a server configured in subscription mode? Since they have not made an initial payment, they will immediately get this message:

"Warning! Your subscription has expired! Please click Payments from the menu to extend your services asap, thank you. You must now activate your subscription system by clicking Payments from the kiosk menu".

What they must do is exactly what it says, click their kiosk to get a menu then click Payments. What happens at this point is that the kiosk immediately receives information from the server about the kiosk owner's subscription, expiration date, and weekly fees based on your server settings and then gives this information to the kiosk owner, so they can see how much it costs per week to start their subscription. To do that, they simply pay the kiosk. The amounts shown on the standard pay menu are based on your server settings. The best way to see how this works is to try it yourself with one of the sample networks. Once they make a payment, they will be told when their subscription expires, and the number of days left will be updated on your kiosk list online.

Q: What happens when a subscription expires?

A: Every two hours, they will get this message if they are online: "Warning! Your subscription has expired! Please click Payments from the menu to extend your services asap, thank you." Other than that, the kiosk will continue to operate normally, giving out items when clicked, etc. It is up to you to check your kiosk list and chase down delinquent subscribers or discontinue services.

Q: What if I change my mind and want to stop charging subscription fees?

A: You can simply set the server Payment Mode setting to blank to turn off all subscription services. If you turn it back on again, everything will be back to subscription mode as if you never turned it off. Any remaining time left on any subscriptions will still be there.

Virtual Button Edition

The Virtual Button edition gives you enormous power to define multiple clickable areas on your kiosks that can:

  • Give out one or more items
  • Invite people to your in-world group
  • Invite people to your SasTech subscriber group
  • Teleport avatars
  • Send them to a website
  • Trigger custom actions of any kind that you can script. Please contact me for help with this.

To configure your kiosk virtual buttons, click Configure on your server menu. You should see the texture in your server displayed on the config page. Click the Help button to get help on how to add buttons.

This mode is extremely powerful in that you can easily add or remove buttons any time and all your kiosks will magically update. For example, to add a new button, you'd just edit your texture and add the new button on there, upload the texture, and install it in your server, replacing the one in there. Then configure your server and add a new virtual button. Your kiosks will update the texture and button definitions automatically!

Because Virtual Buttons support both the "secondlife://" and "secondlife:///app" style URLs, you can have buttons do some really interesting and odd things, for example:

  • Open a profile: secondlife:///app/agent/c3cf4c84-c31b-47ac-855c-3858375e0360/about
  • Send an IM: secondlife:///app/agent/c3cf4c84-c31b-47ac-855c-3858375e0360/im
  • Pay an avatar: secondlife:///app/agent/c3cf4c84-c31b-47ac-855c-3858375e0360/pay
  • Send a friend request: secondlife:///app/agent/c3cf4c84-c31b-47ac-855c-3858375e0360/requestfriend
  • Send "hello" in chat on channel 10: secondlife:///app/chat/10/hello
  • Search the classifieds for the word "kiosknet": secondlife:///app/search/classifieds/kiosknet
  • Do an instant teleport: secondlife:///app/teleport/Wasp/232/152/21
  • Show a world map for a location: secondlife:///app/worldmap/Wasp/232/152/21
  • Offer to teleport a specific person to your current location: secondlife:///app/agent/9da409db-a7d7-4b97-a14a-68ea2a02894e/offerteleport
  • Show information about a group: secondlife:///app/group/202c41c5-bde1-5e69-fa07-3aa9b0fde39b/about
  • Show information about a parcel: secondlife:///app/parcel/64cb1245-98cd-f9fd-3772-251905a9f601/about

You can test those urls by just copying and pasting those app URLs those samples to your open chat IM box.

How to Make a Pay Button

If you have the Fundraiser addon, due to SL limitations you can't make a "Pay" virtual button that pops up a pay dialog on click. But you can make a physical pay button that pops up the pay dialog to make donations much easier.

If you rez the sample Vendor Kiosk that comes in your kit, if you edit prims on there you will notice that the big prim on the left is essentially a "Pay" button. So you could copy that prim, or just copy the little script that's in that prim, into your own "Pay" button linked to your kiosk, and it will pop up the SL Pay dialog on click. The script is editable so you can take a peek to see what it is doing. You can also do what it is doing manually - simply edit your pay button and select "Pay object" in the "Click to" dialog. That's all the script is doing.

Unfortunately it is not possible to generate a pay dialog via script, so there's no way to make a virtual "donate button". You must click Pay from the pay menu. However there is an easy way to make a physical button pop up the pay dialog. If you rez the VENDOR sample kiosk, it has 2 prims. The big prim on the left is basically a "pay" button. It has the default touch action to be "pay" instead of "click" so it's easier to pay. Inside that prim on the left is a little script - copy that into a special "donate" button that you need to link to your kiosk and it will work as a pay button. Be sure not to put that script into the root prim, only your pay button.

Another option is to create a virtual button put put a link into chat to pay a specific avatar. Try this as a button action: secondlife:///app/agent/c3cf4c84-c31b-47ac-855c-3858375e0360/pay

Note that the key c3cf4c84-c31b-47ac-855c-3858375e0360 in there is simply an avatar key, so substitute someone else's key in there. Note that this trick can ONLY pay one avatar directly and is not a shortcut to paying the KIOSK. Also there is a big limitation that it does not make a pay dialog pop up but instead buts a clickable link in chat that you must click to pay. So it's not a great solution.

Real Estate Edition

After following the Setup Instructions above, your kiosk virtual buttons need to be configured. To do that, please read the Virtual Buttons section of the documentation.

The texture shown on all your kiosks is stored in your server. If you edit your server and look in there now, you will see a single texture in there. To replace the texture on your kiosks, simply replace that texture in the server with your custom version. You should then reconfigure your server and make sure your virtual buttons are defined correctly for your new texture.

I have provided the current texture in the server in a few different formats so you can easily made changes to it, or you can create your own texture from scratch. I highly recommend the Photoshop or Paintshop versions since all the elements are on different layers and will be much easier to make small changes. To download that texture, click here:

Once you have modified the texture to your satisfaction, save it as a PNG file, upload it to SL and replace the texture in the server with your uploaded texture [Note: see Other Notes section below if your lettering prims disappear after you put your new texture on your kiosk). Click your kiosk and click "Refresh" to update the texture on the kiosk. Once it updates, note that the red text prims (such as parcel size, etc.) are probably at this point in the wrong place! This is ok, all you need to do is edit your kiosk, edit linked parts, and move the special lettering prims to the right spot. You should turn on Highlight Transparent from your View menu so you can easily see the lettering prims.

Those special lettering prims are there to display optional pieces of data on your kiosk, which include parcel size, parcel max prims (including bonus), sale price/fees, rental fees, sim maturity level, and prim bonus. To make one of the lettering prims (each of which can show 5 letters) show parcel data, the link names must be set as follows:

  • Parcel sale price: Price-1, Price-2
  • Rental rate: Rate-1, Rate-2
  • Sim Maturity level: Maturity-1, Maturity-2
  • Bonus Factor: Bonus-1
  • Parcel Size: Size-1
  • Max Prims: Prims-1

Note that each lettering prim can only show 5 characters max, which is why some of the fields above need two lettering prims to display the entire field. So for example the Rental Rate spans across both prims named Rate-1 and Rate-2, which are placed right next to each other. If you need to show more charcters, you can add more lettering prims to extend that field by linking in another lettering prim and naming it the same as the one to its left, but increment the last number in the prim name. For example, if you wanted to be able to display longer Rental Rate strings, you'll need to link in another lettering prim and name it Rate-3 and place it just to the right of Rate-2.

If you do not want to display one of the optional items above, you can simply unlink and delete the lettering prims associated with that. For example, on the sample kiosk I do not show the Bonus Factor, so there is no Bonus-1 prim linked to the sample kiosk to show that data, but you could easily add one.

Note that parcel sale prices are displayed without commas so you can show a max price of 99,999 on the kiosk. If you will be selling higher-priced parcels, be sure to link in aother lettering prim for the parcel price field. The sample kiosk already comes with two lettering prims for the price field for a total of 10 digits, which is plenty.

If you add another lettering prim and it is not working correctly, make sure it is actually linked to the kiosk.

Giving Items to visitors

There are two ways you can give items such as notecards or landmarks to visitors.

1) Distributing Items On Click

See the section on Changing Notecard, Texture, and Objects to change what your server gives out to people on click.

2) Distributing Items Via the Visitor Counter

You can also configure your visitor counter to send a welcome message and give out items automatically when someone visits the parcel and gets within range. To do that, please read the section on how to configure the Visitor Counter.

Displaying Your Property List

The KioskNet Real Estate system is designed to display your list of properties for sale either on for the general public to use, or you can embed some simple HTML on your own website to show the same list. To see your default public view of your parcels for sale, click the "Go To Public List" button (just below your kiosk admin list). That is a public URL that you can give out and advertise for people to see your real estate listings without needing to set up a web site of your own.

Listing Format 1

The format of your web listing is as follows: TITLE&subtitle=YOUR SUBTITLE

Replace "YOURID" above with your myID setting, and YOUR TITLE with whatever title text you want on your page, and the same for YOUR SUBTITLE. Optionally you can remove the &title and/or &subtitle options completely.

For example, here is my sample real estate listing page: Real Estate Sample&title=Joe's Real Estate
&subtitle=Please Contact Joe Bloe in-world if you have any questions.

This listing format can also be inserted as an iframe in your own website, using the following HTML:

<iframe scrolling="auto" width="95%" height="500" marginwidth="0" marginheight="0" frameborder="1"

You can control how many kiosks are returned with the count parameter, and the width with the width setting. You can also turn the frame border off with a frameborder value of 0 instead of 1.

Listing Format 2

This format is a simpler, list format. The format is as follows:
&font-size=medium&title=YOUR TITLE&subtitle=YOUR SUBTITLE

Replace the word YOURID above with your myID value for your system, and YOUR TITLE and YOUR SUBTITLE as in Format 1 above.

You can also replace the default font color "black" above with another color, and the background-color value of "LightGrey" with another background color. You can use color names or standard CSS color hex values from that color chart, however you must replace the '#' symbol with '%23', for example Blue (#0000FF) would be specified as color=%230000FF.

Set your font size with the font-size parameter. Any valid HTML font size setting will work.

For example, here is my sample real estate listing page:

re_public.aspx?source=real_estate&myID=Edition: Real Estate Sample&count=50&color=Black&background-color=PowderBlue&font-size=small
&title=Joe's Real Estate
&subtitle=Welcome to Joe's Parcel listings! Please Contact Joe Bloe in-world if you have any questions.

This listing format can also be inserted as an iframe in your own website, using the following HTML:

<iframe scrolling="auto" width="95%" height="500" marginwidth="0" marginheight="0" frameborder="1"

You can control how many kiosks are returned with the count parameter, and the width with the width setting. You can also turn the frame border off with a frameborder value of 0 instead of 1.

Land Sale Notifier

Included in your kit is a separate gadget designed to notify you right away if a parcel changes ownership, the Land Sale Notifier. Rez it on any parcel you want to be notified about, configure it via the notecard in there, CLICK to activate it, and bury it out of sight or high in the sky. It will delete itself after notifying you of a change in parcel ownership. Any parcel sold that has a Land Sale Notifier on it will be marked as "SOLD" in your private and public real estate listings. Without the Land Sale Notifier your parcels will continue to be shown as unsold unless you manually delete them from your kiosk list.


New with Beta 3 is the ability to script custom notifications for visits, button clicks, sales, or anything else you'd like. For example you could send commands to a greeter bot, or send IMs to a list of people, really anything you want to do, when someone visits the parcel. You can also do custom actions when someone clicks a specific virtual button, or when the parcel is sold. It is also possible to add your own scripts to your kiosks to send any kind of custom notification to your server that you want.

Setting up notifications will require some custom scripting so you'll need to know some scripting or get the help of a scripter. Simply edit the ~Notifications script in your server (it is full perm) and read the comments for details on how to set up your own custom notifications.

Other Notes

When you are looking at your kiosk admin list page, if you click the blue "i" button, you will go to a kiosk details view for that kiosk. Note the green button named "EZ Config" - this lets you remotely reconfigure any of your kiosks. You won't need to go visit a kiosk to update any kiosk settings, you can do it right from there for any kiosk.

There is a known problem with transparency information in .png files that causes your kiosk lettering prims to disappear after you retexture your kiosk with a newly uploaded texture. There are two ways to fix this. If your graphic editor has an option to save a .png with no transparency, do that and re-upload. Option two is to save it as a .jpg (90% quality setting recommended if available) and upload that instead, however use PNG whenever possible to avoid loss of quality.

If you are using the watchdog kiosk checker, it will inform you after a kiosk has gone dead or missing after 24 hours. That's another way you can automatically be notified of parcel sales as well as problem kiosks that need your attention (i.e. the sim is down for more than 24 hours) as an alternative to the immediate notification of the Land Sale Notifier.

Be sure to configure a texture to display for each kiosk via the kiosk config page - ideally a nice photo of the property. You can also just drop the snapshot into the kiosk contents instead of configuring the UUID on the kiosk config page. That texture will show up on your website listing. Please note that the texture is coming directly from a LL server and I have seen cases where textures do not show up correctly. This is something I can't control, but thankfully it is rare. The easiest fix is to simply take another photo and use that key instead. NOTE that textures dropped into the kiosk contents override the UUID setting in the kiosk config, so if you dropped a texture into the kiosk, you'll need to go replace it to change the texture for that kiosk.

Putting Kiosk Data on Your Website

You can put various lists and charts on your own website by following the instructions below. If you'd like to show some data on your own website that can't be done with one of the following, please let me know!

Kiosk Listings

You can easily show a list of all your kiosks on your website, like this example. Using the following HTML code you can include a simple automatically updated list of your locations on your own web page. A location will disappear if a kiosk is gone more than 5 hours so you never need to worry about keeping it accurate.

<iframe scrolling="auto" width="1000" height="500" marginwidth="0"
marginheight="0" frameborder="1"

Replace the word YOURID above with your myID value for your system.

You can also replace the default font color "black" above with another color, and the background-color value of "LightGrey" with another background color. You can use color names or standard CSS color hex values from that color chart, however you must replace the '#' symbol with '%23', for example Blue would be specified as color=%230000FF.

You can control how many kiosks are returned with the count parameter, and the width with the width setting. You can also turn the frame border off with a frameborder value of 0 instead of 1.

Set your font size with the font-size parameter. Any valid HTML font size setting will work.

New! You can also take advantage of a new web listing format. This format is much more graphical in nature, and requires all your kiosk owners to drop a FULL PERM texture into their kiosks. That texture will be displayed on the web listing.

See the Fashioncentric list for an example of what your kiosk list could look like.

To use this fromat, use the following html on your web page:

<iframe scrolling="auto" width="100%" height="800" marginwidth="0"
marginheight="0" frameborder="0"
src=" TITLE&subtitle=YOUR SUBTITLE">

Replace "YOURID" above with your myID setting, and YOUR TITLE with whatever title text you want on your page, and the same for YOUR SUBTITLE. Optionally you can remove the &title and/or &subtitle options completely.

Alternatively, you can skip the iframe and simply link to that page directly: TITLE&subtitle=YOUR SUBTITLE

Showing a Tiny Kiosk List

You can show a very simple list of your kiosk locations on your own website or blog by using the following HTML. This is ideal for a very small list of kiosk locations in a sidebar on your website. For example, if you have a Blogspot blog, just create a gadget in layout mode with the following code:

<iframe scrolling="auto" width="220" marginwidth="0" marginheight="0" frameborder="1" src="//"></iframe>

Do not copy the HTML source on this page for that line above! Your HTML source that you paste must have the '&' symbols in it just like it looks above. If they are all replaced with "%amp;", then it's wrong!

Replace the word YOURID above with your myID value for your system.

You can also replace the default font color "black" above with another color, and the background-color value of "white" with another background color. You can use color names or standard CSS color hex values from that color chart, however you must replace the '#' symbol with '%23', for example Blue would be specified as color=%230000FF.

You can control how many kiosks are returned with the count parameter, and the width with the width setting. You can also turn the frame border off with a frameborder value of 0 instead of 1.

This will allow you to have a small, clickable list of kiosks on your website or your Blogspot blog. This is a great way to help support the locations hosting your kiosks by sending customers to them.

Example: How To Show Your Kiosks on a Blog

You don't need a dedicated website to show your kiosk list. You can use a blog.  Here is an example on how to use the two techniques above to set up a permanent link to your kiosk lists on your blog. Other blogging systems may not allow you to use your own HTML in a gadget, so your mileage may vary with other blogging systems.

  1. Make a new post. Click the "Edit HTML" tag. Give it a title like "my Kiosk List".
  2. Grab the HTML in "Kiosk Listings" section above and paste that into your post.
  3. Replace YOURID in that HTML you just pasted with your actual myID setting.
  4. Click Publish Post.

Now we will make a mini-list in a new gadget.

  1. Click Design to get your blog layout screen.
  2. Click Add a Gadget in one of your layout's columns.
  3. Click '+' on the HTML/Javascript gadget to add it.
  4. Grab the HTML in "Showing a Tiny Kiosk List" above and paste it into your gadget.
  5. Replace YOURID in that HTML you just pasted with your actual myID setting.
  6. Click Save, then Save your template.

Now add one more gadget with a permanent link to your post of your kiosks.

  1. Click View Blog to see your kiosk list (there must be at least one existing kiosk rezzed and working properly for the list to show).
  2. Click on the title of the blog post that contains your kiosk list ("my Kiosk List" in the example above). This takes you to that post with no other posts below it showing. This is the "permalink" to that post. Copy the http address out of your address bar.
  3. Now go back to Design and add another gadget.
  4. Add the "Link List" gadget.
  5. Paste the URL you just copied into the "New Site URL" field.
  6. For the Site Name give it something like "Full Kiosk List".
  7. Click Save.
  8. Now in your Design view, arrage your gadgets so that the tiny list is just above your new Link List gadget.
  9. Save your template and view your blog.
  10. To give out a link to your permanent kiosk list, copy the link right under your tiny kiosk list and give that out. That is your permanent kiosk list page.

You can customize the colors and fonts in your kiosk listings to match your blog - see details in the sections above on how to color and font options. Just click the little tool icon next to your gadget to customize it.

Kiosk Payments

You can show a simple bar chart of all payments made to all your kiosks when you are using the Donation feature. This is great for encouraging competition with your kiosk owners helping with your charitable drive to see who can get the most donations, for example. To install a clickable chart of donation totals by kiosk, use this HTML:

<iframe scrolling="auto" width="800" height="600" marginwidth="0" marginheight="0" frameborder="1" src=""></iframe>

If you are using Teams, you can show a chart of payments by team by using this HTML:

<iframe scrolling="auto" width="800" height="600" marginwidth="0" marginheight="0" frameborder="1" src=""></iframe>

You can control the width of the colored bars on your page with the "graphwidth" parameter if you need to fit it into a smaller space. You can also replace the default font color "black" above with another color, and the background-color value of "white" with another background color. You can use color names or standard CSS color hex values from that color chart, however you must replace the '#' symbol with '%23', for example Blue would be specified as color=%230000FF. You can control the font-size by using one of the standard font-size settings.

Note that any kiosks that have been deleted or moved to another parcel will show up as "kiosk missing" in the bar chart. When a kiosk is deleted or picked up, the system loses the ability to uniquely identify that kiosk (which is done by kiosk key) so that contribution data tied to that specific kiosk becomes "stranded". If a kiosk owner picks up a kiosk and re-rezzes the same (or a new) kiosk on the same parcel, the system will automatically reconnect all the stranded data associated with the old kiosk that was on that parcel to the new one so the kiosk payment history will be connected to the newly rezzed kiosk. However if a kiosk owner moves the kiosk to another parcel, the system has no idea where the old kiosk was and from that moment on that old data shows up with "no kiosk" in the chart.


Known Issues

If you have any whitespace or special characters in your myID and that myID in your kiosk settings does not match your server, your kiosk may report a garbled error. Simply double check that your kiosk myID matches your server myID.

Q: I got an error 503 "cap invocation rate exceeded" error from my server

This can be safely ignored. It is caused by a new throttle that LL introduced and it means that your server is trying to send an update to a kiosk but there are too many HTTP requests in the region containing the KIOSK and it was blocked. This is not a problem since the kiosk will either refresh again a few hours later or if the person clicking the kiosk simply retries a few seconds after getting no response, it is extremely likely that it will work fine (as per LL). You will never see this error in server version 9.55 or later.

Q: Why is my kiosk asking for debit permissions?

Don't panic, in this case is perfectly safe. In general you SHOULD NOT allow debit permissions for a scripted object from untrusted sources. But if it is from a KioskNet kiosk that ONLY contains scripts written by me, it is perfectly safe.

The reason you are being asked for debit permissions is because when you or someone pays a kiosk that you own, the kiosk has to then send the money to the destination avatar, whoever is configured to receive the payment. It is a 2 step process - when you pay any SL object, the money immediately goes to the owner of the SL object and is deposited in their account. But if the money really needs to go to someone else, then the kiosk scripts will detect that payment and they trigger step 2, to pay from the kiosk owner's account to the destination avatar. In order to allow that, debit permissions must be allowed so that the exact amount paid can then be sent to the destination avatar.

Unfortunately this causes a rather scary dialog to come up because there have been many cases in the past where people accept a secretly evil scripted object and grant debit permissions, and then the evil object takes all their money. The only defense is to NOT take mystery objects from people you don't know or trust. But in this case the scripts are written by me, and I've been selling this system for many, many years, in wide use across the grid. Even Relay for Life and other big fundraisers use these kiosks, so you have nothing to worry about.

Does this mean a kiosk with my scripts in it is 100% safe? Well, someone could remove one of my scripts and add their own evil script, so if you want to be super safe, check the scripts inside the ROOT PRIM and make sure they are all created by Sasun Steinbeck. If so, you are perfectly safe. Please note that all payments are logged in my system and can be cross-checked against the LL transaction logs if something weird comes up. I'd be glad to investigate. Sometimes SL glitches and payments DO get lost, but that is very, very rare.

Q: How do I migrate from a pre-9.5 system to a 9.5x version?

A: Unfortunately this is not simple since compatibility was finally broken for version 9.5 in order to evolve the system with some more advanced features. Here is what to do:

  1. Set up a parallel 9.5x server using the same myID as your old system. In your server settings card, you need to add a setting called "myServerID" and set it to a new, unique name.
  2. You must manually replace the old scripts in your kiosk with the new 9.5x scripts. See the Building a Custom Kiosk topic above for details. Make sure you give your new 9.5x kiosks a new version number using the kioskVer setting in the kiosk settings notecard. Make sure you copy the myServerID setting into your kiosk settings just like your new server.
  3. At this point you should have two separate networks with the same myID but different myServerIDs. This will keep all the data combined, including subscribers, visitor data, and click data.
  4. Now you need to send out the new kiosks to your existing kiosk owners. To do this, set up an IM Machine in Owner mode and put your new kiosk inside it along with some information noting that they are required to delete their old kiosk and replace it with your new one. Be sure to set the Kiosk Version setting on the IM Config page so that the message is only sent out to owners of your old kiosk. For example if you set your new kiosk with kioskVer = 5, in your IM Machine settings, set Kiosk Version to "< 5".
  5. Start your IM machine. Your new kiosk will only be sent to owners that have your old kiosk. Once they replace their kiosk, they will no longer be sent the message. When the IM Machine is done, start it again some time later, maybe wait a day or two. Every time you restart it, it will only send the new kiosk out to owners that have not yet upgraded. Keep sending until everyone has upgraded. You can check your kiosk list to see who the owners of the old version of your kiosk are if you want to pester them directly :)
  6. Once everyone has replaced their old kiosk with your new one, you can finally delete your old server. You are now fully migrated. Please check for server updates by clicking the "Update?" button on your server menu from time to time.

Q: Why is there no hovertext option? I want hovertext over my kiosks!

A: Hovertext is usually a very poor option isntead of simply putting the text on your kiosk texture. Hovertext is just plain ugly, it doesn't look professional, it's impossible to position well, it bleeds through walls which completely annoys neighbors, it's impossible to adjust the height at all without using a separate prim... my earnest advice is... just don't do it! If you absolutely need it, you can drop in a simple hovertext script. But if you want your kiosks to look good, don't spoil a well-designed, classy, professional kiosk with hovertext.

Q: I want all my kiosks deleted. My hunt/event is over and I want them gone.

A: Please contact me directly and I'd be happy to do that for you.

Q: What does the "Wait For Online" (same as "ignoreparcel" setting in kiosk settings notecard) do?

A: The kiosk system normally only allows ONE kiosk, per owner, per parcel. The system also has no idea if a kiosk is deleted. So if another kiosk appears on the same parcel owned by the same owner, the system assumes it is the same kiosk re-rezzed elsewhere, and attempts to merge the two kiosks in the database into one record—thereby preserving all the kiosk data. This will help you from seeing a lot of of "duplicate" kiosks in your kiosk list online, which would happen every single time you (or someone else) picks up their kiosk and rezzes it again. When this happens, the kiosk owner gets this warning:

"This location has another kiosk registered in the database for the same parcel. If you just replaced your kiosk within the last two hours, everything is fine. If not, then you have multiple active kiosks on one parcel. You cannot have more than one kiosk per parcel owned by the same person. You MUST remove one, or contact the person you got this kiosk from for help."

Now the reason I send them to YOU for help is because there are cases where multiple kiosks owned by the same person on the same parcel may make sense. For example you may have someone that owns 3 kinds of stores on a sim that is just one huge single parcel. If they want your kiosk in front of all 3 stores, then you don't want them getting this warning every 2 hours per kiosk. So there is a setting in the kiosk's !Kiosk Settings notecard called ignoreparcel. What this does is basically turn off this multiple kiosk merge checking completely, which allows more than one kiosk per owner per parcel. If you know that you will have a lot of kiosk owners with multiple kiosks per parcel (say, for a fundraiser) you can set ignoreparcel = "TRUE" in the kiosk settings and it forces that setting on for everyone.

The reason that this setting is worth all this trouble is because it saves you time keeping your database of kiosks free of duplicate/deleted kiosks. However it is up to you to decide if you want to distribute ALL your kiosks all with ignoreparcel=TRUE already set, then there will never be any errors sent to people with more than one kiosk per person per parcel. There are downsides to doing this! If you do this, all click data, visitor data, and payment SLURL data is immediately lost when a kiosk with ignoreparcel=TRUE is picked up.

Q: What is the "time" column on my kiosk list?

A: That is the time since that kiosk last reported in. Under normal circumstances, it should not be more than 2 hours. Anything longer than that means something is wrong. There are quite a few reasons that a kiosk can stop communicating to the system:

  1. It was deleted.
  2. The owner didn't set the group on the kiosk to the land group and group scripts are off.
  3. The parcel owner turned off scripts completely.
  4. There was a random glitch, perhaps an HTTP call failed for random reasons. In this case the kiosk will get caught up at the next two hour cycle.
  5. The sim, or SL, is having problems.
  6. The kiosk owner deleted all the scripts out of the kiosk (it's happened) or set them all to "not running".

Here's how to troubleshoot a "dead" kiosk.

  1. The first thing to do is to click on the little blue "i" button for the kiosk on your kiosk list, which takes you to a kiosk detail screen. From there, click the URL entry. This is the URL of the kiosk itself. If it is working normally, you will be sent to a screen that says either "unknown command" (for older KioskNet versions) or "Kiosk is OK!" (for newer KioskNet versions). This means the kiosk is there and is communicating correctly.
  2. If this fails, the kiosk may have been deleted. Teleport out and see. Remember that fixed landing points and telehubs can make you land far away from the kiosk location - look for the red circle on the map and fly there.
  3. If you click the green Reboot button, the kiosk will reboot, usually immediately, but in some cases it can take a minute or two. This is a good thing to try if it's acting weird in any way. After a successful reboot, step one SHOULD work.
  4. If the kiosk is there but is not communicating, check the group tag on the kiosk, then compare that to the land group. Then check the parcel options and see what the script settings are. Are group scripts enabled? They must be enabled for the kiosk to work correctly, and the kiosk must be in the land group (if one is set).

Note that if you do not keep your kiosk list clean by deleting dead/missing kiosks from time to time, if you have a single kiosk that hasn't reported in for over a month, it will trigger a cleanup routine that will cause all of your kiosks that have not reported in within 5 hours to automatically be deleted from the database in order to keep clutter to a minimum. So if you want to follow up on any missing kiosks, do it before 30 days have gone by.

Q: Whenever my KioskNet server gives something to someone, if they decline it, they can see exactly where my server is! People keep dropping into my office, is there any way to hide that SLURL when someone gets something from the server?

A: Unfortuantely, no. That's an SL anti-griefing feature so that people can find bad objects that are spamming them and abuse report them. There is just no way to turn that off. What I'd suggest doing is moving your server to a private parcel, private sim, or stick it in a skybox with a security orb to keep out unwanted surprise visitors.

Q: Can I change my server's myID or myServerID setting? How can I "rename" my system?

A: You can't. The myID + myServerID settings are the unique identifier for your system, not the server object UUID. If you rename either one in your server settings, the system will see it as a NEW server and add it to the database. If you do that, you will see both the old myID/myServerID and the new ones on your My Servers page. Remember that all your network data, such as click statistics and subscribers, are attached to your myID value. If you change that, all that data says with the old myID. The other problem is that you can't change all the myID/myServerID settings in all the kiosks, so once you set those values in the kiosk settings notecards and send out kiosks with those settings, you are stuck with them. So don't rename your server. During testing of a new network, you certainly can, just be aware that the net effect is that you're creating a new network and all data will be essentially lost. And be sure to delete your old servers from your My Servers page :)

Q: What does this kiosk error mean? "Error in .Textures, prim not found"

This is due to corrupted data coming from the inworld server due to not having a texture in the server. Be sure to pay close attention to everything the server whispers to you when you are making changes. It will give you an error if you forget to put a texture into the server. One texture is required for the system to work correctly.

Linden Advertising Policy

LL has an advertising policy that you should be aware of. I've copied the specific rules I'm familiar with below with a discussion of some of the points as they related to the KioskNet System.

* We will allow no more than 50 advertising locations owned by a single individual, whether personally owned or via groups in which you are a member, unless you have written permission from Linden Lab to exceed this limit. Use of Alt accounts/groups to circumvent this restriction will be considered a violation.

In most cases, you will be distributing kiosks to other people, so unless you actually own all the kiosks yourself, this will not be a problem.

* In addition to the cap, we will allow no more than 1 advertising placement by an individual in any single region.

This might be an issue if your kiosk is considered an ad and you own a few of them in one region. See the official LL policy for definitions.

* We will not allow the land parcel containing the advertising placement to be set for sale.

This rule is very confusing, I am not clear if this means that real estate agents, for example, can't advertise their land parcels for sale or not.

* Adverts should be grounded to the terrain, not floating.

* Adverts should extend no higher than 8m from the ground.

* No rotating, no flashing content and no particles.

There is a potential issue with rotating textures, but the rule is unclear—I take this to mean "rotating" as applies to prims. So for example if you look at the kiosk sample with the scrolling text, I would not consider that "rotating" ads.

* No unsolicited dispensing of IMs, notecards, landmarks or content.

This may be a problem with the visitor greeter. The kiosk will only give out welcome gifts to people on the same parcel as the kiosk, so if you own or rent a store on your own parcel, this could be construed as a violation, but visitor greeters are extremely common and are usually for the purpose of giving visitors information about your location. Be careful you do not spam people with advertising with the visitor counter.

If your location is NOT on a single parcel, I highly recommend you set the range of the visitor counter to something appropriate so you are not spamming people far from your kiosk. If you are giving the kiosks out to other people, it will be up to them to turn on the visitor counter and configure it appropriately. They will be held accountable for any advertising they are spamming with your kiosk.

* No light sources or glow (full bright is acceptable however).

* Advertising boardings should be Phantom.

All KioskNet Sample kiosks are phantom by default. I highly recommend you make your custom kiosks phantom. This helps reduce lag.

* Adverts must be clearly PG in nature.

It is not clear to me whether non-PG ads are allowed on non-PG land. I don't see why not.

* No sound and no temp-on-rez content.

The sample kiosks do not make any sound or rez anything temp-on-rez. The kiosks in AUTO mode to rez prims (buttons) but those prims are linked to the kiosk and become a permanent part of the kiosk—they are not temp.

* Ban lines should be switched off.