Tips and Tricks

A common pitfall?
I had a friend get very interested in OpenSim, so she downloaded the binary and the Hippo viewer from the OSGrid site. She followed my step-by-step guide to the letter, and it crashed with a 'Registration Failed' error message. I asked her to check that she had set gridmode=false, and she assured me she had. After more 'try-this, try-that' she sent me the contents of her OpenSim.ini file, and it all looked perfect.

I didn't get the clue until I asked her for the OpenSim.32BitLaunch.log, when she said she could not see one called 'log', did I want the notepad one? The problem was that she was using Windows XP, with the default settings for folder view. If you open folder view, either by using Windows Explorer, or via My Computer, you will see in the menu at the top, Tools, go into there and select Folder Options, then choose the View tab, in the Advanced Settings, about 10 down, you will see Hide extensions for known file types. The default setting is 'checked', and this can lead to all sorts of confusion (I told her to uncheck it).

Because the extensions were hidden, when she looked into her Bin folder she saw the file I mentioned, OpenSim.ini, but this was in fact OpenSim.ini.example (with the example extension being hidden), and it was this file she was editing, not the OpenSim.ini file. Consequently, she was opening up in grid mode every time, as the real OpenSim.ini file never got edited. Now that she could see the file extensions, and could edit the correct files, the step-by-step procedure worked perfectly. Keep this in mind if a friend runs into trouble and asks for help.

Using Second Inventory
I wanted to have a go at transferring inventory from SL to my OpenSim, so I purchased a copy of Second Inventory. Basically you fire up SI, and do a backup of the objects, or the folders you want, or the entire inventory tree, to hard-disk. This can take hours for a lot of stuff, so, do it before going to bed, or to the store. Once it is all backed-up on your hard-drive you can then restore to your OpenSim. But, first a few warnings:

a) It will only restore items that are full permission
b) It will not sort the full permission objects for you, you must find them yourself
c) Restore works on one single object only. So it is a lot of work restoring 100s or 1000s of objects.
d) Don't expect complex multi-prim objects, with textures applied, and containing various scripts, anims etc to restore perfectly. It won't. Other than that, it works well.

When is a hole not a hole?
I made a 20 x 20 x 0.5 floor, hollowed it to 40% to use as a pond/pool, and when I walked onto the hole I was amazed to find it completely solid. I had a quick lurk in the #opensim IRC channel, and Jenni there told me the problem, 'use the other mesher' she said. In the opensim.ini file, under physics, you have a choice of two meshers (don't ask me what a 'mesher' is). The default mesher was ZeroMesher, so I chose the other one MeshMerizer. After a restart, I was happily falling through the hole. I wonder why you get a choice of two, one that works, and one that doesn't?

Fixing Bent Leg Syndrome
I noticed that when recreating my SL shape in OpenSim, and using maximum height and leg lengths, I have the infamous bent-leg syndrome (the default OpenSim Ruth avatar does not suffer from this). I decided to have a play with some of the settings in the OpenSim.ini file, in the Avatar Control section. The first I tried was this entry:

; Max force permissible to use to keep the avatar standing up straight av_capsule_standup_tensor_win = 550000

Setting this value higher, to 700000 fixed the bent-leg, but walking up inclines and stairs was quite difficult. I then put that value back to the default value, and tried this one instead:

;girth of the avatar. Adds radius to the height also
av_capsule_radius = 0.37

I was not sure what this parameter actually was (initially), but I tried it lower, at 0.17, and I seemed to have even more bent-legs than normal, so, full of excitement, I then changed it to 0.57, and bingo, bent-legs fixed! I then tried walking up inclines and stairs and no problem :)

However, when I spoke of this succcess in the opensim irc channel I was told by one of the developers that this change would result in my avatar having a bigger radius, in other words, I may have difficulty in walking through narrow doorways, so my vampire coffin weekends would be most definitely out :) He suggested that I play with another setting: av_height_fudge_factor = 0.52 I changed this value to 0.42, and again, success! I will leave this setting as it is.

Accessing your OpenSim locally, when in External Mode
After you have changed your External_Host setting in the default.xml file in the Regions folder to allow visitors to come into your region, you find that you have to come in the same way, and suffer the same lag effects as your visitors. Wouldn't it be nice to be able to access your region locally? Well, you can! Try this little trick: Go into your Windows\system32\drivers\etc\ folder, and look for a file called 'Hosts' (no extension). Open this file with notepad, and add the following line at the bottom: 127.0.0.1 myregion.hostname.com Replace myregion.hostname.com with the actual external hostname you are using.

Basically when you use the external hostname in your viewer, Windows will resolve what IP address this refers to, instead of the external web DNS servers (who will point that address to the IP address of your PC modem or router). In this case, whenever Windows comes across the myregion.hostname.com hostname, it will resolve the address automatically to 127.0.0.1, which as we learnt earlier, is the special address for this machine.

Edit: One or two people have reported that visitors could not log in when using this method. If you have any problems then just remove the entry. Meanwhile, I will look at a more universal solution to logging in locally while visitors log in remotely.

Creating MySQL Database Backups
I have just reached the point where the build in my standalone is sufficiently mature that I would hate to lose it. So, it is time to capture the moment, and make a backup.

Essentially there are two ways of making a backup, a physical backup and a logical backup, and I will describe both. Before proceeding, I created a folder to hold my backups. I have one of these standalone 'Brick' storage drives, that connects to my PC via the USB port, where I store all my backups (in case the HD in my PC fails). I created a folder called 'OpenSim Backup 26 Sep 2008'.

Physical Backup
Making a physical backup is simple, but can be dangerous. You MUST ensure that the database is not in use before doing this, so make sure that your OpenSim server is NOT running! OK, if you are sure that the database is not in use, navigate to the MySQL data folder, on my machine this was located at:- c:\program files\MySQL\MySQL Server 5.0\data

Right-click the data folder, choose Copy, then navigate to your backup folder you created earlier, and Paste it there. Job done.

Logical Copy
To make a logical copy you can use the console command mysqldump, but as always, preferring the simpler life, I downloaded a lovely little application that does that for me. In fact, it is a great little suite of useful application for MySQL, it is the MySQL GUI Tools Bundle for 5.0, and can be downloaded from here. Once it is downloaded, running the download will install the tools under the MySQL folder. Then, go to Start, Program Files, MySQL, and select the MySQL Administrator tool. When the tool starts it will ask you which MySQL server to connect to. For the Server Host enter 'localhost' , for the Username enter the root username that you used when setting up MySQL (in my case, I left it as the default 'root'), and the password you created at the time, and click on OK. The tool will then open, and connect.

To create your backup, simply select the Backup icon on the left-side panel, click on New Project, call it Opensim (don't worry with a date in the filename, it will append the date and time to whatever name you choose automatically). You then select the databases you wish to backup, and I chose avatar_appearance, opensim, mysql, and test (not knowing what was in each of these databases, I decided to back them all up, to be safe). Selecting a database, and clicking on the '>' button moves them to the right-hand pane, ready to be backed-up. Once you have selected the databases to be backed up, just hit the Execute Backup Now button, choose where you want the backup to be stored, and click on OK. Job done.

A Better Console for OpenSim
The other little utility I played with after being recommended it in the #opensim irc channel, is a replacement for the OpenSim Console, which is not very user friendly. The utility is simply called 'Console', and is available from here. I chose Release 2.00

After unzipping the package, you will find in the Console2 folder the Console.exe program, double-click to launch it. To set it up, go into Edit, Settings, and in the Startup dir: navigate to your OpenSim Bin folder, then click on OK to select it. Close the program. Now, next time you start the program it will open in the openSim Bin folder, and you can enter the executable that you normally use for starting the OpenSim Server, either OpenSim.exe or OpenSim.32BitLaunch.exe. You will see straight away how much nicer this console front-end is, much bigger than the Windows console window, and with handy Copy/Paste icons on the Tools bar to make life easier.

2 comments:

Gwyneth Llewelyn said...

Old tricks, but still useful, 7 years afterwards :) Thanks for posting them!

I was looking for a way for avatars to go up stairs, which works so well under BulletSim, but sadly not under ODE. Alas, not even your proposed settings helped, but at least you pointed me in the right direction!

Unknown said...

If you get confused just listen from our server experts. Get Cheapest VPS Servers from zolute.