dockerfiles / minecraft-server chez master · itzg / dockerfiles · GitHub – Resoudre les problemes d’un serveur MineCraft
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 / FeedTheBeast
en 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 JavaINIT_MEMORY
, définit indépendamment la taille initiale du tasMAX_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
.
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: confirmer
et 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