در این مقاله ، نحوه ساخت سرور Minecraft در اوبونتو ۲۰٫۰۴ توضیح داده شده است. ما از Systemd برای اجرای سرور Minecraft و ابزار mcrcon برای اتصال به نمونه در حال اجرا استفاده خواهیم کرد. با ما در شتابان هاست همراه باشيد.
Minecraft ، رم ۴ گیگابایت به عنوان حداقل تنظیمات برای یک تنظیم معمولی توصیه می شود.
بسته های مورد نیاز برای ساخت ابزار mcrcon را نصب کنید:
sudo apt update
sudo apt install git build-essential
Minecraft به Java 8 یا بالاتر نیاز دارد. سرور Minecraft نیازی به رابط کاربری گرافیکی ندارد ، بنابراین نسخه بدون سرور java را نصب خواهیم کرد. این نسخه برای برنامه های سرور مناسب تر است زیرا وابستگی کمتری دارد و از منابع سیستم کمتری استفاده می کند.
دستور زیر را برای نصب بسته OpenJRE 11 بدون سر انجام دهید:
sudo apt install openjdk-11-jre-headless
نصب را با چاپ نسخه java تأیید کنید:
java -version
openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode,
به دلایل امنیتی ، Minecraft نباید تحت عنوان کاربر اصلی اجرا شود. ما یک کاربر و گروه جدید با دایرکتوری / opt / Minecraft ایجاد خواهیم کرد. حداقل مجوزهای لازم برای اجرای سرور Minecraft را خواهد داشت:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
ما یک رمز عبور برای این کاربر تنظیم نمی کنیم. به این ترتیب کاربر نمی تواند از طریق SSH وارد سیستم شود و به خطر نیفتد. برای تغییر به کاربر Minecraft ، باید به عنوان root یا کاربر دارای امتیازات sudo به سرور وارد شوید.
قبل از شروع مراحل نصب ، به کاربر Minecraft بروید:
sudo su - Minecraft
دستور زیر را اجرا کنید تا سه دایرکتوری جدید در فهرست خانه کاربر ایجاد شود:
mkdir -p ~/{backups,tools,server}
RCON پروتکل است که به شما امکان می دهد به سرورهای Minecraft وصل شوید و دستورات را اجرا کنید. mcron كاربر RCON است که به زبان C نوشته شده است. ما کد منبع را از GitHub بارگیری می کنیم و binary mcrcon را می سازیم.
مخزن Tiiffi / mcrcon را از GitHub به فهرست ~ / Tools / mcron کلون کنید:
git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon
پس از اتمام ، به فهرست mcron بروید و ابزار را بسازید:
cd ~/tools/mcrcon
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
پس از اتمام ، تأیید کنید که mcrcon با موفقیت با چاپ نسخه آن کامپایل شده است:
./mcrcon -v
خروجی چیزی شبیه به این خواهد بود:
mcrcon 0.7.1 (built: Jun 23 2020 15:49:44) - https://github.com/Tiiffi/mcrcon Bug reports: tiiffi+mcrcon at gmail https://github.com/Tiiffi/mcrcon/issues/
چندین حالت سرور Minecraft مانند Craftbukkit یا Spigot وجود دارد که به شما امکان می دهد ویژگی ها (افزونه ها) را روی سرور خود اضافه کنید و تنظیمات سرور را بیشتر سفارشی و ترفند کنید.
در این مقاله ، آخرین سرور رسمی وینیل Minecraft رسمی Mojang را نصب خواهیم کرد. همین دستورالعمل ها برای نصب سایر حالت های سرور اعمال می شود. به صفحه بارگیری Minecraft بروید تا لینک دانلود آخرین پرونده بایگانی شده سرور Minecraft (JAR) دریافت کنید.
فایل jar را در فهرست server / server سرور با wget بارگیری کنید:
wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server
پس از اتمام بارگیری ، به فهرست server بروید و سرور Minecraft را شروع کنید:
cd ~/server
java -Xmx1024M -Xms1024M -jar server.jar nogui
هنگامی که برای اولین بار آغاز شد ، سرور برخی از عملیات را انجام می دهد ، پرونده های server.properties و eula.txt را ایجاد می کند و متوقف می شود.
[۱۷:۳۵:۱۴] [main/ERROR]: Failed to load properties from file: server.properties [۱۷:۳۵:۱۵] [main/WARN]: Failed to load eula.txt [۱۷:۳۵:۱۵]
[main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
برای اجرای سرور ، باید مطابق با خروجی فوق با Minecraft EULA موافقت کنید. پرونده eula.txt را باز کنید و eula = false را به eula = true تغییر دهید:
nano ~/server/eula.txt
eula=true
پرونده را ببندید و ذخیره کنید.
بعد ، پرونده server.properties را باز کنید و پروتکل rcon را فعال کنید و رمز عبور rcon را تنظیم کنید:
nano ~/server/server.properties
خطوط زیر را پیدا کرده و مقادیر آنها را مطابق شکل زیر به روز کنید:
rcon.port=25575 rcon.password=strong-password enable-rcon=true
به جای شروع دستی سرور Minecraft ، ما یک فایل واحد Systemd ایجاد می کنیم و Minecraft را به عنوان یک سرویس اجرا می کنیم.
با تایپ کردن exit
، به کاربر sudo خود برگردید.
ویرایشگر متن خود را باز کنید و فایلی به نام minecraft.service را در فهرست / etc / systemd / system / فهرست ایجاد کنید:
sudo nano /etc/systemd/system/minecraft.service
پیکربندی زیر را جایگذاری کنید:
[Unit] Description=Minecraft Server After=network.target
[Service] User=minecraft Nice=1 KillMode=none SuccessExitStatus=0 1 ProtectHome=true ProtectSystem=full PrivateDevices=true NoNewPrivileges=true WorkingDirectory=/opt/minecraft/server ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop
[Install] WantedBy=multi-user.target
Xmx و Xms را با توجه به منابع سرور خود تغییر دهید. Xmx حداکثر میزان اختصاص حافظه را برای یک ماشین مجازی جاوا (JVM) تعریف می کند ، در حالی که Xms اختصاصی حافظه اولیه را تعریف می کند. همچنین مطمئن شوید که از پورت و رمز عبور صحیح استفاده می کنید.
ذخیره پرونده و بارگیری مجدد پیکربندی مدیر سیستم شده:
sudo systemctl daemon-reload
اکنون می توانید سرور Minecraft را با تایپ کردن شروع کنید:
sudo systemctl start minecraft
اولین بار که سرویس را شروع می کنید ، چندین پرونده و فهرست پیکربندی از جمله دنیای Minecraft ایجاد می کند.
وضعیت سرویس را با دستور زیر بررسی کنید:
sudo systemctl status minecraft
● minecraft.service - Minecraft Server Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2020-06-23 17:48:44 UTC; 8s ago Main PID: 1338035 (java) Tasks: 15 (limit: 1074) Memory: 465.3M CGroup: /system.slice/minecraft.service └─۱۳۳۸۰۳۵ /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
سرانجام ، سرویس Minecraft را به طور خودکار در زمان boot شدن فعال کنید:
sudo systemctl enable minecraft
اوبونتو با یک ابزار پیکربندی firewall به نام UFW حمل می شود. اگر فایروال روی سیستم شما فعال شده است و می خواهید از خارج از شبکه محلی خود به سرور Minecraft دسترسی پیدا کنید ، باید پورت ۲۵۵۶۵ را باز کنید:
sudo ufw allow 25565/tcp
در این بخش ، یک اسکریپت پوسته بكاپ و cronjob ایجاد خواهیم کرد تا بطور خودکار از سرور Minecraft بكاپ تهیه شود.
تغییر به minecraft:
sudo su - Minecraft
ویرایشگر متن خود را باز کرده و پرونده زیر را ایجاد کنید:
nano /opt/minecraft/tools/backup.sh
پیکربندی زیر را جایگذاری کنید:
!/bin/bash
function rcon { /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password "$1" }
rcon "save-off" rcon "save-all" tar -cvpzf /opt/minecraft/backups/server-$(date +%F-%H-%M).tar.gz /opt/minecraft/server rcon "save-on"
## Delete older backups find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete
پرونده را ذخیره کنید و اسکریپت را عملی کنید:
chmod +x /opt/minecraft/tools/backup.sh
بعد ، یک کار cron ایجاد کنید که یک بار در روز به طور خودکار در یک زمان ثابت اجرا شود.
پرونده crontab را با تایپ کردن باز کنید:
crontab -e
برای اجرای اسکریپت بكاپ هر روز در ۲۳:۰۰ خط زیر را انتقال دهيد:
۰ ۲۳ * * * /opt/minecraft/tools/backup.sh
برای دسترسی به کنسول Minecraft ، از ابزار mcrcon استفاده کنید. شما باید هاست ، پورت rcon ، رمز عبور rcon را مشخص کنید و از -t استفاده کنید که حالت پاياني mcrcon را فعال می کند:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit! >
هنگام دسترسی به کنسول Minecraft از یک مکان از راه دور ، مطمئن شوید که پورت rcon مسدود نشده است.
اگر مرتباً به کنسول Minecraft وصل می شوید ، به جای تایپ این دستور طولانی ، یک bash alias را ایجاد می کنید.
ما به شما نشان داده ایم که چگونه می توانید یک سرور Minecraft را در Ubuntu 20.04 تهیه کنید و یک نسخه بكاپ روزانه تنظیم کنید. ما را در شتابان هاست دنبال كنيد.