Wifi
From OpenSimulator
Wifi - A Simple Account Management Front-end
"Wifi" stands for "Web Interface For... I" :-)
This is an add-on module that IS NOT IN THE CORE of OpenSim. It is provided by Diva Canto and can be added to OpenSim 0.7 onwards. Please do not ask the core OpenSim team for support.
Diva writes on 4-Aug-2010: it's fresh out of the oven, and still needs some love; don't use the latest source yet, because there's a tricky bug deep down in the C# web server code we're using that may cause pain :)
Contents |
Introduction
Initial information is available from http://www.metaverseink.com/blog/?p=37 and is taken here pretty much verbatim for now...
Wifi provides an embedded Web application for handling user registrations. Wifi is a set of components that can be loaded up by both standalone simulators and Robust servers. It's features include:
- Account creation, optionally controlled by the administrator
- Configurable default avatars for new accounts
- Account updates by both users and administrator
- Account deletion by administrator
- Password recovery via email
- Simple user inventory management
- Welcome page which can be used as viewer -loginpage
Wifi has a few interesting properties that make it a good fit for small-to-medium OpenSimulator-based virtual worlds.
- First of all, it doesn’t require the installation of Apache or other Web servers; it’s all done within the OpenSimulator code base.
- Second, using the OpenSimulator code base brings many technical benefits. This isn’t an immediate benefit, but it is a benefit in the long run. Unlike the Apache-based Web apps that interface with the DB directly, Wifi interfaces with the OpenSimulator services layer using the core code, and therefore it is isolated from future changes to the OpenSimulator DB schema.
- Third, technically, Wifi is a set of components that can be loaded up by both standalone simulators and Robust servers.
Diva Distribution
Wifi is included and enabled by default in the Diva Distribution:
- Documentation: http://wiki.github.com/diva/d2/wifi
- Blog Description: http://www.metaverseink.com/blog/
- Downloads and binary distribution: http://github.com/diva/d2/downloads
- Source Code: http://github.com/diva/diva-distribution/
Adding Wifi to your OpenSim Setup
Additions to Standard OpenSim Distribution (from 0.7 onwards)
Binary Approach
Obtain the required modules from the Diva Distribution from http://github.com/diva/d2/downloads and place them in the equivalent locations in your OpenSim directory.
Instructions to add Wifi into a Standalone or Robust Grid setup
In [Services] section of OpenSim.ini (for Standalones) or Robust(.hg).ini for Grids
- in [Startup] section add 8002/Diva.Wifi.dll:WifiServerConnector to service connectors
- add [WifiService] section from example at: http://github.com/diva/diva-distribution/blob/master/addon-modules/Wifi/Wifi.ini.example
bin directory
- add bin/Diva.Wifi.dll
- bin/Diva.Wifi.ScriptEngine.dll
- bin/Diva.OpenSimServices.dll
- Note bin/Diva.Modules.dll is also needed if the setup is or a Standalone
Copy WifiPages directory and its contents to OpenSim top level directory.
doc directory
- add in doc/WIFI.txt
Make a note of the licence terms and include them in a text file of you intend to redistribute Wifi modules.
Source Code Approach
Get Diva Distribution which contains the Wifi modules from http://github.com/diva/diva-distribution/
Extract the following into your standard OpenSim distribution:
- addon-modules/Wifi/*
- WifiPages/*
Use addon-modules/Wifi/Wifi.ini.example as a basis for what to add to the relevant OpenSim.ini and either Robust.ini or Robust.HG.ini depending on your architecture. Or is a custom addon-modules/Wifi/config/Wifi.ini going to be used?
Setting Configuration Parameters
The complete example file is here: http://github.com/diva/diva-distribution/blob/master/addon-modules/Wifi/Wifi.ini.example
Is a custom included file Wifi.ini going to be used rather than changes elsewhere?
Additions to Robust.ini or Robust.HG.ini for Grids or to OpenSim.ini for Standalones
ServiceConnectors = "Diva.Wifi.dll:WifiServerConnector"
Additions to OpenSim.ini or in separate addon-modules/Wifi/config/Wifi.ini
[WifiService] GridName = "grid name" LoginURL = "<hostname>:9000|http://<hotsname>:9000 " WebAddress = "<hostname>:9000|http://<hostname>:9000 " ;; The Wifi Administrator account AdminFirst = "Wifi" AdminLast = "Admin" AdminEmail = "you@example.com" ;; Do you want to be able to control grid registrations? AccountConfirmationRequired = false FemaleAvatarAccount = "Female Avatar" MaleAvatarAccount = "Male Avatar" NeutralAvatarAccount = "Neutral Avatar" ;; Variables for your mail server ;; Users will get email notifications from this account. SmtpHost = "mail.example.com" SmtpPort = "587" SmtpUsername = "your_account_in_this_mail_server" SmtpPassword = "your_password_in_this_mail_server"
Configurable Default Avatars
When users sign up, they can choose between 3 avatars: male, female and neutral. It's up to you to decide what these 3 default avatars loolike. Here is how you can configure them.
Once your OpenSim is up and running, create 3 accounts (using Wifi) with the following names:
- Male Avatar
- Female Avatar
- Neutral Avatar
Then login to the world under each of those accounts, and set theirappearances however you like. You can add prim attachments.
Problems with HTTP ports
The port used for the Wifi HTTP service is configurable. You can do this by adding this line to the [Network] section of (where? Opensim.ini or addon-modules/Wifi/config/Wifi.ini file)
[Network] port = 8002
and define the equivalent WebAddress in the [WifiService] section of your Opensim.ini or addon-modules/Wifi/config/Wifi.ini file. Usually this will be 8002 for a grid and 9000 mfor a standalone unless you use custom ports.
[WifiService] Webaddress = "http://hostname:8002"
If you do not use the usual Opensim service ports, please note that some network setups and ISPs will not allow HTTP to be served on port 80. It is usual to use an alternative port such as 8080 or a custom port in that case.
Wifi URLs When Operational
- Sample Grid: http://yourgridhostname:8002/wifi
- Sample Standalone: http://yourstandalonehostname:9000/wifi
Examples
- Diva Tagus Test World (temporary August 2010): http://tagus.ics.uci.edu:9000/wifi
Wifi Administrator Functions
Manage Users
If authorisation is set to be on, you will receive an e-mail to the nominated admin account e-mail address if users request a new account and avatar creation. You can activate or remove new user creation requests. Users are notified of the activation via an e-mail to their nominated address.
You can also search for users and change their details. Give a space as a search term to select all avatars. Available are fields for "level" and "flags" fields.
- Level = 0 is a normal user
- Level = 100 is the Wifi admin account user
Note that the Wifi admin username/avatar is set in the Wifi configuration, and can be changed there. BUT.. once an admin always an admin. If you change from oen admin to another, the previous avatar still has administrator rights (in the Wifi version as at 2-Aug-2010, note it may change). You can remove Wifi administrator rights from an avatar by chnaging the "Rank" of the user from 1000 to 0 in manage users.
Manage Regions
Future functionality.
Wifi Licence
Copyright (c) Crista Lopes (aka Diva Canto). All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the OpenSimulator Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
- THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The sample web pages included are licenced under Creative Commons.