Hej, Habr! Mere præcist, svindlere, der leder efter, hvordan man opretter en Minecraft-server for at spille med venner.
Denne artikel er rettet mod ikke-programmerere, ikke-systemadministratorer, altså ikke hovedpublikummet på Habr. Artiklen indeholder en trin-for-trin vejledning til oprettelse af en Minecraft-server med en dedikeret IP, tilpasset til folk, der ikke er bekendt med IT. Hvis det ikke er dig — er det bedre at springe artiklen over.
Hvad er en server?
Så hvad er en server? Hvis vi ser på begrebet "server" som en komponent i software, er serveren et program, der kan modtage, behandle og sende data, der modtages fra brugere (klienter), der er tilsluttet denne server. For eksempel er en hjemmeside placeret på en webserver, som du får adgang til via din browser. I vores tilfælde genererer Minecraft-serveren en verden, som spillerne (klienterne) kan slutte sig til, gå rundt i, bryde blokke osv. Minecraft-serveren er ansvarlig for at forbinde spillerne og deres handlinger.
Det er åbenlyst, at serveren skal køre på en computer (maskine). Du kan oprette en server på din egen hjemmecomputer, men i så fald:
- Du sætter din egen computers sikkerhed i fare ved at åbne porte på den.
- Serveren vil belaste din computer, hvilket kan forstyrre dit arbejde med den.
- Du kan ikke opretholde din hjemmecomputer i drift 24/7: nogle gange slukker du den, nogle gange mister din computer forbindelsen til internettet osv.
- For at få adgang til din server fra den ydre verden skal du henvende dig til computeren via IP-adressen, som er dynamisk, hvilket betyder, at den kan ændre sig hver 2-3 dag af årsager, der ikke er under din kontrol.
Og hvordan løser vi disse problemer?
Løsningen på alle de nævnte problemer er brugen af en virtuel maskine med med en statisk, det vil sige en uforanderlig IP-adresse.
Kompleks terminologi? Lad os finde ud af det.
Lad os tage et kig på Wikipedia.
En virtuel maskine (VM, fra engelsk virtual machine) — et software- og/eller hardware-system, der emulerer hardwaren på en bestemt platform...Hvis vi skal forklare det meget enkelt — det er en computer i en computer. Du kan også installere et operativsystem på den og arbejde med den som med en almindelig computer.
Hvor finder vi en?
Svaret er enkelt — Dette er en platform, der tilbyder mange forskellige cloud-tjenester, der er nyttige for alle, der arbejder med web og mere. Til at oprette en Minecraft-server er et af AWS' produkter perfekt til formålet — Amazon EC2 — en cloud virtuel maskine, der er tilgængelig 24/7. AWS tilbyder en minimal virtuel maskine (10GB SSD, 1GB RAM) gratis i et år, og giver desuden mulighed for at knytte en gratis dedikeret (statisk) IP-adresse for konstant adgang til din VM (virtuelle maskine) på den samme adresse.
Opretter og konfigurerer VM
Gå til webstedet og registrer dig. Derefter skal du gå til kontrolpanelet.

I kontrolpanelet skal du finde blandt tjenesterne EC2 og gå til det.
Det er vigtigt at vælge datacenteret, med andre ord, stedet hvor Amazons servere er placeret. Du bør vælge ud fra din placering, da internethastigheden varierer, og du bør vælge datacenter, som har den hurtigste forbindelse fra din by.

For at vælge datacenter anbefaler jeg at bruge tjenesten , der måler hastigheden på pakkeoverførsel til andre byer.
I mit tilfælde (Moskva) fungerede det irske datacenter godt for mig.
Det er tid til at oprette en virtuel maskine. For at gøre dette skal du gå til fanen Launch instance

Lad os begynde konfigurationen af VM.
1) Vælg operativsystembilledet. Til oprettelse af servere er Linux meget bekvemt, vi vil bruge distributionen CentOS7
Det skal bemærkes, at der ikke vil være nogen grafisk grænseflade på din virtuelle maskine, adgang til maskinen vil ske via konsollen. Den forudsætter styring af VM ved hjælp af kommandoer, ikke computermusen. Frygt ikke for dette: det bør ikke stoppe dig nu eller få dig til at give op på idéen om at oprette din egen Minecraft-server, fordi det er "for svært". At arbejde med maskinen via konsollen er ikke svært — det vil du snart selv erfare.

2) Nu skal vi definere den tekniske konfiguration af VM. Til gratis brug tilbyder Amazon konfigurationen t2.micro, som er lidt for lidt til en fuldgyldig stor Minecraft-server, men til at spille med venner er det tilstrækkeligt.

3) De øvrige indstillinger lader vi stå som standard, men stopper ved fanen Configure Security groups.

Her skal vi konfigurere adgangen til portene for Minecraft-serveren.
Hvis man skal forklare det med simple ord, er en port et ikke-negativt tal, der angiver, hvem de indkommende data fra omverdenen er adresseret til. Der kan være mange forskellige tjenester og servere på VM'en, så alle indkommende datapakker indeholder en port (nummer) til adressaten (tjenesten, serveren) inde på VM'en.
For Minecraft-servere er der de facto standarden at bruge porten 25565. Lad os tilføje en regel, der angiver, at adgang til din VM via denne port er tilladt.


Vi går videre til vinduet for afslutning af oprettelse af VM ved at klikke på knappen Review and Launch
Konfiguration af SSH-nøglepar til VM
Således vil forbindelsen til maskinen blive etableret via SSH-protokollen.
SSH-protokollen fungerer på følgende måde: et nøglepar (offentlig og privat) genereres, den offentlige nøgle opbevares på VM'en, og den private nøgle opbevares på den computer, der opretter forbindelse til VM'en (klienten). Ved tilslutning kontrollerer VM'en, om klienten har den passende private nøgle.
Klik på knappen Lancér. Du vil nu se følgende vindue:

Indtast navnet på nøgleparret (for din bekvemmelighed) og klik på Download key pair. Du skal nu downloade en .pem fil, der indeholder din private nøgle. Klik på knappen Launch instances. Du har lige oprettet en virtuel maskine, hvor serveren vil blive opsat.
Få en statisk IP
Nu skal vi få og tilknytte en statisk IP til vores VM. For dette går vi til menuen og finder fanen Elastic IPs og klikker på den. På fanen klikker vi på knappen Allocate Elastic IP address og får en statisk IP.

Den modtagne IP-adresse skal nu tilknyttes vores VM. For at gøre dette vælger vi den fra listen og i menuen Handlinger vælger vi Associate IP address

Derefter tilknytter vi VM'en til vores IP-adresse.

Færdig!
Log ind på VM
Nu, når VM'en er konfigureret og IP-adressen er tilknyttet, kan vi logge ind og opsætte vores Minecraft-server.
For at oprette forbindelse til VM'en via SSH, bruger vi programmet . Installer straks PuTTYgen fra den samme side.
Efter installationen åbner du PuTTY. Nu skal du konfigurere forbindelsen.

- In the tab Session vælg forbindelsestypen SSH, port 22. Angiv et navn for forbindelsen. Værtsnavnet til SSH-forbindelsen er en streng i formatet:
brugernavn@offentlig_dns.
Brugernavnet i AWS for CentOS som standard er centos. Du kan se dit offentlige DNS her:

Jeg har fået strengen centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- In the tab SSH -> Auth angiv din private SSH-nøgle. Den opbevares i filen
.pem, som vi tidligere downloadede. Men PuTTY kan ikke arbejde med filer.pem, det kræver et format.ppk. Vi vil bruge PuTTYgen til konvertering. . Den resulterende fil.ppkLad os gemme og angive her:

- Vi opretter forbindelse til VM'en ved at klikke på tilslutningsknappen Åben.
Tillykke! Vi har lige tilsluttet os konsollen på din VM. Det sidste skridt er at starte vores server der.
Installation og opsætning af Minecraft-server
Lad os begynde at opsætte vores server. Først skal vi installere et par pakker på vores VM.
sudo yum install -y wget mc iptables iptables-services java screenLad os finde ud af, hvad hver af pakkerne er til.
- wget — et værktøj til at downloade filer i linux. Vi vil bruge det til at downloade serverfiler.
- mc — en konsolteksteditor. Den er enkel og nem at bruge for uerfarne brugere.
- iptables — et værktøj til at administrere og konfigurere firewallen; vi vil bruge det til at åbne en port for serveren på vores VM.
- java — Minecraft kører på Java, så den er nødvendig for at serveren fungerer.
- screen — en vindueschef til linux. Den vil lade os duplikere vores konsol for at starte serveren. Det er vigtigt, da serveren skal køre gennem konsollen; hvis du logger ud fra din VM, stopper serverprocessen. Derfor vil vi starte den i et separat konsolvindue.
Nu vil vi konfigurere firewallen.
En firewall — et software- eller hardwareelement i et computersystem, der overvåger og filtrerer den netværkstrafik, der passerer igennem det i henhold til bestemte regler. (Wikipedia)
Forklaret med simple ord: forestil dig en by med høje mure. Den bliver konstant angrebet udefra, men livet i byen fortsætter. For at få adgang til byen er der porte i murene, hvor vagter står og kontrollerer lister for at se, om folk kan komme ind. I computernetværk udfører firewallen rollen som mur og porte.
sudo mcedit /etc/sysconfig/iptablesVi har lige oprettet konfigurationsfilen til firewallen. Lad os udfylde den med standard konfigurationsdata og inkludere en regel for porten 25565, som er standardporten for Minecraft-serveren.
*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
COMMITLuk filen ved at trykke F10, mens ændringerne gemmes.

Lad os nu starte firewall'en og aktivere den ved opstart:
sudo systemctl enable iptables
sudo systemctl restart iptablesVi opbevarer serverfilerne i en separat mappe, lad os oprette den, skifte til den og downloade serverfilerne. Til dette bør vi bruge wget
mkdir minecraft
cd minecraft
wgetVi skal finde det direkte link til download .jar serverfilen. Som eksempel er her linket til serverfilen version 1.15.2:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jarGennemgå indholdet af mappen ved hjælp af kommandoen ls, sørg for at filerne er blevet downloadet.

Lad os starte serverfilen. I øjeblikket vil serveren ikke køre: den vil oprette alle nødvendige filer til drift og klage over, at du ikke har accepteret EULA-licensen. Accepter betingelserne ved at åbne filen eula.txt
sudo mcedit eula.txtBekræft din accept ved at ændre posten til:
eula=trueÅbn filen server.properties: det er konfigurationsfilen for din server.
Du skal bestemt foretage følgende ændring:
online-mode=falseDe øvrige indstillinger er op til dig.
Start af server
Det er tid til at starte serveren. Som jeg allerede har nævnt, startes serveren fra konsollen, men hvis vi lukker hovedkonsollen, vil serverprocessen stoppe. Så lad os oprette endnu en konsol:
screenI denne konsol vil vi starte serveren:
sudo java -Xms512M -Xmx1024M -jar .jar --noguiServeren starter op i omkring 45 sekunder, stop ikke processen. Når serveren er initialiseret og startet, vil du se noget som:

Tillykke! Du har lige startet og kørt din Minecraft-server. Nu er det vigtigt at afslutte fra den anden konsol korrekt, så den fortsætter med at køre med den aktive server. For at gøre det, tryk på Ctrl+A, og derefter D. Du skal befinde dig i hovedkonsollen og se en besked som [detached from 1551.pts-0.ip-172-31-37-146]. Hvis du har brug for at vende tilbage til konsollen, hvor serveren kører, skal du bruge screen -r
Nu kan du logge af din VM. Din server vil være tilgængelig på den statiske IP-adresse, vi fik tidligere, på port 25565.

Så adressen for at få adgang til serveren vil være :25565.
Konklusion
Med denne vejledning kan du nemt oprette en gratis Minecraft-server med dedikeret IP. Artiklen er skrevet i et så enkelt sprog som muligt og er rettet mod ikke-specialister. Derfor ville det være interessant at høre kommentarer fra eksperter, da forenkling af materialet kan føre til faktiske fejl i terminologien.
Kilde: habr.com
