-
-
Save xlash123/74e8671848d0c13920e182af96945ba5 to your computer and use it in GitHub Desktop.
#!/bin/sh | |
# This script requires that you set certain variables before running it. | |
# After that, you can just run the command and the game will launch! | |
# Instructions can be found at https://github.com/FlaareZero/Kingdom_Hearts_Collection_Linux/issues/2#issuecomment-890655837 | |
# STEP 1: Environment variables from Heroic | |
HEROIC_ENV="" # Paste in the quotes | |
# STEP 2: Wine command from Heroic | |
HEROIC_WINE="" # Paste in the quotes | |
# STEP 3: Directory of KH1.5 | |
# By default, this is ~/legendary/KH_1.5_2.5 | |
# If you have it there too, you may skip this step | |
KH_DIR="$HOME/legendary/KH_1.5_2.5" | |
# STEP 4: You're all done! Run the command now | |
# The Id of the game as seen in the output of `legendary list-games` | |
KH_GAMEID="68c214c58f694ae88c2dab6f209b43e4" | |
# Ask what game to play | |
echo "Launch which game?" | |
echo "1) Kingdom Hearts 1" | |
echo "2) Kingdom Hearts 2" | |
echo "3) Kingdom Hearts Re: Chain of Memories" | |
echo "4) Kingdom Hearts Birth by Sleep" | |
read KH_CHOICE | |
# Get the path for the KH binary to play | |
KH_BIN="" | |
case $KH_CHOICE in | |
1) | |
KH_BIN="'$KH_DIR/KINGDOM HEARTS FINAL MIX.exe'";; | |
2) | |
KH_BIN="'$KH_DIR/KINGDOM HEARTS II FINAL MIX.exe'";; | |
3) | |
KH_BIN="'$KH_DIR/KINGDOM HEARTS Re_Chain of Memories.exe'";; | |
4) | |
KH_BIN="'$KH_DIR/KINGDOM HEARTS Birth by Sleep FINAL MIX.exe'";; | |
*) | |
echo "Invalid game selection" && exit;; | |
esac | |
# Get the session from Legendary | |
RAW_LEGEND=$(legendary launch $KH_GAMEID --dry-run 2>&1 >/dev/null) | |
TMP=${RAW_LEGEND#*.exe\'\ } | |
# This holds the session tokens in argument form | |
ARG_AUTH=${TMP%\[cli\]\ INFO:\ Working*} | |
# The command all combined | |
FINAL_COMMAND="$HEROIC_ENV $HEROIC_WINE $KH_BIN $ARG_AUTH" | |
# Echo for debugging purposes | |
echo $FINAL_COMMAND | |
# Run it | |
sh -c "$FINAL_COMMAND" | |
Hi, I'm trying to run the command. This is the output I get:
/home/REMOVED/Games/Heroic/Prefixes/KINGDOM-HEARTS-HD-1.52.5-ReMIX/drive_c/Program Files/Epic Games/KH_1.5_2.5/KINGDOM HEARTS FINAL MIX.exe' -AUTH_LOGIN=unused -AUTH_PASSWORD=REMOVED -AUTH_TYPE=exchangecode -epicapp=REMOVED -epicenv=Prod -EpicPortal '-epicusername=REMOVED' -epicuserid=REMOVED -epiclocale=en -epicsandboxid=REMOVED sh: 1: /home/REMOVED/Games/Heroic/Prefixes/KINGDOM-HEARTS-HD-1.52.5-ReMIX/drive_c/Program Files/Epic Games/KH_1.5_2.5/KINGDOM HEARTS FINAL MIX.exe: Exec format error
I removed my personal information from the text, but the key here is the exec format error. The shebang is properly formatted at the top of the script, so I don't know why it gives this error.
@JayH2971 I was able to get all the games working without using this script using the Heroic Games launcher. Others have had success, so hopefully you can find success too. I don't really plan to maintain or provide updates to this script since it was just a hack to get this working. Now that there's a better, more accessible method available, there's no need for this.
Hey, that's great info. Thanks for the link!
Updated due to legendary having a different order of arguments.