Núdzové zastavenie a núdzové reštartovanie serveru

MidasCraft – Núdzové zastavenie a núdzové reštartovanie serveru

Varovanie: Tieto protokoly sa používajú výhradne v prípade nepredvídateľného správania serveru


Núdzové zastavenie serveru

Upozornenie: Pre núdzové zastavenie serveru sa predpokladá, že správca má prístup k SSH. V prípade, že tento prístup nemá, je povinný kontaktovať najbližšiu osobu, ktorá tento prístup má.

Núdzové zastavenie serveru delíme na:

  • čiastočné zastavenie serveru – ide o tzv. čiastkové zastavenie serveru, spravidla serveru na ktorom sa vyskytne problém, či už s bootloopom, alebo server jednoducho neodpovedá, nesprávne sa naštartuje a pod. Čiastočné zastavenie serveru sa vykonáva najčastejšie.
  • úplné zastavenie minecraft serveru – ide o tzv. “malý blackout” serveru, kedy vypnete všetky možnosti pripojenia na server a odpojíte zo serveru všetkých hráčov, vrátane seba. Tento typ zastavenia sa využíva v prípade útoku na server, kedy je potrebné v čo najkratšej dobe eliminovať útočníkov. Počas malého blackoutu je naďalej dostupný web serveru, teamspeak ako aj ďalšie služby.
  • úplné zastavenie VPS serveru – ide o veľmi výnimočný typ zastavenia serveru, ktorý nie je možné urobiť bez povolenia majiteľa serveru, tzv. “veľký blackout”. Počas veľkého blackoutu sa vypne web, ako aj všetky služby súvisiace s MidasCraftom. Toto vypnutie môže urobiť iba balemi alebo kamzík, nikto iný, preto ho nebudeme samostatne rozoberať.

Čiastočné zastavenie serveru

Čiastočné zastavenie serveru sa vykonáva na jednotlivých Spigot serveroch, ktoré v rámci našej siete fungujú. Postup po pripojení do konzole je nasledujúci:

  1. Po pripojení do konzole hlavného VPS, alebo VPS na ktorom sa vyskytol problém zadáme príkaz “kozodlak“. Tento príkaz nám vypíše zoznam VŠETKÝCH AKTÍVNYCH SPIGOT A BUNGEECORD SCREENOV na serveri. Následne zadáme poradové číslo (alebo písmeno) screenu, na ktorý sa chceme prepnúť a potvrdíme klávesou ENTER. (poznámka: numerické čísla serverov predstavujú servery, ktoré bežia na aktuálnom VPS, zatiaľ čo servery, ktoré sú označené písmenom predstavujú servery, ktoré bežia na inom VPS a ich screen je k VPS na ktorom ste iba vzdialene pripojený) (Poznámka č. 2- v rámci kozodlak menu sa medzi jednotlivými servermi prepínate rýchlym stlačením kombinácie kláves CTRL+ A + D)
  2. Ak ste zadali bod č. 1 správne, objaví sa vám aktuálne konzolové dianie na danom serveri. Aby ste server bezpečne vypli, je potrebné zadať príkaz stop (bez lomítka, v konzoli sa uvádzajú príkazy výhradne bez lomítka). Server by sa mal začať vypínať a postupne sa budú ukladať dáta jednotlivých serverov. Ide o bezpečné vypnutie serveru, kedy sa uiložia hráčske dáta v momente zadania príkazu stop.
    • UPOZORNENIE: Môže nastať aj situácia, kedy príkaz stop nebude reagovať. Stáva sa to hlavne pri preťažení serveru, kedy sa vám na screene vypíše červeným písmom, že server dlhšiu dobu nereagoval a ani po zadaní príkazu stop sa nezačal vypínať. Vtedy je potrebné server “zabiť” natvrdo, bež uloženia hráčskych dát. Tento spôsob využívajte iba v prípade, že nemáte na výber a server nereaguje. Po tom ako sekúnd ani do 60 sekúnd od zadania príkazu STOP nereagoval, je potrebné opakovane po sebe začať stláčať príkazy CTRL+C, a to až kým sa daný screen nevypne. Týmto zabijete daný screen a nedôjde k uloženiu hráčských dát. Hráčske dáta budú v takom prípade automaticky rollbacknuté pri najbližšom štarte serveru o čas 5-10 minút v závislosti od serveru.
  3. Po úspešnom zadaní príkazu STOP sa server začne vypínať. Keďže naše servery majú nastavené, aby sa v prípade vypnutia automaticky naštartovali, je potrebné, aby ste im v tomto opätovnom štarte zabránili. Pri väčšine serverov na to máte presne 3 sekundy, aby ste im zabránili v tomto štarte a to urobíte tak, že ukončíte screen na ktorom bežia procesy. Na obrazovke sa vám preto objaví hláška: “Pokiaľ chcete úplne zastaviť server, stlačte CTRL+C pred vypršaním času. Reštartujem o 3… 2… 1…” . Je potrebné preto ukončiť screen ešte pred vypršaním času sltačením príkazu CTRL+C.
    • UPOZORNENIE: Občas sa stáva, že server sa pri automatickom reštarte dostane do tzv. bootloopu, kedy sa port na ktorom bežal pôvodný server neuzavrie a server sa naňho opakovane snaží pripojiť. Táto chyba je konštantne indikované nápisom FAILED TO BIND TO THE PORT (port already in use). V tomto prípade je potrebné počas bootloopu v ktoromkoľvek momente úplne zabiť screen a počkať najmenej 120 sekúnd pred jeho opätovným spustením. Pokiaľ tento čas nedodržíte, hrozí, že port sa opäť neotvorí a dostanete sa do konštantného bootloopu opäť. Neodporúčam manuálne uvoľnenie portu pomocou linux príkazov, systém je nastavený tak, aby sa v pravidelných intervaloch dokázal vyčistiť sám.
    • Ukážka bezpečného vypnutia vstupného lobby serveru

  4. Po úspešnom zastavení serveru analyzujte chybu, resp. vykonajte to, čo potrebujete a server opätovne spustite. (postup ako na to viď nižšie)

Úplné zastavenie MC serveru (“malý blackout”)

V prípade úplného zastavenia MC serveru hovoríme ani nie tak o zastavení spigot serverov ako sme to opisovali v predchádzajúcom bode, ale o vypnutí prepojovacej proxy siete, ktorá sa nazýva Bungeecord. K tomuto núdzovému vypnutiu dochádza spravidla v prípade útoku na server, kedy je potrebné v čo najkratšom čase útočníkom obmedziť pripojenie na server. Z toho dôvodu je preto najlepšie vypnutie prepojovacej siete, ktorá sa postará o to, aby ste ochránili server. K núdzovému vypnutiu Bungeecord serveru je potrebné, aby ste mali prístup k hlavnému VPS.

  1. Po pripojení do konzole hlavného VPSzadáme príkaz “kozodlak“. Tento príkaz nám vypíše zoznam VŠETKÝCH AKTÍVNYCH SPIGOT A BUNGEECORD SCREENOV na serveri. Následne zadáme poradové číslo (alebo písmeno) screenu, ktorý sa volá “bungeecord” a potvrdíme klávesou ENTER. (poznámka: numerické čísla serverov predstavujú servery, ktoré bežia na aktuálnom VPS, zatiaľ čo servery, ktoré sú označené písmenom predstavujú servery, ktoré bežia na inom VPS a ich screen je k VPS na ktorom ste iba vzdialene pripojený)
  2. Ak ste zadali bod č. 1 správne, objaví sa vám aktuálne konzolové dianie na danom serveri. Aby ste bungeecord server bezpečne vypli, je potrebné zadať príkaz end (bez lomítka, v konzoli sa uvádzajú príkazy výhradne bez lomítka). Server by sa mal začať vypínať a postupne sa budú ukladať dáta prepojených serverov. Ide o bezpečné vypnutie serveru.
    • UPOZORNENIE: Môže nastať aj situácia, kedy príkaz end nebude reagovať. Stáva sa to hlavne pri preťažení serveru a ani po zadaní príkazu end sa nezačal vypínať. Vtedy je potrebné server “zabiť” natvrdo. Tento spôsob využívajte iba v prípade, že nemáte na výber a server nereaguje. Po tom ako sekúnd ani do 60 sekúnd od zadania príkazu end nereagoval, je potrebné opakovane po sebe začať stláčať príkazy CTRL+C, a to až kým sa daný screen nevypne. Týmto zabijete daný screenshot a nedôjde k uloženiu dát.
  3. Po úspešnom zadaní príkazu END sa server začne vypínať. Keďže naše servery majú nastavené, aby sa v prípade vypnutia automaticky naštartovali, je potrebné, aby ste im v tomto opätovnom štarte zabránili. Pri väčšine serverov na to máte presne 3 sekundy, rovnako je to aj v prípade bungeecordu, aby ste im zabránili v tomto štarte a to urobíte tak, že ukončíte screen na ktorom bežia procesy. Na obrazovke sa vám preto objaví hláška: “Pokiaľ chcete úplne zastaviť server, stlačte CTRL+C pred vypršaním času. Reštartujem o 3… 2… 1…” . Je potrebné preto ukončiť screen ešte pred vypršaním času sltačením príkazu CTRL+C.
  4. Po úspešnom zastavení serveru analyzujte chybu, resp. vykonajte to, čo potrebujete a server opätovne spustite. (postup ako na to viď nižšie). Pokiaľ prebehol útok, server nespúšťajte, ale čakajte na ďalšie pokyny od majiteľa serveru.

Núdzové zapnutie (reštartovanie) serveru

Ak ste už pristúpili k núdzovému zapnutiu serveru, je potrebné ho zrejme aj zapnúť (pokiaľ ste opravili škody, resp. ste na to dostali pokyn). Opätovný štart serveru sa na rozdiel od rozdielov pri zastavení serveru robí rovnako, musíte však poznať správnu cestu.

  1. Premiestnite sa až do koreňového adresára daného serveru. To sa robí tak, že zadáte aspoň 6x za sebou príkaz cd ..
  2. Keď sa už v koreňovom adresári serveru nachádzate, uistite sa, že ste na správnom VPS serveri, teda na tom, na ktorom chcete spustiť screen.
  3. Následne je potrebné, aby ste zadali celú cestu ku koreňovému adresáru serveru to urobíte nasledovným príkazom (príkazy sú vypísané pre každý server samostatne, rovnako s označením VPS serveru)
    • Hlavné VPS – Bungeecord, príkaz: cd home/midascraft/minecraft/bungeecord/
    • Hlavné VPS – Lobby server, príkaz: cd home/midascraft/minecraft/authme/
    • Hlavné VPS – RPG server, príkaz: cd home/midascraft/minecraft/MidasCraft/
    • Hlavné VPS – Trestanecký server, príkaz: cd home/midascraft/minecraft/Prison/
  4. Keď už sa v danej zložke nachádzate, spustenie serveru je jednoduché. Je potrebné zadať príkaz ./restart.sh
  5. Následne zadajte už len príkaz kozodlak pre spätnú kontrolu, či sa daný server naozaj spúšťa. Ak sa niečo pokazilo, treba hľadať problém, najskôr bude niekde medzi klásvenicou a stoličkou. (Poznámka – v rámci kozodlak menu sa medzi jednotlivými servermi prepínate rýchlym stlačením kombinácie kláves CTRL+ A + D). Štart serveru môže trvať od 30 sekúnd do 10 minút v závislosti na jeho komplexnosti a zložitosti. Zároveň sa odporúča servery štartovať POSTUPNE, nie všetky súčasne, aby nedošlo k preťaženiu procesora.