Kuinka luoda Minecraft-palvelin
Oma palvelin antaa täyden hallinnan maailmaan ja pelin sääntöihin. Se on mahdollisuus pelata ystävien kanssa maksamatta kuukausittaisia…
Oma palvelin antaa täyden hallinnan maailmaan ja pelin sääntöihin. Se on mahdollisuus pelata ystävien kanssa maksamatta kuukausittaisia tilauksia, asentaa mitä tahansa muokkauksia, luoda minipelejä tai teknisiä kokoonpanoja. Palvelin käynnistyy erillisenä ohjelmana tietokoneella: se käsittelee pelin logiikkaa, ja pelaajien asiakasohjelmat yhdistyvät siihen. Luontiprosessi koostuu ytimen valinnasta, konfiguraatiotiedostojen perusasetuksista ja verkkoyhteyden avaamisesta.
Palvelinytimen valinta
Ytimen tyyppi määrittää palvelimen toiminnallisuuden. Forge-mödejä ei voi asentaa Paperiin tai liitännäisiä Vanillaan.
Ytimen tyyppi | Tuki | Mihin sopii |
Vanilla | Vain datapaketit | Puhdas selviytyminen, speedrunit. Huonoin optimointi. |
Paper | Liitännäiset (Bukkit/Spigot/Paper) | Julkiset palvelimet, selviytyminen ystävien kanssa, minipelit. Erinomainen optimointi. |
Purpur | Liitännäiset (Paper) + oma konfiguraatio | Kuten Paper, mutta mekaniikkojen hienosäädöllä (esimerkiksi salli mehiläisillä ratsastaminen). |
Fabric | Mödit (Fabric) | Tekniset palvelimet (Carpet mod), vanilla+-kokoonpanot, optimointi (Lithium). |
NeoForge / Forge | Mödit (Forge/NeoForge) | Raskaat modipaketit uusilla ulottuvuuksilla, koneistoilla, taikuudella. |
90 %:lle yksityisistä palvelimista ilman suuria globaaleja mödejä Paper on optimaalinen valinta. Se ei vaadi mödien asentamista pelaajien asiakasohjelmiin (kaikki toimii vanilla-asiakasohjelmasta), tukee alueiden suojausliitännäisiä ja toimii nopeammin kuin virallinen ydin.
⚠️ Tärkeää: Hybridiytimet (Arclight, Mohist), jotka tukevat sekä mödejä että liitännäisiä samanaikaisesti, rikkovat usein mödien mekaniikkoja ja aiheuttavat epävakautta. Valitse jompikumpi: joko liitännäiset tai mödit.
Järjestelmävaatimukset ja valmistelu
Palvelin kuluttaa keskusmuistia (RAM) ja suorittimen resursseja. Näytönohjaimella ei ole merkitystä palvelimelle — maailman luonti tapahtuu yksinomaan suorittimella (CPU).
2–5 pelaajalle (Paper):
RAM: 2–3 Gt varattua muistia.
CPU: mikä tahansa nykyaikainen vähintään 4-ytiminen suoritin.
10+ pelaajalle tai raskaille modipaketeille (NeoForge):
RAM: 6–8 Gt varattua muistia.
CPU: korkea suorituskyky yhtä ydintä kohden.
Javan asentaminen
Minecraft 1.21+ vaatii Java 21:n (versiot 26.1+ vaativat Java 26:n). Palvelin ei käytä asiakasohjelmaan sisäänrakennettua Javaa, vaan se on asennettava järjestelmään erikseen.
Lataa JDK 21 (tai JDK 26) Oraclen viralliselta verkkosivustolta.
Asenna se ja muista ottaa käyttöön asennusohjelman ”Add to PATH” -vaihtoehto.
Tarkista päätteessä: java -version. Sen pitäisi tulostaa versio 21.0.x.
Perusasennus ja käynnistys
Esimerkki Paper-ytimen asennuksesta:
Vaihe 1. Ytimen lataaminen
Siirry viralliselle papermc.io -sivustolle, valitse peliversio (esimerkiksi 26.1) ja lataa tiedosto. Luo tyhjä kansio palvelimelle ja siirrä tiedosto sinne. Nimeä se uudelleen muotoon server.jar mukavuuden vuoksi.
Vaihe 2. Käynnistystiedoston luominen
Palvelin ei käynnisty kaksoisnapsautuksella. Sille on varattava muistia skriptin avulla.
Luo palvelinkansioon tekstitiedosto start.txt,
avaa se ja liitä koodi:
DOS
java -Xmx4G -Xms4G -jar server.jar nogui
pause
Parametri -Xmx4G asettaa keskusmuistin enimmäisrajan (4 Gt). -Xms4G on aloitusmäärä. Tallenna tiedosto ja muuta sen tunniste muodosta .txt muotoon .bat (Windowsille).
Luo Linuxissa/macOS:ssä start.sh ja lisää #!/bin/bash ensimmäiseksi riviksi.
Vaihe 3. EULA:n hyväksyminen
Käynnistä start.bat. Konsoli avautuu muutamaksi sekunniksi ja sulkeutuu. Avaa uusi tiedosto eula.txt. Muuta rivi eula=false muotoon eula=true. Tämä on virallinen suostumus kehittäjien lisenssiehtoihin.
Vaihe 4. Täysi käynnistys
Käynnistä start.bat uudelleen. Palvelin luo maailman ja konfiguraatiotiedostot. Konsoliin ilmestyy viesti Done!. Pysäytä palvelin yksinomaan konsolin stop-komennolla, muuten maailma voi vioittua.
Asetustiedoston server.properties määrittäminen
Tiedosto server.properties sisältää palvelimen pääasetukset. Avataksesi sen napsauta tiedostoa hiiren oikealla painikkeella ja valitse ”Avaa sovelluksessa…”, valitse sitten ”Muistio” tai mikä tahansa muu tekstieditori.\
Alla on taulukko server.properties-tiedoston oletusasetuksista ja jokaisen parametrin kuvauksesta:
Parametri | Arvo | Kuvaus |
accepts-transfers | FALSE | Määrittää, hyväksyykö tämä palvelin pelaajien siirrot (transferit) muilta palvelimilta. |
allow-flight | FALSE | Sallii tai kieltää lentämisen palvelimella selviytymistilassa (jos pelaaja käyttää kolmannen osapuolen muokkauksia). Kun false, palvelin potkii tällaiset pelaajat ulos. |
broadcast-console-to-ops | TRUE | Jos käytössä, konsolikomentojen suorituksen tulokset lähetetään chattiin kaikille palvelimen operaattoreille (ylläpitäjille). |
broadcast-rcon-to-ops | TRUE | Sama kuin edellinen, mutta komennoille, jotka on lähetetty etäkäytön (RCON) kautta. |
bug-report-link | (tyhjä) | Linkki, joka näytetään pelaajille näytöllä, kun heidät katkaistaan palvelimelta virheen tai kaatumisen vuoksi. |
debug | FALSE | Ottaa käyttöön vianjäljitystilan (debug mode) laajennettua virheiden kirjaamista varten. |
difficulty | easy | Palvelimen vaikeustaso (peaceful - rauhallinen, easy - helppo, normal - normaali, hard - vaikea). |
enable-code-of-conduct | FALSE | Vaaditaanko pelaajilta Microsoftin käytössääntöjen (Code of Conduct) hyväksyntää yhdistettäessä. |
enable-jmx-monitoring | FALSE | Sallii JMX:n (Java Management Extensions) käytön palvelimen suorituskyvyn valvontaan. |
enable-query | FALSE | Ottaa käyttöön GameSpy4-protokollan (Query), joka sallii kolmannen osapuolen valvontasivustojen saada tietoja palvelimesta (online-määrä, liitännäiset). |
enable-rcon | FALSE | Ottaa käyttöön etäkäytön palvelimen konsoliin (RCON) hallintaa varten ilman suoraa pääsyä koneen päätteeseen. |
enable-status | TRUE | Sallii palvelimen näkyä "online"-tilassa peliasiakasohjelman palvelinlistalla. |
enforce-secure-profile | TRUE | Vaatii, että pelaajilla on allekirjoitetut Mojang-profiilin julkiset avaimet (suoja chat-viestien väärentämistä vastaan). |
enforce-whitelist | FALSE | Jos true, palvelin potkii pakotetusti ulos pelaajat, joita ei ole sallittujen listalla (whitelist), kun tämä lista aktivoidaan. |
entity-broadcast-range-percentage | 100 | Hallitsee etäisyyttä (prosentteina), jolla palvelin lähettää asiakasohjelmalle tietoja entiteeteistä (möhöt, muut pelaajat, esineet). |
force-gamemode | FALSE | Asettaa pelaajille pakotetusti oletuspelitilan joka kerta, kun he yhdistyvät palvelimelle. |
function-permission-level | 2 | Datapakettien (datapacks) kautta suoritettavien funktioiden käyttöoikeustaso (1–4). |
gamemode | survival | Oletuspelitila (survival, creative, adventure, spectator). |
generate-structures | TRUE | Määrittää, luodaanko maailmaan rakenteita (kyliä, luolastoja, temppeleitä jne.). |
generator-settings | {} | Erityisasetukset maailmangeneraattorille (käytetään yleensä mukautetuissa maailmoissa). |
hardcore | FALSE | "Hardcore"-tila. Jos true, pelaaja siirtyy kuoleman jälkeen pysyvästi katselijatilaan. |
hide-online-players | FALSE | Jos true, piilottaa aktiivisten pelaajien nimimerkkien listan moninpelivalikossa. |
initial-disabled-packs | (tyhjä) | Lista datapaketeista, jotka poistetaan käytöstä uutta maailmaa luotaessa. |
initial-enabled-packs | vanilla | Lista datapaketeista, jotka ovat oletuksena käytössä (peruspeli "vanilla"). |
level-name | world | Sen kansion nimi, johon maailmasi tiedostot tallennetaan. |
level-seed | (tyhjä) | Siemen (numeerinen siemen) maailman luontiin. Jos tyhjä, luodaan satunnainen. |
level-type | minecraft\:normal | Maailman luontityyppi (normal - tavallinen, flat - tasainen, large_biomes - suuret biomit, amplified - vuoristoinen). |
log-ips | TRUE | Määrittää, kirjataanko pelaajien IP-osoitteet palvelimen lokitiedostoihin. |
management-server-* | (erilaisia) | Parametriryhmä (portit, avaimet, asetukset) ulkoisille palvelimen hallintatyökaluille (käytetään harvoin). |
max-chained-neighbor-updates | 1000000 | Ketjutettujen lohkopäivitysten raja (esimerkiksi TNT-räjähdyksen tai monimutkaisten redstone-piirien aikana) palvelimen jumiutumisen estämiseksi. |
max-players | 20 | Suurin pelaajamäärä, joka voi olla palvelimella samanaikaisesti. |
max-tick-time | 60000 | Yhden "tikin" suorituksen enimmäisaika (millisekunteina). Jos palvelin "miettii" tätä aikaa kauemmin, se sammuu automaattisesti (suoja "kuolleelta" jumiutumiselta). |
max-world-size | 29999984 | Maailman rajan enimmäissäde (lohkoina). |
motd | A Minecraft Server | Message Of The Day. Palvelimen kuvaus/nimi, jonka pelaajat näkevät palvelinlistalla. |
network-compression-threshold | 256 | Pienin paketin koko (tavuina), jonka jälkeen palvelin alkaa pakata sitä internetliikenteen säästämiseksi. |
online-mode | TRUE | Hyvin tärkeä parametri. Jos true — päästää sisään vain pelaajat, joilla on lisensoitu peli. Jos false — sallii pelaajien liittyä "piraattilauncherilla". |
op-permission-level | 4 | Operaattoreiden oletuskäyttöoikeustaso (1–4, jossa 4 antaa pääsyn kaikkiin komentoihin, mukaan lukien stop). |
pause-when-empty-seconds | -1 | Joutoaika (sekunteina), jonka jälkeen palvelin asettaa maailman "tauolle", jos pelaajia ei ole (-1 tarkoittaa poissa käytöstä). |
player-idle-timeout | 0 | Aika (minuutteina), jonka jälkeen passiivinen (AFK) pelaaja potkitaan automaattisesti ulos. 0 — poissa käytöstä. |
prevent-proxy-connections | FALSE | Estää yhteydet pelaajilta, jotka käyttävät VPN:ää tai välityspalvelinta (toimii yhdessä Mojangin todennusjärjestelmän kanssa). |
query.port | 25565 | Query-protokollan portti (jos se on otettu käyttöön parametrilla enable-query). |
rate-limit | 0 | Pakettien enimmäismäärä asiakasohjelmalta palvelimelle. Käytetään suojaamaan pakettispämmiltä (0 — poissa käytöstä). |
rcon.password | (tyhjä) | Salasana palvelimen konsolin etäkäyttöön (täytettävä, jos enable-rcon=true). |
rcon.port | 25575 | RCON-yhteyden portti. |
region-file-compression | deflate | Maailman tiedostojen (alueiden) pakkausalgoritmi. deflate on vakio ja yleisin. |
require-resource-pack | FALSE | Jos true, pelaaja ei voi liittyä palvelimelle, ennen kuin hän suostuu lataamaan palvelimen resurssipaketin. |
resource-pack | (tyhjä) | Suora linkki (URL) palvelimen resurssipaketin .zip-arkistoon, joka tarjotaan pelaajille. |
resource-pack-id | (tyhjä) | Resurssipaketin yksilöllinen tunniste (UUID). |
resource-pack-prompt | (tyhjä) | Viesti, jonka pelaaja näkee, kun hänelle ehdotetaan resurssipaketin lataamista (esimerkiksi: "Lataa paketti parempaa peliä varten"). |
resource-pack-sha1 | (tyhjä) | Resurssipaketin arkiston SHA-1-tiiviste. Tarvitaan, jotta asiakasohjelma ei lataa pakettia uudelleen, jos se ei ole muuttunut. |
server-ip | (tyhjä) | IP-osoite palvelimen "sitomiseen". Yleensä jätetään tyhjäksi, jotta palvelin toimii kaikilla koneen verkkoliitännöillä. |
server-port | 25565 | Palvelimen pääportti, jonka kautta pelaajat yhdistyvät. |
simulation-distance | 10 | Säde (chunkkeina) pelaajan ympärillä, jonka sisällä maailmaa simuloidaan (kasvit kasvavat, möhöt liikkuvat, koneistot toimivat). |
spawn-protection | 16 | Spawn-alueen suojaussäde (lohkoina). Tällä alueella tavalliset pelaajat eivät voi rikkoa tai asettaa lohkoja. |
status-heartbeat-interval | 0 | Palvelimen laajennettujen tilatietojen lähetysväli (yleensä ei käytössä). |
sync-chunk-writes | TRUE | Tekee chunkkien tallentamisesta levylle synkronista (luotettavampaa maailmadatan menetyksen välttämiseksi kaatumisissa, mutta voi hidastaa palvelinta hieman). |
text-filtering-config | (tyhjä) | Kolmannen osapuolen järjestelmän asetukset kirosanojen suodattamiseen chatissa. |
text-filtering-version | 0 | Tekstinsuodatusjärjestelmän API-versio. |
use-native-transport | TRUE | Sallii palvelimen käyttää järjestelmän optimoituja verkkokirjastoja (esimerkiksi epoll Linuxille), mikä parantaa verkon suorituskykyä. |
view-distance | 10 | Piirtoetäisyys (chunkkeina), jonka palvelin lähettää asiakasohjelmalle (johon pelaajan näkyvyysetäisyys perustuu). |
white-list | FALSE | "Sallittujen listan" käyttöönotto. Jos true, palvelimelle voivat liittyä vain pelaajat, joiden nimimerkit on lisätty tähän listaan (komennolla /whitelist add <nimimerkki>). |
⚠️ Tärkeää: Jos asetat online-mode=false, kuka tahansa pelaaja voi liittyä ylläpitäjän nimimerkillä. Asenna ehdottomasti todennusliitännäinen (esimerkiksi AuthMe Reloaded) suojaksi.
Kuinka asentaa liitännäisiä
Liitännäiset laajentavat palvelimen mahdollisuuksia ilman, että pelaajien tarvitsee asentaa mödejä. Ne toimivat vain Paperilla, Purpurilla ja Spigotilla.
Lataa liitännäinen .jar-muodossa.
Sijoita tiedosto palvelimen sisällä olevaan plugins-kansioon.
Käynnistä palvelin uudelleen (stop -> start.bat).
Plugins-kansioon ilmestyy kansio liitännäisen konfiguraatioilla, jossa sen asetuksia muokataan (yleensä config.yml-tiedostossa).
Kuinka asentaa mödejä
Mödeillä pelaamiseen tarvitaan Fabric- tai NeoForge-ydin. Kaikilla pelaajilla on oltava identtinen valikoima mödejä asiakasohjelmassaan.
Fabricille:
Lataa asennusohjelma osoitteesta fabricmc.net.
Käynnistä se, valitse "Server"-välilehti, määritä peliversio ja tyhjä kansio. Napsauta "Install".
Käynnistä ladattu fabric-server-launch.jar start.bat:in kautta.
Pudota mödit luotuun mods-kansioon. Fabricille tarvitaan ehdottomasti Fabric API -mödi.
NeoForgelle:
Lataa asennusohjelma osoitteesta neoforged.net.
Käynnistä se, valitse "Install server" ja määritä kansio.
Asennuksen jälkeen suorita run.bat-tiedosto (asennusohjelma luo sen itse).
Sijoita palvelinmödit mods-kansioon.
Asiakaspuolen mödejä (minikartat, varjostimet, näytön optimointi kuten Sodium) ei saa asentaa palvelimelle — ne aiheuttavat ytimen kaatumisen käynnistyksen yhteydessä.
Kuinka päästää pelaajat palvelimelle
Tapa 1: Port Forwarding
Paras tapa pienimmällä pingillä. Vaatii pääsyn reitittimeen.
Mene reitittimen asetuspaneeliin (192.168.1.1 selaimessa).
Etsi "Port Forwarding"- tai "NAT"-osio.
Luo sääntö: portti 25565, protokolla TCP/UDP, paikallinen IP — tietokoneesi osoite (selvitä se ipconfig-komennolla).
Pelaajat yhdistyvät ulkoisella IP-osoitteellasi (sivusto 2ip.ua).
Tapa 2: Tunnelit (Playit.gg)
Jos palveluntarjoaja estää portit.
Lataa ohjelma osoitteesta playit.gg.
Käynnistä se yhdessä palvelimen kanssa. Se avaa sivun selaimessa.
Rekisteröidy, ja palvelu antaa julkisen osoitteen (esimerkiksi auto-bridge.playit.gg).
Pelaajat syöttävät tämän osoitteen peliin.
Tapa 3: Radmin VPN
Asenna Radmin VPN kaikkiin tietokoneisiin.
Luo verkko ja anna ystäville sen nimi.
He liittyvät verkkoon.
Pelaajat yhdistyvät tietokoneesi IP-osoitteella, joka näkyy Radmin VPN:ssä.
Tekniset yksityiskohdat / Kuinka se toimii sisäisesti
Minecraft-palvelin on yksisäikeinen sovellus. Pääpelisilmukka (tick loop), joka käsittelee möhöjen liikettä, fysiikkaa ja koneistoja, suoritetaan yksinomaan yhdellä suorittimen ytimellä.
Peli pyrkii suorittamaan 20 tikkiä sekunnissa (TPS - Ticks Per Second). Yhdelle tikille on varattu 50 millisekuntia. Jos laskelmat vievät enemmän aikaa, TPS laskee ja pelaajat kokevat viiveitä. Juuri siksi yhden ytimen kellotaajuus on palvelimelle tärkeämpi kuin ytimien kokonaismäärä.
Monisäikeisyyttä Paperin kaltaisissa ytimissä käytetään vain chunkkien asynkroniseen lataamiseen levyltä ja verkkokäsittelyyn, mutta itse pelilogiikka pysyy yhdellä säikeellä.
Ylläpitäjän peruskomennot
Syötetään palvelimen konsolissa (ilman /).
Toiminto | Komento |
Myönnä operaattorin oikeudet | op [nimimerkki] |
Poista oikeudet | deop [nimimerkki] |
Ota sallittujen lista käyttöön | whitelist on |
Lisää sallittujen listalle | whitelist add [nimimerkki] |
Potki pelaaja ulos | kick [nimimerkki] [syy] |
Bannaa pelaaja | ban [nimimerkki] [syy] |
Tallenna maailma käsin | save-all |
Hosting vaihtoehtona
Jos kotitietokone on heikko, palvelimen voi vuokrata.
Tyyppi | Edustajat | Edut | Rajoitukset |
Ilmaiset | Aternos, FalixNodes | Ei tarvitse maksaa | Käynnistysjonot, viiveet kuormituksessa, palvelin sammuu ilman pelaajia. |
Edulliset maksulliset | PebbleHost, Bloom.host | Alkaen 1 $ / Gt, toiminta 24/7 | On maksettava kuukausittain. |
VDS/VPS | Hetzner, Oracle | Täysi hallinta koneeseen | Vaatii Linux-ylläpidon taitoja. |
Yleisiä virheitä ja kuinka välttää ne
Virhe 1: FAILED TO BIND TO PORT. Palvelin ei käynnisty, koska portti 25565 on jo varattu. Tämä tapahtuu usein, kun käynnistetään kaksi start.bat-tiedostoa. Avaa tehtävienhallinta ja sulje kaikki Java(TM) Platform SE binary -prosessit.
Virhe 2: UnsupportedClassVersionError. Java-versio on vanhentunut. Versioon 1.20.5+ tarvitaan Java 21 ja versioon 1.16.5 — Java 11.
Virhe 3: Viiveitä nopean lennon aikana. Palvelin ei ehdi luoda uusia chunkkeja. Asenna Chunky-liitännäinen ja luo maailma etukäteen 5000 lohkon säteellä.
Virhe 4: Fabric/Forge-palvelimen kaatuminen käynnistyksessä. Mods-kansioon päätyi asiakaspuolen mödi (minikartta, Sodium). Palvelimella ei ole graafista käyttöliittymää, ja se kaatuu yrittäessään ladata niitä.
Virhe 5: Invalid session -virhe yhdistettäessä. Pelaaja käyttää piraattilaunceria, kun online-mode=true on käytössä. Muuta arvoksi false tiedostossa server.properties.
Yhteenveto
Oma Paper-pohjainen palvelin on optimaalinen valinta yksityiseen selviytymiseen ystävien kanssa, koska se tarjoaa erinomaisen suorituskyvyn ja sallii liitännäisten lisäämisen muuttamatta peliasiakasohjelmaa. Suuriin kokoonpanoihin uusilla mekaniikoilla on käytettävä Fabricia tai NeoForgea, jotka vaativat mödien synkronoinnin palvelimen ja pelaajien välillä. Suurin haaste kotipalvelimen määrittämisessä on porttien oikea avaaminen, mutta Playit.gg:n kaltaisten palveluiden käyttö ratkaisee palveluntarjoajan suljettujen porttien ongelman. Jos kotitietokoneen suorituskyky ei riitä, siirtyminen edulliseen maksulliseen hostingiin takaa vakaan 24/7-pääsyn.
Ei vielä kommentteja. Jaa ensimmäisenä ajatuksesi.