Thermos, un serveur 1.7.10 nouvelle génération
Sommaire :
- 1. Présentation de thermos
- a. Historique et principe.
- b. Les avantages
- c. Les inconvenants
- 2. Installation sur un dédier linux.
1/Présentation :
a/Historique et principe
Thermos est un type de serveur pour le jeu minecraft, pour le moment développé sur la branche 1.7.10 du jeu. Il est le digne successeur de kcauldron (fork de cauldron abandonnée), contrairement à ce dernier il a le mérite d’être mis à jour. (Le dernier commit sur le git au moment de la rédaction de se tuto date d’y a 3 jours.)
Vous l’aurez compris Thermos sert a créé un serveur minecraft en 1.7.10 acceptant les plugins spigot/bukkit et les mods forge
B/Les avantages
Je ne vais pas pouvoir être a 100% objectif n’aillant pas fait de test pousser l’ors de la rédaction de se tuto, pour vous présenter les avantage je vais me baser sur ma propre expériences acquise a la gestion du serveur kyrion (fermé aujourd’hui) désolé pour la petit histoire si dessous mais elle est nécessaire pour en comprendre les avantages.
L’ors de la création du serveur nous utilisions la dernière build stable de kcauldron, a l’ouverture nous avons u un afflux d’environs 300 joueur (le serveur étant full a 120) dès l’ouverture le serveur est tombé à 6 à 8 tps.
Après quelque investigation kcauldron semble la cause des problèmes a 30joueurs les TPS chute de manière vertigineuse malgré la configuration en béton, je prends sur moi de repasser sur cauldron tempi pour les majs et le problème de TPS est partiellement régler (chute a 12/14Tps quand on dépasser les 70joueurs/simultané) sans compter le nombre de bug du a cauldron, broke des armures, vielle version de forge…
Un jour je découvre Thermos, et décide de tester le bouzins, sur le serveur de dev tous les bugs de cauldron sont régler, la migration se fait sans accroches, bref le bonheur, je décide donc de le passer en prod et là la révélation (20Tps a 120joueur simultané…)
Vous l’aurais donc compris Thermos à donner un énorme boost de performances.
Pour abrégé je lui donne donc les avantages suivant :
· Toujours à jours (en 1.7.10)
· Un gain de FPS non négligeable
· Un support réactif (à voir les tickets sur leur github)
· Support des mods et plugins
2/Les inconvenants
Il y en a peux :
· Limité à la 1.7.10 de minecraft.
· Toujours moins stable qu’un serveur full plugins ou full forge.
· Tous les hébergeurs ne le proposent pas.
3/Installation sur un dédier linux :
A/La base
Pour cette installation je vais me baser sur une dédibox online sous ubuntu 16.04Lts la procédure sera la même sur toutes les distributions a base Debian.
Personnellement pour héberger un serveur en production je vous conseille les dédier game ovh, mais pour le tuto la dédibox fera l’affaire.
Une fois le serveur installée chez l’hébergeur nous allons avoir besoin de nous y connecté pour ça nous utiliserons un client SSH le tuto sera fait sous putty, à vous d’utiliser celui que vous préféré.
Nous allons arriver à un prompt ou vous devenez utiliser votre nom d’utilisateur sur le serveur, puis votre mots de passe (si rien ne s'écrie quand vous taper votre mdp c’est normal c’est une sécurité)
Une fois fait nous arrivons accès à un Shell sur le serveur
La première chose à faire si comme mois vous êtes sous ubuntu vas être de se sudo, en gros récupéré les droits de super admis a l’aide de la commande :
On voie maintenant que je suis en root .
Le serveur thermos a besoin de java pour fonctionné, 2 choix s’offre à nous l’open jdk ou la version propriétaire oracle, je vous déconseille fortement l’open jdk pour installer la version propriétaire oracle nous devons ajouter un dépôt à l’aide de la commande :
Code (cpp):
add-apt-repository ppa:webupd8team/java
On rafraichit la liste des paquets
Code (cpp):
apt-get update
Et on installe java 8
Code (cpp):
apt-get install oracle-java8-installer
Accepter la License d’utilisation d’oracle et java est installé.
Vue que le serveur est chez online nous allons l’installer dans /data , il est très important de ne pas l’installer en root, pour cela nous allons lui crée son propre utilisateur.
Dans un premier temps on se déplace dans /data et on crée le dossier
Code (cpp):
cd /data
mkdir thermos
Une fois fait on va créer l’utilisateur minecraft qui sera l’utilisateur Unix de notre serveur
Code (cpp):
adduser minecraft
Réponde bien à toutes les questions
Une fois fait on va donner à notre utilisateur tous les droits sur le répertoire du serveur.
Code (cpp):
chown –R minecraft :minecraft thermos/
Minecraft devient le propriétaire du dossier
On Switch maintenant d’utilisateur avec la commande su username
Minecraft n’étant pas un utilisateur avec les droits de sudo si vous avez besoin de vous remettre en root pour installer un paquet(unzip, mysql…) il faudra avant tous reswitch sur l’utilisateur principal
Bref on va pouvoir aller dans le dossier thermos précédemment crée
Passons à la suite.
Nous allons exécuter la commande suivante qui va télécharger toutes les libs de thermos.
Code (cpp):
wget https://github.com/CyberdyneCC/ThermosServer/archive/master.zip
Ensuite nous allons extraire le contenue de l’archive télécharger.
Code (cpp):
unzip master.zip
Si vous avez une erreur c’est qu’unzip n’est pas installé sur votre machine, il vous faudra le faire avec la commande suivante en root
Code (cpp):
apt-get install unzip
Une fois les fichiers extrais nous allons renommer le répertoire obtenue :
Code (cpp):
mv ThermosServer-master Thermos
Nous déplacer dans se répertoires:
Et télécharger toutes les versions du serveur thermos avec la commande suivante :
Code (cpp):
wget $(curl -s https://api.github.com/repos/CyberdyneCC/Thermos/releases/latest | grep 'jar' | cut -d\" -f4)
Si vous avez une erreur c’est sans doute que CURL n’est pas installé, installé le en root avec la commande suivante:
Code (cpp):
apt-get install curl
Une récupéré nous pouvons voir avec la commande ll que tous les fichiers sont la
Ou
Comme nous le montre le screen précédents, tous les fichiers sont bien la !
Thermos est livrais avec des scripts de lancement prêts a l’usage une fois que vous aurais décidé de la version de forge que vous allez utiliser nous allons renommer le fichier du serveur, dans l’exemple je souhaite utiliser la version 1614 de forge je vais donc exécuter la commande suivante :
Code (cpp):
mv Thermos-1.7.10-1614-server.jar Thermos.jar
Il ne me reste plus qua lancer le serveur, pour cela j’ai 2 options, je suis en dev je le lance dans le Shell courant, je suis en prod je le lance dans un screen.
Je suis en dev
Quand vous lancer thermos dans le Shell courant, si vous fermé la fenêtre le serveur se coupera
Pour lancer le serveur :
Je suis en production
Quand vous lancer Thermos dans un screen, si vous fermé la fenêtre le serveur ne se coupera pas.
Pour lancer le serveur :
Code (cpp):
./startserver.sh
A savoir que si vous lancer thermos dans un screen pour accéder à la console vous devrais vous attacher au screen avec la commande suivante :
Code (cpp):
screen –x nomduscreen
Pour voir la liste des screens en cours vous vous effectuer la commande suivante
Si vous souhaitez repasser sur le Shell de base (vous détacher du screen) sans couper le serveur sous petit effectué la combinaison de touche suivante ctrl+a+d
L’installation de base de thermos est terminée !
Dans la partie deux nous verrons la configuration, la sécurité, et les modification/ajouts possibles.
Tchous !
ThisMisterious admin de kyrion au chômage