Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.98a is out! (03/27/25)

Author Topic: [0.98a-RC8] Starsector only starts if called from within its installation  (Read 141 times)

Zsar

  • Captain
  • ****
  • Posts: 325
    • View Profile

... directory in Arch Linux:
Code
[Zsar@Nr7 Games]$ starsector/starsector.sh 
starsector/starsector.sh: line 4: ./jre_linux/bin/java: No such file or directory
[Zsar@Nr7 Games]$ cd starsector/
[Zsar@Nr7 starsector]$ ./starsector.sh
<works>
Note that due to the way com.fs.starfarer.StarfarerLauncher is written, simply changing starsector.sh to use the correct path, e.g. via
Code
root_directory=$(dirname $0)
does not suffice:
Code
[Zsar@Nr7 Games]$ starsector/starsector.sh 
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
-XX:AVX3Threshold=0 -XX:-AlignVector -XX:+AlwaysAtomicAccesses -XX:+AlwaysCompileLoopMethods -XX:+AlwaysPreTouch -XX:-BytecodeVerificationLocal -XX:-BytecodeVerificationRemote -XX:CompilerDirectivesFile=starsector/compiler_directives.txt -XX:+DisableExplicitGC -XX:-DontCompileHugeMethods -XX:-EnableThreadSMRStatistics -XX:+EnableVectorAggressiveReboxing -XX:+EnableVectorReboxing -XX:+EnableVectorSupport -XX:+ExtensiveErrorReports -XX:IncreaseFirstTierCompileThresholdAt=99 -XX:InitialHeapSize=2147483648 -XX:InterpreterProfilePercentage=99 -XX:MaxGCPauseMillis=10 -XX:MaxHeapSize=2147483648 -XX:MinHeapSize=2147483648 -XX:NmethodSweepActivity=1 -XX:+ParallelRefProcEnabled -XX:PerMethodRecompilationCutoff=100000 -XX:+PrintCodeCache -XX:+PrintCommandLineFlags -XX:ProfileMaturityPercentage=100 -XX:ReferencesPerThread=0 -XX:ReservedCodeCacheSize=268435456 -XX:+SegmentedCodeCache -XX:ShenandoahAllocationThreshold=85 -XX:ShenandoahGCHeuristics=compact -XX:ShenandoahGCMode=iu -XX:ShenandoahGuaranteedGCInterval=0 -XX:+ShowCodeDetailsInExceptionMessages -XX:+ShowMessageBoxOnError -XX:SweeperThreshold=0.468750 -XX:ThreadPriorityPolicy=1 -XX:ThreadStackSize=4096 -XX:Tier0Delay=1 -XX:Tier0ProfilingStartPercentage=2000 -XX:+TieredCompilation -XX:TieredOldPercentage=10000 -XX:TieredStopAtLevel=4 -XX:TrimNativeHeapInterval=60000 -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:UseAVX=3 -XX:+UseBMI1Instructions -XX:+UseBMI2Instructions -XX:+UseCLMUL -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseCondCardMark -XX:-UseDynamicNumberOfCompilerThreads -XX:+UseFMA -XX:+UseFPUForSpilling -XX:+UseFastStosb -XX:+UseFastUnorderedTimeStamps -XX:UseSSE=4 -XX:+UseSSE42Intrinsics -XX:+UseShenandoahGC -XX:+UseStringDeduplication -XX:+UseUnalignedAccesses -XX:+UseUnalignedLoadStores -XX:+UseVectorCmov -XX:+UseVectorStubs -XX:+UseXMMForArrayCopy -XX:+UseXMMForObjInit -XX:+UseXmmI2D -XX:+UseXmmI2F -XX:+ZeroTLAB
OpenJDK 64-Bit Server VM warning: -XX:ThreadPriorityPolicy=1 may require system level permission, e.g., being the root user. If the necessary permission is not possessed, changes to priority will be silently ignored.
OpenJDK 64-Bit Server VM warning: UseAVX=3 is not supported on this CPU, setting it to UseAVX=2
OpenJDK 64-Bit Server VM warning: UseXMMForObjInit requires SSE2 and unaligned load/stores. Feature is switched off.
2 compiler directives added
WARNING: package java.nio.Buffer.UNSAFE not in java.base
WARNING: package java.awt.Rectangle not in java.desktop
0    [main] INFO  com.fs.starfarer.StarfarerLauncher  - Starting Starsector 0.98a-RC8 launcher
1    [main] INFO  com.fs.starfarer.StarfarerLauncher  - Running in /home/Zsar/Games
1    [main] INFO  com.fs.starfarer.StarfarerLauncher  - OS: Linux 6.14.4-arch1-1
1    [main] INFO  com.fs.starfarer.StarfarerLauncher  - Java version: 17.0.10 (64-bit)
1    [main] INFO  com.fs.starfarer.StarfarerLauncher  - Max memory: 2048MB
3    [main] INFO  com.fs.starfarer.settings.StarfarerSettings  - Loading settings
4    [main] ERROR com.fs.starfarer.StarfarerLauncher  - java.lang.RuntimeException: Error loading [data/config/settings.json] resource, not found in [../starfarer.res/res,CLASSPATH]
java.lang.RuntimeException: Error loading [data/config/settings.json] resource, not found in [../starfarer.res/res,CLASSPATH]
at com.fs.util.ooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.Ò00000(Unknown Source)
at com.fs.starfarer.loading.LoadingUtils.super(Unknown Source)
at com.fs.starfarer.settings.StarfarerSettings.ôÒ0000(Unknown Source)
at com.fs.starfarer.settings.StarfarerSettings.private.Object(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.<init>(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.<init>(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.main(Unknown Source)
CodeHeap 'non-profiled nmethods': size=128220Kb used=446Kb max_used=446Kb free=127773Kb
 bounds [0x00007974d70c9000, 0x00007974d7339000, 0x00007974dee00000]
CodeHeap 'profiled nmethods': size=128220Kb used=9217Kb max_used=9217Kb free=119002Kb
 bounds [0x00007974cee00000, 0x00007974cf710000, 0x00007974d6b37000]
CodeHeap 'non-nmethods': size=5704Kb used=1499Kb max_used=1517Kb free=4204Kb
 bounds [0x00007974d6b37000, 0x00007974d6da7000, 0x00007974d70c9000]
 total_blobs=2404 nmethods=1728 adapters=586
 compilation: enabled
              stopped_count=0, restarted_count=0
 full_count=0
But what does work well enough is to cd into the game directory before invoking java:
Code
#!/bin/sh

cd "$(dirname "$0")"

./jre_linux/bin/java \
<etc.>
« Last Edit: April 30, 2025, 12:06:27 AM by Zsar »
Logged

Swanny

  • Ensign
  • *
  • Posts: 36
    • View Profile

I'd suggest using the starsector.sh script from Linux Startup Script that I created thirteen years ago now! Just needs updated for the latest deluge of Java options in upstream script.

Logged