Kuidas hoida Minecrafti server 24/7 võrgus
Sellel lehel
- Miks server sureb hetkel, mil sa mujale vaatad
- Mida 99.9% tööaeg tegelikult tähendab
- Mida lakkamatult töötav arvuti sinult päriselt nõuab
- Sinu koduse IP-st saab serveri aadress
- Oma arvuti, VPS või hallatud majutus: kes teeb töö ära
- Kuidas ise majutatud serverit siiski elus hoida
- Millal see vaev end enam ära ei tasu
- KKK
Minecrafti serveri käima saamine on lihtne osa. Selle töös hoidmine — läbi öö, sel ajal kui sa tööl oled, siis kui Windows otsustab uuenduse pärast taaskäivituda — on hoopis teine probleem, ja just see tapab vaikselt enamiku kodus peetavatest serveritest.
See juhend räägibki sellest teisest probleemist. Mitte sellest, millist majutajat valida, vaid sellest, mis serveri tegelikult võrgust maha võtab, mida "alati sees" ühelt sinu magamistoas seisvalt masinalt päriselt nõuab ja mida konkreetselt saad teha, et server elus püsiks: automaatne taaskäivitus, watchdog, plaanitud taaskäivitused ja varukoopiad väljaspool masinat. Lõpuks tead täpselt, milline kolmest serveri pidamise viisist vastab sellele, kui palju sellest tööst oled valmis enda kanda võtma.
Miks server sureb hetkel, mil sa mujale vaatad
Minecrafti server on üks programm ühes masinas. Miski ei valva seda, miski ei taaskäivita seda ja miski ei hoia masinat tema pärast ärkvel. Kui inimesed ütlevad "mu server läheb aina võrgust ära", on see peaaegu alati üks neist viiest asjast ja ükski neist pole Minecrafti süü:
- Arvuti läks unerežiimi. Iga lauaarvuti ja sülearvuti vaikimisi toitesätted panevad masina magama pärast teatud aega ilma klaviatuuri- või hiireliigutuseta. Server, mis parasjagu mängijaid teenindab, loeb ikkagi jõudeolekuks, sest keegi ei puuduta klaviatuuri.
- Fast Startup pani väljalülitamise taaskäivituse moodi välja nägema. Windowsis on see vaikimisi sees ja on kõige segadust tekitavam juhtum: masin näib tagasi tulevat, kuid sinu serveriprotsess on kadunud ja käivitusülesanne, mille seadistasid, ei jooksnud kunagi.
- Uuendus taaskäivitas selle kell kolm öösel. Nii Windows Update kui ka Linuxi järelevalveta uuendused taaskäivitavad küsimata. Kui miski su serverit alglaadimisel ei käivita, siis see lihtsalt ei tulegi tagasi.
- Keegi sulges kaane, logis välja või tõmbas juhtme seinast. Kasutajaseansist väljalogimine lõpetab selles jooksvad protsessid. Sülearvuti kaane sulgemine paneb masina magama. Ja korterikaaslane, kes pistikupesa vajab, lõpetab arutelu lõplikult.
- Elekter või internet vilkus. Ühesekundilisest katkestusest piisab. Kõik visatakse välja ja miski ei too serverit iseenesest tagasi.
Mida 99.9% tööaeg tegelikult tähendab
"Alati sees" on tunne. Tööaeg on mõõtmine ja see vahe muutub oluliseks hetkel, kui üritad välja selgitada, kas su server on päriselt töökindel või sa lihtsalt ei vaadanud siis, kui ta maas oli.
Tegelikku tööaega mõõdetakse väljastpoolt: miski internetis ühendub iga minut sinu serveri pordiga ja märgib üles, kas see vastas. See on ainus definitsioon, mis loeb, sest see püüab kinni need juhtumid, millest sinu enda arvuti teatada ei suuda — magav masin, katkenud internet, kinni jooksnud protsess. "Mu arvuti oli terve nädala sees" ei ole tööaja näitaja.
Protsendid kõlavad abstraktselt seni, kuni need ajaks ümber arvutad. 30-päevase kuu kohta:
| Tööaeg | Lubatud seisak kuus | Kuidas see välja näeb |
|---|---|---|
| 99% | umbes 7 tundi 12 minutit | Iga kuu üks terve õhtu läbi |
| 99.5% | umbes 3 tundi 36 minutit | Üks halb pärastlõuna |
| 99.9% | umbes 43 minutit | Üks taaskäivitus ja aeglane käivitumine |
| 99.99% | umbes 4 minutit | Vaevu märgatav tõrge |
Loe seda tabelit koos eelmise peatükiga ja koduse majutamise probleem muutub ilmselgeks: üksainus Windows Update'i taaskäivitustsükkel kulutab juba ära suurema osa 99.9% kuust. Mitte kriis, mitte riistvararike — üks rutiinne taaskäivitus. Kaks sellist pluss üks õhtu, mil masin magama jäi, ja oledki 99% kandis, ilma et midagi oleks tegelikult valesti läinud.
Kui tahad oma tegelikku numbrit teada, mitte pakkuda, suuna oma serveri aadressile ja pordile tasuta väline tööaja monitooring ja lase sel kuu aega joosta. See räägib sulle asju, mida sa ei teadnud — enamasti nende tundide kohta, mil sa magasid. Võrdluseks: HytHost töötab eesmärgiga 99.9% tööaega — sama mõõdupuu, mõõdetud samamoodi.
Mida lakkamatult töötav arvuti sinult päriselt nõuab
Masin, mis kunagi välja ei lülitu, on hoopis teine masin kui see, mida õhtuti kasutad. Aasta jooksul koguneb sellele umbes 8760 töötundi — pöörlevad ventilaatorid, ketaste sumin, pidevalt eralduv soojus. See seisab kuskil, ja kui see kuskil on sinu magamistuba, saad täpselt teada, kui hästi on kuulda korpuseventilaatorit juulikuu öösel kell kolm. Midagi sellest pole dramaatiline, aga just see osa ununeb, kui kujutada ette, et "lihtsalt jätan ta tööle".
Samuti tarbib see kogu aeg elektrit, mis arvel välja paistab. See on pigem raha- kui tööaja küsimus, nii et sellel on oma juhend — arvutuskäigu leiad artiklist kui palju Minecrafti server tegelikult maksab.
Suurem üllatus ei ole tavaliselt masin. Üllatus on ühendus, mille taga ta on.
Koduühendused on ehitatud allalaadimiseks, mitte teenindamiseks
Sinu allalaadimiskiirus pole siin oluline. Server saadab — pidevat maailmauuenduste voogu igale ühendatud mängijale — nii et lagi sellele, kui paljud saavad sujuvalt mängida, on sinu üleslaadimiskiirus. Kodupakette müüakse tavaliselt suure allalaadimisnumbriga ja palju väiksema üleslaadimisnumbriga ning ainus, mis sinu serverit huvitab, on see väiksem number. Kui server "lagiseb kõigil peale majutaja enda", on väga sageli põhjus just selles.
Sinu aadress muutub ilma hoiatuseta
Enamik koduühendusi saab dünaamilise IP: see muutub, kui ruuter taaskäivitub, kui liin katkeb või teenusepakkuja oma graafiku järgi. Igal sõbral, kes su serveri oma nimekirja salvestas, on nüüd surnud kirje ja sina saad uue aadressi uuesti laiali saata. Dünaamilise DNS-i teenus katab selle kinni, andes sulle püsiva hostinime, mis muutuvat aadressi järgib — seadista see enne, kui aadressi laiali jagad, mitte pärast.
Mõned ühendused ei saa üldse majutada
See tabab inimesi pärast tunde kestnud veaotsingut. Paljud teenusepakkujad panevad kodukliendid carrier-grade NAT-i taha, mis tähendab, et sul ei ole oma avalikku aadressi — sa jagad seda. Pordi suunamine ei saa sellises olukorras töötada, ükskõik kui õigesti ruuteri seadistad, sest pole aadressi, millelt suunata. Teised blokeerivad levinud serveripordid otse või keelavad serverite pidamise lepingutingimustes. Kui pordi suunamine on ideaalselt paigas ja välised mängijad ikka ei saa ühenduda, siis on see järgmine asi, mida kontrollida.
Sinu koduse IP-st saab serveri aadress
Selleks, et keegi väljastpoolt su kodu saaks ühenduda, suunad ruuteris ühe pordi — ja sellest hetkest ongi sinu serveri aadress su leibkonna avalik IP-aadress. See on igaühel, keda kutsud. Ja igaühel, kellele nemad selle edasi annavad, ning igaühel, kes seda ekraanipildil, Discordi sõnumis või serverite nimekirjas näeb.
Oluline nihe on selles, milleks sihtmärk muutub. Majutatud serveri vastu suunatud rünnak tabab seda serverit. Sinu koduse aadressi vastu suunatud rünnak tabab kogu maja: sinu ühendust, pereliikmete telefone, kellegi töökõnet, telerit. Seestpoolt sa seda filtreerida ei saa, sest selleks ajaks, kui liiklus su ruuterisse jõuab, on liin juba täis. Serveri väljalülitamine ka ei aita — aadress jääb ikka samaks aadressiks.
See on ainus erinevus kodus ja andmekeskuses majutamise vahel, millele kodus lahendust ei ole. Majutatud serveri aadress on äravisatav ja kuulub serverile, mitte su elukohale, ning selle taga on Voxility DDoS-kaitse, mis rünnakud enne kohalejõudmist neelab. Privaatse serveri puhul, mida jagad tuttavate inimestega, on kodus majutamine mõistlik risk. Kõige avaliku puhul on see põhjus, miks enamik inimesi loobub.
Oma arvuti, VPS või hallatud majutus: kes teeb töö ära
Kõik kolm võivad olla võrgus ööpäev läbi. Mitte see neid ei erista. Neid eristab see, kes vastutab siis, kui nad seda ei ole — ja just see küsimus tasub ära otsustada, sest sellega elad koos iga nädal.
| Sinu enda arvuti | Renditud VPS | Hallatud mängumajutus | |
|---|---|---|---|
| Kes uuendab operatsioonisüsteemi ja Java | Sina | Sina | Majutaja |
| Kes taaskäivitab selle kell neli öösel, kui see kinni jookseb | Sina, kui ärkad | Sina või sinu kirjutatud skript | Automaatselt, pluss plaanitud taaskäivitused |
| Kes neelab DDoS-rünnaku | Mitte keegi — see tabab su kodu | Oleneb teenusepakkujast | Voxility DDoS-kaitse |
| Mis juhtub, kui elekter või liin katkeb | Kõik visatakse välja | Mõju puudub | Mõju puudub |
| Kes märkab esimesena, et server on maas | Sinu mängijad | Sinu mängijad, kui sa ise ei jälgi | Jälgitakse sinu eest |
| Kui palju vaeva nõuab stabiilne 24/7 | Palju ja pidevalt | Palju korraga, siis jooksvalt | Mitte midagi |
Keskmist veergu hinnatakse kõige sagedamini valesti. VPS lahendab kaks kõige raskemat probleemi kohe — sel on päris aadress ja riistvara, mis kunagi ei maga — kuid see annab sulle palja Linuxi masina ja teeb sinust süsteemiadministraatori. Sina paigaldad ja uuendad Java, sina seadistad tulemüüri, sina kirjutad teenuse, mis serveri alglaadimisel käivitab, sina paigaldad turvapaigad, sina seadistad ja testid varukoopiaid. Miski sellest pole raske, aga kõik see on nüüd püsivalt sinu oma, ja uuendamata internetiga ühendatud masin on pigem risk kui server.
Ei mingeid unerežiimi seadeid, käivitusskripte ega taaskäivitusi kell neli öösel — HytHosti Minecrafti server püsib üleval sõltumata sellest, kas su arvuti on sees või mitte.
Vaata Minecrafti paketteKuidas ise majutatud serverit siiski elus hoida
Kui jääd oma masina juurde, siis need on asjad, mis viivad koduserveri seisundist "üleval siis, kui meeles on" päris töökindlaks. Tee need selles järjekorras — esimesed kaks lahendavad enamiku katkestustest juba omaette.
Ära lase masinal magama jääda
Sea toiteskeem nii, et masin ei jää kunagi magama ega lülita kettaid välja, pane sülearvutil kaane sulgemise tegevuseks "ei tee midagi" ja lülita talveuni välja. Windowsis lülita lisaks välja Fast Startup — just tema pärast võib masin näida puhtalt taaskäivitunud, samal ajal kui su käivitusülesanne ei jooksnud kunagi. Need seaded on vahe igaöise katkestuse ja mitte ühegi katkestuse vahel.
Käivita server alglaadimisel automaatselt
Planeerimata taaskäivitus peaks maksma sulle minuti, mitte õhtu. Linuxis nii käivitab systemd-i unit serveri alglaadimisel kui ka taaskäivitab selle, kui server lõpetab:
[Unit] Description=Minecraft server After=network.target [Service] User=minecraft WorkingDirectory=/opt/minecraft ExecStart=/usr/bin/java -Xms2G -Xmx4G -jar server.jar nogui Restart=always RestartSec=15 [Install] WantedBy=multi-user.target
Windowsis on samaväärne lahendus Task Scheduleri ülesanne, mis on seatud käivituma süsteemi käivitumisel, mitte sisselogimisel — sisselogimisel tähendab, et midagi ei juhtu enne, kui keegi sisse logib, mis öise taaskäivituse järel mõtte täiesti ära rikub.
Lisa watchdog, sest "töötab" ei ole "toimib"
Selle sammu jätab peaaegu igaüks vahele ja just see püüab kinni kõige hullemad katkestused. Minecrafti server, millel sai mälu otsa või mis on lukku jooksnud, on ikkagi töötav protsess: systemd näeb teda elusana ega tee midagi, samal ajal kui mängijatel jookseb ühendus aegumisse. Ainus usaldusväärne test on see, kas port päriselt vastab.
#!/bin/bash
while true; do
if ! timeout 5 bash -c "echo > /dev/tcp/127.0.0.1/25565"; then
systemctl restart minecraft
fi
sleep 60
done
Toores ja tõhus: iga minut kontrollib see, kas server oma pordil vastab, ja kui ei vasta, taaskäivitab selle. Käivita see omaette teenusena, et see ka taaskäivituse üle elaks.
Taaskäivita meelega, enne kui vaja läheb
Kaua töötanud Java serverid muutuvad tasapisi aeglasemaks, kuna mälu killustub ja pluginad koguvad olekut — klassikaline "hommikul oli kõik korras, õhtuks vantsib". Plaanitud igapäevane taaskäivitus vaiksel tunnil lähtestab kogu selle vähem kui minutiga. Hoiata mängijaid vestluses tagasiloendusega, et keegi ehitist ei kaotaks, ja vali tund, mil kedagi pole sees.
Tee varukoopiad mujale kui masinasse endasse
Varukoopia samal kettal ei ole varukoopia — see on teine koopia, mis ootab sedasama ketast rikki minemas. Kopeeri maailma kaust graafiku alusel teisele kettale, teise masinasse või pilve. Ja siis tee see, mida keegi ei tee: taasta üks neist, üks kord, ja veendu, et maailm päriselt laadib. Testimata varukoopia on oletus.
Anna aadressile midagi püsivat, millele osutada
Seadista dünaamiline DNS, et su mängijad ühenduksid hostinimega, mis järgib su muutuvat aadressi, mitte numbriga, mis aegub. See ei maksa midagi ja säästab sind korduvast teatest "server on maas", mis tegelikult tähendab "IP vahetus".
Millal see vaev end enam ära ei tasu
Kõik ülalolev päriselt toimib. Paljud peavad täpselt neid samme järgides aastaid tugevat koduserverit. Ent on kolm hetke, mil pingutus end enam ära ei tasu, ja neid tasub ära tunda, kui need saabuvad:
- Keegi mängib siis, kui sind kohal pole. Hetkel, mil server peab üleval olema sel ajal, kui sa magad, oled tööl või nädalavahetuseks ära, oled sa selle jaoks valves — ja kodus olevat masinat ei saa kellegi teise köögist ära parandada.
- Nüüd sõltub sellest ka keegi teine. Maailm, kuhu paar sõpra on kuude kaupa ehitanud, ei ole enam hobiprojekt. Tõrge, mis varem oli ebamugavus, on nüüd kõigi kaotus.
- Oled selle sel kuul käsitsi taaskäivitanud rohkem kui kaks korda. See on märk, et watchdog oled sina, ja iseenesest see paremaks ei lähe.
Vastuargument on sama tõsi ja väärt otse välja ütlemist: kui mängid LAN-is, kui masin on niikuinii muudel põhjustel sees või kui asja pidamine ongi omaette mõte, siis jääb ise majutamine õigeks vastuseks ja miski ülalolevast sinu kohta ei käi.
Kui oled mõne neist piiridest ületanud, annab üleminek hallatud Minecrafti serverile kogu selle nimekirja — unerežiimi seaded, käivitusskriptid, watchdogid, plaanitud taaskäivitused, masinavälised varukoopiad ja DDoS-filtreerimise — üle kellelegi, kelle töö see on. Paketid algavad väikestest ja neid saab serveri kasvades kohapeal suuremaks võtta, nii et lõplikku suurust ei pea täna otsustama. Ja kui tahad enne pigem tasuta varianti proovida, on see õigustatud küsimus, millel on oma vastus: vaata ausat pilku tasuta Minecrafti majutusele.
Korduma kippuvad küsimused
Kui server jookseb sinu arvutis, siis jah — server on programm selles masinas, nii et kui masin magama jääb, taaskäivitub või välja lülitub, läheb server kaasa. Sellest pääseb mööda ainult nii, et viid serveri kuhugi, kus on alati sees. Kui jätad selle koju, lülita välja unerežiim ja talveuni, lülita Windowsis välja Fast Startup ning sea server alglaadimisel automaatselt käivituma, et ootamatu taaskäivitus ei võtaks seda ülejäänud päevaks võrgust maha.
Neli asja, selles järjekorras: takista masina magamajäämist, käivita server alglaadimisel automaatselt, lisa watchdog, mis kontrollib porti iga minut ja taaskäivitab serveri, kui see enam ei vasta, ning plaani igapäevane taaskäivitus vaiksele tunnile. Kõige olulisem on watchdog — server, millel sai mälu otsa, on ikka "töötav" protsess, nii et miski muu ei märka, et see on toimimise lõpetanud. Sellest edasi loodad sa sellele, et su elekter ja internet peavad vastu ajal, mil kedagi pole kohal reageerima.
Umbes 43 minutit kuus. Võrdluseks: 99% on ligikaudu 7 tundi 12 minutit, 99.5% umbes 3 tundi 36 minutit ja 99.99% umbes 4 minutit. Just seepärast jõuab koduserver harva 99.9%-ni — üksainus Windows Update'i taaskäivitustsükkel võib kulutada suurema osa kuu varust omaette, ilma et midagi oleks tegelikult valesti läinud. Tööaega mõõdab väljastpoolt miski, mis sinu porti testib, mitte see, kas masin oli sisse lülitatud.
Tarkvara on tasuta ja ükski litsents seda ei keela, nii et selles mõttes jah. Selle asemel võtad enda kanda töökorralduse: masin ei tohi kunagi magama jääda, peab taaskäivitusi üle elama, end kinnijooksmisel ise taaskäivitama ja oma varukoopiaid tegema, ning su koduühendus peab taluma mängijate pidevat teenindamist. Üleslaadimiskiirus paneb lae sellele, kui paljud saavad sujuvalt mängida, ning dünaamiline IP või carrier-grade NAT võib serveri väljastpoolt täiesti kättesaamatuks muuta. Kui tahad tasuta majutust, mitte tasuta tarkvara, siis on see teine küsimus — vaata meie juhendit tasuta Minecrafti majutuse kohta.
Tõenäosuse järjekorras: masin jääb magama, sest keegi ei puuduta klaviatuuri; Fast Startup paneb väljalülitamised taaskäivituste moodi välja nägema, nii et su käivitusülesanne ei jookse kunagi; automaatne uuendus taaskäivitas selle öösel; või serveril sai mälu otsa ja ta jooksis kinni, ilma et oleks tegelikult lõpetanud. See viimane on salakaval juhtum — protsess on endiselt olemas, nii et miski seda ei taaskäivita, aga mängijatel jookseb ühendus aegumisse. Selle püüab kinni watchdog, mis testib porti, mitte protsessi.
Staatilist IP-d sul vaja ei ole — dünaamiline DNS annab su mängijatele hostinime, mis järgib su muutuvat aadressi, ja see lahendab asja tasuta. VPS on suurem samm: see lahendab aadressi ja annab sulle riistvara, mis kunagi ei maga, aga annab sulle ka palja Linuxi masina hallata, nii et uuendused, tulemüür, käivitusteenus ja varukoopiad on sinu oma. Kui tahad alati-sees-osa ilma süsteemihalduseta, annab hallatud mängumajutus sama tulemuse nii, et see töö on juba tehtud.
Las miski muu püsib ärkvel
Unerežiimi seaded, käivitusskriptid, watchdogid, plaanitud taaskäivitused, masinavälised varukoopiad ja DDoS-filtreerimine — kõik lahendatud, eesmärgiga 99.9% tööaega. Sinu maailm püsib üleval sõltumata sellest, kas su arvuti on sees või mitte.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours