Jump to content

KMP v0.1.5.1 [0.23] [alpha] [inactive]


TehGimp666

Recommended Posts

Forgive me if this has already been covered. I went over a dozen pages or so and tried using the search, but no luck.

I'm curious as to how demanding this is on a server. What kind of specs are needed to host it?

From the Techical FAQ.. It is not a specific answer but I hope it can help you a little.

How performance-intensive is KMP? Will my machine that already barely runs KSP be able to keep up?

While KMP does all it can to lessen the load, including doing as much work as possible outside the main KSP thread in order to take advantage of multicore processors, the demands of receiving physics information from other players and keeping your local game in sync are significant. You can expect a substantial FPS drop and even severe physics lag in some circumstances while playing KMP. If your machine struggles to run KSP, KMP probably won't work well for you.

Link to comment
Share on other sites

dotvezz, The server itself could probably run on a potato, as long as it had around 20-50kb/s per client.

The client however seems to reduce my performance from launching 1000ish parts down to about 600 (GTX760).

Gimp's moving house atm, so it's hard to give a releasedate. On the other hand a major feature for 0.1.5 is already complete - server sided mod control (replaces the part list client side)

Link to comment
Share on other sites

dotvezz, The server itself could probably run on a potato, as long as it had around 20-50kb/s per client.

The client however seems to reduce my performance from launching 1000ish parts down to about 600 (GTX760).

Gimp's moving house atm, so it's hard to give a releasedate. On the other hand a major feature for 0.1.5 is already complete - server sided mod control (replaces the part list client side)

the GPU doesnt matter that much on KSP as long as it's not onboard

i already run all versions since 1.0.0 (server AND game) on my FX-8150 3.9GHz without any issues

launched 500 parts space station normally

there were lots of sync issues and engine shutdowns, but not lag

the server can really run on a potato (did it whilist playng BF4 and didnt even notice), as long as people with mods or wrong versions dont try to get in to crash it

Link to comment
Share on other sites

So, I did some testing. I screen captured two clients simultaneously in hopes of then editing it together, but that seems like too much work right now so here's the best parts of the session in pictures. Hopefully this will give people a better idea of what state the mod is currently in, and the devs some pointers of what could use some work.

Note: I completely understand that the mod is very very very early in development. My testing is not extensive, anecdotal at best, but I just wanted to share because I thought it was pretty amusing.

The setup

- Windows desktop, running both the server and a KSP client (username "Jo_PC")

9SFTwWtm.png

- iMac, running KSP client (username "Jo_MAC")

2ENjT78m.png

- connected via LAN, ~0.6ms ping.

EL2LMeq.png

Initial Testing

- Oddly enough, when first logging in you'll see Jebediah at the center of KSC. During login he seems to be used as a focus...? Even if you recover him, he will re-spawn every time someone logs into the server. Seems hacky.

kSSMlmmm.png

- Otherwise, logging in, syncing and chat all seem to work fine (well, it's a clean server, wonder how it'll handle with dozens of flights):

ft4jJfrm.png

- The screenshot sharing feature is awesome! I can totally see myself using this to let a friend sit in on a particularly hairy launch/landing/crash (MAC sent screenshots, as seen by PC)

lVbpGCYm.pngfDuJxIdm.png

Vehicle Test setup

- So I decided I'd build two small rovers to test how well syncing and docking work.

gTSyPxKm.pngl2GdPVwm.jpg

(Mac rover has orange parachutes, PC has blue)

- When you log in you will not be able to see other players until you are outside of the 'safetyBubbleRadius, which by default is 40km from KSP I think. When inside this radius your status is "Preparing/launching from KSC"

Ax3XmZPm.png

- with some tweaking I figured out that with a value of 1500 (1.5km I think), you end up outside of the bubble right when you drive backwards off the beginning of the runway, far more convenient for testing than having to fly 40km each time:

RrULwhvm.png

Vehicle Testing

- With both rovers spawned (first MAC, then PC), and rolled out of the bubble, neither client could see the other one's Rover:

DjFcZbwm.pngsXNyUYFm.png

(MAC left, PC right)

- PC client was the first to jump out and check the tracking station, which only showed the PC's rover.

QhQ0iZfm.png

- However when choosing to continue the flight, the MAC rover now appeared to the PC client (but MAC still couldn't see the PC rover)

3UUNBEVm.pngpgJUGdem.png

PC Client's View on left, MAC's on right

- Only after the MAC client also went through the tracking station (where it also could only see its own rover) did the PC's rover appear in the world

yGXVP4Um.pnggLlvv0gm.png

- Movement at this point didn't look too great. The position of the other client's rover seemed to only update about once a second, so there's a lot of jerking around when you watch another client's vehicle move.

- I then tried to see what would happen if I drove the MAC rover back into the 'bubble'. The MAc client could still see the PC's rover's movements outside the bubble, but on the PC client the mac rover became Desynced and roll back down the side of the runway before even reaching the top:

wcQdSA2m.pngULDfS56m.png

- The PC rover on the mac client then also desynced when it reached the bubble.

- Even after escaping the mac client and using the tracking station to recover the rover, the desynced MAC rover on the PC's client remained.

SUGGESTION: maybe instead of desyncing, could it be possible to ghost other vehicles while in a safe zone? so you could see them, but not interact with them.

Other weird issues I had:

- On multiple occasions a desynced version of the MAC rover would remain in the PC client's world, which would be visible even after escaping and continuing the flight on the PC's client.

- On one occasion the PC client's 'Space Center' Button on the 'Game Paused' menu just flat out would not do anything for a good 20 seconds. ended up driving around for a bit and trying again later, which then worked.

- On one occasion the PC client's framerate completely tanked from the normal 50+ to about 10. two desynced versions of the MAC rover were visible, but that was after they were visible before without any performance impact. Recovering the vessel (the PC rover) and launching a new one fixed it.

- After several times exiting to the tracking station and restarting flights, both MAC and PC appeared once again in sync, however when I then used the tracking station to continue the MAC flight and the PC rover was nowhere to be seen:

93WBGh1m.png

- I then click 'Fly' and suddenly out of nowhere:

KlPxZXlm.png

7 WILD ROVERS APPEARED!

- The PC client is completely oblivious to this until exiting to the tracking station and then they appear there as well.

Docking Testing

- So among the crazy random rover party, I finally had the bright idea to let the two rovers have a tender moment and give docking a try:

8OGFgXzm.png

- It took a good 6 seconds for the other client to register that the docking shield had been opened (talk about performance anxiety)

- Since it's documented that only one player can control a vehicle at a time I was curious what would happen when you dock two vehicles controlled by two players. Well When I drove the MAC rover into the PC rover, this is the last frame the PC client saw (notice the note in the top-left corner)

3Ec2GKKm.png

- ... Followed by a good two minutes where the PC client was stuck "synchronizing universe":

5cpIBwhm.png

- I ended up having to use the Space Center option on the pause menu.

- On the Mac Client's side, Everything went according to plan, although it must have been one hell of a docking given that for a moment the PC Rover's Status is listed as "Exploded At Kerbin"!

DoqBJY0m.png

- The last thing I did was check the Tracking station with the mac client:

iMhwEDTm.png

The Rover seem to be multiplying... and now they weren't going away anymore either.

Aaaand that's it for now. I havn't even had a chance to test how the mod handles time acceleration.

Overall, there's definitely a ton of promise, but also a -ton- of work that needs to be done. Given that my connection here was probably as ideal as it could be, the glitchy movement of other vehicles, continuous desyncing and a few unrepeatable crashes my windows KSP experienced which I didn't mention above (I'll dig those logs up later), It still seems a long ways away from really being useful for things like collaborating on a ship in space. It seemed hard enough for things to remain synced on the ground.

Edited by JohannesMP
Link to comment
Share on other sites

@ JohannesMP if i remember reading correctly, the KSC is considered a safe zone so if mod parts are detected you cant launch out of the safe zone to protect other clients from unknown krakens or crashing.

Yeah, that makes sense. However I still think it could be handled more gracefully. For example, what if I want to race a friend to the top of the VAB in a VTOL? Currently that's not really possible since you don't get synced.

It might have been a better idea testing the dev version ;).

Instead of getting kicked to the tracking station you now go into spectate mode. I think the duping thing was fixed but not completely sure.

Aha, yes it might have been! :D

Honestly I just approached it as someone that just read the Topic post, which only led me to what was officially put on the spaceport. I take it the link in your signature would lead to the latest build? I'll be sure to try and use that next time.

Edited by JohannesMP
Link to comment
Share on other sites

Yeah, my build server is the kinda-semi-offical development build server :P. I have a hook on github so it updates every time gimp pushes.

Also, The safety bubble has little to do with mod parts, It's more along the lines of 2 players launching, being inside each other at the same time and everything exploding (maybe pun intended?).

The bubble also prevents greifing of the KSC area by making lots of rovers and leaving them there *looking at you JohannesMP* :), however most of the server radii are set to 1500 because that's the smallest that still allows plane launches.

Link to comment
Share on other sites

Do you think it might be possible in the future to show other vehicles inside the bubble in a non-interactive way, but that you could still see? Like, even if just as a non-colliding colored sphere. The persistent trails mod comes to mind for example.

Also, it might be nice if instead of one large bubble we could set up zones just for the two vehicle areas (the runway and the launchpad)

I plan on just playing with a few close friends on whitelist, so griefing wouldn't be much of a problem.

Edited by JohannesMP
Link to comment
Share on other sites

Alrighty, did another quick test with the latest dev build (Sun Dec 1 05:50:31 UTC 2013)

Test 1

- MAC Rover logged in first and is outside of bubble, PC Rover on the edge of the bubble:

7EyB0dmm.pngV9zyGZxm.jpg

- At this point when PC drives back and forth, the MAC client will predominately see the PC rover sitting still at the spawn point, but it will flicker in place of its actual position (the one you can see while driving it on the PC client)

- I drive the PC rover down the hill towards the mac rover when all of a sudden:

lDjcpzHm.pngePVmA2hm.jpg

- Big explosion sound, the world breaks on the mac client, and the windows client sees about 4 copies of the MAC rover explode in (out of?) one place.

- At this point the mac client's UI is unresponsive - bringing up the pause window and clicking 'Space Center' did nothing. I had to restart the client.

- To try again, I logged both clients out, shut down the server, deleted the server world files and restarted it as a fresh server.

Test 2

- Once again MAC logged in first and moved to the edge of the bubble. When the PC rover spawned, the mac rover again exploded into multiple rovers, but this time no catastrophic crash:

K5AU8LJm.pngGpN4DE8m.jpg

(mac client view on left, pc client view on right)

- After disentangling the mac rover from its clones I tried EVA'ing the two Jeb's, first the mac's Jeb:

gVnfEFzm.jpg

As seen from the PC's perspective, the mac Jeb was repeatedly jiggling up and down in the ground

- Then I EVA'd the PC's Jeb, which promptly caused the mac rover to disappear from both clients:

7RRFwkxm.jpg

- Oddly enough, from the Mac client's perspective the PC Jeb was not nearly as jittery as the Mac Jeb was from the PC's perspective

- After some walking around the PC rover became desynced in the mac client's view, appearing to be rolling away, while staying stationary for the PC client:

1r98jf0m.pngQXfyGgLm.jpg

(Mac client's view left, PC client's view right)

- After a few more minutes of testing, I checked the tracking station with the mac client, which showed this:

hZbaHv2m.png

- Notice how some of the listed rovers have the user's name next to them and some do not.

Overall, it's good to see that the clients seem to recognize each other immediately after spawning instead of requiring a shuffle through the tracking station, but with the vehicles exploding into clones and potentially causing a client crash, it's still not really practical to use.

Edited by JohannesMP
Link to comment
Share on other sites

And here is some more feedback not directly related to testing:

Suggestions

  • A Key (default f10?) to toggle KerbalMP Viewer, and maybe a close 'X' button in a corner for convenience.
  • An option to not show "<USER> has shared a screenshot" in chat. Instead for example you can update the "Viewer" button in the menu to show that there is an un-viewed screenshot, just like you currently update the Chat button to show unread chat messages: CbkeUnH.png - so the "Viewer" button could appear orange and show the text "Viewer (f10)", and in the viewer itself the user(s) with an un-viewed screenshot would also display in a different color until you click on them.
  • Have each new chat entry fade out or disappear after a few seconds, and when hidden only show the complete history when the chat bar is visible after pressing the chat key (~) (assuming that that hiding/fading text on a line-by-line basis is even possible in KSP's UI)
  • A way to clear chat history (should 'Reset Chat' Do this? It doesn't seem to do anything right now, though I'm probably just missing it)
  • IRC-style chat commands (/help, /me, etc...)

Edited by JohannesMP
Link to comment
Share on other sites

Jebediah allways respawn cause the mod is focused around him at the startup

Indeed! Although I forgot to mention, they seem to have gotten around this in the newest dev builds, instead using a single plate named "SyncPlate" that orbits kerbin in a (mostly) synchronous orbit, marked as debris:

llHGNE8m.png

gh0Wt8jm.png

Edited by JohannesMP
Link to comment
Share on other sites

The KMP player list thing can be hidden with F7. We might need to document things a little better :).

Stargazer jeb is definitely now a sync plate, in geosync orbit.

I think the fading chat idea is quite a good idea while not typing. Open it up on the issue tracker, perhaps I can poke wetmelon (i think) about it

That rover duping bug might be something I can fix. I generally stick around the network code area but it sounds like a full update is duplicating it. Does the active vessel reproduce every 45 seconds?

Breakdancing jeb is (was?) a funny glitch, but I'm not familiar with that area yet to fix things like that :(

EDIT: I just realised you were talking about the viewer. I may be able to change the colour for unviewed screenshots, sounds easy enough. Open it on the tracker to get an opinion on it.

I do like being notified of screenshots in chat though. Even though it's usually accompanied by a "Everyone look at my GDL The Kraken on gilly" message.

Edited by godarklight
Link to comment
Share on other sites

@JohannesMP: To me that can only mean one thing

mac users not allowed :P

*sigh* really? Funny enough, while testing this Mod the windows client actually suffered more issues than the mac; I have 5 recorded crash logs from my tests for the windows client, the mac client never crashed once.

Edit: not sure how helpful it is without the exact context of each crash, but since I was meaning to upload them anyways, here are the crashlogs from the windows client: https://dl.dropboxusercontent.com/u/3718471/temp/KSP_PC_Crashes.zip

Edited by JohannesMP
Link to comment
Share on other sites

Something strange is going on with your windows box there. I was expecting to see exceptions being thrown. Does KSP crash on your windows box *without* KMP?

KMP is cross platform (although I did see bug #461). The build server compiles on linux and most of the people using those builds run windows :)

Link to comment
Share on other sites

To celebrate the release of 0.1.4.0 (when it comes out - hoping for a weekend release), I will be livestreaming and jumping on one of the public servers.

KMP has come a long way since 0.1.3.1 and should have nearly no dropouts (I just finished a 3 hour session), which makes it much more usable for me. I'll try to convince as many developers as possible to hop on as well - I'm trying to organize a community get-together :).

I'll likely pick one of the servers with the most slots - I guess this makes for good stress testing of KMP too!. I'll announce the date later on, as it depends on when 0.1.4 is released.

Disclaimer: I'm very new to streaming. Everything seems to have been fine for the last few tries so hopefully see you there in twitch, or in KMP..

Link to comment
Share on other sites

hello,

what happens in that situation:

Player A and B, both have a vessel with Docking port in the orbit.

Player A warps a bit and is no longer syncorn with B

B does dock the own vessel on A's

BUT!

Player A flys in the own supspace to Mun, so in A's views isn't another Vessl docked.

What happend now on sync?

Suggestion:

an Option to make the timewarp like this:

Player A wants th warp and press the warp key.

At this time all other player have a message "Player A wants to Timewarp... press your timewarp key if you want to warp".

if that happens all Players Warp, and all will be syncron at all the time.

If an player wants to leave the warp the warp stops for everyone.

Maybe this can provide some errors and kraken attacks.

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...