Sveiki, Habr! PrecÄ«zÄk sakot, Å”ie Å”meÄ£eri, kuri meklÄ, kÄ uzstÄdÄ«t Minecraft serveri, lai spÄlÄtu ar draugiem.
Raksts ir paredzÄts nepÄrprogrammÄtÄjiem, nesistÄmadministrÄtoriem, kopumÄ - ne Habras galvenajai auditorijai. RakstÄ ir soli pa solim instrukcijas par Minecraft servera izveidi ar statisku IP, kuras ir piemÄrotas cilvÄkiem, kuriem IT ir sveÅ”a. Ja tas nav par jums - labÄk izlaist rakstu.
Kas ir serveris?
TÄtad, kas ir serveris? Ja mÄs balstÄmies uz jÄdzienu "serveris" kÄ programmatÅ«ras komponentu, tad serveris ir programma, kas var pieÅemt, apstrÄdÄt un pÄrsÅ«tÄ«t datus, kas tiek saÅemti no lietotÄjiem (klientiem), kas pieslÄdzas Å”im serverim. PiemÄrÄ ar mÄjaslapu - mÄjaslapa atrodas uz kÄda tÄ«mekļa servera, pie kura jÅ«s piekļūstat caur pÄrlÅ«kprogrammu. MÅ«su gadÄ«jumÄ - Minecraft serveris Ä£enerÄ pasauli, pie kuras pieslÄdzas spÄlÄtÄji (klienti), kuri var staigÄt, lauza blokus utt. Par spÄlÄtÄju pieslÄgÅ”anos un jebkurÄm viÅu darbÄ«bÄm atbild Minecraft serveris.
AcÄ«mredzot serverim jÄbÅ«t palaižamam datorÄ (maŔīnÄ). JÅ«s varat uzstÄdÄ«t serveri savÄ mÄjas datorÄ, taÄu Å”ÄdÄ gadÄ«jumÄ:
- JÅ«s riskÄjat ar sava datora droŔību, atverot portus.
- Serveris noslogos jÅ«su datoru, kas var traucÄt darbam ar to.
- JÅ«s nevarat uzturÄt mÄjas datoru darbÄ«bÄ 24/7: dažreiz to izslÄdzat, dažreiz jÅ«su dators zaudÄ savienojumu ar internetu utt.
- Lai piekļūtu savam serverim no Ärpuses, bÅ«s jÄnoskaidro datora: IP adresi, kas "mÄjas" interneta pakalpojumu sniedzÄjiem ir dinamisks, tas nozÄ«mÄ, ka tas var mainÄ«ties ik pÄc 2-3 dienÄm iemeslu dÄļ, kas no jums nav atkarÄ«gi.
Un kÄ mÄs atrisinÄsim Ŕīs problÄmas?
Visu uzskaitÄ«to problÄmu risinÄjums ir virtuÄlÄ maŔīna ar statisku, tas nozÄ«mÄ nemainÄ«gu IP adresi.
Sarežģīta terminoloÄ£ija? ApskatÄ«sim to sÄ«kÄk.
PieskatÄ«simies VikipÄdijÄ.
VirtuÄlÄ maŔīna (VM, no angļu valodas virtual machine) - programmatÅ«ras un/vai aparatÅ«ras sistÄma, kas emulÄ noteiktas platformas aparatÅ«ru...Ja paskaidroju pavisam vienkÄrÅ”i - tas ir dators datorÄ. Uz tÄ var uzstÄdÄ«t operÄtÄjsistÄmu un strÄdÄt ar to kÄ ar parastu datoru.
Kur mÄs to iegÅ«sim?
Atbilde ir vienkÄrÅ”a - . Tas ir tÄda platforma, kas piedÄvÄ daudz dažÄdu mÄkoÅpakalpojumu, kas ir noderÄ«gi visiem, kas strÄdÄ ar tÄ«mekli un ne tikai. Lai izveidotu Minecraft serveri, lieliski derÄs viens no AWS produktiem ā Amazon EC2 ā mÄkoÅu virtuÄlÄ maŔīna, kas ir pieejama 24/7. AWS piedÄvÄ minimÄlo virtuÄlo maŔīnu (10GB SSD, 1GB RAM) bezmaksas uz gadu, turklÄt tÄ dod iespÄju piesaistÄ«t bezmaksas veltÄ«tu (statisku) IP adresi pastÄvÄ«gai piekļuvei jÅ«su VM (virtuÄlajai maŔīnai) ar to paÅ”u adresi.
Izveidojam un iestatÄm VM
PÄrejiet uz vietni un reÄ£istrÄjieties. PÄc tam pÄrejiet uz vadÄ«bas konsoli.

VadÄ«bas konsolÄ starp pakalpojumiem atrodi EC2 un pÄrejiet pie tÄ.
Ir svarÄ«gi izvÄlÄties datu centru, vienkÄrÅ”Äk sakot, vietu, kur atrodas Amazon serveri. IzvÄlÄties vajag atkarÄ«bÄ no jÅ«su atraÅ”anÄs vietas, jo interneta komunikÄcijas Ätrums ir atŔķirÄ«gs, un jÄizvÄlas datu centrs, ar kuru komunikÄcija no jÅ«su pilsÄtas bÅ«s maksimÄli Ätra.

Datu centra izvÄlei iesaku izmantot pakalpojumu , kas mÄra pakalpojumu pÄrsÅ«tīŔanas Ätrumu ar citÄm pilsÄtÄm.
ManÄ gadÄ«jumÄ (RÄ«ga) man piemÄrots bija Ä«ru datu centrs.
Ir pienÄcis laiks izveidot virtuÄlo maŔīnu. Lai to izdarÄ«tu, pÄrejiet uz cilni Launch instance

SÄksim konfigurÄt VM.
1) IzvÄlÄsimies operÄtÄjsistÄmas attÄlu. Lai izveidotu serverus, ļoti Ärts ir Linux, mÄs izmantosim CentOS7
JÄpiebilst, ka jÅ«su virtuÄlajÄ maŔīnÄ nebÅ«s grafiskÄs saskarnes, piekļuve maŔīnai tiks Ä«stenota caur konsoli. TÄ paredz VM pÄrvaldÄ«bu, izmantojot komandas, nevis datorpeli. NepabÄdziet no tÄ: tas nedrÄ«kst apstÄdinÄt jÅ«s Å”obrÄ«d vai atteikties no idejas izveidot savu Minecraft serveri, jo tas ir "pÄrÄk sarežģīti". StrÄdÄt ar maŔīnu caur konsoli nav sarežģīti ā drÄ«z jÅ«s paÅ”i to pierÄdÄ«siet.

2) Tagad nosakÄm VM tehnisko konfigurÄciju. Bezmaksas lietoÅ”anai Amazon piedÄvÄ konfigurÄciju t2.micro, mazÄk nekÄ nepiecieÅ”ams lielam Minecraft serverim, bet ar draugiem spÄlÄt pietiekami.

3) PÄrÄjos iestatÄ«jumus atstÄjam noklusÄti, bet apstÄjamies pie cilnes Configure Security groups.

Šeit mums ir nepiecieŔams iestatīt piekļuvi portiem Minecraft serverim.
Ja paskaidrot vienkÄrÅ”iem vÄrdiem ā ports ir nenositÄ«gs skaitlis, kas norÄda, kam adresÄti ienÄkoÅ”ie dati no Ärpuses. VM var bÅ«t daudz dažÄdu pakalpojumu un serveru, tÄpÄc visi ienÄkoÅ”ie datu paketes glabÄ savÄ galvenÄ portu (numuru) adresÄtam (pakalpojumam, serverim) iekÅ” VM.
Minecraft serveriem de facto standarts ir portu lietoŔana. 25565. Pievienojam noteikumu, kas nosaka, ka piekļuve jūsu VM caur Ŕo portu ir atļauta.


PÄriet uz VM izveides pabeigÅ”anas logu, nospiežot pogu Review and Launch
SSH atslÄgu pÄra iestatīŔana VM
TÄtad, piekļuve maŔīnai tiks veikta, izmantojot SSH protokolu.
SSH protokols darbojas Å”Ädi: tiek Ä£enerÄts atslÄgu pÄris (atklÄta un slÄgta), atklÄtÄ atslÄga uz VM uzglabÄjas, bet slÄgtÄ atslÄga atrodas pie klienta, kurÅ” izveido piekļuvi VM. Pievienojoties, VM pÄrbauda, vai klientam ir piemÄrota slÄgtÄ atslÄga.
NoklikŔķiniet uz pogas UzsÄkt. Jums tiks parÄdÄ«ts nÄkamais logs:

Ievadiet atslÄgu pÄra nosaukumu (jums ÄrtÄkai lietoÅ”anai) un nospiediet Download key pair. Jums jÄlejupielÄdÄ .pem fails, kurÄ ir jÅ«su slÄgtÄ atslÄga. Nospiediet pogu Launch instances. TieÅ”i tikko jÅ«s izveidojÄt virtuÄlo maŔīnu, kurÄ tiks uzstÄdÄ«ts servers.
SaÅemam statisko IP
Tagad mums jÄiegÅ«st un jÄpiesaista statiskais IP mÅ«su VM. Å im nolÅ«kam izvÄlamies cilni Elastic IPs un pÄrejiet uz to. Uz cilnes nospiediet pogu Allocate Elastic IP address un iegÅ«stiet statisko IP.

Tagad saÅemtais IP adrese ir jÄpiesaista mÅ«su VM. Lai to izdarÄ«tu, izvÄlÄsim to no saraksta un izvÄlÄsimies DarbÄ«bas izvÄlamies Associate IP address

PÄc tam piesaistÄ«sim VM mÅ«su IP adresei.

Gatavs!
Piekļūstam VM
Tagad, kad VM ir konfigurÄta un IP adrese piesaistÄ«ta, pieslÄgsimies tai un uzstÄdÄ«sim mÅ«su minecraft serveri.
Lai pieslÄgtos VM, izmantojiet programmu . Uzreiz instalÄjiet PuTTYgen no Ŕīs paÅ”as lapas.
PÄc PuTTY instalÄÅ”anas atveriet to. Tagad jÄiestata savienojums.

- CilnÄ Session izvÄlieties savienojuma veidu SSH, ports 22. NorÄdiet nosaukumu savienojumam. SSH savienojuma nosaukums ir virkne, kas izskatÄs pÄc:
lietotÄja_vÄrds@publiskais_dns.
LietotÄja vÄrds AWS izvietojumam CentOS pÄc noklusÄjuma ir centos. JÅ«su publisko DNS var redzÄt Å”eit:

Man iznÄkusi virkne centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- CilnÄ SSH -> Auth norÄdiet savu slÄgto SSH atslÄgu. TÄ tiek glabÄta failÄ.
.pem, kuru mÄs ieguvÄm iepriekÅ”. Bet PuTTY nespÄj strÄdÄt ar failiem.pem, tam nepiecieÅ”ams formÄts.ppk. Lai konvertÄtu, izmantosim PuTTYgen. . IegÅ«tais fails.ppkSaglabÄsim un norÄdÄ«sim Å”eit:

- Savienojamies ar VM, atverot savienojumu ar pogu AtvÄrts.
Apsveicu! TieÅ”i tikko mÄs savienojÄmies ar jÅ«su VM konsoli. Tagad atliek uzsÄkt mÅ«su serveri.
Minecraft servera uzstÄdīŔana un konfigurÄÅ”ana
SÄksim mÅ«su servera konfigurÄÅ”anu. Pirms tam, ir jÄinstalÄ daži pakotnes uz mÅ«su VM.
sudo yum install -y wget mc iptables iptables-services java screenIepazÄ«simies ar katra pakotnes mÄrÄ·i.
- wget ā rÄ«ks failu lejupielÄdei Linux. Ar to mÄs lejupielÄdÄsim servera failus.
- mc ā konsoles tekstu editors. AtŔķiras ar vienkÄrŔību un ÄrtÄ«bu lietoÅ”anÄ, pat nepieredzÄjuÅ”am lietotÄjam.
- iptables ā rÄ«ks ugunsmura pÄrvaldÄ«bai un konfigurÄÅ”anai, mÄs to izmantosim, lai atvÄrtu portu serverim mÅ«su VM.
- java ā Minecraft darbojas uz Java, tÄpÄc tÄ ir nepiecieÅ”ama servera darbÄ«bai.
- screen ā logu menedžeris Linux. Tas ļaus dubultot mÅ«su konsoli servera uzsÄkÅ”anai. Proti, serverim jÄsÄkas caur konsoli, ja jÅ«s atslÄgsieties no jÅ«su VM, servera process tiks apturÄts. TÄpÄc mÄs to palaidÄ«sim atseviÅ”Ä·Ä konsoles logÄ.
Tagad konfigurÄsim ugunsmÅ«ri.
UgunsmÅ«ris (firewall) ā programmatÅ«ras vai programmatÅ«ras-hardware elements datoru tÄ«klÄ, kas kontrolÄ un filtrÄ caur to plÅ«stoÅ”o tÄ«kla satiksmi saskaÅÄ ar noteiktiem noteikumiem. (Wikipedia)
VienkÄrÅ”iem vÄrdiem sakot: iedomÄjieties pilsÄtu-cietoksni. To pastÄvÄ«gi uzbrÅ«k no Ärpuses, bet pilsÄtÄ norisinÄs parasta dzÄ«ve. Lai iekļūtu pilsÄtÄ, cietokÅ”a sienÄ ir vÄrti, pie kuriem stÄv sargi un pÄrbauda, vai Å”o cilvÄku var laist cietoksnÄ«. UgunsmÅ«ra loma datoru tÄ«klos ir siena un vÄrti.
sudo mcedit /etc/sysconfig/iptablesMÄs tikko izveidojÄm ugunsmÅ«ra konfigurÄcijas failu. AizpildÄ«sim to ar standarta konfigurÄcijas datiem, iekļaujot tajÄ noteikumu portam 25565, kas ir standarta ports Minecraft serverim.
*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
COMMITAizvÄrsim failu ar klikŔķi F10, saglabÄjot izmaiÅas.

Tagad palaidÄ«sim ugunsmÅ«ri un aktivizÄsim to automÄtiskajÄ ielÄdÄÅ”anÄ:
sudo systemctl enable iptables
sudo systemctl restart iptablesServera failus glabÄsim atseviÅ”Ä·Ä mapÄ, izveidosim to, pÄriesim uz to un lejupielÄdÄsim servera failus. Tam bÅ«s jÄpamato wget
mkdir minecraft
cd minecraft
wgetJÄatrod tieÅ”Ä saite lejupielÄdei .jar servera faila. PiemÄram, saite uz servera failu versijÄ 1.15.2:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jarPÄrbaudiet mapes saturu ar komandu ls, pÄrliecinieties, ka faili ir lejupielÄdÄti.

PalaidÄ«sim servera failu. Å obrÄ«d serveris nedarbosies: tas izveidos visus nepiecieÅ”amos failus un sÅ«dzÄsies, ka neesat piekritis EULA nosacÄ«jumiem. PieÅemsim nosacÄ«jumus, atverot failu eula.txt
sudo mcedit eula.txtApstipriniet savu piekriŔanu, mainot ierakstu uz:
eula=trueAtveriet failu server.properties: tas ir jÅ«su servera konfigurÄcijas fails.
Iekļaujiet obligÄtu izmaiÅu:
online-mode=falsePÄrÄjie iestatÄ«jumi ir pÄc jÅ«su ieskatiem.
Servera palaiŔana
Ir pienÄcis laiks palaist serveri. KÄ jau minÄju, serveris tiek palaists tieÅ”i no konsoles, bet, ja mÄs aizveram galveno konsoli, servera process tiks apturÄts. TÄpÄc izveidosim vÄl vienu konsoli:
screenÅ ajÄ konsolÄ palaidÄ«sim serveri:
sudo java -Xms512M -Xmx1024M -jar .jar --noguiServeris startÄ apmÄram 45 sekundes, nepÄrtrauciet procesu. Kad serveris tiks inicializÄts un palaists, jÅ«s redzÄsiet kaut ko lÄ«dzÄ«gu:

Apsveicam! Tikko jÅ«s izveidojÄt un palaidÄt savu minecraft serveri. Tagad ir svarÄ«gi pareizi iziet no otrÄs konsoles, lai tÄ turpinÄtu darboties ar palaisto serveri. Lai to izdarÄ«tu, nospiediet Ctrl+A, tad D. Jums vajadzÄtu nokļūt pirmajÄ konsolÄ un redzÄt ziÅu, kas lÄ«dzÄ«ga [detached from 1551.pts-0.ip-172-31-37-146]. Ja jums bÅ«s nepiecieÅ”ams atgriezties konsolÄ, kurÄ darbojas serveris, izmantojiet screen -r
Tagad jÅ«s varat atslÄgties no sava VM. JÅ«su serveris bÅ«s pieejams statiskajÄ IP adresÄ, kuru ieguvÄm iepriekÅ”, portÄ 25565.

TÄtad, adrese servera piekļuvei bÅ«s :25565.
SecinÄjums
Sekojo Ŕī instrukcija palÄ«dzÄs jums viegli izveidot bezmaksas Minecraft serveri ar veltÄ«tu IP adresi. Raksts ir uzrakstÄ«ts maksimÄli vienkÄrÅ”Ä valodÄ un ir paredzÄts nespeciÄlistiem. TÄpÄc interesanti dzirdÄt komentÄrus no ekspertiem, jo, vienkÄrÅ”ojot materiÄlu, var rasties faktiskas kļūdas terminoloÄ£ijÄ.
Avots: habr.com
