Wifi

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Problems with HTTP ports)
(WiFi Module for OpenSim 0.9.1.* Onwards: Correct Austin Tate blog post URKL to latest version 2018/12/12)
 
(133 intermediate revisions by 12 users not shown)
Line 1: Line 1:
 +
{{quicklinks}}
 +
{{thirdparty}}
 
'''Wifi - A Simple Account Management Front-end'''
 
'''Wifi - A Simple Account Management Front-end'''
  
"Wifi" stands for "Web Interface For... I" :-)
+
"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.  It is also part of the Diva distribution (D2).
  
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.
+
== WiFi Module for OpenSim 0.9.1.* Onwards==
  
  Diva writes on 4-Aug-2010: it's fresh out of the oven, and still needs some love;
+
OpenSim 0.9.1.0 onwards uses .NET 4.6. Diva's Wifi Module was updated for this on 17-Nov-2019...
  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 :)
+
  
== Introduction ==
+
d2: https://github.com/diva/d2
  
Initial information is available from http://www.metaverseink.com/blog/?p=37 and is taken here pretty much verbatim for now...
+
diva-distribution: https://github.com/diva/diva-distribution
  
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:
+
Additional post for Windows Wifi build updating for 0.9.1.* (based on .NET Framework 4.6)...
 +
[http://blog.inf.ed.ac.uk/atate/2018/12/12/diva-wifi/ Austin Tate Blog Post – Diva Wifi on Windows – 12-Dec-2018]
  
* Account creation, optionally controlled by the administrator
+
== WiFi Module for OpenSim 0.8.1 to 0.9.0.1 ==
* 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.
+
Up to OpenSim 0.8.0, Wifi was available as an add on module via compiled .DLL libraries which could be enabled for Standalone and Grid setups. From OpenSim 0.8.1 onwards, a more flexible “add-in” library mechanism that was already in OpenSim has been improved and Wifi now is provided as an add-in under that mechanism. This does mean that the build and configuration process is different.
  
* First of all, it doesn’t require the installation of Apache or other Web servers; it’s all done within the OpenSimulator code base.
+
Diva Canto has provided a blog post which describes the new Wifi mechanism and how to build and configure it, mostly geared at Unix/Linux users.
* 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 ==
+
[http://metaverseink.com/blog/?p=592 Diva Canto Blog Post – Wifi and Other Diva Addons – 5-Apr-2015]
  
Wifi is included and enabled by default in the Diva Distribution:
+
Additional post for Windows Wifi build from 0.8.1 up to 0.9.0 (based on .NET Framework 4.0)... [http://blog.inf.ed.ac.uk/atate/2015/04/06/diva-wifi-on-windows/ Austin Tate Blog Post – Diva Wifi on Windows – 6-Apr-2015]
  
* Documentation: http://wiki.github.com/diva/d2/wifi
+
Additional Testing VS2017 (Win10) + Mono 5.18 Xamarin msbuild (Ubuntu 18)
* 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 ==
+
== Introduction ==
 +
'''
  
TBA - notes here are guesswork at present. Hoping to clarify what is needed and where its available.
+
<!-- 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.  
  
'''Additions to Standard OpenSim Distribution (from 0.7 onwards)'''
+
Its features include:
  
=== Source Code Approach ===
+
* 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 <!-- What does this mean? Do admins get to go through a user's inventory at will? Or does it simply mean that a user can empty his/her trash folder through the web interface? -->
 +
* A welcome page which can be used as login page for the user's viewer.
  
Get Diva Distribution which contains the Wifi modules from http://github.com/diva/diva-distribution/
+
Wifi has a few interesting properties that make it a good fit for small-to-medium OpenSimulator-based virtual worlds.
  
Extract the following into your standard OpenSim distribution:
+
# It doesn’t require an additional web server; it’s all done with built-in OpenSimulator features.
* addon-modules/Wifi/*
+
# 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.
* WifiPages/*
+
# Technically speaking, Wifi is a set of components that can be used by both standalone sims, as well as [[ROBUST]] (Grid) servers.
  
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?
+
== Configurable Default Avatars ==
 +
[[Image:Openvue-avatars-male-female-neutral-2010-08-27.jpg|300px|right|Example Avatars]]
 +
When users sign up for an avatar account vua WiFi, 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. These might be:
 +
* Male Avatar
 +
* Female Avatar
 +
* Neutral Avatar
  
=== Binary Approach ===
+
Then login to the world under each of those accounts, and set their appearances however you like. You can add prim attachments.
  
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.
+
== Wifi URLs When Operational ==
  
'''Instructions to add Wifi into a Standalone or Robust Grid setup'''
+
* Sample grid: <nowiki>http://yourgridhostname:8002/wifi</nowiki>
 +
* Sample standalone: <nowiki>http://yourstandalonehostname:9000/wifi</nowiki>
 +
* Local standalone: <nowiki>http://localhost:9000/wifi</nowiki>
  
In [Services] section of OpenSim.ini (for Standalones) or Robust(.hg).ini for Grids
+
You can see if the Wifi endpoints have been made available by executing the console command "show http-handlers" in the Robust or standalone simulator console as appropriate. If it is active you should see a bunch of endpoints such as
* 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
+
<pre>
* add bin/Diva.Wifi.dll
+
* StreamHandlers (31):
* bin/Diva.Wifi.ScriptEngine.dll
+
        ...
* bin/Diva.OpenSimServices.dll
+
GET:/wifi
* Note bin/Diva.Modules.dll is also needed if the setup is or a Standalone
+
HEAD:/wifi
 +
POST:/wifi/notify
 +
GET:/wifi/install
 +
POST:/wifi/install
 +
POST:/wifi/login
 +
GET:/wifi/logout
 +
GET:/wifi/forgotpassword
 +
POST:/wifi/forgotpassword
 +
GET:/wifi/recover
 +
POST:/wifi/recover
 +
GET:/wifi/user/account
 +
POST:/wifi/user/account
 +
GET:/wifi/admin/users
 +
POST:/wifi/admin/users
 +
GET:/wifi/admin/console
 +
GET:/wifi/user/loadinventory
 +
GET:/wifi/user/inventory
 +
POST:/wifi/user/inventory
 +
GET:/wifi/linkregion
 +
POST:/wifi/linkregion
 +
GET:/wifi/tos
 +
POST:/wifi/tos
 +
GET:/wifi/admin/groups
 +
POST:/wifi/admin/groups
 +
</pre>
  
Copy WifiPages directory and its contents to OpenSim top level directory.
+
== Wifi Administrator Functions ==
  
doc directory
+
=== Manage Users ===
* add in doc/WIFI.txt
+
[[Image:Openvue-Wifi-Example.jpg|300px|right|Example Wifi Entry Page]]
 +
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.
  
Make a note of the licence terms in a text file... Additional licence or readme text needed?
+
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".
Or include in doc/WIFI.txt?
+
* Level = 0 is a normal user
 +
* Level = 50 (or a level you set) 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
  
== Setting Configuration Parameters ==
+
You can manually reset a user's password by typing into the password box and the hitting 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.
  
The complete example file is here:
+
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.
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?'''
+
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).
  
'''Additions to Robust.ini or Robust.HG.ini for Grids or to OpenSim.ini for Standalones'''
+
=== Manage Regions ===
  
  ServiceConnectors = "Diva.Wifi.dll:WifiServerConnector"
+
A facility to add '''LINK REGIONS''' is available in Wifi versions for OpenSimulator 0.7.1 onwards.
  
'''Additions to OpenSim.ini or in separate addon-modules/Wifi/config/Wifi.ini'''
+
Administrators and other '''privileged''' users can also view the current set of '''LINKED REGIONS'''
  
  [WifiService]
+
=== Remote Console ===
    GridName = "grid name"
+
    LoginURL = "[http://<hostname>:9000|http://<hotsname>:9000]"
+
    WebAddress = "[http://<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 ==
+
A feature in Wifi versions for 0.7.1 onwards and available to administrators via the '''CONSOLE''' link if suitably enabled.
  
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.
+
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.
  
Once your OpenSim is up and running, create 3 accounts (using Wifi) with the following names:
+
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.
* 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.
+
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.
  
== Problems with HTTP ports ==
+
== Diva Distribution ==
  
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)'''
+
[[Image:Diva-Tagus-Wifi-Example-v2.jpg|300px|right|Example Wifi Entry Page]]
  
  [Network]
+
Wifi is included and enabled by default in the [[Diva Distribution]]:
    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.
+
* Documentation: http://wiki.github.com/diva/d2/wifi
 
+
* Blog Description: http://www.metaverseink.com/blog/
  [WifiService]
+
* Downloads and binary distribution: http://metaverseink.com/Downloads.html
    Webaddress = "http://hostname:8002"
+
* Source Code: http://github.com/diva/diva-distribution/
 
+
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
+

Latest revision as of 08:55, 24 November 2020


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. It is also part of the Diva distribution (D2).

Contents

[edit] WiFi Module for OpenSim 0.9.1.* Onwards

OpenSim 0.9.1.0 onwards uses .NET 4.6. Diva's Wifi Module was updated for this on 17-Nov-2019...

d2: https://github.com/diva/d2

diva-distribution: https://github.com/diva/diva-distribution

Additional post for Windows Wifi build updating for 0.9.1.* (based on .NET Framework 4.6)... Austin Tate Blog Post – Diva Wifi on Windows – 12-Dec-2018

[edit] WiFi Module for OpenSim 0.8.1 to 0.9.0.1

Up to OpenSim 0.8.0, Wifi was available as an add on module via compiled .DLL libraries which could be enabled for Standalone and Grid setups. From OpenSim 0.8.1 onwards, a more flexible “add-in” library mechanism that was already in OpenSim has been improved and Wifi now is provided as an add-in under that mechanism. This does mean that the build and configuration process is different.

Diva Canto has provided a blog post which describes the new Wifi mechanism and how to build and configure it, mostly geared at Unix/Linux users.

Diva Canto Blog Post – Wifi and Other Diva Addons – 5-Apr-2015

Additional post for Windows Wifi build from 0.8.1 up to 0.9.0 (based on .NET Framework 4.0)... Austin Tate Blog Post – Diva Wifi on Windows – 6-Apr-2015

Additional Testing VS2017 (Win10) + Mono 5.18 Xamarin msbuild (Ubuntu 18)

[edit] 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.

  1. It doesn’t require an additional web server; it’s all done with built-in OpenSimulator features.
  2. 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.
  3. Technically speaking, Wifi is a set of components that can be used by both standalone sims, as well as ROBUST (Grid) servers.

[edit] Configurable Default Avatars

Example Avatars

When users sign up for an avatar account vua WiFi, 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. These might 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.

[edit] Wifi URLs When Operational

  • Sample grid: http://yourgridhostname:8002/wifi
  • Sample standalone: http://yourstandalonehostname:9000/wifi
  • Local standalone: http://localhost:9000/wifi

You can see if the Wifi endpoints have been made available by executing the console command "show http-handlers" in the Robust or standalone simulator console as appropriate. If it is active you should see a bunch of endpoints such as

* StreamHandlers (31):
        ...
	GET:/wifi
	HEAD:/wifi
	POST:/wifi/notify
	GET:/wifi/install
	POST:/wifi/install
	POST:/wifi/login
	GET:/wifi/logout
	GET:/wifi/forgotpassword
	POST:/wifi/forgotpassword
	GET:/wifi/recover
	POST:/wifi/recover
	GET:/wifi/user/account
	POST:/wifi/user/account
	GET:/wifi/admin/users
	POST:/wifi/admin/users
	GET:/wifi/admin/console
	GET:/wifi/user/loadinventory
	GET:/wifi/user/inventory
	POST:/wifi/user/inventory
	GET:/wifi/linkregion
	POST:/wifi/linkregion
	GET:/wifi/tos
	POST:/wifi/tos
	GET:/wifi/admin/groups
	POST:/wifi/admin/groups

[edit] Wifi Administrator Functions

[edit] Manage Users

Example Wifi Entry Page

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 (or a level you set) 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 typing into the password box and the hitting 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).

[edit] 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

[edit] 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.

[edit] Diva Distribution

Example Wifi Entry Page

Wifi is included and enabled by default in the Diva Distribution:

Personal tools
General
About This Wiki