Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Сайн уу, Хабр! Бүр тодруулбал, найзуудтайгаа тоглохын тулд minecraft серверийг хэрхэн тохируулахыг хайж буй луйварчид.

Нийтлэл нь програмист биш, системд ажилладаггүй хүмүүст зориулагдсан бөгөөд ерөнхийдөө Хабрын гол үзэгчдэд зориулагдаагүй болно. Уг нийтлэлд мэдээллийн технологиос хол байгаа хүмүүст зориулагдсан тусгай IP бүхий minecraft сервер үүсгэх алхам алхмаар зааварчилгааг агуулсан болно. Хэрэв энэ нь таны тухай биш бол нийтлэлийг алгасах нь дээр.

Сервер гэж юу вэ?

Тэгэхээр сервер гэж юу вэ? Хэрэв бид "сервер" гэсэн ойлголтыг програм хангамжийн бүрэлдэхүүн хэсэг болгон ашиглах юм бол сервер нь энэ серверт холбогдсон хэрэглэгчээс (үйлчлүүлэгч) хүлээн авсан өгөгдлийг хүлээн авах, боловсруулах, дамжуулах боломжтой програм юм. Сайтыг жишээ болгон ашиглавал сайт нь вэб сервер дээр байрладаг бөгөөд та хөтөчөөр дамжуулан ханддаг. Манай тохиолдолд minecraft сервер нь тоглогчид (үйлчлүүлэгчид) холбогддог, алхаж чаддаг, блокуудыг эвддэг гэх мэт ертөнцийг бий болгодог. Minecraft сервер нь тоглогчид болон тэдний аливаа үйлдлийг холбох үүрэгтэй.

Мэдээжийн хэрэг, сервер компьютер (машин) дээр ажиллаж байх ёстой. Та гэрийн компьютер дээрээ сервер суулгаж болно, гэхдээ энэ тохиолдолд:

  • Та өөрийн компьютер дээрх портуудыг нээснээр түүний аюулгүй байдалд аюул учруулж байна
  • Сервер нь таны компьютерт ачаалал өгөх бөгөөд энэ нь таны ажиллахад саад болж болзошгүй юм
  • Та гэрийн компьютерээ 24/7 ажиллуулж чадахгүй: заримдаа та үүнийг унтраадаг, заримдаа таны компьютер интернет холболтгүй болдог гэх мэт.
  • Гадаад ертөнцөөс өөрийн серверт хандахын тулд та өөрийн компьютерт дамжуулан нэвтрэх шаардлагатай болно IP хаяг, энэ нь "гэрийн" интернет үйлчилгээ үзүүлэгчдийн хувьд юм динамик, өөрөөр хэлбэл, энэ нь таны үл хамаарах шалтгаанаар 2-3 хоног тутамд өөрчлөгдөж болно.

Мөн бид эдгээр асуудлыг хэрхэн шийдвэрлэх вэ?

Эдгээр бүх асуудлын шийдэл нь ашиглах явдал юм виртуал машин нь статик, өөрөөр хэлбэл өөрчлөгддөггүй IP хаяг.

Нарийн төвөгтэй нэр томъёо? Үүнийг олж мэдье.
Википедиа руу орцгооё.

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

Маш бүдүүлэг үгээр хэлбэл, энэ нь компьютер доторх компьютер юм. Та үүн дээр үйлдлийн систем суулгаж, энгийн компьютер шиг ажиллах боломжтой.

Бид хаанаас авч болох вэ?

Хариулт нь энгийн - AWS. Энэ бол зөвхөн вэб дээр ажилладаг төдийгүй олон төрлийн үүлэн үйлчилгээ үзүүлдэг платформ юм. Minecraft сервер үүсгэхийн тулд AWS бүтээгдэхүүнүүдийн нэг нь төгс төгөлдөр юм - Amazon EC2 — 24/7 ашиглах боломжтой үүлэн виртуал машин. AWS нь хамгийн бага виртуал машиныг санал болгодог (10GB SSD, 1GB RAM) жилийн турш үнэгүй, үүнээс гадна, таны VM (виртуал машин) руу нэг хаягаар байнгын хандалт хийх үнэгүй зориулалтын (статик) IP хаягийг холбох боломжтой болгодог.

Бид VM үүсгэж, тохируулдаг

Вэбсайт руу орно уу AWS болон бүртгүүлнэ үү. Дараа нь удирдлагын консол руу очно уу.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Консол дээрээс үйлчилгээнүүдээс олоорой EC2 тэгээд түүн рүү оч.

Дата төвийг сонгох нь чухал, энгийнээр хэлэхэд Amazon серверүүд байрладаг газар. Интернэт дэх харилцааны хурд харилцан адилгүй байдаг тул та өөрийн хотоос аль болох хурдан харилцах дата төвийг сонгох хэрэгтэй.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Дата төвийг сонгохын тулд би үйлчилгээг ашиглахыг зөвлөж байна WonderNetwork, энэ нь бусад хотуудтай пакет дамжуулах хурдыг хэмждэг.
Миний хувьд (Москва) Ирландын мэдээллийн төв надад тохирсон.

Виртуал машин үүсгэх цаг болжээ. Үүнийг хийхийн тулд таб руу очно уу Жишээ эхлүүлэх

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

VM-ийн тохиргоог эхлүүлцгээе.

1) Үйлдлийн системийн дүрсийг сонгоно уу. Линукс серверүүдийг өсгөхөд маш тохиромжтой тул бид түгээлтийн хэрэгслийг ашиглах болно CentOS7

Таны виртуал машин дээр график орчин байхгүй, машин руу нэвтрэх нь консолоор дамжих болно гэдгийг тэмдэглэх нь зүйтэй. Энэ нь компьютерийн хулгана гэхээсээ илүү командуудыг ашиглан VM-ийг удирдах явдал юм. Үүнээс бүү ай: энэ нь таныг одоо зогсоох эсвэл өөрийн minecraft серверийг өсгөх санаагаа орхих ёсгүй, учир нь энэ нь "хэт хэцүү" юм. Консолоор дамжуулан машинтай ажиллах нь тийм ч хэцүү биш - та удахгүй өөрөө харах болно.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

2) Одоо VM-ийн техникийн тохиргоог тодорхойлъё. Үнэгүй ашиглахын тулд Amazon тохиргоог санал болгодог t2.micro, бүрэн хэмжээний том minecraft серверт хангалттай биш, гэхдээ найзуудтайгаа тоглоход хангалттай.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

3) Үлдсэн тохиргоог анхдагч байдлаар үлдээгээрэй, гэхдээ таб дээр зогсоо Аюулгүй байдлын бүлгүүдийг тохируулах.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Энд бид minecraft серверийн портуудад хандах тохиргоог хийх хэрэгтэй.

Энгийнээр хэлэхэд порт гэдэг нь гадаад ертөнцөөс ирж буй өгөгдөл хэнд хандаж байгааг илтгэх сөрөг бус тоо юм. VM нь олон төрлийн үйлчилгээ, серверүүдийг байршуулах боломжтой тул ирж буй бүх өгөгдлийн пакетууд нь VM доторх зорьсон газрын (үйлчилгээ, сервер) портыг (тоо) толгой хэсэгт хадгалдаг.

Minecraft серверүүдийн хувьд де факто стандарт нь портыг ашиглах явдал юм 25565. Энэ портоор дамжуулан таны VM-д хандах боломжтой гэсэн дүрмийг оруулъя.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Бид товчлуур дээр дарж VM-ийг үүсгэж дуусгах цонх руу очно Шалгаж, ажиллуулна уу

VM-д зориулсан SSH түлхүүрийн хослолыг тохируулж байна

Тиймээс машинтай холболтыг SSH протокол ашиглан гүйцэтгэнэ.

SSH протокол нь дараах байдлаар ажилладаг: хос түлхүүрүүд (нийтийн болон хувийн) үүсгэгдэж, нийтийн түлхүүр нь VM дээр, хувийн түлхүүр нь VM (үйлчлүүлэгч) -тэй холбогдсон хүний ​​компьютер дээр хадгалагдана. Холбох үед VM нь үйлчлүүлэгчид тохирох хувийн түлхүүр байгаа эсэхийг шалгадаг.

хэвлэл мэдээллийн Эхлэх. Таны өмнө дараах цонх гарч ирнэ.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Түлхүүр хосын нэрийг оруулаад (таны тав тухтай байдлыг хангах үүднээс) товшино уу Түлхүүр хос татаж авах. Та татаж авах хэрэгтэй .pem таны хувийн түлхүүрийг агуулсан файл. товчийг дарна уу Тохиолдлуудыг эхлүүлэх. Та дөнгөж сая серверийг суулгах виртуал машин үүсгэлээ.

Статик IP авах

Одоо бид статик IP-г авч, VM-дээ холбох хэрэгтэй. Энэ цэсийн хувьд бид табыг олдог Уян хатан IP мөн бид түүний дагуу хөдөлдөг. Таб дээрх товчлуур дээр дарна уу Уян хатан IP хаягийг хуваарилах мөн статик IP авах.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Одоо хүлээн авсан IP хаяг нь манай VM-тэй холбоотой байх ёстой. Үүнийг хийхийн тулд жагсаалт болон цэснээс үүнийг сонгоно уу үйл ажиллагаа сонгох IP хаягийг холбоно уу

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Дараа нь бид VM-ийг өөрийн IP хаягтай холбох болно

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Дууссан!

Бид VM руу явдаг

Одоо VM-г тохируулж, IP хаягийг нь өгсөн бол үүнтэй холбогдож minecraft серверээ суулгацгаая.

SSH-ээр дамжуулан VM-тэй холбогдохын тулд бид програмыг ашиглах болно БУРХАН. PuTTYgen-ийг энэ хуудаснаас шууд суулгана уу

PuTTY суулгасны дараа нээнэ үү. Одоо та холболтыг тохируулах хэрэгтэй.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

  1. Таб дотор хуралдаан холболтын төрлийг сонгоно уу SSH, порт 22. Холболтын нэрийг зааж өгнө үү. SSH-ээр холбогдох хостын нэр нь дараахтай адил мөр юм. имя_пользователя@публичный_dns.

CentOS-д зориулсан AWS-ийн өгөгдмөл хэрэглэгчийн нэр цент. Таны нийтийн DNS-г эндээс харах боломжтой:

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Би шугамыг авсан [email protected]

  1. Таб дотор SSH -> Aut хувийн SSH түлхүүрээ оруулна уу. Энэ нь файлд хадгалагддаг .pem, бидний өмнө нь татаж авсан. Гэхдээ PuTTY файлтай ажиллах боломжгүй .pem, түүнд формат хэрэгтэй .ppk. Хөрвүүлэхийн тулд бид PuTTYgen ашиглах болно. PuTTYgen вэбсайтаас хөрвүүлэх заавар. Хүлээн авсан файл .ppk Энд хадгалаад зааж өгье:

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

  1. Бид товчлуураар холболтыг нээснээр VM-тэй холбогддог Нээлттэй.
    Баяр хүргэе! Бид дөнгөж сая таны VM-ийн консолтой холбогдлоо. Үүн дээр серверээ суулгах л үлдлээ.

Minecraft сервер суулгах, тохируулах

Серверээ тохируулж эхэлцгээе. Эхлээд бид VM дээрээ хэд хэдэн багц суулгах хэрэгтэй.

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

Багц бүр нь юунд зориулагдсан болохыг олж мэдье.

  • wget - Линукс дээр файл татаж авах хэрэгсэл. Үүнийг ашигласнаар бид серверийн файлуудыг татаж авах болно.
  • mc - консол текст засварлагч. Энэ нь энгийн бөгөөд сургалтгүй хэрэглэгчдэд хэрэглэхэд хялбар юм.
  • iptables — галт ханыг удирдах, тохируулах хэрэгсэл бөгөөд түүний тусламжтайгаар бид VM дээр серверт порт нээх болно.
  • java — minecraft нь java дээр ажилладаг тул сервер ажиллахад зайлшгүй шаардлагатай
  • дэлгэц - Linux-д зориулсан цонхны менежер. Энэ нь серверийг нэмэгдүүлэхийн тулд консолоо хуулбарлах боломжийг бидэнд олгоно. Баримт нь серверийг консолоор дамжуулан эхлүүлэх ёстой бөгөөд хэрэв та VM-ээ салгавал серверийн процесс зогсох болно. Тиймээс бид үүнийг тусдаа консол цонхонд ажиллуулах болно.

Одоо галт ханыг тохируулцгаая.

Галт хана нь компьютерийн сүлжээгээр дамжин өнгөрөх сүлжээний урсгалыг заасан дүрмийн дагуу хянаж, шүүдэг программ хангамж эсвэл техник хангамж-програм хангамжийн элемент юм. (Википедиа)

Энгийнээр тайлбарлавал: бэхлэгдсэн хотыг төсөөлөөд үз дээ. Хотод хэвийн амьдрал үргэлжилж байхад гаднаас нь байнга дайрдаг. Хот руу нэвтрэхийн тулд цайзын хананд хаалга байдаг бөгөөд үүн дээр харуулууд зогсож, энэ хүнийг цайз руу оруулах боломжтой эсэхийг жагсаалтаас шалгадаг. Компьютерийн сүлжээнд хана, хаалганы үүргийг галт хана гүйцэтгэдэг.

sudo mcedit /etc/sysconfig/iptables

Бид дөнгөж сая галт ханын тохиргооны файлыг үүсгэлээ. Үүнийг портын дүрмийг багтаасан стандарт тохиргооны өгөгдөлөөр дүүргэцгээе 25565, энэ нь minecraft серверийн стандарт порт юм.

*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, өөрчлөлтүүдийг хадгалах.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Одоо галт ханыг ажиллуулж, эхлүүлэх үед идэвхжүүлье:

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, файлуудыг татаж авсан эсэхийг шалгана уу.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Сервер файлыг ажиллуулцгаая. Одоо сервер ажиллахгүй: энэ нь ажилд шаардлагатай бүх файлыг үүсгэх бөгөөд таныг EULA лицензийн нөхцлийг хүлээн зөвшөөрөөгүй гэж гомдоллох болно. Файлыг нээх замаар нөхцөлийг зөвшөөрнө үү eula.txt

sudo mcedit eula.txt

Нэвтрүүлгээ өөрчлөх замаар гэрээгээ баталгаажуулна уу:

eula=true

Файлыг нээнэ үү server.properties: Энэ бол таны серверийн тохиргооны файл юм. Серверийн тохиргооны талаар дэлгэрэнгүй

Үүнд дараах өөрчлөлтийг хийх ёстой.

online-mode=false

Үлдсэн тохиргоо нь таны үзэмжээр байна.

Серверийг эхлүүлж байна

Серверийг эхлүүлэх цаг боллоо. Би аль хэдийн хэлсэнчлэн сервер шууд консолоос эхэлдэг, гэхдээ хэрэв бид үндсэн консолыг хаавал серверийн процесс зогсох болно. Тиймээс өөр консол үүсгэцгээе:

screen

Энэ консол дээр серверээ эхлүүлцгээе:

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

Сервер ойролцоогоор 45 секундын дараа эхлэх тул процессыг бүү тасал. Серверийг эхлүүлж, ажиллаж байх үед та дараах зүйлийг харах болно.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Баяр хүргэе! Та minecraft серверээ ажиллуулж эхлээд байна. Одоо ажиллаж байгаа сервертэй үргэлжлүүлэн ажиллахын тулд хоёр дахь консолоос зөв гарах нь чухал юм. Үүнийг хийхийн тулд товшино уу Ctrl+Aдараа нь D. Та үндсэн консол дээр байх ёстой бөгөөд иймэрхүү мессежийг харах хэрэгтэй [detached from 1551.pts-0.ip-172-31-37-146]. Хэрэв та сервер ажиллаж байгаа консол руу буцах шаардлагатай бол ашиглана уу screen -r

Та одоо VM-ээсээ салж болно. Таны сервер 25565 порт дээр бидний өмнө хүлээн авсан статик IP хаягаар нэвтрэх боломжтой болно.

Линуксыг огт мэддэггүй AWS дээр үнэгүй minecraft сервер

Энэ нь серверт нэвтрэх хаяг байх болно <ваш_статический_IP>:25565.

дүгнэлт

Эдгээр зааврыг ашигласнаар та тусгай IP хаягтай үнэгүй minecraft серверийг хялбархан тохируулах боломжтой. Нийтлэлийг аль болох энгийн хэлээр бичсэн бөгөөд мэргэжлийн бус хүмүүст зориулагдсан болно. Үүнтэй холбогдуулан материалыг хялбарчлахдаа нэр томъёонд бодит алдаа гаргаж болзошгүй тул эзлэгдсэн хүмүүсийн сэтгэгдлийг сонсох нь сонирхолтой юм.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх