Tutoriels

[Tuto] Comment installer un serveur Minecraft sous Debian

 

 

 

Suite à mon tutoriel sur l’installation d’un serveur Debian Disponible ICI

Je vais vous expliquez comment installer et configurer un serveur Minecraft utilisant la version bukkit sous Debian qui permet l’ajout de mods.
Et nous allons aussi voir comment installer le mod worldedit.

Prérequis:

  • Disposer d’un ordinateur suffisamment puissant. Personnellement j’utilise un ancien ordinateur avec 2go de ram, un pentium 4, carte mère: asus P5GOC-V et un disque dur de 160 go (Une clé usb est suffisante pour les sauvegardes) (un pc ou un serveur la ram de bukkit gère de 64 Mo à plus de 32 go, pour un serveur avec des mods  512 mo min pour 3 slots le nombre de slots dépend de la ram)
  • Vous devrez ouvrir le port 25565 et le rediriger vers l’adresse ip de votre serveur (Pour connaître l’ip de celle-ci taper « ifconfig » et vous aurez l’ip de votre serveur) Pour pouvoir permettre au personnes extérieur à votre réseau local de ce connecter à votre serveur. (en général tous les port sont ouvert sur debian pour sécuriser cela je vous conseille d’utiliser  les règles iptable voir l’article ici)

Voilà vous êtes prêt pour commencer l’installation.

Tout d’abord Installer le JRE (Java runtime environnement)

aptitude install openjdk-6-jre

Il vous sera demander de confirmer : pour se faire appuyez sur « y » puis « Entrée ».

Maintenant nous allons créer l’utilisateur:

Créez un utilisateur Minecraft :

useradd -d /home/minecraft -m -s /bin/bash minecraft
passwd minecraft
su minecraft
cd ~
mkdir install && cd install

Ensuite téléchargez le serveur Minecraft:

wget https://s3.amazonaws.com/Minecraft.Download/versions/1.6.2/minecraft_server.1.6.2.jar

[box_alert]Si cette version n’est pas la dernière allez sur le site:Officiel de Minecraft Et copier l’adresse du lien de téléchargement de la version serveur. et remplacer la après le code wget [/box_alert]

Testons le serveur afin de voir si il est bien fonctionnel (nous lançons le serveur avec un minimum de ram dans se cas 512mo cela dépend de votre config):

java  -Xms512M -Xmx512M -jar minecraft_server.jar nogui

 

Si vous obtenez quelque chose dans se genre :
C’est que votre serveur est fonctionnel.
Entrez la commande : « stop » pour couper le serveur.

Installation du serveur craftbukkit :

Nous avons précédemment installer la version original du serveur de mincraft, maintenant nous allons ajouter bukkit afin que nous puissions utiliser les mods sur le serveur.

Vous pouvez directement télécharger le fichier jar depuis le site officiel: Bukkit. Il vous faudra le copier dans le dossier intall. Ou taper la commande suivante (lien à modifier selon la version).

wget http://dl.bukkit.org/latest-rb/craftbukkit.jar

Maintenant nous allons passer à l’installation de notre premier plugin: Worldedit

Copier le lien vers l’archive de Worldedit sur le site officiel et télécharger dans votre dossier plugin

cd plugins
wget http://dev.bukkit.org/media/files/715/448/worldedit-5.5.7.zip
aptitude install unzip
unzip worldedit-5.5.7.zip
ls
rm worldedit-5.5.7.zip

Pour que vous ayez les droits d’administrations ainsi que les personnes de votre choit. il vous faudra modifier le fichiers Ops.txt , y mettre vos pseudos.

cd ..
nano ops.txt   (nous utilisons nano pour éditer le fichier mais vous pouvez utiliser vim)

Pour modifier la config du serveur il faudra modifier le fichier suivant:

nano /home/minecraft/install/server.properties

Voilà le principal est fait maintenant si vous désirez que le serveur démarre automatiquement au démarrage voici un petit script:

su –
apt-get install screen
mkdir /home/minecraft/backups && mkdir /home/minecraft/backups/install
nano /etc/init.d/minecraft

Le script à coller:

#!/bin/bash
# /etc/init.d/minecraft
# version 0.3.2 2011-01-27 (YYYY-MM-DD)

### BEGIN INIT INFO
# Provides: minecraft
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Minecraft server
# Description: Starts the minecraft server
### END INIT INFO

#Settings
SERVICE=’craftbukkit.jar’
USERNAME= »minecraft »
MCPATH=’/home/minecraft/install’
INVOCATION=’java -Xmx2048M -Xms2048M -jar craftbukkit.jar nogui’
BACKUPPATH=’/home/minecraft/backups/install/’

ME=`whoami`
as_user() {
if [ « $ME » == « $USERNAME » ] ; then
bash -c « $1 »
else
su – $USERNAME -c « $1 »
fi
}

mc_start() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo « Tried to start but $SERVICE was already running! »
else
echo « $SERVICE was not running… starting. »
cd $MCPATH
as_user « cd $MCPATH && screen -dmS minecraft $INVOCATION »
sleep 7
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo « $SERVICE is now running. »
else
echo « Could not start $SERVICE. »
fi
fi
}

mc_saveoff() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo « $SERVICE is running… suspending saves »
as_user « screen -p 0 -S minecraft -X eval ‘stuff « say Sauvegarde en cours… »15′ »
as_user « screen -p 0 -S minecraft -X eval ‘stuff « save-off »15′ »
as_user « screen -p 0 -S minecraft -X eval ‘stuff « save-all »15′ »
sync
sleep 10
else
echo « $SERVICE was not running. Not suspending saves. »
fi
}

mc_saveon() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo « $SERVICE is running… re-enabling saves »
as_user « screen -p 0 -S minecraft -X eval ‘stuff « save-on »15′ »
as_user « screen -p 0 -S minecraft -X eval ‘stuff « say Sauvegarde terminée! »15′ »
else
echo « $SERVICE was not running. Not resuming saves. »
fi
}

mc_stop() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo « $SERVICE is running… stopping. »
as_user « screen -p 0 -S minecraft -X eval ‘stuff « say Arrêt du serveur dans 10 secondes! »15′ »
as_user « screen -p 0 -S minecraft -X eval ‘stuff « save-all »15′ »
sleep 10
as_user « screen -p 0 -S minecraft -X eval ‘stuff « stop »15′ »
sleep 7
else
echo « $SERVICE was not running. »
fi
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo « $SERVICE could not be shut down… still running. »
else
echo « $SERVICE is shut down. »
fi
}

mc_update() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo « $SERVICE is running! Will not start update. »
else
MC_SERVER_URL=http://minecraft.net/`wget -q -O – http://www.minecraft.net/download.jsp | grep minecraft_server.jar | cut -d  » -f 2`
as_user « cd $MCPATH && wget -q -O $MCPATH/minecraft_server.jar.update $MC_SERVER_URL »
if [ -f $MCPATH/minecraft_server.jar.update ] then
if `diff $MCPATH/minecraft_server.jar $MCPATH/minecraft_server.jar.update >/dev/null`
then
echo « You are already running the latest version of $SERVICE. »
else
as_user « mv $MCPATH/minecraft_server.jar.update $MCPATH/minecraft_server.jar »
echo « Minecraft successfully updated. »
fi
else
echo « Minecraft update could not be downloaded. »
fi
fi
}

mc_backup() {
echo « Backing up minecraft world »
if [ -d $BACKUPPATH/world_`date « +%m.%d.%Y »` ] then
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
if [ -d $BACKUPPATH/world_`date « +%m.%d.%Y »`-$i ] then
continue
else
as_user « cd $MCPATH && cp -r world $BACKUPPATH/world_`date « +%m.%d.%Y »`-$i »
break
fi
done
else
as_user « cd $MCPATH && cp -r world $BACKUPPATH/world_`date « +%m.%d.%Y »` »
echo « Backed up world »
fi
echo « Backing up the minecraft server executable »
if [ -f « $BACKUPPATH/minecraft_server_`date « +%m.%d.%Y »`.jar » ] then
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
do
if [ -f « $BACKUPPATH/minecraft_server_`date « +%m.%d.%Y »`-$i.jar » ] then
continue
else
as_user « cd $MCPATH && cp minecraft_server.jar « $BACKUPPATH/minecraft_server_`date « +%m.%d.%Y »`-$i.jar » »
break
fi
done
else
as_user « cd $MCPATH && cp minecraft_server.jar « $BACKUPPATH/minecraft_server_`date « +%m.%d.%Y »`.jar » »
fi
echo « Backup complete »
}

#Start-Stop here
case « $1 » in
start)
mc_start
;;
stop)
mc_stop
;;
restart)
mc_stop
mc_start
;;
update)
mc_stop
mc_backup
mc_update
mc_start
;;
backup)
mc_saveoff
mc_backup
mc_saveon
;;
status)
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo « $SERVICE is running. »
else
echo « $SERVICE is not running. »
fi
;;

*)
echo « Usage: /etc/init.d/minecraft {start|stop|update|backup|status|restart} »
exit 1
;;
esac

exit 0

Sauvegardez le fichier puis tapez les commandes suivante afin de rendre le fichier exécutable.

 chmod 755 /etc/init.d/minecraft
update-rc.d minecraft defaults
chmod +x /etc/init.d/minecraft
chown minecraft:minecraft /etc/init.d/minecraft

Pour lancer le serveur vous pouvez maintenant utilisez (cette commande ne nécessite plus de garder le terminal ouvert):

su – minecraft
/etc/init.d/minecraft start

On check et on stop:

screen -liste
screen -r

Articles similaires

Laisser un commentaire

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

Bouton retour en haut de la page