Go to file
Diva Canto 3891a8946b New Teleport protocol (V2), still compatible with V1 and older. (version of the destination is being checked)
In this new protocol, and as committed before, the viewer is not sent EnableSimulator/EstablishChildCommunication for the destination. Instead, it is sent TeleportFinish directly. TeleportFinish, in turn, makes the viewer send a UserCircuitCode packet followed by CompleteMovementIntoRegion packet. These 2 packets tend to occur one after the other almost immediately to the point that when CMIR arrives the client is not even connected yet and that packet is ignored (there might have been some race conditions here before); then the viewer sends CMIR again within 5-8 secs. But the delay between them may be higher in busier regions, which may lead to race conditions.
This commit improves the process so there are are no race conditions at the destination. CompleteMovement (triggered by the viewer) waits until Update has been sent from the origin. Update, in turn, waits until there is a *root* scene presence -- so making sure CompleteMovement has run MakeRoot. In other words, there are two threadlets at the destination, one from the viewer and one from the origin region, waiting for each other to do the right thing. That makes it safe to close the agent at the origin upon return of the Update call without having to wait for callback, because we are absolutely sure that the viewer knows it is in th new region.
Note also that in the V1 protocol, the destination was getting UseCircuitCode from the viewer twice -- once on EstablishAgentCommunication and then again on TeleportFinish. The second UCC was being ignored, but it shows how we were not following the expected steps...
2013-07-24 14:27:58 -07:00
.nant minor: Rename BUILDING.txt to BUILDING.md in distbin distribution nant target 2013-01-04 22:13:21 +00:00
OpenSim New Teleport protocol (V2), still compatible with V1 and older. (version of the destination is being checked) 2013-07-24 14:27:58 -07:00
Prebuild Stop Prebuild from generating <copy> statements which unnecessarily copy files into bin/Debug or bin/Release 2012-11-14 02:25:07 +00:00
ThirdParty/SmartThreadPool Fix SmartThreadPool line endings in recent update from dos to unix 2013-05-01 23:00:46 +01:00
ThirdPartyLicenses * Added third party license for Bullet-xna. 2012-12-23 15:24:15 -05:00
addon-modules minor: slightly improve README for building addon-modules within the main OpenSim build 2010-01-11 15:47:01 +00:00
bin Added config var that we all thought was already there: see_into_region. (Note: different from the defunct see_into_neighboring_sim, which used to control the process from the other end). This enables child agents in neighbors for which the root agent doesn't have permission to be in. 2013-07-24 11:25:41 -07:00
doc updating config properties added during upgrade process, adding error log file to doxygen config, adding doxygen output directory & error log to .gitignore 2013-01-03 00:17:24 +00:00
share Remove out-of-date and unused xsd schemas 2012-12-31 22:14:50 +00:00
.gitignore updating config properties added during upgrade process, adding error log file to doxygen config, adding doxygen output directory & error log to .gitignore 2013-01-03 00:17:24 +00:00
.hgignore additional patterns for .hgignore 2008-07-18 14:37:23 +00:00
BUILDING.md renaming to markdown file 2012-09-08 00:02:27 +01:00
CONTRIBUTORS.txt Add IMG_BLOOM1.jp2 to standard asset set, which is used in stars. 2013-06-28 23:34:16 +01:00
LICENSE.txt Last time? 2010-05-03 00:11:12 +01:00
Makefile making Makefile a bit more robust: can now cope with missing ruby in a 2009-09-03 18:32:41 +02:00
OpenSim.FxCop
README.md Trigger Jenkins build 2013-05-30 22:52:17 -04:00
TESTING.txt minor: adjust formatting in TESTING.txt to make headers more wiki-like 2013-01-19 02:32:41 +00:00
nant-color in case ruby is somewhere else in the path (just used for coloring output) 2009-09-03 15:00:53 -04:00
prebuild.xml Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-11 23:05:10 +01:00
runprebuild.bat Switch runprebuild.bat from VS2005 to VS2008. Remove runprebuild2008.bat. 2009-07-10 04:29:00 +00:00
runprebuild.sh Add autoclean for scripted use 2012-07-26 21:39:53 -04:00
runprebuild2010.bat Add execute permission to runprebuild2010.bat 2011-10-03 11:16:48 -07:00

README.md

Welcome to OpenSim!

Overview

OpenSim is a BSD Licensed Open Source project to develop a functioning virtual worlds server platform capable of supporting multiple clients and servers in a heterogeneous grid structure. OpenSim is written in C#, and can run under Mono or the Microsoft .NET runtimes.

This is considered an alpha release. Some stuff works, a lot doesn't. If it breaks, you get to keep both pieces.

Compiling OpenSim

Please see BUILDING.md if you downloaded a source distribution and need to build OpenSim before running it.

Running OpenSim on Windows

We recommend that you run OpenSim from a command prompt on Windows in order to capture any errors.

To run OpenSim from a command prompt

  • cd to the bin/ directory where you unpacked OpenSim
  • run OpenSim.exe

Now see the "Configuring OpenSim" section

Running OpenSim on Linux

You will need Mono >= 2.4.3 to run OpenSim. On some Linux distributions you may need to install additional packages. See http://opensimulator.org/wiki/Dependencies for more information.

To run OpenSim, from the unpacked distribution type:

  • cd bin
  • mono OpenSim.exe

Now see the "Configuring OpenSim" section

Configuring OpenSim

When OpenSim starts for the first time, you will be prompted with a series of questions that look something like:

[09-17 03:54:40] DEFAULT REGION CONFIG: Simulator Name [OpenSim Test]:

For all the options except simulator name, you can safely hit enter to accept the default if you want to connect using a client on the same machine or over your local network.

You will then be asked "Do you wish to join an existing estate?". If you're starting OpenSim for the first time then answer no (which is the default) and provide an estate name.

Shortly afterwards, you will then be asked to enter an estate owner first name, last name, password and e-mail (which can be left blank). Do not forget these details, since initially only this account will be able to manage your region in-world. You can also use these details to perform your first login.

Once you are presented with a prompt that looks like:

Region (My region name) #

You have successfully started OpenSim.

If you want to create another user account to login rather than the estate account, then type "create user" on the OpenSim console and follow the prompts.

Helpful resources:

Connecting to your OpenSim

By default your sim will be available for login on port 9000. You can login by adding -loginuri http://127.0.0.1:9000 to the command that starts Second Life (e.g. in the Target: box of the client icon properties on Windows). You can also login using the network IP address of the machine running OpenSim (e.g. http://192.168.1.2:9000)

To login, use the avatar details that you gave for your estate ownership or the one you set up using the "create user" command.

Bug reports

In the very likely event of bugs biting you (err, your OpenSim) we encourage you to see whether the problem has already been reported on the OpenSim mantis system.

If your bug has already been reported, you might want to add to the bug description and supply additional information.

If your bug has not been reported yet, file a bug report ("opening a mantis"). Useful information to include:

  • description of what went wrong

  • stack trace

  • OpenSim.log (attach as file)

  • OpenSim.ini (attach as file)

  • if running under mono: run OpenSim.exe with the "--debug" flag:

    mono --debug OpenSim.exe
    

More Information on OpenSim

More extensive information on building, running, and configuring OpenSim, as well as how to report bugs, and participate in the OpenSim project can always be found at http://opensimulator.org.

Thanks for trying OpenSim, we hope it is a pleasant experience.