====== Configurer un serveur Minecraft ======
:!: Attention cette documentation n'a pas pour but d'être exhaustive, simplement de faire fonctionner un ou plusieurs serveur Minecraft [[https://www.spigotmc.org/wiki/about-spigot/|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 (( Pour voir les révisions disponible, voir [[https://www.spigotmc.org/wiki/buildtools/|ceci]]. )):
# 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 ((si vous comptez avoir plusieurs serveurs Minecraft sur cette machine, pensez a changer les ports (du rcon, du query et du serveur))), 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 !