Attention cette documentation n'a pas pour but d'être exhaustive, simplement de faire fonctionner un ou plusieurs serveur Minecraft Spigot sur un serveur linux. Pas comment gérer celui-ci.
Pour commencer, installez Java
# apt update && apt install -y openjdk-11-jre
ensuite on va créer des dossiers pour faciliter la gestion des serveurs :
# mkdir /opt/{buildtools,mcrcon}
on va ensuite allez dans le dossier buildtools et télécharger l'outil pour construire le JAR du serveur :
# wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
et pour finir lancer la construction 1):
# java -jar BuildTools.jar --rev 1.16.1
Ensuite on va compiler l'outil mcrcon, pour permettre d'envoyer des commandes d'administration au serveur via la console. Allez dans le dossier /opt/mcrcon, puis récupérez le dépôt :
# git clone https://github.com/Tiiffi/mcrcon .
puis compilez l'outil :
# make
Ensuite, on va créer la configuration de systemd, permettant de lancer au démarrage les serveurs Minecraft :
[Unit] Description=Minecraft server %i After=syslog.target After=network.target [Service] Type=simple WorkingDirectory=/opt/minecraft-%i EnvironmentFile=/opt/minecraft-%i/env SyslogIdentifier=minecraft-%i ExecStart=java -Xms${MINHEAP} -Xmx${MAXHEAP} -XX:ParallelGCThreads=${THREADS} -jar server.jar nogui ExecStop=/opt/mcrcon/mcrcon -H localhost -p ${RCON_PASSWD} -P ${RCON_PORT} -w 10 "say §c§lWARNING ! §r§eserver will stop in 10 sec !" "stop" Restart=always [Install] WantedBy=multi-user.target
Ensuite, on va créer notre premier serveur. Pour l'exemple, mon serveur va s'appeler “survie”. Donc, créons le dossier :
# mkdir /opt/minecraft-survie
Ensuite, copions le JAR du serveur :
# cp /opt/buildtools/spigot-1.16.1.jar /opt/minecraft-survie/server.jar
ensuite, allons dans le dossier, et lançons pour la première fois le serveur pour générer les fichiers par défaut :
# java -Xms1G -Xmx1G -jar server.jar nogui
Vous devriez avoir une erreur, c'est normal.
Il va falloir modifier le fichier le fichier eula.txt comme ceci :
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula). #Fri Jul 03 16:47:11 CEST 2020 eula=true
Ensuite il va falloir modifier les valeurs suivantes pour au moins le faire fonctionner 2)), profitez en pour y modifier les configurations qui vous conviennent :
#Minecraft server properties #Fri Jul 03 16:47:11 CEST 2020 enable-jmx-monitoring=false rcon.port=25575 level-seed= gamemode=survival enable-command-block=false enable-query=false generator-settings= level-name=world motd=A Minecraft Server query.port=25565 pvp=true generate-structures=true difficulty=easy network-compression-threshold=256 max-tick-time=60000 use-native-transport=true max-players=20 online-mode=true enable-status=true allow-flight=false broadcast-rcon-to-ops=true view-distance=10 max-build-height=256 server-ip= allow-nether=true server-port=25565 enable-rcon=true sync-chunk-writes=true op-permission-level=4 prevent-proxy-connections=false resource-pack= entity-broadcast-range-percentage=100 rcon.password=mypassword player-idle-timeout=0 debug=false force-gamemode=false hardcore=false white-list=false broadcast-console-to-ops=true spawn-npcs=true spawn-animals=true snooper-enabled=true function-permission-level=2 level-type=default spawn-monsters=true enforce-whitelist=false resource-pack-sha1= spawn-protection=16 max-world-size=29999984
Ensuite créez le fichiez env, qui vont servir a systemd pour lancer ou arrêter le serveur :
# Memory config MINHEAP=6G MAXHEAP=10G # CPU config THREADS=4 # RCON config RCON_PASSWD=mypassword RCON_PORT=25575
Ensuite, lancez le service systemd :
# systemctl start minecraft@survie
Patientez le temps que le monde se génère, et jouez !