Skip to content

Instantly share code, notes, and snippets.

@remi-dupre
Last active June 19, 2024 21:25
Show Gist options
  • Save remi-dupre/e5340ca852ae974fdd5509d545b0b4ed to your computer and use it in GitHub Desktop.
Save remi-dupre/e5340ca852ae974fdd5509d545b0b4ed to your computer and use it in GitHub Desktop.
Get Dofus running on the SteamDeck
#!/bin/bash
# Runs Ankama Launcher on a steam deck by using existing Proton runtime.
#
# /!\ You must ensure that you have a Proton instance installed through
# steam before running this script.
DOWNLOAD_URL="https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage"
STEAM_COMMON="/home/deck/.local/share/Steam/steamapps/common"
# Init compatdata dir
CURR_DIR=`dirname ${BASH_SOURCE[0]}`
CURR_DIR=`readlink -f $CURR_DIR`
INSTALL_DIR=$CURR_DIR/.ankama-launcher
if [ ! -d $INSTALL_DIR ]; then
echo "No install detected, downloading Ankama Launcher into $INSTALL_DIR"
mkdir $INSTALL_DIR
curl -o $INSTALL_DIR/launcher.AppImage $DOWNLOAD_URL
chmod +x $INSTALL_DIR/launcher.AppImage
mkdir "$INSTALL_DIR/compatdata"
else
echo "Detected Launcher install in $INSTALL_DIR"
fi
# Checking for Proton install
PROTON_PATH=`find $STEAM_COMMON -maxdepth 1 -name "Proton*" | sort -r | head -n 1`
if [ "$PROTON_PATH" = "" ]; then
echo "No Proton install detected in $STEAM_COMMON"
exit
fi
echo "Detected Proton install in $PROTON_PATH"
# Create fake Wine Binary
mkdir -p "$INSTALL_DIR/bin"
cat <<EOF > "$INSTALL_DIR/bin/wine"
#!/bin/bash
"$PROTON_PATH/proton" run "\$@"
EOF
chmod +x $INSTALL_DIR/bin/wine
# Replace Wine with Proton
export STEAM_COMPAT_CLIENT_INSTALL_PATH="$HOME/.steam/steam"
export STEAM_COMPAT_DATA_PATH="$INSTALL_DIR/compatdata"
export PATH="$PATH:$INSTALL_DIR/bin"
# Run Ankama Launcher
$INSTALL_DIR/launcher.AppImage --no-sandbox
@JilGitHub
Copy link

JilGitHub commented Mar 14, 2024

Hello j'ai bien suivi tout ce qui a été écris au dessus mais de mon coté j'ai le meme soucis que décris @esperox.
Le launcher se lance en gaming mode j'ai pu installer dofus 2.0 mais lorsque je clique sur jouer je n'ai rien qui se lance.

J'ai vérifier l'installe de Proton au chemin indiqué et j'ai la version experimental et 9.0 uniquement

@HannibalRed tout en haut de la page tu a "download Zip"

UPDATE : Je viens de télécharger la version 7.0 de Proton et cela fonctionne mais pas sur la version 8.0 ( en ayant modifier le script évidemment )

@HannibalRed
Copy link

HannibalRed commented Mar 14, 2024

Merci @JilGitHub
J'ai réussi à lancer le script, j'ai aussi fait les changement dans propriété, mais en mode gaming le jeu ne lance pas ni le launcher
Vous pensez que sa vient de quoi

UP : c'est bon le jeu se lance mais par contre en mode gaming ça ne marche pas, je suis en mode bureau mais pour le moment ça me suffit (juste la création de nouveau perso me fait quitter le jeu ...) merci encore pour les aides vous êtes des génies !

@0xREAVEN
Copy link

#!/bin/sh

#Chemin vers Proton Experimental pour l'installation Steam Flatpak
PROTON_VERSION="Proton - Experimental"
STEAM_ROOT="$HOME/.var/app/com.valvesoftware.Steam/.steam"
PROTON="$STEAM_ROOT/steam/steamapps/common/$PROTON_VERSION/proton"

#Chemins nécessaires pour Proton
COMPAT_DATA_PATH="$STEAM_ROOT/steam/steamapps/compatdata/dofus"
STEAM_COMPAT_CLIENT_INSTALL_PATH="$STEAM_ROOT/steam"

#Crée le répertoire de compatibilité s'il n'existe pas
mkdir -p "$COMPAT_DATA_PATH"

#Variables d'environnement pour Proton
export STEAM_COMPAT_DATA_PATH="$COMPAT_DATA_PATH"
export STEAM_COMPAT_CLIENT_INSTALL_PATH="$STEAM_COMPAT_CLIENT_INSTALL_PATH"

#Exécuter le jeu avec Proton Experimental
"$PROTON" run Dofus.exe --port=$ZAAP_PORT --gameName=$ZAAP_GAME --gameRelease=$ZAAP_RELEASE --instanceId=$ZAAP_INSTANCE_ID --hash=$ZAAP_HASH --canLogin=$ZAAP_CAN_AUTH > /dev/null 2>&1

#Capturer le code de retour de Proton
exit $?

J'ai essayé de me faire un petit script pour lancer dofus à partir de proton de steam en flatpak, le jeu se lance bien mais j'ai une erreur code 5 quand je lance une partie ou que je souhaite créer un personnage.

@0xREAVEN
Copy link

#!/bin/sh

# Chemin vers Proton Experimental pour l'installation Steam Flatpak
PROTON_VERSION="Proton - Experimental"
STEAM_ROOT="$HOME/.var/app/com.valvesoftware.Steam/.steam"
PROTON="$STEAM_ROOT/steam/steamapps/common/$PROTON_VERSION/proton"

# Chemins nécessaires pour Proton
COMPAT_DATA_PATH="$STEAM_ROOT/steam/steamapps/compatdata/dofus"
STEAM_COMPAT_CLIENT_INSTALL_PATH="$STEAM_ROOT/steam"
INSTALL_DIR="$HOME/.config/Ankama/Dofus"

# Crée le répertoire de compatibilité s'il n'existe pas
mkdir -p "$COMPAT_DATA_PATH"

# Variables d'environnement pour Proton
export STEAM_COMPAT_DATA_PATH="$COMPAT_DATA_PATH"
export STEAM_COMPAT_CLIENT_INSTALL_PATH="$STEAM_COMPAT_CLIENT_INSTALL_PATH"
export PROTON_LOG=1
export PROTON_LOG_DIR="$HOME"

# Définir les chemins pour Dofus
DOFUS_EXE="$INSTALL_DIR/Dofus.exe"
ZAAP_PORT=${ZAAP_PORT:-5555}
ZAAP_GAME=${ZAAP_GAME:-dofus}
ZAAP_RELEASE=${ZAAP_RELEASE:-main}
ZAAP_INSTANCE_ID=${ZAAP_INSTANCE_ID:-1}
ZAAP_HASH=${ZAAP_HASH:-123456}
ZAAP_CAN_AUTH=${ZAAP_CAN_AUTH:-1}

# Supprimer le dossier "cinematics" pour éviter les plantages
GFX_DIR="$INSTALL_DIR/content/gfx"
CINEMATICS_DIR="$GFX_DIR/cinematics"

if [ -d "$CINEMATICS_DIR" ]; then
    echo "Suppression du dossier cinematics pour éviter les plantages"
    rm -rf "$CINEMATICS_DIR"
fi

# Vérifier si Dofus.exe existe
if [ ! -f "$DOFUS_EXE" ]; then
    echo "Dofus.exe non trouvé dans $DOFUS_EXE"
    exit 1
fi

# Exécuter Dofus avec Proton
"$PROTON" run "$DOFUS_EXE" --port=$ZAAP_PORT --gameName=$ZAAP_GAME --gameRelease=$ZAAP_RELEASE --instanceId=$ZAAP_INSTANCE_ID --hash=$ZAAP_HASH --canLogin=$ZAAP_CAN_AUTH > /dev/null 2>&1

# Capturer le code de retour de Proton
exit $?

Je laisse ça ici, supprimer le repertoire cinematics résou le soucis. Je peux lancer Dofus avec l'appimage et la version flatpak de steam

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment