Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Habari, Habr! Kwa usahihi zaidi, mafisadi ambao wanatafuta jinsi ya kusanidi seva ya minecraft ili kucheza na marafiki.

Nakala hiyo imekusudiwa kwa wasio-programu, wasio-sysadmins, kwa ujumla, si kwa hadhira kuu ya Habr. Nakala hiyo ina maagizo ya hatua kwa hatua ya kuunda seva ya minecraft na IP iliyojitolea, iliyorekebishwa kwa watu walio mbali na IT. Ikiwa hii haikuhusu, ni bora kuruka nakala hiyo.

Seva ni nini?

Kwa hivyo seva ni nini? Ikiwa tunategemea dhana ya "seva" kama sehemu ya programu, basi seva ni programu inayoweza kupokea, kusindika na kusambaza data iliyopokelewa kutoka kwa watumiaji (wateja) ambao wameunganishwa kwenye seva hii. Kwa kutumia tovuti kama mfano, tovuti iko kwenye seva fulani ya wavuti, ambayo unaweza kufikia kupitia kivinjari. Kwa upande wetu, seva ya minecraft inazalisha ulimwengu ambao wachezaji (wateja) huunganisha, ambao wanaweza kutembea, kuvunja vitalu, nk. Seva ya minecraft ina jukumu la kuunganisha wachezaji na vitendo vyao vyovyote.

Ni wazi, seva lazima iwe inaendesha kwenye kompyuta (mashine). Unaweza kusanidi seva kwenye kompyuta yako ya nyumbani, lakini katika kesi hii:

  • Unahatarisha usalama wa kompyuta yako mwenyewe kwa kufungua bandari juu yake
  • Seva itaweka mzigo kwenye kompyuta yako, ambayo inaweza kuingilia kazi yako nayo
  • Huwezi kuweka kompyuta yako ya nyumbani inayoendesha 24/7: wakati mwingine unaizima, wakati mwingine kompyuta yako inapoteza muunganisho wa mtandao, nk.
  • Ili kufikia seva yako kutoka kwa ulimwengu wa nje, itabidi ufikie kompyuta yako kupitia Anwani ya IP, ambayo kwa watoa huduma wa mtandao wa "nyumbani" ni nguvu, yaani, inaweza kubadilika kila baada ya siku 2-3 kwa sababu zilizo nje ya uwezo wako.

Na tunatatuaje matatizo haya?

Suluhisho la shida hizi zote ni kutumia mashine virtual na tuli, yaani, anwani ya IP isiyobadilika.

Istilahi changamano? Hebu tufikirie.
Hebu tugeukie Wikipedia.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина (VM, ΠΎΡ‚ Π°Π½Π³Π». virtual machine) β€” программная ΠΈ/ΠΈΠ»ΠΈ аппаратная систСма, ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹...

Ili kuiweka kwa maneno machafu sana, ni kompyuta ndani ya kompyuta. Unaweza pia kusakinisha mfumo wa uendeshaji juu yake na kufanya kazi nayo kama na kompyuta ya kawaida.

Tunaweza kuipata wapi?

Jibu ni rahisi - AWS. Hili ni jukwaa ambalo hutoa huduma nyingi tofauti za wingu ambazo ni muhimu kwa kila mtu anayefanya kazi na wavuti na sio tu. Ili kuunda seva ya minecraft, moja ya bidhaa za AWS ni kamili - Amazon EC2 β€” mashine ya mtandaoni ya wingu ambayo inapatikana 24/7. AWS inatoa kiwango cha chini cha mashine pepe (10GB SSD, RAM 1GB) bure kwa mwaka, kwa kuongeza, inafanya uwezekano wa kufunga anwani ya IP iliyojitolea (tuli) bila malipo kwa ufikiaji wa kudumu kwa VM yako (mashine pepe) kwenye anwani sawa.

Tunaunda na kusanidi VM

Nenda kwenye wavuti AWS na kujiandikisha. Kisha nenda kwenye koni ya usimamizi.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Katika console, kati ya huduma, pata EC2 na kwenda kwake.

Ni muhimu kuchagua kituo cha data, kwa urahisi, mahali ambapo seva za Amazon ziko. Unapaswa kuchagua kulingana na eneo lako, kwa sababu kasi ya mawasiliano kwenye mtandao inatofautiana, na unapaswa kuchagua kituo cha data ambacho mawasiliano kutoka kwa jiji lako yatakuwa haraka iwezekanavyo.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Ili kuchagua kituo cha data, napendekeza kutumia huduma WonderNetwork, ambayo hupima kasi ya maambukizi ya pakiti na miji mingine.
Katika kesi yangu (Moscow), kituo cha data cha Ireland kilinifaa.

Ni wakati wa kuunda mashine ya mtandaoni. Ili kufanya hivyo, nenda kwenye kichupo Uzinduzi mfano

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Wacha tuanze kusanidi VM.

1) Chagua picha ya mfumo wa uendeshaji. Linux ni rahisi sana kwa kuinua seva; tutatumia vifaa vya usambazaji CentOS7

Ikumbukwe kwamba hakutakuwa na mazingira ya picha kwenye mashine yako ya mtandaoni; ufikiaji wa mashine utakuwa kupitia koni. Inajumuisha kudhibiti VM kwa kutumia amri badala ya kipanya cha kompyuta. Usiogope hii: hii haipaswi kukuzuia sasa au kuachana na wazo la kuinua seva yako ya minecraft kwa sababu ni "ngumu sana." Kufanya kazi na mashine kwa njia ya console si vigumu - hivi karibuni utajionea mwenyewe.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

2) Sasa hebu tufafanue usanidi wa kiufundi wa VM. Kwa matumizi ya bure, Amazon inatoa usanidi t2.micro, haitoshi kwa seva kubwa ya minecraft iliyojaa kamili, lakini inatosha kucheza na marafiki.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

3) Acha mipangilio iliyobaki kama chaguo-msingi, lakini usimame kwenye kichupo Sanidi vikundi vya Usalama.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Hapa tunahitaji kusanidi ufikiaji wa bandari kwa seva ya minecraft.

Kwa maneno rahisi, bandari ni nambari isiyo hasi inayoonyesha data inayoingia kutoka kwa ulimwengu wa nje inashughulikiwa. VM inaweza kupangisha huduma na seva nyingi tofauti, kwa hivyo pakiti zote za data zinazoingia huhifadhi bandari (nambari) ya marudio (huduma, seva) ndani ya VM kwenye vichwa vyao.

Kwa seva za minecraft, kiwango cha de facto ni kutumia bandari 25565. Hebu tuongeze sheria inayoonyesha kuwa ufikiaji wa VM yako kupitia mlango huu unakubalika.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Tunaenda kwenye dirisha ili kukamilisha uundaji wa VM kwa kubofya kitufe Kagua na Uzindue

Kuanzisha jozi ya vitufe vya SSH kwa VM

Kwa hivyo, unganisho kwenye mashine utafanywa kwa kutumia itifaki ya SSH.

Itifaki ya SSH inafanya kazi kama ifuatavyo: jozi ya funguo (ya umma na ya kibinafsi) inatolewa, ufunguo wa umma huhifadhiwa kwenye VM, na ufunguo wa kibinafsi huhifadhiwa kwenye kompyuta ya mtu anayeunganisha kwa VM (mteja). Wakati wa kuunganisha, VM huangalia ikiwa mteja ana ufunguo wa kibinafsi unaofaa.

vyombo vya habari Uzinduzi. Dirisha lifuatalo litaonekana mbele yako:

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Ingiza jina la jozi muhimu (kwa urahisi wako) na ubofye Pakua jozi za vitufe. Unapaswa kupakua .pem faili iliyo na ufunguo wako wa kibinafsi. Bofya kitufe Matukio ya uzinduzi. Umeunda mashine ya kawaida ambayo seva itasakinishwa.

Kupata IP tuli

Sasa tunahitaji kupata na kufunga IP tuli kwa VM yetu. Kwa menyu hii tunapata kichupo IPs za elastic na tunaendelea nayo. Kwenye kichupo, bonyeza kitufe Tenga anwani ya IP ya Elastic na upate IP tuli.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Sasa anwani ya IP iliyopokelewa lazima ihusishwe na VM yetu. Ili kufanya hivyo, chagua kutoka kwenye orodha na kwenye menyu Vitendo kuchagua Anwani ya IP inayohusika

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Ifuatayo, tutafunga VM kwa anwani yetu ya IP

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Imefanyika!

Tunaenda kwa VM

Sasa kwa kuwa VM imesanidiwa na anwani ya IP imepewa, wacha tuunganishe nayo na tusakinishe seva yetu ya minecraft.

Ili kuunganishwa na VM kupitia SSH tutatumia programu PuTTY. Sakinisha PuTTYgen mara moja kutoka kwa ukurasa huu

Baada ya kusakinisha PuTTY, fungua. Sasa unahitaji kusanidi uunganisho.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

  1. Katika kichupo Kipindi chagua aina ya uunganisho SSH, bandari 22. Bainisha jina la muunganisho. Jina la mwenyeji la kuunganisha kupitia SSH ni kamba kama: имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ@ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ_dns.

Jina la mtumiaji chaguo-msingi katika AWS kwa CentOS ni centos. DNS yako ya umma inaweza kutazamwa hapa:

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Nimepata mstari [email protected]

  1. Katika kichupo SSH -> Auth ingiza ufunguo wako wa kibinafsi wa SSH. Imehifadhiwa kwenye faili .pem, ambayo tulipakua hapo awali. Lakini PuTTY haiwezi kufanya kazi na faili .pem, anahitaji umbizo .ppk. Kwa uongofu tutatumia PuTTYgen. Maagizo ya ubadilishaji kutoka kwa wavuti ya PuTTYgen. Faili iliyopokelewa .ppk Wacha tuhifadhi na tuonyeshe hapa:

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

  1. Tunaunganisha kwa VM kwa kufungua uunganisho na kifungo Open.
    Hongera! Tumeunganisha sasa hivi kwenye kiweko cha VM yako. Kinachobaki ni kusakinisha seva yetu juu yake.

Kufunga na kusanidi seva ya minecraft

Wacha tuanze kusanidi seva yetu. Kwanza, tunahitaji kusakinisha vifurushi kadhaa kwenye VM yetu.

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

Wacha tujue kila moja ya vifurushi ni ya nini.

  • wget - matumizi ya kupakua faili kwenye Linux. Kwa kuitumia tutapakua faili za seva.
  • mc - mhariri wa maandishi ya console. Ni rahisi na rahisi kutumia kwa mtumiaji ambaye hajafunzwa.
  • iptables - matumizi ya kusimamia na kusanidi firewall, kwa msaada wake tutafungua bandari kwa seva kwenye VM yetu.
  • Java - minecraft inaendesha java, kwa hivyo ni muhimu kwa seva kufanya kazi
  • screen - meneja wa dirisha kwa Linux. Itaturuhusu kunakili kiweko chetu ili kuinua seva. Ukweli ni kwamba seva lazima izinduliwe kupitia koni; ukiondoa kutoka kwa VM yako, mchakato wa seva utasimamishwa. Kwa hiyo, tutaiendesha kwenye dirisha tofauti la console.

Sasa hebu tusanidi firewall.

Firewall ni kipengele cha programu au maunzi-programu ya mtandao wa kompyuta ambayo inadhibiti na kuchuja trafiki ya mtandao inayopita ndani yake kwa mujibu wa sheria maalum. (Wikipedia)

Kuelezea kwa maneno rahisi: fikiria jiji lenye ngome. Anashambuliwa kila mara kutoka nje, huku maisha ya kawaida yakiendelea mjini. Ili kufikia jiji, kuna lango kwenye ukuta wa ngome, ambapo walinzi husimama na kuangalia kutoka kwenye orodha ikiwa mtu huyu anaweza kuruhusiwa kuingia kwenye ngome. Jukumu la ukuta na lango katika mitandao ya kompyuta hufanywa na firewall.

sudo mcedit /etc/sysconfig/iptables

Tumeunda faili ya usanidi wa ngome. Wacha tuijaze na data ya kawaida ya usanidi, pamoja na sheria ya bandari 25565, ambayo ni bandari ya kawaida ya seva ya 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

Funga faili kwa kubonyeza F10, kuhifadhi mabadiliko.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Sasa hebu tuzindue firewall na kuiwezesha katika kuanza:

sudo systemctl enable iptables
sudo systemctl restart iptables

Tutahifadhi faili za seva kwenye folda tofauti, kuunda, kwenda kwake na kupakua faili za seva. Ili kufanya hivyo unapaswa kutumia wget

mkdir minecraft
cd minecraft
wget <ссылка_Π½Π°_jar>

Unahitaji kupata kiungo cha moja kwa moja kwa kupakua .jar faili ya seva. Kwa mfano, kiungo kwa toleo la faili la seva 1.15.2:

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

Tazama yaliyomo kwenye folda kwa kutumia amri ls, hakikisha faili zimepakuliwa.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Wacha tuzindue faili ya seva. Sasa seva haitafanya kazi: itaunda faili zote muhimu kwa kazi, na italalamika kwamba haukubaliani na masharti ya leseni ya EULA. Kubali masharti kwa kufungua faili eula.txt

sudo mcedit eula.txt

Thibitisha makubaliano yako kwa kubadilisha ingizo kuwa:

eula=true

Fungua faili server.properties: Hii ni faili yako ya usanidi wa seva. Zaidi kuhusu mipangilio ya seva

Mabadiliko yafuatayo lazima yafanywe kwake:

online-mode=false

Mipangilio iliyobaki iko kwa hiari yako.

Kuanza kwa seva

Ni wakati wa kuanza seva. Kama nilivyosema tayari, seva huanza moja kwa moja kutoka kwa koni, lakini ikiwa tutafunga koni kuu, mchakato wa seva utasimamishwa. Kwa hivyo, wacha tuunde koni nyingine:

screen

Wacha tuanze seva kwenye koni hii:

 sudo java -Xms512M -Xmx1024M -jar <Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ„Π°ΠΉΠ»Π°_сСрвСра>.jar --nogui

Seva huanza baada ya sekunde 45, usikatishe mchakato. Wakati seva imeanzishwa na kufanya kazi, utaona kitu kama:

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Hongera! Umeanzisha seva yako ya minecraft na inafanya kazi. Sasa ni muhimu kuondoka kwa usahihi console ya pili ili iendelee kufanya kazi na seva inayoendesha. Ili kufanya hivyo, bofya Ctrl+Abasi D. Unapaswa kuwa kwenye koni kuu na uone ujumbe kama [detached from 1551.pts-0.ip-172-31-37-146]. Ikiwa unahitaji kurudi kwenye console ambapo seva inaendesha, tumia screen -r

Sasa unaweza kutenganisha kutoka kwa VM yako. Seva yako itafikiwa kupitia anwani tuli ya IP tuliyopokea awali, kwenye bandari 25565.

Seva ya bure ya minecraft kwenye AWS bila ujuzi wa Linux

Inageuka kuwa anwani ya kuingia kwenye seva itakuwa <ваш_статичСский_IP>:25565.

Hitimisho

Kwa kutumia maagizo haya, unaweza kusanidi seva ya bure ya minecraft kwa urahisi na IP iliyojitolea. Nakala hiyo iliandikwa kwa lugha rahisi iwezekanavyo na imekusudiwa kwa wasio wataalamu. Katika suala hili, ni ya kuvutia kusikia maoni ya wale ambao wamechukuliwa, kwa sababu wakati wa kurahisisha nyenzo, makosa ya kweli katika istilahi yanaweza kufanywa.

Chanzo: mapenzi.com

Kuongeza maoni