وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش نصب سرور Minecraft بر روی CentOS 7

0 10
زمان لازم برای مطالعه: 6 دقیقه



Minecraft یکی از محبوب ترین بازی های تمام دوران است. این یک بازی ویدئویی sandbox در مورد قرار دادن بلوک ها و ماجراجویی است.

در این آموزش، مراحل لازم برای نصب و پیکربندی Minecraft Server را طی می کنیم CentOS 7. ما از Systemd برای اجرای سرور Minecraft و mcrcon ابزار برای اتصال به نمونه در حال اجرا. همچنین به شما نشان خواهیم داد که چگونه با استفاده از یک کار Cron، پشتیبان‌گیری خودکار سرور را زمان‌بندی کنید.

پیش نیازها

کاربری که وارد آن شده اید باید از امتیازات sudo برخوردار باشد تا بتواند بسته ها را نصب کند.

بسته های مورد نیاز برای ساخت را نصب کنید mcrcon ابزار:

sudo yum install gitsudo yum group install "Development Tools"

نصب Java Runtime Environment

Minecraft به جاوا 8 یا بالاتر نیاز دارد. از آنجایی که سرور Minecraft به رابط کاربری گرافیکی نیاز ندارد، ما نسخه هدلس openjdk را نصب خواهیم کرد. این نسخه برای برنامه های سرور مناسب تر است زیرا وابستگی های کمتری دارد و از منابع سیستم کمتری استفاده می کند.

نصب جاوا بسیار ساده است، فقط اجرا کنید:

sudo yum install java-1.8.0-openjdk-headless

نصب را با چاپ نسخه جاوا تأیید کنید:

java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

ایجاد کاربر Minecraft

اجرای سرویس ها به عنوان Minecraft تحت کاربر اصلی به دلایل امنیتی توصیه نمی شود.

ما یک کاربر و گروه سیستم جدید ایجاد خواهیم کرد minecraft با دایرکتوری خانگی /opt/minecraft که سرور Minecraft را اجرا می کند:

sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft

ما قرار نیست برای این کاربر رمز عبور تعیین کنیم. این روش امنیتی خوبی است زیرا این کاربر قادر به ورود از طریق SSH نخواهد بود. برای تغییر به minecraft کاربر شما باید به عنوان کاربر root یا کاربر با امتیازات sudo وارد سرور شوید.

نصب Minecraft در CentOS

قبل از شروع نصب process، مطمئن شوید که به کاربر تغییر می دهید
minecraft:

sudo su - minecraft

با استفاده از دستور زیر سه دایرکتوری جدید در داخل فهرست اصلی کاربر ایجاد کنید:

mkdir -p ~/{backups,tools,server}
  • را backups دایرکتوری پشتیبان سرور شما را ذخیره می کند. بعداً می توانید این فهرست را با سرور پشتیبان از راه دور خود همگام کنید.
  • را tools دایرکتوری را ذخیره خواهد کرد mcrcon مشتری و اسکریپت پشتیبان.
  • را server دایرکتوری حاوی سرور واقعی Minecraft و داده های آن خواهد بود.

دانلود و کامپایل mcrcon

RCON پروتکلی است که به شما امکان می دهد به سرورهای Minecraft متصل شوید و دستورات را اجرا کنید. مکرون
کلاینت RCON است که در C ساخته شده است.

ما کد منبع را از GitHub دانلود می کنیم و آن را می سازیم mcrcon دودویی.

با حرکت به سمت شروع کنید ~/tools دایرکتوری و کلون کردن Tiiffi/mcrcon مخزن از GitHub با استفاده از دستور زیر:

cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git

پس از کلون شدن مخزن، به دایرکتوری آن بروید:

cd ~/tools/mcrcon

را بسازید mcrcon ابزار با استفاده از GCC کامپایلر:

gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c

پس از تکمیل، آن را با تایپ کردن تست کنید:

./mcrcon -h

خروجی چیزی شبیه به این خواهد بود:

Usage: mcrcon [OPTIONS]... [COMMANDS]...
Sends rcon commands to Minecraft server.

Option:
  -h		Print usage
  -H		Server address
  -P		Port (default is 25575)
  -p		Rcon password
  -t		Interactive terminal mode
  -s		Silent mode (do not print received packets)
  -c		Disable colors
  -r		Output raw packets (debugging and custom handling)
  -v		Output version information

Server address, port and password can be set using following environment variables:
  MCRCON_HOST
  MCRCON_PORT
  MCRCON_PASS

Command-line options will override environment variables.
Rcon commands with arguments must be enclosed in quotes.

Example:
	mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop

mcrcon 0.6.1 (built: May 19 2019 23:39:16)
Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/

دانلود سرور Minecraft

چندین حالت سرور Minecraft وجود دارد مانند Craftbukkit
یا اسپیگوت
که به شما امکان می دهد ویژگی ها (پلاگین ها) را به سرور خود اضافه کنید و تنظیمات سرور را بیشتر سفارشی کنید و تغییر دهید. در این آموزش، آخرین سرور رسمی وانیلی ماین کرافت Mojang را نصب می کنیم.

پیشنهاد می‌کنیم بخوانید:  روش تنظیم دقیق نقطه شناور در جاوا اسکریپت نقاط شناور در جاوا اسکریپت دقت بسیار بالایی دارند و شما همیشه به این دقت نیاز ندارید. علاوه بر این - کاربر شما حتی کمتر احتمال دارد که آن را بخواهد. اغلب اوقات - ما می خواهیم «تریم» اعداد ممیز شناور با تنظیم یک دقت خاص (مثلاً دو نقطه اعشار)...

آخرین فایل آرشیو جاوا سرور Minecraft (JAR) برای دانلود از سایت موجود است دانلود Minecraft page

.

در زمان نوشتن، آخرین نسخه است 1.14.1. قبل از ادامه مرحله بعدی باید دانلود را بررسی کنید page برای نسخه جدید

زیر را اجرا کنید wget
دستور دانلود فایل jar Minecraft در ~/server فهرست راهنما:

wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server

پیکربندی سرور Minecraft

حرکت به ~/server دایرکتوری و سرور Minecraft را راه اندازی کنید:

cd ~/serverjava -Xmx1024M -Xms512M -jar server.jar nogui

هنگامی که سرور را برای اولین بار راه اندازی می کنید، برخی از عملیات ها را اجرا می کند و ایجاد می کند server.properties و eula.txt فایل ها و توقف ها

[14:33:44] [main/ERROR]: Failed to load properties from file: server.properties
[14:33:45] [main/WARN]: Failed to load eula.txt
[14:33:45] [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
~/server/eula.txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sun May 19 23:41:45 PDT 2019
eula=true

فایل را ببندید و ذخیره کنید.

بعد، را باز کنید server.properties فایل، پروتکل rcon را فعال کرده و رمز عبور rcon را تنظیم کنید:

nano ~/server/server.properties

خطوط زیر را پیدا کنید و مقادیر آنها را مطابق شکل زیر به روز کنید:

~/server/server.properties
rcon.port=25575
rcon.password=strong-password
enable-rcon=true
فراموش نکنید که تغییر دهید strong-password به چیزی امن تر اگر نمی‌خواهید از مکان‌های راه دور به سرور Minecraft متصل شوید، مطمئن شوید که پورت rcon توسط فایروال شما مسدود شده است.

در اینجا، می‌توانید ویژگی‌های پیش‌فرض سرور را نیز تنظیم کنید. برای اطلاعات بیشتر در مورد تنظیمات احتمالی به سایت مراجعه کنید server.properties
page.

ایجاد فایل Systemd Unit

برای اجرای Minecraft به عنوان یک سرویس، یک فایل واحد Systemd جدید ایجاد می کنیم.

با تایپ کردن به کاربر sudo خود برگردید exit.

ویرایشگر متن خود را باز کنید و یک فایل به نام ایجاد کنید minecraft.service در /etc/systemd/system/:

sudo nano /etc/systemd/system/minecraft.service

پیکربندی زیر را جایگذاری کنید:

/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 -Xms512M -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 flag حداکثر استخر تخصیص حافظه را برای یک ماشین مجازی جاوا (JVM) تعریف می کند Xms مخزن تخصیص حافظه اولیه را تعریف می کند. همچنین، مطمئن شوید که از درست استفاده می کنید rcon پورت و رمز عبور

پیشنهاد می‌کنیم بخوانید:  روش نصب و استفاده از PHP Composer در CentOS 8

فایل را ذخیره کرده و ببندید و به systemd اطلاع دهید که یک فایل واحد جدید ایجاد کرده ایم:

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: disabled)
   Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago
 Main PID: 17356 (java)
   CGroup: /system.slice/minecraft.service
           └─17356 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui --noconsole

سرویس Minecraft را فعال کنید تا به طور خودکار در زمان بوت شروع شود:

sudo systemctl enable minecraft

تنظیم فایروال

اگر سرور شما توسط فایروال محافظت می شود تا از خارج از شبکه محلی به سرور Minecraft دسترسی داشته باشید، باید پورت را باز کنید. 25565:

sudo firewall-cmd --permanent --zone=public --add-port=25565/tcpsudo firewall-cmd --reload

پیکربندی پشتیبان گیری

در این بخش، یک اسکریپت پشتیبان و cronjob ایجاد می کنیم تا به طور خودکار از سرور Minecraft پشتیبان تهیه شود.

با جابجایی به شروع کنید minecraft کاربر:

sudo su - minecraft

ویرایشگر متن خود را باز کنید و فایل زیر را ایجاد کنید:

nano /opt/minecraft/tools/backup.sh

پیکربندی زیر را جایگذاری کنید:

/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
دستور:

chmod +x /opt/minecraft/tools/backup.sh

فایل crontab را باز کنید و یک cronjob ایجاد کنید که یک بار در روز به طور خودکار در یک زمان ثابت اجرا شود:

crontab -e

ما اسکریپت پشتیبان را هر روز ساعت 23:00 اجرا می کنیم:

0 23 * * * /opt/minecraft/tools/backup.sh

دسترسی به کنسول Minecraft

برای دسترسی به کنسول Minecraft می توانید از mcrcon سودمندی

نحو به شرح زیر است، شما باید آن را مشخص کنید host، پورت rcon، رمز عبور rcon و استفاده از -t سوئیچ که فعال می کند mcrcon terminal حالت:

/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit!
>

اگر مرتباً به Minecraft متصل می شوید console، به جای تایپ این دستور طولانی باید یک نام مستعار bash ایجاد کنید.

نتیجه

شما با موفقیت سرور Minecraft را بر روی خود نصب کرده اید CentOS 7 سیستم و راه اندازی یک پشتیبان روزانه.

اگر مشکلی دارید یا بازخوردی دارید، در زیر نظر دهید.

جاوا ماین کرافت centos
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-27 16:54:02

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید