سلام، هابر! به طور دقیق تر، کلاهبردارانی که به دنبال نحوه راه اندازی یک سرور 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 و ثبت نام کنید. سپس به کنسول مدیریت بروید.
در کنسول، در میان سرویس ها، پیدا کنید EC2 و به آن بروید.
انتخاب مرکز داده مهم استبه عبارت ساده، مکانی که سرورهای آمازون در آن قرار دارند. شما باید بسته به موقعیت مکانی خود انتخاب کنید، زیرا سرعت ارتباط در اینترنت متفاوت است و باید مرکز داده ای را انتخاب کنید که ارتباط از شهر شما با آن تا حد امکان سریع باشد.
برای انتخاب یک مرکز داده، توصیه می کنم از این سرویس استفاده کنید WonderNetworkکه سرعت انتقال بسته ها با شهرهای دیگر را اندازه گیری می کند.
در مورد من (مسکو)، مرکز داده ایرلندی مناسب من بود.
زمان ایجاد یک ماشین مجازی فرا رسیده است. برای انجام این کار، به تب بروید راه اندازی نمونه
بیایید پیکربندی VM را شروع کنیم.
1) تصویر سیستم عامل را انتخاب کنید. لینوکس برای افزایش سرورها بسیار راحت است؛ ما از کیت توزیع استفاده خواهیم کرد CentOS7
لازم به ذکر است که هیچ محیط گرافیکی در ماشین مجازی شما وجود نخواهد داشت؛ دسترسی به دستگاه از طریق کنسول خواهد بود. این شامل کنترل VM با استفاده از دستورات به جای ماوس کامپیوتر است. از این نترسید: این نباید اکنون شما را متوقف کند یا از فکر افزایش سرور minecraft خود دست بکشید زیرا "خیلی دشوار است". کار با دستگاه از طریق کنسول دشوار نیست - به زودی خودتان خواهید دید.
2) حالا بیایید پیکربندی فنی ماشین مجازی را تعریف کنیم. برای استفاده رایگان، آمازون پیکربندی را ارائه می دهد t2.micro، برای یک سرور بزرگ ماین کرافت تمام عیار کافی نیست، اما برای بازی با دوستان کافی است.
3) بقیه تنظیمات را به عنوان پیش فرض بگذارید، اما در زبانه متوقف شوید پیکربندی گروه های امنیتی.
در اینجا باید دسترسی به پورت ها را برای سرور minecraft پیکربندی کنیم.
به زبان ساده، یک پورت یک عدد غیر منفی است که نشان می دهد داده های دریافتی از دنیای خارج به چه کسی خطاب می شود. یک ماشین مجازی میتواند سرویسها و سرورهای مختلفی را میزبانی کند، بنابراین همه بستههای داده ورودی، پورت (تعداد) مقصد (سرویس، سرور) را در داخل ماشین مجازی در هدر خود ذخیره میکنند.
برای سرورهای Minecraft، استاندارد واقعی استفاده از پورت است 25565. بیایید یک قانون اضافه کنیم که نشان می دهد دسترسی به VM شما از طریق این پورت قابل قبول است.
با کلیک بر روی دکمه به پنجره تکمیل ساخت VM می رویم بررسی و راه اندازی
راه اندازی یک جفت کلید SSH برای ماشین مجازی
بنابراین، اتصال به دستگاه با استفاده از پروتکل SSH انجام خواهد شد.
پروتکل SSH به صورت زیر عمل می کند: یک جفت کلید (عمومی و خصوصی) تولید می شود، کلید عمومی در ماشین مجازی ذخیره می شود و کلید خصوصی در رایانه شخصی که به ماشین مجازی متصل می شود (کلینت) ذخیره می شود. هنگام اتصال، VM بررسی می کند که کلاینت یک کلید خصوصی مناسب دارد.
مطبوعات راه اندازی. پنجره زیر در مقابل شما ظاهر می شود:
نام جفت کلید را وارد کنید (برای راحتی شما) و کلیک کنید دانلود جفت کلید. شما باید دانلود کنید .پم یک فایل حاوی کلید خصوصی شما روی دکمه کلیک کنید راه اندازی نمونه ها. شما به تازگی یک ماشین مجازی ایجاد کرده اید که سرور روی آن نصب خواهد شد.
دریافت IP ثابت
اکنون باید یک IP استاتیک را به VM خود دریافت کرده و به آن متصل کنیم. برای این منو، تب را پیدا می کنیم IP های الاستیک و در امتداد آن حرکت می کنیم. در برگه، روی دکمه کلیک کنید آدرس IP الاستیک را اختصاص دهید و یک آی پی استاتیک بگیرید.
اکنون آدرس IP دریافتی باید با ماشین مجازی ما مرتبط باشد. برای انجام این کار، آن را از لیست و در منو انتخاب کنید اعمال انتخاب کنید آدرس IP مرتبط
در مرحله بعد، ماشین مجازی را به آدرس IP خود متصل می کنیم
انجام شده است
به VM می رویم
اکنون که VM پیکربندی شده و آدرس IP اختصاص داده شده است، بیایید به آن متصل شده و سرور minecraft خود را نصب کنیم.
برای اتصال به VM از طریق SSH از برنامه استفاده می کنیم توله سگ. بلافاصله PuTTYgen را از این صفحه نصب کنید
پس از نصب PuTTY، آن را باز کنید. اکنون باید اتصال را پیکربندی کنید.
در برگه جلسه نوع اتصال را انتخاب کنید SSH، بندر 22. یک نام برای اتصال مشخص کنید. نام میزبان برای اتصال از طریق SSH رشته ای مانند: имя_пользователя@публичный_dns.
نام کاربری پیش فرض در AWS برای CentOS است لینوکس. DNS عمومی شما در اینجا قابل مشاهده است:
در برگه SSH -> Auth کلید SSH خصوصی خود را وارد کنید. در یک فایل ذخیره می شود .pem، که قبلا دانلود کردیم. اما PuTTY نمی تواند با فایل ها کار کند .pem، او نیاز به یک قالب دارد .ppk. برای تبدیل از PuTTYgen استفاده می کنیم. دستورالعمل های تبدیل از وب سایت PuTTYgen. فایل دریافتی .ppk بیایید ذخیره کنیم و در اینجا نشان دهیم:
با باز کردن اتصال با دکمه به 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، تغییرات را ذخیره کنید.
حالا بیایید فایروال را راه اندازی کنیم و آن را در راه اندازی فعال کنیم:
ما فایل های سرور را در یک پوشه جداگانه ذخیره می کنیم، آن را ایجاد می کنیم، به آن می رویم و فایل های سرور را دانلود می کنیم. برای این کار باید استفاده کنید دستور wget
mkdir minecraft
cd minecraft
wget <ссылка_на_jar>
نیاز به پیدا کردن لینک مستقیم برای دانلود .jar فایل سرور به عنوان مثال، به فایل سرور نسخه 1.15.2 پیوند دهید:
محتویات یک پوشه را با استفاده از دستور مشاهده کنید ls، مطمئن شوید که فایل ها دانلود شده اند.
بیایید فایل سرور را راه اندازی کنیم. اکنون سرور کار نمی کند: تمام فایل های لازم برای کار را ایجاد می کند و شکایت می کند که شما با شرایط مجوز EULA موافقت نکرده اید. با باز کردن فایل شرایط را بپذیرید eula.txt
زمان راه اندازی سرور است. همانطور که قبلاً گفتم سرور مستقیماً از کنسول شروع می شود اما اگر کنسول اصلی را ببندیم فرآیند سرور متوقف می شود. بنابراین، اجازه دهید یک کنسول دیگر ایجاد کنیم:
سرور در حدود 45 ثانیه راه اندازی می شود، فرآیند را قطع نکنید. هنگامی که سرور راه اندازی شد و در حال اجرا است، چیزی شبیه به:
تبریک می گویم! شما به تازگی سرور Minecraft خود را راه اندازی کرده اید. اکنون مهم است که به درستی از کنسول دوم خارج شوید تا به کار با سرور در حال اجرا ادامه دهد. برای انجام این کار، کلیک کنید Ctrl+A، پس از آن D. شما باید در کنسول اصلی باشید و پیامی مانند این را ببینید [detached from 1551.pts-0.ip-172-31-37-146]. اگر نیاز به بازگشت به کنسولی که سرور در آن در حال اجرا است، استفاده کنید screen -r
اکنون می توانید ارتباط خود را با VM قطع کنید. سرور شما از طریق آدرس IP ثابتی که قبلاً دریافت کردیم، در پورت 25565 قابل دسترسی خواهد بود.
معلوم می شود که آدرس برای ورود به سرور خواهد بود <ваш_статический_IP>:25565.
نتیجه
با استفاده از این دستورالعمل ها، می توانید به راحتی یک سرور Minecraft رایگان با یک IP اختصاصی راه اندازی کنید. مقاله به ساده ترین زبان ممکن نوشته شده است و برای افراد غیر متخصص در نظر گرفته شده است. در این زمینه شنیدن نظرات افراد مشغله جالب است، زیرا در ساده سازی مطالب می توان اشتباهات واقعی در اصطلاح را مرتکب شد.