A little step-brother of OpenSim (opensimulator.org), written in Lua+C
C Lua C++ PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Cosimus is what I'd like to call a "little stepbrother" of the OpenSimulator
(opensimulator.org) It's MIT-licensed, see COPYRIGHT file for more details.

At this stage it is more of a "tinkerbox" not suitable for anything useful,
which I just thought to share with the world,
but eventually it might evolve into something more promising.

The philosophy of this project can be summarized with a couple of quotes:

"Perfection is achieved, not when there is nothing more to add, 
but when there is nothing left to take away." 
                                   -- Antoine de Saint-Exupery

"Everything should be made as simple as possible, but not simpler." 
                                   -- Albert Einstein

So the ultimate goal is to find that magic point :-)

As such, there are some decisions that I made:

- There are only C and Lua as languages. Sorry, no Ruby/Lisp/C++/C#/Java :)
- The target architecture is x86-32/Linux, for now
- A lot of "database-like" stuff is stored simply in Lua code form,
  however possibly in the future sqlite may be added.
- All communications between the components, even on a standalone box,
  are done via TCP/UDP sockets - this ensures there is only one code path
  to test instead of two.
- Where possible, be compatible with OpenSimulator.


Running the code:

apt-get install build-essential libreadline-dev libzzip-dev xutils-dev libssl-dev
cd cosimus
./cosimus main.lua

then connect your viewer with -loginuri
(obviously the viewer will need to run on the same host)


Getting the patches in: 

fork the project on the github, and drop me an email with your repository,
I might pull :)


A bit more about internals:

Basically it's a custom Lua interpreter with some libs pre-built-in.
The non-standard libs include:

supp_src - my "various" code. There's a lot of code there now that is not used,
           the intent is to reuse it later on when/if some parts will be 
           pushed down from lua to C.

fmv_src - "functional MV packet parsing". Mostly autogenerated.

pktsmv - misc lib going along with fmv_src. Should probably be merged there.

cosimus - this is the main location - glue C code and bootstrap Lua

script - the bulk of the Lua code.