آموزش نصب Minecraft ماین کرافت در Ubuntu 20.04
Minecraft یکی از محبوب ترین بازی های همه دوران ها است. که در آن بازیکنان دنیاهای بی نهایت را کشف می کنند و ساختارهای مختلفی از خانه های ساده گرفته تا آسمان خراش های بلند را می سازند. در این آموزش نحوه ساخت سرور Minecraft در اوبونتو 20.04 و با خرید VPS بلوسرور توضیح داده شده است. ما از Systemd برای اجرای سرور Minecraft و ابزار mcrcon برای اتصال به نمونه در حال اجرا استفاده خواهیم کرد. ما همچنین به شما می آموزیم که چگونه یک cronjob ایجاد کنید که بطور منظم از پشتیبان گیری سرور استفاده کند
پیش نیازهای نصب Minecraft
طبق اعلام سایت رسمی Minecraft ، 4 گیگابایت رم به عنوان حداقل تنظیمات برای یک تنظیم معمولی توصیه می شود. بسته های مورد نیاز برای ساخت ابزار mcrcon
را نصب کنید
sudo apt update
sudo apt install git build-essential
نصب Java Runtime Environment
Minecraft به Java 8 یا بالاتر نیاز دارد. سرور Minecraft نیازی به رابط کاربری گرافیکی ندارد ، بنابراین نسخه بدون سرور جاوا را نصب خواهیم کرد. این نسخه برای برنامه های سرور مناسب تر است زیرا وابستگی کمتری دارد و از منابع سیستم کمتری استفاده می کند. دستور زیر را برای نصب بسته OpenJRE 11 انجام دهید و نصب را تایید و خروجی را مشاهده کنین
sudo apt install openjdk-11-jre-headless
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, sharing)
ایجاد کاربر Minecraft
به دلایل امنیتی ، Minecraft نباید تحت عنوان کاربر root اجرا شود. ما یک کاربر و گروه جدید با دایرکتوری /opt/minecraft
ایجاد خواهیم کرد. این کاربر حداقل مجوزهای لازم برای اجرای سرور Minecraft را خواهد داشت
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
ما رمز عبور برای این کاربر تنظیم نمی کنیم. به این ترتیب کاربر نمی تواند از طریق SSH وارد سیستم شود و به خطر نمی افتد. برای تغییر به کاربر Minecraft ، باید به عنوان root یا کاربر دارای امتیازات sudo به سرور وارد شوید
نصب Minecraft در اوبونتو
قبل از شروع مراحل نصب ، به کاربر Minecraft وارد بشین
sudo su - minecraft
برای ایجاد سه دایرکتوری جدید در پوشه Home اصلی کاربر ، دستور زیر را اجرا کنید
mkdir -p ~/{backups,tools,server}
پوشه backups
، بکاپ بازی ماین کرافت را در اینجا ذخیره میکنه. شما همچنین می توانید این پوشه را با سرور پشتیبان گیری از راه دور خود همگام سازی کنید.
پوشه tools
از mcrcon
کلاینت و اسکریپت پشتیبان را نگهداری میکند.
پوشه server
حاوی اطلاعات بازی Minecraft و داده های آن است.
دانلود و کامپایل mcrcon
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 Server
چندین حالت سرور Minecraft مانند Craftbukkit یا Spigot وجود دارد که به شما امکان می دهد ویژگی ها (افزونه ها) را بر روی سرور خود اضافه کنید و تنظیمات سرور را بیشتر سفارشی و ترفند کنید. در این راهنما آخرین سرور رسمی vanilla Minecraft رسمی Mojang’s را نصب خواهیم کرد. همین دستورالعمل ها برای نصب سایر حالت های سرور اعمال می شود. به صفحه دانلود Minecraft بروید تا لینک دانلود آخرین فایل بایگانی شده سرور Minecraft (JAR) دریافت کنید. در زمان نوشتن این مقاله ، آخرین نسخه 1.16 است ، فایل jar را در پوشه ~/server
سرور با wget دانلود کنید
wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server
کانفیگ سرور Minecraft
پس از اتمام دانلود ، به پوشه ~/server
بروید و سرور Minecraft را شروع کنید
cd ~/server
java -Xmx1024M -Xms1024M -jar server.jar nogui
هنگامی که برای اولین بار شروع به کار کردید ، سرور برخی از عملیات را انجام می دهد ، فایلهای server.properties
و eula.txt
را ایجاد کرده و متوقف می شود.
[17:35:14] [main/ERROR]: Failed to load properties from file: server.properties
[17:35:15] [main/WARN]: Failed to load eula.txt
[17:35:15] [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
فراموش نکنید که رمزعبور قوی انتخاب کنین. اگر نمی خواهید از remote به سرور Minecraft متصل شوید ، مطمئن شوید که پورت rcon توسط فایروال شما مسدود شده است ، در حالی که اینجا هستید ، می توانید خصوصیات پیش فرض سرور را نیز تنظیم کنید. برای اطلاعات بیشتر در مورد تنظیمات سرور ، به صفحه server.properties مراجعه کنید
ایجاد فایل Systemd Unit
به جای شروع دستی سرور 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
flags های Xmx
و Xms
را با توجه به منابع سرور خود اصلاح کنید. flag Xmx
حداکثر میزان اختصاص حافظه (maximum memory allocation) را برای یک ماشین مجازی جاوا (JVM) تعریف می کند ، در حالی که Xms استخر اختصاصی حافظه اولیه (initial memory allocation pool) را تعریف می کند. همچنین مطمئن شوید که از پورت rcon
و رمز عبور صحیح استفاده می کنید. فایل را ذخیره کنین و systemd manager configuration مجدد راه اندازی کنین
sudo systemctl daemon-reload
اکنون می توانید سرور Minecraft را با تایپ کردن دستور زیر فعال کنید
sudo systemctl start minecraft
اولین بار که سرویس را شروع می کنید ، چندین فایل پیکربندی از جمله Minecraft world ایجاد می کند. وضعیت سرویس را با دستور زیر بررسی کنید
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
└─1338035 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
سرانجام ، سرویس Minecraft را به طور خودکار در زمان بوت شدن فعال کنید
sudo systemctl enable minecraft
تنظیم فایروال
اوبونتو دارای یک فایروال به نام UFW است. اگر فایروال روی سیستم شما فعال شده است و می خواهید از خارج از شبکه لوکال خود به سرور Minecraft دسترسی پیدا کنید ، باید پورت 25565
را باز کنید
sudo ufw allow 25565/tcp
تنظیم Backups
در این بخش ، یک اسکریپت shell پشتیبان و 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 job ایجاد کنید که یک بار در روز به طور خودکار در یک زمان ثابت اجرا شود. فایل crontab را با تایپ کردن باز کنید
crontab -e
برای اجرای اسکریپت پشتیبان هر روز در 23:00 خط زیر را وارد کنین
0 23 * * * /opt/minecraft/tools/backup.sh
دسترسی به کنسول Minecraft
برای دسترسی به کنسول 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 از remote location ، مطمئن شوید که پورت rcon مسدود نشده است. اگر خکیشخ به کنسول Minecraft وصل می شوید ، به جای تایپ این دستور طولانی ، یک bash alias را ایجاد کنید.