godarklight

DarkMultiPlayer 0.2.4.5 [KSP 1.3.1] [Alpha]

Recommended Posts

 

Spoiler

 

I've had a lot of fun over the last year, I've learned quite a lot (and how bad some of the early DMP code is that's still lingering around!), but I've mostly lost interest in KSP/DMP. I've also started working again so that's going to cut into my downtime too :P

It's been a pleasure playing with everyone (when the krakens decided to stay away!), but It's really worth being honest about my actual activity on DMP hehe. I'm a little surprised that nobody has tried to overthrow DMP quite yet, I'm very pro-fork, and will totally not get into arguments about playing with my crayons.

Have fun everyone, I'll definitely be back every update to port DMP until squad releases their multiplayer, but we'll see how it goes :wink:

Note to any mod developers: When you start modding the game, you stop playing it and start working on it in monodevelop. Be warned it's a little trip down insanity lane. They also say writing about a traumatic experience helps you recover.

 

 

 

Download Links

Release & Development client and server from the build server.

Client and server from d-mp.org.

Client and Server download from SpaceDock

Client download from Curse (New releases make take a while to show up)

It's also available on the CKAN, which is an amazing community project mod manager. Go check it out :)

CurseForge does not allow me to host exe files, so DMPServer will NEVER be available on curse.

Remember to back up your GameData/DarkMultiplayer/Plugins/Data/[private|public]key.txt files if you move to a new install or you won't be able to use your old username.

Highly recommended updater (source code is below if you're interested):

http://godarklight.info.tm/dmp/downloads/dmpupdater/

Public Server List:

D-MP.org link

godarklight.info.tm link

Installation tutorial: (There used to be a horrible video here, ignore it, either use CKAN or extract DMPClient/GameData/DarkMultiPlayer to KSP_Folder/GameData/DarkMultiPlayer)

Licence: MIT.

Godarklight:
- Port to 1.3.0
- Fix DMP not working on 32bit clients
- Code Cleanup

RockyTV:
- Convert client side settings / saved servers to ConfigNode format instead of XML.

0.2.4.2 Changelog:

godarklight

- Fix some cases where unity methods were hit in threads (Should fix SET_SUBSPACE disconnect)11

- Changed the "sendPlayerToLatestSubspace" server option and removed "keepTickingWhileOffline" (as it no longer makes sense).

When set to "false", you will be sent back to the exact time you disconnected.

When set to "true", you will be sent to the latest universe time (default, and old default behaviour).

As "pausing" the latest time while the server is offline / no players are connected, and remaining locked to a subspace while offline made little sense - I've decided to remove the option which should have never existed in the first place, the option should be a lot more intuitive now, before it depended if a player was online, now it doesn't. It'll also keep you paused even if you turn off the server.

godarklight/RockyTV

- Fix kerbal gender assigner (it stops kerbals in vessels from taking a walk on the wild side)

- (Hopefully) Fix the SET_SUBSPACE bug

- Fix a lockup caused by the KerbalDodger (resolves double assigns, locked up when reassigning a tourist)

RockyTV

- Various bugfixes (flags, threading issues, kerbals)

- Update GUI

Fernando Becklas

- Tourist fixes

81ninja

- Tourist fixes

- Fixing a bug that has existed since day one of DMP, the server didn't correctly send players to the latest subspace, only the last created one.

Pre-emptively answered questions:

What is DarkMultiPlayer?

DarkMultiPlayer is a multiplayer mod for KSP. It supports subspace-style (and master controlled warp) warping & career mode, with an easy-to-edit server database.

Can you show me the code?

DarkMultiPlayer: https://github.com/godarklight/DarkMultiPlayer

MessageStream: https://github.com/godarklight/BinarySerialiser (Used for building the network messages)

DMPUpdater: https://github.com/godarklight/DMPUpdater

How do I install it?

Client: Simply extract the zip into GameData. Although I do highly recommend just chucking DMPUpdater in your KSP directory and running it, It will also install DMP.

Server: Extract the zip to a folder (not KSP or GameData). You can then put DMPUpdater next to it and it will happily update the server as well.

Mods?

Read DMPModControl.txt on the server, the file is heavily commented/documented. You can generate a DMPModControl specific for your gamedata setup by starting the DarkMultiPlayer client, hitting options, and then pressing "Generate DMPModControl.txt"

Why did you create this mod?

For one reason only, I want to play multiplayer too!.

What do I do if I find a bug?

* Report it on the github issue tracker

* Get it contact with me directly on IRC, Server: irc.esper.net, channel: #DMP. There's a web chat on my build server.

Are there any server lists?

Yes. http://d-mp.org/?p=slist.

How can I contact you?

Easiest way is IRC, I'm happy to answer any questions and talk about bugs/missing features/suggestions.

Server: irc.esper.net, Channel #DMP. If you don't have an IRC client, there's a web chat here: http://webchat.esper.net/.

Credits:

* TheGimp666 - If it wasn't for KMP, we'd most likely still have insta-locked threads for talking about multiplayer, Squad may-or-may-not be talking about it, and DMP definitely would not exist :).

* RockyTV / JoshBlake / dsonbill - Contributed rather large parts to DMP :)

* Dazoe - I borrowed his chat-doesn't-stage-or-control-the-vessel fix from KMP. It's a nice way of getting around a unity/KSP bug.

* Ryannathans/ChronicSilence - The mod system is implemented nearly the exact same way as KMP. It made sense to remain compatible with the file format.

* Hyperedit / persistent trails - I've referenced off these mods quite a bit during my KMP orbital branch, DMP uses that same orbital mode positioning.

* The #DMP channel for helping me find any bugs / test new features, especially MrFreake for running a career mode server on the other side of the planet to test networking (And it made me actually play career mode too!).

* Squad: For Kerbal Space Program, and their top-notch API documentation.

Edited by godarklight

Share this post


Link to post
Share on other sites

NICE

another multi player plugin

ya first post!

Share this post


Link to post
Share on other sites

How is this different?

Or is it simply lets try another approach for problems that are with KMP not possible at current state? AKA rewrite it is easier than fix it?

Not that i am complaining, but i would hate it to have two mods with two nice (or hopefully more) things and have to decide which one is worth my time and never get the whole package in one... (if you know what i mean)

Share this post


Link to post
Share on other sites

@Nightmare: It still roughly works in the same way as KMP, but KMPServer currently has a few design problems that makes it quite laggy (In terms of CPU/disk usage).

When I started DMP I decided to keep everything I could out of the server and keep everything in flat files so you can actually edit the server database.

I'll still be contributing to KMP ;).

Share this post


Link to post
Share on other sites

I'll jump on my server now - It's probably worth at least trying to play with others :)

My server is only 25/5mbit though, on a home connection. So this will be interesting...

EDIT: Scratch that - I need sleep :(

Edited by godarklight

Share this post


Link to post
Share on other sites

Had the privilege to test this for the past days, very very cool and for me the most amazing feature is how simple the server is structured, allows for GREAT editing of players, science points if something goes wrong. Rock on man!

We replaced KMP with this and never looked back. (sorry kmp)

Source: Roughly 3 days of Servertime, 4-5 regular players. ARound 150 different vessels, interplanetary.

Share this post


Link to post
Share on other sites
My server is only 25/5mbit though, on a home connection. So this will be interesting...

How much upstream do you reckon will you need per user, roughly? I've hosted modded Minecraft servers on a 1 Mbit upstream before, with 3-4 players. Loading times on spawn were a bit long, but there was little to no network lag during general gameplay.

Also, side question: the time progressing while the server is switched off, can you rethink that feature? Regardless of whether your server is meant to run constantly or not, I just cannot think of a scenario where this will not cause problems for people when they are unable to log on because the server is down and they need to keep their painstaking 3-year mission from lithobraking at the destination... as an admin, it sounds like this is more trouble than it's worth.

Share this post


Link to post
Share on other sites

@Streetwind, If they aren't in flight, it's about 20-100bytes per second per user.

If they are in flight, it's around 100bytes * 5 updates per second * number of ships around, plus a full update (number of ships around * 30-200kb) per ship every 30 seconds.

A ballpark figure is 10-30kb/s per active user, but if you are sitting in a debris field full of space stations it will be much worse.

EDIT: The time constantly ticking forward is a result of how I've implemented subspaces and client clock-synchronization. DMP uses an NTP-style clock sync to the server, and the universe time is locked to a server clock time. In order to turn this off, I'll need to relock the subspace during the server start.

Edited by godarklight

Share this post


Link to post
Share on other sites

Thanks for the numbers, that's way more precise than I thought I could hope for :)

Share this post


Link to post
Share on other sites

DMP Dedicated Servers:

DMPServers.chickenkiller.com:6702 (Stock Sandbox)

DMPServers.chickenkiller.com:6704 (Development Server)

DMPServers.chickenkiller.com:6707 (Combat Server)

Mods Download Link: dropbox.com/s/0x19s700z2oj7u0/GameData.zip

Edited by MrFreake

Share this post


Link to post
Share on other sites

I have been playing for some time, i really like it! Though there are some bugs, as recovered vessels don't get deleted, they just stay there! In your sandbox server there's alot of debris and broken craft lol.

I was trying to dock with another guy, it was mostly impossible because of the 2 vessels randomly dissapearing, we never got to dock, but it was a fun experience :)

Share this post


Link to post
Share on other sites

I'm testing it out right now on godarklight's sandbox server. So far, so good. How do you spectate?

edit: Got disconnected while trying to meet people at the island runway, couldn't reconnect because "Server closed connection: Client already connected".

Edited by BahamutoD

Share this post


Link to post
Share on other sites

Okay, I'm interested. I've played KMP before and it was....

well...

horirble. Very buggy. Invisable crafts on one screen, random crashing into eachother, phsyics ranged crafts sends both down from 70 km to 0 in a minute... horrible.

Share this post


Link to post
Share on other sites

@SlimeCrusher: I either have problems with KillVessel or LoadVessel, the bread and butter of a multiplayer mod :-/

@BahamutoD: Try to fly another players active craft. Also, If you get disconnected, the timeout should happen within 5 seconds.

@MoohDragon: It should, but I haven't had anyone test it on mac yet. It definitely works on linux (I'm a linux user), and everyone else from DMP who runs windows reports it works :)

@The Destroyer: The general aim is to be simple, so hopefully those types of bugs don't crop up.

Share this post


Link to post
Share on other sites

Works on Mac; works great to connect to your server godarklight! (From NY, USA).

I'm really pleased with how well this works. Now to get my friends to set themselves up, and then host my own server...

Share this post


Link to post
Share on other sites

My server lives on a home connection in Australia - Glad to hear it attempted to work.

As geographically closer servers come online things should run a little more smoothly ;).

Share this post


Link to post
Share on other sites

Thumb Up. I will contribute my test for your server.

Share this post


Link to post
Share on other sites

Can't wait to get home and play with bros :)

Tx

With Mods, and the allowed/not allowed addons section in the DMPModControl.txt , is there functionality to include a folder and its sub files? With the excluding of SHA.

eg: MechJeb2/*

Share this post


Link to post
Share on other sites

@titanecd: I'll probably might need to write a slightly more clear readme for the mod control.

--resource-blacklist mode (The default)--

Every mod is allowed

Adding the parts to the partlist is enough for private servers - Just make sure you have the same part adding mods installed ;).

For public servers, you would add any part adding mods into the required section (for example, mechjeb adds a part, so that's why it is mentioned).

Optional section for blacklist mode is just about useless, unless you want to enforce a specific version of an optional mod.

You can ban specific mods in resource-blacklist.

--resource-whitelist mode--

Every dll is banned apart from those mentioned in the required, optional or resource-whitelist section (required / optional implies that it's allowed).

You will add part adding mods to required (MJ/Kethane etc).

You would add non-part adding mods to optional (for example, kerbal alarm clock).

There's no wildcard matching though...

Share this post


Link to post
Share on other sites

Seems there are more benefits using this one then the other "multi"player plugin, great to see some allternatives! Kudos

"Kerbals are actually synced. Enjoy sending [insert your username here] Kerman to the moooooooon."

So we can eva coopstyle?

Share this post


Link to post
Share on other sites

By synced I mean the names are not randomly generated on each server connection. You can name the kerbals in the database (crew manifest should also work).

You should be able to EVA in both KMP and DMP - Although some players (and me) are getting hit with the kerbal-on-a-cross bug. I'll look into this after I implement player-player docking, and a better chat UI.

Flags are also something I neglected to test - I'll fix them shortly too.

Expect 0.1.0.1 in 2-3 days :)

EDIT: Scratch that.

0.1.0.1 is available right now

* Fix a very simple bug that was preventing vessels from being recovered/terminated.

* Add a server option to turn off modcontrol (mainly for private servers).

Edited by godarklight

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now