Serveur minecraft

dockerfiles / minecraft-server chez master · itzg / dockerfiles · GitHub – Resoudre les problemes d’un serveur MineCraft

Le 13 juin 2019 - 31 minutes de lecture

Poignées de docker
Docker Stars
Problèmes GitHub

Cette image de menu fixe fournit un serveur Minecraft qui téléchargera automatiquement la dernière version stable.
version au démarrage. Vous pouvez également exécuter / mettre à niveau vers une version spécifique ou le
dernier instantané. Voir le Les versions section ci-dessous pour plus d'informations.

Pour utiliser simplement la dernière version stable, exécutez

docker run -d -p 25565: 25565 - nom mc itzg / minecraft-server

où le port de serveur standard, 25565, sera exposé sur votre ordinateur hôte.

Si vous souhaitez desservir plusieurs serveurs Minecraft ou simplement utiliser un autre port,
changer le mappage de port côté hôte tel que

docker run -p 25566: 25565 ...

servira votre serveur Minecraft sur le port 25566 de votre hôte depuis le -p la syntaxe est
port hôte:port à conteneurs.

En parlant de plusieurs serveurs, il est pratique de donner des noms explicites à vos conteneurs en utilisant --prénom, tel que

docker run -d -p 25565: 25565 - nom mc itzg / minecraft-server

Avec cela, vous pouvez facilement afficher les journaux, arrêter ou redémarrer le conteneur:

docker logs -f mc
    (Ctrl-C pour quitter l'action des journaux)

docker stop mc

docker start mc

Sommaire

Interagir avec le serveur

RCON est activé par défaut, vous pouvez donc exec dans le conteneur pour
accédez à la console du serveur Minecraft:

docker exec -i mc rcon-cli

Noter la -je est nécessaire pour une utilisation interactive de rcon-cli.

Pour exécuter une commande simple et ponctuelle, telle que l’arrêt d’un serveur Minecraft, transmettez-la en tant que
arguments à rcon-cli, tel que:

docker exec mc rcon-cli stop

le -je n'est pas nécessaire dans ce cas.

Pour vous connecter et interagir avec le serveur Minecraft, ajoutez -il lors du démarrage du conteneur, tel que

docker run -d -it -p 25565: 25565 - nom mc itzg / minecraft-server

Avec cela, vous pouvez attacher et interagir à tout moment en utilisant

docker attach mc

puis Control-p Control-q à détacher.

Pour un accès à distance, configurez votre démon Docker pour utiliser un tcp prise (comme -H tcp: //0.0.0.0: 2375)
et attachez depuis une autre machine:

docker -H $ HOST: 2375 attach mc

Sauf si vous êtes sur un réseau local / privé, vous devez activer l'accès TLS.

Support CLUF

Mojang nécessite maintenant l'acceptation du CLUF de Minecraft. Pour accepter ajouter

                -e CLUF = VRAI

tel que

                docker run -d -it -e EULA = TRUE -p 25565: 25565 --nom mc itzg / minecraft-server

Attacher un répertoire de données au système de fichiers hôte

Pour accéder facilement aux données de Minecraft, utilisez le -v argument
pour mapper un répertoire sur votre ordinateur hôte à celui du conteneur /Les données répertoire, tel que:

le menu fixe exécute -d -v / chemin / sur / hôte: / données ...

Lorsque vous êtes connecté de cette manière, vous pouvez arrêter le serveur, éditer la configuration sous votre poste de travail attaché. / chemin / sur / hôte
et redémarrez le serveur avec docker start CONTAINERID pour récupérer la nouvelle configuration.

Les versions

Pour utiliser une autre version de Minecraft, transmettez le VERSION variable d'environnement, qui peut avoir la valeur

  • DERNIER
  • INSTANTANÉ
  • (ou une version spécifique, telle que "1.7.9")

Par exemple, pour utiliser le dernier instantané:

docker run -d -e VERSION = INSTANTANÉ ...

ou une version spécifique:

docker run -d -e VERSION = 1.7.9 ...

Bilan de santé

Cette image contient le statut physique de Dinnerbone et son utilisation.
ses ping commande de vérifier en permanence sur le conteneur. Cela peut être observé
du STATUT colonne de docker ps

NOM DES PORTS DE STATUT CRÉÉS PAR UN COMMAND D'IMAGE D'IDENTIFIANT
b418af073764 mc "/ start" Il y a 43 secondes Jusqu'à 41 secondes (en bonne santé) 0.0.0.0:25565->25565/tcp, 25575 / tcp mc

Vous pouvez également interroger la santé du conteneur de manière conviviale pour les scripts:

> conteneur docker inspecter -f ".State.Health.Status" "mc
en bonne santé

Enfin, depuis mcstatus est sur le CHEMIN vous pouvez exec dans le conteneur
et utilisez mcstatus directement et appelez l'une de ses autres commandes:

> docker exec mc mcstatus localhost status
version: v1.12 (protocole 335)
description: "u'text ': u'A Minecraft Server optimisé par Docker'"
joueurs: 0/20 Aucun joueur en ligne

Exécuter un serveur de forge

Activer le mode serveur Forge en ajoutant un -e TYPE = FORGE à votre ligne de commande.
Par défaut, le conteneur exécutera le CONSEILLÉ version du serveur Forge
mais vous pouvez aussi choisir d’exécuter une version spécifique avec -e FORGEVERSION = 10.13.4.1448.

$ docker run -d -v / chemin / on / hôte: / data -e VERSION = 1.7.10 
    -e TYPE = FORGE -e FORGEVERSION = 10.13.4.1448 
    -p 25565: 25565 -e EULA = TRUE --nom mc itzg / minecraft-server

Pour utiliser un programme d’installation pré-téléchargé de Forge, placez-le dans le /Les données répertoire et
spécifiez le nom du fichier d'installation avec FORGE_INSTALLER, tel que:

$ docker run -d -v / chemin / on / hôte: / data ... 
    -e FORGE_INSTALLER = forge-1.11.2-13.20.0.2228-installer.jar ...

Pour télécharger un programme d'installation Forge à partir d'un emplacement personnalisé, tel que votre propre référentiel de fichiers, spécifiez
l'URL avec FORGE_INSTALLER_URL, tel que:

$ docker run -d -v / chemin / on / hôte: / data ... 
    -e FORGE_INSTALLER_URL = http: //HOST/forge-1.11.2-13.20.0.2228-installer.jar ...

Dans les deux cas ci-dessus, il n’est pas nécessaire que le VERSION ou FORGEVERSION variables.

Pour ajouter des mods, vous avez deux options.

Utiliser le / volume de données

C’est le moyen le plus simple si vous utilisez une solution persistante. /Les données monter.

Pour ce faire, vous devrez joindre le conteneur /Les données annuaire
(Voir "Association du répertoire de données au système de fichiers hôte").
Ensuite, vous pouvez ajouter des mods à la / chemin / sur / hôte / mods dossier que vous avez choisi. De l'exemple ci-dessus,
la / chemin / sur / hôte le contenu du dossier ressemble à:

/ chemin / sur / hôte
├── mods
└── ... INSTALLER LES MODS ICI ...
├── config
└── ... CONFIGURER LES MODS ICI ...
├── ops.json
├── server.properties
├── liste blanche.json
...

Si vous ajoutez des mods pendant que le conteneur est en cours d’exécution, vous devrez le redémarrer pour les sélectionner.
up:

docker stop mc
docker start mc

Utiliser des supports séparés

C’est le moyen le plus simple si vous utilisez un logiciel éphémère. /Les données système de fichiers,
ou télécharger un monde avec le MONDE option.

Deux volumes supplémentaires peuvent être montés; / mods et / config.
Tous les fichiers de l’un de ces systèmes de fichiers seront copiés dans le répertoire principal.
/Les données système de fichiers avant de démarrer Minecraft.

Cela fonctionne bien si vous voulez avoir un ensemble commun de modules dans un fichier séparé.
emplacement, mais toujours plusieurs mondes avec des exigences de serveur différentes
soit dans des volumes persistants, soit dans une archive téléchargeable.

Remplacement de variables dans les configurations

Parfois, vous avez des mods ou des plugins qui nécessitent des informations de configuration disponibles uniquement au moment de l'exécution.
Par exemple, si vous devez configurer un plugin pour vous connecter à une base de données,
vous ne souhaitez pas inclure ces informations dans votre référentiel Git ou votre image Docker.
Ou peut-être avez-vous des informations d’exécution telles que le nom du serveur à définir
dans vos fichiers de configuration après le démarrage du conteneur.

Pour ces cas, il y a la possibilité de remplacer les variables définies dans vos configs
avec des variables d'environnement définies lors de l'exécution du conteneur.

Si vous définissez la variable d'environnement REPLACE_ENV_VARIABLES à VRAI le script de démarrage
passera par tous les fichiers de votre /Les données volume et remplacer les variables qui correspondent à votre
variables d'environnement définies. Les variables que vous souhaitez remplacer doivent être enveloppées
à l'intérieur $ YOUR_VARIABLE accolades et préfixé par un signe dollar. C'est le régulier
syntaxe pour les variables d'environnement dans les chaînes ou les fichiers de configuration.

Vous pouvez également définir un préfixe pour ne faire correspondre que des variables d'environnement prédéfinies.

ENV_VARIABLE_PREFIX = "CFG_" <- c'est le préfixe par défaut

Il y a quelques limitations quant aux caractères que vous pouvez utiliser.

Type Caractères autorisés
prénom 0-9a-zA-Z_-
Valeur 0-9a-zA-Z _-: / =?. +

Voici un exemple complet où nous voulons remplacer des valeurs dans un database.yml.

...
base de données:
    hôte: $ CFG_DB_HOST
    prénom: $ CFG_DB_NAME
    mot de passe: $ CFG_DB_PASSWORD

Voici comment votre docker-compose.yml Le fichier pourrait ressembler à:

version: '3'
# Autres exemples de composition de docker dans / exemples

prestations de service:
  Minecraft:
    image: itzg / minecraft-server
    les ports:
      - "25565: 25565"
    les volumes:
      - "mc: / data"
    environnement:
      CLUF: "VRAI"
      ENABLE_RCON: "vrai"
      MOT DE PASSE RCON: "essai"
      RCON_PORT: 28016
      # activer le remplacement de la variable env
      REPLACE_ENV_VARIABLES: "VRAI"
      # définir un préfixe optionnel pour les variables env que vous souhaitez remplacer
      ENV_VARIABLE_PREFIX: "CFG_"
      # et voici les variables réelles
      CFG_DB_HOST: "http: // localhost: 3306"
      CFG_DB_NAME: "Minecraft"
      CFG_DB_PASSWORD: "ug23u3bg39o-ogADs"
    redémarrer: toujours
  rcon:
    image: itzg / rcon
    les ports:
      - "4326: 4326"
      
      
      
      - "4327: 4327"
    les volumes:
      - "rcon: / opt / rcon-web-admin / db"

les volumes:
  mc:
  rcon:

Exécuter un serveur Bukkit / Spigot

Activez le mode serveur Bukkit / Spigot en ajoutant un -e TYPE = BUKKIT -e VERSION = 1.8 ou -e TYPE = SPIGOT -e VERSION = 1.8 à votre ligne de commande.

docker exécuter -d -v / chemin / sur / hôte: / data 
    -e TYPE = SPIGOT -e VERSION = 1.8 
    -p 25565: 25565 -e EULA = TRUE --nom mc itzg / minecraft-server

Si vous hébergez votre propre copie de Bukkit / Spigot, vous pouvez remplacer les URL de téléchargement par:

  • -e BUKKIT_DOWNLOAD_URL =
  • -e SPIGOT_DOWNLOAD_URL =

Vous pouvez créer une broche à partir de la source en ajoutant -e BUILD_FROM_SOURCE = true

REMARQUE: pour éviter d’assembler le processeur lors de l’exécution de Spigot, tu devras
passer --noconsole à la toute fin de la ligne de commande et ne pas utiliser -il. Par exemple,

docker exécuter -d -v / chemin / sur / hôte: / data 
    -e TYPE = SPIGOT -e VERSION = 1.8 
    -p 25565: 25565 -e EULA = TRUE --nom mc itzg / minecraft-server --noconsole

Vous pouvez installer les plugins Bukkit de deux manières …

Utiliser le / volume de données

C’est le moyen le plus simple si vous utilisez une solution persistante. /Les données monter.

Pour ce faire, vous devrez joindre le conteneur /Les données annuaire
(Voir "Association du répertoire de données au système de fichiers hôte").
Ensuite, vous pouvez ajouter des plugins à la / chemin / sur / hôte / plugins dossier que vous avez choisi. De l'exemple ci-dessus,
la / chemin / sur / hôte le contenu du dossier ressemble à:

/ chemin / sur / hôte
├── plugins
└── ... INSTALLER LES PLUGINS ICI ...
├── ops.json
├── server.properties
├── liste blanche.json
...

Si vous ajoutez des plugins alors que le conteneur est en cours d’exécution, vous devrez le redémarrer pour les sélectionner.
up:

docker stop mc
docker start mc

Utiliser des supports séparés

C’est le moyen le plus simple si vous utilisez un logiciel éphémère. /Les données système de fichiers,
ou télécharger un monde avec le MONDE option.

Il y a un volume supplémentaire qui peut être monté; / plugins.
Tous les fichiers de ce système de fichiers seront copiés dans le répertoire principal.
/ data / plugins système de fichiers avant de démarrer Minecraft.

Cela fonctionne bien si vous voulez avoir un ensemble commun de plugins dans un fichier séparé.
emplacement, mais toujours plusieurs mondes avec des exigences de serveur différentes
soit dans des volumes persistants, soit dans une archive téléchargeable.

Construire une image avec des plugins

Vous pouvez également créer vos propres images Docker en étendant la itzg / minecraft-server image.
L'image contient un ONBUILD déclencheur qui va copier un plugins.yml fichier de votre répertoire de construction et téléchargez tous les plugins spécifiés dans ce répertoire.

Vous pouvez lire sur le ToF-BuildTools et comment les utiliser ici.

Vous pouvez également trouver un exemple avec une image personnalisée dans le répertoire des exemples.

Exécuter un serveur PaperSpigot

Activer le mode serveur PaperSpigot en ajoutant un -e TYPE = PAPER -e VERSION = 1.9.4 à votre ligne de commande.

docker exécuter -d -v / chemin / sur / hôte: / data 
    -e TYPE = PAPER -e VERSION = 1.9.4 
    -p 25565: 25565 -e EULA = TRUE --nom mc itzg / minecraft-server

REMARQUE: pour éviter d’assembler la CPU lors de l’exécution de PaperSpigot, tu devras
passer --noconsole à la toute fin de la ligne de commande et ne pas utiliser -il. Par exemple,

docker exécuter -d -v / chemin / sur / hôte: / data 
    -e TYPE = PAPER -e VERSION = 1.9.4 
    -p 25565: 25565 -e EULA = TRUE --nom mc itzg / minecraft-server --noconsole

Si vous hébergez votre propre copie de PaperSpigot, vous pouvez remplacer l'URL de téléchargement par:

Vous pouvez installer les plugins Bukkit de deux manières …

Un exemple de fichier de composition est fourni à
exemples / docker-compose-paper.yml.

Utiliser le / volume de données

C’est le moyen le plus simple si vous utilisez une solution persistante. /Les données monter.

Pour ce faire, vous devrez joindre le conteneur /Les données annuaire
(Voir "Association du répertoire de données au système de fichiers hôte").
Ensuite, vous pouvez ajouter des plugins à la / chemin / sur / hôte / plugins dossier que vous avez choisi. De l'exemple ci-dessus,
la / chemin / sur / hôte le contenu du dossier ressemble à:

/ chemin / sur / hôte
├── plugins
└── ... INSTALLER LES PLUGINS ICI ...
├── ops.json
├── server.properties
├── liste blanche.json
...

Si vous ajoutez des plugins alors que le conteneur est en cours d’exécution, vous devrez le redémarrer pour les sélectionner.
up:

docker stop mc
docker start mc

Utiliser des supports séparés

C’est le moyen le plus simple si vous utilisez un logiciel éphémère. /Les données système de fichiers,
ou télécharger un monde avec le MONDE option.

Il y a un volume supplémentaire qui peut être monté; / plugins.
Tous les fichiers de ce système de fichiers seront copiés dans le répertoire principal.
/ data / plugins système de fichiers avant de démarrer Minecraft.

Cela fonctionne bien si vous voulez avoir un ensemble commun de plugins dans un fichier séparé.
emplacement, mais toujours plusieurs mondes avec des exigences de serveur différentes
soit dans des volumes persistants, soit dans une archive téléchargeable.

Exécution d'un serveur avec un modpack Feed-The-Beast (FTB) / CurseForge

Activez ce mode serveur en ajoutant un -e TYPE = FTB ou -e TYPE = CURSEFORGE à votre ligne de commande,
mais notez les étapes supplémentaires suivantes nécessaires …

Vous devez spécifier un modpack à exécuter, à l'aide de la commande FTB_SERVER_MOD ou CF_SERVER_MOD environnement
variable. Un modpack de serveur FTB / CurseForge est disponible avec ses logiciels respectifs.
client modpack sur https://www.feed-the-beast.com sous "Fichiers supplémentaires". Similaire, vous pouvez
localisez les modpacks pour CurseForge à l’adresse https://minecraft.curseforge.com/modpacks.

Il existe plusieurs options pour obtenir un modpack FTB / CurseForge.
Une des options est que vous pouvez pré-télécharger le serveur modpack et copiez le modpack sur le /Les données
répertoire (voir "Association du répertoire de données au système de fichiers hôte").

Maintenant, vous pouvez ajouter un -e FTB_SERVER_MOD = name_of_modpack.zip à votre ligne de commande.

exécution du menu fixe -d -v / chemin / sur / hôte: / data -e TYPE = FTB 
    -e FTB_SERVER_MOD = FTBPresentsSkyfactory3Server_3.0.6.zip 
    -p 25565: 25565 -e EULA = TRUE --nom mc itzg / minecraft-server

Au lieu de pré-télécharger un modpack sur le site FTB / CurseForge, vous
pouvez-vous mettre FTB_SERVER_MOD (ou CF_SERVER_MOD) au serveur URL d'un modpack, tel que

docker run ... 
  -e TYPE = FTB 
  -e FTB_SERVER_MOD = https: //www.feed-the-beast.com/projects/ftb-infinity-lite-1-10/files/2402889

ou pour un modpack CurseForce:

docker run ... 
  -e TYPE = CURSEFORGE 
  -e CF_SERVER_MOD = https: //minecraft.curseforge.com/projects/enigmatica2expert/files/2663153/download

Utiliser le / volume de données

Vous devez utiliser un persistant /Les données monter pour ce type de serveur.

Pour ce faire, vous devrez joindre le conteneur /Les données annuaire
(Voir "Association du répertoire de données au système de fichiers hôte").

Si le modpack est mis à jour et que vous souhaitez exécuter la nouvelle version sur votre
serveur, vous arrêtez et supprimez le conteneur:

docker stop mc
docker rm mc

Ne rien effacer de votre répertoire / data (à moins que vous ne connaissiez
mods spécifiques qui ont été supprimés du modpack). Téléchargez le
serveur FTB mis à jour modpack et le copier dans /Les données. Commencer un nouveau conteneur
avec FTB_SERVER_MOD spécifiant le fichier modpack mis à jour.

$ docker run -d -v / chemin / on / hôte: / data -e TYPE = FTB 
    -e FTB_SERVER_MOD = FTBPresentsSkyfactory3Server_3.0.7.zip 
    -p 25565: 25565 -e EULA = TRUE --nom mc itzg / minecraft-server

Correction "impossible de lancer forgemodloader"

Si le modpack de votre serveur ne parvient pas à charger avec une erreur comme celle-ci:

impossible de lancer forgemodloader

Ensuite, vous appliquez une solution de contournement en l'ajoutant à l'invocation d'exécution:

-e FTB_LEGACYJAVAFIXER = true

Utilisation d'un modpack curseforge fait par le client

Si vous utilisez quelque chose comme Curseforge, vous pouvez créer / utiliser des paquets modiques qui ne fonctionnent pas.
contient les jars du serveur. Au lieu de cela, la configuration de Curseforge a manifest.json fichiers, qui
apparaîtra sous /data/FeedTheBeast/manifest.json.

Pour utiliser ces packs, vous devrez:

  • Spécifiez l'emplacement du manifeste avec env var MANIFEST = / data / FeedTheBeast / manifest
  • Choisissez un ServerStart.sh pertinent et éventuellement settings.cfg et mettez-les dans / data / FeedTheBeast

Un exemple de ce dernier serait d'utiliser https://github.com/AllTheMods/Server-Scripts
Là, vous constaterez que tout ce que vous avez à faire est de mettre ServerStart.sh et settings.cfg dans
/ data / FeedTheBeasten prenant soin de mettre à jour settings.cfg pour spécifier votre version souhaitée
de minecraft et de forge. Vous pouvez le faire dans la cli avec quelque chose comme:

$ wget https://raw.githubusercontent.com/AllTheMods/Server-Scripts/master/ServerStart.sh
$ wget https://raw.githubusercontent.com/AllTheMods/Server-Scripts/master/settings.cfg
$ vim settings.cfg #update la version de forge à celle que vous voulez. Votre manifeste.jon l'aura
$ chmod + x ServerStart.sh
$ docker run -itd --name derpcraft 
  -e MANIFEST = / data / FeedTheBeast / manifest.json 
  -v $ PWD / ServerStart.sh: /data/FeedTheBeast/ServerStart.sh 
  -v $ PWD / settings.cfg: /data/FeedTheBeast/settings.cfg 
  -e VERSION = 1.12.2 
  -e TYPE = CURSEFORGE 
  -e CF_SERVER_MOD = https: //minecraft.curseforge.com/projects/your_amazing_modpack/files/2670435/download 
  -p 25565: 25565 
  -e CLUF = VRAI 
  --restart = toujours 
  itzg / minecraft-server

Noter la CF_SERVER_MOD env var doit correspondre à l'URL pour télécharger le modpack que vous ciblez.

Exécuter un serveur SpongeVanilla

Activer le mode serveur SpongeVanilla en ajoutant un -e TYPE = SPONGEVANILLA à votre ligne de commande.
Par défaut, le conteneur exécutera la dernière STABLE version.
Si vous souhaitez exécuter une version spécifique, vous pouvez ajouter -e SPONGEVERSION = 1.11.2-6.1.0-BETA-19 à votre ligne de commande.

le menu fixe exécute -d -v / chemin / sur / hôte: / données -e TYPE = SPONGEVANILLA 
    -p 25565: 25565 -e EULA = TRUE --nom mc itzg / minecraft-server

Vous pouvez également choisir d'utiliser le EXPÉRIMENTAL branche.
Il suffit de le changer avec SPONGEBRANCH, tel que:

$ docker run -d -v / chemin / on / hôte: / data ... 
    -e TYPE = SPONGEVANILLA -e SPONGEBRANCH = EXPÉRIMENTAL ...

Exécution avec un fichier JAR de serveur personnalisé

Si vous souhaitez exécuter un fichier JAR de serveur personnalisé, définissez -e TYPE = CUSTOM et passer le serveur personnalisé
JAR via CUSTOM_SERVER. Il peut s'agir d'une URL ou d'un chemin de conteneur vers un fichier JAR existant.

S'il s'agit d'une URL, elle ne sera téléchargée que dans le répertoire. /Les données répertoire si ce n'était pas déjà. Comme
Ainsi, si vous devez mettre à niveau ou télécharger à nouveau le fichier JAR, vous devez arrêter le conteneur,
supprimer le fichier du conteneur /Les données répertoire et recommencer.

Force le re-téléchargement du fichier serveur

Pour les types de serveur VANILLA, FORGE, BUKKIT, SPIGOT, PAPER, CURSEFORGE, SPONGEVANILLA, définissez
$ FORCE_REDOWNLOAD valeur (par exemple 'true) pour forcer le téléchargement de nouveau du fichier du serveur pour
le type de serveur particulier. en ajoutant un -e FORCE_REDOWNLOAD = true à votre ligne de commande.

Par exemple, avec PaperSpigot, cela ressemblerait à ceci:

docker exécuter -d -v / chemin / sur / hôte: / data 
    -e TYPE = PAPER -e VERSION = 1.14.1 -e FORCE_REDOWNLOAD = true 
    -p 25565: 25565 -e EULA = TRUE --nom mc itzg / minecraft-server

Utiliser Docker Compose

Plutôt que de taper les options de serveur ci-dessous, les mappages de ports ci-dessus, etc.
chaque fois que vous voulez créer un nouveau serveur Minecraft, vous pouvez maintenant utiliser
Docker Compose. Commencez avec un
docker-compose.yml fichier comme suit:

serveur minecraft:
  ports:
    - "25565: 25565"

  environnement:
    CLUF: "VRAI"

  image: itzg / minecraft-server

  nom_cipient: mc

  tty: vrai
  stdin_open: true
  redémarrer: toujours

et dans le même répertoire que ce fichier exécuter

docker-composer up -d

Maintenant, allez jouer … ou ajustez la environnement section à configurer
cette instance de serveur.

Configuration du serveur

Par défaut, la configuration du serveur sera créée et définie en fonction des paramètres suivants:
variables d’environnement, mais uniquement lors du premier démarrage du serveur. Si la
server.properties Le fichier existe déjà, les valeurs qu’il contient ne seront pas modifiées.

Si vous souhaitez remplacer la configuration du serveur à chaque fois que le conteneur
démarre, vous pouvez définir la variable d’environnement OVERRIDE_SERVER_PROPERTIES comme suit:

docker run -d -e OVERRIDE_SERVER_PROPERTIES = true ...

Ceci réinitialisera toute configuration manuelle du server.properties fichier, donc si
vous souhaitez apporter des modifications de configuration persistantes dont vous aurez besoin pour vous assurer que
vous avez correctement défini les variables d’environnement appropriées dans votre commande d’exécution de docker (décrite ci-dessous).

Nom du serveur

Le nom du serveur (par exemple, pour bungeecord) peut être défini comme suit:

docker run -d -e SERVER_NAME = MyServer ...

Port de serveur

Le port du serveur peut être configuré comme suit:

docker run -d -e SERVER_PORT = 25565 ...

Difficulté

Le niveau de difficulté (par défaut: facile) peut être réglé comme:

docker run -d -e DIFFICULTY = difficile ...

Les valeurs valides sont: paisible, facile, Ordinaire, et difficile, Et un
un message d'erreur sera affiché dans les journaux si ce n'est pas l'un de ceux-ci
valeurs.

Joueurs de la liste blanche

Pour ajouter des joueurs à la liste blanche de votre serveur Minecraft, transmettez les noms d’utilisateur Minecraft séparés par des virgules via Liste blanche variable d'environnement, telle que

docker run -d -e WHITELIST = user1, user2 ...

Si la Liste blanche Si la variable d’environnement n’est pas utilisée, tout utilisateur peut rejoindre votre serveur Minecraft s’il est accessible au public.

Joueurs Op / Administrateur

Pour ajouter plus d'utilisateurs "op" (autrement dit administrateurs) à votre serveur Minecraft, transmettez les noms d'utilisateur Minecraft séparés par des virgules via OPS variable d'environnement, telle que

docker exécuter -d -e OPS = utilisateur1, utilisateur2 ...

Icône du serveur

Une icône de serveur peut être configurée à l'aide du bouton ICÔNE variable. L'image sera automatiquement
téléchargé, mis à l'échelle et converti à partir de tout autre format d'image:

docker run -d -e ICON = http: //..../some/image.png ...

Rcon

Pour utiliser rcon, utilisez le ENABLE_RCON et RCON_PASSORD variables.
Par défaut, le port rcon sera 25575 mais peut facilement être changé avec le RCON_PORT variable.

docker run -d -e ENABLE_RCON = true -e RCON_PASSWORD = testing

Question

Activer ceci activera le protocole de requête gamespy.
Par défaut, le port de requête sera 25565 (UDP) mais peut facilement être changé avec le QUERY_PORT variable.

docker run -d -e ENABLE_QUERY = true

le maximum de joueurs

Par défaut, le nombre maximum de joueurs est de 20, vous pouvez l'augmenter avec le LE MAXIMUM DE JOUEURS variable.

docker run -d -e MAX_PLAYERS = 50

Max taille du monde

Ceci définit la taille maximale possible en blocs, exprimée en rayon, que la frontière mondiale peut obtenir.

exécution du menu fixe -d -e MAX_WORLD_SIZE = 10000   

Autoriser le Néant

Permet aux joueurs de voyager dans le Nether.

docker run -d -e ALLOW_NETHER = true

Annoncer les réalisations des joueurs

Permet au serveur d’annoncer quand un joueur obtient un exploit.

docker run -d -e ANNOUNCE_PLAYER_ACHIEVEMENTS = true   

Activer le bloc de commande

Active les blocs de commande

    docker run -d -e ENABLE_COMMAND_BLOCK = true

Force Gamemode

Forcer les joueurs à rejoindre le mode de jeu par défaut.

  • false – Les joueurs rejoindront le mode de jeu qu'ils ont laissé.

  • true – Les joueurs rejoindront toujours le mode de jeu par défaut.

    docker run -d -e FORCE_GAMEMODE = false

Générer des structures

Définit si des structures (telles que des villages) seront générées.

  • false – Les structures ne seront pas générées dans les nouveaux morceaux.

  • true – Les structures seront générées dans de nouveaux morceaux.

    docker run -d -e GENERATE_STRUCTURES = true

Hardcore

Si défini sur true, les joueurs seront configurés en mode spectateur s'ils meurent.

docker run -d -e HARDCORE = false

Fureteur

Si la valeur est false, le serveur n'enverra pas de données au serveur snoop.minecraft.net.

docker run -d -e SNOOPER_ENABLED = false

Hauteur de construction maximale

La hauteur maximale autorisée pour la construction.
Le terrain peut toujours générer naturellement au-dessus d'une limite de hauteur basse

docker run -d -e MAX_BUILD_HEIGHT = 256

Max Tick Time

Le nombre maximum de millisecondes qu'un tick peut prendre avant que le chien de garde du serveur arrête le serveur avec le message, Un tick sur un serveur prend 60,00 secondes (doit être au maximum de 0,05); Considérant qu'il est en panne, le serveur va s'arrêter de force. Une fois ce critère rempli, il appelle System.exit (1).
Régler ceci à -1 désactivera complètement le chien de garde

exécution du menu fixe -d -e MAX_TICK_TIME = 60000

Animaux d'apparition

Détermine si les animaux pourront se reproduire.

docker run -d -e SPAWN_ANIMALS = true

Monstres d'apparition

Détermine si des monstres seront créés.

docker run -d -e SPAWN_MONSTERS = true

Spawn NPCs

Détermine si les villageois seront générés.

docker run -d -e SPAWN_NPCS = true

La distance de vue

Définit la quantité de données mondiales que le serveur envoie au client, mesurée en morceaux dans chaque direction du lecteur (rayon, pas diamètre).
Il détermine la distance de visualisation côté serveur.

docker run -d -e VIEW_DISTANCE = 10

Niveau de semences

Si vous voulez créer le niveau Minecraft avec une graine spécifique, utilisez LA GRAINE, tel que

docker run -d -e SEED = 1785852800490497919 ...

Mode de jeu

Par défaut, les serveurs Minecraft sont configurés pour s'exécuter en mode Survie. Vous pouvez
changer le mode en utilisant MODE où vous pouvez soit fournir le la norme
valeurs numériques
ou la
valeurs de raccourci:

  • Créatif
  • survie
  • aventure
  • spectateur (uniquement pour Minecraft 1.8 ou ultérieur)

Par exemple:

docker run -d -e MODE = création ...

Le message du jour

Le message du jour, affiché sous chaque entrée de serveur dans l'interface utilisateur, peut être modifié à l'aide de la touche MOTD variable d'environnement, telle que

docker run -d -e 'MOTD = Mon serveur' ...

Si vous le laissez désactivé, une valeur par défaut est calculée à partir du type et de la version du serveur, telle que

Un serveur Paper Minecraft optimisé par Docker

quand TYPE est PAPIER. De cette façon, vous pourrez facilement différencier plusieurs serveurs que vous avez peut-être démarrés.

L'exemple montre comment spécifier un message du serveur du jour contenant des espaces en mettant des guillemets
autour de la chose entière.

Mode PVP

Par défaut, les serveurs sont créés avec le mode joueur contre joueur (PVP) activé. Vous pouvez le désactiver avec le PVP
variable d'environnement définie sur faux, tel que

docker run -d -e PVP = false ...

Type de niveau et paramètres du générateur

Par défaut, un monde standard est généré avec des collines, des vallées, de l’eau, etc. Un type de niveau différent peut être utilisé.
être configuré en paramétrant LEVEL_TYPE à un type attendu, tel que

  • DÉFAUT
  • APPARTEMENT
  • GRANDS BIOMES
  • AMPLIFIÉ
  • PERSONNALISÉ
  • BUFFET

Les descriptions sont disponibles sur la console de jeux.

Lorsque vous utilisez un type de niveau de APPARTEMENT, PERSONNALISÉ, et BUFFET, vous pouvez en outre configurer le générateur de monde
en passant des paramètres de générateur personnalisés.
Étant donné que les paramètres du générateur contiennent généralement des;, entourez la valeur -e d'un guillemet simple, comme ci-dessous.

Par exemple (juste le -e morceaux):

-e LEVEL_TYPE = flat -e 'GENERATOR_SETTINGS = 3; minecraft: substrat rocheux, 3 * minecraft: pierre, 52 * minecraft: grès; 2;';

World Save Nom

Vous pouvez basculer entre les sauvegardes du monde ou exécuter plusieurs conteneurs avec différentes sauvegardes en utilisant NIVEAU option,
où le défaut est "monde":

docker run -d -e LEVEL = bonus ...

REMARQUE: si vous utilisez plusieurs conteneurs, veillez à spécifier un autre -v répertoire hôte pour chaque
NIVEAU en cours d'utilisation ou non -v et le système de fichiers du conteneur gardera les choses encapsulées.

Monde téléchargeable

Au lieu de monter le /Les données volume, vous pouvez plutôt spécifier l’URL de
un fichier ZIP contenant un monde archivé. Ce sera téléchargé, et
déballé dans le /Les données annuaire; s'il ne contient pas de sous-répertoire
appelé monde/ alors il sera recherché un fichier level.dat et le
contenant le sous-répertoire renommé en monde. Cela signifie que la plupart des
Les mondes archivés de Minecraft téléchargeables sur Internet seront déjà en
le bon format.

Le fichier ZIP peut également contenir un server.properties fichier et modules
répertoire, si nécessaire.

docker run -d -e WORLD = http: //www.example.com/worlds/MySave.zip ...

REMARQUE: Sauf si vous montez aussi /Les données comme un volume externe, ce monde
sera supprimé lorsque le conteneur sera supprimé.

REMARQUE: Cette URL doit être accessible depuis l'intérieur du conteneur. Donc,
vous devez utiliser une adresse IP ou un nom de domaine complet pouvant être résolu globalement, sinon
nom d'un conteneur lié.

Monde de clonage à partir d'un chemin de conteneur

le MONDE Cette option peut également être utilisée pour référencer un répertoire qui sera utilisé
comme source pour cloner le répertoire mondial.

Par exemple, ce qui suit serait initialement un clonage du contenu mondial
de / mondes / base. Notez également dans l'exemple que vous pouvez utiliser un
pièce jointe de volume en lecture seule pour s’assurer que la source du clone reste vierge.

docker run ... -v $ HOME / mondes: / mondes: ro -e MONDE = / mondes / base 

Pack mod / plugin téléchargeable pour les serveurs Forge, Bukkit et Spigot

Comme le MONDE option ci-dessus, vous pouvez spécifier l'URL d'un "pack de mod"
télécharger et installer dans mods pour Forge ou plugins pour Bukkit / Spigot.
Pour utiliser cette option, transmettez la variable d'environnement MODPACK, tel que

docker run -d -e MODPACK = http: //www.example.com/mods/modpack.zip ...

REMARQUE: L’URL référencée doit être un fichier zip avec un ou plusieurs fichiers jar situés au début.
niveau supérieur de l'archive zip. Assurez-vous que les pots sont compatibles avec le
particulier TYPE du serveur que vous utilisez.

Vous pouvez également télécharger des mods individuels en utilisant le MODS variable d'environnement et fourniture de l'URL
dans les fichiers jar. Plusieurs mods / plugins doivent être séparés par une virgule.

docker run -d -e MODS = https: //www.example.com/mods/mod1.jar,https: //www.example.com/mods/mod2.jar ... 

Supprimer les anciens mods / plugins

Lorsque l'option ci-dessus est spécifiée (MODPACK) vous pouvez aussi demander au script de
Supprimez les anciens mods / plugins avant d’en installer de nouveaux. Ce comportement est souhaitable
au cas où vous voudriez mettre à jour mods / plugins à partir du fichier zip téléchargé.
Pour utiliser cette option, transmettez la variable d'environnement REMOVE_OLD_MODS = "TRUE", tel que

docker run -d -e REMOVE_OLD_MODS = "TRUE" -e MODPACK = http: //www.example.com/mods/modpack.zip ...

ATTENTION: Tout le contenu du mods ou plugins le répertoire sera supprimé
avant de décompresser le nouveau contenu du MODPACK ou des MODS.

Mode en ligne

Par défaut, le serveur vérifie la connexion des joueurs avec la base de données de comptes de Minecraft. Si vous souhaitez créer un serveur hors ligne ou si votre serveur n'est pas connecté à Internet, vous pouvez désactiver le serveur pour tenter de vous connecter à minecraft.net pour authentifier les lecteurs avec une variable d'environnement. MODE EN LIGNE, comme ça

docker run -d -e ONLINE_MODE = FALSE ...

Autoriser le vol

Permet aux utilisateurs d'utiliser le vol sur votre serveur en mode Survie, si un mod fournissant le vol est installé.

-e ALLOW_FLIGHT = TRUE | FALSE

Options diverses

Exécution en tant qu'identifiant d'utilisateur / de groupe alternatif

Par défaut, le conteneur bascule vers l'ID utilisateur 1000 et l'ID groupe 1000;
Cependant, vous pouvez remplacer ces valeurs en définissant UID et / ou GID comme des entrées environnementales, au cours de la docker run commander.

-e UID = 1234
-e GID = 1234

Le conteneur ignorera également le changement d’utilisateur si le --utilisateur/-u argument
est passé à docker run.

Limite de mémoire

Par défaut, l'image déclare une limite de mémoire Java initiale et maximale de 1 Go. Il y a plusieurs
façons d'ajuster les paramètres de la mémoire:

  • MÉMOIRE, "1G" par défaut, peut être utilisé pour régler à la fois les valeurs initiales (Xms) et max (Xmx)
    paramètres de mémoire de la machine virtuelle Java
  • INIT_MEMORY, définit indépendamment la taille initiale du tas
  • MAX_MEMORY, définit indépendamment la taille maximale du tas

Les valeurs des trois sont transmises directement à la machine virtuelle Java et prennent en charge le format / les unités en tant que
[g|G|m|M|k|K].

Options JVM

Les options générales de la machine virtuelle Java peuvent être passées à l’appel du serveur Minecraft en passant un JVM_OPTS
variable d'environnement. Des options comme -X ce besoin de procéder options générales JVM peuvent être passés
par l'intermédiaire d'un JVM_XX_OPTS variable d'environnement.

Dans certains cas, si par exemple après avoir retiré les mods, il pourrait être nécessaire de démarrer minecraft avec un -RÉ paramètre comme -Dfml.queryResult = confirmer. Pour résoudre ce problème, vous pouvez utiliser la variable d'environnement JVM_DD_OPTS, qui construit les paramètres à partir d’une liste de valeurs séparée par un espace, mais sans le -RÉ préfixe. Pour que les choses fonctionnent sous des systèmes (par exemple, Plesk), ce qui ne permet pas = valeurs intérieures, un : (deux points) pourrait être utilisé à la place. L'exemple supérieur ressemblerait à ceci:
JVM_DD_OPTS = fml.queryResult: confirmeret sera converti en -Dfml.queryResult = confirmer.

Http proxy

Vous pouvez configurer l’utilisation d’un proxy HTTP / HTTPS en transmettant l’URL du proxy via le PROCURATION
variable d'environnement. Dans l'exemple, le fichier compose est référencé
un proxy compagnon calmar en définissant l'équivalent de

-e PROXY = proxy: 3128

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.