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
@remi-dupre
Copy link
Author

Merci @Viarra pour toutes les explications 😀

Je ne joue pas à Dofus en ce moment donc un peu dur de suivre ce qu'il se passe.

Niveau performance à noter qu'en mode "console" elles sont meilleures (sûrement grâce au plus petit écran), ça demande un peu de temps à configurer mais le jeu peut être plutôt agréable : pour ma part j'ai mappé les deux joystick aux deux moitiés de la barre de raccourcis et le DPad aux changements de map. Après le plus chiant ça restera toujours le chat ...

@esperox
Copy link

esperox commented Jan 21, 2024

@Viarra, un grand merci pour ton aide ! J’arrive maintenant à lancer Dofus 2 sans problème. J’ai fait le test avec Dofus 1.29, mais pour cette version le problème de lancement persiste.

@elliotfontaine
Copy link

J'ai un problème en mode gaming, je ne peux pas aller jusqu'aux extrémités droite et bas de l'écran avec la souris, je suis bloqué vers la moitié par un "mur". Ça a sans doute à voir avec la résolution. Est ce que c'est quelque chose auquel vous avez été confrontés ?

@Viarra
Copy link

Viarra commented Jan 21, 2024

@elliotfontaine Peut-être avoir Dofus en plein écran dans les paramètres du jeu?
Sinon, peut-être une limitation du gaming mode qui limite ta souris a la taille de la fenêtre du launcher et là, je peux pas aider faut voir les paramètres Steam.

@HannibalRed
Copy link

@Viarra salut, comment tu fais pour télécharger le script parce que je sais pas où s'est ... Désolé je suis une bille pour ce genre de choses mdr

@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