Utiliser MiNET comme un service Windows

Dans un article précédent j’avais parlé du serveur Minecraft MiNET. Le serveur est facile à démarrer, il suffit de double cliquer sur l’exécutable. Le problème c’est que je veux qu’il roule de façon continue sur mon serveur Windows 2012. Donc, il faut qu’il soit installé comme un service Windows. Cela va masquer la fenêtre de console et faire en sorte que l’application va démarrer même si aucun utilisateur n’est connecté.

Heureusement pour nous, MiNET utilise Topshelf, il s’agit d’une infrastructure logicielle permettant la conception de services Windows en utilisant .NET.

Pour obtenir de l’aide, rien de plus simple, on écrit ceci:

MiNET.Service.exe help

En ce qui a trait au service, voici les paramètres importants:

  • install
  • start
  • stop
  • uninstall

Les noms sont assez explicites et je crois qu’il ne demande pas vraiment d’explication. Donc, pour installer le service on tape ceci:

MiNET.Service.exe install

Les informations par défaut faisaient mon bonheur. Dans la capture d’écran suivante, on peut voir le résultat.

MiNET Service Properties
MiNET Service Properties

Il ne reste plus qu’à démarrer le service avec cette ligne de commande:

MiNET.Service.exe start
Minecraft

Amusez-vous bien à MineCraft en multi-joueurs.

MiNET, un autre serveur Minecraft PE

Dans mon dernier article j’avais expliqué comment installer PocketMine. J’ai eu un peu de difficulté avec ce serveur pour Minecraft Pocket Edition. J’ai donc décidé de regarder pour une alternative. Mon regard s’est posé sur MiNET. Il s’agit d’un projet à code source ouvert disponible sur GitHub. Il est codé en C# et à pour but la performance lors de parties multi-joueurs.

Tout d’abord il faut télécharger l’archive qui contient tout ce dont on aura besoin. Il suffit d’extraire le fichier minet-server.zip sur votre disque dur.

Avant même de démarrer le serveur je vous conseille de modifier les configurations. Pour cela il faut éditer le fichier server.conf. Le fichier comporte une liste de clefs. Chaque clef possède un nom et une valeur délimités par le signe égal (=). Le nom apparait à gauche du signe égal. L’utilisation d’un carré (#) en début de ligne signifie qu’il s’agit d’un commentaire. Une ligne commentée ou vide sera simplement ignorée.

Voici les configurations pour tester le serveur:

MaxNumberOfPlayers=10
motd=Mon serveur
WorldProvider=flat


Par défaut, le nombre de joueurs maximum permis sur le serveur est à 1000. Mettre la propriété MaxNumberOfPlayers à dix me semble plus normal pour un serveur méconnu. motd signifie Message Of The Day, c’est le texte qui apparait en dessous du nom du serveur dans le jeu. Vous pouvez y inscrire ce que vous voulez. Un texte de moins de 20 caractères semble avoir du sens. Pour tester le serveur il est préférable de mettre WorldProvider à flat. Ceci aura comme effet d’utiliser un monde de test.

Maintenant vous pouvez double cliquer sur le fichier MiNET.Service.exe. MiNET est compilé avec Visual Studio et nécessite au minimum le Framework .NET version 4.6. Donc, si vous avez le message suivant, il faudra cliquer sur Oui pour effectuer l’installation:

.NET Framework 4.6.1 est requis
.NET Framework 4.6.1 est requis

Il se peut aussi que Windows bloque l’exécution de l’application. Alors il faudra aller dans les Propriétés du fichier .exe et de toutes les DLL pour les débloquer:

MiNET Unblock
MiNET Unblock

Maintenant vous devriez être capable de démarrer le serveur sans erreur et de vous balader dans le mode de test.

Pour jouer dans un autre monde alors il faut le télécharger et l’installer. Vous pouvez aller sur le site planetminecraft.com dans la section Projects pour y télécharger un projet. J’ai eu quelques problèmes avec certains mondes, alors il faut simplement laisser tomber et en prendre un autre. Il faut extraire l’archive et modifier la propriété PCWorldFolder pour y mettre le chemin vers le dossier où se trouve l’information. Il va aussi falloir modifier WorldProvider pour y mettre anvil:

WorldProvider=anvil
PCWorldFolder=.\Worlds\Monde1

En terminant voici d’autres propriétés intéressantes ainsi que leur valeurs potentielles:
GameMode

  • Survival
  • Creative
  • Adventure
  • Spectator

Difficulty

  • Easy
  • Normal
  • Hard
  • Peaceful