Serveur de jeu ARK: Survival Evolved sur Windows 10

Dans cette article on se monte un serveur de jeu ARK.

A l’heure de l’écriture de ce billet, le serveur de jeu n’est disponible que sur Windows. N’ayant pas de licence pour cet OS j’ai décidé de mettre en place le serveur sur la version Windows 10 actuellement en Alpha et gratuite.

Donc, vous aurez besoin:

  • d’un serveur (prévoir 6 Go de RAM et 15 Go d’espace disque )
  • d’un Windows installé dessus (Dans l’article je suis sur Windows 10 mais cela doit marcher sur un 7 ou 8 et même Windows server)
  • d’avoir la possibilité d’ouvrir et NATer des ports sur votre routeur

Installation du serveur

On commence par les pré requis. Il vous faut le Visual C++ Redistributable Packages for Visual Studio 2013. Ce dernier est un ensemble de librairie que le serveur de jeu appel pour son fonctionnement.

Il vous faut ensuite SteamCMD pour Windows. L’installation est simple, il suffit de décompresser le contenu de l’archive quelque part sur votre disque. Pour la suite je vais supposer que vous avez le dossier sous C:\steamCMD.

Il faut lancer une première fois SteamCMD pour qu’il s’installe et télécharge ses mises à jours. Lancez l’exécutable steamcmd.exe. Une console s’affichera alors, vous affichant le statut de la mise à jour et de l’installation. A la fin, SteamCMD vous affichera un prompt dans lequel vous pouvez taper des commandes.

Tapez les commandes suivantes dans le prompt SteamCMD pour installer pour la première fois le serveur de jeu ARK. Dans cet exemple j’ai créé au préalable un dossier nommé ARK dans mon disque dur E:.

Le téléchargement prendra plus ou moins de temps suivant votre connexion.

A la fin vous pouvez quitter le shell SteamCMD avec la commande suivante

Lancement du serveur

Rendez vous dans le dossier E:\ARK\ShooterGame\Binaries\Win64. Vous y trouverez un exécutable nommé ShooterGame.exe. On va créer un script qui lance cet exécutable avec les paramètres nécessaires.

Créez un fichier nommé start_ark_server.bat et placez y le contenu suivant

Enregistrez, quittez le fichier puis lancez le. Une nouvelle console apparaîtra alors avec quelques lignes comme dans le print écran suivant.

ark_console_serveur

A ce moment la, ne cherchez pas immédiatement le serveur dans la liste des serveurs dans le jeu car il y a entre 5 et 15 minutes de chargement. Si vous voulez savoir quand il sera vraiment UP, lancez la console de surveillance des ressources Windows. Pour ce faire, lancez resmon.exe à l’aide du lanceur « Executer« .

resmon_ark_server

Dans le menu « Réseau » cochez le processus ShootergameServer.exe et regardez dans la partie ports d’écoute. Quand le port 7778 apparaît, votre serveur est en ligne.

resmon_ark_port

Pensez bien que les deux ports nécessaires au fonctionnement du serveur doivent être ouvert sur votre routeur et NATé vers la machine.

Il n’est pas impossible que votre serveur ne soit pas dans la liste des serveur dans le jeu. En revanche il doit être visible depuis la console de gestion des serveurs Steam. Pour avoir cette console, faite un clique droit sur l’icone de Steam dans votre barre des taches et choissisez « serveur » dans le menu.

steam_list_serveur

Mettez un filtre pour n’afficher que les serveurs ARK.

steam_server_list_ark_filter

Vous pouvez aussi ajouter votre le serveur directement dans vos favoris en saisissant l’adresse IP publique suivit du port d’écoute.

steam_add_ark_favorite

Sauvegarde du serveur

Bon, on a un serveur c’est bien. Mais en cas de crash système vous pouvez vous carrer dans l’oignons les 40 heures de jeu que vous avez passé à farmer du bois. En plus de la frustration, vos clients ne risquent plus de se connecter chez vous. Une sauvegarde est donc de bonne augure.

Alors on va sauvegarder avec l’outil Cobian Backup. Pourquoi ce logiciel et pas un autre? Et bien à cause du faite que nous avons besoin de sauvegarder une base de données. Le serveur de jeu effectue constamment des écritures dans la base de données. Si vous utilisez un outils classique, vous risquez de compromettre  les données. Cobian intègre un système nommée Volume Shadow Copy. VSC est un service permettant de sauvegarder des fichiers même lorsqu’ils sont en cours d’utilisation par un autre programme.

Le service VSC requière l’installation de la librairie Microsoft Net Framework 3.5 disponible ici.

Une fois installé, vous n’avez cas créer une tache qui effectue une sauvegarde complète du dossier « E:\ARK\ShooterGame\Saved » à intervalle régulier. Il faudra bien sur que cette sauvegarde soit externalisée.

cobian_ark_server

Je vous conseille de tester votre sauvegarde, en créant un autre serveur par exemple sur lequel vous restaurez le dossier « saved« .

Mise à jour et reboot automatique du serveur

Au moment de l’écriture de l’article, les développeurs n’ont pas intégrés d’outils pour relancer et mettre à jour le serveur. Il va falloir le scripter nous même. On va donc ici:

  • Créer un script d’arrêt du serveur, de mise à jour et reboot
  • faire en sorte que le serveur se relance au démarrage
  • Prévenir nos utilisateurs des reboot

On se place dans le dossier de steamCMD dans lequel on va créer un script nommé update_ark.bat et y placer les lignes de commandes suivantes

Nous noterez que le script appel une commande steamCMD qui elle même prend un fichier txt en paramètre. Créez donc ce fichier update_ark.txt avec le contenu suivant.

Donc le script se charge:

  • De stopper l’instance du serveur actuellement lancée
  • Effectuer la mise à jour
  • Reboot la machine

Le script est prêt, il ne reste qu’a le faire lancer de façon automatique. Pour cela on lance le gestionnaire de tache planifiée « taskschd.msc »

Je ne vais pas détailler l’interface, le programme est suffisamment intuitif, vous devez dans les grandes lignes créer une tache avec les options suivantes:

  • Général: s’exécute seulement si l’utilisateur à ouvert une session
  • Déclencheurs: journaliers, Vous pouvez mettre par exemple 2 reboot par jours.
  • Action: le script bat créé précédemment
  • Conditions: décocher « Ne démarrer la tâche que si l’ordinateur est relié au secteur »

Pour tester que tout ce passe correctement vous pouvez faire clique droit sur la tâche puis exécuter.

Donc le serveur reboot et se met à jour c’est bien. Mais du coup il faut aussi qu’il se relance tout seul. Pour cela nous avons besoin de deux choses:

  • faire en sorte que la session utilisateur se log toute seule
  • qu’un script lance le serveur une fois la session chargée

Pour faire en sorte que la session se log toute seule on se rend dans la console de gestion des utilisateurs. Pour cela on tape « control userpasswords2 » dans l’outil « Exécuter ».

Dans la fenêtre qui s’ouvre, décocher la case « Les utilisateurs doivent enter un nom d’utilisateur et un mot de passe utiliser cet ordinateur ».

control_user_password_ark

On vous demandera de saisir le nom du compte et le mot de passe de la session qui s’ouvrira toute seul au démarrage de la machine.

Il ne reste qu’a ajouter le script de lancement du serveur à notre startup. Ouvrez le poste de travail, puis dans la barre d’URL copier coller la ligne suivante

Mon utilisateur s’appel nico, ma fenêtre me redirige donc dans « C:\Users\nico\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup »

Placez dans ce dossier un raccourcie vers votre script de lancement du serveur que vous avez du créer dans la première partie de l’article.

windows_startup_ark

 

Voila, le serveur de jeu se lancera tout seul après le chargement de la session. Il reste un petit détail à régler pour faire bien. Prévenir les utilisateurs qui se connectent au serveur que nous effectuons des reboot réguliers. Pour cela, on édite le fichier E:\ARK\ShooterGame\Saved\Config\WindowsServer\GameUserSettings.ini et on y place les lignes suivantes en fin de fichier.

Et voila!

Vous trouverez ici une liste de commande admin à utiliser quand vous êtes connecté à votre serveur.

 

 

 

 

35 thoughts on “Serveur de jeu ARK: Survival Evolved sur Windows 10”

  1. Dredd dit :

    Bonsoir, je galère depuis quelques jours pour mettre en place un serveur sur le même pc ou je joue mais cela ne fonctionne pas avec les autre tuto. Ma question est la suivante : puis je jouer sur le serveur que j’héberge sur la même machine ?

    1. N.i.c.O dit :

      Je penses que cela ne pose pas problème si vous avez une très bonne machine. Le serveur en consomme entre 3 et 6 Go de mémoire vive suivant le nombre de joueur. Le jeu pareil. Donc on arrive vite à 12 Go. Le processeur sera sollicité pour les deux processus. A tester pour voir si vous ressentez des lags.

  2. Dredd dit :

    Merci d’avoir repondu.
    J’ai 16 go de ram et un processeur i5. Je suit votre tuto mais je me log anonymous et la commande force_install… ne donne rien aucun message Error ou quoi que ce soit apparaît avez-vous une idée du pourquoi du comment ? merci d’avance

    1. N.i.c.O dit :

      Cette commande ne retourne rien en effet. C’est normal.

  3. Sam dit :

    Bonsoir,

    Les sources étant disponibles pour serveur linux, pensez vous faire un tutoriel à ce sujet ? J’ai fait des tentatives sur une VM mais sans succès.

    J’ai eu des comportements bizarres concernant le port qui ne passait pas en LISTEN, des tests de communications qui laissaient à croire que mes ports n’étaient pas ouverts malgré le NAT à destinations de la VM, bref que de galères et le serveur qui ne remontait ni en local, ni en Unofficial.

    1. N.i.c.O dit :

      Bonsoir, pour Linux je contribue à un petit projet qui permet d’installer et administrer un serveur ARK.
      https://github.com/FezVrasta/ark-server-tools

      Une fois l’outil stable je penses que je ferai un petit tuto.

      1. Sam dit :

        Je me suis justement inspiré de ce projet, mais je pense être passé à côté de quelque chose. Potentiellement une problématique liée à la VM ou éventuellement le pare-feu de mon hôte même si j’en doute.

        Je repasserai régulièrement chez vous et vos potes geek ! En attendant, je vais poursuivre mes tests début de semaine sur un ESX dans un environnement convenable.

        Bonne soirée et merci.

  4. Valami dit :

    Bonjour,

    Je cherche depuis un moment, le moyen de mettre un message qui averti les joueurs du redémarrage du serveur. Il existe une commande in-game : « broadcast message » Mais je voudrais la lancer à partir d’un script.

    1. N.i.c.O dit :

      Les commandes rcon sont disponibles depuis peu. Vous pouvez scripter ensuite avec la lib python rcon de valve. Sur gitub je contribue également à un projet de management de serveur ARK sous linux qui s’appel ARK manager.

      1. Valami dit :

        Notre serveur est aussi sous Linux. Je regarde ce que je peux faire avec les commandes rcon. Merci

  5. Juge ICEMAN dit :

    Bonsoir, je dispose du jeu et j’héberge également le serveur (sous windows 10) sur mon pc, comment puis-je crée le script pour les mise a jour et reboot auto de mon serveur ?

    Merci d’avance 🙂

    1. N.i.c.O dit :

      Le script est sur le tuto. VOus placez les lignes dans un fichier et voilou 🙂

  6. LePicard dit :

    Slt et merci pour se tuto mais je me demande comment tu trouve l’adresse IP du serveur

    1. N.i.c.O dit :

      L’ip publique, tape sur Google « what is my IP »

  7. Rowen dit :

    Bonjour,

    J’arrive à voir le serveur sur le LAN, mais impossible de m’y connecter dessus…
    Savez-vous pourquoi?
    Mes ports sont ouverts sur la box et le parefeu, j’arrive pas à comprendre d’où vient le problème.

    Merci d’avance.

    1. N.i.c.O dit :

      Faites un telnet sur l’adresse cible avec le port pour vérifier que la connexion s’effectue. Un netstat pour vérifier que le port écoute bien sur la machine.

      1. Rowen dit :

        Tout fonctionne niquel! J’adore!

        Juste, je ne sais pas comment on paramètre son serveur, du genre accéder à la base admin, etc…

        1. N.i.c.O dit :

          Bien joué!
          Pour l’administration sur un serveur Windows je ne sais pas. J’avais basculé mon serveur sur Linux dès la disponibilité.
          J’avais par la même dev un outil pour le gérer qui donne pas mal de commandes admins sympa.
          Ici: https://github.com/FezVrasta/ark-server-tools

  8. Behem23 dit :

    Bonjours à tous!

    Voila, j’ai un souci, j’ai crée un serveur qui fonctionne, malheureusement, il est en local, seul moi un mon coloc, qui est en réseau local, pouvons nous connecté et jouer sur le serveur. Comment faire pour qu’il soit en ligne et que d’autre personnes puisse s’y connecté sans être en LAN?

    1. N.i.c.O dit :

      Il faut ouvrir les ports sur le routeur. Pour rediriger le trafic depuis l’extérieur vers la machine interne.

      1. Behem23 dit :

        je ne sais pas comment on fait!! j’ai reussi avec le part-feu de windows mais avec la box, je ne sais pas comment faire!

        1. N.i.c.O dit :

          Google est ton ami 🙂

          1. Behem23 dit :

            ^^ ca c’est pas mal!! merci, je vais poursuivre mes recherche!

          2. Behem23 dit :

            bon, j’ai ouvert les port sur ma box et au part-feu windows, le serveur ce lance mais il n’apparais toujours pas dans les serveurs internet, il reste dans les serveur local…
            voila comment j’ai réglé ca:
            IP destination: l’adresse sur serveur
            IP source: Toutes
            Protocole: UDP
            Port de début:27015
            Port de fin: 27015
            Port de destination:27015

            ques-que j’ai louper?

    2. Behem23 dit :

      Voici ce qui est mi dans le .bat du serveur:

      start ShooterGameServer.exe « ../../../ShooterGame/ShooterGame.uproject » « /Game/Maps/TheIslandSubMaps/TheIsland?Port=27015?QueryPort=27016?SessionName=(FR)behemots23PVEPrivate?MaxPlayers=12?listen?ServerPassword=—–?ServerAdminPassword=—–?DifficultyOffset=0.310000?NewMaxStructuresInRange=6000.000000?GlobalVoiceChat=false?ProximityChat=false?NoTributeDownloads=false?AllowThirdPersonPlayer=false?AlwaysNotifyPlayerLeft=false?DontAlwaysNotifyPlayerJoined=false?ServerHardcore=false?ServerPVE=true?ServerCrosshair=false?ServerForceNoHUD=false?ShowMapPlayerLocation=true?EnablePvPGamma=false?DisableStructureDecayPvE=false?AllowFlyerCarryPvE=false »? -nosteamclient -game -server -log

      si j’ai fait des erreurs…. n’hésitez pas

  9. Tuch3 dit :

    salut behem23 je sais pas si t’a réussi depuis mais si t’es toujours avec ton petit serveur local j’ai peut etre la solution à ton probleme

  10. 2 dit :

    Tu n’arrive pas à avoir ton serveur en ligne ? dans favoris tu vois toujours rien ? tu doit de
    1) Avoir suivie le tuto < Instalation Du Serveur .
    2) Avoir désinstaller le jeux original pour pouvoir lancer les fichiers copier via cmd dans E:\ARK\ShooterGame\Binaries\Win64< comme expliquer dans le tuto / ou soit stoppé l'interférence entre les fichier originaux et les copier.
    *le serveur local marche sur les fichier originaux de Ark mais pour un serveur Online il faut utiliser les fichier copier via E:\ARK\ShooterGame\Binaries\Win64
    Alors la seule solution que j'ai trouvé est de suprimé le jeux et utiliser les fichier copier c'est exactement les meme fichier de toute façon…
    3)Pour que ton serveur tu puisse le voir dans t'es favoris : lancer le serveur Online via les fichers copier E:\ARK\ShooterGame\Binaries\Win64/puis tu clic sur ShooterGameServer de t'es fichier copier. Tu attend et op tu vois ton serveur dans t'es favoris.

    arretez moi si je me trompe (il à peut etre plus facile mais en tt cas ça marche ^^) xD
    ++ all
    (E: peut etre un fichier que tu créer dans C:/programe/cmd/steamapps/ARK/Shootergame/binaries/win64)

  11. Ludo dit :

    Salut à tous.. j’ai suivi ce tuto qui m’a bien aidé dans un premier temps..

    Mais un légère boulette de 40Go s’est glissé dès le début.
    Il ne faut pas installer l’ID 346110 qui correspond à l’ID du jeu complet « solo ».
    Mais l’ID 376030 qui est le serveur dédié. Lien= https://steamdb.info/app/376030/subs/

    Résultat les nouvelles cartes sont disponible « scorched earth, The center », et le répertoire du serveur ne dépasse pas 8Go.

    J’ai passer 3H à chercher pourquoi les cartes n’étaient pas dispo.
    Ludo.

  12. Ludo dit :

    Ah et ça c’est cadeau 🙂

    Générateur de GameUserSettings.ini pour serveur ARK:
    https://ini.arkforum.de/

    Utilisation en cluster pour plusieurs instance ARK sur un même serveur:
    https://survivetheark.com/index.php?/forums/topic/87419-guide-cluster-setup/

    Commandes ADMIN ARK:
    https://docs.google.com/spreadsheets/d/164NadVjPh0lSccK0UOYsO-zMRuEhHin7Oi1YUAj76fg/edit#gid=1758571354

  13. Aurelien dit :

    Salut, je vois que comme moi tu as des problèmes de AsyncTCPSocket created/destroyed (cf screen de lancement du serveur), comment les résoudre ?
    Parfois le jeu fonctionne sans soucis, et parfois il est injoignable et ce message d’erreur apparait lorsqu’on essaie de se connecter.

  14. enzo dit :

    es que quand on éteint le pc le serveur se ferme ?? si non es que les autre peuvent si co dessus quand le pc est éteint

    1. N.i.c.O dit :

      Alors par définition, un serveur sert un service. Si vous coupez le serveur il n’y a plus de service.

  15. CraZyBlaDe dit :

    Bonjour et merci pour le tuto !

    De mon coté même avec l’ouverture des ports sur mon pare feu & routeur, je me retrouve avec un message d’erreur unable to query server info for invite quand je veux m’y connecter.

    Mes potos sur la toile ne voient pas non plus le serveur dans la liste ou en ajoutant manuellement l’IP.

    Une idée ? J’ai du mal à savoir ou ça coince, merci !

    1. N.i.c.O dit :

      Désolé mais le tuto date un peu. Il y a du avoir du changement depuis au niveau du serveur. Les ports à ouvrir ou autre. En + j’étais passé sur la version Linux des qu’elle est sortie.

      1. CraZyBlaDe dit :

        Ok merci 😉 !

        J’ai pourtant regardé énormément de forum & tuto, rien à faire cette erreur me bloque complètement et c’est toujours les mêmes ports à ouvrir.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *