Server falas minecraft në AWS me njohuri zero të Linux
Përshëndetje, Habr! Më saktësisht, mashtruesit që kërkojnë se si të konfigurojnë një server Minecraft për të luajtur me miqtë.
Artikulli është menduar për jo-programues, jo-sysadmin, në përgjithësi, jo për audiencën kryesore të Habr. Artikulli përmban udhëzime hap pas hapi për krijimin e një serveri minecraft me një IP të dedikuar, të përshtatur për njerëzit larg IT. Nëse kjo nuk ka të bëjë me ju, është më mirë të kaloni artikullin.
Çfarë është një server?
Pra, çfarë është një server? Nëse mbështetemi në konceptin e "serverit" si një komponent softuerësh, atëherë serveri është një program që mund të marrë, përpunojë dhe transmetojë të dhënat e marra nga përdoruesit (klientët) që janë të lidhur me këtë server. Duke përdorur faqen si shembull, faqja ndodhet në një server ueb, të cilit i aksesoni përmes një shfletuesi. Në rastin tonë, serveri Minecraft gjeneron një botë në të cilën lojtarët (klientët) lidhen, të cilët mund të ecin, të thyejnë blloqe, etj. Serveri i minecraft është përgjegjës për lidhjen e lojtarëve dhe çdo veprim të tyre.
Natyrisht, serveri duhet të funksionojë në kompjuter (makinë). Mund të konfiguroni një server në kompjuterin tuaj të shtëpisë, por në këtë rast:
Ju rrezikoni sigurinë e kompjuterit tuaj duke hapur portat në të
Serveri do të vendosë një ngarkesë në kompjuterin tuaj, e cila mund të ndërhyjë në punën tuaj me të
Ju nuk mund ta mbani kompjuterin tuaj të shtëpisë të funksionojë 24/7: ndonjëherë e fikni, ndonjëherë kompjuteri juaj humbet lidhjen me internetin, etj.
Për të hyrë në serverin tuaj nga bota e jashtme, do t'ju duhet të hyni në kompjuterin tuaj nëpërmjet adresa IP, që për ofruesit e internetit “shtëpiake” është dinamik, domethënë mund të ndryshojë çdo 2-3 ditë për arsye jashtë kontrollit tuaj.
Dhe si t'i zgjidhim këto probleme?
Zgjidhja për të gjitha këto probleme është përdorimi Makine virtuale me statike, domethënë një adresë IP e pandryshueshme.
Terminologji komplekse? Le ta kuptojmë.
Le të kthehemi te Wikipedia.
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...
Për ta thënë në terma shumë të papërpunuar, është një kompjuter brenda një kompjuteri. Ju gjithashtu mund të instaloni një sistem operativ në të dhe të punoni me të si me një kompjuter të zakonshëm.
Ku mund ta marrim?
Përgjigja është e thjeshtë - AWS. Kjo është një platformë që ofron shumë shërbime të ndryshme cloud që janë të dobishme për të gjithë ata që punojnë me ueb dhe jo vetëm. Për të krijuar një server minecraft, një nga produktet AWS është i përsosur - Amazon EC2 — një makinë virtuale cloud që është e disponueshme 24/7. AWS ofron një makinë virtuale minimale (10 GB SSD, 1 GB RAM) falas për një vit, përveç kësaj, bën të mundur lidhjen e një adrese IP të dedikuar (statike) falas për akses të përhershëm në VM (makinë virtuale) në të njëjtën adresë.
Ne krijojmë dhe konfigurojmë një VM
Shko në sit AWS dhe regjistroheni. Pastaj shkoni te tastiera e menaxhimit.
Në tastierë, midis shërbimeve, gjeni EC2 dhe shkoni tek ajo.
Është e rëndësishme të zgjidhni një qendër të dhënash, e thënë thjesht, vendi ku ndodhen serverët e Amazon. Ju duhet të zgjidhni në varësi të vendndodhjes tuaj, sepse shpejtësia e komunikimit në internet ndryshon, dhe duhet të zgjidhni një qendër të dhënash me të cilën komunikimi nga qyteti juaj do të jetë sa më i shpejtë.
Për të zgjedhur një qendër të dhënash, unë rekomandoj përdorimin e shërbimit WonderNetwork, i cili mat shpejtësinë e transmetimit të paketave me qytete të tjera.
Në rastin tim (Moskë), qendra e të dhënave irlandeze më përshtatej.
Është koha për të krijuar një makinë virtuale. Për ta bërë këtë, shkoni te skeda Shembulli i nisjes
Le të fillojmë konfigurimin e VM.
1) Zgjidhni imazhin e sistemit operativ. Linux është shumë i përshtatshëm për ngritjen e serverëve; ne do të përdorim kompletin e shpërndarjes CentOS7
Duhet të theksohet se nuk do të ketë mjedis grafik në makinën tuaj virtuale; qasja në makinë do të bëhet përmes tastierës. Ai përfshin kontrollin e VM duke përdorur komanda në vend të një miu kompjuterik. Mos kini frikë nga kjo: kjo nuk duhet t'ju ndalojë tani ose të hiqni dorë nga ideja për të ngritur serverin tuaj Minecraft sepse është "shumë e vështirë". Puna me makinën përmes tastierës nuk është e vështirë - së shpejti do ta shihni vetë.
2) Tani le të përcaktojmë konfigurimin teknik të VM. Për përdorim falas, Amazon ofron konfigurimin t2. mikro, nuk mjafton për një server të madh të Minecraft me të drejta të plota, por mjafton për të luajtur me miqtë.
3) Lëreni pjesën tjetër të cilësimeve si parazgjedhje, por ndaloni te skeda Konfiguro grupet e sigurisë.
Këtu duhet të konfigurojmë hyrjen në porte për serverin Minecraft.
Me fjalë të thjeshta, një port është një numër jo negativ që tregon se kujt i drejtohen të dhënat hyrëse nga bota e jashtme. Një VM mund të presë shumë shërbime dhe serverë të ndryshëm, kështu që të gjitha paketat e të dhënave në hyrje ruajnë portin (numrin) e destinacionit (shërbimin, serverin) brenda VM-së në kokën e tyre.
Për serverët e minecraft, standardi de fakto është përdorimi i portit 25565. Le të shtojmë një rregull që tregon se qasja në VM-në tuaj përmes këtij porti është e pranueshme.
Shkojmë në dritaren për të përfunduar krijimin e VM duke klikuar butonin Rishikimi dhe nisja
Vendosja e një çifti çelësash SSH për një VM
Pra, lidhja me makinën do të kryhet duke përdorur protokollin SSH.
Protokolli SSH funksionon si më poshtë: gjenerohet një palë çelësash (publik dhe privat), çelësi publik ruhet në VM dhe çelësi privat ruhet në kompjuterin e personit që lidhet me VM-në (klienti). Kur lidhet, VM kontrollon nëse klienti ka një çelës privat të përshtatshëm.
Klikoni butonin Launch. Dritarja e mëposhtme do të shfaqet para jush:
Futni emrin e çiftit të çelësave (për lehtësinë tuaj) dhe klikoni Shkarko çiftin e çelësave. Ju duhet të shkarkoni .pem një skedar që përmban çelësin tuaj privat. Klikoni butonin Nis shembuj. Sapo keni krijuar një makinë virtuale në të cilën do të instalohet serveri.
Marrja e një IP statike
Tani duhet të marrim dhe të lidhim një IP statike me VM-në tonë. Për këtë menu gjejmë skedën IP -të elastike dhe ne ecim përgjatë saj. Në skedën, klikoni butonin Alokoni adresën elastike IP dhe merrni një IP statike.
Tani adresa IP e marrë duhet të lidhet me VM-në tonë. Për ta bërë këtë, zgjidhni atë nga lista dhe në meny Veprimet zgjidhni Adresa IP e asociuar
Më pas, ne do ta lidhim VM-në me adresën tonë IP
Done!
Shkojmë në VM
Tani që VM është konfiguruar dhe adresa IP është caktuar, le të lidhemi me të dhe të instalojmë serverin tonë minecraft.
Për t'u lidhur me VM nëpërmjet SSH ne do të përdorim programin PETTY. Instaloni PuTTYgen menjëherë nga kjo faqe
Pas instalimit të PuTTY, hapeni atë. Tani ju duhet të konfiguroni lidhjen.
Në skedën seancë zgjidhni llojin e lidhjes SSH, port 22. Specifikoni një emër për lidhjen. Emri i hostit për t'u lidhur nëpërmjet SSH është një varg si: имя_пользователя@публичный_dns.
Emri i parazgjedhur i përdoruesit në AWS për CentOS është cent. DNS-ja juaj publike mund të shihet këtu:
Në skedën SSH -> Auth futni çelësin tuaj privat SSH. Ai ruhet në një skedar .pem, të cilin e kemi shkarkuar më herët. Por PuTTY nuk mund të funksionojë me skedarë .pem, ai ka nevojë për një format .ppk. Për konvertim ne do të përdorim PuTTYgen. Udhëzimet e konvertimit nga faqja e internetit PuTTYgen. Dosja e marrë .ppk Le të ruajmë dhe të tregojmë këtu:
Ne lidhemi me VM duke hapur lidhjen me butonin hapur.
urime! Sapo jemi lidhur me konsolën e VM-së tuaj. Gjithçka që mbetet është të instalojmë serverin tonë në të.
Instalimi dhe konfigurimi i një serveri Minecraft
Le të fillojmë të konfigurojmë serverin tonë. Së pari, ne duhet të instalojmë disa paketa në VM-në tonë.
sudo yum install -y wget mc iptables iptables-services java screen
Le të kuptojmë se për çfarë shërben secila nga paketat.
wget - një mjet për shkarkimin e skedarëve në Linux. Duke e përdorur atë, ne do të shkarkojmë skedarët e serverit.
mc - Redaktori i tekstit të konsolës. Është e thjeshtë dhe e lehtë për t'u përdorur për një përdorues të patrajnuar.
iptables — një mjet për menaxhimin dhe konfigurimin e një muri zjarri, me ndihmën e tij ne do të hapim një port për serverin në VM-në tonë.
Java — Minecraft funksionon në java, kështu që është e nevojshme që serveri të funksionojë
ekran - menaxher i dritareve për Linux. Do të na lejojë të dublikojmë tastierën tonë për të ngritur serverin. Fakti është se serveri duhet të lansohet përmes tastierës; nëse shkëputeni nga VM-ja juaj, procesi i serverit do të ndalet. Prandaj, ne do ta ekzekutojmë atë në një dritare të veçantë të tastierës.
Tani le të konfigurojmë murin e zjarrit.
Një mur zjarri është një softuer ose element harduer-software i një rrjeti kompjuterik që kontrollon dhe filtron trafikun e rrjetit që kalon përmes tij në përputhje me rregullat e specifikuara. (Wikipedia)
Për të shpjeguar me fjalë të thjeshta: imagjinoni një qytet të fortifikuar. Ai sulmohet vazhdimisht nga jashtë, ndërsa në qytet vazhdon jeta normale. Për të hyrë në qytet, ka një portë në murin e kalasë, në të cilën qëndrojnë rojet dhe kontrollojnë nga listat nëse ky person mund të lejohet në kështjellë. Roli i një muri dhe porta në rrjetet kompjuterike kryhet nga një mur zjarri.
sudo mcedit /etc/sysconfig/iptables
Sapo kemi krijuar një skedar konfigurimi të murit të zjarrit. Le ta mbushim me të dhëna standarde të konfigurimit, duke përfshirë një rregull për portin 25565, i cili është porti standard për serverin 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
Mbyllni skedarin duke shtypur F10, duke ruajtur ndryshimet.
Tani le të hapim murin e zjarrit dhe ta aktivizojmë atë në fillim:
Ne do t'i ruajmë skedarët e serverit në një dosje të veçantë, do ta krijojmë atë, do të shkojmë tek ai dhe do të shkarkojmë skedarët e serverit. Për ta bërë këtë duhet të përdorni wget
mkdir minecraft
cd minecraft
wget <ссылка_на_jar>
Duhet gjetur lidhje direkte për shkarkim .jar skedari i serverit. Për shembull, lidhja me versionin 1.15.2 të skedarit të serverit:
Shikoni përmbajtjen e një dosje duke përdorur komandën ls, sigurohuni që skedarët të jenë shkarkuar.
Le të hapim skedarin e serverit. Tani serveri nuk do të funksionojë: do të krijojë të gjithë skedarët e nevojshëm për punë dhe do të ankohet se nuk jeni dakord me kushtet e licencës EULA. Pranoni kushtet duke hapur skedarin eula.txt
sudo mcedit eula.txt
Konfirmoni marrëveshjen tuaj duke ndryshuar hyrjen në:
Është koha për të nisur serverin. Siç thashë tashmë, serveri fillon direkt nga tastiera, por nëse mbyllim tastierën kryesore, procesi i serverit do të ndalet. Prandaj, le të krijojmë një tastierë tjetër:
Serveri fillon për rreth 45 sekonda, mos e ndërprisni procesin. Kur serveri inicializohet dhe funksionon, do të shihni diçka si:
urime! Sapo keni hapur dhe funksionuar serverin tuaj Minecraft. Tani është e rëndësishme të dilni saktë nga tastiera e dytë në mënyrë që ajo të vazhdojë të punojë me serverin që funksionon. Për ta bërë këtë, klikoni Ctrl+A, atëherë D. Ju duhet të jeni në tastierën kryesore dhe të shihni një mesazh si [detached from 1551.pts-0.ip-172-31-37-146]. Nëse duhet të ktheheni në tastierën ku serveri po funksionon, përdorni screen -r
Tani mund të shkëputeni nga VM-ja juaj. Serveri juaj do të jetë i aksesueshëm nëpërmjet adresës IP statike që kemi marrë më parë, në portin 25565.
Rezulton se adresa për të hyrë në server do të jetë <ваш_статический_IP>:25565.
Përfundim
Duke përdorur këto udhëzime, lehtë mund të konfiguroni një server falas të minecraft me një IP të dedikuar. Artikulli është shkruar në gjuhën më të thjeshtë të mundshme dhe është menduar për jo specialistë. Në këtë drejtim, është interesant të dëgjohen komentet e të zënëve, sepse gjatë thjeshtimit të materialit mund të bëhen gabime faktike në terminologji.