1- Choisir un hébergement
Pour faire mes premiers tests et effectuer une montée en charge en douceur sans me ruiner, j’ai choisi un hébergement OpenVZ de type small chez obambu.com. La facture est de moins de 10€ pour 6 mois, avec à disposition:
- 1 vCore
- 1 Go RAM
- 25 Go disque
- 1 IPv4 (jusqu’a 2*)
- 3 IPv6
L’environnement mis à votre disposition est alors un environnement sous la distribution CentOs 6.
Je vais donc demander les services de RaphTvnYTB pour tester avec ses copains “Minecrafter” si le serveur tient le choc lors de leurs tests et vidéos YouTube.
2-Accès serveur en SSH
A la suite de votre inscription vous recevrez vos information de connexion, y compris pour l’accès en SSH à votre serveur. Connecter vous à votre serveur afin de pouvoir débuter l’installation.
3-Installer le serveur minecraft
Sur le serveur obambu, java n’est pas installé, c’est donc la première installation à réaliser.
Tout d’abord se connecter “root” en ssh, sur windows j’utilise PuTTY.
Puis installer OpenJDK7 en utilisant yum (gestionaire de paquet CentOs)
yum install java-1.7.0-openjdk
Ensuite et pour des raisons de sécurité, créez un utilisateur afin de faire tourner votre serveur sur cet utilisateur et non sur le compte root.
adduser mcserver
Choisissez le mot de passe de l’utilisateur mcserver
passwd mcserver
Installez screen qui permettra de lancer plusieurs console dont une qui va lancer votre serveur minecraft et que l’on pourra quitter (par cntrl a + d) tout en laissant notre serveur tourner en tache de fond.
yum install screen
Changez d’utilisateur
su – mcserver
Créez un répertoire pour votre version de Minecraft (ici 1.8.8)
mkdir minecraft-1.8.8
Allez dans ce nouveau répertoire
cd minecraft-1.8.8
Téléchargez la version de Minecraft désirée:
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.8/minecraft_server.1.8.8.jar
Rendez votre server exécutable:
chmod +x minecraft_server.1.8.8.jar
Lancer une nouvelle console screen:
screen
Si vous recevez en réponse: Cannot open your terminal ‘/dev/pts/0’
Lancez la commande suivande suivante qui permettra de rattacher la session screen: script /dev/null
Pour que le serveur accepte de se lancer il faut que la eula (end user licence agreement) soit validée, tapez:
echo “eula=true” > eula.txt
Il ne reste alors qu’a démarrer votre serveur (max RAM environ 256 M de moins que la RAM allouée a votre serveur):
java -Xmx768M -Xms768M -jar minecraft_server.1.8.8.jar nogui
Détachez cette console screen cntrl a + d
Vous pouvez alors sortir de SSH, votre serveur va continuer à tourner
Commandes “screen” supplémentaires:
cntrl a ? permet de récupérer l’ensemble de “key binding” de screen
screen -r permet de se rattacher à une session.
Plus d’information sur les commandes screen ici.
4-Configuration du serveur
Vous aurez accès soit par SSH soit par ftp au répertoire de votre server. Dans mon environnement Obambu le serveur ftp n’était ps activé. Vous reporter au point suivant si c’est également le cas pour vous.
Vous pouvez donc modifier votre server.properties, créer votre fichier contenant les “op” ops.txt, saisissez l’dentifiant minecraft du membre à mettre en “Oop” , ajoutez votre icone de serveur server-icon.png en 64×64 pixels, etc …
Pour stopper relancer votre serveur:
Retrouvez le PID du processus:
ps -eaf | grep java
kill du processus:
kill ‘numero PID’
Relancer le server après avoir fait vos modifications:
screen
java -Xmx768M -Xms768M -jar minecraft_server.jar nogui
cntrl a + d
5-Installation du serveur ftp
Tout d’abord se connecter “root” en ssh.
Installez votre serveur ftp, vsftpd:
yum install vsftpd
Autoriser le lancement du server ftp au boot:
chkconfig vsftpd on
Pour relancer le server ftp:
service vsftpd restart
Ouvrez ensuite le fichier de configuration du serveur, et vérifier les valeurs suivantes:
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO # disable anonymous login
local_enable=YES # permit local logins
write_enable=YES # enable FTP commands which change the filesystem
local_umask=022 # value of umask for file creation for local users
dirmessage_enable=YES # enable showing of messages when users first enter a new directory
xferlog_enable=YES # a log file will be maintained detailing uploads and downloads
connect_from_port_20=YES # use port 20 (ftp-data) on the server machine for PORT style connections
xferlog_std_format=YES # keep standard log file format
listen=YES# prevent vsftpd from running in standalone mode
listen_ipv6=YES # vsftpd will listen on an IPv6 socket instead of an IPv4 one
pam_service_name=vsftpd # name of the PAM service vsftpd will use
userlist_enable=YES # enable vsftpd to load a list of usernames
tcp_wrappers=YES # turn on tcp wrappers
userlist_enable=YES
# vsftpd will load a list of usernames, from the filename given by userlist_file
userlist_file=/etc/vsftpd.userlist
# stores usernames.
userlist_deny=NO
chroot_local_user=YES
Puis ajoutez des utilisateurs et mot de passe des utilisateurs
useradd -m -c “mcserver” -s /bin/bash mcserver
passwd mcserver
Et voila votre server est accessible par ftp, vous pourrez uploader vos plugins et configuration par ce moyen.
6-Ajouter des plugins
Téléchargez et installez CraftBukkit qui correspond à votre version de Minecraft installée. Vous trouverez les version sur le site bukkit.org.
Copier le fichier téléchargé dans le repertoire ou se trouve le répertoire de votre jar. Renommez le CraftBukkit téléchargé en craftbukkit.jar.
Vous pouvez alors lancer votre server “plugin ready” par:
java -Xmx768M -Xms768M -jar craftbukkit.jar nogui
Vous pouvez aussi créer un service par exemple myMCserver. Pour cela editer un fichier myMCserver:
vi /etc/init.d/myMCserver
Ajouter dans le fichier:
#!/bin/bash
cd /(dossier_de_destination)
java -jar -Xmx678M -Xms678M craftbukkit.jar nogui
rendez le fichier exécutable (chmod +x), vous pourrez alors lancer votre server Minecraft de la façon suivante:
service myMCserver start
Pour le stopper:
stop
L’installation des plugins se fait tout simplement en déposant les jar des plugins dans le dossier plugins de votre serveur.
/!\ il faut déposer des versions compatibles avec votre version de serveur et ajouter les dépendances lorsque nécessaire.