Hallo, Habr! Of beter gezegd, de avonturiers die zoeken naar hoe ze een Minecraft-server opzetten om met vrienden te spelen.
Dit artikel is gericht op niet-programmeurs, geen systeembeheerders, kortom, niet de reguliere Habr-publiek. In dit artikel — een stapsgewijze handleiding voor het opzetten van een Minecraft-server met een vast IP, aangepast voor mensen die niet in de IT-wereld actief zijn. Als dit niet voor jou geldt, kun je beter het artikel overslaan.
Wat is een server?
Laten we met de vraag beginnen: wat is een server? Als we het begrip "server" beschouwen als een softwarecomponent, dan is een server een programma dat gegevens kan ontvangen, verwerken en verzenden die door gebruikers (klanten) die aan deze server zijn verbonden worden ontvangen. Bijvoorbeeld, een website bevindt zich op een bepaalde webserver, waar je toegang toe krijgt via een browser. In ons geval genereert de Minecraft-server de wereld waaraan spelers (klanten) kunnen verbinden en waarin ze kunnen lopen, blokken kunnen afbreken, enzovoorts. De verbinding van spelers en al hun handelingen worden beheerd door de Minecraft-server.
Het is duidelijk dat de server op een computer (machine) moet draaien. Je kunt een server op je thuissysteem opzetten, maar in dat geval:
- Stel je de veiligheid van je eigen computer in gevaar door poorten open te stellen.
- De server zal je computer belasten, wat de werking kan verstoren.
- Je kunt je thuiscomputer niet 24/7 operationeel houden: soms zet je hem uit, soms verliest je computer de internetverbinding, enzovoorts.
- Om toegang te krijgen tot je server van buitenaf, moet je je computer benaderen via het IP-adres, wat voor "thuis" internetproviders doorgaans dynamisch, dat wil zeggen, het kan elke 2-3 dagen veranderen om redenen waar jij geen invloed op hebt.
En hoe gaan we deze problemen oplossen?
De oplossing voor al deze problemen is het gebruik van een virtuele machine voor met een statisch, dat wil zeggen een onveranderlijk IP-adres.
Moeilijke terminologie? Laten we het uitleggen.
Laten we Wikipedia raadplegen.
Een virtuele machine (VM, van het Engels 'virtual machine') — een software- en/of hardware systeem dat de hardware van een bepaald platform emuleert...Als we het heel simpel uitleggen — het is een computer in een computer. Je kunt er ook een besturingssysteem op installeren en ermee werken alsof het een gewone computer is.
Waar gaan we die vandaan halen?
Het antwoord is eenvoudig — . Dit is zo'n platform dat veel verschillende cloudservices biedt, nuttig voor iedereen die met het web werkt en meer. Voor het creëren van een Minecraft-server is één van de producten van AWS perfect — Amazon EC2 — een cloud virtuele machine die 24/7 beschikbaar is. AWS biedt een minimale virtuele machine (10GB SSD, 1GB RAM) gratis voor een jaar, bovendien geeft het de mogelijkheid om een gratis toegewezen (statische) IP-adres te koppelen voor constante toegang tot uw VM (virtuele machine) op hetzelfde adres.
Laten we een VM creëren en configureren
Ga naar de website en registreer je. Ga daarna naar de beheersconsole.

In de console, zoek onder de services naar EC2 en ga erheen.
Het is belangrijk om een datacenter te kiezen, eenvoudig gezegd, de plek waar de Amazon-servers zich bevinden. U moet kiezen op basis van uw locatie, aangezien de internetsnelheid varieert. Kies een datacenter waarmee de verbinding vanuit uw stad het snelst is.

Voor het kiezen van een datacenter raad ik aan om de service , die de snelheid van gegevensoverdracht met andere steden meet, te gebruiken.
In mijn geval (Moskou) was het Ierse datacenter geschikt.
De tijd is gekomen om een virtuele machine te creëren. Ga hiervoor naar het tabblad Launch instance

Laten we beginnen met het configureren van de VM.
1) Laten we de afbeelding van het besturingssysteem kiezen. Voor het opzetten van servers is linux heel handig, we gaan de distributie gebruiken CentOS7
Het is vermeldenswaard dat er geen grafische omgeving op uw virtuele machine zal zijn; de toegang tot de machine zal plaatsvinden via de console. Dit houdt in dat u de VM beheert met commando's, in plaats van een computermuis. Maak je daar geen zorgen over: dit zou je nu niet moeten tegenhouden of je idee om een Minecraft-server op te zetten moeten laten vallen, omdat het "te moeilijk" is. Werken met de machine via de console is niet moeilijk — dat zult u snel zelf ervaren.

2) Laten we nu de technische configuratie van de VM bepalen. Voor gratis gebruik biedt Amazon de configuratie aan t2.micro, wat te weinig is voor een volwaardige grote Minecraft-server, maar genoeg is om met vrienden te spelen.

3) Laat de andere instellingen op standaard staan, maar houd even stil bij het tabblad Configure Security groups.

Hier moeten we toegang tot de poorten voor de Minecraft-server configureren.
Om het eenvoudig te zeggen: een poort is een niet-negatief getal dat aangeeft aan wie de inkomende gegevens uit de externe wereld zijn gericht. Op een VM kunnen verschillende services en servers draaien, daarom bevat elk inkomend datapakket in zijn header de poort (nummer) van de ontvanger (service, server) binnen de VM.
Voor minecraft servers is het de facto standaard om de poort 25565te gebruiken. We voegen een regel toe die aangeeft dat toegang tot uw VM via deze poort is toegestaan.


We gaan naar het venster om de creatie van de VM af te ronden door op de knop Review and Launch
Instellen van een SSH-sleutelpaar voor de VM
Dus, de verbinding met de machine zal plaatsvinden via het SSH-protocol.
Het SSH-protocol werkt als volgt: een sleutelpaar (open en gesloten) wordt gegenereerd, de open sleutel wordt op de VM opgeslagen, de gesloten sleutel bevindt zich op de computer van de persoon die verbinding maakt met de VM (de client). Bij het verbinden controleert de VM of de client de juiste gesloten sleutel heeft.
Klik op de knop Lanceer. U krijgt het volgende venster te zien:

Voer een naam voor het sleutelpaar in (voor uw gemak) en klik op Download key pair. Er zou een .pem bestand moeten worden gedownload dat uw gesloten sleutel bevat. Klik op de knop Launch instances. U heeft zojuist een virtuele machine gemaakt waarop de server zal draaien.
Een statisch IP verkrijgen
Nu moeten we een statisch IP krijgen en toewijzen aan onze VM. Zoek in het menu het tabblad Elastic IPs en klik daarop. Op het tabblad klikt u op de knop Allocate Elastic IP address en verkrijgt u een statisch IP.

Nu moet het verkregen IP-adres aan onze VM worden toegewezen. Kies deze uit de lijst en selecteer in het menu Acties de optie Associate IP address

Vervolgens zullen we de VM aan ons IP-adres koppelen.

Klaar!
Log in op de VM
Nu, wanneer de VM is ingesteld en het IP-adres is toegewezen, zullen we ons ermee verbinden en onze minecraft server installeren.
Om verbinding te maken met de VM via SSH, gebruiken we het programma . Installeer ook PuTTYgen van dezezelfde pagina.
Na de installatie opent u PuTTY. Nu moet de verbinding worden ingesteld.

- In het tabblad Session kies het type verbinding SSH, poort 22. Geef een naam voor de verbinding op. De hostnaam voor SSH-verbinding is een string zoals:
gebruikersnaam@publieke_dns.
De standaardgebruikersnaam in AWS voor CentOS is centos. Uw publieke DNS kunt u hier bekijken:

Ik heb de string centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- In het tabblad SSH -> Auth geef uw gesloten SSH-sleutel op. Deze is opgeslagen in het bestand.
.pem, die we eerder hebben gedownload. Maar PuTTY kan niet met bestanden werken.pem, het heeft een formaat nodig.ppk. Voor de conversie gebruiken we PuTTYgen. . Het verkregen bestand.ppkLaten we opslaan en hier aangeven:

- We verbinden met de VM door op de knop Connect te klikken Open.
Gefeliciteerd! We zijn net verbonden met de console van uw VM. We moeten nu onze server erop zetten.
Installatie en configuratie van de Minecraft-server
Laten we beginnen met het configureren van onze server. Eerst moeten we een paar pakketten op onze VM installeren.
sudo yum install -y wget mc iptables iptables-services java screenLaten we bekijken waarvoor elk pakket dient.
- wget — een hulpprogramma voor het downloaden van bestanden in Linux. Hiermee downloaden we de serverbestanden.
- mc — een console teksteditor. Kenmerkt zich door eenvoud en gebruiksgemak voor een onervaren gebruiker.
- iptables — een hulpprogramma voor het beheren en configureren van de firewall, waarmee we de poort voor de server op onze VM openen.
- java — Minecraft draait op Java, dus het is noodzakelijk voor de werking van de server.
- screen — een vensterbeheerder voor Linux. Hiermee kunnen we onze console dupliceren voor het opzetten van de server. Het is belangrijk dat de server via de console draait, als u zich afmeldt van uw VM, dan wordt het serverproces gestopt. Daarom gaan we het in een apart consolevenster draaien.
Laten we nu de firewall configureren.
Een firewall is een software- of hardware-element van een computernetwerk dat de controle en filtering van het netwerkverkeer dat erdoorheen gaat, uitvoert volgens opgegeven regels. (Wikipedia)
In eenvoudige bewoordingen: stel je een stadvesting voor. Het wordt voortdurend van buitenaf aangevallen, terwijl het in de stad normaal doorgaat. Voor toegang tot de stad zijn er poorten in de vesting, waar bewakers staan die controleren of iemand in de stad mag komen. De rol van de muur en de poorten in computernetwerken wordt vervuld door de firewall.
sudo mcedit /etc/sysconfig/iptablesWe hebben zojuist het configuratiebestand van de firewall aangemaakt. Laten we het vullen met standaard configuratiegegevens, inclusief een regel voor de poort 25565, dat is de standaardpoort voor de 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
COMMITSluit het bestand af met een klik F10, terwijl de wijzigingen worden opgeslagen.

Laten we nu de firewall starten en inschakelen bij het opstarten:
sudo systemctl enable iptables
sudo systemctl restart iptablesWe zullen de serverbestanden in een aparte map opslaan, maken deze aan, gaan erheen en downloaden de serverbestanden. Hiervoor gebruiken we wget
mkdir minecraft
cd minecraft
wgetHet is nodig om de directe link voor het downloaden te vinden .jar bestand van de server. Ter voorbeeld, de link naar het serverbestand versie 1.15.2:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jarBekijk de inhoud van de map met het commando ls, zorg dat de bestanden zijn gedownload.

Laten we het serverbestand starten. Op dit moment zal de server niet draaien: hij zal alle benodigde bestanden aanmaken en zal zich beklagen dat je niet akkoord bent gegaan met de EULA-licentievoorwaarden. We accepteren de voorwaarden door het bestand te openen eula.txt
sudo mcedit eula.txtBevestig je akkoord door de regel te wijzigen naar:
eula=trueOpen het bestand server.properties: dit is het configuratiebestand van je server.
Hierin moet absoluut de volgende wijziging worden aangebracht:
online-mode=falseDe overige instellingen zijn aan jou.
Server starten
Het is tijd om de server te starten. Zoals ik al zei, de server wordt direct vanuit de console gestart, maar als we de hoofdconsole sluiten, wordt het serverproces gestopt. Daarom maken we een andere console aan:
screenIn deze console starten we de server:
sudo java -Xms512M -Xmx1024M -jar .jar --noguiDe server start in ongeveer 45 seconden, onderbreek het proces niet. Wanneer de server is geïnitialiseerd en gestart, zie je iets als:

Gefeliciteerd! Je hebt zojuist je minecraft server opgezet en gestart. Het is nu belangrijk om op de juiste manier uit de tweede console te komen, zodat deze blijft draaien met de actieve server. Druk hiervoor op Ctrl+A, dan D. Je zou in de hoofdconsole moeten zijn en iets moeten zien als [detached from 1551.pts-0.ip-172-31-37-146]. Als je terug wilt naar de console waar de server draait, gebruik dan screen -r
Nu kun je je VM loskoppelen. Je server zal beschikbaar zijn op het statische IP-adres dat we eerder hebben verkregen, op poort 25565.

Dus, het adres om verbinding te maken met de server zal zijn :25565.
Conclusie
Met deze instructie kunt u eenvoudig een gratis Minecraft-server met een statisch IP opzetten. Het artikel is geschreven in begrijpelijke taal en is gericht op niet-specialisten. Daarom zijn feedback en opmerkingen van experts welkom, want bij het vereenvoudigen van materiaal kunnen feitelijke fouten in de terminologie binnensluipen.
Bron: habr.com
