v0.1.2.0 EXPERIMENTAL PRE-ALPHA
This is an EXPERIMENTAL PRE-ALPHA release. KMP can and will do Bad Things™ including:
KMP is a mod for v0.22 of Kerbal Space Program that adds a multiplayer game option. In a KMP game you can freely interact with other players and do all the Kerbally things you'd normally do in KSP, but with friends (or strangers) playing in the same universe, at the same time. Oh, and you can use (normal, on-rails) warp as much as you want.
No joke. It's a real multiplayer plugin and it even actually works (er... mostly). KMP builds on the already-amazing KerbalLiveFeed mod created by Alfred Lam/SodiumEyes, and KMP itself was created by me: Shaun Esau/TehGimp. KMP would not have been possible without the help of testers like Simon C. (CaptainCarpenter), nor without the numerous discoveries made and shared by KSP's incredibly smart & helpful modding community.
I don't know why you'd want to, but yeah you can do that too...
That one can be a little janky, but yeah you can!
That's a good way to put it--I should make that into a slogan or something.
Yep--normal "on rails" warp is always available, though "physics warp" isn't.
The big problem that immediately comes up when allowing players to use warp whenever they want to is that forcing everyone to go into warp is unpractical, and otherwise your local copy of the solar system wouldn't be synchronized with other players (so the planets and moons would be in very different positions relative to each other for different players). KMP gets around this by allowing players to play in multiple timeframes (or "subspaces") simultaneously. You can sync with any player that's "in the future" relative to you whenever it's convenient.
For gameplay purposes, at least, it's actually really simple! Need to go to warp for a few years to position that shiny new Jool probe? Go ahead! Want to build a new space station with your buddy afterward? Just sync up and you're good to go. That's it.
You'll still be able to see those players and what they're doing in-game--you can chat, send screenshots, share designs, etc, but you won't be able to interact with any in-game vessels that those players control. Vessels from the past or future turn translucent so that you know that you won't be able to affect them. If the other player is in the past, KMP tries to predict where they'll be in the future and shows their ship at that location. Keep in mind, though, that since the ship is still being manipulated in the past, the predicted future location can rapidly change. If another ship has been manipulated in the future, you're effectively just watching a recording of events that have "already happened" play out.
It depends on what people on a particular server are doing, but yes it's totally possible that everyone on a server might split into their own subspace, and that's A-OK! When you first connect to the game you're always placed in the "latest" subspace currently on the server, and if you ever want to directly interact with another player the most you'll have to do is click a button. Vessels that aren't under active control by another player and that haven't been touched in the "future" (relative to you) are all available.
No! Your vessels are saved to the server's "universe" and will continue to be simulated whenever at least one player is connected to the server. Be sure to leave your ship in a stable orbit, or it may not be there when you come back! Your vessels cannot be controlled by other players unless you "unlock" them for public access, but keep in mind that other players can still crash into your vessels physically while you're absent.
No! Your vessels are marked as "private" by default, which prevents other players from taking control of them or from docking with them. If you want to allow another player to dock with one of your vessels or to be able to take control of your vessel, just set your vessel to "public" status. Keep in mind, though, that whoever is in control of a vessel can set it as "private" to claim it for themselves!! Only mark ships "public" with players you trust.
No. KMP is solely intended to be used with relatively small servers hosting just a few players. The bandwidth and performance requirements that come with having more than a handful of other players are too high for most computers.
Just download KMP and install it like any other mod. Then find a server (or create your own) and add it your connection list. For more details, see the README.txt included with the KMP download.
I'm working on a video demo and will make it available as soon as possible, unless someone beats me to the punch.
There are quite a few. The most obvious ones are:
See the Known Issues list for details.
KMP is a work in progress, and there are several features that I hope to add in the relatively near future, including:
As a first step, always try fully restarting KSP and reconnecting to the KMP server--many bugs can be resolved by these quick steps.
Contact the server's administrator for assistance. In this experimental release, exceptionally stubborn connection problems may require the server to be restarted.
Yes. When a vessel touches down, KMP will update its exact position, which will correct any accumulated errors from near-surface flight. Additionally, incoming position/velocity updates from another active player can cause a landed vessel to appear to "dance" in place slightly.
When a vessel is flying in an atmosphere outside the range that KSP simulates physics for it is immediately removed from the game (because KSP assumes the ship is going to crash anyway). Loading a vessel repeatedly causes major performance issues, so KMP will only add an in-atmo vessel to your game if it is within normal physics range. The other player's vessel is still tracked by the server and will always reappear in your game once it lands, breaks atmo, or comes back into physics range. You can also still view the other player's location from the Map View.
When other vessels that are controlled by active players are outside of visible range, KMP uses a positioning technique based on orbital data which is efficient in terms of performance, but which does not offer adequate accuracy for two players to successfully rendezvous and dock. To handle this, KMP switches to a relative positioning mode when two players enter rendezvous/docking range that provides sufficient accuracy for docking, but which also accumulates small positioning errors relative to the normal orbital positioning technique. As a result, when switching between normal orbital positioning and docking-mode positioning, vessels may shift position & velocity in order to account for these accumulated errors.
These odd position shifts are caused by KMP switching from "best guess positioning" orbital mode to rendezvous-mode "negotiated relative positioning". The time needed for the actual negotiation process varies with altitude over the current dominant body--the process happens very quickly in LKO, for example, but can take nearly a minute in an outer-Jool orbit. If two players get badly out of sync due to lag while in docking range, the negotiation process may take place more than once.
Docking-mode positioning requires all players involved to be in very tight synchronization. If the total amount of lag between you and another player exceeds a certain threshold, KMP is forced to use alternate & far less accurate positioning methods. If your connection to the server is poor (e.g. if your ping exceeds 500ms), you may not be able to rendezvous with other active players (though docking with a ship that isn't controlled by another player should work fine). If you can't seem to get into range and you know your connection to the server normally works well, try returning to the space center and back to your vessel (which will force KMP to re-synchronize with the server). Unoccupied vessels generally behave more like normal single-player KSP, so if you still can't get into range, consider having one player wait in another ship or at the Tracking Station.
Some thrust can be lost during docking-mode positioning, especially if you have a laggy connection to the server or a slow-running game. Note that this only occurs when other active players are in the region. This is a side-effect of the techniques used to ensure that both players see the same situation on screen with the accuracy needed for successful rendezvous and docking.
This most commonly happens when your game is commanded by the server to fast-forward in time slightly, in order to keep you in sync with other players.
Kerbal Space Program is well designed to provide a smooth single-player game experience, but it is not (yet?) well adapted to the demands of multiplayer gaming. The way the universe is shifted around the player, the differing methods needed to accurately calculate ship position/velocity/rotation in different in-game circumstances, the need to accurately account for lag in the network connection, the various complications that result from timewarp, and many other obstacles all add to the challenge of creating a viable multiplayer experience. While I will endeavour to improve KMP further, it is very likely that many of the issues that exist now will not be easily solved. The Known Issues list outlines the bugs I am currently aware of that will likely be fixed (eventually).
There's no server browser for now, though this may be an option eventually. For the moment the only way to find a server is to ask around (or start your own). If you don't know anyone who is willing to run a server, good places to ask around are Reddit and the KSP Forum.
See the README.txt file included with the KMP server download.
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.
You can report bugs on GitHub.
It's... complicated. If you have a specific development-oriented question and have watched this video, then please feel free to ask me questions about KMP's innards on Reddit (TehGimp666) or Twitter (@TehGimp). In a nutshell, KMP relies on your local game to do most of the heavy-lifting when it comes to simulating the universe, and updates information like a vessel's position & velocity based on what is happening in other players' games using a variety of situation-dependent methods.
Given that I don't have much prior experience with multiplayer game programming, it's hard to say whether any particular clumsy element of KMP can be blamed on working around KSP's various idiosyncracies or just my own stupidity.
Vessels that include non-stock parts are prevented from launching because any other players that don't have those mod parts installed wouldn't be able to see your vessel (on top of other potential errors)! However, the restriction on mod parts was built with the knowledge that a later version of KMP will probably allow servers to specify a list of mandatory mods so that players would have optional access to their most-prized non-stock parts. If the players on a server can agree on a set of mods that they will all have installed, it is currently possible to override the mod part restriction when necessary using steps available in the README.txt file included with the KMP server.
Generally you can, but this is not "officially" supported and mods may interact with KMP in unexpected ways including (potentially) crashing, having unexpected effects on gameplay, causing errors for other players, or even causing damage to a server's "universe". Unless you're eager to experiment, ask other players for information about whether a particular mod works well or not.
No! A future update may make this an optional feature, but in this release the universe is "paused" whenever all players are disconnected.
I began work on KMP shortly after releasing the (now defunct) G_LockFlight mod, so about 5-6 months all told, though not all of this time was spent actively working on the project. There were many multi-week breaks in that period where I just didn't have enough spare time to work on KMP--for example, I didn't touch the project at all during July as I was busy getting married at the time.
Assuming I'm not stuck spending all my available free time supporting KMP at least, I do have some other KSP-related projects in the works that unfortunately I'm not willing to talk about just yet! ;-)
No--Since I rarely browse the KSP forums, I only became aware of the L.O.G. project myself in late September at a point where KMP was nearly ready for initial release. I wish the L.O.G. developers the best of luck with their project, and hope that my work with KMP will (if anything) ease some of their own efforts to some degree. By the same token, I welcome any input from the L.O.G. team that might improve KMP's gameplay and would be happy to collaborate with them if the opportunity arises.