Forge egg: install leaves no server.jar/unix_args.txt on Minecraft 26.x (version regex only matches 1.17-1.23)
Current Behavior
With the stock Forge Minecraft egg, installing a current Minecraft version (MC_VERSION=latest, which resolves to 26.2, BUILD_TYPE=recommended) completes without error, but the server cannot start:
java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true -jar server.jar
Error: Unable to access jarfile server.jarThe Forge installer produced the modern layout (forge-26.2-65.1.3-shim.jar, libraries/net/minecraftforge/forge/26.2-65.1.3/unix_args.txt, run.sh, user_jvm_args.txt). The egg did not create the unix_args.txt symlink the startup command relies on. There is also no server.jar.
Cause. The install script chooses between the two layouts by version number:
if [[ $MC_VERSION =~ ^1\.(17|18|19|20|21|22|23) || $FORGE_VERSION =~ ^1\.(17|18|19|20|21|22|23) ]]; then
unix_args
elif [[ $MC_VERSION == "latest" && $FORGE_VERSION =~ ^1\.(17|18|19|20|21|22|23) ]]; then
unix_args
else
# For versions below 1.17 that ship with jar
mv $FORGE_JAR $SERVER_JARFILE
fiMinecraft's new version numbers (26.x) don't match ^1\.(17|…|23), so the script takes the pre-1.17 branch. There, mv $FORGE_JAR $SERVER_JARFILE fails because the modern installer never creates $FORGE_JAR. The regex is unchanged on develop (eed61bf072); the egg file was last changed in #5617.
Expected Behavior
For any Forge version whose installer produces libraries/net/minecraftforge/forge/*/unix_args.txt, the egg creates the unix_args.txt symlink, and the default startup (@unix_args.txt) boots the server.
Suggested fix: decide by what the installer produced, not by the version string, so future version schemes keep working. For example:
if [ -n "$(find libraries/net/minecraftforge/forge -name unix_args.txt -print -quit 2>/dev/null)" ]; then
unix_args
elif [[ -n "${FORGE_JAR}" ]] && [[ -f ${FORGE_JAR} ]]; then
# Versions below 1.17 ship a runnable jar
mv $FORGE_JAR $SERVER_JARFILE
else
echo -e "Install produced neither unix_args.txt nor ${FORGE_JAR}."
exit 5
fiSteps to Reproduce
- Create a server with the stock "Forge Minecraft" egg, with
MC_VERSION=latest(or26.2) andBUILD_TYPE=recommended. - Let the install finish (it reports success).
- Start the server. It exits at once with
Unable to access jarfile server.jar. - In the file manager,
libraries/net/minecraftforge/forge/<version>/unix_args.txtexists, but there is nounix_args.txtin the server root.
Panel Version
1.15.1
Wings Version
1.13.3
Games and/or Eggs Affected
Minecraft: Forge Minecraft (stock egg)
Docker Image
ghcr.io/pterodactyl/yolks:java_25 (install container: eclipse-temurin:8-jdk-jammy)
Error Logs
Error: Unable to access jarfile server.jarA related note for the same versions: Forge 26.2's own unix_args.txt passes -XX:+UseCompactObjectHeaders, so servers need the Java 25 image. On yolks:java_21, startup fails with Unrecognized VM option 'UseCompactObjectHeaders'. The egg already lists Java 25 first, but that may be worth a hint in the egg description.
Is there an existing issue for this?
- I have searched the existing issues
Source: pterodactyl/panel