This problem exists in the Windows version of X3AP run on my fairly modern Desktop and the Linux version run on my ancient laptop; it is hardware and operating system independent.
Edit: This has been patched in the latest Mayhem Renegades patch available at the top of the Renegades thread.
Installation Details
Items that have been shown to not be part of this issue have been edited with NR2R (Not Required To Reproduce). I've kept them in the list to prevent invalidating references made to them later in the thread.
- Steam X3AP 3.3.0.0 English (bonus package disabled)
- Modified with the following files deployed in the following order; misc steps are shown in italics:
- Renegades 2.50 Installation package
- Renegades 3.00 Incremental Release
- Renegades Patch
- NR2R: ZH Sector backgrounds pack
- cleanup.bat executed
- X3AP 3.3 nonsteam executable deployed
- NR2R: a font replacement that I made myself is deployed at F/Tahoma13.abc and F/Tahoma13.tga
- NR2R: CockpitmodNGforLU
- NR2R: X3-Colour-By-Race 2.0.1
- NR2R: SpaceSuitSurvivalKit_and_EjectorSeat_v1.01_2012-12-15
Some of these steps are probably unnecessary, but until I reproduce with fewer I'll keep it accurate.
- Quickstart game (get a mammoth)
- Deploy Outpost and Research Station in empty sector
- Dock and save at Research Station
- Dock and save at Outpost
- Order a construction of a new outpost
- Assign all provided traders to outpost
- Undock
- Dock to outpost again, save
- Observe that this save file doesn't exist in the save or load menu
When saving at outposts on your second docking (e: sometimes first), the save file is corrupt and will not show up in X3AP despite the file existing on-disk. No errors are printed to the console by X3AP, the file simply is invisible. When uncompressed and viewed in a hex editor, the field early in the save file that shows the station name has what looks like a lot of superfluous 0x1b 0x57 bytes before it, and a bunch of 0x1b 0x58 characters after it, but this may be a red herring.
Working Solution
The strangeness about the station name prompted me to try renaming the outpost. This does in fact allow you to save a file that is not invisible to the game - but it does not prevent it from happening again. I tried a fresh playthrough where I renamed the outpost before docking and my second save was corrupt. While still docked I renamed the station and I was able to save again. This requires one to always verify that the save file they just saved is visible in the save or load menu after saving, but it does appear to work.
I have not yet tested this solution with a long-running game.
The strange bytes padding the name also appear in a game where the outpost has been renamed, but there seems to be about half as much of it. Again, it might be a red herring, but I wonder if this binary field in the save file has a maximum length that is being exceeded rendering the file corrupt. I have attempted to manually delete all padding but this does not fix a corrupted save file.
Closing Thoughts
I could not find any reference to a similar issue on the forums or on Discord, so I am sharing it here in the hopes that it helps someone else. I'm disappointed that X3AP isn't producing any errors about these corrupt files - they simply don't show up in the save or load menus. Nothing of note is printed to STDOUT or the log files under Egosoft/X3AP. This is almost certainly related to the game being modified, but this lack of feedback makes it challenging to troubleshoot.
---------
New Solution
As suggested by Hairless-Ape, I have re-coloured my outpost via Select Outpost -> Advanced -> Command Console -> Slot x -> Colour Station Name -> Default and it seems to address the problem, I haven't been able to reproduce it. The save file generated does not show the extra padding characters I have mentioned when viewed in a hex editor. I think these hex characters before and after the outpost name are colour escape codes, and I think that my hypothesis that we're accidentally reapplying colour on top of something that is already coloured would explain this behaviour. I believe if all colour is stripped before being applied, we could have our outpost colours and save stability too.