Executing jar without system java (JRE) on linux
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Área
- cli, operating-systems
Línea de trabajo
Comienza revisando el launcher de bash y la disposición de linuxJdk/bin descritos en el issue, incluido cómo se invoca Cube Chaos.jar. Reproduce el comportamiento del lanzamiento desde Steam y de las rutas de assets en Linux, y define después la finalización como un lanzamiento con Java incluido que conserve la ruta de assets del juego y explique el comportamiento inesperado de Steam.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This issue is about a public attempt of transitioning my game on linux to have a bundled java version since systems java is no longer accessable.
Its public to possibly help people at steam to provide better assistance, it may also be usefull as an example. This is mostly due to @TTimo offering/asking about this.
Previous method:
There was a .sh (bash) file
-this bash file checked the systems java version via:
version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}' | awk -F '.' '{sub("^$", "0", $2); print $1$2}')
-this translated the version into a 2 digit number to then compare it and check if the java version is high enough
-the jar file is then executed via:
java -jar Cube\ Chaos.jar "$@" (the "$@" apparently
-this is a simple jar file produced by a Java IDE (in my case Eclipse) which is the game itself
This is no longer functional because steam launches the bash file without access to the systems java.
Disclaimer:
I have close to no experience with bash scripts, most of this is snippeted together.
Also I am releasing an update on the first of the next month so I may be a little slow to respond or do work on this.
I can only test on linux very slowly due to the virual machine beeing very slow and finicky, as such I have asked one of the people of the community for help, though this is obviouly still messy.
Attempt:
-This whole attempt is on a seperate devtest branch to make sure normal use is not impacted
-I have downloaded the newest linux openjdk jdk (oracle is not free to distribute) and added it to the folder which is the package
-I have modified the bash to be:
#!/bin/bash
cd ./linuxJdk/bin
java -jar ../../Cube\ Chaos.jar
read
-the read command is just there to keep the terminal open for the purpose of testing
-I have attempted it without the cd going into the java bin subfolder but without that the java command does not work, even if changed to /linuxJdk/bin/java -jar Cube\ Chaos.jar to include the path there.
-This does launch the file in some way however this approach has 2 problems so far:
--Presumably due to beeing opened from a different path the game cannot find its own assets, I have no idea how to possibly be in the java path as well as in the main game path, but likely am just missing some bash knowledge. Could also be some other problem who knows.
--For some reason when the bash is executed manually steam automaticly tries to launch as well and adds its log to the bash terminal, this is quite perplexing considering the previous bash file did not do this. I am currently using https://github.com/code-disaster/steamworks4j to connect to steam with the game for stuff like friends list info and achievements, however this shouldent launch steam nor has it in the past. Additionally the game is made to work fine even without steam. This is not strictly required to fix but would make the game more susceptible to future problems.
Questions:
-Is there a common way to launch jar games via steam which doesnt require this messy bash workaround?
-Any ideas on how to resolve the bash folder issue?
-Any idea why manually executing the bash also launches steam?
- Lenguaje dominante
- Shell
- Estrellas
- 1.5k
- Forks
- 98
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ValveSoftware/steam-runtime
-
Dificultad 4/5 1-2 días Aptitud para principiantes 45/100
ValveSoftware/steam-runtime#865 · 3 comentarios ·
-
Need Retest Pressure Vessel
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
ValveSoftware/steam-runtime#854 · 4 comentarios ·
-
Need Retest
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
ValveSoftware/steam-runtime#853 · 6 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
ValveSoftware/steam-runtime#851 · 3 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
ValveSoftware/steam-runtime#847 · 3 comentarios ·
Todos los issues de ValveSoftware/steam-runtime
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Graphify-Labs/graphify#4977 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
lesson-submission pending-review
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Ikalus1988/MisakaNet#4393 ·
Los mantenedores suelen responder en 1 día