Création Serveur
Installation de Java
Entrer la commande suivante :
Installation du Serveur Minecraft
Télécharger la dernière version de CraftBukkit et le mettre dans le dossier désiré du serveur
Lancer le serveur pour vérifier qu'il fonctionne en tapant la commande suivante :
Si le serveur fonctionne, la map doit se générer :
[INFO] Loading properties
[WARNING] server.properties does not exist
[INFO] Generating new properties file
[INFO] Starting Minecraft server on *:25565
[WARNING] Failed to load ban list: java.io.FileNotFoundException: banned-players.txt (Le fichier spécifié est introuvable)
[WARNING] Failed to load ip ban list: java.io.FileNotFoundException: banned-ips.txt (Le fichier spécifié est introuvable)
[WARNING] Failed to load ip ban list: java.io.FileNotFoundException: ops.txt (Le fichier spécifié est introuvable)
[INFO] Preparing level "world"
[INFO] Preparing start region
[INFO] Preparing spawn area: 4%
[INFO] Preparing spawn area: 12%
[INFO] Preparing spawn area: 20%
[INFO] Preparing spawn area: 32%
...
Le serveur fonctionne bien
Une fois la fenetre Putty fermée, le serveur se ferme aussi.
C'est normal, en fermant la console serveur, on ferme également le serveur qui tourne dedans.
Il faut faire tourner le serveur en tant que service ou en tâche de fond.(Voir la suite)
Arrêter le serveur Minecraft :
Un chose très importante à savoir : Ne jamais rebooter electriquement votre serveur dédié sans avoir stoppé votre serveur Minecraft au préalable, sinon vous aurez surement la chance de découvrir un map complètement corrompue !
Exécuter le serveur en tant que service
Créer un script pour lancer le serveur en tant que service :
Copier / coller le script ci-dessous dans Putty avec le clic-droit :
# /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='minecraft_server.jar'
USERNAME="root"
MCPATH='/home/minecraft/'
BACKUPPATH='/home/minecraft/minecraft.backup/'
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 java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui"
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 SERVER BACKUP STARTING. Server going readonly...\"\015'"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-off\"\015'"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'"
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\"\015'"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"say SERVER BACKUP ENDED. Server going read-write...\"\015'"
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 SERVER SHUTTING DOWN IN 10 SECONDS. Saving map...\"\015'"
as_user "screen -p 0 -S minecraft -X eval 'stuff \"save-all\"\015'"
sleep 10
as_user "screen -p 0 -S minecraft -X eval 'stuff \"stop\"\015'"
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
as_user "mv $MCPATH/minecraft_server.jar.update $MCPATH/minecraft_server.jar"
echo "Minecraft successfully updated."
else
echo "Minecraft update could not be downloaded."
fi
fi
}
mc_backup() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
# echo "$SERVICE is running! Will not start backup."
# else
echo "Backing up minecraft data"
if [ -d $BACKUPPATH/world_`date "+%m.%d.%Y"` ]
then
for i in 1 2 3 4 5 6
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"`"
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
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
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
Faire CTRL+X pour sauvegarder et quitter, indiquer O pour confirmer On accorde les permissions :
Créer le lien symbolique pour lancer le serveur automatiquement :
Le serveur se lancera maintenant automatiquement en tant que service à chaque reboot du serveur dédié.
Pour lancer le serveur MC, entrer :
Utiliser screen
Le serveur étant lancé dans screen, on peut y accéder en tapant les comamndes suivantes :
Connaitre le numéro de screen du serveur Minecraft
Rattacher le screen existant
Pour quitter screen faire
Les alias
Aller soit dans le répertoire root soit dans votre répertoire utilisateur (à préférer)
Puis éditer le fichier .bashrc ou bash_aliases (à préferer, à créer si pas créé)
Puis dans le fichier rentrer les alias comme suit :
alias mcstart="sudo /etc/init.d/minecraft start"
alias mcstop="sudo /etc/init.d/minecraft stop"
alias mcupdate="sudo /etc/init.d/minecraft update"
alias mcbackup="sudo /etc/init.d/minecraft backup"
alias mcstatus="sudo /etc/init.d/minecraft status"
alias mcrestart="sudo /etc/init.d/minecraft restart"
ou si ca ne fonctionne pas :
Faire CTRL+X, puis O puis Entrée pour sauvergarder et quitter
Une fois la console redémarrée les alias peuvent être utilisés en tapant la commande