Ahoj, Habr! Přesněji, podvodníci, kteří hledají, jak vytvořit minecraft server pro hraní s přáteli.
Článek je určen pro neprogramátory, nesystémové administrátory, zkrátka ne pro hlavní publikum Habru. V článku je krok za krokem návod na vytvoření minecraft serveru s dedikovanou IP adresou, přizpůsobený lidem, kteří jsou daleko od IT. Pokud to nejste vy, měli byste článek raději přeskočit.
Co je to server?
Takže, co je server? Pokud se opíráme o pojem „server“ jako o komponentu softwaru, pak server představuje program, který může přijímat, zpracovávat a předávat data přijatá od uživatelů (klientů), kteří jsou k tomuto serveru připojeni. Na příkladu webu — webová stránka se nachází na určitém webovém serveru, ke kterému přistupujete prostřednictvím prohlížeče. V našem případě minecraft server generuje svět, ke kterému se připojují hráči (klienti), kteří mohou chodit, ničit bloky atd. Za připojení hráčů a všechny jejich akce odpovídá minecraft server.
Je zřejmé, že server musí být spuštěn na počítači (stroji). Můžete vytvořit server na svém domácím počítači, ale v takovém případě:
- Ohrožujete bezpečnost vlastního počítače, když na něm otevíráte porty.
- Server zatěžuje váš počítač, což může narušit práci s ním.
- Nemůžete udržovat domácí počítač v provozuschopném stavu 24/7: občas ho vypínáte, někdy má váš počítač výpadek připojení k internetu atd.
- Pro přístup k vašemu serveru z vnějšího světa se musíte obrátit na počítač přes IP adresu, která u "domácích" internetových poskytovatelů je dynamická, což znamená, že se může měnit každé 2-3 dny z důvodů, které na vás nezávisí.
A jak tyto problémy vyřešíme?
Řešením všech uvedených problémů je použití virtuálního stroje s statickou, tedy neměnnou, IP adresou.
Složitá terminologie? Pojďme si to objasnit.
Odkážeme se na Wikipedii.
Virtuální stroj (VM, z anglického virtual machine) — softwarový a/nebo hardwarový systém, který emuluje hardware určité platformy...Pokud to vysvětlíme velmi hrubě — je to počítač v počítači. Na něj lze také nainstalovat operační systém a pracovat s ním jako s běžným počítačem.
Kde ho vezmeme?
Odpověď je jednoduchá — . Je to platforma, která poskytuje mnoho různých cloudových služeb, užitečných pro každého, kdo pracuje s webem a nejen s ním. Pro vytvoření serveru Minecraft skvěle poslouží jeden z produktů AWS — Amazon EC2 — cloudový virtuální stroj, který je k dispozici 24/7. AWS nabízí minimální virtuální stroj (10GB SSD, 1GB RAM) zdarma na rok, navíc umožňuje připojit bezplatnou vyhrazenou (statičtí) IP adresu pro trvalý přístup k vaší VM (virtuálnímu stroji) na stejné adrese.
Vytváříme a nastavujeme VM
Přejděte na stránky a zaregistrujte se. Poté přejděte do správcovské konzole.

V konzole mezi službami najděte EC2 a přejděte k němu.
Je důležité vybrat datové centrum, jednoduše řečeno, místo, kde se nacházejí servery Amazonu. Výběr by měl záviset na vaší poloze, protože rychlost internetové komunikace se liší, a měli byste vybírat datové centrum, s nímž bude komunikace z vašeho města co nejrychlejší.

Pro výběr datového centra doporučuji využít službu , která měří rychlost přenosu paketů s jinými městy.
V mém případě (město Moskva) mi vyhovovalo irské datové centrum.
Nastal čas vytvořit virtuální stroj. Za tímto účelem přejděte na kartu Launch instance

Začneme konfiguraci VM.
1) Vybereme obraz operačního systému. Pro nasazení serverů je velmi pohodlný linux, budeme používat distribuci CentOS7
Je třeba poznamenat, že na vašem virtuálním stroji nebude grafické rozhraní, přístup k stroji bude realizován přes konzoli. Ta předpokládá ovládání VM pomocí příkazů, nikoli počítačové myši. Nebojte se toho: to by vás nemělo zastavit už nyní nebo odradit od myšlenky zprovoznění vlastního minecraft serveru, protože to "je příliš složité". Pracovat s počítačem přes konzoli není těžké — brzy se o tom sami přesvědčíte.

2) Nyní určíme technickou konfiguraci VM. Pro bezplatné využití Amazon nabízí konfiguraci t2.micro, což je málo pro plnohodnotný velký minecraft server, ale s přáteli si lze zahrát dost.

3) Další nastavení necháme výchozí, ale zastavíme se na záložce Nastavit bezpečnostní skupiny.

Zde je potřeba nastavit přístup k portům pro minecraft server.
Pokud to vysvětlíme jednoduše — port je nezáporné číslo, které určuje, komu jsou určena příchozí data z vnějšího světa. Na VM může být mnoho různých služeb a serverů, proto všechna příchozí data mají ve svém hlavičce port (číslo) adresáta (služby, serveru) uvnitř VM.
Pro minecraft servery je de facto standardem použití portu 25565. Přidáme pravidlo, které určuje, že přístup k vaší VM přes tento port je povolen.


Přejdeme k oknu dokončení vytvoření VM kliknutím na tlačítko Kontrola a spuštění
Nastavení páru klíčů SSH pro VM
Takže připojení k počítači bude probíhat prostřednictvím protokolu SSH.
Protokol SSH funguje takto: vytvoří se pár klíčů (veřejný a soukromý), na VM se uchovává veřejný klíč, na počítači osoby, která se k VM připojuje (klienta) — soukromý. Při připojení VM zkontroluje, zda má klient odpovídající soukromý klíč.
Stiskněte tlačítko Spustit. Před vámi se objeví následující okno:

Zadejte název páru klíčů (pro vaši pohodlnost) a klikněte na Stáhnout pár klíčů. Měli byste si stáhnout .pem soubor, který obsahuje váš soukromý klíč. Klikněte na tlačítko Spustit instance. Právě jste vytvořili virtuální stroj, na kterém bude spuštěn server.
Získání statického IP
Nyní potřebujeme získat a přiřadit statické IP na naši VM. V tomto menu najdeme záložku Elastic IPs a přejdeme na ni. Na záložce klikneme na tlačítko Přidělit Elastic IP adresu a získáme statické IP.

Nyní je potřeba přidělenou IP adresu přiřadit k naší VM. Za tímto účelem ji vybereme ze seznamu a v menu Akce vybereme Přiřadit IP adresu

Následně přiřadíme VM k naší IP adrese

Hotovo!
Přihlašujeme se na VM
Nyní, když je VM nastavena a IP adresa přiřazena, připojíme se k ní a nainstalujeme náš minecraft server.
Pro připojení k VM přes SSH použijeme program . Nejprve si nainstalujte PuTTYgen z této stránky
Po nainstalování PuTTY jej otevřete. Nyní je třeba nastavit připojení.

- Na záložce Session vyberte typ připojení SSH, port 22. Zadejte název pro připojení. Název hostitele pro připojení přes SSH je řetězec typu:
uživatelské_jméno@veřejný_dns.
Výchozí uživatelské jméno pro AWS na CentOS je — centos. Svůj veřejný DNS si můžete prohlédnout zde:

Dostal jsem tuto řetězec centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- Na záložce SSH -> Auth uvedete váš soukromý SSH klíč. Ten je uložen v souboru
.pem, který jsme stáhli dříve. Ale PuTTY neumí pracovat se soubory.pem, potřebuje formát.ppk. Pro převod použijeme PuTTYgen. . Vytvořený soubor.ppkUložíme a uvedeme zde:

- Připojujeme se k VM otevřením připojení tlačítkem Otevřít.
Gratulujeme! Právě jsme se připojili k konzoli vaší VM. Teď je potřeba nastavit náš server.
Instalace a nastavení minecraft serveru
Začneme s nastavením našeho serveru. Nejdříve je třeba nainstalovat několik balíčků na naši VM.
sudo yum install -y wget mc iptables iptables-services java screenPodíváme se, k čemu je každý z balíčků.
- wget — nástroj pro stahování souborů v Linuxu. S jeho pomocí stáhneme soubory serveru.
- mc — textový editor v konzoli. Liší se jednoduchostí a pohodlností pro uživatele, který není technicky zdatný.
- iptables — nástroj pro správu a nastavení firewallu, s jehož pomocí otevřeme port pro server na naší VM.
- java — Minecraft běží na Javě, takže je nezbytná pro fungování serveru.
- screen — správce oken pro Linux. Umožní nám duplikovat naši konzoli pro spuštění serveru. To proto, že server musí být spuštěn přes konzoli, a pokud se odpojíte od své VM, proces serveru se zastaví. Proto ho budeme spouštět v samostatném okně konzole.
Teď nastavíme firewall.
Firewall je softwarový nebo hardwarový prvek počítačové sítě, který provádí kontrolu a filtrování síťového provozu na základě nastavených pravidel. (Wikipedia)
Jednoduše řečeno: představte si město s hradbami. Neustále je napadáno zvenčí, zatímco v městě probíhá běžný život. Pro vstup do města jsou ve hradbách brány, kde stojí stráže a kontrolují seznamy, zda mohou tohoto člověka pustit dovnitř. Úlohu zdí a brány v počítačových sítích plní firewall.
sudo mcedit /etc/sysconfig/iptablesPrávě jsme vytvořili konfigurační soubor pro firewall. Vyplníme ho standardními údaji konfigurace a přidáme pravidlo pro port 25565, který je standardním portem pro 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
COMMITZavřeme soubor stiskem F10, a uložíme změny.

Nyní spustíme firewall a zapneme ho při startu systému:
sudo systemctl enable iptables
sudo systemctl restart iptablesSoubory serveru budeme uchovávat v samostatné složce, vytvoříme ji, přejdeme do ní a stáhneme soubory serveru. K tomu použijeme wget
mkdir minecraft
cd minecraft
wgetJe nutné najít přímý odkaz na stažení .jar souboru serveru. Například odkaz na soubor serveru verze 1.15.2:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jarZobrazte obsah složky pomocí příkazu ls, ujistěte se, že soubory byly staženy.

Spustíme soubor serveru. Nyní server nebude fungovat: vytvoří všechny potřebné soubory pro provoz a upozorní vás, že jste nesouhlasili s podmínkami EULA. Přijmeme podmínky otevřením souboru eula.txt
sudo mcedit eula.txtPotvrďte svůj souhlas změnou zápisu na:
eula=trueOtevřete soubor server.properties: to je konfigurační soubor vašeho serveru.
Je nutné provést následující změnu:
online-mode=falseOstatní nastavení - na vašem uvážení.
Spuštění serveru
Přišel čas spustit server. Jak jsem již řekl, server se spouští přímo z konzole, ale pokud zavřeme hlavní konzoli - proces serveru bude zastaven. Proto vytvoříme ještě jednu konzoli:
screenV této konzoli spustíme server:
sudo java -Xms512M -Xmx1024M -jar .jar --noguiServer se spouští asi 45 sekund, nepřerušujte proces. Až bude server inicializován a spuštěn, uvidíte něco jako:

Gratulujeme! Právě jste vytvořili a spustili svůj minecraft server. Nyní je důležité správně ukončit druhou konzoli, aby pokračovala v práci se spuštěným serverem. K tomu stiskněte Ctrl+A, poté DDoS. Měli byste se dostat do hlavní konzole a vidět zprávu typu [detached from 1551.pts-0.ip-172-31-37-146]. Pokud budete potřebovat vrátit se do konzole, ve které je server spuštěn, použijte screen -r
Nyní se můžete odpojit od své VM. Váš server bude dostupný na statické IP adrese, kterou jsme získali dříve, na portu 25565.

Adres pro přístup na server bude <váš_statický_IP>:25565.
Závěr
Podle tohoto návodu si můžete jednoduše vytvořit bezplatný minecraft server s dedikovanou IP. Článek je napsán co nejjednodušeji a je určen pro laiky. Bylo by zajímavé slyšet komentáře odborníků, protože při zjednodušení materiálu je možné udělat faktické chyby v terminologii.
Zdroj: habr.com
