Jump to content

Subassemblies won’t save


Recommended Posts

Hi, I am fairly new to ksp and am playing an an Xbox series x.  I have tried building a sub assembly, namely a lander. I started with a docking module so know this isn’t the issue(I researched a lot into this but can’t find the answer). When I drag the assembly into the drop zone, the save panel opens, I can name the assembly and give it a description, but then I need to click the “a” button to save but nothing happens. If the cursor is visible ( by clicking the L thumbstick) the options to save disappear, which means I can’t use the cursor to select save. Please help.

Link to comment
Share on other sites

8 hours ago, Lisias said:

Are you using any non alfanumerical chars on the Assembly name?

No, I just called it “lander”,  same in the description.  I tried a new assembly with first placing a coupler and then adding a 2 man lander can, and this was the same. Dragged it to the box, the dialogue box opened, I changed the name and description but it wouldn’t save. It’s the same if I don’t change the name.

Edited by Rigger100472
Link to comment
Share on other sites

There's a way to extract the KSP.log from a Console rig?

What you described looks like an exception happening before the save, killing the working thread.

Check then disk free space, and there's a check disk on Xbox? If yes, run it to see if it helps..

Link to comment
Share on other sites

On 1/31/2025 at 1:07 PM, Lisias said:

There's a way to extract the KSP.log from a Console rig?

What you described looks like an exception happening before the save, killing the working thread.

Check then disk free space, and there's a check disk on Xbox? If yes, run it to see if it helps..

As far as I know I can’t access the save file, it saves game progress ok and even my rockets etc are saving. I have almost 1/2 tb of space left on my hard drive. 

Link to comment
Share on other sites

4 hours ago, Rigger100472 said:

As far as I know I can’t access the save file, it saves game progress ok and even my rockets etc are saving. I have almost 1/2 tb of space left on my hard drive. 

I found a way, but it's convoluted - and untested. :/

Get yourself a USB 3.1 thumb drive, plug it into the XBox and format it as game disk. COPY KSP to the thumb drive.

Then plug it into a PC, run a utility that convert it to be used on PCs and you will have access to the files.

HOWEVER... I don't have a Xbox Series X to test it myself, so I don't have the slightest idea if the trick on the spoiler will really work on the Series X. Neither have to vow if the utility is safe.

On a personal note, I really hate how Windows do its best worst to hide simple things from us. On Linux and even MacOS, this is incredibly simple... :/

Link to comment
Share on other sites

9 hours ago, Rigger100472 said:

I have a Mac, could I do this on a Mac?

WAY better, if we find a similar tool (or instructions to do it manually). I'm currently in the middle of a domestic hurricane (half my home is disassembled, boxes everywhere.. crap....), I will come back to you somewhere in early night EST.

Link to comment
Share on other sites

Does the cheat menu on the xbox version also provide a console? If so, it might be a bit easier to check for weird issues going on.
To open the cheat menu, according to a quick google search, you need to pause the game and

Spoiler

press up, up, down, down, left, right, left, right

I assume on the D-Pad. And yes, its a reference to the Konami code

You should be able to just keep the menu open, switch to the SPH or VAB and try to save the subassemly again. If an error pops up in the console, take a picture for us :) 

In the mean time, you can also try to re-root the subassembly to something else. Again, not sure about how things are done on xbox but there might be a "re-root" tool in the editor, similar to the ones you use to rotate or offset parts.
At least on PC, the whole "built your subassembly on top of a docking port" isn't t rue anymore. IIRC it used to be that way since the subassembly couldn't include the root part but it's possible by now.
Whatever it might be, simply re-rooting might be worth a try.

Oh, and another question: have you tried to save a very simple craft as a sub-assembly, just to check if it works at all? KSP can behave a bit odd when it comes to complex crafts, so maybe try to save something with like 2 or 3 parts, just for testing?

Link to comment
Share on other sites

On 2/4/2025 at 4:45 AM, Rigger100472 said:

I have a Mac, could I do this on a Mac?

Ouch, forgot about you. Sorry. I wish Forum would have some type of "remember me in <n> days" about posts!

Well, first things first: you are going to do some serious black magic here, and it can backfire nastily if you are not careful. So, really, really, really follow the instructions carefully and if anything doesn't works as expected, abort everything and come back here for help. DON'T ASSUME that anything will be fine unless happening exactly like I said - and even if it happens, it still can back fire!

So, let's go:

First: open your console and type diskutil list, as below:

> diskutil list
Spoiler
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk3         62.0 GB    disk0s2
   3:                 Apple_APFS Container disk4         938.0 GB   disk0s3

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2         119.8 GB   disk1s2

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +119.8 GB   disk2
                                 Physical Store disk1s2
   1:                APFS Volume Macintosh-62-SDD        87.3 GB    disk2s1
   2:                APFS Volume Preboot                 46.8 MB    disk2s2
   3:                APFS Volume Recovery                507.6 MB   disk2s3
   4:                APFS Volume VM                      32.8 KB    disk2s4

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +62.0 GB    disk3
                                 Physical Store disk0s2
   1:                APFS Volume SCRATCHPAD              21.7 GB    disk3s1
   2:                APFS Volume tmp                     4.0 MB     disk3s2
   3:                APFS Volume log                     85.1 MB    disk3s3
   4:                APFS Volume swap                    2.1 GB     disk3s4
   5:                APFS Volume vartmp                  32.8 KB    disk3s5

/dev/disk4 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +938.0 GB   disk4
                                 Physical Store disk0s3
   1:                APFS Volume DATA                    4.6 GB     disk4s1
   2:                APFS Volume Users                   920.3 GB   disk4s2

 

In the spoiler, an sample output (using my rig as subject). Note all the "/dev/disk<n>" thingies. These are the current disks plugged into your rig - DO WHAT YOU DO, DO NOT USE THESE NAMES.

Now plug your XBox formatted thumb drive and do it again. Follows the sample output from my rig:

Spoiler
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk3         62.0 GB    disk0s2
   3:                 Apple_APFS Container disk4         938.0 GB   disk0s3

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2         119.8 GB   disk1s2

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +119.8 GB   disk2
                                 Physical Store disk1s2
   1:                APFS Volume Macintosh-62-SDD        87.2 GB    disk2s1
   2:                APFS Volume Preboot                 46.8 MB    disk2s2
   3:                APFS Volume Recovery                507.6 MB   disk2s3
   4:                APFS Volume VM                      32.8 KB    disk2s4

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +62.0 GB    disk3
                                 Physical Store disk0s2
   1:                APFS Volume SCRATCHPAD              21.7 GB    disk3s1
   2:                APFS Volume tmp                     4.0 MB     disk3s2
   3:                APFS Volume log                     85.2 MB    disk3s3
   4:                APFS Volume swap                    2.1 GB     disk3s4
   5:                APFS Volume vartmp                  32.8 KB    disk3s5

/dev/disk4 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +938.0 GB   disk4
                                 Physical Store disk0s3
   1:                APFS Volume DATA                    4.6 GB     disk4s1
   2:                APFS Volume Users                   920.2 GB   disk4s2

/dev/disk5 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.1 GB    disk5
   1:                 DOS_FAT_32 UNTITLED                31.1 GB    disk5s1

 

Did you notice the new "/dev/disk5" on my sample output? This one is the thumbdrive I just plugged on my rig. In yours, the name will be different, obviously. Ignore anything else about that disk, it will change widely for you.

In time, it would be very interesting if you could paste the information you got in your rig! It will help me to write a small open source tool to automate the process! :)

Now, type (in ">" the command line, below the tool's output):

> diskutil umountDisk /dev/disk<the-number-of-your-thumbdrive>
Unmount of all volumes on disk<a-number> was successful

Anything different, and you will not be able to mangle with the disk. Reach me here pasting the output so I can see what to do.

BE ABSOLUTELY PARANOID FROM THIS POINT. Any mishap and you can destroy the wrong disk, losing data. And if that disk is your boot disk, you will have to reinstall everything from scratch losing any non backup'ed data! If anything different , weird  or plain unexpected happens, from a different message to your neighbor farting, stop everything and reach me for instructions!

Now do:

> sudo fdisk -e /dev/disk5

And follows my inputs and the program outputs (it's a interactive command line tool):

fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
Enter 'help' for information
fdisk: 1> help
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
Enter 'help' for information
fdisk: 1> help
	help		Command help list
	manual		Show entire man page for fdisk
	reinit		Re-initialize loaded MBR (to defaults)
	auto		Auto-partition the disk with a partition style
	setpid		Set the identifier of a given table entry
	disk		Edit current drive stats
	edit		Edit given table entry
	erase		Erase current MBR
	flag		Flag given table entry as bootable
	update		Update machine code in loaded MBR
	select		Select extended partition table entry MBR
	print		Print loaded MBR partition table
	write		Write loaded MBR to disk
	exit		Exit edit of current MBR, without saving changes
	quit		Quit edit of current MBR, saving current changes
	abort		Abort program without saving current changes
fdisk: 1> print
Disk: /dev/disk5	geometry: 3781/255/63 [60751872 sectors]
Offset: 0	Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 0B 1023 254  63 - 1023 254  63 [      2048 -   60749824] Win95 FAT-32
 2: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused

Your output will vary a bit, obviously. These numbers are less scary than it looks: they essentially says where the partition starts and where it ends:

  • The "id" thingy is what I want to know from your thumbdrive. It essentially says the format of the partition, and it's what we are going to change.
    • On mine is "0B" because I formatted this thumbdrive as a FAT-32 volume to make this tutorial easier to cope. :)
      • This kind of partition is still in use, by the way. Uncommon, but still used.
    • Remember this value if you plan to undo the changes!
  • the "cyl/hd/sec" thingies are deprecated fields, fossils from the 80's and 90's MS-DOS Era.
  • the "start" and "size" says in which logical sector that partition starts, and the size. We will not change these values, but since they are being shown, I'm explaining what they means.
    • Obviously, they can't overlap! If start + size is bigger than the size of any other entry, your disk is screwed and you should try to salvage what you can!

As I said, we are going to change the "id" thingy, from whatever you see in your rig to "07" (the id Microsoft uses for NTFS):

Spoiler
fdisk: 1> edit 1
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 0B 1023 254  63 - 1023 254  63 [      2048 -   60749824] Win95 FAT-32
 Partition id ('0' to disable)  [0 - FF]: [B] (? for help) 07
Do you wish to edit in CHS mode? [n]
Partition offset [0 - 60751872]: [63] 2048
Partition size [1 - 60749824]: [60749824] 60749824

 

Note how I used the very same values for "start" and "size". They need to be exactly the same, or you will screw up the partition.

Now revise everything and if you are sure you didn't made any mistake, save the partition table and quit the program:

Spoiler
fdisk:*1> write
Device could not be accessed exclusively.
A reboot will be needed for changes to take effect. OK? [n] y
Writing MBR at offset 0.
fdisk: 1> quit

 

Ignore the message "A reboot yada yada yada". It's not meaningful for removable media.

If by any reason you are not comfortable with the results, do:

fdisk: 1> abort

And the tool will exit without saving any changes.

From this point, I expect you to be able to read and write in your thumbdrive after removing it and reinserting it. Look for the KSP.log and send it to us!

TL;DR: XBox Game Partitions are merely NTFS volumes on a MBR partitioned disk using a different ID. :)

To undo the change, to the process again but replace the now "07" with the original value you found there early (don't forget to tell me this value!).

Cheers! (And good luck!! :sticktongue: - Don't loose your head, be absolutely sure you are using the right /dev/disk<n> !!)

---- POST EDIT ----

Below, a sample output from what I expect you to find (with a different "start" and "size", obviously) on your thumbdrive, using my edited one as reference:

Spoiler
> sudo fdisk -e /dev/disk5
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
Enter 'help' for information
fdisk: 1> print
Disk: /dev/disk5	geometry: 3781/255/63 [60751872 sectors]
Offset: 0	Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 07 1023 254  63 - 1023 254  63 [      2048 -   60749824] HPFS/QNX/AUX
 2: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused
fdisk: 1> abort

 

Note the "HPFS/QNX/AUX" thingy. In the UNIX World, the "07" id is used for other types of volumes. Messy, uh?

In time, this change is not a "magical" way to convert partitions. My thumbdrive is currently useless because besides I had changed it to look like a NTFS partition, it's still a FAT-32 one and if I try to use it, it will not work.

The only reason this stunt works is because Microsoft is, indeed, using NTFS for Xbox Game Partitions - they really only used a different ID to make the partition invisible if you plug it on a Windows machine.

In time... It just came to my mind that on Linux, you don't even need to change the ID, you can force the partition type on the mount command. So anyone on Linux, use "-t ntfs" and you are done!

sudo mount -t ntfs /dev/<some-disk-id-as-sdb1-or-sdc1-or-whatever> /mnt/<some-dir>

 

Edited by Lisias
POST EDIT
Link to comment
Share on other sites

On 2/4/2025 at 8:09 PM, 4x4cheesecake said:

Does the cheat menu on the xbox version also provide a console? If so, it might be a bit easier to check for weird issues going on.
To open the cheat menu, according to a quick google search, you need to pause the game and

  Reveal hidden contents

press up, up, down, down, left, right, left, right

I assume on the D-Pad. And yes, its a reference to the Konami code

You should be able to just keep the menu open, switch to the SPH or VAB and try to save the subassemly again. If an error pops up in the console, take a picture for us :) 

In the mean time, you can also try to re-root the subassembly to something else. Again, not sure about how things are done on xbox but there might be a "re-root" tool in the editor, similar to the ones you use to rotate or offset parts.
At least on PC, the whole "built your subassembly on top of a docking port" isn't t rue anymore. IIRC it used to be that way since the subassembly couldn't include the root part but it's possible by now.
Whatever it might be, simply re-rooting might be worth a try.

Oh, and another question: have you tried to save a very simple craft as a sub-assembly, just to check if it works at all? KSP can behave a bit odd when it comes to complex crafts, so maybe try to save something with like 2 or 3 parts, just for testing?

Tried the cheat mode , it doesn’t help with the subassembly saving. 

Edited by Rigger100472
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...