Minecraft serverio diegimas ubuntu 20.04 aplinkoje

edited March 2023 in Žaidiminiai serveriai

Kaip įdiegti Minecraft serverį Ubuntu 20.04 operacinėje sistemoje

Minecraft yra vienas populiariausių žaidimų pasaulyje, kuris turi milijonus fanų. Jei norite paleisti savo Minecraft serverį Ubuntu 20.04 sistemoje, sekite šiuos žingsnius:

1 žingsnis: Atnaujinkite sistemą

Prieš įdiegdami bet kokią programinę įrangą, geriausia atnaujinti savo sistemą, kad būtų įdiegta naujausia programinė įranga:

sudo apt update
sudo apt upgrade

2 žingsnis: Įdiekite Java

Minecraft serveris veikia su Java, todėl reikia įdiegti Java, jei jos dar neturite. Naudokite šią komandą, kad įdiegtumėte Java:

sudo apt install default-jdk

3 žingsnis: Atsisiųskite Minecraft serverio programinę įrangą

Atsisiųskite Minecraft serverio programinę įrangą iš oficialios Minecraft svetainės naudodami wget:

wget https://minecraft.net/download/server

4 žingsnis: Paleiskite Minecraft serverį

Paleiskite Minecraft serverį naudodami šią komandą:

java -Xmx1024M -Xms1024M -jar server.jar nogui

Ši komanda paleidžia Minecraft serverį su 1024MB RAM limitu. Galite keisti Xmx ir Xms reikšmes, jei norite padidinti ar sumažinti atminties limitą.

5 žingsnis: Konfigūruokite serverį

Paleidus Minecraft serverį, jums reikėtu atlikti bent minimalias konfiguracijas. Tai galite padaryti keisdami serverio koreguodami failą server.properties. Štai keli pagrindiniai serverio konfigūracijos parametrai:

  • server-ip - serverio IP adresas.
  • server-port - serverio prievadas. Numatytasis Minecraft serverio prievadas yra 25565, bet jį galite pakeisti, jei norite.
  • max-players - maksimalus žaidėjų skaičius. Nustatykite šį parametrą pagal savo poreikius.
  • spawn-protection - apsauga nuo teritorijų ar statinių konstrukcijų sunaikinimo arba modifikavimo. Šis parametras apsaugo naujus arba kitus žaidėjus nuo statinių konstrukcijų modifikavimo ar sunaikinimo. Numatytasis spawn-protection yra 16, bet jį galite pakeisti, jei norite.
  • online-mode - leidžia pasirinkti, ar serveris turi patikrinti, ar prisijungiantis žaidėjas turi licenziją. Standartiškai šis parametras yra įjungtas. Kad įjungtumėte offline mode, reikia pakeisti šio parametro reikšmę į false.
  • view-distance - nustato, kiek blokų matoma nuo žaidėjo. Kuo didesnis šis parametras, tuo daugiau atminties naudos Minecraft serveris. Numatytasis view-distance yra 10. Kuo didesnė reikšmė tuo daugiau resursų reikalauja serveris.
  • allow-flight - leidžia žaidėjams skraidyti. Standartiškai šis parametras yra išjungtas.
  • gamemode - nustato žaidimo rėžimą, kuriame paleidžiamas serveris. Standartiškai yra nustatytas režimas "survival". Kitos galimos režimo reikšmės yra "creative", "adventure" ir "spectator".
  • difficulty - nustato sunkumo lygį, kuriame paleidžiamas serveris. Standartiškai sunkumo lygis yra nustatytas kaip "normal". Kitos galimos sunkumo reikšmės yra "easy", "hard" ir "hardcore".
  • motd - serverio pranešimas, kuris rodomas žaidėjams prisijungus prie serverio.
  • enable-command-block - leidžia naudoti komandinius blokus Minecraft žaidime. Jei šis parametras yra išjungtas, komandiniai blokai neveiks.
  • max-world-size - nustato didžiausią pasaulio dydį blokais. Jei norite, kad jūsų pasaulis būtų ne apribotas, nustatykite šį parametrą į 0. Jeigu šis parametras išjungtas arba nustatytas kuo didesnis tuomet tuo daugiau serverio resursų tai pareikalauja.
  • resource-pack - nustato resursų paketo URL adresą. Jei norite, kad žaidėjai galėtų automatiškai atsisiųsti resursų paketą, nurodykite jo URL adresą.
  • pvp - leidžia žaidėjams kovoti vienas su kitu. Standartiškai šis parametras yra įjungtas.
  • enable-rcon - leidžia naudoti Minecraft Remote Console, kuris leidžia valdyti serverį iš bet kurio atstumo. Šis parametras yra numatytasis įjungtas.
  • rcon.password - Minecraft Remote Console slaptažodis. Šį slaptažodį naudojate, kai prisijungiate prie serverio per Minecraft Remote Console.
  • enable-query - leidžia Minecraft serveriui pateikti žaidėjų sąrašą per Minecraft serverių sąrašus, tokius kaip serverių sąrašas Minecraft kliente arba svetainėse, kurios naudoja Minecraft serverių sąrašų protokolą. Įjungus šį parametrą atsiranda galimybė floodinti serverį siunčiant daug tokių užklausų apie serverio statistiką.
  • query.port - nustato Minecraft serverių sąrašų portą. Standartiškai šis parametras yra nustatytas į 25565.
  • level-type - nustato pasaulio tipo rūšį. Standartiškai šis parametras yra nustatytas kaip "default". Kitos galimos reikšmės yra "flat", "largeBiomes" ir "amplified".
  • generate-structures - leidžia sugeneruoti pastatus ir kaimus žaidimo žemėlapyje. Jei norite žaidimą žaisti be sugeneruotų pastatų, pakeiskite reikšmę į false.
  • generator-settings - nustato pasaulio sugeneravimo nustatymus. Šis parametras naudojamas tik tada, kai pasirinkta reikšmė customized parametre level-type.
  • hardcore - leidžia žaidėjams žaisti "hardcore" rėžimu, kai, kai miršta, prarandama pasaulio prieiga. Šis parametras įjungiamas, nustatant reikšmę į true.
  • level-seed - nustato pasaulio seed. Jei paliksite šį parametrą tuščią, pasaulio seed bus sugeneruotas automatiškai.
  • max-build-height - nustato maksimalų pasaulio aukštį, kuris gali būti pastatytas ar modifikuotas. Numatytasis aukštis yra 256 blokai, bet jį galite pakeisti.
  • max-tick-time - nustato maksimalų laiką, kurį serveris gali skirti vienam žaidimo ciklui. Šis parametras naudojamas, kad serveris nesustotų arba nepradėtų veikti per daug ilgai. Numatytasis laikas yra 60000 milisekundžių, bet jį galite pakeisti.
  • network-compression-threshold - nustato, kokia dydžio žinutės turi būti suspaudžiamos, prieš jas siunčiant per tinklą. Standartiškai žinutės yra suspaudžiamos, jei jų dydis yra didesnis nei 256 baitai.
  • op-permission-level - nustato teisių lygį žaidėjams, kurie yra operatoriai (OP). Standartiškai teisių lygis yra 4, bet jį galite pakeisti.
  • player-idle-timeout - nustato laiką, po kurio žaidėjas bus automatiškai išjungiamas, jei jis neaktyvus. Numatytasis laikas yra 0, bet jį galite pakeisti.
  • spawn-npcs - leidžia NPC (non-player character) gyvenimą šiame pasaulyje. Numatytasis režimas yra įjungtas.
  • spawn-animals - leidžia kurti gyvūniją šiame pasaulyje. Numatytasis režimas yra įjungtas.
  • spawn-monsters - leidžia kurti priešus/monstrus šiame pasaulyje. Numatytasis režimas yra įjungtas.
  • force-gamemode - leidžia serveriui visus žaidėjus priversti žaisti tam tikrame režime, nustatytame per gamemode parametrą. Numatytasis režimas yra išjungtas.
  • function-permission-level - nustato teisių lygį, kuris reikalingas norint vykdyti funkcijas serverio pusėje. Numatytasis režimas yra 2.
  • prevent-proxy-connections - leidžia serveriui blokuoti žaidėjus, kurie prisijungia per proxy jungtį, kurią gali naudoti apgaulingi žaidėjai. Numatytasis režimas yra išjungtas.
  • resource-pack-prompt - leidžia serveriui rodyti pranešimą, kad žaidėjai gali atsisiųsti resursų paketą. Numatytasis režimas yra įjungtas.
  • sync-chunk-writes - nustato, ar Minecraft turi sinchronizuoti blokų rašymą į diską. Tai gali pagerinti našumą, bet padidina diskų įvesties/išvesties apkrovą. Numatytasis parametras yra true.
  • enable-jmx-monitoring - įjungia JMX stebėjimą Minecraft serveriui. Tai gali būti naudojama stebėti serverio našumą naudojant įrankius, pvz. JConsole. Numatytasis parametras yra false.
  • enable-status - įjungia serverio statuso atsaką. Tai leidžia žaidėjams matyti serverio būseną, kai ieško serverių sąraše. Numatytasis parametras yra įjungtas.
  • max-structure-block-distance - nustato didžiausią atstumą, kuriuo žaidėjai gali naudoti struktūros blokus, kad kurtų struktūras. Numatytasis atstumas yra 32 blokai, bet jį galite pakeisti. Kuo didesnis šis parametras tuo daugiau serverio resursų reikalauja.
  • spawn-protection-size - nustato apsaugos spindulio dydį, kuris taikomas naujiems žaidėjams. Šis parametras taip pat apsaugo kaimus nuo sunaikinimo ar modifikavimo. Numatytasis spindulio dydis yra 16 blokų, bet jį galite pakeisti.
  • max-entity-collisions - nustato maksimalų skaičių, kiek kartų galima susidurti su kitais objektais per vieną žaidimo ciklą. Numatytasis skaičius yra 8, bet jį galite pakeisti.
  • max-command-chain-length - nustato maksimalų komandų grandinės ilgį, kuris gali būti įvykdytas per vieną žaidimo ciklą. Šis parametras yra naudingas, kai norite užtikrinti, kad per daug komandų nevykdoma per vieną kartą. Numatytasis grandinės ilgis yra 65536, bet jį galite pakeisti.
  • max-world-border-radius - nustato didžiausią pasaulio ribos spindulį, kuris gali būti nustatytas. Šis parametras yra naudingas, kai norite apriboti žaidėjų galimybes kelionėms arba statybai. Numatytasis spindulys yra 6,000,000 blokų, bet jį galite pakeisti.
  • max-tnt-per-tick - nustato maksimalų sprogstamųjų TNT blokų kiekį, kuris gali būti sprogdinamas per vieną žaidimo ciklą. Šis parametras padeda kontroliuoti serverio našumą, kai yra daug sprogstančio TNT. Numatytasis skaičius yra 100, tačiau jį galite pakeisti.
  • player-auto-save-rate - nustato, kaip dažnai serveris automatiškai išsaugo žaidėjų duomenis (pvz., inventorių, poziciją). Numatytasis intervalas yra 600 žaidimo ciklų, bet jį galite pakeisti.
  • allow-nether - leidžia žaidėjams pereiti į "Nether" dimensiją. Numatytasis rėžimas yra įjungtas.
  • allow-end - leidžia žaidėjams pereiti į "The End" dimensiją. Numatytasis rėžimas yra įjungtas.
  • announce-advancements - leidžia serveriui rodyti pranešimus apie žaidėjų pasiekimus (advancements). Numatytasis režimas yra įjungtas.
  • whitelist - leidžia tik tam tikrus žaidėjus prisijungti prie serverio. Numatytasis režimas yra išjungtas. Jei norite įjungti "whitelist", pakeiskite reikšmę į true.
  • force-resource-pack - priverčia žaidėjus naudoti nurodytą resursų paketą, kuris yra nustatytas per resource-pack parametrą. Numatytasis režimas yra išjungtas. Jei norite priversti žaidėjus naudoti resursų paketą, pakeiskite reikšmę į true.
  • level-name - nustato serverio pasaulio pavadinimą. Šis pavadinimas yra naudojamas saugojamo aplanko pavadinimui.
  • min-players - nustato minimalų žaidėjų skaičių, kuris turi būti prisijungęs, kad serveris būtų matomas serverių sąraše. Numatytasis skaičius yra 0, bet jį galite pakeisti.
  • use-native-transport - leidžia serveriui naudoti vietinį tinklo transportą, jei tai galima. Tai gali pagerinti serverio tinklo našumą. Numatytasis parametras yra true.
  • announce-player-achievements - leidžia serveriui automatiškai skelbti žaidėjų pasiekimus visiems prisijungusiems žaidėjams. Numatytasis parametras yra įjungtas.
  • message-cooldown - nustato laiko tarpą milisekundėmis tarp žaidėjų siunčiamų žinučių. Šis parametras padeda apriboti žinučių spaminimą ir pagerinti bendruomenės kokybę. Numatytasis laikas yra 1000 milisekundžių, bet jį galite pakeisti.

Redaguokite failą naudodami nano arba bet kokį kitą redaktorių:

nano server.properties

Pakeiskite norimus parametrus, o tada išsaugokite ir uždarykite failą.

Dabar galite paleisti Minecraft serverį kaip aprašyta žingsnyje 4 ir jūsų serveris turėtų būti pasiekiamas.

6 žingsnis: Paleiskite Minecraft serverį per systemd, startuos kartu su operacine sistema (Neprivaloma)

Galite sukurti sistemd servisą, kuris leis automatiškai paleisti Minecraft serverį sistemos paleidimo metu ir valdyti jį kaip bet kurį kitą servisą. Tam reikia sukurti minecraft.service failą:

sudo nano /etc/systemd/system/minecraft.service

Įklijuokite šią konfigūraciją:

[Unit]
Description=Minecraft serveris
After=network.target

[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateTmp=true
WorkingDirectory=/home/minecraft/minecraft_server
ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
ExecStop=/usr/bin/screen -p 0 -S minecraft -X eval 'stuff "say Serveris bus isjungtas per 10 sekundziu. Issaugoti savo darba!"\015'
ExecStop=/bin/sleep 10
ExecStop=/usr/bin/screen -p 0 -S minecraft -X eval 'stuff "stop"\015'

[Install]
WantedBy=multi-user.target

Failo redagavimo metu pakeiskite:

  • User=minecraft su savo naudotojo vardu, kuris naudojamas paleisti Minecraft serverį (VPS`e bus root).
  • WorkingDirectory=/home/minecraft/minecraft_server su keliu iki jūsų Minecraft serverio.
  • /usr/bin/java kur randasi jūsų java paleidžiamasis failas
  • Xmx ir Xms reikšmes pagal savo poreikius.

Išsaugokite ir uždarykite failą.

Dabar galite paleisti Minecraft serverio sisteminią paslaugą naudodami šias komandas:

sudo systemctl daemon-reload
sudo systemctl start minecraft
sudo systemctl enable minecraft

Jūsų Minecraft serveris automatiškai pasileis ir bus pasiekiamas sistemos paleidimo metu. Norėdami tikrinti serverio būseną, galite naudoti šias komandas:

sudo systemctl status minecraft
sudo journalctl -u minecraft

Taigi, jūs sėkmingai įdiegėte Minecraft serverį ir sukūrėte sisteminią paslaugą, kad jis būtų paleidžiamas kartu su sistemos paleidimu.

Kaip patobulinti Minecraft serverio Java paleidimo komandą

Kai paleidžiate Minecraft serverį, naudojama numatytoji Java paleidimo komanda, kuri gali nesuteikti geriausio našumo. Tačiau yra keletas paprastų būdų, kaip patobulinti Java paleidimo komandą ir pagerinti serverio našumą. Sekite šiuos žingsnius, kad patobulintumėte Minecraft serverio Java paleidimo komandą:

1 žingsnis: Skirkite daugiau RAM atminties

Pagal numatytąjį nustatymą, Minecraft serveriui skirta 1GB RAM atminties. Jei turite daugiau laisvos RAM atminties savo serveryje, galite skirti daugiau RAM JVM, kad pagerintumėte našumą.

Pavyzdžiui, jei turite 4GB RAM atminties, galite skirti 2GB RAM JVM naudojant šią komandą:

java -Xmx2G -Xms2G -jar minecraft_server.jar nogui

2 žingsnis: Naudokite G1 garbage collector

G1 garbage collector yra sukurtas siekiant sumažinti pertraukas ir pagerinti našumą dideliuose Minecraft serveriuose. Galite jį naudoti pridedant šiuos parametrus prie Java paleidimo komandos:

java -Xmx2G -Xms2G -XX:+UseG1GC -jar minecraft_server.jar nogui

3 žingsnis: Įjunkite multicore cpu palaikymą

Galite įjungti multicore cpu palaikymą JVM, kad išnaudotumėte daugiau CPU branduolių savo serveryje. Tai gali pagerinti našumą Minecraft, ypač dideliuose serveriuose su daug žaidėjų.

Norėdami įjungti multicore cpu palaikymą, pridėkite šiuos parametrus prie Java paleidimo komandos:

java -Xmx2G -Xms2G -XX:+UseG1GC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=4 -jar minecraft_server.jar nogui

4 žingsnis: Galima nustatyti tam tikras serverio opcijas paleidimo eilutėje

Šiuos parametrus galite pridėti prie java paleidimo komandos, kad būtų optimizuotas Minecraft serverio veikimas. Pvz., jei norite nustatyti offline mode ir view-distance reikšmes, galite naudoti šią komandą:

java -Xmx2G -Xms2G -XX:+UseG1GC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=4 -jar minecraft_server.jar nogui --offline-mode true --view-distance 8

Pakeiskite parametrus pagal savo poreikius, o tada paleiskite Minecraft serverį su naujomis konfigūracijomis.

Sign In or Register to comment.