Mod Troubleshooting GuideHave a problem with modded Starsector? Look no further!
Please suggest additional items or sections for this guide, in the comments.
Start IssuesStarsector won't launch to the main menu.The launcher doesn't appear!This usually indicates that Java is not configured correctly. Check to make sure that the 'jre' folder is present and that the 'vmparams' settings are valid. If the -xms or -xmx values are over 1024m, this could indicate that the 'jre' folder contains a 32-bit JVM. If this is the case, you should switch the JVM in that folder to a 64-bit JVM:
http://fractalsoftworks.com/forum/index.php?topic=8726.0.
Rarely, other issues can cause the launcher to not appear; for more information about your problem, run Starsector.exe from the command line.
Array-index crash! (ArrayIndexOutOfBoundsException)This crash is usually due to having a prerequisite mod disabled, such as LazyLib, GraphicsLib, or TwigLib. Occasionally, this can also indicate that a mod is out-of-date with the current version of Starsector, or that your own Starsector version is out-of-date.
Out-of-memory / heap full crash! (OutOfMemoryError)If you are running a huge number of mods, this could indicate that you need to allocate more memory to Starsector. Do this by increasing the -xms and -xmx values in 'vmparams'. This requires a 64-bit JVM; see
http://fractalsoftworks.com/forum/index.php?topic=8726.0.
If you are not running that many mods, or if the previous step doesn't fix the problem, this could indicate that your graphics device cannot handle the number of textures being loaded into the game. The culprit, in this case, is GraphicsLib. The following is a step-by-step guide to get GraphicsLib to work on your system by editing the GRAPHICS_OPTIONS.ini file within the GraphicsLib folder in a program like Notepad++. After each step, check to see if the problem is gone:
1. Set
"useLargeRipple":false. The large ripple uses a lot of video memory.
2. Set
"use64BitBuffer":false. The 64-bit buffer option uses some video memory.
3. Set
"loadSurface":false. Surface maps use a lot of video memory. Disabling this will slightly reduce the quality of lighting.
4. Set
"enableNormal":false. Normal maps use a lot of video memory. Disabling this will noticeably reduce the quality of lighting.
5. Set
"loadMaterial":false. Material maps use a lot of video memory. Disabling this will reduce the quality of lighting.
6. Set
"enableBloom":false. This disables the HDR bloom effect in the lighting engine, which uses some video memory.
7. Set
"enableDistortion":false. This disables distortion effects, which use some video memory.
8. Set
"enableShaders":false. This completely disables all GraphicsLib functionality, but remains compatible with mods that require GraphicsLib. If you still have problems at this point, then GraphicsLib is not at fault.
Loading is extremely slow!This is usually caused by your graphics driver forcing vsync on for Starsector, which will cause the loading screen to take an extremely long time (a half an hour or more). Make sure that Starsector.exe and java.exe are set to not force vsync.
Graphics IssuesStarsector looks wrong.Constant glitchy / artifacted graphics in the menu!This problem is caused by incompatibility between your graphics driver and GraphicsLib. First, if you are using a laptop, ensure that your computer's primary graphics device is being used by Starsector. The exact method to do this depends on laptop manufacturer, but ultimately you should set Starsector.exe and also java.exe in the jre/bin folder to use your primary graphics device (typically, a dedicated graphics card instead of the integrated chipset on your CPU).
If that isn't applicable or doesn't work, try updating your graphics drivers and restarting.
If that does not work, then you will need to change the GraphicsLib configuration settings until the artifacts go away. The following is a step-by-step guide to get GraphicsLib to work on your system by editing the GRAPHICS_OPTIONS.ini file within the GraphicsLib folder in a program like Notepad++. After each step, check to see if the problem is gone:
1. Set
"use64BitBuffer":false.
2. Set
"enablePostProcess":false. This will disable post-processing effects, which are fortunately not used in many situations.
3. Set
"useLargeRipple":false. The large ripple uses a lot of video memory, which could cause issues on some graphics drivers.
4. Set
"enableDistortion":false. This disables distortion effects, as some users find that their graphics device does not support it.
5. Set
"extraScreenClear":false.
6. Set
"enableBloom":false. This disables the HDR bloom effect in the lighting engine, which could potentially improve performance.
7. Set
"loadSurface":false. Surface maps use a lot of video memory, which could cause issues on some graphics drivers. Disabling this will slightly reduce the quality of lighting.
8. Set
"enableNormal":false. Normal maps use a lot of video memory, which could cause issues on some graphics drivers. Disabling this will noticeably reduce the quality of lighting.
9. Set
"loadMaterial":false. Material maps use a lot of video memory, which could cause issues on some graphics drivers. Disabling this will reduce the quality of lighting.
10. Set
"enableShaders":false. This completely disables all GraphicsLib functionality, but remains compatible with mods that require GraphicsLib. If you still have problems at this point, then GraphicsLib is not at fault.
Intermittent glitchy / artifacted graphics in combat!As above, this problem is caused by incompatibility between your graphics driver and GraphicsLib. Ensure that your computer's primary graphics device is being used by Starsector. If that isn't applicable or doesn't work, try updating your graphics drivers and restarting.
If that does not work, then you will need to change the GraphicsLib configuration settings until the artifacts go away. The following is a step-by-step guide to get GraphicsLib to work on your system by editing the GRAPHICS_OPTIONS.ini file within the GraphicsLib folder in a program like Notepad++. After each step, check to see if the problem is gone:
1. Set
"use64BitBuffer":false.
2. Set
"useLargeRipple":false. The large ripple uses a lot of video memory, which could cause issues on some graphics drivers.
3. Set
"enableDistortion":false. This disables distortion effects, as some users find that their graphics device does not support it.
4. Set
"enablePostProcess":false. This will disable post-processing effects, which are fortunately not used in many situations.
5. Set
"extraScreenClear":false.
6. Set
"enableShaders":false. This completely disables all GraphicsLib functionality, but remains compatible with mods that require GraphicsLib. If you still have problems at this point, then GraphicsLib is not at fault.
Campaign IssuesStarsector has problems during the campaign.Save game crash / corruption! (OutOfMemoryError)99% of the time, this happens because Starsector ran out of memory. Allocate more memory to Starsector by changing the -xms and -xmx values in 'vmparams' (recommended to be at least 2048m for Starsector+, up to 4096m if Nexerelin and a huge number of factions are also enabled). This requires a 64-bit JVM; see
http://fractalsoftworks.com/forum/index.php?topic=8726.0.
You can try to recover your save by going into the 'saves' folder and entering the correct character folder. Delete 'campaign.xml' and 'descriptor.xml', then copy 'campaign.xml.bak' as 'campaign.xml' and copy 'descriptor.xml.bak' as 'descriptor.xml'.
If the problem continues with increased memory, there are three possible causes:
- You're running from the .bat file instead of Starsector.exe. The .bat script does not use 'vmparams', so your memory settings are completely ignored if you use it.
- Even more memory is needed. This is unlikely if 4096m+ of memory is allocated to Java; Starsector should never use that much memory, no matter how many mods are loaded.
- A memory leak in a mod is causing Starsector to crash. A good indication of this happening is if you get a random out-of-memory or GC limit overhead crash in the campaign if you leave it running for long enough.
Combat IssuesStarsector has problems during combat.Very poor performance!Our recommended system requirements for vanilla Starsector are:
- One of:
- 1.8 GHz Gaming Intel CPU
- 2.3 GHz Entry Intel CPU
- 2.2 GHz Gaming AMD CPU
- 2.6 GHz Entry AMD CPU
- One of:
- Any NVidia card
- Any AMD card
- Intel HD 3000 or better
- 512 MB Video Memory
- 4 GB System Memory (Windows)
Alert: There are known OpenGL problems with AMD video card drivers, which could cause unusually low performance.
If you are running on a laptop, make sure that your power settings are set for maximum performance, and that your most powerful graphics device is being used for Starsector. You should set Starsector.exe and also java.exe in the jre/bin folder to use your primary graphics device (typically, a dedicated graphics card instead of the integrated chipset on your CPU). Never force vsync on through the graphics driver control panel!
If your hardware meets these specifications, it could be that you're running some tougher mods. Of particular note are the mods GraphicsLib, Starsector+, and the Knights Templar.
Starsector+: This mod increases the recommended system requirements:
- One of:
- 2.2 GHz Gaming Intel CPU
- 2.6 GHz Entry Intel CPU
- 2.6 GHz Gaming AMD CPU
- 3.0 GHz Entry AMD CPU
- 768 MB Video Memory
- 6 GB System Memory (Windows)
Knights Templar: This mod adds a pair of new shaders. Poor performance, particularly when using Templar ships or weapons, can be solved by changing options in Templars/TEMPLAR_OPTIONS.ini to disable Templar-specific effects.
GraphicsLib: This mod's default settings increase the recommended system requirements:
- One of:
- 2.2 GHz Gaming Intel CPU
- 2.6 GHz Entry Intel CPU
- 2.6 GHz Gaming AMD CPU
- 3.0 GHz Entry AMD CPU
- One of:
- Mid-range NVidia GTX 4xx card or better
- Mid-range AMD HD 6xxx card or better
- Intel HD 6000 or better
- 1 GB Video Memory
- 6 GB System Memory (Windows)
In order to improve GraphicsLib performance, follow the following step-by-step guide by editing the GRAPHICS_OPTIONS.ini file within the GraphicsLib folder in a program like Notepad++. After each step, check to see if performance is improved enough:
1. Set
"use64BitBuffer":true. This is known to cause odd performance issues.
2. Set
"use64BitBuffer":false. Yes, toggle it back off. People have reported better performance with this enabled, and others have reported better performance with this disabled.
3. Set
"enablePostProcess":false. This will disable post-processing effects, which are fortunately not used in many situations.
4. Set
"enableBloom":false. This disables the HDR bloom effect in the lighting engine, which is a fairly expensive subsystem.
5. Set
"enableDistortion":false. This disables distortion effects, which can be hard on certain graphics cards.
6. Set
"extraScreenClear":false. Turning this off can't hurt performance.
7. Set
"enableNormal":false. Turning this off will significantly reduce lighting quality; however, it will load a simplified lighting shader that could improve performance.
8. Set
"enableShaders":false. This completely disables all GraphicsLib functionality, but remains compatible with mods that require GraphicsLib. If you still have problems at this point, then GraphicsLib is not at fault.
Turret cover crash! (NullPointerException)This problem is caused by a mod that has incorrectly-configured turret cover sprites interfacing with GraphicsLib's lighting engine. You can fix this by updating Starsector to the latest version: 0.7.2_RC3. Make sure that your version is
exactly 0.7.2_RC3. RC2 will
not work.
Help! I'm still stuck!Nothing in the guide describes the issue.Have no fear! Just follow these simple steps:
1. Dump starsector.log (in the starsector-core folder, in Windows) into
http://pastebin.com/. If you can't find this file, make sure that Windows is
not hiding file extensions. You can read this file with Notepad or your choice of text editing program.
2. Make a thread in this subforum with a link to your starsector.log. Describe the problems you had and the steps you tried to take to fix it.
3. Wait for replies!