Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Hallo, Habr! Mear krekter, skurken dy't op syk binne nei hoe't jo in minecraft-tsjinner ynstelle kinne om mei freonen te boartsjen.

It artikel is bedoeld foar net-programmeurs, net-sysadmins, yn 't algemien, net foar Habr's haadpublyk. It artikel befettet stap-foar-stap ynstruksjes foar it meitsjen fan in minecraft-tsjinner mei in tawijd IP, oanpast foar minsken fier fan IT. As dit net oer jo giet, is it better om it artikel oer te slaan.

Wat is in tsjinner?

Dus wat is in tsjinner? As wy fertrouwe op it konsept fan "tsjinner" as in software komponint, dan de tsjinner is in programma dat kin ûntfange, ferwurkje en ferstjoere gegevens ûntfongen fan brûkers (kliïnten) dy't ferbûn binne mei dizze tsjinner. Mei help fan de side as foarbyld, de side leit op guon webserver, dêr't jo tagong krije fia in browser. Yn ús gefal genereart de minecraft-tsjinner in wrâld wêrmei spilers (kliïnten) ferbine, wa kinne rinne, blokken brekke, ensfh. De minecraft-tsjinner is ferantwurdlik foar it ferbinen fan spilers en ien fan har aksjes.

Fansels moat de tsjinner op 'e kompjûter (masine) rinne. Jo kinne in server op jo thúskompjûter ynstelle, mar yn dit gefal:

  • Jo bringe de feiligens fan jo eigen kompjûter yn gefaar troch dêrop havens te iepenjen
  • De tsjinner sil in lading op jo kompjûter pleatse, wat jo wurk mei him kin bemuoie
  • Jo kinne jo thúskompjûter net 24/7 draaiend hâlde: soms skeakelje jo it út, soms ferliest jo kompjûter ynternetferbining, ensfh.
  • Om tagong te krijen ta jo tsjinner fan 'e bûtenwrâld, moatte jo tagong krije ta jo kompjûter fia IP adres, wat foar "thús" ynternetproviders is dynamysk, dat is, it kin elke 2-3 dagen feroarje foar redenen bûten jo kontrôle.

En hoe losse wy dizze problemen op?

De oplossing foar al dizze problemen is te brûken firtuele masine со statysk, dat is, in net te feroarjen IP-adres.

Komplekse terminology? Litte wy it útfine.
Werom nei Wikipedia.

Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...

Om it yn heul rûge termen te setten, is it in kompjûter binnen in kompjûter. Jo kinne der ek in bestjoeringssysteem op ynstallearje en dermei wurkje lykas mei in gewoane kompjûter.

Wêr kinne wy ​​krije it?

It antwurd is ienfâldich - Aws. Dit is in platfoarm dat in protte ferskillende wolktsjinsten leveret dy't nuttich binne foar elkenien dy't wurket mei it web en net allinich. Om in minecraft-tsjinner te meitsjen is ien fan 'e AWS-produkten perfekt - Amazon EC2 - in wolk firtuele masine dy't 24/7 beskikber is. AWS biedt in minimale firtuele masine (10GB SSD, 1GB RAM) fergees foar in jier, Dêrneist, makket it mooglik om te binen in frije tawijd (statyske) IP-adres foar permaninte tagong ta jo VM (firtuele masine) op itselde adres.

Wy meitsje en konfigurearje in VM

Gean nei de side Aws en registrearje. Gean dan nei de behearkonsole.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Yn 'e konsole, ûnder tsjinsten, fine EC2 en gean nei it.

It is wichtich om in datasintrum te kiezen, gewoanwei, it plak dêr't de Amazon-tsjinners lizze. Jo moatte kieze ôfhinklik fan jo lokaasje, om't de snelheid fan kommunikaasje op it ynternet ferskilt, en jo moatte in datasintrum kieze wêrmei kommunikaasje fan jo stêd sa fluch mooglik sil wêze.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Om in datasintrum te selektearjen, advisearje ik de tsjinst te brûken WonderNetwork, dy't de oerdrachtsnelheid fan pakketten mei oare stêden mjit.
Yn myn gefal (Moskou) paste it Ierske datasintrum my.

It is tiid om in firtuele masine te meitsjen. Om dit te dwaan, gean nei de ljepper Lansearje eksimplaar

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Litte wy begjinne mei it konfigurearjen fan de VM.

1) Selektearje it bestjoeringssysteemôfbylding. Linux is heul handich foar it ferheegjen fan servers; wy sille de distribúsjekit brûke CentOS7

It moat opmurken wurde dat d'r gjin grafyske omjouwing sil wêze op jo firtuele masine; tagong ta de masine sil fia de konsole wêze. It giet om it kontrolearjen fan de VM mei kommando's ynstee fan in kompjûtermûs. Wês hjir net bang foar: dit soe jo no net moatte stopje of it idee opjaan om jo eigen minecraft-tsjinner te ferheegjen, om't it "te dreech" is. Wurkje mei de masine fia de konsole is net dreech - jo sille gau sjen foar josels.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

2) Litte wy no de technyske konfiguraasje fan 'e VM definiearje. Foar fergees gebrûk biedt Amazon de konfiguraasje t2.micro, Net genôch foar in folsleine grutte minecraft-tsjinner, mar genôch om te spyljen mei freonen.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

3) Lit de rest fan 'e ynstellings as standert, mar stopje by de ljepper Konfigurearje Feiligensgroepen.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Hjir moatte wy tagong ta havens foar de minecraft-tsjinner konfigurearje.

Yn ienfâldige termen is in poarte in net-negatyf nûmer dat oanjout oan wa't ynkommende gegevens fan 'e bûtenwrâld rjochte binne. In VM kin in protte ferskillende tsjinsten en tsjinners hostje, sadat alle ynkommende gegevenspakketten de poarte (nûmer) fan 'e bestimming (tsjinst, tsjinner) binnen de VM yn har koptekst opslaan.

Foar minecraft-tsjinners is de de facto standert om de haven te brûken 25565. Litte wy in regel tafoegje dy't oanjout dat tagong ta jo VM fia dizze poarte akseptabel is.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Wy geane nei it finster foar it foltôgjen fan it meitsjen fan 'e VM troch te klikken op de knop Review en Launch

In SSH-kaaipaar ynstelle foar in VM

Dat, de ferbining mei de masine sil wurde útfierd mei it SSH-protokol.

It SSH-protokol wurket as folget: in pear kaaien (iepenbier en privee) wurdt oanmakke, de iepenbiere kaai wurdt opslein op 'e VM, en de privee kaai wurdt opslein op' e kompjûter fan 'e persoan dy't ferbynt mei de VM (kliïnt). By it ferbinen kontrolearret de VM dat de kliïnt in gaadlike privee kaai hat.

parse Launch. It folgjende finster sil foar jo ferskine:

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Fier de namme fan it kaaipaar yn (foar jo gemak) en klikje Download kaaipaar. Jo moatte download .pem in triem mei jo privee kaai. Klikje op de knop Launch eksimplaren. Jo hawwe krekt in firtuele masine makke wêrop de tsjinner ynstalleare sil.

It krijen fan in statyske IP

No moatte wy in statyske IP krije en bine oan ús VM. Foar dit menu fine wy ​​it ljepblêd Elastyske IPs en wy geane der lâns. Klikje op de ljepper op de knop Allokearje Elastysk IP-adres en krije in statyske IP.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

No moat it ûntfongen IP-adres ferbûn wêze mei ús VM. Om dit te dwaan, selektearje it út 'e list en yn it menu aksjes kieze Associate IP-adres

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Folgjende sille wy de VM bine oan ús IP-adres

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Done!

Wy geane nei de VM

No't de VM is konfigureare en it IP-adres is tawiisd, litte wy dermei ferbine en ús minecraft-tsjinner ynstallearje.

Om te ferbinen mei de VM fia SSH sille wy it programma brûke putty. Ynstallearje PuTTYgen fuortendaliks fan dizze side

Nei it ynstallearjen fan PuTTY, iepenje it. No moatte jo de ferbining konfigurearje.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

  1. Yn de ljepper Sitting selektearje ferbining type SSH, haven 22. Spesifisearje in namme foar de ferbining. De hostnamme foar ferbining fia SSH is in tekenrige lykas: имя_пользователя@публичный_dns.

De standert brûkersnamme yn AWS foar CentOS is hûnderten. Jo iepenbiere DNS kin hjir besjoen wurde:

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Ik krige de line [email protected]

  1. Yn de ljepper SSH -> Auth Fier jo privee SSH-kaai yn. It wurdt opslein yn in bestân .pem, dy't wy earder downloade. Mar PuTTY kin net wurkje mei bestannen .pem, hy moat in opmaak .ppk. Foar konverzje sille wy PuTTYgen brûke. Konverzje-ynstruksjes fan 'e PuTTYgen-webside. Untfongen triem .ppk Litte wy hjir bewarje en oanjaan:

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

  1. Wy ferbine mei de VM troch de ferbining te iepenjen mei de knop Iepen.
    Lokwinske! Wy hawwe krekt ferbûn mei de konsole fan jo VM. Alles wat oerbliuwt is ús server derop te ynstallearjen.

Ynstallearje en konfigurearje in minecraft-tsjinner

Litte wy begjinne mei it ynstellen fan ús server. Earst moatte wy ferskate pakketten op ús VM ynstallearje.

sudo yum install -y wget mc iptables iptables-services java screen

Litte wy útfine wêr't elk fan 'e pakketten foar is.

  • wget - in hulpprogramma foar it downloaden fan bestannen yn Linux. Mei it brûken sille wy de serverbestannen downloade.
  • mc - konsole tekstbewurker. It is ienfâldich en maklik te brûken foar in net oplaat brûker.
  • iptables - in hulpprogramma foar it behearen en konfigurearjen fan in firewall, mei har help sille wy in poarte iepenje foar de tsjinner op ús VM.
  • java - minecraft rint op java, dus it is nedich foar de tsjinner om te wurkjen
  • skerm - finsterbehearder foar Linux. It sil ús tastean ús konsole te duplisearje om de tsjinner te ferheegjen. It feit is dat de tsjinner moat wurde lansearre fia de konsole; as jo loskeppelje fan jo VM, sil it serverproses wurde stoppe. Dêrom sille wy it útfiere yn in apart konsolefinster.

Litte wy no de firewall konfigurearje.

In brânmuorre is in software- of hardware-software-elemint fan in kompjûternetwurk dat netwurkferkear kontrolearret en filtert dat der trochhinne giet yn oerienstimming mei bepaalde regels. (Wikipedia)

Om yn ienfâldige termen út te lizzen: stel jo in fersterke stêd foar. Hy wurdt hieltyd oanfallen fan bûten, wylst it normale libben trochgiet yn 'e stêd. Om tagong ta de stêd is der in poarte yn de muorre fan de festing, dêr't bewakers by steane en út listen kontrolearje oft dizze persoan yn de festing talitten wurde kin. De rol fan in muorre en poarte yn kompjûternetwurken wurdt útfierd troch in firewall.

sudo mcedit /etc/sysconfig/iptables

Wy hawwe krekt in firewall-konfiguraasjetriem makke. Litte wy it folje mei standert konfiguraasjegegevens, ynklusyf in regel foar de haven 25565, dat is de standert poarte foar de minecraft-tsjinner.

*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
COMMIT

Slút it bestân troch te drukken F10, bewarje de feroarings.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Litte wy no de firewall starte en it ynskeakelje by it opstarten:

sudo systemctl enable iptables
sudo systemctl restart iptables

Wy sille de serverbestannen opslaan yn in aparte map, meitsje it, gean nei it en download de serverbestannen. Om dit te dwaan moatte jo brûke wget

mkdir minecraft
cd minecraft
wget <ссылка_на_jar>

Moatst fine direkte keppeling foar download .jar tsjinner triem. Bygelyks, keppelje nei tsjinner triem ferzje 1.15.2:

wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar

Besjoch de ynhâld fan in map mei it kommando ls, soargje derfoar dat de bestannen binne ynladen.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Litte wy it serverbestân starte. No sil de tsjinner net wurkje: it sil alle bestannen oanmeitsje dy't nedich binne foar wurk, en sil kleie dat jo net iens binne mei de betingsten fan 'e EULA-lisinsje. Akseptearje de betingsten troch it bestân te iepenjen eula.txt

sudo mcedit eula.txt

Befêstigje jo oerienkomst troch de yngong te feroarjen yn:

eula=true

Iepenje de triem server.properties: Dit is jo tsjinner konfiguraasjetriem. Mear oer tsjinner ynstellings

Dêr moat de folgjende wiziging oan makke wurde:

online-mode=false

De oerbleaune ynstellingen binne nei jo goedtinken.

Server start

It is tiid om de tsjinner te begjinnen. Lykas ik al sei, begjint de tsjinner direkt fan 'e konsole, mar as wy de haadkonsole slute, sil it serverproses stoppe wurde. Litte wy dêrom in oare konsole oanmeitsje:

screen

Litte wy de tsjinner yn dizze konsole begjinne:

 sudo java -Xms512M -Xmx1024M -jar <название_файла_сервера>.jar --nogui

De tsjinner begjint yn likernôch 45 sekonden, net ûnderbrekke it proses. As de tsjinner is inisjalisearre en rint, sille jo wat sjen as:

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

Lokwinske! Jo hawwe krekt jo minecraft-tsjinner op en draait. No is it wichtich om de twadde konsole korrekt út te gean, sadat it trochgiet te wurkjen mei de rinnende tsjinner. Om dit te dwaan, klikje Ctrl+A, dan D. Jo moatte yn 'e haadkonsole wêze en in berjocht sjen lykas [detached from 1551.pts-0.ip-172-31-37-146]. As jo ​​moatte weromgean nei de konsole dêr't de tsjinner rint, brûk dan screen -r

Jo kinne no losmeitsje fan jo VM. Jo tsjinner sil tagonklik wêze fia it statyske IP-adres dat wy earder krigen hawwe, op poarte 25565.

Fergese minecraft-tsjinner op AWS mei nul kennis fan Linux

It docht bliken dat it adres foar it ynfieren fan de tsjinner sil wêze <ваш_статический_IP>:25565.

konklúzje

Mei dizze ynstruksjes kinne jo maklik in fergese minecraft-tsjinner ynstelle mei in tawijd IP. It artikel is skreaun yn de ienfâldichst mooglike taal en is bedoeld foar net-spesjalisten. Yn dit ferbân is it nijsgjirrich om de opmerkingen te hearren fan dyjingen dy't beset binne, want by it ferienfâldigjen fan it materiaal kinne feitlike flaters yn terminology makke wurde.

Boarne: www.habr.com

Add a comment