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
@Moowgly
Copy link

Moowgly commented Sep 5, 2022

Bonjour, je suis nouveau sur linux (j'utilise un steam deck) et je ne sais absolument pas comment executer ce fichier .sh
J'ai bien installe le launcher et dofus via Appimage, mais quand je tente de lancer ton code sur le terminal il ne se passe rien...

L'un de vous deux pourrait m'aider ?

Merci d'avance !

@Moowgly
Copy link

Moowgly commented Sep 5, 2022

Voici l'erreur que j'ai dans le terminal :

bash: !/bin/bash: event not found
dirname: missing operand
Try 'dirname --help' for more information.
readlink: missing operand
Try 'readlink --help' for more information.
No install detected, downloading Ankama Launcher into /.ankama-launcher
mkdir: cannot create directory ‘/.ankama-launcher’: Read-only file system
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0Warning: Failed to create the file /.ankama-launcher/launcher.AppImage: No
Warning: such file or directory
0 112M 0 16045 0 0 43327 0 0:45:19 --:--:-- 0:45:19 43364
curl: (23) Failure writing output to destination
chmod: cannot access '/.ankama-launcher/launcher.AppImage': No such file or directory
mkdir: cannot create directory ‘/.ankama-launcher/compatdata’: No such file or directory
Detected Proton install in /home/deck/.local/share/Steam/steamapps/common/Proton - Experimental
mkdir: cannot create directory ‘/.ankama-launcher’: Read-only file system
bash: /.ankama-launcher/bin/wine: No such file or directory
chmod: cannot access '/.ankama-launcher/bin/wine': No such file or directory
bash: /.ankama-launcher/launcher.AppImage: No such file or directory

Autant vous dire que c'est du chinois pour moi...

@BoraxKid
Copy link

Quelqu'un a reussi à lancer le script depuis l'interface gaming et non le desktop ?
J'ai aucune problème en mode desktop mais si j'ajoute le raccourci sur Steam et que je tente de le lancer dans le mode gaming, le launcher apparait mais quand je fais jouer ça ne fonctionne pas.

@nerobasta75
Copy link

Je ne comprends pas comment exécuter ce script. Pas de solution simple à ce jour pour jouer à dofus sur steam deck ?? Sinon quelqu'un peut-il m'expliquer comment jouer a dofus sur le deck svp.

@boris-mayencourt
Copy link

boris-mayencourt commented Jun 9, 2023

Hello,

Je viens de faire la manipulation.

Il ne faut pas oublier de faire un chmod -x script.sh pour donner les droits d'exécution.

Dans ton erreur ci-dessus @Moowgly il manque des permissions pour pouvoir écrire sur le disque de la console.

Ce que j'ai fait dans l'ordre :

  1. Télécharger le script en zip.
  2. Décompressé l'archive dans Downloads
  3. Renommé le dossier à Dofus
  4. Renommé le script à script.sh
  5. cd Downloads
  6. cd Dofus
  7. chmod -x script.sh
  8. ./script.sh

Le launcher Ankama se lance ensuite.

@nerobasta75 je n'ai pas trouvé de solution simple mais c'est aussi super satisfaisant de pouvoir bidouiller et réussir à installer par exemple Diablo 4 (ce que j'ai fait avant hier) sur une console.

@app-gitKaiwho
Copy link

Hello,
Le script me permet d'aller jusqu'au launcher, me log, installer Dofus 2.x, mais je reste sur "lancement..." indéfiniment le jeu ne se lance jamais y'a t'il une solution connu à se problème ?
Merci d'avance

@wini714
Copy link

wini714 commented Jul 30, 2023

Bonjour , moi aussi le jeu se lance mais impossible de jouer.
j'ai tenter de forcer le demarrage avec proton 8 et la version experimental.
via la konsol voila mon code erreur, quelqu'un aurait il une solution.
j'ai refait les manip des dizaine de fois j'ai reDL le script mais le launcher s'ouvre m'identifie et tourne dans le vide le bouton jouer ne s'affiche plus.

/31/2023, 12:24:40 AM.481 - info: [TERMS] setup
7/31/2023, 12:24:40 AM.610 - info: No main apiKey found 56246517 0
7/31/2023, 12:24:40 AM.613 - error: [AppError]
{
"code": 6300,
"message": "Generation of VOD token failed",
"displayMessageOnFront": true,
"complement": {
"name": "Error",
"message": "[VIDEO] User is not allowed to have access to VOD content",
"stack": "Error: [VIDEO] User is not allowed to have access to VOD content\n at /tmp/.mount_launch3ZsZOk/resources/app.asar/main.js:55:133909"
},
"name": "Error",
"stack": "Error: Generation of VOD token failed\n at /tmp/.mount_launch3ZsZOk/resources/app.asar/main.js:55:134046"
}
Error occurred in handler for 'video.refresh.vod.token': a [Error]: Generation of VOD token failed
at /tmp/.mount_launch3ZsZOk/resources/app.asar/main.js:55:134046 {
code: 6300,
displayMessageOnFront: true,
complement: Error: [VIDEO] User is not allowed to have access to VOD content
at /tmp/.mount_launch3ZsZOk/resources/app.asar/main.js:55:133909
}
7/31/2023, 12:24:40 AM.684 - debug: [REGISTRY] update
7/31/2023, 12:24:40 AM.688 - debug: [REGISTRY] Parse repository Data

@rizehum
Copy link

rizehum commented Aug 10, 2023

Essaie en 64 bits?

@remi-dupre
Copy link
Author

Hello !

J'ai ajouté un script d'installation (" Windows version") à Lutris ici : https://lutris.net/games/ankama-launcher/. L’intérêt de ce script est que Lutris va s'occuper tout seul d'installer une version de Wine appropriée et il va lancer la version Windows du launcher (c'est plus stable : il y a moins de bidouilles nécessaires pour lancer les jeux dans l'environnement nécessaire).

Le script shell reste utile vu qu'il utilise la version native du launcher et ne nécessite pas d'installer une version spécifique de Wine (un un modèle 64Go ça permet d'économiser un peu d'espace par exemple).

@azazspirox
Copy link

Bonjour! J'ai essayer par lutris comme mentionner en haut, j'ai un erreur Java Script.
Je suis bloquer :(

@BoraxKid
Copy link

quelqu'un a essayé la version beta qui intègre Easy Anti Cheat, voir si ça fonctionne toujours sur Steam Deck ?

@Sonfowild
Copy link

Salut, j'ai tout essayé, la version la plus concluante pour moi est de passer par Lutris. Or je rencontre un soucis majeur, lors du moment où je dois connecter mon compte, mon navigateur s'ouvre, je peux me login mais là, Firefox me demande d'ouvrir "zaap". Je ne sais pas quoi à cela correspond ni avec quoi l'ouvrir.
En me référant à mon expérience PC, en gros c'est le moment où le navigateur est sensé me renvoyer au launcher et m'identifier.
Si quelqu'un a une quelconque idée ou solution, je suis preneur ! Merci

@Viarra
Copy link

Viarra commented Dec 27, 2023

Hello, j'ai trouvé une solution pour enfin pouvoir re-jouer sur SteamDeck
C'est un légèrement chiant, mais après avoir testé sur deux SteamDeck et deux comptes différents, cela semble fonctionner.

0.Commencer en mode Desktop.
1.Télécharger le script et le launcher ("Ankama Launcher-Setup-x86_64.AppImage", via le site de Ankama), les enregistrer dans le même emplacement. Cela sera le dossier d'installation du launcher.
2.Ouvrir un terminal dans le dossier où le .sh et le .appimage se situent.
3.Lancer le script via le terminal avec la commande "bash steam-ankama-launcher.sh" et attendre que le launcher s'affiche. Une fois le launcher ouvert, vous pouvez le fermer.
4.Ouvrir steam et ajouter un jeu non steam (bouton "Ajouter un jeu" en bas à gauche de la fenêtre steam).
5.Parcourir le stockage jusqu'au dossier contenant le .sh et le .appimage pour Dofus et sélectionner le .sh.
6.Une fois le script ajouté à Steam, passer en mode Gaming.
7.Aller chercher les raccourcis du script dans la liste des jeux installés.
8.Ouvrir les propriétés du jeu via le bouton "Propriétés..."
9.Modifier le lien symbolique dans "cible" afin que le lien commence et finisse avec 2 guillemets (") (exemple: ""/home/dec/Documents/Dofus/steam-ankama-launcher.sh"")
10.Modifier le lien symbolique dans "début dans" afin qu'il y a deux guillemets (") au début et un guillemet (") a la fin (exemple: ""/home/dec/Documents/Dofus/")
11.Revenir en arrière et lancer le script (le bouton "Jouer").
12.Indiquer que vous voulez vous connecter avec Ankama (je vous conseille FORTEMENT de vérifier que le bouton "Rester connecté" soit sélectionné, il se situe en dessous des boutons Facebook, google, steam, apple (je n'ai pas testé avec la connexion via Facebook, google, steam ou apple, mais je ne vois pas pourquoi cela ne marcherait pas)).
13. Après quelques secondes, l'onglet de connexion devrait s'ouvrir dans le navigateur Steam, connectez-vous avec votre identifiant et votre mot de passe.
14.Attendre que la page indiquant "Félicitations Vous pouvez maintenant fermer cette fenêtre et retourner sur le Launcher" (vous pouvez savoir s'il s'agit de la bonne page si l'URL change pour "http://127.0.0.1:9001").
15.Cliquer sur le bouton (Physique) Steam et sélectionner "Reprendre la partie".

Une fois que vous avez la page de sélection de jeu, vous pouvez quitter le mode gaming et vous devriez être connecté automatiquement, que ce soit via le mode gaming ou le mode desktop.

@Bodizout81
Copy link

Quand je lance le script, il me dit qu’aucun dossier ou fichier de ce type existe, quelqu’un saurait il Pq ?

@esperox
Copy link

esperox commented Jan 19, 2024

Tout fonctionne de mon côté jusqu'à l'étape 11.
Lorsque je lance le launcher, le chargement steam se lance et se coupe aussi vite.

@elliotfontaine
Copy link

@Viarra Le problème soulevé par app-gitKaiwho persiste même avec ta solution. Impossible de lancer le jeu Dofus une fois installé. Est-ce que tu es sûre de n'avoir rien oublié? Dans ton point 10 par exemple, tu dis de mettre seulement un guillemet à la fin, mais sur ton exemple il y en a deux. Quel doit être le dossier que vise "Début dans" ?

@Viarra
Copy link

Viarra commented Jan 20, 2024

@elliotfontaine J'ai fais une mauvaise manipe dans le copier coller, j'ai éditer le message. Sinon, voila un screen de mon installation: https://imgur.com/a/fAX4HTV (j'ai renommer le script Dofus.sh mais en soit rien ne change).
@esperox je dirais peut être d'autoriser l’accès en écriture/lecture en aillant cocher "est exécutable"? Lien du screen (dans les propriétés de fichier avec un "clique droit" (L2 par défault) https://imgur.com/a/vKMDqrP

@esperox
Copy link

esperox commented Jan 20, 2024

@Viarra Hello, merci pour ton retour et tes explications. Je suis parvenu à lancer le launcher depuis le mode gaming, me connecter, télécharger le jeu. Maintenant lorsque je clic sur jouer, j'ai lancement du jeu et puis plus rien, je reste bloqué sur le launcher.

@elliotfontaine
Copy link

@Viarra Merci! Au moins j'ai corrigé l'erreur que j'avais faite, de mettre pour "Début dans" le dossier /home/deck/.config/Ankama/Dofus/ contenant les données et executables du jeu, plutôt que le dossier contenant le shell script de Rémi.
Malheureusement j'ai toujours la même erreur que @esperox. Mon intuition me dit que c'est lié à Proton. Par curiosité Viarra, quelle version as-tu utilisée et comment l'as-tu installée ?

@Viarra
Copy link

Viarra commented Jan 20, 2024

@esperox @elliotfontaine
Effectivement, le problème viens surement de Proton.

Premièrement, vérifiez que le dossier d’installation des versions de Protons installées soit bien dans l'emplacement par défaut du Steam deck (ici:/home/deck/.local/share/Steam/steamapps/common). Cela correspond également à l'emplacement où le script va chercher les versions de Protons installées (ligne 7 du script, la valeur "STEAM_COMMON").

Si vous avez Proton d'installer mais à un autre endroit, vous devrez changer la valeur $STEAM_COMMON (ligne 7) pour faire que la valeur soit le dossier où vous stockez les versions de Proton.
Exemple pour les Proton installés automatiquement via Steam, sur le slot carté SD avec le dossier Steam a la racine de ladite carte SD, la ligne 7 doits être remplacé par: STEAM_COMMON="run/media/deck/carte SD/steamapps/common"

Pour ma part, j'utilise spécifiquement Proton 7.0 mais il ne faut pas l'indiquer dans l’outil de compatibilité Steam, mais dans le script.
Pour forcer l'utilisation d'une version de Proton, il suffit de modifier la ligne 25, spécifiquement l'argument name en remplaçant -name "Proton*" par -name "Proton 7.0".

Pour ce qui est de la manière dont j'ai installé Proton, il s'est installé automatiquement via Steam, avec l'un des jeux qui avait besoin de Proton pour tourner. Si vous avez installé vous-même proton dans un dossier spécifique (donc pas via Steam), je vous renvoie à la manipulation du 3eme paragraphe.

@elliotfontaine
Copy link

@Viarra
Merci beaucoup ça a marché! Comme je n'avais pas trouvé les Proton de Steam (ils étaient sur la carte SD lol), j'avais utilisé un Proton de Heroic Launcher. C'était sans doute la source du problème. Ou bien alors c'était un problème de version, en tout cas avec le 7.0 de Steam ça fonctionne bien!
Les performances en jeu ne sont pas terribles par contre. J'ai désactivé les options "Forcer l'utilisation du CPU" et "Optimisations multi-comptes", ça fait gagner quelques fps et quelques millisecondes sur les temps de chargement, mais rien de magique. Vivement la migration sur le moteur Unity.

@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