Jump to content

DarkMultiPlayer 0.3.8.0 [KSP 1.12.0]


godarklight

Recommended Posts

Just a question, wouldn't it be interesting if the acceleration of the craft was also accounted?

Because I think that it would help with the smoothness, even more when you have an airplane performing a constant turn (even if for a few moments).

Welcome to the world of interpolation! By the time you finish writing interpolation code, you'd have made a complete set of physics code!

Just kidding. But interpolation/extrapolation (whereas interpolation involves making smooth animations between packets/messages, while extrapolation involves predicting the motion of a craft before a packet is received) is extremely complex, and you have to factor in things like input lag.

You could definitely plug in many physics equations into the interpolation problem to make physics as smooth as possible.

It's too bad it would take a complete rewrite if one made a "Unity server" thing where clients don't have to compromise in physics because the server can handle/is handling basically everything, including physics. Clients would still use their own physics but it would get corrected every packet or so. It wouldn't be smoother, but it would certainly keep clients synchronized (e.g. if one player collides with another player's vessel, both players see the collision, not just the player whose vessel crashed).

EDIT: This is directed more toward darklight, not you :D

Edited by longbyte1
Link to comment
Share on other sites

Welcome to the world of interpolation! By the time you finish writing interpolation code, you'd have made a complete set of physics code!

Just kidding. But interpolation/extrapolation (whereas interpolation involves making smooth animations between packets/messages, while extrapolation involves predicting the motion of a craft before a packet is received) is extremely complex, and you have to factor in things like input lag.

You could definitely plug in many physics equations into the interpolation problem to make physics as smooth as possible.

It's too bad it would take a complete rewrite if one made a "Unity server" thing where clients don't have to compromise in physics because the server can handle/is handling basically everything, including physics. Clients would still use their own physics but it would get corrected every packet or so. It wouldn't be smoother, but it would certainly keep clients synchronized (e.g. if one player collides with another player's vessel, both players see the collision, not just the player whose vessel crashed).

EDIT: This is directed more toward darklight, not you :D

Love the idea. :wink: :wink: :wink: darklight

Link to comment
Share on other sites

@longbyte1: Very complex: https://github.com/godarklight/DarkMultiPlayer/blob/25997cb6b1f27fbbd9039ce7a0f334d4e4f612e9/Client/VesselWorker.cs#L2167-L2177 :P

(Although this is technically a localhost flight, you did still see jumpiness with planes before due to the way DMPServer and the subspaces work).

Wow, the motion looks flawless. I guess the game did most of the work for you :D. Second most important thing to interpolate, though, is the rotation. I guess interpolating rotation does a favor for the game as well because less choppy orientation changes lead to less choppy velocity changes. (After all, client-side physics are still applied to other vessels, so we want to keep our physics consistent with what other clients are seeing, to minimize the need for incoming packets to correct client-side vessel movements.)

Link to comment
Share on other sites

Hey, is there anyway to import a single player game from another KSP into the dmp universe file to make it run that universe instead?

Yes, you can by launching the game on the computer that has the save you want to convert. Then at the main menu, click "options" in the dmp window. One of the buttons there says "generate universe from saved game". Click it, select the save file, and the mod will create a Universe folder in your KSP root. Just copy that to your dmp sever folder (replacing the old universe) and you should be good to go.

Link to comment
Share on other sites

Quick question provided I don't figure it out first -- I'm trying to run DMP server on a VPS right now (faster connection). It worked fine with the same setup and universe on my home computer but now it keeps kicking me off saying Write Failure and that the host aborted the connection. I have the firewall on the remote machine configured to accept connections through any executable in the DMP directory. The server keeps saying connection timed out... Maybe someone more experienced with DMP could point me in the right direction here?

Edit: Nevermind, it seems to have just been that provider. I switched and now I'm getting even better speeds and no dropped connections. Weird.

Edited by Duke23
Link to comment
Share on other sites

I was playing a multiplayer game on a local server, dev version with 0.25 and BTSM. I accepted a mission giving me 700 credits in advance, and now i ONLY have 700 credits - the rest vanished, all gone. I cannot do ANYTHING, no rocket can be built with 700, i cant even take a weather survey mission since i already HAVE an open weather survey mission, and only 700 credits...

Anybody has a hint for me?

edit: If you have a problem with standings or money, go to the server directory -> Scenarios -> Playername. Here you can edit Money and stuff.

Edited by LoneRider
Link to comment
Share on other sites

Hey, first off, let me be the umpteenth person to congratulate you on an amazing mod! I've been playing it with my bro on a local server and loving every moment of it.

We've run into a problem though, our reputation seems to be going down of it sown accord and we can't identify the problem that's causing it. I've got a ton of mods running so it's likely something playing around in there, but I was wondering if anyone else has encountered this problem whilst playing DMP?

My first guess, could perhaps both of us using the same kerbal (I'm guessing that's the cause of the KIA message?) be triggering the decrease in rep for a kerbal death? It's becoming an issue with the two of us struggling to maintain a reputation of great than -100. :3

Cheers in advance!

Link to comment
Share on other sites

Hi, i would like to synthesize the problem i encountered a few weeks ago.

Since i updated the game on 0.25 i have massive lags everytime the vessels infos are sent to the server, so something like every 30s. On 0.24 i was able to play

smoothly, not a single freeze/lag. The problem was making the game so unplayable that i reinstalled Kerbal 0.24 with the old and stable DMP client but i went off the rails

when i saw...The problem occured again !

I tried on two other computers and the problem persists. It is important to notice as i nearly only play multiplayer games, but i haven't noticed anything going worse on any of my other games.

Actually my upload bandwidth is quite bad (35ko/s) but this is more than enough to play with 64 players on Battlefield, and even more on Arma 3. It was indeed enough for DMP too, my connection didn't change here for years.

Last time i told you, dark, i had no problem on some server though. I was wrong. The explanation is easy : On those servers i was using some banned parts so nothing was sent to the server !

Well as you can see i have not the faintest idea of how all this happened, moreover because everything was previously working just fine and is still working fine on all my MP games.

Excuse my bad english, i really hope someone will bring the little idea i'm searching for weeks !

Thank you.

Edited by Dacan
Link to comment
Share on other sites

@longbyte1: Rotation interpolation.. *shivers*. I know enough about quaternions and how I should be slerping them, but KSP doesn't provide you with a rotation it's slerping towards, it's UnityEngine that provides you with a angular velocity vector. It appears setting the angular velocity for the ship *kind of* works, but doing it on the root part isn't enough - the rest of the mass of the ship cancels it out, so I'd need to transform that single vector onto all of the other parts. I'm already attempting to do this, but it's not quite right...

@hvacengi: Thanks for helping TheWattGaming :)

@TheWattGaming: Only dev supports 0.25 - but I'm going to release 0.1.6 as is today - not having a release that supports the current KSP version hurts more than a lack of vessel permissions and shared science does.

@Duke23: It's awesome when the krakens don't attack ;)

DMP isn't so sensitive to latency, but it's very sensitive to TCP connection drops. I might look into putting disconnected clients into "limbo" to see if I can auto-reconnect clients that have dropped out.

@LoneRider: That shouldn't have happened in the first place though, DMP mainly works like singleplayer for scenario data - and I'm unsure of the approach that BTSM takes. I'm not interested enough in career though to download BTSM to find out though :P

@Yru0: DMP kills the vessels to replace them on the full update - it looks like the only way to do things. You can imagine what happens to those poor little kerals when this happens.

I'll have to figure out how to forcibly remove kerbals from the vessel before killing them...

@Dacan: Might have to jump on IRC and get in touch, I'd like to work out freezes if you are getting them ;)

Link to comment
Share on other sites

Only dev supports 0.25 - but I'm going to release 0.1.6 as is today - not having a release that supports the current KSP version hurts more than a lack of vessel permissions and shared science does.

So you are going to release 1.6 even if is not completely with .25?

Link to comment
Share on other sites

So you are going to release 1.6 even if is not completely with .25?

Call me officially confused. If I download the production version it tells me it needs 0.25 to run when I launch in 0.24.2 (and it works on 0.25)

If I download the dev version I can't connect to most of the servers out there.

Am I missing something?

Link to comment
Share on other sites

@Preliator: How about now? :D

@mindstalker: It doesn't actually work - The position updates are broken if you try to use 0.1.5.6 in KSP 0.25. I've realised that this is hurting people more than simply not having shared science / vessel permssions, so I'll drop 0.1.6.0 now and move on to 0.1.7.0.

@Everyone: DMP 0.1.6.0 is available!

EDIT: It's now also on the CKAN!

GJpVrfo.png

EDIT 2: Happy birthday KMP ;)

Edited by godarklight
Link to comment
Share on other sites

Good work! I'm a bit sad that permissions wasn't implemented in this release, do you have an ETA on that functionality? Are you having any problems with it, or is it simply the case that it hasn't been prioritised?

Link to comment
Share on other sites

@dxdt: It's mainly because my full time job - I haven't had a great deal of time to spend on DMP, and when I do it's usually hunting down the KSP weirdness that causes bugs ;).

The idea is to ditch the 0.1.6.0 series as soon as possible so I can work on a few things that requires protocol breaks, like groups / permissions / shared scenario modules / making docking reliable and fixing up surface positioning (rotation/altitude can be funny - the ground doesn't spawn the same between different clients. Terrain detail makes this worse).

Link to comment
Share on other sites

I am so interested in this mod, but with all due respect, i dont want to try it until things like different "realms" per player have been fixed and until the game feels more alive and more bugless.

Of course, this + BDA + Kerbinside + something that allows bigger physics load distance would be..... perfect :D

Link to comment
Share on other sites

Hey DD, if you find a mod that allows more than 2.4 km physics load, let me know. Air drops are such a pain if I want to retain both craft.

gdl - most excellent release! I'll be updating a new modpack this weekend and rolling my gaming group's private server to 1.6, and I hope to also put SSI back on the server list. :)

Link to comment
Share on other sites

@dxdt: It's mainly because my full time job - I haven't had a great deal of time to spend on DMP, and when I do it's usually hunting down the KSP weirdness that causes bugs ;).

The idea is to ditch the 0.1.6.0 series as soon as possible so I can work on a few things that requires protocol breaks, like groups / permissions / shared scenario modules / making docking reliable and fixing up surface positioning (rotation/altitude can be funny - the ground doesn't spawn the same between different clients. Terrain detail makes this worse).

Not trying to get you stressed out or anything, I respect that this is a hobby project and I'm grateful you're taking the time.

I probably misunderstood something, but for some reason I thought that the permission system was to be implemented in 0.1.6. I've had an idea for a server I want to run, and have been thinking about a plugin I was to code for said server which enable trade of resources when docked. For obvious reasons that needs permissions, and I can't really start until I know the design of the permission system.

Since it's probably best to leave the system design part to you, the most useful thing for me at this moment would be to simply try to hunt down as many bugs as possible so you don't have to. I won't promise anything, but expect some pull requests. ;)

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...