Moien, Habr! Méi präzis, Crooks, déi sichen wéi een e Minecraft-Server opbaut fir mat Frënn ze spillen.
Den Artikel ass geduecht fir Net-Programméierer, Net-Sysadmins, am Allgemengen, net fir Habr's Haaptpublikum. Den Artikel enthält step-by-step Instruktioune fir e Minecraft Server mat enger spezieller IP ze kreéieren, adaptéiert fir Leit wäit vun IT. Wann dëst net iwwer Iech ass, ass et besser den Artikel ze iwwersprangen.
Wat ass e Server?
Also wat ass e Server? Wa mir op d'Konzept vum "Server" als Softwarekomponent vertrauen, dann ass de Server e Programm deen Daten vun de Benotzer (Clienten) kritt, déi mat dësem Server verbonne sinn, kréien, veraarbecht an iwwerdroen. Wann Dir de Site als Beispill benotzt, ass de Site op e puer Webserver, deen Dir iwwer e Browser zougitt. An eisem Fall generéiert de Minecraft-Server eng Welt op déi Spiller (Clienten) konnektéieren, déi kënne goen, Blocks briechen, asw. De Minecraft Server ass verantwortlech fir Spiller ze verbannen an all vun hiren Aktiounen.
Natierlech muss de Server um Computer (Maschinn) lafen. Dir kënnt e Server op Ärem Heemcomputer astellen, awer an dësem Fall:
- Dir setzt d'Sécherheet vun Ärem eegene Computer a Gefor andeems Dir Ports drop opmaacht
- De Server wäert eng Laascht op Ärem Computer setzen, wat Är Aarbecht mat him stéieren kann
- Dir kënnt Ären Heemcomputer net 24/7 lafen: heiansdo schalt Dir en aus, heiansdo verléiert Äre Computer d'Internetverbindung, etc.
- Fir Zougang zu Ärem Server vun der Äussewelt ze kréien, musst Dir op Ärem Computer zougräifen IP Adress, déi fir "doheem" Internet Provider ass dynamesch, dat heescht, et kann all 2-3 Deeg änneren aus Grënn iwwer Är Kontroll.
A wéi léise mir dës Problemer?
D'Léisung fir all dës Problemer ass ze benotzen virtuell Maschinn mat statesch, dat heescht eng onverännerbar IP Adress.
Komplex Terminologie? Loosst eis et erausfannen.
Komme mer op d'Wikipedia.
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...Fir et ganz rau ze setzen, ass et e Computer an engem Computer. Dir kënnt och e Betribssystem drop installéieren a mat deem schaffen wéi mat engem normale Computer.
Wou kënne mir et kréien?
D'Äntwert ass einfach - . Dëst ass eng Plattform déi vill verschidde Cloud-Servicer ubitt, déi nëtzlech si fir jiddereen dee mam Internet schafft an net nëmmen. Fir e Minecraft Server ze kreéieren, ass ee vun den AWS Produkter perfekt - Amazon EC2 - eng Cloud virtuell Maschinn déi 24/7 verfügbar ass. AWS bitt eng minimal virtuell Maschinn (10GB SSD, 1GB RAM) gratis fir ee Joer, Zousätzlech, mécht et méiglech eng gratis engagéierten (statesch) IP Adress fir permanent Zougang zu Äre VM (virtuell Maschinn) op déi selwecht Adress ze binden.
Mir kreéieren a konfiguréieren e VM
Gitt op de Site an aschreiwen. Da gitt op d'Verwaltungskonsole.

An der Konsol, ënnert Servicer, fannen EC2 a gitt derbäi.
Et ass wichteg en Datenzenter ze wielen, einfach gesot, d'Plaz wou d'Amazon Servere sinn. Dir sollt ofhängeg vun Ärem Standuert wielen, well d'Geschwindegkeet vun der Kommunikatioun um Internet variéiert, an Dir sollt en Datenzenter wielen mat deem d'Kommunikatioun vun Ärer Stad sou séier wéi méiglech ass.

Fir en Datenzenter ze wielen, recommandéieren ech de Service ze benotzen , déi d'Transmissiounsgeschwindegkeet vu Pakete mat anere Stied moosst.
A mengem Fall (Moskau) huet den iresche Rechenzentrum mir gepasst.
Et ass Zäit eng virtuell Maschinn ze kreéieren. Fir dëst ze maachen, gitt op d'Tab Start Instanz

Loosst eis de VM konfiguréieren.
1) Wielt de Betribssystem Bild. Linux ass ganz bequem fir Serveren z'erhéijen, mir wäerten d'Verdeelungskit benotzen CentOS7
Et sollt bemierkt datt et kee grafeschen Ëmfeld op Ärer virtueller Maschinn gëtt Zougang zu der Maschinn duerch d'Konsole. Et beinhalt d'Kontroll vum VM mat Kommandoen anstatt eng Computermaus. Gitt net Angscht virun dësem: dëst sollt Iech elo net ophalen oder d'Iddi opginn fir Ären eegene Minecraft Server z'erhéijen well et "ze schwéier" ass. Mat der Maschinn duerch d'Konsol ze schaffen ass net schwéier - Dir wäert geschwënn selwer gesinn.

2) Loosst eis elo d'technesch Konfiguratioun vum VM definéieren. Fir gratis Benotzung bitt Amazon d'Konfiguratioun t2.mikro, Net genuch fir e vollwäertege grousse Minecraft Server, awer genuch fir mat Frënn ze spillen.

3) Loosst de Rescht vun den Astellungen als Standard, awer stoppen op der Tab Sécherheetsgruppen konfiguréieren.

Hei musse mir den Zougang zu Ports fir de Minecraft Server konfiguréieren.
An einfache Begrëffer, e Port ass eng net-negativ Nummer, déi ugeet, wiem erakommen Daten aus der Äussewelt adresséiert sinn. E VM ka vill verschidde Servicer a Server hosten, sou datt all erakommen Datepäck den Hafen (Nummer) vun der Destinatioun (Service, Server) am VM an hirem Header späicheren.
Fir Minecraft Serveren ass de de facto Standard den Hafen ze benotzen 25565. Loosst eis eng Regel addéieren déi uginn datt den Zougang zu Ärem VM duerch dësen Hafen akzeptabel ass.


Mir ginn an d'Fënster fir d'Schafe vum VM ofzeschléissen andeems Dir op de Knäppchen klickt Iwwerpréiwen a starten
En SSH Schlësselpaar fir e VM opzestellen
Also, d'Verbindung mat der Maschinn gëtt mam SSH Protokoll duerchgefouert.
Den SSH Protokoll funktionnéiert wéi follegt: e Paar Schlësselen (ëffentlech a privat) gëtt generéiert, den ëffentleche Schlëssel gëtt um VM gespäichert, an de private Schlëssel gëtt um Computer vun der Persoun gespäichert, déi mam VM (Client) verbënnt. Wann Dir konnektéiert, kontrolléiert de VM datt de Client e passende private Schlëssel huet.
Press lancéiere. Déi folgend Fënster erschéngt virun Iech:

Gitt den Numm vum Schlësselpaar (fir Är Kamoudheet) a klickt Download Schlëssel Pair. Dir sollt eroflueden .pem eng Datei mat Ärem private Schlëssel. Klickt op de Knäppchen Instanzen starten. Dir hutt just eng virtuell Maschinn erstallt, op där de Server installéiert gëtt.
Kritt eng statesch IP
Elo musse mir eng statesch IP un eise VM kréien a binden. Fir dëse Menü fanne mir de Tab Elastesch IPs a mir réckelen laanscht et. Op der Tab klickt op de Knäppchen Allokéiert elastesch IP Adress a kritt eng statesch IP.

Elo muss déi kritt IP Adress mat eisem VM verbonne sinn. Fir dëst ze maachen, wielt et aus der Lëscht an am Menü Aktiounen wielt Associé IP Adress

Als nächst binde mir de VM un eis IP Adress

Gemaach!
Mir ginn op de VM
Elo datt de VM konfiguréiert ass an d'IP Adress zougewisen ass, loosst eis domat verbannen an eise Minecraft Server installéieren.
Fir mat dem VM iwwer SSH ze verbannen benotze mir de Programm . Installéiert PuTTYgen direkt vun dëser Säit
Nodeems Dir PuTTY installéiert hutt, öffnen se. Elo musst Dir d'Verbindung konfiguréieren.

- An der Tab Sëtzung wielt Verbindung Typ SSH, port 22. Gitt en Numm fir d'Verbindung un. Den Hostnumm fir iwwer SSH ze verbannen ass eng String wéi:
имя_пользователя@публичный_dns.
AWS Benotzernumm fir CentOS standardméisseg - centos. Är ëffentlech DNS kann hei gekuckt ginn:

Ech hunn d'Linn centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- An der Tab SSH -> Auth gitt Äre private SSH Schlëssel. Et gëtt an enger Datei gespäichert
.pem, déi mir virdru erofgelueden hunn. Awer PuTTY kann net mat Dateien schaffen.pem, hien brauch e Format.ppk. Fir Konversioun wäerte mir PuTTYgen benotzen. . Kritt Datei.ppkLoosst eis hei späicheren an uginn:

- Mir verbannen mat dem VM andeems Dir d'Verbindung mam Knäppchen opmaacht Open.
Gratulatioun! Mir hu just mat der Konsole vun Ärem VM ugeschloss. Alles wat bleift ass eise Server drop ze installéieren.
Installatioun an Konfiguratioun vun engem Minecraft Server
Loosst eis ufänken eise Server opzestellen. Als éischt musse mir verschidde Packagen op eisem VM installéieren.
sudo yum install -y wget mc iptables iptables-services java screenLoosst eis erausfannen fir wat jidderee vun de Packagen ass.
- wiisst - en Utility fir Dateien op Linux erofzelueden. Mat et wäerte mir d'Serverdateien eroflueden.
- mc - Konsol Text Editor. Et ass einfach an einfach ze benotzen fir en ontrainte Benotzer.
- Iteef - en Utility fir eng Firewall ze managen an ze konfiguréieren, mat senger Hëllef wäerte mir e Port fir de Server op eisem VM opmaachen.
- Java - Minecraft leeft op Java, also ass et néideg datt de Server funktionnéiert
- Écran - Fënster Manager fir Linux. Et erlaabt eis eis Konsol ze duplizéieren fir de Server z'erhéijen. D'Tatsaach ass datt de Server iwwer d'Konsole lancéiert muss ginn, wann Dir vun Ärem VM trennt, gëtt de Serverprozess gestoppt. Dofir wäerte mir et an enger separater Konsolfenster lafen.
Loosst eis elo d'Firewall konfiguréieren.
Eng Firewall ass e Software- oder Hardware-Software-Element vun engem Computernetz, deen den Netzverkéier kontrolléiert a filtert, deen doduerch passéiert am Aklang mat spezifizéierte Reegele. (Wikipedia)
Fir einfach ze erklären: Stellt Iech eng befestegt Stad vir. Hie gëtt stänneg vu baussen ugegraff, während an der Stad normal Liewen weider geet. Fir an d'Stad ze kommen, gëtt et eng Paart an der Mauer vun der Festung, bei där Wuechte stinn a vu Lëschte kucken, ob dës Persoun an d'Festung erlaabt ass. D'Roll vun enger Mauer a Paart an Computernetzwierker gëtt vun enger Firewall ausgefouert.
sudo mcedit /etc/sysconfig/iptablesMir hunn just eng Firewall Konfiguratiounsdatei erstallt. Loosst eis et mat Standard Konfiguratiounsdaten ausfëllen, dorënner eng Regel fir den Hafen 25565, wat de Standardport fir de Minecraft Server ass.
*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
COMMITMaacht d'Datei zou andeems Dir dréckt F10, späichert d'Ännerungen.

Loosst eis elo d'Firewall starten an aktivéieren se beim Startup:
sudo systemctl enable iptables
sudo systemctl restart iptablesMir späicheren d'Serverdateien an engem getrennten Dossier, erstellt et, gitt dohinner an luet d'Serverdateien erof. Fir dëst ze maachen, sollt Dir benotzen wiisst
mkdir minecraft
cd minecraft
wget <ссылка_на_jar>Braucht ze fannen direkten Link fir erofzelueden .jar Server Datei. Zum Beispill, Link op Server Datei Versioun 1.15.2:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jarKuckt den Inhalt vun engem Dossier mam Kommando ls, vergewëssert Iech datt d'Dateien erofgeluede ginn.

Loosst eis d'Serverdatei starten. Elo funktionnéiert de Server net: et erstellt all déi néideg Dateien fir d'Aarbecht, a wäert beschwéieren datt Dir net mat de Konditioune vun der EULA Lizenz averstane sidd. Akzeptéiert d'Konditioune andeems Dir d'Datei opmaacht eula.txt
sudo mcedit eula.txtBestätegt Ären Accord andeems Dir den Entrée op:
eula=trueDe Fichier opmaachen server.properties: Dëst ass Är Serverkonfiguratiounsdatei.
Déi folgend Ännerung muss gemaach ginn:
online-mode=falseDéi reschtlech Astellunge sinn op Ärem Diskretioun.
De Server starten
Et ass Zäit de Server unzefänken. Wéi ech scho gesot hunn, fänkt de Server direkt vun der Konsol un, awer wa mir d'Haaptkonsole zoumaachen, gëtt de Serverprozess gestoppt. Dofir, loosst eis eng aner Konsol erstellen:
screenLoosst eis de Server an dëser Konsol starten:
sudo java -Xms512M -Xmx1024M -jar <название_файла_сервера>.jar --noguiDe Server fänkt a ronn 45 Sekonnen un, ënnerbrach de Prozess net. Wann de Server initialiséiert a leeft, gesitt Dir eppes wéi:

Gratulatioun! Dir hutt just Äre Minecraft Server op a lafen. Elo ass et wichteg déi zweet Konsole richteg auszeschléissen sou datt se weider mam lafende Server funktionnéiert. Fir dëst ze maachen, klickt Ctrl+A, dann D. Dir sollt an der Haaptkonsole sinn an e Message gesinn wéi [detached from 1551.pts-0.ip-172-31-37-146]. Wann Dir musst zréck op d'Konsole wou de Server leeft, benotzt screen -r
Dir kënnt elo vun Ärem VM trennen. Äre Server wäert zougänglech sinn iwwer déi statesch IP Adress déi mir virdru kritt hunn, um Hafen 25565.

Et stellt sech eraus datt d'Adress fir de Server anzeginn wäert sinn <ваш_статический_IP>:25565.
Konklusioun
Mat dësen Instruktioune kënnt Dir einfach e gratis Minecraft Server mat enger spezieller IP opsetzen. Den Artikel gouf an der einfachster Sprooch geschriwwen an ass fir Net-Spezialisten geduecht. An dëser Hisiicht ass et interessant d'Kommentaren vun deenen ze héieren, déi besat waren, well wann Dir d'Material vereinfacht, kënne sachlech Feeler an der Terminologie gemaach ginn.
Source: will.com
