OMP

From OrbiterWiki
Revision as of 06:22, 17 August 2007 by 221.232.159.112 (talk)
Jump to navigation Jump to search

xd olympus gb hotels - bulgaria diest decorare dolci nbc usa boomboom frigo da 60 finanziamento perugia i ragazzi della tft multimediale computer acer globalsat blutooth bottiglie olio nec lampada modem usb analogico reber obbligo inps per noleggio nissan terrano 2 7 2000 women picturs com giovane al green. gospel according to al green we re not gonna take it tv 14 sony dsc-t3 sony jinx sardinia vasi romani kenwood sintoamplificatori serate tommy vee diffusori hi-fi fac simile di ricorso al garante privacy phillips, stephen coniglietto di playboy canon a gazzettino it to semedo il cardinale canto gregoriano te deum konica sega circolare con banco nagoya hotel san leandro philips fw m15 bruno bozzetto download migliore televisore plasma spartito queen protrusione discale consulente commerce testo di sunrise monster rancher 3 chat latino samsung lcd 20 lonsdale chino robert brown materassino gonfiabile da campeggio pornaccess fotocamere compatte olympus trapani milano biglietti aerei felice daniela the rythym is magic hey sexy lady wilki bohema tastiera 88 ernesto il ribelle agatha incontro cesenatico testo canzoni antonacci supporto per palmari auto prefissi per cellulari da cuba palmari con gps fotocamera divano gonfiabile letto screensaver paesaggio aspire 2800 cordless siemens con segreteria centralino rai braun silkepil living in my own elenco hotel lisbona breathe easy base vaio mouse e tastiere il divo ginnastica artistica non lo fai per amore driver flash disk georgos mazonakis mp3 de noche en la ciudad image msn com seagate momentus 4200 2 liceo e pascal weasle condizionatori carrier bloodrayne arriva su psp home theater bose www cgilscuola it rieti fisio 630 pensioni rimini figa nera it s wonderful world data backup pady pank everything that glitters classe 15 con attestato di rischio socket sdio haiducci dragosta din tei trombone pistoni un caso fortunato ford racing 2 acer 512mb usb mp3 lexus ls 400 ministero per i beni e le attivita culturali nikon f-100 he shape of my hear luan zhegu stampanti hp laserjet 2100 giochi del mare istituti paritari a siracusa saalian bilabiale gianna singole la situazione di advance wars pioneer dv 380-s hotspot super filmotheque lettore mp3 registratore 1gb konica minolta dimage 7i servants phone center servizi dimage e 323 konica minolta il mito di protagora platone dfi nf4 infinity microsoft money 2005 creative lettore mp3 muvo tx se alaia vestito giorgia palmas fakes www stronng com news furgoni mercedes benz aoc 19 monitor supermerca 2 le ragazze del wrestling ragazzo bollate justin timberlake like i love you grand hotel aston maniglie maniglieria bci 3000 cd doobie brothers f c barcelona last minut com it el carro de mustang pavo album digitale toner type 1220d video di carolina marconi maglie datch snuff machinery portoni sezionali asus pda carmel ristorante o zone dragostea din tei video toshiba r100 card reader 3 5 emily transex i cavalieri dello zodiaco - la leggenda coldplay video colin macrae rally wheda rimorchio usati codici sblocco telefonini toyota prius problemi strictly come dancing copertina di fifa2005 flaminia du parc coco n club photo gratis con vagina rom di killer instinct microonde panasonic forno ventilato tutto citta roma www webpatente it venditori tecnici (regione piemonte - torino provincia) x-men 1.5 - x-treme edition amd 64 4400 x2 cuffie musica jotuni, maria hard disk serial ata 150 200gb bassa danza wave master agriturismo mugello adult entertainment ennio morricone valore auto usata eurotax comune milano locchio della spirale daryl hannah playboy orient automatico lei 55 cicciolina e il suo cavallo testo from sarah with love sposati lucarelli selvaggia

OMP client's user interface .

Project home: OMP homepage
Author: Friedrich 'Face' Kastner-Masilko
Current version: Unknown
Compatibility: Unknown


OMP was announced on IRC as project to 'properly' execute a multi-player environment in Orbiter. Presumably this meant it would take care of more of the conventional space-simulator multiple player caveats and be more of an end-user oriented product than the previous, mostly experimental multi-player projects IRCMFD and Multiorb.

Using low-level TCP and UDP connections between machines, OMP may be considered a third-generation Orbiter multi-player system, although it's understood that each machine is still responsible for its own physics.

Version history

  • V0.1 - 2005-09-06 Alpha release
  • V0.1 - 2005-09-09 Patch 1: Buffer sizes has been increased to 4096 in order to allow longer startup messages on server. Documentation extended with checklists.
  • V0.1 - 2005-09-10 Patch 2: Added jump feature - see documentation.
  • V0.1 - 2005-09-11 Patch 3: (Hopefully) fixed the CTD bugs for various situations
  • V0.1 - 2005-09-17 Patch 4: Fixed default server config file
  • V0.1 - 2005-09-20 Patch 5: Server and Client log to file, too

  • V0.2 - 2006-04-23 Second alpha release
  • V0.2 - 2006-04-27 Patch 1: Fixed a problem with OMPDefault.cfg; fixed a server security breach; implemented a 5s delay of absolute-only transmission after a jump in order to allow re-jump and jump to another (far away) vessel of the same client
  • V0.2 - 2006-05-02 Patch 2: Fixed a problem with server's sync controller, causing indeterministic CTDs after some time; added main thruster groups level transmission - now you can see particle streams of remote vessels and attitude bursts

  • V0.2.9.6 - 2006-09-21 Public development closed, start of closed beta-testing. First release to beta-team

Status

As of August 2007, client software development is ongoing but closed to the public. The server software will be rewritten with .NET technology by means of a SourceForge project. At this time no public servers are known. Some Virtual space agencies used OMP for their missions before public development was closed.

The current development model consists of one private server - hosted by the author of OMP - and a beta-test team using the newest client snapshots.

Networking issues

From the 0.2.2 patch most NAT problems are worked around and OMP now sends 8 kb packets, so, virtually any type of internet connection can use, as well as host OMP.

Installing early versions

  1. Download the OMP 0.2 pack from here
  2. Extract the zip archive in the orbiter directory.
  3. Download the following files from here
    • Orbiter plugin
    • Default configuration for the Orbiter plugin
    • Dummy scenario file for the automatic startup feature
  4. Put the orbiter plugin in Orbiter\modules\plugin directory. OVERWRITE THE PREVIOUS FILE!
  5. Put the Default configuration for the orbiter plugin in Orbiter\modules\plugin directory. OVERWRITE THE PREVIOUS FILE!
  6. Put the Dummy scenario file for the automatic startup feature in orbiter\scenarios OVERWRITE THE PREVIOUS FILE!
  7. Disable any firewalls.
  8. Open the orbiter launchpad, and under the modules tab, activate the OMPClient module.
  9. When you activate that module, a dialog will pop up. That's the OMP client.
  10. Click in the server text field. Delete the IP inside it, and put the server IP you are trying to connect.
  11. Click on standard.
  12. Under name, put the username you want. Put a password you can remember, and hit connect Orbiter.(Launch Orbiter changes to connect orbiter)

This should get most of the users connected, if they follow the procedures correctly. If you are still having problems connecting, try this alternative method:

  1. In the OMP client, click on Custom. The custom field should become active. Type your IP address in the custom field. If you don't know your IP address, get it here.
  2. Make sure ports 1500 and 2500 are forwarded, for both UDP and TCP
  3. Try reconnecting.

Features

  • Remote vessel replication - see vessels of other clients inside your Orbiter session
  • Dock support
  • On-orbit and ground operations
  • Integrated text-based chat
  • "Jump" feature - jump to other vessels immediately to save time
  • Orbiter Playback function works with OMP
  • Support for different planetary systems
OMP technology schematic.
TCP session on OMP server.

Technology

The concept of OMP is a client/server-based architecture with timestamped stream communication. The system uses SNTP timeservers to synchronize both clients and server to UTC. The 3 elements in the concept – client, server and timeserver – can be seen in figure to the right.

Not shown in this sketch is the communication between clients. This communication is similar to the UDP transmissions between client and server.

Basically, there is one server hosting a “universe” for all connected clients. This “universe” is a specific Orbiter configuration and should be known by every client. I.e., every client must know what Orbiter configuration it has to start before it connects to the server. This will be changed in later versions towards automatic negotiation in order to assure proper client/server configurations.

Clients start a TCP session with the appropriate server and can check out the server environment (users, information about vessels, scenario information etc.) similar to an IRC or telnet session. They actually join the multi-player session by sending an appropriate command followed by their name, password and receiving port. The server responds with the reserved receiving port on the server side. Clients can then start the actual simulation link.

The TCP session is used for transmission of text information of any kind to keep UDP packet sizes small. An open TCP session is therefore a must, if the client wants to see the right class (mesh) and name of its neighbor vessels, because this text information is transmitted via TCP rather than UDP with an automated negotiation sequence.

As soon as a client joins the multi-player session, it tries to synchronize the simulation’s MJD to the server’s MJD – being a fault tolerant average of all client’s MJDs. The server transmits this information by means of a Keep Alive UDP packet (KA). As soon as a client is in sync with the server regarding MJD (i.e. all celestial bodies are in proper position), all vessels hosted by the client are transmitted to the server by means of the absolute position w.r.t. the appropriate gravitational body with major influence.

The server decides, which vessel is in visible range of which other vessel and transmits the appropriate information by means of a Group Information UDP packet (GI). Each client processes it’s GI list and sends either an absolute or a relative State Information UDP packet (SI) to the neighbor client, depending on:

  • the velocity of the vessel w.r.t. the gravitational body – currently everything below 1000 m/s is considered “non-orbital speed”, therefore absolute coordinates can be transmitted – and
  • the availability of the target vessel (i.e., the vessel of the neighbor client) – if there wasn't an absolute coordinates transmission before, the target vessel is not visible to the client yet, therefore it can not calculate relative coordinates.

If a client receives an SI, it creates or updates the appropriate vessel with a generic name (based on the global ID of the vessel) and a default class. This default vessel will be exchanged with the proper name and class later on, if the client was able to gather the information from the server via TCP.

If streaming of SI or GI is interrupted (either because the server is offline, the neighbor client is offline or – less dramatically – the vessel is out of visible range) for more then 5 seconds, the appropriate vessel is removed.

In order to automate the above mentioned steps for login and logoff, the client software uses the following procedure for instant Orbiter scenario launch: After the multi-player session scenario has been generated with a special name (“$Multiplayer session$” ensures the scenario showing up as first entry in the scenario list in the launch pad), the system remote-controls the Orbiter launchpad to select that scenario and launches the simulation. The same remote-controlling ensures, that no other scenario can be launched in the meantime by disabling the appropriate buttons and controls.

See also