Како да одржувате Minecraft сервер онлајн 24/7
На оваа страница
- Зошто серверот умира во моментот кога ќе престанете да гледате
- Што всушност значи 99.9% достапност
- Што навистина бара од вас PC што работи непрекинато
- Вашата домашна IP адреса станува адреса на серверот
- Сопствен PC, VPS или управуван хостинг: кој ја врши работата
- Како сепак да одржите сервер на сопствена машина жив
- Кога мачењето престанува да се исплати
- ЧПП
Да пуштите Minecraft сервер е лесниот дел. Да го одржите да работи — преку ноќ, додека сте на работа, кога Windows ќе одлучи да се рестартира заради ажурирање — е сосема друг проблем и токму тој тивко ги убива повеќето сервери што се водат од дома.
Овој водич е за тој втор проблем. Не за тоа кој хостинг да го изберете, туку што всушност го соборува серверот офлајн, што навистина бара „постојано вклучено“ од машина што стои во вашата спална соба и кои конкретни работи можете да ги направите за да го одржите жив: автоматско рестартирање, watchdog, закажани рестарти и бекапи надвор од машината. На крајот ќе знаете точно кој од трите начини за водење сервер одговара на тоа колку од таа работа сте спремни да преземете врз себе.
Зошто серверот умира во моментот кога ќе престанете да гледате
Minecraft серверот е една програма што работи на една машина. Ништо не го надгледува, ништо не го рестартира и ништо не ја држи машината будна наместо него. Кога луѓето ќе речат „серверот постојано ми паѓа“, речиси секогаш е нешто од овие пет работи и ниту една не е вина на Minecraft:
- PC-то заспа. Стандардните поставки за напојување на секој десктоп и лаптоп ја суспендираат машината по одреден период без активност на тастатура или глушец. Сервер што е зафатен со опслужување играчи сепак се смета за неактивен, зашто никој не ја допира тастатурата.
- Fast Startup направи исклучувањето да изгледа како рестарт. На Windows ова е стандардно вклучено и е најзбунувачкото од сите: машината навидум се враќа, но процесот на серверот го нема, а задачата за стартување што сте ја поставиле никогаш не се извршила.
- Ажурирање ја рестартираше во 3 наутро. И Windows Update и автоматските надградби на Linux рестартираат без да прашаат. Ако ништо не го стартува серверот при подигање, тој едноставно никогаш не се враќа.
- Некој го затвори капакот, се одјави или ја исклучи од струја. Одјавувањето од корисничката сесија ги завршува процесите во неа. Затворањето на капакот на лаптопот ја суспендира машината. Цимер на кој му треба штекерот целосно ја завршува дискусијата.
- Струјата или интернетот трепнаа. Доволен е прекин од една секунда. Сите се исклучени, а ништо не го враќа серверот само од себе.
Што всушност значи 99.9% достапност
„Постојано вклучено“ е чувство. Достапноста е мерка, а разликата станува важна во моментот кога ќе се обидете да пресметате дали серверот навистина е сигурен или само не сте гледале кога паднал.
Вистинската достапност се мери однадвор од машината: нешто на интернет се поврзува на портот на вашиот сервер секоја минута и запишува дали одговорил. Тоа е единствената дефиниција што се брои, зашто ги фаќа случаите за кои вашиот PC не може да извести — заспана машина, паднат интернет, блокиран процес. „PC-то ми беше вклучено цела недела“ не е бројка за достапност.
Процентите звучат апстрактно додека не ги претворите во време. Во месец од 30 дена:
| Достапност | Дозволено време без работа месечно | Како изгледа тоа |
|---|---|---|
| 99% | околу 7 часа и 12 минути | Цела вечер исчезната, секој месец |
| 99.5% | околу 3 часа и 36 минути | Едно лошо попладне |
| 99.9% | околу 43 минути | Еден рестарт и бавно подигање |
| 99.99% | околу 4 минути | Едвај трепнување |
Прочитајте ја оваа табела веднаш до претходниот дел и проблемот со домашниот хостинг станува очигледен: еден единствен циклус на рестарт од Windows Update веќе го троши најголемиот дел од месецот со 99.9%. Не криза, не хардверски дефект — еден рутински рестарт. Два такви, плус една вечер кога машината заспала, и веќе сте во зоната на 99% без навистина ништо да тргнало наопаку.
Ако сакате да ја знаете вашата вистинска бројка наместо да ја погодувате, насочете бесплатен надворешен монитор за достапност кон адресата и портот на вашиот сервер и оставете го да работи еден месец. Ќе ви каже работи што не сте ги знаеле, обично за часовите додека сте спиеле. За споредба, HytHost работи со цел од 99.9% достапност — истиот аршин, мерен на истиот начин.
Што навистина бара од вас PC што работи непрекинато
Машина што никогаш не се исклучува е поинаква машина од онаа што ја користите навечер. Во текот на една година собира околу 8.760 часа работа — вентилатори што се вртат, дискови што се вртат, топлина што постојано излегува од неа. Таа стои некаде, и ако тоа некаде е вашата спална соба, ќе научите точно колку се слуша вентилатор од куќиште во 3 наутро во јули. Ништо од ова не е драматично, но тоа е делот што луѓето го забораваат кога замислуваат „само ќе ја оставам вклучена“.
Исто така троши струја цело време, што се гледа на сметката. Тоа е прашање на пари, а не на достапност, па затоа има свој водич — видете колку навистина чини Minecraft сервер за пресметките.
Поголемото изненадување обично не е машината. Туку линијата зад која стои.
Домашните врски се направени да преземаат, а не да опслужуваат
Вашата брзина на преземање тука е неважна. Серверот испраќа — непрекинат тек на ажурирања на светот кон секој поврзан играч — па вашата брзина на испраќање е таванот за тоа колку луѓе можат да играат течно. Домашните пакети обично се продаваат со голем број за преземање и многу помал за испраќање, а токму тој помал број е единствениот што му е важен на серверот. Кога сервер „лагира за сите освен за домаќинот“, ова многу често е причината.
Вашата адреса се менува без предупредување
Повеќето домашни врски добиваат динамична IP адреса: таа се менува кога рутерот ќе се рестартира, кога линијата ќе падне или според распоредот на операторот. Секој пријател што го зачувал вашиот сервер во листата сега има мртов запис, а вие повторно ја разнесувате новата адреса. Услугата за динамичен DNS го прикрива ова со тоа што ви дава стабилно име на хост кое ја следи адресата што се менува — поставете го пред да ја споделите адресата, не потоа.
Некои врски воопшто не можат да хостираат
Ова ги фаќа луѓето по часови барање на грешката. Многу оператори ги ставаат домашните корисници зад NAT на ниво на оператор, што значи дека немате сопствена јавна адреса — ја делите со други. Пренасочувањето на портови не може да работи во таква ситуација колку и правилно да го поставите рутерот, зашто нема адреса од која да се пренасочи. Други директно ги блокираат вообичаените сервер портови или го забрануваат водењето сервери во условите на договорот. Ако пренасочувањето на портови е поставено совршено, а играчите однадвор сепак не можат да се поврзат, ова е следното нешто што треба да го проверите.
Вашата домашна IP адреса станува адреса на серверот
За да дозволите некој надвор од вашиот дом да се поврзе, пренасочувате порт на рутерот — и од тој момент адресата на вашиот сервер е јавната IP адреса на вашето домаќинство. Ја имаат сите што ги каните. Ја имаат и сите на кои тие ќе им ја пренесат, и секој што ќе ја види на слика од екран, во порака на Discord или во листа со сервери.
Важната промена е во тоа што станува цел. Напад насочен кон хостиран сервер го погодува тој сервер. Напад насочен кон вашата домашна адреса ја погодува куќата: вашата врска, телефоните на семејството, нечиј работен повик, телевизорот. Не можете да го филтрирате однатре, зашто сообраќајот веќе ја заситил линијата пред да стигне до рутерот. Ниту исклучувањето на серверот не помага — адресата и понатаму е таа иста адреса.
Ова е единствената разлика меѓу домашниот и датацентарскиот хостинг за која дома нема заобиколување. Адресата на хостиран сервер е потрошна и му припаѓа на серверот, а не на местото каде што живеете, и таа стои зад Voxility DDoS заштита што ги впива нападите пред да стигнат до неа. За приватен сервер што го делите со луѓе што ги познавате, домашното хостирање е разумен ризик. За што било јавно, тоа е причината поради која повеќето луѓе застануваат.
Сопствен PC, VPS или управуван хостинг: кој ја врши работата
Сите три можат да бидат онлајн деноноќно. Не тоа ги разделува. Тоа што ги разделува е кој е одговорен кога не се — и токму тоа е прашањето вредно да се реши, зашто со него живеете секоја недела.
| Вашиот сопствен PC | VPS што го изнајмувате | Управуван хостинг за игри | |
|---|---|---|---|
| Кој го ажурира оперативниот систем и Java | Вие | Вие | Хостерот |
| Кој го рестартира во 4 наутро кога ќе се блокира | Вие, штом ќе се разбудите | Вие или скрипта што сте ја напишале | Автоматски, плус закажани рестарти |
| Кој впива DDoS напад | Никој — тој ја погодува вашата куќа | Зависи од операторот | Voxility DDoS заштита |
| Што се случува кога ќе падне струјата или линијата | Сите се исклучени | Незасегнато | Незасегнато |
| Кој прв забележува дека е паднат | Вашите играчи | Вашите играчи, освен ако го надгледувате | Надгледуван за вас |
| Труд за стабилни 24/7 | Голем и постојан | Голем еднаш, потоа континуиран | Никаков |
Средната колона е онаа што луѓето погрешно ја проценуваат. VPS ги решава двата најтешки проблеми веднаш — има вистинска адреса и хардвер што никогаш не спие — но ви предава гола Linux машина и ве прави систем администратор. Вие ја инсталирате и ажурирате Java, вие го поставувате заштитниот ѕид, вие ја пишувате услугата што го стартува серверот при подигање, вие ги применувате безбедносните закрпи, вие ги поставувате и тестирате бекапите. Ништо од тоа не е тешко, но сето тоа сега е ваше, трајно, а неажурирана машина изложена на интернет е товар, а не сервер.
Без поставки за спиење, без скрипти за подигање, без рестарти во 4 наутро — HytHost Minecraft серверот останува онлајн без разлика дали вашиот PC е вклучен или не.
Погледнете ги Minecraft пакетитеКако сепак да одржите сервер на сопствена машина жив
Ако останувате на сопствената машина, ова се работите што домашниот сервер го поместуваат од „вклучен кога ќе се сетам“ до навистина сигурен. Направете ги по овој редослед — првите две сами по себе решаваат најголем дел од прекините.
Спречете ја машината да заспива
Поставете го планот за напојување така што машината никогаш нема да заспие и никогаш нема да ги гаси дисковите, поставете дејството при затворање на капакот да не прави ништо на лаптоп и исклучете ја хибернацијата. На Windows исто така исклучете го Fast Startup — тој е причината зошто машината може да изгледа како да се рестартирала чисто, додека вашата задача за стартување никогаш не се извршила. Овие поставки се разликата меѓу прекин секоја вечер и ниту еден.
Стартувајте го серверот автоматски при подигање
Непланиран рестарт треба да ве чини минута, а не вечер. На Linux, една systemd unit и го стартува серверот при подигање и го рестартира ако излезе:
[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
На Windows еквивалентот е задача во Task Scheduler поставена да се извршува при подигање на системот, а не при најава — при најава значи дека ништо не се случува додека некој не се најави, што ја губи целата поента по ноќен рестарт.
Додајте watchdog, зашто „работи“ не значи „функционира“
Ова е чекорот што речиси сите го прескокнуваат, а токму тој ги фаќа најлошите прекини. Minecraft сервер што останал без меморија или се заглавил сепак е процес што работи: systemd го гледа жив и не прави ништо, додека играчите добиваат timeout. Единствениот сигурен тест е дали портот навистина одговара.
#!/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
Груб и делотворен: секоја минута проверува дали серверот одговара на својот порт и го рестартира ако не одговара. Пуштете го како сопствена услуга за да преживее и рестарт.
Рестартирајте го намерно, пред да мора
Java серверите што работат долго постепено забавуваат како што меморијата се фрагментира и додатоците собираат состојба — класичното „наутро беше добро, навечер се влече“. Закажан дневен рестарт во мирен час го ресетира сето тоа за помалку од минута. Предупредете ги играчите во чатот со одбројување за никој да не изгуби градба и изберете час кога никој не е онлајн.
Правете бекап некаде надвор од машината
Бекап на истиот диск не е бекап — тоа е втора копија што чека истиот диск да откаже. Копирајте ја папката со светот по распоред на друг диск, друга машина или во облак. Потоа направете го тоа што никој не го прави: вратете еден, еднаш, и потврдете дека светот навистина се вчитува. Нетестиран бекап е претпоставка.
Дајте ѝ на адресата нешто стабилно кон што ќе покажува
Поставете динамичен DNS за играчите да се поврзуваат на име на хост кое ја следи вашата променлива адреса наместо на број што истекува. Не чини ништо и ве штеди од повторливата порака „серверот е паднат“, која всушност значи „IP адресата се смени“.
Кога мачењето престанува да се исплати
Сето горенаведено навистина функционира. Многу луѓе со години водат солиден домашен сервер токму со тие чекори. Но постојат три моменти во кои трудот престанува да се исплатува и вреди да ги препознаете кога ќе дојдат:
- Некој игра кога вас ве нема. Во моментот кога серверот треба да биде вклучен додека спиете, сте на работа или сте отсутни за викенд, вие сте дежурни за него — а машина во вашата куќа не може да се поправи од туѓа кујна.
- Некој друг сега зависи од него. Свет во кој неколку пријатели граделе со месеци повеќе не е хоби проект. Дефектот што порано беше непријатност сега е загуба за сите.
- Овој месец сте го рестартирале рачно повеќе од двапати. Тоа е сигналот дека watchdog-от сте вие, а тоа само од себе не се подобрува.
Спротивниот случај е подеднакво реален и вреди да се каже отворено: ако играте на LAN, ако машината е вклучена и онака поради други причини или ако самото водење на серверот е поентата, самостојното хостирање останува вистинскиот одговор и ништо од горенаведеното не се однесува на вас.
Ако сте ја преминале некоја од тие граници, преселбата на управуван Minecraft сервер ја предава целата листа — поставки за спиење, скрипти за подигање, watchdog, закажани рестарти, бекапи надвор од машината и DDoS филтрирање — на некој чија работа е токму тоа. Пакетите почнуваат мали и се надградуваат во од како што серверот расте, па денес не ја одлучувате конечната големина. А ако сакате прво да пробате бесплатна опција, тоа е фер прашање со свој одговор: видете го искрениот поглед на бесплатниот Minecraft хостинг.
Често поставувани прашања
Ако серверот работи на вашиот PC, да — серверот е програма на таа машина, па кога таа ќе заспие, ќе се рестартира или ќе се исклучи, серверот заминува со неа. Нема начин да го заобиколите тоа освен со преселба на серверот некаде каде што е постојано вклучено. Ако го држите дома, исклучете го спиењето и хибернацијата, исклучете го Fast Startup на Windows и поставете серверот да се стартува автоматски при подигање, за да не остане офлајн до крајот на денот по неочекуван рестарт.
Четири работи, по редослед: спречете ја машината да заспива, стартувајте го серверот автоматски при подигање, додајте watchdog што го проверува портот секоја минута и го рестартира серверот ако престане да одговара, и закажете дневен рестарт во мирен час. Watchdog-от е најважен — сервер што останал без меморија сепак е процес што „работи“, па ништо друго не забележува дека престанал да функционира. Освен тоа, се потпирате на тоа дека струјата и интернетот ќе останат стабилни додека никој не е тука да реагира.
Околу 43 минути месечно. За споредба, 99% е приближно 7 часа и 12 минути, 99.5% е околу 3 часа и 36 минути, а 99.99% е околу 4 минути. Затоа домашен сервер ретко достигнува 99.9% — еден единствен циклус на рестарт од Windows Update може сам да го потроши најголемиот дел од месечната дозволена граница, без навистина ништо да тргнало наопаку. Достапноста се мери однадвор, од нешто што го тестира вашиот порт, а не според тоа дали машината била вклучена.
Софтверот е бесплатен и нема лиценца што ве спречува, па во таа смисла да. Тоа што го преземате наместо тоа е оперативно: машината не смее никогаш да заспие, мора да ги преживува рестартите, сама да се рестартира кога ќе се заглави и да си држи сопствени бекапи, а вашата домашна врска мора да поднесе непрекинато опслужување играчи. Брзината на испраќање ограничува колкумина можат да играат течно, а динамична IP адреса или NAT на ниво на оператор може серверот да го направат целосно недостапен однадвор. Ако сакате бесплатен хостинг, а не бесплатен софтвер, тоа е друго прашање — видете го нашиот водич за бесплатен Minecraft хостинг.
По веројатност: машината заспива зашто никој не ја допира тастатурата, Fast Startup прави исклучувањата да изгледаат како рестарти па вашата задача за стартување никогаш не се извршува, автоматско ажурирање ја рестартирало преку ноќ или серверот останал без меморија и се заглавил без навистина да излезе. Тој последен случај е подмолниот — процесот е сè уште таму, па ништо не го рестартира, но играчите добиваат timeout. Watchdog што го тестира портот, а не процесот, го фаќа тоа.
Не ви треба статична IP адреса — динамичниот DNS им дава на играчите име на хост кое ја следи вашата променлива адреса, што го решава проблемот бесплатно. VPS е поголем чекор: ја решава адресата и ви дава хардвер што никогаш не спие, но ви предава гола Linux машина за администрирање, па ваши стануваат ажурирањата, заштитниот ѕид, услугата за подигање и бекапите. Ако го сакате делот „постојано вклучено“ без систем администрација, управуваниот хостинг за игри е истиот резултат со таа работа веќе завршена.
Нека нешто друго остане будно
Поставки за спиење, скрипти за подигање, watchdog, закажани рестарти, бекапи надвор од машината и DDoS филтрирање — сето тоа средено, со цел од 99.9% достапност. Вашиот свет останува онлајн без разлика дали вашиот PC е вклучен или не.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours