Ahoj, Habr! Skôr, podvodníci, ktorí hľadajú, ako spustiť minecraft server na hranie s priateľmi.
Článok je určený pre neprogramátorov, nesystémových administrátorov, jednoducho nie pre hlavnú publiku Habr. V článku je krok za krokom návod na vytvorenie minecraft servera s vyhradenou IP adresou, prispôsobený pre ľudí vzdialených od IT. Ak to nie je o vás — článok by ste mali radšej preskočiť.
Čo je server?
Takže, čo je server? Ak sa spoliehame na pojem "server" ako na komponent softvéru, server je program, ktorý môže prijímať, spracovávať a odosielať údaje prijaté od používateľov (klientov), ktorí sú pripojení k tomuto serveru. Na príklade webovej stránky — stránka sa nachádza na určitom webovom serveri, ku ktorému získate prístup prostredníctvom prehliadača. V našom prípade — server minecraft generuje svet, ku ktorému sa pripájajú hráči (klienti), ktorí môžu chodiť, ničiť bloky atď. Za pripojenie hráčov a akékoľvek ich akcie je zodpovedný minecraft server.
Je jasné, že server musí byť spustený na počítači (stroj). Môžete spustiť server na svojom domácim počítači, ale v takom prípade:
- Ohrozujete bezpečnosť svojho vlastného počítača tým, že otvárate na ňom porty
- Server bude zaťažovať váš počítač, čo môže narušovať prácu s ním
- Nemôžete udržiavať domácí počítač v prevádzke 24/7: občas ho vypínate, občas váš počítač stráca pripojenie k internetu atď.
- Pre prístup k vášmu serveru z vonkajšieho sveta bude potrebné odkazovať sa na počítač pomocou IP adresu, ktorý je u "domácich" internetových poskytovateľov dynamický, to znamená, že sa môže meniť každé 2-3 dni z dôvodov, ktoré nezávisia od vás.
A ako vyriešime tieto problémy?
Riešením všetkých uvedených problémov je použitie virtuálneho stroja so s statickou, teda nemennou IP adresou.
Zložitá terminológia? Poďme sa na to pozrieť.
Odkážeme sa na Wikipédiu.
Virtuálny stroj (VM, z anglického virtual machine) — programový a/alebo hardwarový systém, ktorý emuluje hardvérové vybavenie konkrétnej platformy...Ak to vysvetlíme úplne jednoduchým jazykem — je to počítač v počítači. Na ňom môžete tiež nainštalovať operačný systém a pracovať s ním ako s bežným počítačom.
Kde ju zoberieme?
Odpoveď je jednoduchá — . Je to platforma, ktorá poskytuje množstvo rôznych cloudových služieb užitočných pre všetkých, ktorí pracujú s webom a nielen. Na vytvorenie servera minecraft sa skvele hodí jeden z produktov AWS — Amazon EC2 — cloudová virtuálna mašina, ktorá je dostupná 24/7. AWS ponúka minimálnu virtuálnu mašinu (10GB SSD, 1GB RAM) zadarmo na jeden rok, navyše dáva možnosť priradiť bezplatnú vyhradenú (stabilnú) IP adresu na trvalý prístup k vašej VM (virtuálnej mašine) pod jednou a tou istou adresou.
Vytvárame a konfigurujeme VM
Navštívte stránku a zaregistrujte sa. Potom prejdite do ovládacieho panela.

V panele nájdite medzi službami EC2 a prejdite naň.
Dôležité je vybrať dátové centrum, jednoducho povedané, miesto, kde sa nachádzajú servery Amazon. Výber by mal závisieť od vašej polohy, pretože rýchlosť pripojenia k internetu sa rôzni, a mali by ste si vybrať dátové centrum, s ktorým bude komunikácia z vášho mesta maximálne rýchla.

Na výber dátového centra odporúčam využiť službu , ktorá meria rýchlosť prenosu paketov s inými mestami.
V mojom prípade (mesto Moskva) mi vyhovovalo írsku dátové centrum.
Je čas vytvoriť virtuálnu mašinu. Na to prejdite na kartu Spustiť inštanciu

Začneme konfiguráciu VM.
1) Vyberieme obraz operačného systému. Na spustenie serverov je veľmi pohodlné linux, my použijeme distribúciu CentOS7
Je potrebné poznamenať, že na vašej virtuálnej mašine nebude grafické prostredie, prístup k mašine sa uskutoční cez konzolu. Je predpokladané ovládanie VM pomocou príkazov, nie počítačovou mysľou. Nebojte sa toho: to by nemalo zastaviť vás už teraz alebo sa vzdať myšlienky na spustenie vlastného minecraft servera, pretože to je "príliš ťažké". Práca s mašinou cez konzolu nie je zložitá — čoskoro sa o tom presvedčíte.

2) Teraz určíme technickú konfiguráciu VM. Na bezplatné používanie Amazon ponúka konfiguráciu t2.micro, málo na plnohodnotný veľký minecraft server, ale na hranie s priateľmi je to dostatočné.

3) Ostatné nastavenia nechávame ako predvolené, ale zastavíme sa na karte Konfigurácia bezpečnostných skupín.

Tu musíme nastaviť prístup k portom pre server minecraft.
Ak to vysvetlíme jednoduchými slovami, port je nezáporné číslo, ktoré ukazuje, koho sa týkajú prichádzajúce údaje z vonkajšieho sveta. Na VM môže existovať množstvo rôznych služieb a serverov, preto všetky prichádzajúce dáta obsahujú vo svojom hlavičke port (číslo) adresáta (služby, servera) vo vnútri VM.
Pre minecraft servery je de facto štandardom používanie portu 25565. Pridáme pravidlo, ktoré určuje, že prístup k vašej VM cez tento port je povolený.


Prejdime k oknu dokončenia vytvárania VM kliknutím na tlačidlo Skontrolovať a spustiť
Nastavenie páru kľúčov SSH pre VM
Takže pripojenie k stroju sa uskutoční cez protokol SSH.
Protokol SSH funguje nasledujúcim spôsobom: generuje sa pár kľúčov (otvorený a súkromný), na VM sa uchováva otvorený kľúč, na počítači osoby, ktorá sa pripája k VM (klienta) – súkromný. Pri pripojení VM kontroluje prítomnosť vhodného súkromného kľúča u klienta.
Kliknite na tlačidlo Spustiť. Pred vami sa objaví nasledujúce okno:

Zadajte názov páru kľúčov (pre vaše pohodlie) a kliknite na Stiahnuť pár kľúčov. Mal by sa vám stiahnuť .pem súbor, ktorý obsahuje váš súkromný kľúč. Kliknite na tlačidlo Spustiť inštancie. Práve ste vytvorili virtuálny stroj, na ktorom bude umiestnený server.
Získanie statického IP
Teraz musíme získať a priradiť statické IP k našej VM. Na to v menu nájdeme kartu Elastic IPs a prejdeme na ňu. Na karte kliknite na tlačidlo Priradiť Elastic IP adresu a získame statické IP.

Teraz je potrebné priradiť získanú IP adresu našej VM. Na to ju vyberieme zo zoznamu a v menu Akcie vyberieme Priradiť IP adresu

Potom priradíme VM k našej IP adrese

Hotovo!
Pripojíme sa na VM
Teraz, keď je VM nastavená a IP adresa priradená, pripojíme sa k nej a nainštalujeme náš minecraft server.
Na pripojenie k VM cez SSH použijeme program . Hneď si nainštalujte PuTTYgen z tejto istej stránky
Po nainštalovaní PuTTY ho otvorte. Teraz je potrebné nastaviť pripojenie.

- Na karte Session vyberte typ pripojenia SSH, port 22. Uveďte názov pripojenia. Názov hostiteľa pre pripojenie cez SSH predstavuje reťazec typu:
meno_používateľa@verejný_dns.
Meno používateľa v AWS pre CentOS predvolene je centos. Váš verejný DNS môžete vidieť tu:

Dostal som reťazec centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- Na karte SSH -> Auth uvedomte si svoj súkromný SSH kľúč. Ten je uložený v súbore
.pem, ktorý sme si stiahli skôr. Ale PuTTY nevie pracovať s súbormi.pem, potrebuje formát.ppk. Na konverziu použijeme PuTTYgen. . Získaný súbor.ppkUložíme a uvedieme tu:

- Pripojujeme sa k VM, otvoríme spojením tlačidlom Otvorené.
Blahoželáme! Práve sme sa pripojili k konzole vašej VM. Ostáva nám nastaviť náš server.
Inštalácia a nastavenie minecraft servera
Začneme nastavenie nášho servera. Najprv je potrebné nainštalovať niekoľko balíčkov na našu VM.
sudo yum install -y wget mc iptables iptables-services java screenPozrieme sa, na čo je každý z balíčkov.
- wget — nástroj na sťahovanie súborov v linuxe. Pomocou neho stiahneme súbory servera.
- mc — textový editor na konzole. Vyniká jednoduchosťou a pohodlnosťou pre nezkušeného používateľa.
- iptables — nástroj na správu a nastavenie firewallu, pomocou neho otvoríme port pre server na našej VM.
- java — Minecraft funguje na Jave, preto je potrebná na prevádzku servera
- screen — správca okien pre linux. Umožní nám zopakovať našu konzolu pre spustenie servera. Faktom je, že server musí byť spustený cez konzolu; ak sa odpojíte od svojej VM, proces servera sa zastaví. Preto ho spustíme v samostatnom okne konzoly.
Teraz nastavíme firewall.
FireWall (firewall) je softvérový alebo hardvérovo-softvérový prvok počítačovej siete, ktorý vykonáva kontrolu a filtrovanie sieťového prenosu, ktorý ním prechádza, v súlade so stanovenými pravidlami. (Wikipedia)
Hovoriac jednoduchším jazykom: predstavte si mesto-pevnosť. Neustále je napádané zvonku, pritom v meste prebieha normálny život. Na prístup do mesta má pevnosť bránu, pri ktorej stoja strážcovia a kontrolujú zoznamy, či je možné pustiť túto osobu do pevnosti. Úlohu múru a brány v počítačových sieťach plní firewall.
sudo mcedit /etc/sysconfig/iptablesPráve sme vytvorili súbor konfigurácie firewallu. Vyplníme ho štandardnými údajmi konfigurácie, pričom zahrnieme pravidlo pre port 25565, ktorý je štandardným portom pre minecraft server.
*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
COMMITZatvoríme súbor stlačením F10, pričom uložíme zmeny.

Teraz spustíme firewall a zapneme ho pri štarte:
sudo systemctl enable iptables
sudo systemctl restart iptablesSúbory servera budeme uchovávať v samostatnej zložke, vytvoríme ju, prejdeme do nej a stiahneme súbory servera. Na to by sme mali použiť wget
mkdir minecraft
cd minecraft
wgetJe potrebné nájsť priame odkazy na stiahnutie .jar súboru servera. Pre príklad, odkaz na súbor servera verzie 1.15.2:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jarPrezrite si obsah zložky pomocou príkazu ls, ubezpečte sa, že súbory boli stiahnuté.

Spustíme súbor servera. Momentálne server nebude fungovať: vytvorí všetky potrebné súbory na prevádzku a upozorní vás na to, že ste nesúhlasili s podmienkami licencie EULA. Prijmeme podmienky otvorením súboru eula.txt
sudo mcedit eula.txtPotvrďte svoj súhlas zmenou záznamu na:
eula=trueOtvoríte súbor server.properties: je to konfiguračný súbor vášho servera.
Do neho je potrebné vykonať nasledujúcu zmenu:
online-mode=falseOstatné nastavenia sú na vaše uváženie.
Spustenie servera
Prišiel čas spustiť server. Ako som už povedal, server sa spúšťa priamo z konzoly, ale ak zavrieme hlavnú konzolu - proces servera sa zastaví. Takže vytvoríme ďalšiu konzolu:
screenV tejto konzole spustíme server:
sudo java -Xms512M -Xmx1024M -jar .jar --noguiServer sa spúšťa približne 45 sekúnd, nepretrhnite proces. Keď bude server inicializovaný a spustený, uvidíte niečo ako:

Gratulujem! Práve ste vytvorili a spustili svoj minecraft server. Teraz je dôležité správne opustiť druhú konzolu, aby pokračovala v práci so spusteným serverom. Na to stlačte Ctrl+A, potom D. Mali by ste sa ocitnúť v hlavnej konzole a vidieť správu typu [odpojené z 1551.pts-0.ip-172-31-37-146]. Ak sa potrebujete vrátiť do konzoly, v ktorej je server spustený, použite screen -r
Teraz sa môžete odpojiť od svojho VM. Váš server bude dostupný na statickej IP adrese, ktorú sme získali skôr, na porte 25565.

Takže adresa na pripojenie k serveru bude :25565.
Záver
Podľa tohto návodu si bez problémov vytvoríte bezplatný minecraft server s vyhradenou IP adresou. Článok bol napísaný čo najjednoduchším jazykom a je určený pre neszpecializovaných čitateľov. Z tohto dôvodu by ma zaujímali komentáre odborníkov, pretože pri zjednodušovaní materiálu môžu vzniknúť faktické chyby v terminológii.
Zdroj: habr.com
