سرور Minecraft رایگان در AWS با دانش صفر لینوکس

سلام، هابر! به طور دقیق تر، کلاهبردارانی که به دنبال نحوه راه اندازی یک سرور Minecraft برای بازی با دوستان هستند.

این مقاله برای غیر برنامه نویسان، غیر sysadmin ها، به طور کلی، نه برای مخاطبان اصلی Habr در نظر گرفته شده است. این مقاله حاوی دستورالعمل های گام به گام برای ایجاد یک سرور Minecraft با IP اختصاصی است که برای افراد دور از IT سازگار شده است. اگر این در مورد شما نیست، بهتر است از مقاله صرف نظر کنید.

سرور چیست؟

پس سرور چیست؟ اگر به مفهوم "سرور" به عنوان یک جزء نرم افزاری تکیه کنیم، سرور برنامه ای است که می تواند داده های دریافتی از کاربران (کلاینت ها) متصل به این سرور را دریافت، پردازش و انتقال دهد. با استفاده از سایت به عنوان مثال، سایت در برخی از سرورهای وب قرار دارد که از طریق مرورگر به آن دسترسی دارید. در مورد ما، سرور Minecraft دنیایی را ایجاد می کند که بازیکنان (مشتریان) به آن متصل می شوند، می توانند راه بروند، بلوک ها را بشکنند و غیره. سرور Minecraft مسئول اتصال بازیکنان و هر یک از اقدامات آنها است.

بدیهی است که سرور باید بر روی کامپیوتر (ماشین) در حال اجرا باشد. شما می توانید یک سرور در رایانه خانگی خود راه اندازی کنید، اما در این مورد:

  • شما با باز کردن پورت های کامپیوتر خود امنیت آن را به خطر می اندازید
  • سرور باری را روی رایانه شما وارد می کند که ممکن است در کار شما با آن اختلال ایجاد کند
  • شما نمی توانید رایانه خانگی خود را 24/7 روشن نگه دارید: گاهی اوقات آن را خاموش می کنید، گاهی اوقات رایانه شما اتصال اینترنت را قطع می کند و غیره.
  • برای دسترسی به سرور خود از دنیای بیرون، باید از طریق کامپیوتر خود دسترسی داشته باشید آدرس آی پی، که برای ارائه دهندگان اینترنت "خانه" است پویایعنی هر 2-3 روز به دلایلی خارج از کنترل شما می تواند تغییر کند.

و چگونه این مشکلات را حل کنیم؟

راه حل همه این مشکلات استفاده است ماشین مجازی با ایستا، یعنی یک آدرس IP غیرقابل تغییر.

اصطلاحات پیچیده؟ بیایید آن را بفهمیم.
بیایید به ویکی پدیا برویم.

Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...

به بیان بسیار خام، این یک کامپیوتر درون یک کامپیوتر است. همچنین می توانید یک سیستم عامل روی آن نصب کنید و مانند یک کامپیوتر معمولی با آن کار کنید.

از کجا تهیه کنیم؟

پاسخ ساده است - AWS. این پلتفرمی است که بسیاری از خدمات ابری مختلف را ارائه می دهد که برای همه کسانی که با وب کار می کنند و نه تنها مفید هستند. برای ایجاد یک سرور Minecraft، یکی از محصولات AWS عالی است - آمازون EC2 - یک ماشین مجازی ابری که 24/7 در دسترس است. AWS حداقل ماشین مجازی (10 گیگابایت SSD، 1 گیگابایت رم) را ارائه می دهد. رایگان برای یک سالعلاوه بر این، اتصال یک آدرس IP اختصاصی (استاتیک) رایگان را برای دسترسی دائمی به VM (ماشین مجازی) در همان آدرس ممکن می‌سازد.

ما یک VM را ایجاد و پیکربندی می کنیم

به وب سایت بروید AWS و ثبت نام کنید. سپس به کنسول مدیریت بروید.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

در کنسول، در میان سرویس ها، پیدا کنید EC2 و به آن بروید.

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

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

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

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

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

بیایید پیکربندی VM را شروع کنیم.

1) تصویر سیستم عامل را انتخاب کنید. لینوکس برای افزایش سرورها بسیار راحت است؛ ما از کیت توزیع استفاده خواهیم کرد CentOS7

لازم به ذکر است که هیچ محیط گرافیکی در ماشین مجازی شما وجود نخواهد داشت؛ دسترسی به دستگاه از طریق کنسول خواهد بود. این شامل کنترل VM با استفاده از دستورات به جای ماوس کامپیوتر است. از این نترسید: این نباید اکنون شما را متوقف کند یا از فکر افزایش سرور minecraft خود دست بکشید زیرا "خیلی دشوار است". کار با دستگاه از طریق کنسول دشوار نیست - به زودی خودتان خواهید دید.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

2) حالا بیایید پیکربندی فنی ماشین مجازی را تعریف کنیم. برای استفاده رایگان، آمازون پیکربندی را ارائه می دهد t2.micro، برای یک سرور بزرگ ماین کرافت تمام عیار کافی نیست، اما برای بازی با دوستان کافی است.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

3) بقیه تنظیمات را به عنوان پیش فرض بگذارید، اما در زبانه متوقف شوید پیکربندی گروه های امنیتی.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

در اینجا باید دسترسی به پورت ها را برای سرور minecraft پیکربندی کنیم.

به زبان ساده، یک پورت یک عدد غیر منفی است که نشان می دهد داده های دریافتی از دنیای خارج به چه کسی خطاب می شود. یک ماشین مجازی می‌تواند سرویس‌ها و سرورهای مختلفی را میزبانی کند، بنابراین همه بسته‌های داده ورودی، پورت (تعداد) مقصد (سرویس، سرور) را در داخل ماشین مجازی در هدر خود ذخیره می‌کنند.

برای سرورهای Minecraft، استاندارد واقعی استفاده از پورت است 25565. بیایید یک قانون اضافه کنیم که نشان می دهد دسترسی به VM شما از طریق این پورت قابل قبول است.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

با کلیک بر روی دکمه به پنجره تکمیل ساخت VM می رویم بررسی و راه اندازی

راه اندازی یک جفت کلید SSH برای ماشین مجازی

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

پروتکل SSH به صورت زیر عمل می کند: یک جفت کلید (عمومی و خصوصی) تولید می شود، کلید عمومی در ماشین مجازی ذخیره می شود و کلید خصوصی در رایانه شخصی که به ماشین مجازی متصل می شود (کلینت) ذخیره می شود. هنگام اتصال، VM بررسی می کند که کلاینت یک کلید خصوصی مناسب دارد.

مطبوعات راه اندازی. پنجره زیر در مقابل شما ظاهر می شود:

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

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

دریافت IP ثابت

اکنون باید یک IP استاتیک را به VM خود دریافت کرده و به آن متصل کنیم. برای این منو، تب را پیدا می کنیم IP های الاستیک و در امتداد آن حرکت می کنیم. در برگه، روی دکمه کلیک کنید آدرس IP الاستیک را اختصاص دهید و یک آی پی استاتیک بگیرید.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

اکنون آدرس IP دریافتی باید با ماشین مجازی ما مرتبط باشد. برای انجام این کار، آن را از لیست و در منو انتخاب کنید اعمال انتخاب کنید آدرس IP مرتبط

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

در مرحله بعد، ماشین مجازی را به آدرس IP خود متصل می کنیم

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

انجام شده است

به VM می رویم

اکنون که VM پیکربندی شده و آدرس IP اختصاص داده شده است، بیایید به آن متصل شده و سرور minecraft خود را نصب کنیم.

برای اتصال به VM از طریق SSH از برنامه استفاده می کنیم توله سگ. بلافاصله PuTTYgen را از این صفحه نصب کنید

پس از نصب PuTTY، آن را باز کنید. اکنون باید اتصال را پیکربندی کنید.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

  1. در برگه جلسه نوع اتصال را انتخاب کنید SSH، بندر 22. یک نام برای اتصال مشخص کنید. نام میزبان برای اتصال از طریق SSH رشته ای مانند: имя_пользователя@публичный_dns.

نام کاربری پیش فرض در AWS برای CentOS است لینوکس. DNS عمومی شما در اینجا قابل مشاهده است:

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

من خط را گرفتم [email protected]

  1. در برگه SSH -> Auth کلید SSH خصوصی خود را وارد کنید. در یک فایل ذخیره می شود .pem، که قبلا دانلود کردیم. اما PuTTY نمی تواند با فایل ها کار کند .pem، او نیاز به یک قالب دارد .ppk. برای تبدیل از PuTTYgen استفاده می کنیم. دستورالعمل های تبدیل از وب سایت PuTTYgen. فایل دریافتی .ppk بیایید ذخیره کنیم و در اینجا نشان دهیم:

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

  1. با باز کردن اتصال با دکمه به VM متصل می شویم باز کن.
    تبریک می گویم! ما به تازگی به کنسول VM شما وصل شده ایم. تنها چیزی که باقی می ماند این است که سرور خود را روی آن نصب کنیم.

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

بیایید راه اندازی سرور خود را شروع کنیم. ابتدا باید چندین بسته را روی ماشین مجازی خود نصب کنیم.

sudo yum install -y wget mc iptables iptables-services java screen

بیایید بفهمیم که هر یک از بسته ها برای چیست.

  • دستور wget - ابزاری برای دانلود فایل ها در لینوکس. با استفاده از آن فایل های سرور را دانلود می کنیم.
  • mc - ویرایشگر متن کنسول استفاده از آن برای یک کاربر آموزش ندیده ساده و آسان است.
  • از iptables - ابزاری برای مدیریت و پیکربندی فایروال، با کمک آن یک پورت برای سرور در VM خود باز می کنیم.
  • جاوه - Minecraft روی جاوا اجرا می شود، بنابراین لازم است سرور کار کند
  • پرده - مدیر پنجره برای لینوکس. این به ما امکان می دهد کنسول خود را برای بالا بردن سرور کپی کنیم. واقعیت این است که سرور باید از طریق کنسول راه اندازی شود، اگر از VM خود جدا شوید، فرآیند سرور متوقف می شود. بنابراین، ما آن را در یک پنجره کنسول جداگانه اجرا خواهیم کرد.

حالا بیایید فایروال را پیکربندی کنیم.

فایروال یک نرم افزار یا عنصر سخت افزاری-نرم افزاری یک شبکه کامپیوتری است که ترافیک شبکه عبوری از آن را مطابق با قوانین مشخص شده کنترل و فیلتر می کند. (ویکیپدیا)

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

sudo mcedit /etc/sysconfig/iptables

ما به تازگی یک فایل پیکربندی فایروال ایجاد کرده ایم. بیایید آن را با داده های پیکربندی استاندارد، از جمله یک قانون برای پورت، پر کنیم 25565که پورت استاندارد سرور ماین کرافت است.

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25565 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

با فشار دادن فایل را ببندید F10، تغییرات را ذخیره کنید.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

حالا بیایید فایروال را راه اندازی کنیم و آن را در راه اندازی فعال کنیم:

sudo systemctl enable iptables
sudo systemctl restart iptables

ما فایل های سرور را در یک پوشه جداگانه ذخیره می کنیم، آن را ایجاد می کنیم، به آن می رویم و فایل های سرور را دانلود می کنیم. برای این کار باید استفاده کنید دستور wget

mkdir minecraft
cd minecraft
wget <ссылка_на_jar>

نیاز به پیدا کردن لینک مستقیم برای دانلود .jar فایل سرور به عنوان مثال، به فایل سرور نسخه 1.15.2 پیوند دهید:

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

محتویات یک پوشه را با استفاده از دستور مشاهده کنید ls، مطمئن شوید که فایل ها دانلود شده اند.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

بیایید فایل سرور را راه اندازی کنیم. اکنون سرور کار نمی کند: تمام فایل های لازم برای کار را ایجاد می کند و شکایت می کند که شما با شرایط مجوز EULA موافقت نکرده اید. با باز کردن فایل شرایط را بپذیرید eula.txt

sudo mcedit eula.txt

موافقت خود را با تغییر ورودی به:

eula=true

فایل را باز کنید server.properties: این فایل پیکربندی سرور شما است. اطلاعات بیشتر در مورد تنظیمات سرور

تغییر زیر باید در آن ایجاد شود:

online-mode=false

بقیه تنظیمات در اختیار شماست.

شروع سرور

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

screen

بیایید سرور را در این کنسول راه اندازی کنیم:

 sudo java -Xms512M -Xmx1024M -jar <название_файла_сервера>.jar --nogui

سرور در حدود 45 ثانیه راه اندازی می شود، فرآیند را قطع نکنید. هنگامی که سرور راه اندازی شد و در حال اجرا است، چیزی شبیه به:

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

تبریک می گویم! شما به تازگی سرور Minecraft خود را راه اندازی کرده اید. اکنون مهم است که به درستی از کنسول دوم خارج شوید تا به کار با سرور در حال اجرا ادامه دهد. برای انجام این کار، کلیک کنید Ctrl+A، پس از آن D. شما باید در کنسول اصلی باشید و پیامی مانند این را ببینید [detached from 1551.pts-0.ip-172-31-37-146]. اگر نیاز به بازگشت به کنسولی که سرور در آن در حال اجرا است، استفاده کنید screen -r

اکنون می توانید ارتباط خود را با VM قطع کنید. سرور شما از طریق آدرس IP ثابتی که قبلاً دریافت کردیم، در پورت 25565 قابل دسترسی خواهد بود.

سرور Minecraft رایگان در AWS با دانش صفر لینوکس

معلوم می شود که آدرس برای ورود به سرور خواهد بود <ваш_статический_IP>:25565.

نتیجه

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

منبع: www.habr.com

اضافه کردن نظر