تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

چگونه یک سرور ماینکرفت (Minecraft) را بسازیم؟


۲۷ بهمن ۱۴۰۳

ماینکرفت یکی از بازی‌های محبوب در سبک سندباکس است که برای اولین بار در 2009 منتشر شد. در این بازی بازیکن‌ها در یک دنیای سه بعدی و بلوکی به ساخت و ساز و ماجراجویی می‌پردازند. در اوایل سال 2022، ماینکرفت به‌عنوان یکی از پر فروش‌ترین بازی ویدیویی در بازار شناخته شده است.

اگر شما علاقه مند هستید تا یک سرور اختصاصی مانند سرور ماینکرفت را بسازید ادامه این مقاله از لیارا را از دست ندهید.

در این مقاله با نحوه نصب نرم افزار های مورد نیاز، پیکربندی سرور و راه اندازی آن به صورت کامل آشنا خواهید شد. تا بتوانید شما هم یک سرور اختصاصی مانند ماینکرفت را داشته باشید.

👈🏻شاید به دنبال این مطلب باشید: نحوه نصب Git در سرور مجازی اوبونتو

پیش نیازها

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

  • یک سرور برای نصب کردن آخرین نسخه اوبونتو
  • یک کاربر غیر ریشه (non-root) با دسترسی های sudo
  • فعال بودن SSH

اگر به دنبال یک سرور مجازی قدرتمند و مطمئن برای نصب آخرین نسخه اوبونتو هستید، پیشنهاد ما این است که از سرور مجازی لیارا استفاده کنید.

مراحل ساخت سرور ماینکرفت

  • مرحله اول: نصب نرم افزارهای مورد نیاز و پیکربندی فایروال ها
  • مرحله دوم: دانلود کردن آخرین نسخه ماینرکفت
  • مرحله سوم: پیکربندی و اجرا کردن سرور ماینرکفت
  • مرحله چهارم: سرور ماینرکفت در حال اجرا
  • مرحله پنجم: اتصال سرور از طریق کلاینت های ماینرکرفت

نصب نرم افزار‌ های مورد نیاز و پیکربندی فاروال‌ ها

قبل از هرکاری ابتدا باید جاوا را نصب کنید. برای اجرا کردن ماینرکرفت به جاوا نیاز خواهید داشت. نسخه پیش فرض جاوا در اوبونتو 22.04 برای نسخههای جدید ماینکرفت کافی نیست. برای نصب نسخه‌های جدیدتر باید بسته‌هایی را نصب کنید. اگر به بسته‌های قدیمی تر نیاز دارید برای نصب این بسته‌ها PPA (Personal Package Archives) را به لیست منابع‌های خود اضافه کنید و برای این کار می‌توانید از دستور زیر استفاده کنید.

sudo add-apt-repository ppa:openjdk-r/ppa

بعد از آن برای انجام تغییرات و به روزرسانی‌های منابع بسته‌های خود، از دستور زیر استفاده کنید.

sudo apt update

زمانی که از شما درخواست تایید را داشت. باید کلیدY را فشار دهید. اگر پیامی را برای راه اندازی مجدد سرویس‌ها مشاهده کردید، کلیدEnter را فشار دهید تا تظیمات پیش‌فرض در آن اعمال شود.

مراحل ساخت سرور ماینکرفت

در نتیجه نسخه مورد نظر‌تان را نصب کنید. برای مثال می‌توانید از نسخه 17 جاوا (OpenJDK 17) استفاده کنید. این نسخه شامل JRE headless است، که یکی از نسخه‌های کم حجم جاوا است و پشتیبانی از برنامه‌های گرافیکی (GUI) را حذف می‌کند.

sudo apt install openjdk-17-jre-headless

برای ساخت جلساتی که قابلیت جدا شدن را دارد باید نرم افزارscreen را نصب کنید. این نرم‌افزار به شما اجازه می‌دهد تا سرور را جدا کنید و بعدا از ترمینال جدا شوید بدون آنکه فرآیندی متوقف شود. برای نصب آن می‌توانید از دستور زیر استفاده کنید.

sudo apt install screen

با وارد کردن دستور بست‌های شما نصب خواهد شد. بعد از آن باید فایروال را فعال کنید و ترافیک‌های ورودی به سرور ماینکرفت را مجاز کنید. در زمانی که راه‌اندازی اولیه انجام می‌شود سرور فقط ترافیک SSH به آن مجوز‌های لازمه را می‌دهد. حال باید اجازه دهید تا ترافیم از سمت پورت 25565 این پورت یکی از پورت‌های پیش فرض برای اتصال به سرور ماینکرفت است. برای این کار می‌توانید دستور زیر را وارد کنید.

  sudo ufw allow 25565

در حال حاضر جاوا نصب شده است و فایروال‌ها به درستی بر آن پیکربندی شده‌اند. بعد از آن باید اپلیکشین سرور ماینکرفت را از وب‌سایت آن دانلود کنید.

دانلود کردن آخرین نسخه ماینرکفت

برای دانلود آن به سایت minecraft بروید و لینک دانلود نسخه جدید را کپی کنید و بعد از آن دستور wget برای دانلود سرور ماینکرفت از این دستور استفاده کنید.

 wget https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar

بعد از آن فایل سرور به نام server.jar دانلود خواهد شد. اگر نیاز به نسخه‌های مختلف ماینکرفت را داشتید یا نیاز به آپدیت نسخه داشته‌اید باید فایل server.jar را با نام نسخه مورد نظرتان تغییر دهید. برای مثال اگر نسخه 1.18.2 را دانلود کرده اید باید نام آن را به minecraft_server_1.18.2.jar تغییر دهید. برای این عمل باید دستور زیر را وارد کنید.

mv server.jar minecraft_server_1.18.2.jar

پیکربندی و اجرا کردن سرور ماینرکفت

حال که فایل Minecraft jar نصب شده است. شما قادر هستید آن را اجرا کنید.

اما ابتدا باید یک جلسه جدیدی را در screen باز کنید. برای این کار به دستور زیر نیاز خواهید داشت.

screen

بعد از آن که بنر نمایش داده شد، بایدSpacebar را بزنید. با این کار یک ترمینال معمولی را مشاهده خواهید کرد. شما می‌توانید دستورات را اجرا کنید و بعد از آن از ترمینال جدا شوید، بدون آن که سرور شما متوقف شود.

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

java -Xms1024M -Xmx1024M -jar minecraft_server_1.18.2.jar nogui

در ادامه به بررسی آرگومان‌های خط فرمان خواهیم پرداخت. زیرا آن‌ها سرور شما را تنظیم خواهند کرد، در نتیجه شناخت آن‌ها کمک بزرگی برای شما خواهد بود.

پیکربندی و اجرا کردن سرور ماینرکفت
  • Xms1024M: تنظیمات سرور را به گونه‌ای پیکربندی می‌کند که با 1024MB یا 1GB رم کار را انجام دهد. شما می‌توانید مقدار آن را افزایش دهید تا سرور با رم بیشتری شروع به کار کند. این المان واحد‌های M را برای مگابایت و G را برای گیگابایت پشتیبانی می‌کند.
  • Xmx1024M: در این بخش حداکثر مقدار رمی که سرور می‌تواند از آن استفاده کند را مشخص کرده و اگر سرور شما کند باشد یا نیاز دارید تعداد بازیکن‌های بیشتری را داشته باشید. می‌توانید این مقدار را افزایش دهید.
  • jar: این گزینه مشخص می‌کند که کدام فایل از server jar اجرا شود.
  • nogui: به سرور اطلاع می‌دهد که رابط گرافیکی را راه‌اندازی نکند، به دلیل اینکه یک سرور است و به واسط گرافیکی نیازی ندارد.

در زمانی که برای اولین بار این دستور را اجرا می‌کنید، معمولا سرور شما را شروع می‌کند. خروجی زیر را مشاهده خواهید کرد.

 Output[22:05:31] [environment second]
[22:05:31] [main/ERROR]: Failed to load properties from file: server.properties
[22:05:31] [main/WARN]: Failed to load eula.txt
[22:05:31] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

تمامی این خطاها به دلیل اینکه سرور نتوانسته است دو فایل ضروری را برای اجرا پیدا کند اتفاق افتاده است. EULA (توافق‌نامه مجوز کاربر نهایی) که در فایل eula.txt قرار دارد و فایل های پیکربندی server.properties. سرور تمامی این فایل ها را پیدا نکرده است به صورت خودکار آن را در دایرکتوری فعلی شما ایجاد می‌کند. ماینکرفت این عمل را به صورت عمدی انجام می‌دهد تا اطمینان حاصل کند که شما توافق نامه را مطالعه و با آن موافقت کرده اید.

برای ادامه، فایل eula.txt را با استفاده از ویرایشگرnano یا ویرایشگر مورد علاقه خود باز کنید:

nano eula.txt

در این فایل لینک EULA ماینکرفت را مشاهده خواهید کرد و آن را باید کپی کرده و در مرورگر خود باز کنید تا بتوانید توافق نامه را خوانده و مطالعه کنید.

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Tue Mar 24 22:05:31 UTC 2020
eula=false

بعد از انکه توافق نامه را انجام داده‌اید باید به سراغ ویرایشگر خود بروید و در فایل eula.txt، خط آخر را پیدا کنید. مقدار eula=false را به eula=true تغییر دهید. سپس فایل را ذخیره کرده و ببندید. اگر از nano استفاده می‌کنید برای خروجی

Ctrl+X را فشار دهید، سپس وقتی از شما خواسته شد، Y و بعدEnter را بزنید.

حالا که EULA را تایید کرده‌اید، می‌توانید سرور را به دلخواه خود پیکربندی کنید.

در دایرکتوری کاری خود، فایل server.properties را پیدا خواهید کرد. این فایل تنظیمات پیکربندی سرور ماینکرفت شما را نشان خواهد داد. برخی تنظیمات پایه‌ای که باید تغییر دهید عبارتند از:

nano server.properties

فایل شما باید مشابه به فایل زیر باشد.

دانلود کردن آخرین نسخه ماینرکفت
#Minecraft server properties
#Thu Apr 30 23:42:29 UTC 2020
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=survival
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=easy
spawn-monsters=true
broadcast-rcon-to-ops=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=default
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
function-permission-level=2
rcon.port=25575
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
prevent-proxy-connections=false
use-native-transport=true
motd=A Minecraft Server
enable-rcon=false
  1. ابتدا لینک EULA را در مرورگر خود باز کنید و توافق‌نامه را بخوانید. سپس به ویرایشگر خود برگردید و در فایل eula.txt، خط آخر را پیدا کنید. مقدار eula=false را به eula=true تغییر دهید. سپس فایل را ذخیره کرده و ببندید. اگر از nano استفاده می‌کنید، برای خروج Ctrl+X را فشار دهید، سپس وقتی از شما خواسته شد، Y و بعد Enter را بزنید.
  2. حالا که EULA را تایید کرده‌اید، می‌توانید سرور را به دلخواه خود پیکربندی کنید.
  3. در دایرکتوری کاری خود، فایل server.properties را پیدا خواهید کرد. این فایل شامل تنظیمات پیکربندی سرور ماینکرفت شما است. برخی تنظیمات پایه‌ای که باید تغییر دهید عبارتند از:

برای ویرایش، از دستور زیر استفاده کنید:

nano server.properties

فایل مشابه زیر خواهد بود:

~/server.properties
#Minecraft server properties
#Thu Apr 30 23:42:29 UTC 2020
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=survival
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=easy
spawn-monsters=true
broadcast-rcon-to-ops=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=default
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
function-permission-level=2
rcon.port=25575
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
prevent-proxy-connections=false
use-native-transport=true
motd=A Minecraft Server
enable-rcon=false
اجرا کردن سرور ماینرکفت

در ادامه برخی از توضیحات مهم برای تنظیمات این فایل را برای شما شرح خواهیم داد.

  • difficulty (پیش‌فرض easy): این تنظیمات میزان سختی بازی را تعیین می‌کند، مانند مقدار آسیبی که بازیکنان دریافت می‌کنند و تاثیرات محیطی که برای بازیکنان اتفاق می‌افتد را نشان می‌دهد. این گزینه‌ها عبارتند از: peaceful، easy، normal، hard.
  • gamemode (پیش‌فرض survival): این تنظیمات نوع بازی شما را مشخص می‌کند. گزینه‌های آن عبارتند از: survival، creative، adventure، spectator.
  • level-name (پیش‌فرض world): در این بخش نام سرور شما را می‌شود و در لیست سرورها در کلاینت ماینکرفت نمایش داده می‌شود.
  • motd (پیش‌فرض A Minecraft Server): پیامی که در لیست سرورهای ماینکرفت نمایش داده می‌شود را نشان می‌دهد.
  • pvp (پیش‌فرض true): این گزینه امکان مبارزه بین بازیکنان را فعال می‌کند. اگر true باشد، بازیکنان می‌توانند با هم مبارزه کرده و یکدیگر را آسیب برسانند.

بعد از آنکه تنظیمات انجام شد فایل را ذخیره کنید و آن را ببندید.

حال شما می‌توانید سرور خود را با موفقت راه‌اندازی کنید.

برای شروع سرور، مانند دفعات قبل، باید سرور را با1024M رم شروع می‌کنید. همچنین باید به ماینکرفت این امکان را بدهید که در صورت نیاز از4G رم استفاده کند. یادتان باشد که می‌توانید این مقدار را با توجه به محدودیت‌های سرور یا نیازهای خود مشخص کنید.

java -Xms1024M -Xmx4G -jar minecraft_server_1.18.2.jar nogui

چند لحظه باید زمان بدهید تا سرور راه‌اندازی شود. بعد از مدتی، سرور ماینکرفت شما خروجی زیر را نمایش می‌دهد.

[21:08:14] [Server thread/INFO]: Starting minecraft server version 1.18.2
[21:08:14] [Server thread/INFO]: Loading properties
[21:08:14] [Server thread/INFO]: Default game type: SURVIVAL
[21:08:14] [Server thread/INFO]: Generating keypair
[21:08:15] [Server thread/INFO]: Starting minecraft server on *:25565

وقتی سرور شما به درستی راه‌اندازی شود، خروجی زیر را مشاهده خواهید کرد:

[21:15:37] [Server thread/INFO]: Done (30.762s)! For help, type "help"

سرور شما حالا در حال اجرا است و پنل کنترل مدیر سرور برای شما نمایش داده شده است. می‌توانید دستورhelp را وارد کنید تا دستورالعمل‌ها را ببینید.

help

خروجی شما مشابه این پیام خواهد بود.

[21:15:37] [Server thread/INFO]: /advancement (grant|revoke)
[21:15:37] [Server thread/INFO]: /ban <targets> [<reason>]
[21:15:37] [Server thread/INFO]: /ban-ip <target> [<reason>]
[21:15:37] [Server thread/INFO]: /banlist [ips|players]
...

در این ترمینال می‌توانید دستورات مدیر سرور را وارد کنید و سرور ماینکرفت خود را مدیریت کنید.

سرور ماینرکفت در حال اجرا

سرور ماینرکفت در حال اجرا

در این قسمت سرور شما راه اندازی شده است. ممکن است قصد آن را داشته باشید تا بعد از قطع اتصال از جلسه SSH، سرور شما همچنان در حال اجرا باش. از آنجایی که در قبل از screen استفاده کرد‌ه‌اید، با فشردن کلید Ctrl + A + D می‌توانید از جلسه جدا شوید. بعد از این کار باید به صفحه اصلی ترمینال خود برگردید.

ubuntu@minecraft-2204:~$ screen

[detached from 3626.pts-0.minecraft-2204]

$

برای مشاهده تمامی جلساتscreen خود، این دستور را وارد کنید:

screen -list

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

There is a screen on:
        3626.pts-0.minecraft-2204    (03/02/22 22:56:33)    (Detached)
1 Socket in /run/screen/S-root.

برای ادامه کار با همان جلسه خود، می‌توانید از دستور زیر استفاده کنید.

screen -r 3626

زمانی که آماده هستید از ترمینال خارج شوید، فراموش نکنید که باCtrl + A + D از جلسه جدا شوید و سپس از ترمینال خارج شوید.

اتصال سرور از طریق کلاینت های ماینرکرفت

تبریک سرور شما راه‌اندازی شد. می‌توانید از طریق کلاینت ماینکرفت به آن متصل شوید و آن را امتحان کنید.

کلاینت Minecraft Java Edition خود را باز کنید و در منو گزینه Multiplayer را انتخاب کنید.

اتصال سرور از طریق کلاینت های ماینرکرفت

برای متصل شدن به یک سرور باید از سرور جدیدی استفاده کنید و بر روی دکمه Add Server کلید کنید.

متصل شدن به سرور

Edit Server Info که باز می‌شود، یک نام را برای سرور خود وارد کنید و بعد از آن می‌توانید آدرس IP سرور را تایپ کنید. این همان آدرس IP است که برای متصل شدن از طریق SSH از آن استفاده کرده‌اید.

 آدرس IP سرور

بعد از وارد کرد آن به صفحه Multiplayer بر خواهید گشت و سرور شما را در این لیست نمایش خواهد داد.

 صفحه Multiplayer

از این مرحله به بعد سرور شما را همیشه در این لیست نمایش خواهد داد. می‌توانید آن را انتخاب کنید و روی Join Server کلیک کنید تا به سرور متصل شوید.

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

👈🏻بیشتر بدانید: کلید های SSH در CentOS

سرور ماینکرفت

جمع بندی

شما اکنون یک سرور بازی کامل روی Ubuntu 22.04 راه‌اندازی کرده‌اید. با نصب صحیح Java، تنظیم فایروال، و استفاده از screen برای اجرای مداوم سرور، همه چیز برای شروع آماده است. حالا می‌توانید تنظیمات دلخواه خود را در فایل‌های پیکربندی انجام دهید و سرور خود را بهینه کنید. سرور شما آماده است تا بدون هیچ مشکلی به اجرا درآید و از آن استفاده کنید.