Wifi
From OpenSimulator
*** THIS ARTICLE IS ABOUT THIRD PARTY SOFTWARE *** Although OpenSimulator encourages the development of third party software for OpenSimulator, no support can be provided on this. For help with this software, contact the developer of this software directly.Please do not contact the OpenSimulator team with questions about this software. |
Wifi - A Simple Account Management Front-end
"Wifi" stands for "Web Interface For... I", and is an add-on module which is not a standard part of OpenSimulator. It is provided by Diva Canto and can be added to OpenSimulator 0.7 onwards.
Contents |
PLEASE NOTE
Packaged binary versions of Wifi are available from http://metaverseink.com/Downloads.html in two packages: as part of the standalone Diva distribution (D2) of OpenSimulator, and another package for use with a ROBUST server grid implementation of OpenSimulator. The latter package (Wifi for Robust) is NOT intended to work with standalone implementations of OpenSim.
Introduction
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.
Its 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 management of user inventory
- A welcome page which can be used as login page for the user's viewer.
Wifi has a few interesting properties that make it a good fit for small-to-medium OpenSimulator-based virtual worlds.
- It doesn’t require an additional web server; it’s all done with built-in OpenSimulator features.
- Using OpenSimulator features bring many technical benefits. These benefits aren't visible immediately, but it will show its value in the future. Unlike other Web apps that access the database directly, Wifi works by communicating with OpenSimulator directly. This means that any future changes to the OpenSimulator database structure, will not affect Wifi.
- Technically speaking, Wifi is a set of components that can be used by both standalone sims, as well as ROBUST (Grid) servers.
Adding Wifi files to your OpenSimulator Setup
Binary Approach
Obtain the latest Wifi module distribution zip from http://metaverseink.com/Downloads.html and place the files as instructed in the equivalent locations in your OpenSimulator directory.
Copy DLLs
- add bin/Diva.Data.dll
- add bin/Diva.Data.MySQL.dll
- add bin/Diva.Interfaces.dll
- add bin/Diva.Wifi.dll
- add bin/Diva.Wifi.ScriptEngine.dll
- add bin/Diva.OpenSimServices.dll
- add bin/Diva.Utils.dll
- for standalones, you'll also need to separately add from the diva-rxxxxx.zip distribution file
- bin/Diva.Modules.dll
Copy WifiPages
Copy WifiPages directory and its contents to OpenSimulator top level directory.
Copy documentation (optional)
doc directory
- add in doc/WIFI.txt
Copy over the WIFI related readme, release notes and licence text files.
Copy over avatar library files
Copy Library/*
For some reason, these are not available in the standalone wifi zip or the Wifi Github repository. Rather, you will have to obtain this from the distribution itself.
Configuring Wifi
Grid mode
The complete example file is here: http://github.com/diva/diva-distribution/blob/master/addon-modules/Wifi/Wifi.ini.example
Additions to Robust.ini or Robust.HG.ini for Grids (reported to not be working on Robust.ini .7.5 as of June 07/2013)
[Startup] ServiceConnectors = "8002/Diva.Wifi.dll:WifiServerConnector"
Note that this is the public grid services port as used by the login service, etc (default 8002), not the private one as made available by the asset service, inventory service, etc. (default 8003).
To enable users online, regions, etc. statistics on the Wifi pages (and stop generating errors in the OpenSimulator logs), change [DatabaseService] and [GridService] StorageProvider entries to use the Diva.Data.MySQL.dll rather than OpenSim.Data.MySQL.dll.
[DatabaseService] StorageProvider = "Diva.Data.MySQL.dll" ... [GridService] StorageProvider = "Diva.Data.MySQL.dll"
Then you need to add the [WifiService] section.
[WifiService] GridName = "grid name" LoginURL = "http://<hostname>:8002" WebAddress = "http://<hostname>:8002" ;; The Wifi Administrator account AdminFirst = "Wifi" AdminLast = "Admin" AdminEmail = "you@example.com" ;; Do you want to be able to control grid registrations? AccountConfirmationRequired = false ;; Default avatars for new account registration ;; Syntax: AvatarAccount_<AvatarType> = "<FirstName> <LastName>" ;; Appearance and attachments are copied from avatar <FirstName> <LastName>. AvatarAccount_Female = "Female Avatar" AvatarAccount_Male = "Male Avatar" AvatarAccount_Neutral = "Neutral Avatar" ;; Preselection for default avatar in new account registration AvatarPreselection = "Neutral" ;; 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"
Standalone mode
The complete example file is here: http://github.com/diva/diva-distribution/blob/master/addon-modules/Wifi/Wifi.ini.example
Additions to config-include/StandaloneCommon.ini for Standalones
For standalones, edit StandaloneCommon.ini in section [Modules] to add WifiModule = true
.
[Modules] WifiModule = true
To enable users online, regions, etc. statistics on the Wifi pages (and stop generating errors in the OpenSimulator logs), change [DatabaseService] and [GridService] StorageProvider entries to use the Diva.Data.MySQL.dll rather than OpenSim.Data.MySQL.dll.
[DatabaseService] StorageProvider = "Diva.Data.MySQL.dll" ... [GridService] StorageProvider = "Diva.Data.MySQL.dll"
Finally, add the WifiService section to configure the Wifi system.
[WifiService] GridName = "grid name" LoginURL = "http://<hostname>:9000" WebAddress = "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 ;; Default avatars for new account registration ;; Syntax: AvatarAccount_<AvatarType> = "<FirstName> <LastName>" ;; Appearance and attachments are copied from avatar <FirstName> <LastName>. AvatarAccount_Female = "Female Avatar" AvatarAccount_Male = "Male Avatar" AvatarAccount_Neutral = "Neutral Avatar" ;; Preselection for default avatar in new account registration AvatarPreselection = "Neutral" ;; 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 default avatars. It's up to you to decide what these default avatars look like. Here is how you can configure them... Once your OpenSimulator is up and running, create accounts (using Wifi) with the names given in your configuration. With the above examples, these would be:
- Male Avatar
- Female Avatar
- Neutral Avatar
Then login to the world under each of those accounts, and set their appearances however you like. You can add prim attachments.
Problems with HTTP ports
The port used for the Wifi HTTP service is configurable. Usually this will be 8002 for a grid and 9000 for a standalone unless you use custom ports.
For a standalone you can do this by adding the "port" line for the port to use for Wifi and other services to the [Network] section of OpenSim.ini
[Network] port = 9000
Or for a grid specify a specific port (usually 8002) for the WifiServiceConnector in the ServiceConnectors list in the [Startup] section of Robust(.HG).ini
[Startup] ServiceConnectors="............,8002/Diva.Wifi.dll:WifiServerConnector"
In either case, define the equivalent WebAddress in the [WifiService] section of your StandaloneCommon.ini or Robust(.HG).ini (or addon-modules/Wifi/config/Wifi.ini if used in future).
[WifiService] WebAddress = "http://hostname:8002"
If you do not use the usual OpenSimulator 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
- Local standalone: http://localhost: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 a user requests a new account and avatar creation. You can activate or delete 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", "Flags" and "Title".
- Level = 0 is a normal user
- Level = 50 (default) is used to indicate a privileged user (e.g. who can set up new hypergrid linked regions)
- Level = 100 is a Wifi admin account user
You can manually reset a user's password by typiing into the password box and the nhitting the "Reset" button. Note that the user is NOT infromed of this password reset, so you must manually contact the user to communicate such a password change.
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. Well almost. If you change from one admin to another, the previous avatar still has administrator rights. You can remove Wifi administrator rights from an avatar by changing the "Level" of the user from 100 to the normal avatar level of 0 using the Manage Users facility in Wifi.
You can set an intermediate level for a privileged user which can be used to allow certain types of Wifi menu that a normal user will not see, but that are less than full admin user rights. A configurable parameter sets the Level above which this functions for a user (default 50).
Manage Regions
A facility to add LINK REGIONS is available in Wifi versions for OpenSimulator 0.7.1 onwards.
Administrators and other privileged users can also view the current set of LINKED REGIONS
Remote Console
A feature in Wifi versions for 0.7.1 onwards and available to administrators via the CONSOLE link if suitably enabled.
The WifiConsole uses OpenSim's REST console and thus the Robust server and any simulators must be started with parameter "-console rest". Furthermore, the configuration options "ConsoleUser" and "ConsolePass" must be set in section [Network] and the values of these options must match across all instances. Finally, for all region simulators (i.e. except for the Robust server), option "ConsoleAllowedOrigin" must be set to the same value as option "WebAddress" in section [WifiService] of the Robust configuration.
Please note that as at February 2011 the console in Wifi is not much more than a proof on concept in its current state. It has been tested on web browsers based on Mozilla (i.e. the Gecko Engine) only. Browsers using the WebKit engine do work somewhat, too, and IE has its own issues. The console also does not yet work with any interactive input, as necessary for creating a new region with "create region", for example.
Right now, there is no way to use this feature in a secure way because the values for "ConsoleUser" and "ConsolePass" are transmitted as clear text over the network. Please keep this in mind when using the console in Wifi.
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://metaverseink.com/Downloads.html
- Source Code: http://github.com/diva/diva-distribution/