Jump to content

DarkMultiPlayer 0.3.8.0 [KSP 1.12.0]


godarklight

Recommended Posts

@Everyone: I found some more sillyness in the development version which should now be fixed.

I messed up the contracts filter (RescueKerbal causes a great deal of problems for DMP, so I remove them), which caused all contracts to be lost. This bug should now be fixed.

Missing kerbals from ProgressTracking.txt caused a NullReferenceException inside KSP. This bug now should be fixed - A randomly generated (renamed) kerbal now takes the missing kerbals place.

Everyone using dev should definitely update to 621baf5 (DMPUpdater does come in handy :wink:) - This version could potentially become 0.1.5 if no weirdness comes up. If something does comes up, make some noise in this thread or try to catch me on IRC.

Link to comment
Share on other sites

@godarklight:

I tested it today serveral times and the 64bit game is still crashing during conecting/sycning to server. The 32bit is fine.


Unity Player [version: Unity 4.5.2f1_9abb1b59b47c]

KSP_x64.exe caused an Access Violation (0xc0000005)
in module KSP_x64.exe at 0033:03a60000.

Error occurred at 2014-07-29_214520.
E:\Kerbal Space Program 0.24 64bit\KSP_x64.exe, run by Sebastian.
40% memory in use.
16352 MB physical memory [9671 MB free].
32701 MB paging file [26170 MB free].
8388608 MB user address space [8386353 MB free].
Write to location 03a60000 caused an access violation.

Context:
RDI: 0x3a254000 RSI: 0x84440880 RAX: 0x844404c0
RBX: 0x865b6050 RCX: 0x3a254000 RDX: 0x299b0560
RIP: 0x03a60000 RBP: 0x0029ea90 SegCs: 0x00000033
EFlags: 0x00010206 RSP: 0x0029ea50 SegSs: 0x0000002b
R8: 0x00000800 R9: 0x00000000 R10: 0x86521b88
R11: 0x891f08ca R12: 0x0029f2f0 R13: 0x02254d48
R14: 0x6a88ad80 R15: 0x42297d68

Bytes at CS:EIP:
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Module 1
C:\Windows\system32\xinput1_3.dll
Image Base: 0x00400000 Image Size: 0x0001e000
File Size: 107368 File Time: 2007-04-04_195422
Version:
Company: Microsoft Corporation
Product: Microsoft® DirectX for Windows®
FileDesc: Microsoft Common Controller API
FileVer: 9.18.944.0


========== OUTPUTING STACK TRACE ==================

(0x0000000103A60000) ((module-name not available)): (filename not available): (function-name not available) + 0x0
(0x00000000118DD195) (Mono JIT code): (filename not available): ProtoVessel:Load (FlightState) + 0xe35 (00000000118DC360 00000000118DD208) [0000000002254D48 - Unity Root Domain] + 0x0
(0x00000000118DC2EC) (Mono JIT code): (filename not available): FlightState:Load () + 0x6c (00000000118DC280 00000000118DC32E) [0000000002254D48 - Unity Root Domain] + 0x0
(0x00000000118DC20B) (Mono JIT code): (filename not available): Game:Load () + 0x9b (00000000118DC170 00000000118DC24D) [0000000002254D48 - Unity Root Domain] + 0x0
(0x00000000118D6EFF) (Mono JIT code): (filename not available): SpaceCenterMain/:MoveNext () + 0x16f (00000000118D6D90 00000000118D7413) [0000000002254D48 - Unity Root Domain] + 0x0
(0x0000000003F2D0CB) (Mono JIT code): (filename not available): (wrapper runtime-invoke) <Module>:runtime_invoke_bool__this__ (object,intptr,intptr,intptr) + 0x6b (0000000003F2D060 0000000003F2D15C) [0000000002254D48 - Unity Root Domain] + 0x0
(0x000007FED91236CA) (mono): (filename not available): mono_set_defaults + 0x2b8e
(0x0000000029C69A68) ((module-name not available)): (filename not available): (function-name not available) + 0x0
(0x00000000FFFFFFFF) ((module-name not available)): (filename not available): (function-name not available) + 0x0
(0x0000000002254D48) ((module-name not available)): (filename not available): (function-name not available) + 0x0

========== END OF STACKTRACE ===========

Link to comment
Share on other sites

Both versions are 0.24.2 as it is downloadable at the KSP-Store.

I think it has something to do with the filepositions because the structure is little different to 32bit (names of folders). I tried to work around by copying some files from the 32bit Versions, which didn't worked out for sure.

One second thing: DMP-Updater needs to have a "ksp.exe" in the folder, on 64bit it is the "ksp_64.exe". So anyone using the Standalone x64-Version will have to create a ksp.exe before using DMP-updater.

Link to comment
Share on other sites

For some reason ssi.kerbalcentral.com is no longer showing up on the DMP server list. ive checked ports and third parties see it fine. broadcast working too.

edit: nvm its there now. strange.

Link to comment
Share on other sites

Loving it so far, been messing about with it since yesterday. I did spot a small oversight regarding the DMPModcontrol.txt !partlist, some of the newer items from 24.x haven't made it into the list yet. Afaik the only new parts are vernierEngine and OMSEngine.

Beyond that we did get stuck in our ship a few times with no way to get back to the spacecenter. Relog fixed it and having multiple players close by each other causes it to happen more frequently. I spotted this on the bug tracker so I reckon this is WIP.

I've also lost one of my ships doing a player > player docking. Upon docking the other player no longer saw my craft while it was nicely docked on my end. Relogging caused my craft to disappear.

Docking without an active player in the other craft works just fine.

Edited by NedStar
Engrish
Link to comment
Share on other sites

@popos1: Options -> Generate DMPModControl.txt should be what you're looking for :)

@Squamble: Unfortunately crash logs aren't too helpful for me - These generally suggest bugs in KSP itself (Nothing in DMP should crash KSP, but it gets a bit sensitive in some areas). Also - I did update DMPUpdater to recognise the 64bit file, But it's very interesting that they just didn't ship both version in 1 like they do with linux :-/. Just redownload DMPUpdater and it should be good :)

@inigma: I'll rewrite the server scraper today, It's long overdue, the current one doesn't scale to over 100 servers very well

@NedStar: I definitely added those parts, but you may have to regenerate DMPModControl.txt (delete it if you're running stock) for the new parts to show up. Or just add those 2 lines I guess :)

@Everyone: I've decided to bite the bullet and release 0.1.5.0, There might (probably will) still be weirdness around, but it's much better having a version that mostly works as release, compared to one that doesn't work at all for 0.24. There likely will be a few point releases for this series...

Link to comment
Share on other sites

@Squamble: Unfortunately crash logs aren't too helpful for me - These generally suggest bugs in KSP itself (Nothing in DMP should crash KSP, but it gets a bit sensitive in some areas). Also - I did update DMPUpdater to recognise the 64bit file, But it's very interesting that they just didn't ship both version in 1 like they do with linux :-/. Just redownload DMPUpdater and it should be good :)

It's a separate file because Squad didn't really make their own. They basically just packaged up and (barely) stabilized the "hack" 64bit that everyone was trying out anyway. You still get 67% of the same crashes relating to memory/UI/audio interface read errors, it's the same 64 bit unity exe with some code revisions. Squad doesn't seem to have any real experience in core engine work, which is why they basically just put out what the unity team has for them. (Not that I'm trying to dig on them or anything, just an observation)

Link to comment
Share on other sites

I have used DMP on KSP 0.23.5, and it is great. I just got KSP 0.24 and every time i try to connect to a server, it says unhandled error while connecting. Whats wrong? I have the updater so I have updated it. Btw also, it says that instead of me being able to use mattdogking, it says it is already taken. Whats with this?

Link to comment
Share on other sites

I have used DMP on KSP 0.23.5, and it is great. I just got KSP 0.24 and every time i try to connect to a server, it says unhandled error while connecting. Whats wrong? I have the updater so I have updated it. Btw also, it says that instead of me being able to use mattdogking, it says it is already taken. Whats with this?

For those who still have unhandled errors (in general), turn off your router firewall. Usually the problem.

Edited by Talavar
Link to comment
Share on other sites

@PhoenixTheSage: The reason why full crashes aren't helpful probably isn't immediately obvious, but I'll show you the difference:

This is all KSP stuff, along with heaps of missing information. This trace is useless:


(0x00000000118DD195) (Mono JIT code): (filename not available): ProtoVessel:Load (FlightState) + 0xe35 (00000000118DC360 00000000118DD208) [0000000002254D48 - Unity Root Domain] + 0x0
(0x00000000118DC2EC) (Mono JIT code): (filename not available): FlightState:Load () + 0x6c (00000000118DC280 00000000118DC32E) [0000000002254D48 - Unity Root Domain] + 0x0
(0x00000000118DC20B) (Mono JIT code): (filename not available): Game:Load () + 0x9b (00000000118DC170 00000000118DC24D) [0000000002254D48 - Unity Root Domain] + 0x0
(0x00000000118D6EFF) (Mono JIT code): (filename not available): SpaceCenterMain/:MoveNext () + 0x16f (00000000118D6D90 00000000118D7413) [0000000002254D48 - Unity Root Domain] + 0x0
(0x0000000003F2D0CB) (Mono JIT code): (filename not available): (wrapper runtime-invoke) <Module>:runtime_invoke_bool__this__ (object,intptr,intptr,intptr) + 0x6b (0000000003F2D060 0000000003F2D15C) [0000000002254D48 - Unity Root Domain] + 0x0
(0x000007FED91236CA) (mono): (filename not available): mono_set_defaults + 0x2b8e
(0x0000000029C69A68) ((module-name not available)): (filename not available): (function-name not available) + 0x0
(0x00000000FFFFFFFF) ((module-name not available)): (filename not available): (function-name not available) + 0x0
(0x0000000002254D48) ((module-name not available)): (filename not available): (function-name not available) + 0x0
Use(0x0000000103A60000) ((module-name not available)): (filename not available): (function-name not available) + 0x0

These ones are helpful, they aren't full crashes. Throws give me a trace of where things have messed up, and although this is actually a bug inside of KSP, DMP is quite capable of working around it:


at Contracts.Templates.RescueKerbal.OnSave (.ConfigNode node) [0x00000] in :0
at Contracts.Contract.Save (.ConfigNode node) [0x00000] in :0
at Contracts.ContractSystem.OnSave (.ConfigNode gameNode) [0x00000] in :0
at ScenarioModule.Save (.ConfigNode node) [0x00000] in :0
at DarkMultiPlayer.ScenarioWorker.SendScenarioModules () [0x00000] in :0
at DarkMultiPlayer.ScenarioWorker.Update () [0x00000] in :0
at DarkMultiPlayer.Client.Update () [0x00000] in :0
DarkMultiPlayer: Threw in UpdateEvent, exception: System.NullReferenceException: Object reference not set to an instance of an object

I can't speak for squad or unity with respect to 64-bit issues, but DMP is now compiled on the AnyCPU setting, so it shouldn't matter whether you use 32 or 64 bit (It didn't really matter anyway, it worked fine as a 32bit assembly). I've developed DMP exclusively on linux 64, although RockyTV/JoshBlake have taken care of a few windows specific things :).

@Alshain:

1) should definitely not be happening - DMP doesn't really do anything in the VAB/SPH window, Can you try removing all mods except DMP to see if you can reproduce it. It definitely works on my computer...

2) Usually caused by NullReferenceExceptions in the GUI drawing thing - Can you upload output_log.txt and either PM or link it in the thread so I can hunt it down? - I haven't come across this one yet.

Window positions) To be honest, this annoys me enough that I'll probably do this today :P

Integration into the new toolbar) Not a bad idea, but there's a few things I'd like to take care of before this one happens.

@Mattdogking: 0.1.4.2 did not support 0.24 and brought up that error during sync as they changed the kerbal roster and the way the game start works. I released 0.1.5 as it made sense to have a mostly working version for 0.24, rather than telling people to use dev.

@Talavar: Firewalls should have nothing to do with unhandled error during sync - "Unhandled error while syncing" generally means DMP failed to do something it really needed to do, like load a kerbal or vessel into the game, which 0.24 caused by the CrewRoster -> KerbalRoster change. Firewall problems usually are along the lines of "Failed to connect - no reply", "Connection error: The connection was aborted by software in your host machine", or "Connection error: The connection was terminated because the remote machine actively refused it" (From memory).

Link to comment
Share on other sites

@Talavar: Firewalls should have nothing to do with unhandled error during sync - "Unhandled error while syncing" generally means DMP failed to do something it really needed to do, like load a kerbal or vessel into the game, which 0.24 caused by the CrewRoster -> KerbalRoster change. Firewall problems usually are along the lines of "Failed to connect - no reply", "Connection error: The connection was aborted by software in your host machine", or "Connection error: The connection was terminated because the remote machine actively refused it" (From memory).

I'm not sure about all the other causes, but dropping my firewall actually solved that problem for me and my buddies while they were trying to connect. that was the exact error it was pitching us. Not sure why if its not supposed to be, but it is what it is! lol .. btw we're having a blast with the mod, definitely good work!! :) . Our issues in the mod seem to be 1: once we dock together 1 person loses control and can never regain it even after undock. 2:ships randomly vanishing for one person after docking. 3: the docking duplication bug, happened twice so far. only one duplicate for me (player who lost control), when I hit "[" to switch vessles, the duplicate vanished and showed me the actual docked vehicles. I was never able to resume control of this vessel even after undock, It didnt show up in the ship roster at the space center, or on the map. .. another time, me and my son docked two rovers beside KSP runway, after we docked, his screen showed us docked, and he had control, nose to nose, but when he tried to back up, they tried to pull apart. but his rover vanished on my screen, but I still had control of mine on my end(rovers had same name, copies of same exact ship) and he was unable to undock. .. we tried again afterwards with differently named copies of same rover both uploaded to server as a different save name. this time when we docked, I had both ships on my screen and movement was fluid, I could move the docked rovers forward and backwards, but he could not spectate, they had both vanished for him. I couldnt undock them either. The option was there, I clicked it once but it never undocked, and it never gave me the option to undock again.

Don't know if any of that will help you out, I hope so! Loving this mod!

Link to comment
Share on other sites

I am using Hamachi to set up my server for my friends and I, but they can't connect. I have already made sure that they have the right address typed in, that the DMP server is up, and that my firewall is allowing DMP server, Hamachi, and KSP through it.

Link to comment
Share on other sites

I am having trouble with my server. I set it up using Hamachi and none of my friends can connect to it. I checked my firewall to see if it was allowing ksp, DMP server, and Hamachi through it, I checked to see if my friends were typing in the right ip, and I made sure the DMP server was up and running

Link to comment
Share on other sites

I am having trouble with my server. I set it up using Hamachi and none of my friends can connect to it. I checked my firewall to see if it was allowing ksp, DMP server, and Hamachi through it, I checked to see if my friends were typing in the right ip, and I made sure the DMP server was up and running

Got no idea how to get it working with hamachi, i know what hamachi is but i have never tried DMP with it.

Link to comment
Share on other sites

@PhoenixTheSage: The reason why full crashes aren't helpful probably isn't immediately obvious, but I'll show you the difference:

This is all KSP stuff, along with heaps of missing information. This trace is useless:


(0x00000000118DD195) (Mono JIT code): (filename not available): ProtoVessel:Load (FlightState) + 0xe35 (00000000118DC360 00000000118DD208) [0000000002254D48 - Unity Root Domain] + 0x0
(0x00000000118DC2EC) (Mono JIT code): (filename not available): FlightState:Load () + 0x6c (00000000118DC280 00000000118DC32E) [0000000002254D48 - Unity Root Domain] + 0x0
(0x00000000118DC20B) (Mono JIT code): (filename not available): Game:Load () + 0x9b (00000000118DC170 00000000118DC24D) [0000000002254D48 - Unity Root Domain] + 0x0
(0x00000000118D6EFF) (Mono JIT code): (filename not available): SpaceCenterMain/:MoveNext () + 0x16f (00000000118D6D90 00000000118D7413) [0000000002254D48 - Unity Root Domain] + 0x0
(0x0000000003F2D0CB) (Mono JIT code): (filename not available): (wrapper runtime-invoke) <Module>:runtime_invoke_bool__this__ (object,intptr,intptr,intptr) + 0x6b (0000000003F2D060 0000000003F2D15C) [0000000002254D48 - Unity Root Domain] + 0x0
(0x000007FED91236CA) (mono): (filename not available): mono_set_defaults + 0x2b8e
(0x0000000029C69A68) ((module-name not available)): (filename not available): (function-name not available) + 0x0
(0x00000000FFFFFFFF) ((module-name not available)): (filename not available): (function-name not available) + 0x0
(0x0000000002254D48) ((module-name not available)): (filename not available): (function-name not available) + 0x0
Use(0x0000000103A60000) ((module-name not available)): (filename not available): (function-name not available) + 0x0

These ones are helpful, they aren't full crashes. Throws give me a trace of where things have messed up, and although this is actually a bug inside of KSP, DMP is quite capable of working around it:


at Contracts.Templates.RescueKerbal.OnSave (.ConfigNode node) [0x00000] in :0
at Contracts.Contract.Save (.ConfigNode node) [0x00000] in :0
at Contracts.ContractSystem.OnSave (.ConfigNode gameNode) [0x00000] in :0
at ScenarioModule.Save (.ConfigNode node) [0x00000] in :0
at DarkMultiPlayer.ScenarioWorker.SendScenarioModules () [0x00000] in :0
at DarkMultiPlayer.ScenarioWorker.Update () [0x00000] in :0
at DarkMultiPlayer.Client.Update () [0x00000] in :0
DarkMultiPlayer: Threw in UpdateEvent, exception: System.NullReferenceException: Object reference not set to an instance of an object

I can't speak for squad or unity with respect to 64-bit issues, but DMP is now compiled on the AnyCPU setting, so it shouldn't matter whether you use 32 or 64 bit (It didn't really matter anyway, it worked fine as a 32bit assembly). I've developed DMP exclusively on linux 64, although RockyTV/JoshBlake have taken care of a few windows specific things :).

Oh yeah I'm aware, I just speaking on the (like you said) fact that Squad packages up 64-bit separate from 32-bit in Windows unlike the linux version. However, I wouldn't say the stacktrace is totally useless. It can give valuable insight into the state of KSP within memory at the time of the crash. For the most part though it doesn't really help one determine the direct cause but it does give context. Just IMO as a nooby coder of course.

I've been sifting through hundreds of crash logs getting my server mod package stable (and it finally is) which was actually quite a bit of fun. I will try to come with a list at some point but it is easily over 50 mods running on DMP with very few problems.

Edited by PhoenixTheSage
Link to comment
Share on other sites

Got no idea how to get it working with hamachi, i know what hamachi is but i have never tried DMP with it.

Why do you need to use Hamachi? I only ask because I had never heard of this product and when I looked it up it appears to be something to allow you to connect to another computer via a VPN.

If you have already opened your firewall then a VPN seems a little a redundant. All you should need is to forward the port the host machine.

Apologises if I am over simplifying this...

Link to comment
Share on other sites

@Talavar: I'll see if I can poke the docking bug today, Nothing changed in the way of docking as far as I can see, but it may be possible that 2 craft manage to dock at the same time due to the position fix (perhaps). I'll have to pick one as the new pilot and only let one docking happen at a time, instead of both in both update weirdness that can happen now ;)

@ChrisGuy: As far as I know it should just work, DMPServer by default listens on all addresses, which *should* include hamachi. If it doesn't, you could try setting the 'address' setting in DMPServerSettings.txt, although that will stop all other addresses apart from the one entered from working (Eg, you won't be able to connect to 127.0.0.1, which shuts out all non-hamachi users). I would recommend port forwarding, but some people aren't in the position to port forward.

@Lamper: There is one case where hamachi would be required, although I'm not sure how well hamachi could sort out this mess. If you don't have a public IPv4 address, you cannot portforward. Or if you don't have access to the router management page.

The solution to that mess above is /dmp/"]IPv6, but don't hold your breath on that one, nearly nobody is doing it :P

@Alshain: DMP certainly does have its fair share of bugs, and 0.24 did hurt DMP. There is defensive code preventing science from wiping if it fails to load, so it's interesting that it managed to get wiped in the first place :(. If I manage to understand KSP's weirdness, things will be better in future versions :)

Link to comment
Share on other sites

@Talavar: I'll see if I can poke the docking bug today, Nothing changed in the way of docking as far as I can see, but it may be possible that 2 craft manage to dock at the same time due to the position fix (perhaps). I'll have to pick one as the new pilot and only let one docking happen at a time, instead of both in both update weirdness that can happen now ;)

@ChrisGuy: As far as I know it should just work, DMPServer by default listens on all addresses, which *should* include hamachi. If it doesn't, you could try setting the 'address' setting in DMPServerSettings.txt, although that will stop all other addresses apart from the one entered from working (Eg, you won't be able to connect to 127.0.0.1, which shuts out all non-hamachi users). I would recommend port forwarding, but some people aren't in the position to port forward.

@Lamper: There is one case where hamachi would be required, although I'm not sure how well hamachi could sort out this mess. If you don't have a public IPv4 address, you cannot portforward. Or if you don't have access to the router management page.

The solution to that mess above is /dmp/"]IPv6, but don't hold your breath on that one, nearly nobody is doing it :P

@Alshain: DMP certainly does have its fair share of bugs, and 0.24 did hurt DMP. There is defensive code preventing science from wiping if it fails to load, so it's interesting that it managed to get wiped in the first place :(. If I manage to understand KSP's weirdness, things will be better in future versions :)

Thank you, I will try that. The only reason I am not port forwarding is because for some reason when I type in 192.168.0.1(I have a D-Link router) it takes me to a webpage search instead of the port forwarding site

Link to comment
Share on other sites

I am using Hamachi to set up my server for my friends and I, but they can't connect. I have already made sure that they have the right address typed in, that the DMP server is up, and that my firewall is allowing DMP server, Hamachi, and KSP through it.

Try changing hamachi's position in your network order. Move it to the top of the list. For some reason programs can be tempermental when dealing with hamachi when it is second. Your computer is probably trying to send packets through your regular (probably firewalled) network connection rather than hamachi, and not accepting from hamachi either.

Change the Priority of Hamachi Adapter

* Start -> "run"

* "ncpa.cpl" then ENTER.

* Press [ALT]-Key (Menu appears)

* Advanced -> Advanced Properties

* Move Hamachi to the top of the list

* Restart PC.

(clipped from http://www.arcengames.com/forums/index.php?topic=2055.0 for quick posting) More information available there if simply moving it doesn't help (but it usually solves this problem).

Edited by Talavar
added source.
Link to comment
Share on other sites

@ChrisGuy: That webpage is your router config, you'll need to find something called "Port forwarding" or "Virtual Servers" depending on your router brand :)

@Talavar: I'd expect that binding to 0.0.0.0 (the default) should bind on all adapters regardless of any type of routing order, including hamachi's. It should Just Work .

Link to comment
Share on other sites

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