56a3d2f00d
If the C# column can't be found in the positionMap (but the line can), use the map immediately after it while correcting for the offset, unless that results in an LSL position before the previous LSL position in the positionMap. The idea behind this heuristic is that in most, if not all cases C# consumes more characters than LSL (for example LSL_Types.LSLInteger instead of just 'integer'). Thus if the distance between the columns of two markers differ in the C# and LSL file, the distance in the C# file will be larger. Moreover, we can assume that every time this happens we will have a marker at the beginning of the longer 'keyword', because those keywords were generated by us in the first place. For example: C#: LSL_Types.LSLInteger f2(LSL_Types.LSLString s) ^ ^ 1 2 will always have markers at the beginning of the long keywords 'LSL_Types.LSLInteger' and 'LSL_Types.LSLString'. If an error is generated in between (for example at the beginning of the function name 'f2') then the correct position is found by using an offset relative to 2 rather than 1. Note that a case where this isn't working correctly is when the user adds extra spaces. For example: LSL: integer f2( string s) would still use the start of 'string' as reference and then go backwards 3 characters only because the corresponding C# still looks like C#: LSL_Types.LSLInteger f2(LSL_Types.LSLString s) ^ ^ only 3 chars difference and the reported error at 'f2' would be here: LSL: integer f2( string s) ^ This can only be fixed by generating a mapping for 'f2' itself, or generating a mapping whenever the amount of spaces is changed. |
||
---|---|---|
.nant | ||
OpenSim | ||
Prebuild | ||
ThirdParty/SmartThreadPool | ||
ThirdPartyLicenses | ||
addon-modules | ||
bin | ||
doc | ||
share | ||
.gitignore | ||
.hgignore | ||
BUILDING.md | ||
CONTRIBUTORS.txt | ||
LICENSE.txt | ||
Makefile | ||
OpenSim.FxCop | ||
README.md | ||
TESTING.txt | ||
nant-color | ||
prebuild.xml | ||
runprebuild.bat | ||
runprebuild.sh |
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
You will need .NET 4.0 installed to run OpenSimulator.
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.10.8.1 to run OpenSimulator. 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.