Giter VIP home page Giter VIP logo

opensim-networking's Introduction

Goal

This project's aim originally was to implement an efficient networking client for the OpenSimulator network protocol in Rust. The goal was to provide a client of high enough quality to implement a new viewer on top of it that matches or surpasses the performance of current viewers.

dsrich is building a standalone asset server first, and is planning on using it as a platform to test the various proposals documented on the opensimulator.org web site.

Compiler version

Before dsrich forked it, you needed nightly Rust for this, as leoschwartz decided that using futures-await was going to save development time. dsrich has not confirmed this need.

Fork

This is forked from leoschwarz/opensim-networking since leoschwarz archived his repository. Nothing had happened for four years or so before that.

Documentation

As the documentation of the protocol is rather sparse and this library is still not that far, consider this an early work in progress. There are multiple coexisting "protocols" so following is a list of them and the respective status of their implementation in this library.

Status as of dsrich's fork

Implemented:

  • UDP messages: Handling of acks works fine. More debugging utilities will have to be added because for viewer development it will most likely be needed.
  • Login protocol: Will need some more refinement and better error handling, but it's enough for testing purposes.

Currently being worked on:

  • Texture download
  • Region download

Soon to be worked on:

  • Prims
  • Mesh data

Backlog:

  • Sound
  • Voice
  • Inventory

Protocol

The main goal of this library is to stay compatible with current versions of OpenSimulator. Since Second Life has changed their protocol, this library will most likely never be usable with their servers.

leoschwartz was in the process of collecting as much documentation on the protocol as possible in order to write a good and correct client for it. Many pieces of information are found across the internet and in various sources, so he was collecting his information in the repo opensim-protocol which I have also forked. Ideally it should be an exact specification of the network protocol implemented by this client.

opensim-networking's People

Contributors

leoschwarz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.