# OMP Support

Status
Not open for further replies.

#### Face

##### Well-known member
Orbiter Contributor
Beta Tester
This is the support channel for questions, hints or bug reports regarding OMP.

#### Botuts

##### New member
Working on it?

So you guys are working on OMP? :huh:

#### Face

##### Well-known member
Orbiter Contributor
Beta Tester

#### Fizyk

##### Member
I've downloaded the OMP from Sourceforge and tried to start it, but I couldn't get it to work.

The server started, loaded the Solar System and then threw an exception:
Code:
Unhandled Exception: System.FormatException: Input string was not in a correct f
ormat.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffe
r& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseDouble(String value, NumberStyles options, NumberFormat
Info numfmt)
at System.Double.Parse(String s, NumberStyles style, NumberFormatInfo info)
at System.Convert.ToDouble(String value)
at Orbiter.Multiplayer.Map.DecodeCelestialBodyConfigurationLine(CelestialBody
ConfigurationNode node, CelestialBody body)
at Orbiter.Multiplayer.Map.DecodeCelestialBodyConfigurationLine(CelestialBody
ConfigurationNode node, CelestialBody body)
at Orbiter.Multiplayer.Map.DecodeCelestialBodyConfiguration(String file, Cele
stialBody body)
at Orbiter.Multiplayer.Map.InitGlobals()
at Orbiter.Multiplayer.Map.Reconfigure()
at Orbiter.Multiplayer.Server.Start()
at Orbiter.ServerConsole.Main(String[] args)

The client also didn't work properly, it said something like this:
Code:
 TCP: Error sending to 192.168.128.10:0..
even when I changed the IP, and the port never was set to 0.

#### Face

##### Well-known member
Orbiter Contributor
Beta Tester
I've downloaded the OMP from Sourceforge and tried to start it, but I couldn't get it to work.

The server started, loaded the Solar System and then threw an exception:
<snip>

Thanks for the report, this looks like a localization issue. I'll look into it...

The client also didn't work properly, it said something like this:
Code:
 TCP: Error sending to 192.168.128.10:0..
even when I changed the IP, and the port never was set to 0.

Well, I this is a known bug... the client in the released package is outdated, anyway. You can get the latest via SVN repo.

regards,
Face

#### Face

##### Well-known member
Orbiter Contributor
Beta Tester

The latest OMPClient consists of more files than only OMPClient.dll. The /DotNet/ folder is needed, too, as is the OMPClient.log4net file in the /Plugin/ folder. I realized that some files were missing and some were unnecessary, so I fixed it in the latest revision for those precompiled binaries.

BTW: Please be aware, that the precompiled binaries in the SVN-repository not reflect the latest code-base (with rev. 57 they do, of course). To be really up-to-date, you need to check out the source code and compile it.

regards,
Face

#### LoserSVK

##### New member
Hello im newbie with OMP i downloaded it from http://sourceforge.net/projects/orbitermp idk if its new but if i press connect orbiter tcp connection failed why??? Is that server outdated??? Can u send me some ip of server what is working pls?

#### Face

##### Well-known member
Orbiter Contributor
Beta Tester
Hello im newbie with OMP i downloaded it from http://sourceforge.net/projects/orbitermp idk if its new but if i press connect orbiter tcp connection failed why??? Is that server outdated??? Can u send me some ip of server what is working pls?

To test the released version of OMP, you can start the server application and Orbiter with the module loaded on the same machine. The appropriate address entry for such a setup would be "localhost"... Check out the doc folders, there should be a OMP.pdf to start with.

The current SVN-snapshot is much more stable, though.

I don't know about running servers ATM.

regards,
Face

#### LoserSVK

##### New member
So OMP isnt avaiable like normal online game where can i join everytime? and there are many peoples arround. I must have some friends with who i can play?

#### Face

##### Well-known member
Orbiter Contributor
Beta Tester
So OMP isnt avaiable like normal online game where can i join everytime? and there are many peoples arround. I must have some friends with who i can play?

If I understand this correct, your questions are:
a.) OMP is not like "normal" online games - with dedicated, well maintained server, where there are always many people around?
b.) Do I have to organize my online sessions with friends myself?

a.) Obviously you mean commercial online games by the term "normal". OMP is not like those games in two aspects: it is not commercial and it is not finished ATM (alpha state). Therefore there is no dedicated, well maintained (public) server available - at least non that I know of.
b.) Yes. At the current development stage you'd have to do this.

If you're unhappy with this situations you can:
a.) Finish it by means of using the current SVN-snapshot as base implementation - or even do your own thing.
b.) Create a dedicated, well maintained server yourself - but be aware that there won't be support from my side, cause I'm busy finishing it instead.

What you shouldn't expect is:
a) A public OMP server maintained by me in the next month.
b) A finished, "gold" release of OMP in the next month.
c) Changing my pace of development by means of words (of course you can by means of money :lol: ).

But seriously: don't expect too much from OMP ATM, you'll be disappointed and frustrated if you try too hard. Just wait for the official OH release...

regards,
Face

#### Fizyk

##### Member
I posted this also on the ORRL group, but maybe here you will see it sooner:

I checked the network traffic with WireShark and it seems, that despite UDP port being set everywhere to 2502, the client tries to join the server with:

jn Fizyk 0 abcd

(abcd is a dummy password, I just had nothing better to enter there )
It looks like it declares listening on UDP port 0, while it's configured to listen on 2502. Besides, I can't forward UDP port 0 on my router.

I hope this will help to improve OMP

#### Hielor

##### Defender of Truth
Donator
Beta Tester
I posted this also on the ORRL group, but maybe here you will see it sooner:

I checked the network traffic with WireShark and it seems, that despite UDP port being set everywhere to 2502, the client tries to join the server with:

jn Fizyk 0 abcd

(abcd is a dummy password, I just had nothing better to enter there )
It looks like it declares listening on UDP port 0, while it's configured to listen on 2502. Besides, I can't forward UDP port 0 on my router.

I hope this will help to improve OMP

The problem I had was that the default port (which I believe was 2502) wasn't working...I had to select the "custom" option and use the data that was already entered there (which I believe had port 2500).

This was awhile back though, not sure if it's the case anymore.

#### Fizyk

##### Member
The default custom port is 2502 too.
But yeah, when I switched to custom, it worked! The time warp when I joined was 1.6x though, but I assume that was because the client and the server had to match their times, after a while everything was normal.

The problem seems to be the client not setting the port number, unless it is specified with the "custom" option.

#### Face

##### Well-known member
Orbiter Contributor
Beta Tester
I posted this also on the ORRL group, but maybe here you will see it sooner:

I checked the network traffic with WireShark and it seems, that despite UDP port being set everywhere to 2502, the client tries to join the server with:

jn Fizyk 0 abcd

(abcd is a dummy password, I just had nothing better to enter there )
It looks like it declares listening on UDP port 0, while it's configured to listen on 2502. Besides, I can't forward UDP port 0 on my router.

I hope this will help to improve OMP

There are 3 connection methods.

"Standard" uses the join message you posted above. It tells the server to add the user "Fizyk" with password "abcd" with the STUN method (port 0). STUN is short for Simple Traversal of UDP over NAT(Network Address Translators). In essence it is quite simple: just send back the packets to the same port you received from. This means that the server always sends UDP packets back to the same port and IP he received packets from the client before.

Often this method just works. But some NATs don't support STUN and therefore there are additional methods:

"Custom" binds the receiving client to the port and ip defined in the IP and port fields in the network tab. In addition, the server is told to send the UDPs to this ip and port by means of the "ip <ip>" and "join <name> <port> <pass>" commands. Those commands are no secrets BTW - you don't have to use WireShark to get them, just use puttytel to telnet to the server TCP port directly and enter "help".
This method is used as a fallback, when you have a specific router/firewall/ISP that exposes only a specific IP and port to the net for your machine.

The "Server-LAN" method is used in the special case of a LAN containing server AND clients, where WAN clients should be able to connect, too. In this case, the IP addresses are different. While the WAN clients need the common WAN IP for LAN-client interaction, the LAN-clients need the LAN IPs of each other. All LAN-clients have to use it in order to send the special command "ip server" on connection startup.

Hope this helps... and thanks for the input!

regards,
Face

#### Fizyk

##### Member
Oh, I see, now it's all clear. Thanks

Face said:
Those commands are no secrets BTW
I know I found them in the documentation, when I wanted to know what are they doing. I used WireShark rather to see if the UDP packets are coming through, and that I saw these commands was more like kind of a side effect.

#### Fizyk

##### Member
I found out, that when I change my regional settings to English - US, I am able to start the server (otherwise it throws the same exception, as I wrote before). I looked in the code and searched the internet a bit, and the solution may be using Convert.ToDouble(String,IFormatProvider) instead of Convert.ToDouble(String), like:
Code:
Convert.ToDouble(someString, CultureInfo.GetCultureInfo("en-US").NumberFormat);

#### Face

##### Well-known member
Orbiter Contributor
Beta Tester
I found out, that when I change my regional settings to English - US, I am able to start the server (otherwise it throws the same exception, as I wrote before). I looked in the code and searched the internet a bit, and the solution may be using Convert.ToDouble(String,IFormatProvider) instead of Convert.ToDouble(String), like:
Code:
Convert.ToDouble(someString, CultureInfo.GetCultureInfo("en-US").NumberFormat);

Thanks for the hint.

#### guitarist473

##### The UMMU that can play guitar
PLEASE HELP, i have tried and tried, i just dont no how to work this thing, i have the window when i open up orbiter launch pad with the chat n everything, but nothings there , what do i do? please help

#### Hielor

##### Defender of Truth
Donator
Beta Tester
PLEASE HELP, i have tried and tried, i just dont no how to work this thing, i have the window when i open up orbiter launch pad with the chat n everything, but nothings there , what do i do? please help

Status
Not open for further replies.

Replies
9
Views
573
Replies
101
Views
7K
Replies
2
Views
303
Replies
1
Views
128
Replies
16
Views
683