{"version":"1.1","schema_version":"1.1.0","plugin_version":"1.1.2","url":"https://tutos-gameserver.fr/2019/06/19/paquet-minecraft-pour-synology-nas-resoudre-les-problemes-dun-serveur-minecraft/","llm_html_url":"https://tutos-gameserver.fr/2019/06/19/paquet-minecraft-pour-synology-nas-resoudre-les-problemes-dun-serveur-minecraft/llm","llm_json_url":"https://tutos-gameserver.fr/2019/06/19/paquet-minecraft-pour-synology-nas-resoudre-les-problemes-dun-serveur-minecraft/llm.json","manifest_url":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","language":"fr-FR","locale":"fr_FR","title":"Paquet Minecraft pour Synology NAS\n\n &#8211; Resoudre les problemes d&rsquo;un serveur MineCraft","site":{"name":"Tutos GameServer","url":"https://tutos-gameserver.fr/"},"author":{"id":1,"name":"Titanfall","url":"https://tutos-gameserver.fr/author/titanfall/"},"published_at":"2019-06-19T16:42:52+00:00","modified_at":"2019-06-19T16:42:52+00:00","word_count":2552,"reading_time_seconds":766,"summary":"METTRE À JOUR &#8211; Les instructions et les remarques sur cette page s&#39;appliquent aux packages Minecraft et CraftBukkit hébergés sur mon dépôt. Fonctionne maintenant sur les modèles QorIQ CPU Synology! Minecraft est un jeu intriguant. Je ne l&#39;ai acheté que récemment, après qu&#39;un ami l&#39;ait recommandé. Il y a beaucoup à aimer: le style visuel [&hellip;]","summary_points":["METTRE À JOUR &#8211; Les instructions et les remarques sur cette page s&#39;appliquent aux packages Minecraft et CraftBukkit hébergés sur mon dépôt.","Fonctionne maintenant sur les modèles QorIQ CPU Synology!","Minecraft est un jeu intriguant.","Je ne l&#39;ai acheté que récemment, après qu&#39;un ami l&#39;ait recommandé."],"topics":["Serveur minecraft"],"entities":[],"entities_metadata":[{"id":13,"name":"Serveur minecraft","slug":"serveur-minecraft","taxonomy":"category","count":2786,"url":"https://tutos-gameserver.fr/category/serveur-minecraft/"}],"tags":["Serveur minecraft"],"content_hash":"74d8de0ff80d583a9e3c25d97a668a67","plain_text":"METTRE À JOUR &#8211; Les instructions et les remarques sur cette page s&#39;appliquent aux packages Minecraft et CraftBukkit hébergés sur mon dépôt. Fonctionne maintenant sur les modèles QorIQ CPU Synology!\nMinecraft est un jeu intriguant. Je ne l&#39;ai acheté que récemment, après qu&#39;un ami l&#39;ait recommandé. Il y a beaucoup à aimer: le style visuel rétro saisissant, la musique douce et sporadique, explorer le monde généré par les procédures, la façon logique de concevoir les objets, la collaboration multijoueur et le gameplay émergent. Notch, son créateur, mérite certainement la fortune sur laquelle il est assis. Je vous recommande vivement de regarder ce court documentaire à ce sujet.\n\nJuste après avoir publié le package Java pour Synology, quelques personnes ont indiqué vouloir utiliser ce logiciel pour installer un serveur Minecraft. Maintenant que j&#39;ai le jeu, j&#39;ai décidé d&#39;essayer aussi. J&#39;avais supposé que les processeurs ARM ne seraient pas capables de l&#39;exécuter, et les premiers tests ont semblé le confirmer. J’ai décidé qu’il serait néanmoins intéressant de créer un paquet car les unités Intel CPU NAS seraient bien, surtout avec leur RAM supplémentaire. Cependant, avec un peu de performances, il fonctionne de manière acceptable (pas de décalage en cas d’extraction de blocs) sur mon DS111 alimenté par ARM, qui ne dispose que de 256 Mo. La charge du processeur est de 100% pendant un certain temps au début, mais peu de temps après sa lecture, elle se stabilise à environ 60%. J&#39;ai brièvement testé avec deux joueurs connectés et après un peu de retard au début (une seconde de retard pour exploiter un bloc), il semble s&#39;être calmé.\n\nMinecraft indiquant la distance de tirage et la charge du serveur s&#39;exécutant sur un Synology DS111\n\nInstallation\n\nCe paquet n&#39;est pas spécifique à la CPU. Si vous avez Java, cela fonctionnera. Pour le moment, cela signifie les processeurs ARM, Intel et QorIQ PowerPC, mais pas les anciens PowerPC.\nDans le Panneau de configuration de l&#39;utilisateur dans DSM, activez le service User Homes.\nInstallez le package directement à partir du Centre de paquets dans DSM. Dans Paramètres -&gt; Sources de paquets ajouter mon URL de référentiel de paquets qui est http://packages.pcloadletter.co.uk. Vous devrez d&#39;abord installer l&#39;un de mes packages Java SE pour Embedded (Java 6 ou 7).\n\nRemarques\n\nLe paquet récupère le fichier jar du serveur minecraft à partir de Mojang lors de son installation. Je me plie à leur souhait que personne ne le redistribue.\nLe script serveur démon vérifie la quantité de RAM système et adapte la taille du segment de mémoire Java de manière appropriée. Il applique également quelques modifications de performances à Java pour tenter de réduire la latence de la récupération de place.\nLa première fois que vous exécutez le serveur, un nouveau monde sera créé, ce qui peut prendre quelques minutes. Vous ne pouvez pas interrompre cela, mais vous pouvez vérifier la progression en consultant à plusieurs reprises l&#39;onglet Log.\nÉtant donné que le temps que cela prend pour jouer à Minecraft peut être considérable, lorsque vous désinstallez le paquet, la sauvegarde sera sauvegardée. monde dossier et paramètres à /volume1/public/minecraftworld.todaysdate.bak pour empêcher la suppression accidentelle.\nLe package prend en charge les mises à niveau vers les versions futures tout en préservant la monde dossier et paramètres du serveur.\nSi vous souhaitez transplanter un dossier mondial existant sur le serveur, copiez-le dans / volume1 / @ appstore / Minecraft. Vous aurez aussi besoin de courir chown -R minecraft / volume1 / @ appstore / Minecraft accorder la propriété des fichiers à l&#39;utilisateur démon.\nLa première fois que vous exécutez le package, le fichier de configuration du serveur /volume1/@appstore/Minecraft/server.properties est généré. Lors de son prochain lancement, mon script réduit la distance de dessin par défaut pour les processeurs ARM de 10 morceaux à 7 morceaux. Cela était approprié pour mon DS111 afin d&#39;éviter la latence lors de l&#39;extraction de blocs, mais vous souhaiterez peut-être le réduire davantage sur les unités NAS de la série J qui ont moins de RAM et les processeurs plus lents. Autres fichiers du serveur (white-list.txt etc.) se trouvent dans le même dossier. Pour CraftBukkit, les fichiers sont dans le dossier. /volume1/@appstore/Craftbukkit/server.properties (notez la capitalisation &#8211; le projet CraftBukkit a semblé changer cela alors que j&#39;avais déjà créé le paquet avec un minuscule «b»).\nLe moyen le plus simple d’éditer ces fichiers de configuration si vous n’êtes pas vraiment sûr de Linux est d’installer le package Merty de Config File Editor, qui nécessite également l’installation du package officiel Synology Perl (à partir de DSM 4.2). Chargez Config File Editor, puis dans le menu déroulant, éditez sa propre configuration (la dernière de la liste) et ajoutez les lignes suivantes:/volume1/@appstore/Minecraft/server.properties,Minecraft-properties/volume1/@appstore/Minecraft/white-list.txt,Minecraft-whitelist/volume1/@appstore/Minecraft/ops.txt,Minecraft-opsAssurez-vous d’ajouter une ligne vierge supplémentaire en dessous, sauvegardez, puis relancez CFE et vous aurez des entrées pour Minecraft dans la liste déroulante. Vous devez redémarrer le package Minecraft pour que les modifications prennent effet.\nIl était un peu délicat d’arrêter le serveur en douceur sans tuer le processus Java. Nous avons besoin qu&#39;il s&#39;éteigne correctement pour enregistrer les morceaux actifs sur le disque en premier. La plupart des guides sur le Net utilisent le écran binaire qui n’est pas inclus dans Synology DSM, et je ne voulais pas avoir à créer de version du paquet pour chaque architecture de CPU. J&#39;ai trouvé que je pourrais utiliser queue envoyer la dernière ligne du fichier /tmp/stdin.minecraft au serveur (/tmp/stdin.craftbukkit pour le package CraftBukkit). Voici comment Arrêtez la commande est émise. Vous pouvez envoyer vos propres commandes, par exemple echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft. Vous pouvez vérifier que la commande a bien été reçue en consultant le journal du serveur dans le Centre de paquets.\nLe serveur s&#39;exécute sur le port TCP par défaut pour Minecraft (25565). Vous devrez donc transférer ce port sur votre routeur si vous souhaitez qu&#39;il soit accessible au public.\n\nScripts de paquets\nPour plus d’informations, voici les scripts de package afin que vous puissiez voir ce qu’il va faire. Vous pouvez obtenir plus d&#39;informations sur le fonctionnement des packages en lisant le wiki de Synology Package.\ninstaller.sh\n\r\n\r\n\r\n\r\n#! / bin / sh\r\n\r\n# -------- Script d&#39;installation MINECRAFT / CRAFTBUKKIT\r\n# -------- paquet maintenu à pcloadletter.co.uk\r\n\r\nsi [ \"$SYNOPKG_PKGNAME\" == \"Minecraft\" ]; puis\r\n  DOWNLOAD_PATH = &quot;http://s3.amazonaws.com/MinecraftDownload/launcher&quot;\r\n  DOWNLOAD_FILE = &quot;minecraft_server.jar&quot;\r\n  UPGRADE_FILES = &quot;monde server.properties * .txt&quot;\r\nFi\r\nsi [ \"$SYNOPKG_PKGNAME\" == \"Craftbukkit\" ]; puis\r\n  DOWNLOAD_PATH = &quot;http://cbukk.it&quot;\r\n  DOWNLOAD_FILE = &quot;craftbukkit-beta.jar&quot;\r\n  UPGRADE_FILES = &quot;server.properties * .txt * .yml world world_nether world_the_end plugins bukkit_update&quot;\r\nFi\r\n\r\nDOWNLOAD_URL = &quot;$ DOWNLOAD_PATH / $ DOWNLOAD_FILE&quot;\r\nDAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#39;print tolower ($ _)&#39; `&quot;\r\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\r\nDAEMON_PASS = &quot;` openssl rand 12 -base64 2&gt; / dev / null` &quot;\r\nMIGRATION_FOLDER = &quot;$ DAEMON_USER _data_mig&quot;\r\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\r\nINSTALL_FILES = &quot;$ DOWNLOAD_URL&quot;\r\nsource / etc / profile\r\nTEMP_FOLDER = &quot;` find / -maxdepth 2 -name &#39;@tmp&#39; | head -n 1` &quot;\r\nPRIMARY_VOLUME = &quot;/` echo $ TEMP_FOLDER | cut -f2 -d &#39;/&#39; `&quot;\r\nWORLD_BACKUP = &quot;$ PRIMARY_VOLUME / public / $ DAEMON_USER world.`date + &quot;% d-% b  &quot;` .bak &quot;\r\n\r\npreinst ()\r\n\r\n  si [ -z $JAVA_HOME ]; puis\r\n    echo &quot;Java n&#39;est pas installé ou n&#39;est pas configuré correctement. JAVA_HOME n&#39;est pas défini.&quot;\r\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\r\n    sortie 1\r\n  Fi\r\n  \r\n  si [ ! -f $JAVA_HOME/bin/java ]; puis\r\n    echo &quot;Java n&#39;est pas installé ou n&#39;est pas configuré correctement. Le binaire Java n&#39;a pas pu être localisé.&quot;\r\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\r\n    sortie 1\r\n  Fi\r\n  \r\n  # est le service utilisateur à la maison activé?\r\n  UH_SERVICE = peut-être\r\n  synouser --add userhometest Testing123 &quot;Utilisateur Test utilisateur&quot; 0 &quot;&quot; &quot;&quot;\r\n  UHT_HOMEDIR = `cat / etc / passwd \r\n\r\n\r\npostinst ()\r\n cut -f6 -d &#39;:&#39; `&quot;\r\n  su - $ DAEMON_USER -s / bin / sh -c &quot;echo export HOME =  &#39;$ DAEMON_HOME &#39; &gt;&gt; .profile&quot;\r\n  \r\n  #changer le propriétaire de l&#39;arborescence de dossiers\r\n  chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\r\n  \r\n  sortie 0\r\n\r\n\r\n\r\npreuninst ()\r\n\r\n  # assurez-vous que le serveur est arrêté\r\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\r\n  dormir 10\r\n  \r\n  #si un monde existe, sauvegardez-le dans le dossier public, juste au cas où ...\r\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\r\n    si [ ! -d $WORLD_BACKUP ]; puis\r\n      mkdir -p $ WORLD_BACKUP\r\n    Fi\r\n    pour ITEM dans $ UPGRADE_FILES; faire\r\n      mv $ SYNOPKG_PKGDEST / $ ITEM $ WORLD_BACKUP\r\n    terminé\r\n  Fi\r\n  \r\n  sortie 0\r\n\r\n\r\n\r\npostuninst ()\r\n\r\n  #remove démon utilisateur\r\n  synouser --del $ DAEMON_USER\r\n  \r\n  Répertoire de base de l&#39;utilisateur #remove daemon (nécessaire depuis DSM 4.1)\r\n  [ -e /var/services/homes/$DAEMON_USER ] &amp;&amp; rm -r / var / services / homes / $ DAEMON_USER\r\n  \r\n  sortie 0\r\n\r\n\r\n\r\npreupgrade ()\r\n\r\n  # assurez-vous que le serveur est arrêté\r\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\r\n  dormir 10\r\n  \r\n  #si un monde existe, sauvegardez-le\r\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\r\n    mkdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\r\n    pour ITEM dans $ UPGRADE_FILES; faire\r\n      si [ -e $SYNOPKG_PKGDEST/$ITEM ]; puis\r\n        mv $ SYNOPKG_PKGDEST / $ ITEM $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\r\n      Fi\r\n    terminé\r\n  Fi\r\n  \r\n  sortie 0\r\n\r\n\r\n\r\npostupgrade ()\r\n\r\n  # utiliser les fichiers de données migrés de la version précédente\r\n  si [ -d $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/world ]; puis\r\n    pour ITEM dans $ UPGRADE_FILES; faire\r\n      si [ -e $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/$ITEM ]; puis\r\n        mv $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER / $ ITEM $ SYNOPKG_PKGDEST\r\n      Fi\r\n    terminé\r\n    rmdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\r\n    \r\n    L&#39;utilisateur #daemon a été supprimé et recréé. Nous devons donc réinitialiser la propriété (nouvel UID).\r\n    chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\r\n  Fi\r\n  \r\n  sortie 0\r\n\r\n\n\nstart-stop-status.sh\n\r\n\r\n\r\n\r\n#! / bin / sh\r\n\r\n# -------- MINECRAFT / CRAFTBUKKIT script start-stop-status\r\n# -------- paquet maintenu à pcloadletter.co.uk\r\n\r\nDAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#39;print tolower ($ _)&#39; `&quot;\r\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\r\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\r\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`\r\n\r\ndaemon_status ()\r\n\r\n    ps \r\n\r\ncas 1 $ en\r\n  début)\r\n    DAEMON_HOME = &quot;` cat / etc / passwd | grep &quot;$ DAEMON_ID&quot; | cut -f6 -d &#39;:&#39; `&quot;\r\n    \r\n    # Définissez le fuseau horaire actuel pour Java afin que les horodatages des journaux soient précis\r\n    #nous devons utiliser les noms de fuseaux horaires modernes pour que Java puisse déterminer l&#39;heure d&#39;été\r\n    SYNO_TZ = `cat /etc/synoinfo.conf | grep fuseau horaire | cut -f2 -d &#39;&quot;&#39;`\r\n    SYNO_TZ = `grep&quot; ^ $ SYNO_TZ &quot;/ usr / share / zoneinfo / Timezone / tzname | sed -e &quot;s /^.*= //&quot; `\r\n    grep &quot;^ export TZ&quot; $ DAEMON_HOME /. profile&gt; / dev / null \r\n     &amp;&amp; sed -i &quot;s% ^ export TZ =. * $% export TZ = &#39;$ SYNO_TZ&#39;%&quot; $ DAEMON_HOME /. profile \r\n     || echo export TZ =  &#39;$ SYNO_TZ &#39; &gt;&gt; $ DAEMON_HOME /. profile\r\n    \r\n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT début $ DAEMON_USER $ SYNOPKG_PKGDEST &amp;&quot;\r\n    sortie 0\r\n  ;;\r\n  \r\n  Arrêtez)\r\n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ DAEMON_USER $ SYNOPKG_PKGDEST&quot;\r\n    sortie 0\r\n  ;;\r\n  \r\n  statut)\r\n    if daemon_status; puis\r\n      sortie 0\r\n    autre\r\n      sortie 1\r\n    Fi\r\n  ;;\r\n  \r\n  bûche)\r\n    echo &quot;$ SYNOPKG_PKGDEST /server.log&quot;\r\n    sortie 0\r\n  ;;\r\nesac\r\n\n\nlauncher.sh\n\r\n\r\n\r\n\r\n#! / bin / sh\r\n\r\n# -------- Script de lancement du serveur MINECRAFT / CRAFTBUKKIT\r\n# -------- paquet maintenu à pcloadletter.co.uk\r\n \r\n# -------- Permet un arrêt en douceur du serveur sans fichiers binaires spécifiques à la CPU\r\n# -------- Vous pouvez envoyer des commandes au serveur en cours d&#39;exécution de la manière suivante:\r\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft\r\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.craftbukkit\r\n\r\nDAEMON_USER = 2 $\r\nSYNOPKG_PKGDEST = 3 $\r\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`\r\nJAR_FILE = $ SYNOPKG_PKGDEST / $ 2.jar\r\n\r\ncas 1 $ en\r\n  début)\r\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\r\n      rm /tmp/stdin.$DAEMON_USER\r\n    Fi\r\n    touchez /tmp/stdin.$DAEMON_USER\r\n    cd $ SYNOPKG_PKGDEST\r\n    si [ ! -f syno-marker.txt ]; puis\r\n      si [ -f server.properties ]; puis\r\n        sed -i &quot;s / Un serveur Minecraft / Un serveur Synology Minecraft /&quot; server.properties\r\n  \r\n        Le processeur #ARM est très en retard, réduisez donc la distance de dessin de 10 à 6 morceaux\r\n        cat / proc / cpuinfo | grep &quot;architecture du processeur: 5TE&quot;&gt; / dev / null \r\n         &amp;&amp; sed -i &quot;s / ^ view-distance = 10 / view-distance = 6 /&quot; server.properties\r\n  \r\n        #enregistre que ces mods ont été faits\r\n        echo config mis à jour&gt; syno-marker.txt\r\n      Fi\r\n    Fi\r\n    JAVA_OPTS = &#39;- XX: + UseConcMarkSweepGC -XX: + CMSIncrementalPacing -XX: + AggressiveOpts&#39;\r\n    RAM = $ ((`free | grep Mem: | sed -e&quot; s / ^ * Mem: *  ([0-9]* ). * $ /  1 / &quot;` / 1024))\r\n    si [ $RAM -le 128 ]; puis\r\n      JAVA_MAX_HEAP = 80M\r\n    elif [ $RAM -le 256 ]; puis\r\n      JAVA_MAX_HEAP = 192M\r\n    elif [ $RAM -le 512 ]; puis\r\n      JAVA_MAX_HEAP = 448M\r\n    elif [ $RAM -le 1024 ]; puis\r\n      JAVA_MAX_HEAP = 896M\r\n    elif [ $RAM -le 2048 ]; puis\r\n      JAVA_MAX_HEAP = 1792M\r\n    elif [ $RAM -gt 2048 ]; puis\r\n      JAVA_MAX_HEAP = 2048M\r\n    Fi\r\n    JAVA_START_HEAP = $ JAVA_MAX_HEAP\r\n    tail -n 0 -f /tmp/stdin.$DAEMON_USER | java -Xmx $ JAVA_START_HEAP -Xms $ JAVA_MAX_HEAP $ JAVA_OPTS -jar $ JAR_FILE nogui\r\n  ;;\r\n\r\n  Arrêtez)\r\n    echo say arrêter .. &gt;&gt; /tmp/stdin.$DAEMON_USER\r\n    dormir 5\r\n    echo stop &gt;&gt; /tmp/stdin.$DAEMON_USER\r\n    dormir 10\r\n    tuer -9 `ps | grep &quot;^ *[0-9]* $ DAEMON_USER_SHORT. * Tail -n 0 -f /tmp/stdin.$DAEMON_USER &quot;| sed -e&quot; s / ^ *  ([0-9]* ). * $ /  1 / &quot;`\r\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\r\n      rm /tmp/stdin.$DAEMON_USER\r\n    Fi\r\n  ;;\r\nesac\r\n\n\nChangelog:\n\n0015 mis à jour vers Minecraft 1.5.2, CraftBukkit beta 1.5.2-R0.1\n0014 mis à jour vers Minecraft 1.4.7, CraftBukkit beta 1.4.7-R0.1 et correctifs pour DSM 4.2\n013 mis à jour vers Minecraft 1.4.6 et CraftBukkit beta 1.4.6-R0.3\n012 mis à jour vers Minecraft 1.4.5 et CraftBukkit 1.3.2-R1.0\n011 mis à jour à Minecraft 1.4.2\n010 mis à jour vers Minecraft 1.3.2 et CraftBukkit 1.3.1-R2.0\n009 scripts de package entièrement réécrits pour unifier les packages Minecraft et CraftBukkit\n008 mis à jour vers Minecraft 1.3.1, unifie la plupart des scripts en un script d&#39;installation unique et intégrant des améliorations mineures de mes autres packages\n007 mis à jour vers Minecraft 1.2.3\n006 Réduit le tas Java max à 80 Mo sur des systèmes de 128 Mo, le fuseau horaire fixe prend en charge chaque démarrage de serveur\n005 Correction du comportement de la taille maximale du tas Java sur les systèmes de plus de 2 Go de RAM.\n004 problème SSL wget fixe empêchant le téléchargement du fichier jar sur certains systèmes\n003 mis à jour vers Minecraft 1.1\nLes fichiers de configuration du serveur 002 sont également migrés lors des mises à niveau de version et sauvegardés lors de la désinstallation. Les modifications de mon script pour server.properties sont fabriqués qu&#39;une seule fois, plutôt que chaque démarrage\n001 première version publique\n\n\n\n\nComme ça:\nComme Chargement&#8230;\n\nen relation\n\n\nClick to rate this post!\r\n                                   \r\n                               [Total: 0  Average: 0]","paragraphs":["METTRE À JOUR &#8211; Les instructions et les remarques sur cette page s&#39;appliquent aux packages Minecraft et CraftBukkit hébergés sur mon dépôt. Fonctionne maintenant sur les modèles QorIQ CPU Synology!\nMinecraft est un jeu intriguant. Je ne l&#39;ai acheté que récemment, après qu&#39;un ami l&#39;ait recommandé. Il y a beaucoup à aimer: le style visuel rétro saisissant, la musique douce et sporadique, explorer le monde généré par les procédures, la façon logique de concevoir les objets, la collaboration multijoueur et le gameplay émergent. Notch, son créateur, mérite certainement la fortune sur laquelle il est assis. Je vous recommande vivement de regarder ce court documentaire à ce sujet.","Juste après avoir publié le package Java pour Synology, quelques personnes ont indiqué vouloir utiliser ce logiciel pour installer un serveur Minecraft. Maintenant que j&#39;ai le jeu, j&#39;ai décidé d&#39;essayer aussi. J&#39;avais supposé que les processeurs ARM ne seraient pas capables de l&#39;exécuter, et les premiers tests ont semblé le confirmer. J’ai décidé qu’il serait néanmoins intéressant de créer un paquet car les unités Intel CPU NAS seraient bien, surtout avec leur RAM supplémentaire. Cependant, avec un peu de performances, il fonctionne de manière acceptable (pas de décalage en cas d’extraction de blocs) sur mon DS111 alimenté par ARM, qui ne dispose que de 256 Mo. La charge du processeur est de 100% pendant un certain temps au début, mais peu de temps après sa lecture, elle se stabilise à environ 60%. J&#39;ai brièvement testé avec deux joueurs connectés et après un peu de retard au début (une seconde de retard pour exploiter un bloc), il semble s&#39;être calmé.","Minecraft indiquant la distance de tirage et la charge du serveur s&#39;exécutant sur un Synology DS111","Installation","Ce paquet n&#39;est pas spécifique à la CPU. Si vous avez Java, cela fonctionnera. Pour le moment, cela signifie les processeurs ARM, Intel et QorIQ PowerPC, mais pas les anciens PowerPC.\nDans le Panneau de configuration de l&#39;utilisateur dans DSM, activez le service User Homes.\nInstallez le package directement à partir du Centre de paquets dans DSM. Dans Paramètres -&gt; Sources de paquets ajouter mon URL de référentiel de paquets qui est http://packages.pcloadletter.co.uk. Vous devrez d&#39;abord installer l&#39;un de mes packages Java SE pour Embedded (Java 6 ou 7).","Remarques","Le paquet récupère le fichier jar du serveur minecraft à partir de Mojang lors de son installation. Je me plie à leur souhait que personne ne le redistribue.\nLe script serveur démon vérifie la quantité de RAM système et adapte la taille du segment de mémoire Java de manière appropriée. Il applique également quelques modifications de performances à Java pour tenter de réduire la latence de la récupération de place.\nLa première fois que vous exécutez le serveur, un nouveau monde sera créé, ce qui peut prendre quelques minutes. Vous ne pouvez pas interrompre cela, mais vous pouvez vérifier la progression en consultant à plusieurs reprises l&#39;onglet Log.\nÉtant donné que le temps que cela prend pour jouer à Minecraft peut être considérable, lorsque vous désinstallez le paquet, la sauvegarde sera sauvegardée. monde dossier et paramètres à /volume1/public/minecraftworld.todaysdate.bak pour empêcher la suppression accidentelle.\nLe package prend en charge les mises à niveau vers les versions futures tout en préservant la monde dossier et paramètres du serveur.\nSi vous souhaitez transplanter un dossier mondial existant sur le serveur, copiez-le dans / volume1 / @ appstore / Minecraft. Vous aurez aussi besoin de courir chown -R minecraft / volume1 / @ appstore / Minecraft accorder la propriété des fichiers à l&#39;utilisateur démon.\nLa première fois que vous exécutez le package, le fichier de configuration du serveur /volume1/@appstore/Minecraft/server.properties est généré. Lors de son prochain lancement, mon script réduit la distance de dessin par défaut pour les processeurs ARM de 10 morceaux à 7 morceaux. Cela était approprié pour mon DS111 afin d&#39;éviter la latence lors de l&#39;extraction de blocs, mais vous souhaiterez peut-être le réduire davantage sur les unités NAS de la série J qui ont moins de RAM et les processeurs plus lents. Autres fichiers du serveur (white-list.txt etc.) se trouvent dans le même dossier. Pour CraftBukkit, les fichiers sont dans le dossier. /volume1/@appstore/Craftbukkit/server.properties (notez la capitalisation &#8211; le projet CraftBukkit a semblé changer cela alors que j&#39;avais déjà créé le paquet avec un minuscule «b»).\nLe moyen le plus simple d’éditer ces fichiers de configuration si vous n’êtes pas vraiment sûr de Linux est d’installer le package Merty de Config File Editor, qui nécessite également l’installation du package officiel Synology Perl (à partir de DSM 4.2). Chargez Config File Editor, puis dans le menu déroulant, éditez sa propre configuration (la dernière de la liste) et ajoutez les lignes suivantes:/volume1/@appstore/Minecraft/server.properties,Minecraft-properties/volume1/@appstore/Minecraft/white-list.txt,Minecraft-whitelist/volume1/@appstore/Minecraft/ops.txt,Minecraft-opsAssurez-vous d’ajouter une ligne vierge supplémentaire en dessous, sauvegardez, puis relancez CFE et vous aurez des entrées pour Minecraft dans la liste déroulante. Vous devez redémarrer le package Minecraft pour que les modifications prennent effet.\nIl était un peu délicat d’arrêter le serveur en douceur sans tuer le processus Java. Nous avons besoin qu&#39;il s&#39;éteigne correctement pour enregistrer les morceaux actifs sur le disque en premier. La plupart des guides sur le Net utilisent le écran binaire qui n’est pas inclus dans Synology DSM, et je ne voulais pas avoir à créer de version du paquet pour chaque architecture de CPU. J&#39;ai trouvé que je pourrais utiliser queue envoyer la dernière ligne du fichier /tmp/stdin.minecraft au serveur (/tmp/stdin.craftbukkit pour le package CraftBukkit). Voici comment Arrêtez la commande est émise. Vous pouvez envoyer vos propres commandes, par exemple echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft. Vous pouvez vérifier que la commande a bien été reçue en consultant le journal du serveur dans le Centre de paquets.\nLe serveur s&#39;exécute sur le port TCP par défaut pour Minecraft (25565). Vous devrez donc transférer ce port sur votre routeur si vous souhaitez qu&#39;il soit accessible au public.","Scripts de paquets\nPour plus d’informations, voici les scripts de package afin que vous puissiez voir ce qu’il va faire. Vous pouvez obtenir plus d&#39;informations sur le fonctionnement des packages en lisant le wiki de Synology Package.\ninstaller.sh","#! / bin / sh","# -------- Script d&#39;installation MINECRAFT / CRAFTBUKKIT\n# -------- paquet maintenu à pcloadletter.co.uk","si [ \"$SYNOPKG_PKGNAME\" == \"Minecraft\" ]; puis\n  DOWNLOAD_PATH = &quot;http://s3.amazonaws.com/MinecraftDownload/launcher&quot;\n  DOWNLOAD_FILE = &quot;minecraft_server.jar&quot;\n  UPGRADE_FILES = &quot;monde server.properties * .txt&quot;\nFi\nsi [ \"$SYNOPKG_PKGNAME\" == \"Craftbukkit\" ]; puis\n  DOWNLOAD_PATH = &quot;http://cbukk.it&quot;\n  DOWNLOAD_FILE = &quot;craftbukkit-beta.jar&quot;\n  UPGRADE_FILES = &quot;server.properties * .txt * .yml world world_nether world_the_end plugins bukkit_update&quot;\nFi","DOWNLOAD_URL = &quot;$ DOWNLOAD_PATH / $ DOWNLOAD_FILE&quot;\nDAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#39;print tolower ($ _)&#39; `&quot;\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\nDAEMON_PASS = &quot;` openssl rand 12 -base64 2&gt; / dev / null` &quot;\nMIGRATION_FOLDER = &quot;$ DAEMON_USER _data_mig&quot;\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\nINSTALL_FILES = &quot;$ DOWNLOAD_URL&quot;\nsource / etc / profile\nTEMP_FOLDER = &quot;` find / -maxdepth 2 -name &#39;@tmp&#39; | head -n 1` &quot;\nPRIMARY_VOLUME = &quot;/` echo $ TEMP_FOLDER | cut -f2 -d &#39;/&#39; `&quot;\nWORLD_BACKUP = &quot;$ PRIMARY_VOLUME / public / $ DAEMON_USER world.`date + &quot;% d-% b  &quot;` .bak &quot;","preinst ()","  si [ -z $JAVA_HOME ]; puis\n    echo &quot;Java n&#39;est pas installé ou n&#39;est pas configuré correctement. JAVA_HOME n&#39;est pas défini.&quot;\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\n    sortie 1\n  Fi\n  \n  si [ ! -f $JAVA_HOME/bin/java ]; puis\n    echo &quot;Java n&#39;est pas installé ou n&#39;est pas configuré correctement. Le binaire Java n&#39;a pas pu être localisé.&quot;\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\n    sortie 1\n  Fi\n  \n  # est le service utilisateur à la maison activé?\n  UH_SERVICE = peut-être\n  synouser --add userhometest Testing123 &quot;Utilisateur Test utilisateur&quot; 0 &quot;&quot; &quot;&quot;\n  UHT_HOMEDIR = `cat / etc / passwd","postinst ()\n cut -f6 -d &#39;:&#39; `&quot;\n  su - $ DAEMON_USER -s / bin / sh -c &quot;echo export HOME =  &#39;$ DAEMON_HOME &#39; &gt;&gt; .profile&quot;\n  \n  #changer le propriétaire de l&#39;arborescence de dossiers\n  chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\n  \n  sortie 0","preuninst ()","  # assurez-vous que le serveur est arrêté\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\n  dormir 10\n  \n  #si un monde existe, sauvegardez-le dans le dossier public, juste au cas où ...\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\n    si [ ! -d $WORLD_BACKUP ]; puis\n      mkdir -p $ WORLD_BACKUP\n    Fi\n    pour ITEM dans $ UPGRADE_FILES; faire\n      mv $ SYNOPKG_PKGDEST / $ ITEM $ WORLD_BACKUP\n    terminé\n  Fi\n  \n  sortie 0","postuninst ()","  #remove démon utilisateur\n  synouser --del $ DAEMON_USER\n  \n  Répertoire de base de l&#39;utilisateur #remove daemon (nécessaire depuis DSM 4.1)\n  [ -e /var/services/homes/$DAEMON_USER ] &amp;&amp; rm -r / var / services / homes / $ DAEMON_USER\n  \n  sortie 0","preupgrade ()","  # assurez-vous que le serveur est arrêté\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\n  dormir 10\n  \n  #si un monde existe, sauvegardez-le\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\n    mkdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n    pour ITEM dans $ UPGRADE_FILES; faire\n      si [ -e $SYNOPKG_PKGDEST/$ITEM ]; puis\n        mv $ SYNOPKG_PKGDEST / $ ITEM $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n      Fi\n    terminé\n  Fi\n  \n  sortie 0","postupgrade ()","  # utiliser les fichiers de données migrés de la version précédente\n  si [ -d $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/world ]; puis\n    pour ITEM dans $ UPGRADE_FILES; faire\n      si [ -e $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/$ITEM ]; puis\n        mv $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER / $ ITEM $ SYNOPKG_PKGDEST\n      Fi\n    terminé\n    rmdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n    \n    L&#39;utilisateur #daemon a été supprimé et recréé. Nous devons donc réinitialiser la propriété (nouvel UID).\n    chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\n  Fi\n  \n  sortie 0","start-stop-status.sh","#! / bin / sh","# -------- MINECRAFT / CRAFTBUKKIT script start-stop-status\n# -------- paquet maintenu à pcloadletter.co.uk","DAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#39;print tolower ($ _)&#39; `&quot;\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`","daemon_status ()","    ps","cas 1 $ en\n  début)\n    DAEMON_HOME = &quot;` cat / etc / passwd | grep &quot;$ DAEMON_ID&quot; | cut -f6 -d &#39;:&#39; `&quot;\n    \n    # Définissez le fuseau horaire actuel pour Java afin que les horodatages des journaux soient précis\n    #nous devons utiliser les noms de fuseaux horaires modernes pour que Java puisse déterminer l&#39;heure d&#39;été\n    SYNO_TZ = `cat /etc/synoinfo.conf | grep fuseau horaire | cut -f2 -d &#39;&quot;&#39;`\n    SYNO_TZ = `grep&quot; ^ $ SYNO_TZ &quot;/ usr / share / zoneinfo / Timezone / tzname | sed -e &quot;s /^.*= //&quot; `\n    grep &quot;^ export TZ&quot; $ DAEMON_HOME /. profile&gt; / dev / null \n     &amp;&amp; sed -i &quot;s% ^ export TZ =. * $% export TZ = &#39;$ SYNO_TZ&#39;%&quot; $ DAEMON_HOME /. profile \n     || echo export TZ =  &#39;$ SYNO_TZ &#39; &gt;&gt; $ DAEMON_HOME /. profile\n    \n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT début $ DAEMON_USER $ SYNOPKG_PKGDEST &amp;&quot;\n    sortie 0\n  ;;\n  \n  Arrêtez)\n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ DAEMON_USER $ SYNOPKG_PKGDEST&quot;\n    sortie 0\n  ;;\n  \n  statut)\n    if daemon_status; puis\n      sortie 0\n    autre\n      sortie 1\n    Fi\n  ;;\n  \n  bûche)\n    echo &quot;$ SYNOPKG_PKGDEST /server.log&quot;\n    sortie 0\n  ;;\nesac","launcher.sh","#! / bin / sh","# -------- Script de lancement du serveur MINECRAFT / CRAFTBUKKIT\n# -------- paquet maintenu à pcloadletter.co.uk\n \n# -------- Permet un arrêt en douceur du serveur sans fichiers binaires spécifiques à la CPU\n# -------- Vous pouvez envoyer des commandes au serveur en cours d&#39;exécution de la manière suivante:\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.craftbukkit","DAEMON_USER = 2 $\nSYNOPKG_PKGDEST = 3 $\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`\nJAR_FILE = $ SYNOPKG_PKGDEST / $ 2.jar","cas 1 $ en\n  début)\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\n      rm /tmp/stdin.$DAEMON_USER\n    Fi\n    touchez /tmp/stdin.$DAEMON_USER\n    cd $ SYNOPKG_PKGDEST\n    si [ ! -f syno-marker.txt ]; puis\n      si [ -f server.properties ]; puis\n        sed -i &quot;s / Un serveur Minecraft / Un serveur Synology Minecraft /&quot; server.properties\n  \n        Le processeur #ARM est très en retard, réduisez donc la distance de dessin de 10 à 6 morceaux\n        cat / proc / cpuinfo | grep &quot;architecture du processeur: 5TE&quot;&gt; / dev / null \n         &amp;&amp; sed -i &quot;s / ^ view-distance = 10 / view-distance = 6 /&quot; server.properties\n  \n        #enregistre que ces mods ont été faits\n        echo config mis à jour&gt; syno-marker.txt\n      Fi\n    Fi\n    JAVA_OPTS = &#39;- XX: + UseConcMarkSweepGC -XX: + CMSIncrementalPacing -XX: + AggressiveOpts&#39;\n    RAM = $ ((`free | grep Mem: | sed -e&quot; s / ^ * Mem: *  ([0-9]* ). * $ /  1 / &quot;` / 1024))\n    si [ $RAM -le 128 ]; puis\n      JAVA_MAX_HEAP = 80M\n    elif [ $RAM -le 256 ]; puis\n      JAVA_MAX_HEAP = 192M\n    elif [ $RAM -le 512 ]; puis\n      JAVA_MAX_HEAP = 448M\n    elif [ $RAM -le 1024 ]; puis\n      JAVA_MAX_HEAP = 896M\n    elif [ $RAM -le 2048 ]; puis\n      JAVA_MAX_HEAP = 1792M\n    elif [ $RAM -gt 2048 ]; puis\n      JAVA_MAX_HEAP = 2048M\n    Fi\n    JAVA_START_HEAP = $ JAVA_MAX_HEAP\n    tail -n 0 -f /tmp/stdin.$DAEMON_USER | java -Xmx $ JAVA_START_HEAP -Xms $ JAVA_MAX_HEAP $ JAVA_OPTS -jar $ JAR_FILE nogui\n  ;;","  Arrêtez)\n    echo say arrêter .. &gt;&gt; /tmp/stdin.$DAEMON_USER\n    dormir 5\n    echo stop &gt;&gt; /tmp/stdin.$DAEMON_USER\n    dormir 10\n    tuer -9 `ps | grep &quot;^ *[0-9]* $ DAEMON_USER_SHORT. * Tail -n 0 -f /tmp/stdin.$DAEMON_USER &quot;| sed -e&quot; s / ^ *  ([0-9]* ). * $ /  1 / &quot;`\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\n      rm /tmp/stdin.$DAEMON_USER\n    Fi\n  ;;\nesac","Changelog:","0015 mis à jour vers Minecraft 1.5.2, CraftBukkit beta 1.5.2-R0.1\n0014 mis à jour vers Minecraft 1.4.7, CraftBukkit beta 1.4.7-R0.1 et correctifs pour DSM 4.2\n013 mis à jour vers Minecraft 1.4.6 et CraftBukkit beta 1.4.6-R0.3\n012 mis à jour vers Minecraft 1.4.5 et CraftBukkit 1.3.2-R1.0\n011 mis à jour à Minecraft 1.4.2\n010 mis à jour vers Minecraft 1.3.2 et CraftBukkit 1.3.1-R2.0\n009 scripts de package entièrement réécrits pour unifier les packages Minecraft et CraftBukkit\n008 mis à jour vers Minecraft 1.3.1, unifie la plupart des scripts en un script d&#39;installation unique et intégrant des améliorations mineures de mes autres packages\n007 mis à jour vers Minecraft 1.2.3\n006 Réduit le tas Java max à 80 Mo sur des systèmes de 128 Mo, le fuseau horaire fixe prend en charge chaque démarrage de serveur\n005 Correction du comportement de la taille maximale du tas Java sur les systèmes de plus de 2 Go de RAM.\n004 problème SSL wget fixe empêchant le téléchargement du fichier jar sur certains systèmes\n003 mis à jour vers Minecraft 1.1\nLes fichiers de configuration du serveur 002 sont également migrés lors des mises à niveau de version et sauvegardés lors de la désinstallation. Les modifications de mon script pour server.properties sont fabriqués qu&#39;une seule fois, plutôt que chaque démarrage\n001 première version publique","Comme ça:\nComme Chargement&#8230;","en relation","Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"],"content_blocks":[{"id":"text-1","type":"text","heading":"","plain_text":"METTRE À JOUR &#8211; Les instructions et les remarques sur cette page s&#39;appliquent aux packages Minecraft et CraftBukkit hébergés sur mon dépôt. Fonctionne maintenant sur les modèles QorIQ CPU Synology!\nMinecraft est un jeu intriguant. Je ne l&#39;ai acheté que récemment, après qu&#39;un ami l&#39;ait recommandé. Il y a beaucoup à aimer: le style visuel rétro saisissant, la musique douce et sporadique, explorer le monde généré par les procédures, la façon logique de concevoir les objets, la collaboration multijoueur et le gameplay émergent. Notch, son créateur, mérite certainement la fortune sur laquelle il est assis. Je vous recommande vivement de regarder ce court documentaire à ce sujet.","html":"<p>METTRE À JOUR &#8211; Les instructions et les remarques sur cette page s&#039;appliquent aux packages Minecraft et CraftBukkit hébergés sur mon dépôt. Fonctionne maintenant sur les modèles QorIQ CPU Synology!\nMinecraft est un jeu intriguant. Je ne l&#039;ai acheté que récemment, après qu&#039;un ami l&#039;ait recommandé. Il y a beaucoup à aimer: le style visuel rétro saisissant, la musique douce et sporadique, explorer le monde généré par les procédures, la façon logique de concevoir les objets, la collaboration multijoueur et le gameplay émergent. Notch, son créateur, mérite certainement la fortune sur laquelle il est assis. Je vous recommande vivement de regarder ce court documentaire à ce sujet.</p>"},{"id":"text-2","type":"text","heading":"","plain_text":"Juste après avoir publié le package Java pour Synology, quelques personnes ont indiqué vouloir utiliser ce logiciel pour installer un serveur Minecraft. Maintenant que j&#39;ai le jeu, j&#39;ai décidé d&#39;essayer aussi. J&#39;avais supposé que les processeurs ARM ne seraient pas capables de l&#39;exécuter, et les premiers tests ont semblé le confirmer. J’ai décidé qu’il serait néanmoins intéressant de créer un paquet car les unités Intel CPU NAS seraient bien, surtout avec leur RAM supplémentaire. Cependant, avec un peu de performances, il fonctionne de manière acceptable (pas de décalage en cas d’extraction de blocs) sur mon DS111 alimenté par ARM, qui ne dispose que de 256 Mo. La charge du processeur est de 100% pendant un certain temps au début, mais peu de temps après sa lecture, elle se stabilise à environ 60%. J&#39;ai brièvement testé avec deux joueurs connectés et après un peu de retard au début (une seconde de retard pour exploiter un bloc), il semble s&#39;être calmé.","html":"<p>Juste après avoir publié le package Java pour Synology, quelques personnes ont indiqué vouloir utiliser ce logiciel pour installer un serveur Minecraft. Maintenant que j&#039;ai le jeu, j&#039;ai décidé d&#039;essayer aussi. J&#039;avais supposé que les processeurs ARM ne seraient pas capables de l&#039;exécuter, et les premiers tests ont semblé le confirmer. J’ai décidé qu’il serait néanmoins intéressant de créer un paquet car les unités Intel CPU NAS seraient bien, surtout avec leur RAM supplémentaire. Cependant, avec un peu de performances, il fonctionne de manière acceptable (pas de décalage en cas d’extraction de blocs) sur mon DS111 alimenté par ARM, qui ne dispose que de 256 Mo. La charge du processeur est de 100% pendant un certain temps au début, mais peu de temps après sa lecture, elle se stabilise à environ 60%. J&#039;ai brièvement testé avec deux joueurs connectés et après un peu de retard au début (une seconde de retard pour exploiter un bloc), il semble s&#039;être calmé.</p>"},{"id":"text-3","type":"text","heading":"","plain_text":"Minecraft indiquant la distance de tirage et la charge du serveur s&#39;exécutant sur un Synology DS111","html":"<p>Minecraft indiquant la distance de tirage et la charge du serveur s&#039;exécutant sur un Synology DS111</p>"},{"id":"text-4","type":"text","heading":"","plain_text":"Installation","html":"<p>Installation</p>"},{"id":"text-5","type":"text","heading":"","plain_text":"Ce paquet n&#39;est pas spécifique à la CPU. Si vous avez Java, cela fonctionnera. Pour le moment, cela signifie les processeurs ARM, Intel et QorIQ PowerPC, mais pas les anciens PowerPC.\nDans le Panneau de configuration de l&#39;utilisateur dans DSM, activez le service User Homes.\nInstallez le package directement à partir du Centre de paquets dans DSM. Dans Paramètres -&gt; Sources de paquets ajouter mon URL de référentiel de paquets qui est http://packages.pcloadletter.co.uk. Vous devrez d&#39;abord installer l&#39;un de mes packages Java SE pour Embedded (Java 6 ou 7).","html":"<p>Ce paquet n&#039;est pas spécifique à la CPU. Si vous avez Java, cela fonctionnera. Pour le moment, cela signifie les processeurs ARM, Intel et QorIQ PowerPC, mais pas les anciens PowerPC.\nDans le Panneau de configuration de l&#039;utilisateur dans DSM, activez le service User Homes.\nInstallez le package directement à partir du Centre de paquets dans DSM. Dans Paramètres -&gt; Sources de paquets ajouter mon URL de référentiel de paquets qui est http://packages.pcloadletter.co.uk. Vous devrez d&#039;abord installer l&#039;un de mes packages Java SE pour Embedded (Java 6 ou 7).</p>"},{"id":"text-6","type":"text","heading":"","plain_text":"Remarques","html":"<p>Remarques</p>"},{"id":"text-7","type":"text","heading":"","plain_text":"Le paquet récupère le fichier jar du serveur minecraft à partir de Mojang lors de son installation. Je me plie à leur souhait que personne ne le redistribue.\nLe script serveur démon vérifie la quantité de RAM système et adapte la taille du segment de mémoire Java de manière appropriée. Il applique également quelques modifications de performances à Java pour tenter de réduire la latence de la récupération de place.\nLa première fois que vous exécutez le serveur, un nouveau monde sera créé, ce qui peut prendre quelques minutes. Vous ne pouvez pas interrompre cela, mais vous pouvez vérifier la progression en consultant à plusieurs reprises l&#39;onglet Log.\nÉtant donné que le temps que cela prend pour jouer à Minecraft peut être considérable, lorsque vous désinstallez le paquet, la sauvegarde sera sauvegardée. monde dossier et paramètres à /volume1/public/minecraftworld.todaysdate.bak pour empêcher la suppression accidentelle.\nLe package prend en charge les mises à niveau vers les versions futures tout en préservant la monde dossier et paramètres du serveur.\nSi vous souhaitez transplanter un dossier mondial existant sur le serveur, copiez-le dans / volume1 / @ appstore / Minecraft. Vous aurez aussi besoin de courir chown -R minecraft / volume1 / @ appstore / Minecraft accorder la propriété des fichiers à l&#39;utilisateur démon.\nLa première fois que vous exécutez le package, le fichier de configuration du serveur /volume1/@appstore/Minecraft/server.properties est généré. Lors de son prochain lancement, mon script réduit la distance de dessin par défaut pour les processeurs ARM de 10 morceaux à 7 morceaux. Cela était approprié pour mon DS111 afin d&#39;éviter la latence lors de l&#39;extraction de blocs, mais vous souhaiterez peut-être le réduire davantage sur les unités NAS de la série J qui ont moins de RAM et les processeurs plus lents. Autres fichiers du serveur (white-list.txt etc.) se trouvent dans le même dossier. Pour CraftBukkit, les fichiers sont dans le dossier. /volume1/@appstore/Craftbukkit/server.properties (notez la capitalisation &#8211; le projet CraftBukkit a semblé changer cela alors que j&#39;avais déjà créé le paquet avec un minuscule «b»).\nLe moyen le plus simple d’éditer ces fichiers de configuration si vous n’êtes pas vraiment sûr de Linux est d’installer le package Merty de Config File Editor, qui nécessite également l’installation du package officiel Synology Perl (à partir de DSM 4.2). Chargez Config File Editor, puis dans le menu déroulant, éditez sa propre configuration (la dernière de la liste) et ajoutez les lignes suivantes:/volume1/@appstore/Minecraft/server.properties,Minecraft-properties/volume1/@appstore/Minecraft/white-list.txt,Minecraft-whitelist/volume1/@appstore/Minecraft/ops.txt,Minecraft-opsAssurez-vous d’ajouter une ligne vierge supplémentaire en dessous, sauvegardez, puis relancez CFE et vous aurez des entrées pour Minecraft dans la liste déroulante. Vous devez redémarrer le package Minecraft pour que les modifications prennent effet.\nIl était un peu délicat d’arrêter le serveur en douceur sans tuer le processus Java. Nous avons besoin qu&#39;il s&#39;éteigne correctement pour enregistrer les morceaux actifs sur le disque en premier. La plupart des guides sur le Net utilisent le écran binaire qui n’est pas inclus dans Synology DSM, et je ne voulais pas avoir à créer de version du paquet pour chaque architecture de CPU. J&#39;ai trouvé que je pourrais utiliser queue envoyer la dernière ligne du fichier /tmp/stdin.minecraft au serveur (/tmp/stdin.craftbukkit pour le package CraftBukkit). Voici comment Arrêtez la commande est émise. Vous pouvez envoyer vos propres commandes, par exemple echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft. Vous pouvez vérifier que la commande a bien été reçue en consultant le journal du serveur dans le Centre de paquets.\nLe serveur s&#39;exécute sur le port TCP par défaut pour Minecraft (25565). Vous devrez donc transférer ce port sur votre routeur si vous souhaitez qu&#39;il soit accessible au public.","html":"<p>Le paquet récupère le fichier jar du serveur minecraft à partir de Mojang lors de son installation. Je me plie à leur souhait que personne ne le redistribue.\nLe script serveur démon vérifie la quantité de RAM système et adapte la taille du segment de mémoire Java de manière appropriée. Il applique également quelques modifications de performances à Java pour tenter de réduire la latence de la récupération de place.\nLa première fois que vous exécutez le serveur, un nouveau monde sera créé, ce qui peut prendre quelques minutes. Vous ne pouvez pas interrompre cela, mais vous pouvez vérifier la progression en consultant à plusieurs reprises l&#039;onglet Log.\nÉtant donné que le temps que cela prend pour jouer à Minecraft peut être considérable, lorsque vous désinstallez le paquet, la sauvegarde sera sauvegardée. monde dossier et paramètres à /volume1/public/minecraftworld.todaysdate.bak pour empêcher la suppression accidentelle.\nLe package prend en charge les mises à niveau vers les versions futures tout en préservant la monde dossier et paramètres du serveur.\nSi vous souhaitez transplanter un dossier mondial existant sur le serveur, copiez-le dans / volume1 / @ appstore / Minecraft. Vous aurez aussi besoin de courir chown -R minecraft / volume1 / @ appstore / Minecraft accorder la propriété des fichiers à l&#039;utilisateur démon.\nLa première fois que vous exécutez le package, le fichier de configuration du serveur /volume1/@appstore/Minecraft/server.properties est généré. Lors de son prochain lancement, mon script réduit la distance de dessin par défaut pour les processeurs ARM de 10 morceaux à 7 morceaux. Cela était approprié pour mon DS111 afin d&#039;éviter la latence lors de l&#039;extraction de blocs, mais vous souhaiterez peut-être le réduire davantage sur les unités NAS de la série J qui ont moins de RAM et les processeurs plus lents. Autres fichiers du serveur (white-list.txt etc.) se trouvent dans le même dossier. Pour CraftBukkit, les fichiers sont dans le dossier. /volume1/@appstore/Craftbukkit/server.properties (notez la capitalisation &#8211; le projet CraftBukkit a semblé changer cela alors que j&#039;avais déjà créé le paquet avec un minuscule «b»).\nLe moyen le plus simple d’éditer ces fichiers de configuration si vous n’êtes pas vraiment sûr de Linux est d’installer le package Merty de Config File Editor, qui nécessite également l’installation du package officiel Synology Perl (à partir de DSM 4.2). Chargez Config File Editor, puis dans le menu déroulant, éditez sa propre configuration (la dernière de la liste) et ajoutez les lignes suivantes:/volume1/@appstore/Minecraft/server.properties,Minecraft-properties/volume1/@appstore/Minecraft/white-list.txt,Minecraft-whitelist/volume1/@appstore/Minecraft/ops.txt,Minecraft-opsAssurez-vous d’ajouter une ligne vierge supplémentaire en dessous, sauvegardez, puis relancez CFE et vous aurez des entrées pour Minecraft dans la liste déroulante. Vous devez redémarrer le package Minecraft pour que les modifications prennent effet.\nIl était un peu délicat d’arrêter le serveur en douceur sans tuer le processus Java. Nous avons besoin qu&#039;il s&#039;éteigne correctement pour enregistrer les morceaux actifs sur le disque en premier. La plupart des guides sur le Net utilisent le écran binaire qui n’est pas inclus dans Synology DSM, et je ne voulais pas avoir à créer de version du paquet pour chaque architecture de CPU. J&#039;ai trouvé que je pourrais utiliser queue envoyer la dernière ligne du fichier /tmp/stdin.minecraft au serveur (/tmp/stdin.craftbukkit pour le package CraftBukkit). Voici comment Arrêtez la commande est émise. Vous pouvez envoyer vos propres commandes, par exemple echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft. Vous pouvez vérifier que la commande a bien été reçue en consultant le journal du serveur dans le Centre de paquets.\nLe serveur s&#039;exécute sur le port TCP par défaut pour Minecraft (25565). Vous devrez donc transférer ce port sur votre routeur si vous souhaitez qu&#039;il soit accessible au public.</p>"},{"id":"text-8","type":"text","heading":"","plain_text":"Scripts de paquets\nPour plus d’informations, voici les scripts de package afin que vous puissiez voir ce qu’il va faire. Vous pouvez obtenir plus d&#39;informations sur le fonctionnement des packages en lisant le wiki de Synology Package.\ninstaller.sh","html":"<p>Scripts de paquets\nPour plus d’informations, voici les scripts de package afin que vous puissiez voir ce qu’il va faire. Vous pouvez obtenir plus d&#039;informations sur le fonctionnement des packages en lisant le wiki de Synology Package.\ninstaller.sh</p>"},{"id":"text-9","type":"text","heading":"","plain_text":"#! / bin / sh","html":"<p>#! / bin / sh</p>"},{"id":"text-10","type":"text","heading":"","plain_text":"# -------- Script d&#39;installation MINECRAFT / CRAFTBUKKIT\n# -------- paquet maintenu à pcloadletter.co.uk","html":"<p># -------- Script d&#039;installation MINECRAFT / CRAFTBUKKIT\n# -------- paquet maintenu à pcloadletter.co.uk</p>"},{"id":"text-11","type":"text","heading":"","plain_text":"si [ \"$SYNOPKG_PKGNAME\" == \"Minecraft\" ]; puis\n  DOWNLOAD_PATH = &quot;http://s3.amazonaws.com/MinecraftDownload/launcher&quot;\n  DOWNLOAD_FILE = &quot;minecraft_server.jar&quot;\n  UPGRADE_FILES = &quot;monde server.properties * .txt&quot;\nFi\nsi [ \"$SYNOPKG_PKGNAME\" == \"Craftbukkit\" ]; puis\n  DOWNLOAD_PATH = &quot;http://cbukk.it&quot;\n  DOWNLOAD_FILE = &quot;craftbukkit-beta.jar&quot;\n  UPGRADE_FILES = &quot;server.properties * .txt * .yml world world_nether world_the_end plugins bukkit_update&quot;\nFi","html":"<p>si [ &quot;$SYNOPKG_PKGNAME&quot; == &quot;Minecraft&quot; ]; puis\n  DOWNLOAD_PATH = &quot;http://s3.amazonaws.com/MinecraftDownload/launcher&quot;\n  DOWNLOAD_FILE = &quot;minecraft_server.jar&quot;\n  UPGRADE_FILES = &quot;monde server.properties * .txt&quot;\nFi\nsi [ &quot;$SYNOPKG_PKGNAME&quot; == &quot;Craftbukkit&quot; ]; puis\n  DOWNLOAD_PATH = &quot;http://cbukk.it&quot;\n  DOWNLOAD_FILE = &quot;craftbukkit-beta.jar&quot;\n  UPGRADE_FILES = &quot;server.properties * .txt * .yml world world_nether world_the_end plugins bukkit_update&quot;\nFi</p>"},{"id":"text-12","type":"text","heading":"","plain_text":"DOWNLOAD_URL = &quot;$ DOWNLOAD_PATH / $ DOWNLOAD_FILE&quot;\nDAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#39;print tolower ($ _)&#39; `&quot;\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\nDAEMON_PASS = &quot;` openssl rand 12 -base64 2&gt; / dev / null` &quot;\nMIGRATION_FOLDER = &quot;$ DAEMON_USER _data_mig&quot;\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\nINSTALL_FILES = &quot;$ DOWNLOAD_URL&quot;\nsource / etc / profile\nTEMP_FOLDER = &quot;` find / -maxdepth 2 -name &#39;@tmp&#39; | head -n 1` &quot;\nPRIMARY_VOLUME = &quot;/` echo $ TEMP_FOLDER | cut -f2 -d &#39;/&#39; `&quot;\nWORLD_BACKUP = &quot;$ PRIMARY_VOLUME / public / $ DAEMON_USER world.`date + &quot;% d-% b  &quot;` .bak &quot;","html":"<p>DOWNLOAD_URL = &quot;$ DOWNLOAD_PATH / $ DOWNLOAD_FILE&quot;\nDAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#039;print tolower ($ _)&#039; `&quot;\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\nDAEMON_PASS = &quot;` openssl rand 12 -base64 2&gt; / dev / null` &quot;\nMIGRATION_FOLDER = &quot;$ DAEMON_USER _data_mig&quot;\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\nINSTALL_FILES = &quot;$ DOWNLOAD_URL&quot;\nsource / etc / profile\nTEMP_FOLDER = &quot;` find / -maxdepth 2 -name &#039;@tmp&#039; | head -n 1` &quot;\nPRIMARY_VOLUME = &quot;/` echo $ TEMP_FOLDER | cut -f2 -d &#039;/&#039; `&quot;\nWORLD_BACKUP = &quot;$ PRIMARY_VOLUME / public / $ DAEMON_USER world.`date + &quot;% d-% b  &quot;` .bak &quot;</p>"},{"id":"text-13","type":"text","heading":"","plain_text":"preinst ()","html":"<p>preinst ()</p>"},{"id":"text-14","type":"text","heading":"","plain_text":"  si [ -z $JAVA_HOME ]; puis\n    echo &quot;Java n&#39;est pas installé ou n&#39;est pas configuré correctement. JAVA_HOME n&#39;est pas défini.&quot;\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\n    sortie 1\n  Fi\n  \n  si [ ! -f $JAVA_HOME/bin/java ]; puis\n    echo &quot;Java n&#39;est pas installé ou n&#39;est pas configuré correctement. Le binaire Java n&#39;a pas pu être localisé.&quot;\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\n    sortie 1\n  Fi\n  \n  # est le service utilisateur à la maison activé?\n  UH_SERVICE = peut-être\n  synouser --add userhometest Testing123 &quot;Utilisateur Test utilisateur&quot; 0 &quot;&quot; &quot;&quot;\n  UHT_HOMEDIR = `cat / etc / passwd","html":"<p>  si [ -z $JAVA_HOME ]; puis\n    echo &quot;Java n&#039;est pas installé ou n&#039;est pas configuré correctement. JAVA_HOME n&#039;est pas défini.&quot;\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\n    sortie 1\n  Fi\n  \n  si [ ! -f $JAVA_HOME/bin/java ]; puis\n    echo &quot;Java n&#039;est pas installé ou n&#039;est pas configuré correctement. Le binaire Java n&#039;a pas pu être localisé.&quot;\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\n    sortie 1\n  Fi\n  \n  # est le service utilisateur à la maison activé?\n  UH_SERVICE = peut-être\n  synouser --add userhometest Testing123 &quot;Utilisateur Test utilisateur&quot; 0 &quot;&quot; &quot;&quot;\n  UHT_HOMEDIR = `cat / etc / passwd</p>"},{"id":"text-15","type":"text","heading":"","plain_text":"postinst ()\n cut -f6 -d &#39;:&#39; `&quot;\n  su - $ DAEMON_USER -s / bin / sh -c &quot;echo export HOME =  &#39;$ DAEMON_HOME &#39; &gt;&gt; .profile&quot;\n  \n  #changer le propriétaire de l&#39;arborescence de dossiers\n  chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\n  \n  sortie 0","html":"<p>postinst ()\n cut -f6 -d &#039;:&#039; `&quot;\n  su - $ DAEMON_USER -s / bin / sh -c &quot;echo export HOME =  &#039;$ DAEMON_HOME &#039; &gt;&gt; .profile&quot;\n  \n  #changer le propriétaire de l&#039;arborescence de dossiers\n  chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\n  \n  sortie 0</p>"},{"id":"text-16","type":"text","heading":"","plain_text":"preuninst ()","html":"<p>preuninst ()</p>"},{"id":"text-17","type":"text","heading":"","plain_text":"  # assurez-vous que le serveur est arrêté\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\n  dormir 10\n  \n  #si un monde existe, sauvegardez-le dans le dossier public, juste au cas où ...\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\n    si [ ! -d $WORLD_BACKUP ]; puis\n      mkdir -p $ WORLD_BACKUP\n    Fi\n    pour ITEM dans $ UPGRADE_FILES; faire\n      mv $ SYNOPKG_PKGDEST / $ ITEM $ WORLD_BACKUP\n    terminé\n  Fi\n  \n  sortie 0","html":"<p>  # assurez-vous que le serveur est arrêté\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\n  dormir 10\n  \n  #si un monde existe, sauvegardez-le dans le dossier public, juste au cas où ...\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\n    si [ ! -d $WORLD_BACKUP ]; puis\n      mkdir -p $ WORLD_BACKUP\n    Fi\n    pour ITEM dans $ UPGRADE_FILES; faire\n      mv $ SYNOPKG_PKGDEST / $ ITEM $ WORLD_BACKUP\n    terminé\n  Fi\n  \n  sortie 0</p>"},{"id":"text-18","type":"text","heading":"","plain_text":"postuninst ()","html":"<p>postuninst ()</p>"},{"id":"text-19","type":"text","heading":"","plain_text":"  #remove démon utilisateur\n  synouser --del $ DAEMON_USER\n  \n  Répertoire de base de l&#39;utilisateur #remove daemon (nécessaire depuis DSM 4.1)\n  [ -e /var/services/homes/$DAEMON_USER ] &amp;&amp; rm -r / var / services / homes / $ DAEMON_USER\n  \n  sortie 0","html":"<p>  #remove démon utilisateur\n  synouser --del $ DAEMON_USER\n  \n  Répertoire de base de l&#039;utilisateur #remove daemon (nécessaire depuis DSM 4.1)\n  [ -e /var/services/homes/$DAEMON_USER ] &amp;&amp; rm -r / var / services / homes / $ DAEMON_USER\n  \n  sortie 0</p>"},{"id":"text-20","type":"text","heading":"","plain_text":"preupgrade ()","html":"<p>preupgrade ()</p>"},{"id":"text-21","type":"text","heading":"","plain_text":"  # assurez-vous que le serveur est arrêté\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\n  dormir 10\n  \n  #si un monde existe, sauvegardez-le\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\n    mkdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n    pour ITEM dans $ UPGRADE_FILES; faire\n      si [ -e $SYNOPKG_PKGDEST/$ITEM ]; puis\n        mv $ SYNOPKG_PKGDEST / $ ITEM $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n      Fi\n    terminé\n  Fi\n  \n  sortie 0","html":"<p>  # assurez-vous que le serveur est arrêté\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\n  dormir 10\n  \n  #si un monde existe, sauvegardez-le\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\n    mkdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n    pour ITEM dans $ UPGRADE_FILES; faire\n      si [ -e $SYNOPKG_PKGDEST/$ITEM ]; puis\n        mv $ SYNOPKG_PKGDEST / $ ITEM $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n      Fi\n    terminé\n  Fi\n  \n  sortie 0</p>"},{"id":"text-22","type":"text","heading":"","plain_text":"postupgrade ()","html":"<p>postupgrade ()</p>"},{"id":"text-23","type":"text","heading":"","plain_text":"  # utiliser les fichiers de données migrés de la version précédente\n  si [ -d $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/world ]; puis\n    pour ITEM dans $ UPGRADE_FILES; faire\n      si [ -e $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/$ITEM ]; puis\n        mv $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER / $ ITEM $ SYNOPKG_PKGDEST\n      Fi\n    terminé\n    rmdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n    \n    L&#39;utilisateur #daemon a été supprimé et recréé. Nous devons donc réinitialiser la propriété (nouvel UID).\n    chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\n  Fi\n  \n  sortie 0","html":"<p>  # utiliser les fichiers de données migrés de la version précédente\n  si [ -d $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/world ]; puis\n    pour ITEM dans $ UPGRADE_FILES; faire\n      si [ -e $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/$ITEM ]; puis\n        mv $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER / $ ITEM $ SYNOPKG_PKGDEST\n      Fi\n    terminé\n    rmdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n    \n    L&#039;utilisateur #daemon a été supprimé et recréé. Nous devons donc réinitialiser la propriété (nouvel UID).\n    chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\n  Fi\n  \n  sortie 0</p>"},{"id":"text-24","type":"text","heading":"","plain_text":"start-stop-status.sh","html":"<p>start-stop-status.sh</p>"},{"id":"text-25","type":"text","heading":"","plain_text":"#! / bin / sh","html":"<p>#! / bin / sh</p>"},{"id":"text-26","type":"text","heading":"","plain_text":"# -------- MINECRAFT / CRAFTBUKKIT script start-stop-status\n# -------- paquet maintenu à pcloadletter.co.uk","html":"<p># -------- MINECRAFT / CRAFTBUKKIT script start-stop-status\n# -------- paquet maintenu à pcloadletter.co.uk</p>"},{"id":"text-27","type":"text","heading":"","plain_text":"DAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#39;print tolower ($ _)&#39; `&quot;\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`","html":"<p>DAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#039;print tolower ($ _)&#039; `&quot;\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`</p>"},{"id":"text-28","type":"text","heading":"","plain_text":"daemon_status ()","html":"<p>daemon_status ()</p>"},{"id":"text-29","type":"text","heading":"","plain_text":"    ps","html":"<p>    ps</p>"},{"id":"text-30","type":"text","heading":"","plain_text":"cas 1 $ en\n  début)\n    DAEMON_HOME = &quot;` cat / etc / passwd | grep &quot;$ DAEMON_ID&quot; | cut -f6 -d &#39;:&#39; `&quot;\n    \n    # Définissez le fuseau horaire actuel pour Java afin que les horodatages des journaux soient précis\n    #nous devons utiliser les noms de fuseaux horaires modernes pour que Java puisse déterminer l&#39;heure d&#39;été\n    SYNO_TZ = `cat /etc/synoinfo.conf | grep fuseau horaire | cut -f2 -d &#39;&quot;&#39;`\n    SYNO_TZ = `grep&quot; ^ $ SYNO_TZ &quot;/ usr / share / zoneinfo / Timezone / tzname | sed -e &quot;s /^.*= //&quot; `\n    grep &quot;^ export TZ&quot; $ DAEMON_HOME /. profile&gt; / dev / null \n     &amp;&amp; sed -i &quot;s% ^ export TZ =. * $% export TZ = &#39;$ SYNO_TZ&#39;%&quot; $ DAEMON_HOME /. profile \n     || echo export TZ =  &#39;$ SYNO_TZ &#39; &gt;&gt; $ DAEMON_HOME /. profile\n    \n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT début $ DAEMON_USER $ SYNOPKG_PKGDEST &amp;&quot;\n    sortie 0\n  ;;\n  \n  Arrêtez)\n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ DAEMON_USER $ SYNOPKG_PKGDEST&quot;\n    sortie 0\n  ;;\n  \n  statut)\n    if daemon_status; puis\n      sortie 0\n    autre\n      sortie 1\n    Fi\n  ;;\n  \n  bûche)\n    echo &quot;$ SYNOPKG_PKGDEST /server.log&quot;\n    sortie 0\n  ;;\nesac","html":"<p>cas 1 $ en\n  début)\n    DAEMON_HOME = &quot;` cat / etc / passwd | grep &quot;$ DAEMON_ID&quot; | cut -f6 -d &#039;:&#039; `&quot;\n    \n    # Définissez le fuseau horaire actuel pour Java afin que les horodatages des journaux soient précis\n    #nous devons utiliser les noms de fuseaux horaires modernes pour que Java puisse déterminer l&#039;heure d&#039;été\n    SYNO_TZ = `cat /etc/synoinfo.conf | grep fuseau horaire | cut -f2 -d &#039;&quot;&#039;`\n    SYNO_TZ = `grep&quot; ^ $ SYNO_TZ &quot;/ usr / share / zoneinfo / Timezone / tzname | sed -e &quot;s /^.*= //&quot; `\n    grep &quot;^ export TZ&quot; $ DAEMON_HOME /. profile&gt; / dev / null \n     &amp;&amp; sed -i &quot;s% ^ export TZ =. * $% export TZ = &#039;$ SYNO_TZ&#039;%&quot; $ DAEMON_HOME /. profile \n     || echo export TZ =  &#039;$ SYNO_TZ &#039; &gt;&gt; $ DAEMON_HOME /. profile\n    \n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT début $ DAEMON_USER $ SYNOPKG_PKGDEST &amp;&quot;\n    sortie 0\n  ;;\n  \n  Arrêtez)\n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ DAEMON_USER $ SYNOPKG_PKGDEST&quot;\n    sortie 0\n  ;;\n  \n  statut)\n    if daemon_status; puis\n      sortie 0\n    autre\n      sortie 1\n    Fi\n  ;;\n  \n  bûche)\n    echo &quot;$ SYNOPKG_PKGDEST /server.log&quot;\n    sortie 0\n  ;;\nesac</p>"},{"id":"text-31","type":"text","heading":"","plain_text":"launcher.sh","html":"<p>launcher.sh</p>"},{"id":"text-32","type":"text","heading":"","plain_text":"#! / bin / sh","html":"<p>#! / bin / sh</p>"},{"id":"text-33","type":"text","heading":"","plain_text":"# -------- Script de lancement du serveur MINECRAFT / CRAFTBUKKIT\n# -------- paquet maintenu à pcloadletter.co.uk\n \n# -------- Permet un arrêt en douceur du serveur sans fichiers binaires spécifiques à la CPU\n# -------- Vous pouvez envoyer des commandes au serveur en cours d&#39;exécution de la manière suivante:\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.craftbukkit","html":"<p># -------- Script de lancement du serveur MINECRAFT / CRAFTBUKKIT\n# -------- paquet maintenu à pcloadletter.co.uk\n \n# -------- Permet un arrêt en douceur du serveur sans fichiers binaires spécifiques à la CPU\n# -------- Vous pouvez envoyer des commandes au serveur en cours d&#039;exécution de la manière suivante:\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.craftbukkit</p>"},{"id":"text-34","type":"text","heading":"","plain_text":"DAEMON_USER = 2 $\nSYNOPKG_PKGDEST = 3 $\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`\nJAR_FILE = $ SYNOPKG_PKGDEST / $ 2.jar","html":"<p>DAEMON_USER = 2 $\nSYNOPKG_PKGDEST = 3 $\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`\nJAR_FILE = $ SYNOPKG_PKGDEST / $ 2.jar</p>"},{"id":"text-35","type":"text","heading":"","plain_text":"cas 1 $ en\n  début)\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\n      rm /tmp/stdin.$DAEMON_USER\n    Fi\n    touchez /tmp/stdin.$DAEMON_USER\n    cd $ SYNOPKG_PKGDEST\n    si [ ! -f syno-marker.txt ]; puis\n      si [ -f server.properties ]; puis\n        sed -i &quot;s / Un serveur Minecraft / Un serveur Synology Minecraft /&quot; server.properties\n  \n        Le processeur #ARM est très en retard, réduisez donc la distance de dessin de 10 à 6 morceaux\n        cat / proc / cpuinfo | grep &quot;architecture du processeur: 5TE&quot;&gt; / dev / null \n         &amp;&amp; sed -i &quot;s / ^ view-distance = 10 / view-distance = 6 /&quot; server.properties\n  \n        #enregistre que ces mods ont été faits\n        echo config mis à jour&gt; syno-marker.txt\n      Fi\n    Fi\n    JAVA_OPTS = &#39;- XX: + UseConcMarkSweepGC -XX: + CMSIncrementalPacing -XX: + AggressiveOpts&#39;\n    RAM = $ ((`free | grep Mem: | sed -e&quot; s / ^ * Mem: *  ([0-9]* ). * $ /  1 / &quot;` / 1024))\n    si [ $RAM -le 128 ]; puis\n      JAVA_MAX_HEAP = 80M\n    elif [ $RAM -le 256 ]; puis\n      JAVA_MAX_HEAP = 192M\n    elif [ $RAM -le 512 ]; puis\n      JAVA_MAX_HEAP = 448M\n    elif [ $RAM -le 1024 ]; puis\n      JAVA_MAX_HEAP = 896M\n    elif [ $RAM -le 2048 ]; puis\n      JAVA_MAX_HEAP = 1792M\n    elif [ $RAM -gt 2048 ]; puis\n      JAVA_MAX_HEAP = 2048M\n    Fi\n    JAVA_START_HEAP = $ JAVA_MAX_HEAP\n    tail -n 0 -f /tmp/stdin.$DAEMON_USER | java -Xmx $ JAVA_START_HEAP -Xms $ JAVA_MAX_HEAP $ JAVA_OPTS -jar $ JAR_FILE nogui\n  ;;","html":"<p>cas 1 $ en\n  début)\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\n      rm /tmp/stdin.$DAEMON_USER\n    Fi\n    touchez /tmp/stdin.$DAEMON_USER\n    cd $ SYNOPKG_PKGDEST\n    si [ ! -f syno-marker.txt ]; puis\n      si [ -f server.properties ]; puis\n        sed -i &quot;s / Un serveur Minecraft / Un serveur Synology Minecraft /&quot; server.properties\n  \n        Le processeur #ARM est très en retard, réduisez donc la distance de dessin de 10 à 6 morceaux\n        cat / proc / cpuinfo | grep &quot;architecture du processeur: 5TE&quot;&gt; / dev / null \n         &amp;&amp; sed -i &quot;s / ^ view-distance = 10 / view-distance = 6 /&quot; server.properties\n  \n        #enregistre que ces mods ont été faits\n        echo config mis à jour&gt; syno-marker.txt\n      Fi\n    Fi\n    JAVA_OPTS = &#039;- XX: + UseConcMarkSweepGC -XX: + CMSIncrementalPacing -XX: + AggressiveOpts&#039;\n    RAM = $ ((`free | grep Mem: | sed -e&quot; s / ^ * Mem: *  ([0-9]* ). * $ /  1 / &quot;` / 1024))\n    si [ $RAM -le 128 ]; puis\n      JAVA_MAX_HEAP = 80M\n    elif [ $RAM -le 256 ]; puis\n      JAVA_MAX_HEAP = 192M\n    elif [ $RAM -le 512 ]; puis\n      JAVA_MAX_HEAP = 448M\n    elif [ $RAM -le 1024 ]; puis\n      JAVA_MAX_HEAP = 896M\n    elif [ $RAM -le 2048 ]; puis\n      JAVA_MAX_HEAP = 1792M\n    elif [ $RAM -gt 2048 ]; puis\n      JAVA_MAX_HEAP = 2048M\n    Fi\n    JAVA_START_HEAP = $ JAVA_MAX_HEAP\n    tail -n 0 -f /tmp/stdin.$DAEMON_USER | java -Xmx $ JAVA_START_HEAP -Xms $ JAVA_MAX_HEAP $ JAVA_OPTS -jar $ JAR_FILE nogui\n  ;;</p>"},{"id":"text-36","type":"text","heading":"","plain_text":"  Arrêtez)\n    echo say arrêter .. &gt;&gt; /tmp/stdin.$DAEMON_USER\n    dormir 5\n    echo stop &gt;&gt; /tmp/stdin.$DAEMON_USER\n    dormir 10\n    tuer -9 `ps | grep &quot;^ *[0-9]* $ DAEMON_USER_SHORT. * Tail -n 0 -f /tmp/stdin.$DAEMON_USER &quot;| sed -e&quot; s / ^ *  ([0-9]* ). * $ /  1 / &quot;`\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\n      rm /tmp/stdin.$DAEMON_USER\n    Fi\n  ;;\nesac","html":"<p>  Arrêtez)\n    echo say arrêter .. &gt;&gt; /tmp/stdin.$DAEMON_USER\n    dormir 5\n    echo stop &gt;&gt; /tmp/stdin.$DAEMON_USER\n    dormir 10\n    tuer -9 `ps | grep &quot;^ *[0-9]* $ DAEMON_USER_SHORT. * Tail -n 0 -f /tmp/stdin.$DAEMON_USER &quot;| sed -e&quot; s / ^ *  ([0-9]* ). * $ /  1 / &quot;`\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\n      rm /tmp/stdin.$DAEMON_USER\n    Fi\n  ;;\nesac</p>"},{"id":"text-37","type":"text","heading":"","plain_text":"Changelog:","html":"<p>Changelog:</p>"},{"id":"text-38","type":"text","heading":"","plain_text":"0015 mis à jour vers Minecraft 1.5.2, CraftBukkit beta 1.5.2-R0.1\n0014 mis à jour vers Minecraft 1.4.7, CraftBukkit beta 1.4.7-R0.1 et correctifs pour DSM 4.2\n013 mis à jour vers Minecraft 1.4.6 et CraftBukkit beta 1.4.6-R0.3\n012 mis à jour vers Minecraft 1.4.5 et CraftBukkit 1.3.2-R1.0\n011 mis à jour à Minecraft 1.4.2\n010 mis à jour vers Minecraft 1.3.2 et CraftBukkit 1.3.1-R2.0\n009 scripts de package entièrement réécrits pour unifier les packages Minecraft et CraftBukkit\n008 mis à jour vers Minecraft 1.3.1, unifie la plupart des scripts en un script d&#39;installation unique et intégrant des améliorations mineures de mes autres packages\n007 mis à jour vers Minecraft 1.2.3\n006 Réduit le tas Java max à 80 Mo sur des systèmes de 128 Mo, le fuseau horaire fixe prend en charge chaque démarrage de serveur\n005 Correction du comportement de la taille maximale du tas Java sur les systèmes de plus de 2 Go de RAM.\n004 problème SSL wget fixe empêchant le téléchargement du fichier jar sur certains systèmes\n003 mis à jour vers Minecraft 1.1\nLes fichiers de configuration du serveur 002 sont également migrés lors des mises à niveau de version et sauvegardés lors de la désinstallation. Les modifications de mon script pour server.properties sont fabriqués qu&#39;une seule fois, plutôt que chaque démarrage\n001 première version publique","html":"<p>0015 mis à jour vers Minecraft 1.5.2, CraftBukkit beta 1.5.2-R0.1\n0014 mis à jour vers Minecraft 1.4.7, CraftBukkit beta 1.4.7-R0.1 et correctifs pour DSM 4.2\n013 mis à jour vers Minecraft 1.4.6 et CraftBukkit beta 1.4.6-R0.3\n012 mis à jour vers Minecraft 1.4.5 et CraftBukkit 1.3.2-R1.0\n011 mis à jour à Minecraft 1.4.2\n010 mis à jour vers Minecraft 1.3.2 et CraftBukkit 1.3.1-R2.0\n009 scripts de package entièrement réécrits pour unifier les packages Minecraft et CraftBukkit\n008 mis à jour vers Minecraft 1.3.1, unifie la plupart des scripts en un script d&#039;installation unique et intégrant des améliorations mineures de mes autres packages\n007 mis à jour vers Minecraft 1.2.3\n006 Réduit le tas Java max à 80 Mo sur des systèmes de 128 Mo, le fuseau horaire fixe prend en charge chaque démarrage de serveur\n005 Correction du comportement de la taille maximale du tas Java sur les systèmes de plus de 2 Go de RAM.\n004 problème SSL wget fixe empêchant le téléchargement du fichier jar sur certains systèmes\n003 mis à jour vers Minecraft 1.1\nLes fichiers de configuration du serveur 002 sont également migrés lors des mises à niveau de version et sauvegardés lors de la désinstallation. Les modifications de mon script pour server.properties sont fabriqués qu&#039;une seule fois, plutôt que chaque démarrage\n001 première version publique</p>"},{"id":"text-39","type":"text","heading":"","plain_text":"Comme ça:\nComme Chargement&#8230;","html":"<p>Comme ça:\nComme Chargement&#8230;</p>"},{"id":"text-40","type":"text","heading":"","plain_text":"en relation","html":"<p>en relation</p>"},{"id":"text-41","type":"text","heading":"","plain_text":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]","html":"<p>Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]</p>"}],"sections":[{"id":"text-1","heading":"Text","content":"METTRE À JOUR &#8211; Les instructions et les remarques sur cette page s&#39;appliquent aux packages Minecraft et CraftBukkit hébergés sur mon dépôt. Fonctionne maintenant sur les modèles QorIQ CPU Synology!\nMinecraft est un jeu intriguant. Je ne l&#39;ai acheté que récemment, après qu&#39;un ami l&#39;ait recommandé. Il y a beaucoup à aimer: le style visuel rétro saisissant, la musique douce et sporadique, explorer le monde généré par les procédures, la façon logique de concevoir les objets, la collaboration multijoueur et le gameplay émergent. Notch, son créateur, mérite certainement la fortune sur laquelle il est assis. Je vous recommande vivement de regarder ce court documentaire à ce sujet."},{"id":"text-2","heading":"Text","content":"Juste après avoir publié le package Java pour Synology, quelques personnes ont indiqué vouloir utiliser ce logiciel pour installer un serveur Minecraft. Maintenant que j&#39;ai le jeu, j&#39;ai décidé d&#39;essayer aussi. J&#39;avais supposé que les processeurs ARM ne seraient pas capables de l&#39;exécuter, et les premiers tests ont semblé le confirmer. J’ai décidé qu’il serait néanmoins intéressant de créer un paquet car les unités Intel CPU NAS seraient bien, surtout avec leur RAM supplémentaire. Cependant, avec un peu de performances, il fonctionne de manière acceptable (pas de décalage en cas d’extraction de blocs) sur mon DS111 alimenté par ARM, qui ne dispose que de 256 Mo. La charge du processeur est de 100% pendant un certain temps au début, mais peu de temps après sa lecture, elle se stabilise à environ 60%. J&#39;ai brièvement testé avec deux joueurs connectés et après un peu de retard au début (une seconde de retard pour exploiter un bloc), il semble s&#39;être calmé."},{"id":"text-3","heading":"Text","content":"Minecraft indiquant la distance de tirage et la charge du serveur s&#39;exécutant sur un Synology DS111"},{"id":"text-4","heading":"Text","content":"Installation"},{"id":"text-5","heading":"Text","content":"Ce paquet n&#39;est pas spécifique à la CPU. Si vous avez Java, cela fonctionnera. Pour le moment, cela signifie les processeurs ARM, Intel et QorIQ PowerPC, mais pas les anciens PowerPC.\nDans le Panneau de configuration de l&#39;utilisateur dans DSM, activez le service User Homes.\nInstallez le package directement à partir du Centre de paquets dans DSM. Dans Paramètres -&gt; Sources de paquets ajouter mon URL de référentiel de paquets qui est http://packages.pcloadletter.co.uk. Vous devrez d&#39;abord installer l&#39;un de mes packages Java SE pour Embedded (Java 6 ou 7)."},{"id":"text-6","heading":"Text","content":"Remarques"},{"id":"text-7","heading":"Text","content":"Le paquet récupère le fichier jar du serveur minecraft à partir de Mojang lors de son installation. Je me plie à leur souhait que personne ne le redistribue.\nLe script serveur démon vérifie la quantité de RAM système et adapte la taille du segment de mémoire Java de manière appropriée. Il applique également quelques modifications de performances à Java pour tenter de réduire la latence de la récupération de place.\nLa première fois que vous exécutez le serveur, un nouveau monde sera créé, ce qui peut prendre quelques minutes. Vous ne pouvez pas interrompre cela, mais vous pouvez vérifier la progression en consultant à plusieurs reprises l&#39;onglet Log.\nÉtant donné que le temps que cela prend pour jouer à Minecraft peut être considérable, lorsque vous désinstallez le paquet, la sauvegarde sera sauvegardée. monde dossier et paramètres à /volume1/public/minecraftworld.todaysdate.bak pour empêcher la suppression accidentelle.\nLe package prend en charge les mises à niveau vers les versions futures tout en préservant la monde dossier et paramètres du serveur.\nSi vous souhaitez transplanter un dossier mondial existant sur le serveur, copiez-le dans / volume1 / @ appstore / Minecraft. Vous aurez aussi besoin de courir chown -R minecraft / volume1 / @ appstore / Minecraft accorder la propriété des fichiers à l&#39;utilisateur démon.\nLa première fois que vous exécutez le package, le fichier de configuration du serveur /volume1/@appstore/Minecraft/server.properties est généré. Lors de son prochain lancement, mon script réduit la distance de dessin par défaut pour les processeurs ARM de 10 morceaux à 7 morceaux. Cela était approprié pour mon DS111 afin d&#39;éviter la latence lors de l&#39;extraction de blocs, mais vous souhaiterez peut-être le réduire davantage sur les unités NAS de la série J qui ont moins de RAM et les processeurs plus lents. Autres fichiers du serveur (white-list.txt etc.) se trouvent dans le même dossier. Pour CraftBukkit, les fichiers sont dans le dossier. /volume1/@appstore/Craftbukkit/server.properties (notez la capitalisation &#8211; le projet CraftBukkit a semblé changer cela alors que j&#39;avais déjà créé le paquet avec un minuscule «b»).\nLe moyen le plus simple d’éditer ces fichiers de configuration si vous n’êtes pas vraiment sûr de Linux est d’installer le package Merty de Config File Editor, qui nécessite également l’installation du package officiel Synology Perl (à partir de DSM 4.2). Chargez Config File Editor, puis dans le menu déroulant, éditez sa propre configuration (la dernière de la liste) et ajoutez les lignes suivantes:/volume1/@appstore/Minecraft/server.properties,Minecraft-properties/volume1/@appstore/Minecraft/white-list.txt,Minecraft-whitelist/volume1/@appstore/Minecraft/ops.txt,Minecraft-opsAssurez-vous d’ajouter une ligne vierge supplémentaire en dessous, sauvegardez, puis relancez CFE et vous aurez des entrées pour Minecraft dans la liste déroulante. Vous devez redémarrer le package Minecraft pour que les modifications prennent effet.\nIl était un peu délicat d’arrêter le serveur en douceur sans tuer le processus Java. Nous avons besoin qu&#39;il s&#39;éteigne correctement pour enregistrer les morceaux actifs sur le disque en premier. La plupart des guides sur le Net utilisent le écran binaire qui n’est pas inclus dans Synology DSM, et je ne voulais pas avoir à créer de version du paquet pour chaque architecture de CPU. J&#39;ai trouvé que je pourrais utiliser queue envoyer la dernière ligne du fichier /tmp/stdin.minecraft au serveur (/tmp/stdin.craftbukkit pour le package CraftBukkit). Voici comment Arrêtez la commande est émise. Vous pouvez envoyer vos propres commandes, par exemple echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft. Vous pouvez vérifier que la commande a bien été reçue en consultant le journal du serveur dans le Centre de paquets.\nLe serveur s&#39;exécute sur le port TCP par défaut pour Minecraft (25565). Vous devrez donc transférer ce port sur votre routeur si vous souhaitez qu&#39;il soit accessible au public."},{"id":"text-8","heading":"Text","content":"Scripts de paquets\nPour plus d’informations, voici les scripts de package afin que vous puissiez voir ce qu’il va faire. Vous pouvez obtenir plus d&#39;informations sur le fonctionnement des packages en lisant le wiki de Synology Package.\ninstaller.sh"},{"id":"text-9","heading":"Text","content":"#! / bin / sh"},{"id":"text-10","heading":"Text","content":"# -------- Script d&#39;installation MINECRAFT / CRAFTBUKKIT\n# -------- paquet maintenu à pcloadletter.co.uk"},{"id":"text-11","heading":"Text","content":"si [ \"$SYNOPKG_PKGNAME\" == \"Minecraft\" ]; puis\n  DOWNLOAD_PATH = &quot;http://s3.amazonaws.com/MinecraftDownload/launcher&quot;\n  DOWNLOAD_FILE = &quot;minecraft_server.jar&quot;\n  UPGRADE_FILES = &quot;monde server.properties * .txt&quot;\nFi\nsi [ \"$SYNOPKG_PKGNAME\" == \"Craftbukkit\" ]; puis\n  DOWNLOAD_PATH = &quot;http://cbukk.it&quot;\n  DOWNLOAD_FILE = &quot;craftbukkit-beta.jar&quot;\n  UPGRADE_FILES = &quot;server.properties * .txt * .yml world world_nether world_the_end plugins bukkit_update&quot;\nFi"},{"id":"text-12","heading":"Text","content":"DOWNLOAD_URL = &quot;$ DOWNLOAD_PATH / $ DOWNLOAD_FILE&quot;\nDAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#39;print tolower ($ _)&#39; `&quot;\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\nDAEMON_PASS = &quot;` openssl rand 12 -base64 2&gt; / dev / null` &quot;\nMIGRATION_FOLDER = &quot;$ DAEMON_USER _data_mig&quot;\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\nINSTALL_FILES = &quot;$ DOWNLOAD_URL&quot;\nsource / etc / profile\nTEMP_FOLDER = &quot;` find / -maxdepth 2 -name &#39;@tmp&#39; | head -n 1` &quot;\nPRIMARY_VOLUME = &quot;/` echo $ TEMP_FOLDER | cut -f2 -d &#39;/&#39; `&quot;\nWORLD_BACKUP = &quot;$ PRIMARY_VOLUME / public / $ DAEMON_USER world.`date + &quot;% d-% b  &quot;` .bak &quot;"},{"id":"text-13","heading":"Text","content":"preinst ()"},{"id":"text-14","heading":"Text","content":"  si [ -z $JAVA_HOME ]; puis\n    echo &quot;Java n&#39;est pas installé ou n&#39;est pas configuré correctement. JAVA_HOME n&#39;est pas défini.&quot;\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\n    sortie 1\n  Fi\n  \n  si [ ! -f $JAVA_HOME/bin/java ]; puis\n    echo &quot;Java n&#39;est pas installé ou n&#39;est pas configuré correctement. Le binaire Java n&#39;a pas pu être localisé.&quot;\n    echo &quot;Téléchargez et installez le package Java Synology à partir de http://wp.me/pVshC-z5&quot;\n    sortie 1\n  Fi\n  \n  # est le service utilisateur à la maison activé?\n  UH_SERVICE = peut-être\n  synouser --add userhometest Testing123 &quot;Utilisateur Test utilisateur&quot; 0 &quot;&quot; &quot;&quot;\n  UHT_HOMEDIR = `cat / etc / passwd"},{"id":"text-15","heading":"Text","content":"postinst ()\n cut -f6 -d &#39;:&#39; `&quot;\n  su - $ DAEMON_USER -s / bin / sh -c &quot;echo export HOME =  &#39;$ DAEMON_HOME &#39; &gt;&gt; .profile&quot;\n  \n  #changer le propriétaire de l&#39;arborescence de dossiers\n  chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\n  \n  sortie 0"},{"id":"text-16","heading":"Text","content":"preuninst ()"},{"id":"text-17","heading":"Text","content":"  # assurez-vous que le serveur est arrêté\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\n  dormir 10\n  \n  #si un monde existe, sauvegardez-le dans le dossier public, juste au cas où ...\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\n    si [ ! -d $WORLD_BACKUP ]; puis\n      mkdir -p $ WORLD_BACKUP\n    Fi\n    pour ITEM dans $ UPGRADE_FILES; faire\n      mv $ SYNOPKG_PKGDEST / $ ITEM $ WORLD_BACKUP\n    terminé\n  Fi\n  \n  sortie 0"},{"id":"text-18","heading":"Text","content":"postuninst ()"},{"id":"text-19","heading":"Text","content":"  #remove démon utilisateur\n  synouser --del $ DAEMON_USER\n  \n  Répertoire de base de l&#39;utilisateur #remove daemon (nécessaire depuis DSM 4.1)\n  [ -e /var/services/homes/$DAEMON_USER ] &amp;&amp; rm -r / var / services / homes / $ DAEMON_USER\n  \n  sortie 0"},{"id":"text-20","heading":"Text","content":"preupgrade ()"},{"id":"text-21","heading":"Text","content":"  # assurez-vous que le serveur est arrêté\n  su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ SYNOPKG_PKGNAME $ SYNOPKG_PKGDEST&quot;\n  dormir 10\n  \n  #si un monde existe, sauvegardez-le\n  si [ -d $SYNOPKG_PKGDEST/world ]; puis\n    mkdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n    pour ITEM dans $ UPGRADE_FILES; faire\n      si [ -e $SYNOPKG_PKGDEST/$ITEM ]; puis\n        mv $ SYNOPKG_PKGDEST / $ ITEM $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n      Fi\n    terminé\n  Fi\n  \n  sortie 0"},{"id":"text-22","heading":"Text","content":"postupgrade ()"},{"id":"text-23","heading":"Text","content":"  # utiliser les fichiers de données migrés de la version précédente\n  si [ -d $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/world ]; puis\n    pour ITEM dans $ UPGRADE_FILES; faire\n      si [ -e $SYNOPKG_PKGDEST/../$MIGRATION_FOLDER/$ITEM ]; puis\n        mv $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER / $ ITEM $ SYNOPKG_PKGDEST\n      Fi\n    terminé\n    rmdir $ SYNOPKG_PKGDEST /../$ MIGRATION_FOLDER\n    \n    L&#39;utilisateur #daemon a été supprimé et recréé. Nous devons donc réinitialiser la propriété (nouvel UID).\n    chown -R $ DAEMON_USER $ SYNOPKG_PKGDEST\n  Fi\n  \n  sortie 0"},{"id":"text-24","heading":"Text","content":"start-stop-status.sh"},{"id":"text-25","heading":"Text","content":"#! / bin / sh"},{"id":"text-26","heading":"Text","content":"# -------- MINECRAFT / CRAFTBUKKIT script start-stop-status\n# -------- paquet maintenu à pcloadletter.co.uk"},{"id":"text-27","heading":"Text","content":"DAEMON_USER = &quot;` echo $ SYNOPKG_PKGNAME | awk &#39;print tolower ($ _)&#39; `&quot;\nDAEMON_ID = &quot;Utilisateur du démon $ SYNOPKG_PKGNAME&quot;\nENGINE_SCRIPT = &quot;/ var / packages / $ SYNOPKG_PKGNAME /scripts/launcher.sh&quot;\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`"},{"id":"text-28","heading":"Text","content":"daemon_status ()"},{"id":"text-29","heading":"Text","content":"    ps"},{"id":"text-30","heading":"Text","content":"cas 1 $ en\n  début)\n    DAEMON_HOME = &quot;` cat / etc / passwd | grep &quot;$ DAEMON_ID&quot; | cut -f6 -d &#39;:&#39; `&quot;\n    \n    # Définissez le fuseau horaire actuel pour Java afin que les horodatages des journaux soient précis\n    #nous devons utiliser les noms de fuseaux horaires modernes pour que Java puisse déterminer l&#39;heure d&#39;été\n    SYNO_TZ = `cat /etc/synoinfo.conf | grep fuseau horaire | cut -f2 -d &#39;&quot;&#39;`\n    SYNO_TZ = `grep&quot; ^ $ SYNO_TZ &quot;/ usr / share / zoneinfo / Timezone / tzname | sed -e &quot;s /^.*= //&quot; `\n    grep &quot;^ export TZ&quot; $ DAEMON_HOME /. profile&gt; / dev / null \n     &amp;&amp; sed -i &quot;s% ^ export TZ =. * $% export TZ = &#39;$ SYNO_TZ&#39;%&quot; $ DAEMON_HOME /. profile \n     || echo export TZ =  &#39;$ SYNO_TZ &#39; &gt;&gt; $ DAEMON_HOME /. profile\n    \n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT début $ DAEMON_USER $ SYNOPKG_PKGDEST &amp;&quot;\n    sortie 0\n  ;;\n  \n  Arrêtez)\n    su - $ DAEMON_USER -s / bin / sh -c &quot;$ ENGINE_SCRIPT arrêter $ DAEMON_USER $ SYNOPKG_PKGDEST&quot;\n    sortie 0\n  ;;\n  \n  statut)\n    if daemon_status; puis\n      sortie 0\n    autre\n      sortie 1\n    Fi\n  ;;\n  \n  bûche)\n    echo &quot;$ SYNOPKG_PKGDEST /server.log&quot;\n    sortie 0\n  ;;\nesac"},{"id":"text-31","heading":"Text","content":"launcher.sh"},{"id":"text-32","heading":"Text","content":"#! / bin / sh"},{"id":"text-33","heading":"Text","content":"# -------- Script de lancement du serveur MINECRAFT / CRAFTBUKKIT\n# -------- paquet maintenu à pcloadletter.co.uk\n \n# -------- Permet un arrêt en douceur du serveur sans fichiers binaires spécifiques à la CPU\n# -------- Vous pouvez envoyer des commandes au serveur en cours d&#39;exécution de la manière suivante:\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.minecraft\n# -------- echo say Bonjour les joueurs &gt;&gt; /tmp/stdin.craftbukkit"},{"id":"text-34","heading":"Text","content":"DAEMON_USER = 2 $\nSYNOPKG_PKGDEST = 3 $\nDAEMON_USER_SHORT = `echo $ DAEMON_USER | couper -c 1-8`\nJAR_FILE = $ SYNOPKG_PKGDEST / $ 2.jar"},{"id":"text-35","heading":"Text","content":"cas 1 $ en\n  début)\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\n      rm /tmp/stdin.$DAEMON_USER\n    Fi\n    touchez /tmp/stdin.$DAEMON_USER\n    cd $ SYNOPKG_PKGDEST\n    si [ ! -f syno-marker.txt ]; puis\n      si [ -f server.properties ]; puis\n        sed -i &quot;s / Un serveur Minecraft / Un serveur Synology Minecraft /&quot; server.properties\n  \n        Le processeur #ARM est très en retard, réduisez donc la distance de dessin de 10 à 6 morceaux\n        cat / proc / cpuinfo | grep &quot;architecture du processeur: 5TE&quot;&gt; / dev / null \n         &amp;&amp; sed -i &quot;s / ^ view-distance = 10 / view-distance = 6 /&quot; server.properties\n  \n        #enregistre que ces mods ont été faits\n        echo config mis à jour&gt; syno-marker.txt\n      Fi\n    Fi\n    JAVA_OPTS = &#39;- XX: + UseConcMarkSweepGC -XX: + CMSIncrementalPacing -XX: + AggressiveOpts&#39;\n    RAM = $ ((`free | grep Mem: | sed -e&quot; s / ^ * Mem: *  ([0-9]* ). * $ /  1 / &quot;` / 1024))\n    si [ $RAM -le 128 ]; puis\n      JAVA_MAX_HEAP = 80M\n    elif [ $RAM -le 256 ]; puis\n      JAVA_MAX_HEAP = 192M\n    elif [ $RAM -le 512 ]; puis\n      JAVA_MAX_HEAP = 448M\n    elif [ $RAM -le 1024 ]; puis\n      JAVA_MAX_HEAP = 896M\n    elif [ $RAM -le 2048 ]; puis\n      JAVA_MAX_HEAP = 1792M\n    elif [ $RAM -gt 2048 ]; puis\n      JAVA_MAX_HEAP = 2048M\n    Fi\n    JAVA_START_HEAP = $ JAVA_MAX_HEAP\n    tail -n 0 -f /tmp/stdin.$DAEMON_USER | java -Xmx $ JAVA_START_HEAP -Xms $ JAVA_MAX_HEAP $ JAVA_OPTS -jar $ JAR_FILE nogui\n  ;;"},{"id":"text-36","heading":"Text","content":"  Arrêtez)\n    echo say arrêter .. &gt;&gt; /tmp/stdin.$DAEMON_USER\n    dormir 5\n    echo stop &gt;&gt; /tmp/stdin.$DAEMON_USER\n    dormir 10\n    tuer -9 `ps | grep &quot;^ *[0-9]* $ DAEMON_USER_SHORT. * Tail -n 0 -f /tmp/stdin.$DAEMON_USER &quot;| sed -e&quot; s / ^ *  ([0-9]* ). * $ /  1 / &quot;`\n    si [ -f /tmp/stdin.$DAEMON_USER ]; puis\n      rm /tmp/stdin.$DAEMON_USER\n    Fi\n  ;;\nesac"},{"id":"text-37","heading":"Text","content":"Changelog:"},{"id":"text-38","heading":"Text","content":"0015 mis à jour vers Minecraft 1.5.2, CraftBukkit beta 1.5.2-R0.1\n0014 mis à jour vers Minecraft 1.4.7, CraftBukkit beta 1.4.7-R0.1 et correctifs pour DSM 4.2\n013 mis à jour vers Minecraft 1.4.6 et CraftBukkit beta 1.4.6-R0.3\n012 mis à jour vers Minecraft 1.4.5 et CraftBukkit 1.3.2-R1.0\n011 mis à jour à Minecraft 1.4.2\n010 mis à jour vers Minecraft 1.3.2 et CraftBukkit 1.3.1-R2.0\n009 scripts de package entièrement réécrits pour unifier les packages Minecraft et CraftBukkit\n008 mis à jour vers Minecraft 1.3.1, unifie la plupart des scripts en un script d&#39;installation unique et intégrant des améliorations mineures de mes autres packages\n007 mis à jour vers Minecraft 1.2.3\n006 Réduit le tas Java max à 80 Mo sur des systèmes de 128 Mo, le fuseau horaire fixe prend en charge chaque démarrage de serveur\n005 Correction du comportement de la taille maximale du tas Java sur les systèmes de plus de 2 Go de RAM.\n004 problème SSL wget fixe empêchant le téléchargement du fichier jar sur certains systèmes\n003 mis à jour vers Minecraft 1.1\nLes fichiers de configuration du serveur 002 sont également migrés lors des mises à niveau de version et sauvegardés lors de la désinstallation. Les modifications de mon script pour server.properties sont fabriqués qu&#39;une seule fois, plutôt que chaque démarrage\n001 première version publique"},{"id":"text-39","heading":"Text","content":"Comme ça:\nComme Chargement&#8230;"},{"id":"text-40","heading":"Text","content":"en relation"},{"id":"text-41","heading":"Text","content":"Click to rate this post!\n                                   \n                               [Total: 0  Average: 0]"}],"media":{"primary_image":"https://tutos-gameserver.fr/wp-content/uploads/2019/06/minecraft1.jpg"},"relations":[{"rel":"canonical","href":"https://tutos-gameserver.fr/2019/06/19/paquet-minecraft-pour-synology-nas-resoudre-les-problemes-dun-serveur-minecraft/"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/06/19/paquet-minecraft-pour-synology-nas-resoudre-les-problemes-dun-serveur-minecraft/llm","type":"text/html"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2019/06/19/paquet-minecraft-pour-synology-nas-resoudre-les-problemes-dun-serveur-minecraft/llm.json","type":"application/json"},{"rel":"llm-manifest","href":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","type":"application/json"}],"http_headers":{"X-LLM-Friendly":"1","X-LLM-Schema":"1.1.0","Content-Security-Policy":"default-src 'none'; img-src * data:; style-src 'unsafe-inline'"},"license":"CC BY-ND 4.0","attribution_required":true,"allow_cors":false}