Jump to content

DarkMultiPlayer 0.3.8.0 [KSP 1.12.0]


godarklight

Recommended Posts

@Space Cowboy: I run 2 instances from the same folder all the time - most of the times it works, but you run the chance of the part files being locked on load, sometimes (maybe 1 in 10), some, or all, of the parts go missing.

Running from seperate KSP folders should always work.

@beabop: Hrmm, That's certainly an odd one, are you sure you're definitely editing DMPModControl.txt on the server?. I also just tested the autogeneration, it works for me.

Btw, the path is relative to gamedata and uses forward slashes. 'engineer/engineer.dll' is correct here. If you're sure you're editing the DMPModControl.txt file on the server, drop by on IRC, something has gone wrong :(.

@Sampa: It depends on the settings, on blacklist mode you're allowed to have any mods apart from the ones specified, but the parts are still under a whitelist.

By default it just doesn't let you sync that vessel to the server, but you can still launch with it. The public servers usually have whitelist mode where you can only join with a very specific set of mods.

Also remember that DMPServer doesn't actually use the mods, to it vessels are just text files that it passes along ;)

Link to comment
Share on other sites

Installed this together with a friend this weekend, and it just works shockingly well. I am amazed how easy it's been to get a co-operative space program working (at least in sandbox), after being kinda intimidated by the possible complexity of getting a multiplayer mode for a purely single-player game - awesome work and thanks!

One complaint: the OP of this thread describes how to generate a DMPModControl.txt file, but its steps don't match the current version of DMP. The options screen doesn't have a "Generate DMPModControl.txt" button (anymore) and it was a tiny bit confusing to work out that the Whitelist option was the same thing.

Edited by TurielD
Link to comment
Share on other sites

I have a few things in mind if you'd like to try them out:

  • Check read/write permissions on the DMPModControl file; is it accessible as nobody (or whatever user you're running the server as)?
  • Check line endings: is is CRLF or LF? Try switching them if that does anything.
  • Check server logs: any error on reading DMPModControl.txt?

  • I was running as my personal user from said user's my home directory. (I'll create a user and directory just for DMP once I get it working.) Just in case, I ran chmod 777 DMPModControl.txt. Nope. :(
  • I tried dos2unix and unix2dos. Nope. :(
  • No error on DMPModControl.txt. I highlighted some sections of interest. It says "Loading whitelist" without any error messages.

[14:24:38][DEBUG] : Loading plugins!

[14:24:38][DEBUG] : Done!

[14:24:38][iNFO] : Starting DMPServer v0.1.6.2, protocol 30

[14:24:38][iNFO] : Loading universe...

[14:24:38][iNFO] : Done!

[14:24:38][iNFO] : Loading settings...

[14:24:38][DEBUG] : address: ::

[14:24:38][DEBUG] : port: 6702

[14:24:38][DEBUG] : warpMode: 4

[14:24:38][DEBUG] : gameMode: 0

[14:24:38][DEBUG] : whitelisted: 0

[14:24:38][DEBUG] : modControl: 1

[14:24:38][DEBUG] : keepTickingWhileOffline: 1

[14:24:38][DEBUG] : sendPlayerToLatestSubspace: 1

[14:24:38][DEBUG] : useUTCTimeInLog: 0

[14:24:38][DEBUG] : logLevel: 0

[14:24:38][DEBUG] : screenshotsPerPlayer: 20

[14:24:38][DEBUG] : screenshotHeight: 720

[14:24:38][DEBUG] : cheats: 1

[14:24:38][DEBUG] : httpPort: 0

[14:24:38][DEBUG] : serverName: DMP Server

[14:24:38][DEBUG] : maxPlayers: 20

[14:24:38][DEBUG] : screenshotDirectory:

[14:24:38][DEBUG] : autoNuke: 0

[14:24:38][DEBUG] : autoDekessler: 30

[14:24:38][DEBUG] : numberOfAsteroids: 30

[14:24:38][DEBUG] : consoleIdentifier: Server

[14:24:38][DEBUG] : serverMotd: Welcome, %name%!

[14:24:38][DEBUG] : expireScreenshots: 0

[14:24:38][iNFO] : Done!

[14:24:38][iNFO] : Starting SUBSPACE server on port 6702...

[14:24:38][DEBUG] : Loading bans

[14:24:38][DEBUG] : Loading admin list

[14:24:38][DEBUG] : Loading whitelist

System.Net.Sockets.SocketOptionName 0x1b is not supported at IPv6 level

[14:24:38][iNFO] : Removed 0 debris

[14:24:39][iNFO] : Done!

[14:24:39][iNFO] : Done!

@beabop: Hrmm, That's certainly an odd one, are you sure you're definitely editing DMPModControl.txt on the server?. I also just tested the autogeneration, it works for me.

Btw, the path is relative to gamedata and uses forward slashes. 'engineer/engineer.dll' is correct here. If you're sure you're editing the DMPModControl.txt file on the server, drop by on IRC, something has gone wrong :(.

@Sampa: It depends on the settings, on blacklist mode you're allowed to have any mods apart from the ones specified, but the parts are still under a whitelist.

...

Also remember that DMPServer doesn't actually use the mods, to it vessels are just text files that it passes along ;)

In that case, I think the DMPModControl.txt comments should explicitly say that paths are relative to GameData, case insensitive, and use forward slashes.

I am definitely editing DMPModControl.txt on the server (SSHed in). When I generated the whitelist from my client (Windows 7) and opened it, there was no whitelist entry, so I didn't bother copying it over to my server.

I tried generating the whitelist again, this time I noticed the following:

!required-files

#To generate the SHA256 of a file you can use a utility such as \

this one: http://hash.online-convert.com/sha256-generator (use t\

he 'hex' string), or use sha256sum on linux.

#File paths are read from inside GameData.

#If there is no SHA256 hash listed here (i.e. blank after the eq\

uals sign or no equals sign), SHA matching will not be enforced.

#You may not specify multiple SHAs for the same file. Do not put\

spaces around equals sign. Follow the example carefully.

#Syntax:

#[File Path]=[sHA] or [File Path]

#Example: MechJeb2/Plugins/MechJeb2.dll=B84BB63AE740F0A25DA047E5\

EDA35B26F6FD5DF019696AC9D6AF8FC3E031F0B9

#Example: MechJeb2/Plugins/MechJeb2.dll

Engineer/Engineer.dll

Engineer/EngineerToolbar.dll

Is that where the whitelist is meant to be? With this config, I can connect to the server with engineer on. But now I can't connect with a stock install.

I also noticed that the DMPModControl.txt generated by the client has CRLF line endings.

Edited by beabop
Link to comment
Share on other sites

Okay, I figured it out. It's working now.

!resource-whitelist

#Only select one of these modes.

#Resource blacklist: clients will be allowed to use any dll's, So long as they are not listed in this section

#Resource whitelist: clients will only be allowed to use dll's listed here or in the 'required-files' and 'optional-files' sections.

#Syntax:

#[File Path]

#Example: MechJeb2/Plugins/MechJeb2.dll

Engineer\Engineer.dll

Engineer\EngineerToolbar.dll

!required-files

#To generate the SHA256 of a file you can use a utility such as this one: http://hash.online-convert.com/sha256-generator (use the 'he\

x' string), or use sha256sum on linux.

#File paths are read from inside GameData.

#If there is no SHA256 hash listed here (i.e. blank after the equals sign or no equals sign), SHA matching will not be enforced.

#You may not specify multiple SHAs for the same file. Do not put spaces around equals sign. Follow the example carefully.

#Syntax:

#[File Path]=[sHA] or [File Path]

#Example: MechJeb2/Plugins/MechJeb2.dll=B84BB63AE740F0A25DA047E5EDA35B26F6FD5DF019696AC9D6AF8FC3E031F0B9

#Example: MechJeb2/Plugins/MechJeb2.dll

!optional-files

#Formatting for this section is the same as the 'required-files' section

Engineer/Engineer.dll

Engineer/EngineerToolbar.dll

!resource-whitelist

#!resource-blacklist

#Only select one of these modes.

#Resource blacklist: clients will be allowed to use any dll's, So long as they are not listed in this section

#Resource whitelist: clients will only be allowed to use dll's listed here or in the 'required-files' and 'optional-files' sections.

#Syntax:

#[File Path]

#Example: MechJeb2/Plugins/MechJeb2.dll

I didn't read quite carefully enough and put the paths in the wrong section! Derp. :confused:

I think it would be cool if the server threw a warning if you put paths under a !resource-whitelist section. Just to help other derps like me. :)

[WARNING] Paths detected under '!resource-whitelist' section of DMPModControl.txt.

[WARNING] Did you mean to put them under !optional-files?"

Edited by beabop
Link to comment
Share on other sites

@beabop: The autogenerator should have put it in the right spot ;).

Part adding mods should always be added to the required section otherwise you'll throw errors when you try to join the server. Non part adding mods go in optional so someone playing stock, and maybe someone with kerbal alarm clock can join in the server (KAC doesn't affect the other play in any way whatsoever).

EDIT:

@mirodasc: Welcome to the forums! I'm doing my best to release on christmas :)

Edited by godarklight
Link to comment
Share on other sites

1.) The DMP-Project (plus dmp-Linux-Server-Derivate) is (in my/our opinion) the absolute most

important Extension for KSP. It takes the KSP-Experience to an completely new and exciting level.

2.) This Project is the one and only reason, i created an account here on "official" KSP-forums.

3.) Now lets step to some questions:

3a.)

Kethane / karbonite should just work, but they'll likely have

different maps unless you copy the scenario modules from the server into the initial folder.

Does this mean to copy

/srv/dmpserver/bin/Universe/Scenarios/Playername/KethaneData.txt and SCANcontroller.txt to

/srv/dmpserver/bin/Universe/Scenarios/Initial?

I expect that its NOT (never) possible that 2 ships of 2 players can fasten scan SCANsat/Kethane/

Kerbonite etc... (?)

3b.) Whats the purpose of the folder /src/dmpserver/bin/Plugins

Can we (in a future feature) copy there plugin-archives and the dmp-client download/install it to a

clean/fresh KSP-installation?

Have a kerbalish Day.

Link to comment
Share on other sites

@Jansn: You're welcome, I'm glad people are enjoying DMP :)

3a) Yes, the initial folder gets copied to the playername folder the very first time they connect to the server, if you want new players to join in with the same seed (deposit locations), this is the only way for now.

The amount of deposits will all be different for different players however, 2 players can scan at the same time but they'll each have their own scan map.

3b) The plugins folder is the DMPServer equivalent of KSP's GameData/ folder, it's for DMPServer mods/plugins. Currently the only plugins available are the DarkChat IRC connector, and the public server list reporter (and development reporter)

The plugins folder is not for KSP mods. For mods, use the options -> generate whitelist/blacklist DMPModControl.txt and move it to the server folder :)

Link to comment
Share on other sites

Thanks GoDaLl for fast reply.

Ok, 1 Player have to finish its scan, then copy the .txt to Intitial (for new users),

OR! copy into existing user folder (of existing user) for synchronized maps. (?)

(We keep trying around with that.)

Also Server-Plugin-Folder is clear now.

Good luck for your further development ;-)

Link to comment
Share on other sites

will this work with other mods an individual user has, or does this work like minecraft servers and only allows people to use what the server owner has?

Yes.

Here 2 Player on same server, each with them individual mod-configs.

Of course, mods with PARTS in it have to keep synchronized to avoid "can not switch to vessel" errors.

Our (Private) Server-Config: Mod-Control/Whitelist-/Blacklist-/Optional-/Required- = disabled/empty.

Link to comment
Share on other sites

Last I played was 1.5.0 Just wondering, is desyncing still a problem(splitting into parallel universes with occasional interactions), and is there any lan server options ?

Those bug fixes look great :)

You can setup a server on a local lan-box.

Also on the machine you are running KSP.

Server needs really minimal ressources.

(We tested on an old raspberry pi)

Since two months, here (austria) we did NOT recognize

any desync phenomens on our 1-core/256mb-ram/1gb-hdd-space vServer (in germany).

(ping is between 15 and 500 ms)

Or do you mean timewarping/subspace desyncs?

Edited by Jansn
Link to comment
Share on other sites

Hi,

fellow Kerbonauts and (whats a female Kerbonaut called?)

Im hard at work building a new (and improved) http://d-mp.org.

in Order to give you a small Preview of what i came up with heres a Picture of the new Serverlist (Click for larger Version).

newwebpage1s.jpg

I hope you like the Direction im heading.

(And yes it will finaly work on mobile Devices)

Post your wishes and ideas :)

Happy Spacetapeing

VITAS

Edited by VITAS
Link to comment
Share on other sites

Hi,

fellow Kerbonauts and (whats a female Kerbonaut called?)

Im hard at work building a new (and improved) http://d-mp.org.

in Order to give you a small Preview of what i came up with heres a Picture of the new Serverlist (Click for larger Version).

http://d-mp.org/new-webpage-small.jpg

I hope you like the Direction im heading.

(And yes it will finaly work on mobile Devices)

Post your wishes and ideas :)

Happy Spacetapeing

VITAS

Overkill, I'd say! But hey, more is better than less, right? :wink:

Only thing I'd ask you to do before committing/finalizing the website renovation is to have godarklight or somebody proofread the content so that the links are consistent/up-to-date and that it sounds official.

Link to comment
Share on other sites

Hi,english isnt my mother language so ill make sure someone more qualified does the texting :)

but why is it overkill?

Not many unofficial mods for games make entire websites for themselves and pay for it themselves :) You're doing great !

Link to comment
Share on other sites

Forgive me if someone has done this, but I haven't found a reference.

As I get bored running 20 minutes burns twice when I'm sending two ships in tandem to a destination (e.g. A lander and a refueler), I've just started running DMP server on my own system, with two KSP clients on the same system so I can run my burns etc in parallel. It seems to work well and both my clocks are green so I'm not overloading CPU or memory (I have 8 Gb). Right now I have two ships burning their way to Dres, for a test.

Anyone else done this? It could save me a lot of "me time"... ;-)

Link to comment
Share on other sites

@Nemrav: The ability to de-sync is what makes the whole concept of multiplayer possible, without it you either have to force everyone to warp all at once (which is a little meh), or disable timewarp completely. Sync is there for a reason, you'll learn to love it one day :D (Or you can change to MCW_VOTE in DMPServerSettings.txt).

@Jansn: I probably should get around to adding in support for that, although I play a mostly stock game so I'm unsure what everyone uses. Do people want stock-only support, blizzy-only support, or stock fallback if blizzy isn't installed?

@VITAS: Thanks for running the server list - I'll have to double check to make sure the reporter is stable, but other than that, looking good!.

@longbyte1: It's more official than this, and I run this thing :P

@ATJ63: I do that myself while testing DMP, it works most of the time, but sometimes you can get a loading hickup and all your parts will be missing.

Link to comment
Share on other sites

Hi,

heres what ive worked on today (click for larger Version):

newwebpage2s.jpg

If you click on a Field inside the Serverlist a Detail Page is shown below that Row.

Depending on the Column it will show different Informations.

The Screenshot showes the Player Coulumn Field Detail with all the Players currently connected.

When you click on a Playername you will be redirected to the Players (yet to be build) Summery Page.

Theres also a Arrow Button on the right that opens a more Detailed view showing Statistics and other stuff (also not build yet).

@Nemrav More mods should have Websites (if they have more to say than "heres a mod doing x and you can DL it here).

I have some spare resources and time so i want to help some project that i always wanted to exist but didnt start myself.

The Website is more than just a Serverlist. Theres an API for people to use the Data in their Projects/Websites, We have the Wiki, and hopfully in the Future we will have stuff, that extends the Game beyond ksp itself like screenshot/vessel sharing, achievements and live telemtry (so you can play control tower from your smartphone).

Btw if someone is good at PHP, HTML,JS, CSS,SQL and is willing to help. There are many lines left to code :)

@Darklight thank you for coding the Mod itself :)

VITAS

Link to comment
Share on other sites

Hi,

today i did most of the work on the Backend.

The Site can now host multiple Webpages using one Codebase (e.g. CKAN and DMP).

I also did some Cleaning up and DB work.

For some Eyecandy i played with WebGL and made this:

Test

WebGL might be usefull for some Future Telemetry showing Vessels in an Actual 3D View arround Planets within your Webbrowser and without Plugins.

VITAS

Link to comment
Share on other sites

I was playing with a group of friends and we had ships in orbit. However when we got on today we noticed most of them are gone. Is there some kind of fix for this?

How does darkmultiplayer save? What kind of system does it use?

Your ships may have been automatically cleared from the map to prevent clutter, depending on whether or not you were playing on a public server. It shouldn't do that, but maybe there's a timer for unclaimed ships.

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