OMP Discussion

Status
Not open for further replies.

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
I downloaded the client from the link you posted here:

http://orbit.m6.net/forum/default.aspx?g=posts&t=17803

I don't believe the server files were included, though.

EDIT: Well, I got the server up and running. There are some issues that I'd like to fix, though. I would appreciate the help, if it can be given. The first problem I'm having is obviously going to cripple my attempts at having fun in space with others. The problem is that when I get in-game I'm stuck at 0.1x Time Acceleration. When re-setting it to 1.0x via the, "T" key it automatically resets itself back to 0.1x within 1 second.

Any known fixes to the issue? I checked the .xml file and I managed to find the area which defines time acceleration. However it's set to allow anything from 0.1x to 1,000.0x.

Sounds like you're having problems with UDP blocking. The server is not only using TCP for connection, but UDP bidirectionally, too.
Please keep in mind that its all WIP. If you can't get it to work, I think you're out of luck for now. Just wait for the official release...

regards,
Face
 

TSPenguin

The Seeker
Joined
Jan 27, 2008
Messages
4,075
Reaction score
4
Points
63
I have experienced the same issue with the 0.1 time accel.
It only happened when I am connecting to my friend who is behind a NAT router. All relevant ports are open on TCP and UDP.
He can connect to me fine.

Nonetheless, we can chat but we do not see each other in game.
We have yet to run a long test and see if we sync after all.

Face said:
If you can't get it to work, I think you're out of luck for now.
And that is exactly it! I am glad to know that you still have OMP on your mind and keep working on it from time to time.
:cheers:
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
And that is exactly it! I am glad to know that you still have OMP on your mind and keep working on it from time to time.
:cheers:

Yes, I am. Unfortunately, real life needs attention from time to time :) , especially with those financial hickups nowadays. OMP became Omit My Pocket quickly, if you know what I mean ;) .

cheers,
Face
 

indigeous

New member
Joined
Nov 25, 2008
Messages
3
Reaction score
0
Points
0
Website
www.603squadron.co.cc
Guess it's not going to work. I did define the port for the connection and opened it for both UDP and TCP connection types. Seeing as it wasn't working, I'll be waiting for the official release.

Thanks for letting me try it anyways.
 

computerex

Addon Developer
Addon Developer
Joined
Oct 16, 2007
Messages
1,282
Reaction score
17
Points
0
Location
Florida
We should set up an OMP session now that Face is hosting his server so we can all (beta testers) get online at the same time to do some testing. Maybe this weekend? How about nine, tenish this Saturday? What do you guys think? I try to get online after I come back from school, but it's rather boring flying the DG alone. :)
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
We should set up an OMP session now that Face is hosting his server so we can all (beta testers) get online at the same time to do some testing. Maybe this weekend? How about nine, tenish this Saturday? What do you guys think? I try to get online after I come back from school, but it's rather boring flying the DG alone. :)

If we try to coordinate OMP sessions, we should be careful with time statements. I'd suggest using UTC as time standard. So, do you mean nine to ten in your local time-zone? That'd be 1400 to 1500 UTC IIRC (Florida is -5 currently).

It would be 1500 to 1600 for me (Austria is +1). OK IMO.

regards,
Face
 

Zatnikitelman

Addon Developer
Addon Developer
Joined
Jan 13, 2008
Messages
2,302
Reaction score
6
Points
38
Location
Atlanta, GA, USA, North America
Sorry if this is the wrong place, but I had an idea about coordinating Timewarp between players.
Why not use a polling system where one player presses T and everyone gets a message "x wants to increase timewarp." If they agree, they press T and once everyone's pressed T, the timewarp increases on everyone's own Orbiter. The same can be done for R or in case one person's flying to Mars, and one's docking to the ISS, the "docker" can pull timewarp down for everyone, dock, then allow the people to fly to Mars.
The only caveat I can readily think of is a noob that agrees to increase timewarp, then constantly R's it back down just to be a noob (though that's what a kick function's for :p).
Any ways, thought of the idea a while ago and finally remembered it when in front of a computer :p
 

Hielor

Defender of Truth
Donator
Beta Tester
Joined
May 30, 2008
Messages
5,580
Reaction score
2
Points
0
Sorry if this is the wrong place, but I had an idea about coordinating Timewarp between players.
Why not use a polling system where one player presses T and everyone gets a message "x wants to increase timewarp." If they agree, they press T and once everyone's pressed T, the timewarp increases on everyone's own Orbiter. The same can be done for R or in case one person's flying to Mars, and one's docking to the ISS, the "docker" can pull timewarp down for everyone, dock, then allow the people to fly to Mars.
The only caveat I can readily think of is a noob that agrees to increase timewarp, then constantly R's it back down just to be a noob (though that's what a kick function's for :p).
Any ways, thought of the idea a while ago and finally remembered it when in front of a computer :p
What if you want to slow down time to dock to a station, and someone else who's on a trip to Mars is afk?
 

Pilot7893

Epik spaec mishun!
Joined
Mar 19, 2008
Messages
1,459
Reaction score
1
Points
0
Location
Beverly, MA
I'm going to try and download this thing again, now that I know a little more about online gaming. Just one question. Does OMP support voice?
 

Epsilon

Interplanetary Road Pizza
Addon Developer
Tutorial Publisher
Donator
Joined
Nov 1, 2008
Messages
197
Reaction score
5
Points
16
Location
Seattle
What if you want to slow down time to dock to a station, and someone else who's on a trip to Mars is afk?

He actually already covered that. Lower timewarp factors take precedence over higher ones. Another game that does this (by default, at least) is Defcon. You -can- have some moron who decides to pull down the timewarp just to be a clown, but they can be kicked if they're doing it just for the sake of doing it.

What I wonder (just from what I've seen of the OMP code) is if it'll cause syncing issues, since OMP appears to create the sync via the timewarp function. I have to wonder if it won't try to re-sync (thereby resetting the timewarp) because of the ping between clients and server. 200ms difference in ping between one client and another seems to be fine at 1x timewarp, but then the timewarp gets kicked to 100000x, and suddenly you're half a day apart. <_<
 

Hielor

Defender of Truth
Donator
Beta Tester
Joined
May 30, 2008
Messages
5,580
Reaction score
2
Points
0
I'm going to try and download this thing again, now that I know a little more about online gaming. Just one question. Does OMP support voice?
Yes, it supports voice.

That is to say, it does not prevent you from having a ventrilo client opened and connected to a server. It does not have voice handling on its own.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Sorry if this is the wrong place, but I had an idea about coordinating Timewarp between players.
Why not use a polling system where one player presses T and everyone gets a message "x wants to increase timewarp." If they agree, they press T and once everyone's pressed T, the timewarp increases on everyone's own Orbiter. The same can be done for R or in case one person's flying to Mars, and one's docking to the ISS, the "docker" can pull timewarp down for everyone, dock, then allow the people to fly to Mars.
The only caveat I can readily think of is a noob that agrees to increase timewarp, then constantly R's it back down just to be a noob (though that's what a kick function's for :p).
Any ways, thought of the idea a while ago and finally remembered it when in front of a computer :p

I've thought about such a function, but eventually settled the design to spacetime-"bubbles" with leaders (i.e. user who is the designated leader of the spacetime-bubble). The leader can always set the acceleration for its spacetime, and everyone following this spacetime will be synced to this acceleration.
The implementation (of course not fully tested) is in the server code already, but not in the client (you can't change spacetime-bubble yet).
At the moment, there is only one spacetime-bubble active - the server's. And it only has 1x acceleration, although it can be skipped to an arbitrary date by administrators.

Pilot7893 said:
I'm going to try and download this thing again, now that I know a little more about online gaming. Just one question. Does OMP support voice?

Not yet, but it is planned to have a rudimentary VoIP system using the UDP stream.

regards,
Face
 

Jarod

Member
Joined
Dec 13, 2011
Messages
169
Reaction score
0
Points
16
Hi Face,

I've thought about such a function, but eventually settled the design to spacetime-"bubbles" with leaders

Is this something that has been implemented ? I'm sorry if this has been already discussed, but Time Jumping could be another solution :
when the scenario editor modify the date and "vessel state propagation - Orbital" is set to "Propagate along osculating elements", a jump in the date set the new ship's position accordingly to its orbit (closed or not).
So a player could ask for a 3000 seconds jump and others could say yes, no or set a smaller deltaT.
APU Fuel is not deduced with that kind of jump so players don't need to check if all their ships are in a safe mode before the jump.

As I see it, this would have less problems than trying to sync all the players at high timewarp speed, a player set a time jump in seconds, others validate, the server send the time jumping command to clients with the new wanted MJD and all clients execute it and stay in sync.

Sorry if I misunderstood the complexity of the problem.
 

squeaky024

New member
Joined
May 26, 2010
Messages
128
Reaction score
0
Points
0
Location
Here.
Website
www.google.com
So just to clarify, in the future the bubble system will be like user groups? Are you saying that for example players 1,2,3 want to make their own bubble, and assign 1 to lead the bubble? Also how do bubbles interact with other bubbles if one ship of bubble 1 enters bubble 2, and is there a certain distance the players must be from/with the leader? I like the bubble system because it allows for the server owner to decide if they want a universal time or if they will allow players to set their own times. Will there be a voting system like stated earlier with the time warp requests?

I haven't tried OMP but these questions are based off of what I understand so far from reading posts and the wiki over time. I plan to eventually have a server with my friends where we have a persistant universe (space stations and other things stay and save when people leave, constant infrastructure and bases, etc) so that we can build or meet at space stations or organize trips to other planets and bases.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Is this something that has been implemented ? I'm sorry if this has been already discussed, but Time Jumping could be another solution :

The bubble concept is already implemented on the server side. What is missing is the UI on the client side. Your jumping-idea is a client-side decision IMHO, i.e., the user has to decide if he wants to jump the gap between his current time and the destination bubble's time via:
* the automatic MJD sync algorithm (basically a confined time-acc up to max. x2),
* manual time-acc or
* a ScnEditor method like you proposed.

As I see it, this would have less problems than trying to sync all the players at high timewarp speed, a player set a time jump in seconds, others validate, the server send the time jumping command to clients with the new wanted MJD and all clients execute it and stay in sync.

"Stay in sync" is already the general term here, so offsetting the "common" time to the client's time by more than a few seconds is just a special case of it.

Choosing a bubble is a simpler task than a complex voting system, both in implementation and user experience, if you ask me. Especially since the "stay in sync" part is already implemented.

A similar experience is possible right now, you just need to convince the server admin to run "mjd reset <date><time>y" from an admin shell. The server would then immediately switch the time of the global bubble (which is the only one right now due to the lack of a client-side bubble-switcher) to the set value. Of course the clients will start to speed up their time-acc to x2 (or x0.1) immediately, but every client is free to use ScnEditor to time-jump instead of time-acc to the specific point in time.

So just to clarify, in the future the bubble system will be like user groups? Are you saying that for example players 1,2,3 want to make their own bubble, and assign 1 to lead the bubble?
In a sense, yes. Right from start, a user is in the global bubble (just a bubble that is always there). He can then decide to create a bubble (becoming the leader of this bubble) and join it. Others can join this bubble, too. As soon as you are in a bubble, your Orbiter session needs to be synced to the time there. The time there is provided by the leader of the bubble. So following your example:

1. 2 and 3 say to 1: "hey, let's go to Mars! you are the fleet commander!".
2. 1 creates the bubble labelled "1/MarsFleet" and joins it. So do 2 and 3.
3. 1 makes orbital ejection, 2 and 3 follow.
4. Once in coasting phase, 2 and 3 tell 1 that they are ready for acceleration to MCC, so 1 speeds up until he sees MCC point coming up, then slows to x1 again. In the meantime, 2 and 3 were synced to this time-acc, too. So in the end, they are all at MCC.
5. If now 3 decides to speed even further up, because 1 is a crappy leader (or whatever), he can create his own bubble and join it, becoming leader there and being able to speed time up even until he reaches Mars faster than 1 and 2.
6. Now 1 and 2 reach Mars, too, just some 5 real-time minutes later. 3 is hanging there in Orbiter, but feels lonely, so he joins the fleet bubble again.
7. His client slows him done immediately, because 1 and 2 are like 2 sim-weeks earlier at Mars due to the optimized course. So 3 can now either wait 2 weeks in x0.1 acceleration until the default algorithm synced him, or he can just use the ScnEditor to time-skip him back with orbit propagation.

Also how do bubbles interact with other bubbles if one ship of bubble 1 enters bubble 2, and is there a certain distance the players must be from/with the leader?
It is really simple: if clients are in sync in a space-time bubble, they see each other.

So you have 2 parts: space and time.

Sync in space is at the moment defined by the server-wide "sub-visual distance" parameter. This parameter defines the meaning of "being in visual range". A value of e.g. 1000 of the parameter means, that something of the size of 1 m is only visible to you, if it is less than 1 km away. Of course you can set this value very high (like with the ORL setups), so "sync in space" basically means "orbiting the same celestial object".

Sync in time is defined by the bubble you are in AND a client-side epsilon parameter. This parameter specifies the max. deviation of your simulation's MJD from the bubble's MJD. If your deviation is small AND you are in the right bubble (simple ID check), your are "synced in time".

If you are synced in space and in the right bubble, the server already starts to broadcast neighbour information to you. If a client receives neighbour information, it sends state-infos to the neighbours. If you receive state-infos from neighbours and you are synced in time, the appropriate neighbours are displayed. That's it.

I like the bubble system because it allows for the server owner to decide if they want a universal time or if they will allow players to set their own times. Will there be a voting system like stated earlier with the time warp requests?

ATM I don't plan to restrict the amount of bubbles a user can create. Maybe I'll add a permission system later, but this is far in the future. As for the voting system: I don't see the need for a voting system with the bubble concept. If you are not happy with the current bubble leader, create your own. If you are not happy with the loneliness in your bubble, convince others to join it, thereby accepting you as leader. If you can't convince 'em... tough luck.

regards,
Face
 

Jarod

Member
Joined
Dec 13, 2011
Messages
169
Reaction score
0
Points
16
Thanks for the answer, just a thing I don't understand, why use time acc 2x or 0.1x and let the player use ScnEditor to modify MJD instead of modifying MJD automatically ?
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Thanks for the answer, just a thing I don't understand, why use time acc 2x or 0.1x and let the player use ScnEditor to modify MJD instead of modifying MJD automatically ?

Because he will then have the choice when and how to work out the big time difference. Within x0.1 and x2, there is no big disturbance in the normal play. Most - if not all - addons are stable under this accelerations, and even humans can cope with a double-timed game-play. So if the target MJD changes, there is no "Oh no, I left killrot on, now my APU is out", and also no "Oh no, now it time-jumped me there, I wanted to do that last insertion bit on my own".

I'm no big fan of unnecessary automatisms, so I'll let the way how the user jumps the big time gap open. Of course, a simple dialog with default action is nothing complex to add, like e.g. "MJD synchronization is off by more than 1000 seconds, do you want to use <combo-box>?" - with <combo-box> offering something like "auto high-value time-acc", "orbit-propagated time-jump", "manual adjustment".

In addition, this open approach is not contradicting the full-auto one. The later is rather an addon to the former, so development is also easier. First the framework, then the candy...

regards,
Face
 

Mariner

New member
Joined
Feb 20, 2012
Messages
1
Reaction score
0
Points
0
Alternative Time-Space Sync Solution

After doing some marginal researching, and deducing that time accel for a multiplayer server would definetly be an issue, I came up with an idea of my own.

It mirrors the bubble idea, but would be much less a hassle. Now Keep in mind, I have litteraly no programming or networking experience outside of connecting my laptap to Wifi and changing a few things around in Rome: Total war (Which, if you don't know, is like playing connect the dots, very idiot friendly) so I apoligize in advance if my idea sounds complete impossible. Now lets cut to the chase...

Instead of syncing a number of users to a time bubble and forcing them to accel at the same time, allow each user to control time acceleration normally and independantly of others.example:

1. P1 and P2 are orbiting Earth, while P3 is orbiting Mars. They are all currently starting at the same time.
2. P1 Ejects from Earth's orbit enroute to Mars, chooses time accel of choice.
3. P1 Arrives at Mars. Stops Time accel, and ends up X number of months ahead of P2 and P3.

Now, let's say that P1 and P3 orbit and and positions are exactly the same around Mars. Nither of them would see eachother because they are in vastly different spots on the timeline.

4. P1 sends P3 a message: "Hey P3, lets rendevous and exchange (cargo/fuel/nudes/etc.) This is my Time and Vessel name: (Blah Blah Blah) P3 agrees. P3 can either choose time accel or use some tool/MFD/Scenario Modifier and select Auto Sync Time with (Vessel). P3 would also have the option of a realistic time propagation (He would end up in the correct postion in his following his orbit) or a theoretical (Only time is shifted and not his position in his orbit)

5. P1 and P3 are now in sync, and P2 is still x months behind.

Again, my experience is developing is lower than noob, but I have a feeling that the amount of information needed to be stored would cause some issues like lag or what have you. I just wanted to share my idea and let the experts decide. ;)

Hope this was helpful, and if it wasn't, sorry for wasting your time!
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Sorry for the late response, I somehow missed this totally...

Your proposal sounds exactly like the space-time bubble idea I outlined numerous times. Could you elaborate on what is actually different?

The forcing of time-acceleration is of course only for the time someone is inside a bubble. As soon as he deliberately uses time-acceleration, he'll be out of that bubble, inside his own, possibly new one.
 

Arrowstar

Probenaut
Addon Developer
Joined
May 23, 2008
Messages
1,785
Reaction score
0
Points
36
I saw in the OMP News thread that OMP had been updated. Any interesting changes from the previous version?
 
Status
Not open for further replies.
Top