A SecondLife Text Client for connecting to the metaverse.
What is it?
omvviewer-light is a "light" text client for connecting to 3D virtual worlds such as Linden Lab's SecondLife (tm) or OpenSim based grids. The client provides a text based interface that allows you to perform various communication, group and inventory managment tasks.
ovviewer-light is still in heavy development so not all features are fully complete but it is currently in a usable state and a great way to log in to a metaverse to chat with friends or send IM's to business associates.
The application is written in C# and uses the Gtk# wiget set so the same application will run on Microsoft Windows or Linux.
OMVViewer-Light is not an Open Metaverse Foundation project but rather uses libomv (which is an OMF project) to implement the connection/packet managment etc needed to connect to this type of 3D metavserse, hence the name.
Ideas for a better name welcome!
Screenshots
Screen shots of the work so far (some a little out of date, often changed and updated as application grows):-
Components and features
The application is split in to a number of key components
- Login control, this provides access to multiple grids and allows you to specify your start location.
- Chat window. A window that shows current nearby chat, online and offline friends and other avatars near me. The chat allows emotes and you to speak on other channels. Messages from objects, the system etc are all coloured and the ability to whisper, shout or say is provided.
- Search - It is possible to search for people,places and events then teleport to locations, or view profiles, IM etc people you find.
- Map display - A mini map type display (but using the full rez region image) that shows your location and the location of others in realtime.
- Radar display of nearby AV's with options to follow, look at etc
- Telepot widget- allows teleportation around a sim or to a specific location in another sim.
- Avatar profiles - Full details are provided for 2nd life, 1st life and Picks tabs.
- Object control - Can scan the local area and see surronding objects and their details, you can touch, sit on, pay, take, copy (as permissions allow) different objects.
- Group managment - You current list of groups is avaiable and it is possible to see full details on these including group members, abilites, roles and past notices. (As group permissions permit you to view)
- Parcel managment - displays all parcels on current sim, with graphical map, an details on access/ban lists and for sale info on parcel.
- IM's and Group IM's supported
- Inventory display - browse your inventory, teleport to landmarks, give items to other users, wear folders of clothing.
- Supports minimise to system tray, with notification of new chat or IM's
- Note card reading including embedded notecards and landmarks
Problems, bug reports, support
I'm using the JIRA issue and bug tracker, if you have a bug or feature request feel free to sign up and enter your report at jira.byteme.org.uk
Also feel free to contact me directly in SL (Robin Cornelius is my AV name in SL as well as my RL name) or find my email from the contact me menu on this site. I'm also lurking in IRC, mainly EFNet on the various SL based channels (#sl, #secondlife, #opensl), as MichelleZ.WARNING
This client is capable of logging in to the Linden Labs main grid (Agni), please be very careful that you do not loose objects, send money somewere silly, miss friend requests, miss group invites or any other issues that could cause upset. By using this code you acknogedge that you understand the risks of using 3rd part code to connect to various Metaverses (including secondlife) and that any loss of inventory/money/contact details/invites etc is at your own risk.
Code
The latest code is avaiable from SVN at the following location, note this svn:// NOT http://
Also please use the exact address below, do not leave off omvviewer-light or you will checkout a couple of GB of obselete secondlife builds and rubbish
svn co svn://slupdate.byteme.org.uk/omvviewer-light/
NOTE TO LINUX USER - Mono and mac addresses
Mono does not support the ability to get the systems MAC address, or infact any details of the network interfaces on the system, It is required to send a mac address when logging in to the grid. When using mono this will return 00:00:00:00:00:00 which is currenty blocked somtimes blocked and you will get the message "Secondlife cannot be accessed from this computer". The solution is create a file "MyMac.txt" in the folder with omvviewer-light.exe this file should contain one line that is your MAC address in text format eg 00:00:00:00:00:00 but with real numbers not zeros!, you can find your mac address my using the ifconfig command, or sometimes it is printed on a sticker on your computer/wireless card /network card etc. Update, MyMac.txt can be in the folder with omvviewer-light.exe, in the current folder or on linux in your home area eg ~/.MyMac.txt, the application will search all 3 locations.
Custom Skins
This is mainly directed at windows users as on Linux it will follow your default Gtk theme selection.
On windows if you wish to change the look of the viewer from a old windows widget set then do the following :-
1. Download some themes, go to http://gtk-win.sourceforge.net/home/index.php/Downloads and download the gtk2-themes-2008-10-22-win32_bin.zip,
2. Unzip this file and copy all of the subfolders from gtk2-themes-2008-10-22-win32_bin\share\themes to C:\Program Files\Medsphere\Gtk# Runtime\share\themes
You should before you start have a folder MS-Windows in C:\Program Files\Medsphere\Gtk# Runtime\share\themes so after copying you will now have all the various theme folders
3. Download the theme selector http://www.byteme.org.uk/uploads/gtk2_prefs.exe
Run this application to preview and select the skin to use for Gtk#/Gtk+ applications.
Note if you already have a Gtk+ installed then the above locations may be different, or you may already have themes intalled.
Beta release binarys
On linux if you have mono installed and gtksharp installed it will probably run, if binfmt is not installed you may need to start it with "mono omvviewer-light.exe". If you are missing these components please use your distributions package manager to install them
To run on windows you need to install (GTK# 2.10 for windows) first,
NOTE Gtk# appears to NOT work on 64bit windows systems. If you can find a 64bit build of Gtk+ then it may be possible to get this working but untill someone publishes a Gtk# with 64bit libs included this could be a messy process.
Download the zip file and run the start.bat to run.You also need the .NET runtime installed. Newer systems should have this already. If not, the .NET installer in the binary section below will install for you. If you are on very old windows that does not support .NET it is possible to run this under mono for windows as well, so install that first.
If you install on windows via the installer the menu item and desktop items are correctly created and do not suffer from this issue.
Just unzip/ ungzip&tar, then run omvviewer-light.exe, on linux you may need to run the program under mono, or specifiy mono omvviewer-light.exe on the command line, if mono is not fully configured for your system.
If you download this and try it please send me an IM in world to Robin Cornelius and let me know, thanks! I would love to know how many people are testing this and if anyone is using it very much.
Version 0.44 22/Dec/2008
Release Notes
(This version know as 0.43.1.6 by Microsoft .NET click once installer)
- Improved windows notification logic
- Fix offline IMs appearing in multiple windows at logon
- Fix potential crash and leak in TryGetImage
- Unify autopilot code across application
- Download Map Image from assets not via Web API
- Some memory cleanups
- Fix appearance wearing of single item, no longer detaches/unwares eveything else
- Add default texture baking workaround to libomv (accepted upstream)
- Add click to most pictures/texture to enable full sizeview
- Improve friends list so new friends are shown immedatly
- Fix blocking on texture decode
- Fix saving of settings and implement new settings class
To run on windows you need to install (GTK# 2.10 for windows) first
The zip file has been tested on Windows XP with GTK#2.10 and GNU Debian Linux (unstable) with Mono & Gtk# 2.12 installed
latest omvviewer-light installer for windows click here
omvviewer-light-0.44.zip (built on windows Gtk# 2.10, runs on Windows or Mono systems (eg Linux))
omvviewer-light-src-0.44.zip (Source bundle for Linux/Windows Monodevelop/nant/Visual Studio C# 2008)
Version 0.43.1 03/Dec/2008
Release Notes
- Fix duplicate group lists
- Add notification of on/offline friends to chat window and IM window (if you are talking to them)
- Fix objects search crash
- Move data to User R/W area
- Update openjpeg.net for all platforms
- Add default resource to help with cloud AV's
- Partially fix cloud AV# (do not use any linden default textures, please only use uploaded textures to SL)
- Add texture cache
- Fix bugs in preferences saving and applying
- Fix timestamp formatting
- Add a fall back exception message box in case of a disaster to get useful information to the user about the crash
omvviewer-light-0.43.1.zip (built on windows Gtk# 2.10, runs on Windows or Mono systems (eg Linux))
omvviewer-light-src-0.43.1.zip (Source bundle for Linux/Windows Monodevelop/nant/Visual Studio C# 2008)
Version 0.41 20/Nov/2008
Release Notes
- Add support for notecard reading, including embedded notecards and embedded landmarks
- Add a move to option on location map
- Make location map clickable and update position spinners with click
- Show ME on top of near by AVs
- Fix some stability issues with radar and map
- Add notification if you get disconnected from simulator
- Add preferences menu
- Add throttle controls to control bandwidth usage
- Add time stamps to chat and IM (enable in preferences)
- Enable the remember close or minimse window
- Add pop up menu to tray icon (has a bug on window, sorry)
- Add ability to change active title incurrent group
- Add search for groups
- Partially fix events search
- Add friend on profile window
omvviewer-light-0.41.zip (built on windows Gtk# 2.10)
Version 0.40- 10-Nov-2008
omvviewer-light-0.40.tar.gz (built on linux Debian Sid Gtk#2.12)
omvviewer-light-0.40a.zip (built on windows with Gtk#2.10)
Windows users, please use the zip file, linux users, try the tar.gz but if your distro has an older Gtk# then try the zip.
Version 0.30 - 01-Oct-2008
Avaiable in a tarball a zip or a Windows.NET installer thingy, zip. The files are cross arch/distro now so there is no specific files for windows or linux etc (just the installer thing for windows)
Feedback welcome, let me know if and how you installed it, if it ate your dog and what else happened. Help needed to get the installer working correctly for windows so we can depoy a proper .net application. If it breaks you get to keep ALL the peices.
Licences
Licences, the artwork files are all Copyright Linden Labs, released under the Artistic Share and Share alike licence CA-SA 3.0, the libomv/libsecondlife code/binaries are copyright the libomv team and is under a BDSish type licence http://www.libsecondlife.org/wiki/libsecondlife:License,
The rest of the code is copyright Me Robin Cornelius and is under the GPLv3. I understand that libsl/libomv needs to be BSD type licenced so it can be used in commercial products but this front end i do not believe should be commercial.
Building on linux
On Linux you have multiple choices, including monodevelop and nant.
Monodevelop
If you install your distro's version of monodeveop and gtksharp that should be all you need. Checkout the SVN, Open the solution in monodevelop and hit build and run.
Nant
Check out the source from SVN, build with nant and run the application as follows :-
svn co svn://slupdate.byteme.org.uk/omvviewer-light/ omvviewer-light cd omvviewer-light nant cd omvviewer-light/bin ./omvviewer-light.exe
Building on Windows
- Use Visual C#2008
- Install Gtk# 2.10 from medsphere
- Checkout the code for omvviewer from SVN (one possible SVN client for windows is http://tortoisesvn.tigris.org/
There should be a VS2008 C# solution file you can open from within visual studio C# 2008
Thats all i did and visual studio will let me compile and even run under debug a native Gtk# application. You may need to add (readd) the Gtk# references into visual studio, i'm not sure with out a clean windows to try on if this works out of the box.
Nant is also possible under windows, but i have not tested this in any way.
Previous page: Contact Me
Next page: omvviewer light screenshots
