Paano pumili ng VPS para sa game server
Alamin kung kailangan mo ng mabilis na single core at sapat na RAM, pati tamang ports, systemd restarts, backups, at lokasyon para sa latency.
Anong uri ng gaming VPS ang tinutukoy mo?
Magandang bilhin ang VPS para sa game server kung ang gamit nito ay magpatakbo ng dedicated server na kokonektahan ninyo ng mga kaibigan mo mula sa sarili ninyong mga machine. Hindi ito magandang bilhin para sa isa pang kahulugan ng pariralang ito: ang paglalaro mismo sa VPS gamit ang remote desktop. Magkasalungat ang hardware na kailangan ng dalawang gawaing ito. Kailangan ng dedicated server ng isang mabilis na CPU core at sapat na RAM para magkasya ang world. Kailangan naman sa paglalaro ng GPU (graphics processing unit), at walang GPU ang karaniwang VPS plan.
Tungkol sa unang gamit ang lahat ng nasa ibaba. Nararapat mong paglaanan ng dalawang minuto ang pangalawang gamit, dahil maraming bumibili ng maling box para rito.
Bakit hindi ka makapaglaro ng games sa isang VPS
Ang karaniwang VPS ay may virtual CPU cores at walang graphics card. Walang ipinapasa mula sa physical host, kaya walang hardware renderer na magagamit ng game. Makikita mo kung ano talaga ang nakuha mo:
sudo apt install -y pciutils
lspci | grep -iE "vga|3d"Ang sagot ay isang virtual display adapter, gaya ng Cirrus Logic o virtio GPU device. Ginagamit ito para maipakita ng web console ng provider ang screen mo, at wala itong 3D acceleration. Kapag nag-install ka ng desktop at VNC server dito, iniuulat ng glxinfo -B ang renderer nito bilang llvmpipe, na software renderer ng Mesa na tumatakbo sa CPU. Ang modern 3D game na CPU ang nagre-render ay tatakbo sa ilang frames per second lamang, kaya hindi ito playable bago pa man lumabas sa server ang anumang network traffic. Ganoon din ang problema sa Windows instances. Maraming title ang nagsasara sa pagsisimula at nagrereklamo na hindi sila makagawa ng Direct3D device, dahil walang display adapter na mapaglalapatan nito.
Ang pangalawang problema ay ang biyahe pabalik sa iyo. Kapag naglalaro sa remote box, bawat frame ay ine-encode bilang video, ipinapadala sa internet, at dine-decode sa screen mo. Nagdaragdag ito ng encoding at decoding time sa input lag ng game, at ang RDP at VNC ay dinisenyo para sa desktop, hindi para sa 60 frames per second na galaw. Nilulutas ito ng cloud gaming services gamit ang totoong GPU hardware at purpose-built streaming protocol. Wala ang alinman sa mga ito sa isang plain VPS. Kung gusto mong maglaro, mag-rent ka ng GPU time. Kung gusto mong mag-host, magpatuloy sa pagbabasa.
Mga aktuwal na kailangan ng dedicated game server
Ang game server ay isang simulation loop. Pinananatili nito sa memory ang mundo at ina-update ito nang tiyak na bilang ng beses bawat segundo. Pagkatapos, ipinapadala sa bawat nakakonektang player ang bahagi ng mundong nakikita nila.
Ang ganitong disenyo ang nagtatakda ng hardware. Karaniwang isang thread ang nagpapatakbo sa loop, kaya mas mahalaga ang bilis ng core kaysa sa dami ng core. Nasa memory ang mundo, kaya RAM ang kadalasang unang nagiging limitasyon. Kaunti ang gawain ng disk habang naglalaro at mas aktibo ito kapag naglo-load at nagsa-save. Tinutukoy ng network path mo ang ping, at hindi ito mababago ng pag-upgrade ng plan tier.
Mas mahalaga ang bilis ng single core kaysa sa dami ng core
Karamihan ng game server ay nagpapatakbo ng mundo sa isang main thread. Ganito gumagana ang tick loop ng Minecraft at ang server frame ng Source engine. May deadline ang bawat tick. Tumatakbo ang Minecraft Java sa 20 ticks bawat segundo, kaya may budget na 50 milliseconds para sa bawat tick. Kapag hindi kasya ang workload, eksaktong ganito ang ipinapakita ng server:
[12:04:51] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2547ms or 50 ticks behindIbig sabihin ng linyang iyon, naubusan ng oras ang isang thread. Hindi nito binibigyan ng dagdag na oras ang thread kapag nagdagdag ka ng mga core. Mananatili sa tamang tick rate ang isang plan na may 2 mabilis na vCPU, samantalang bababa rito ang isang plan na may 8 mabagal na vCPU, dahil isa lamang sa 8 ang gumagawa ng mahalagang workload.
Sukatin muna ang single-thread speed bago ka pumili ng plan:
sudo apt install -y sysbench
sysbench cpu --cpu-max-prime=20000 --threads=1 runBasahin ang linyang events per second. Walang saysay ang numero kung mag-isa lamang itong titingnan; mahalaga ito bilang paghahambing. Patakbuhin ito sa dalawang kandidatong plan at ilagay ang mga resulta nang magkatabi. Sinasaklaw ng Kumpletong VPS benchmark run ang disk at network sa parehong paraan.
May gamit pa rin ang mga dagdag na core. Pinapatakbo ng mga ito ang ikalawang game server, database, nightly backup, at chunk pre-generator nang hindi inaagawan ng oras ang tick thread. Natutunan na rin ng server software na hatiin ang workload, at inililipat ng Paper, isang popular na Minecraft server fork, ang ilang gawain mula sa main tick thread. Kaya ang dapat mong bilhin ay ilang mabilis na core, hindi maraming mababagal na core.
May isang numerong hindi kailanman lumalabas sa plan page, ngunit ito ang nagpapasya kung talagang iyo ang mabilis na core na binayaran mo:
vmstat 1 5Ang column na st ay porsiyento ng oras na handang tumakbo ang virtual CPU mo ngunit ibinigay ng physical host ang core sa ibang user. Kapag tuloy-tuloy na nasa higit ilang porsiyento ang st, ibig sabihin ay oversold ang host. Nararamdaman ito ng mga player bilang stutter kahit nagpapakita pa rin ang top sa server mo ng idle CPU, dahil hindi mo maaaring gamitin ang idle time na iyon.
Gaano karaming RAM ang kailangan ng game server?
The data behind this chart
[
{
"label": "Minecraft Java, vanilla",
"players": 10,
"ram_gb": 2
},
{
"label": "Minecraft Java, large modpack",
"players": 10,
"ram_gb": 8
},
{
"label": "Valheim",
"players": 10,
"ram_gb": 4
},
{
"label": "Palworld",
"players": 32,
"ram_gb": 16
}
]Iyan ang mga panimulang allocation na inilalathala ng game at modpack documentation, batay sa impormasyon noong August 2026. Gabay lamang ang mga ito, hindi mga numerong sinukat sa iisang server. Kumportable ang Vanilla Minecraft Java sa 2 GB na heap para sa humigit-kumulang 10 players. Ang parehong bilang ng players sa isang malaking modpack ay nangangailangan ng 8 GB, dahil nagdaragdag ang mga mod ng entities at generated structures na lahat ay nasa heap na iyon. Ang nakalistang minimum mismo ng Valheim ay 2 GB, habang iniulat ng mga operator na may maliit na world na umaabot ang process sa halos 3 GB, kaya 4 GB ang makatuwirang panimulang halaga. Ang Palworld ang naiiba, na nangangailangan ng 16 GB para sa maximum na 32 players nito, ayon sa rekomendasyon ng Pocketpair.
Hindi direktang nakabatay sa bilang ng connections ang paggamit ng RAM. Nakabatay ito sa dami ng world na naka-load. Nananatiling naka-load ang region sa paligid ng bawat player, kaya mas kaunti ang konsumo ng dalawang player na magkatabi kaysa sa dalawang player na nag-e-explore sa magkabilang sulok ng mapa. Kaya tinatayang gabay lamang ang “RAM per player”, samantalang ang tunay na pangunahing salik ay “RAM per active area”. Dahil dito, maaaring lumampas sa kapasidad ng planong para sa dalawang beses na mas maraming player ang isang maliit na grupong mahilig mag-explore.
May dalawang dagdag na tuntunin para sa Java servers. Itakda sa parehong value ang minimum at maximum heap upang hindi kailangang huminto ng JVM para i-resize ito:
java -Xms4G -Xmx4G -jar server.jar noguiMag-iwan din ng headroom. Gumagamit ang JVM ng memory sa labas ng heap na itinakda mo para sa thread stacks at native buffers, at kailangan ng kernel ng page cache upang mabilis na mabasa ang world files. Sa isang 6 GB na server, makatuwiran ang 4 GB na heap; hindi makatuwiran ang 6 GB na heap.
Magkaiba ang hitsura ng dalawang memory failure, kaya alamin ang parehong error string. Kapag masyadong maliit ang heap, nagkakaroon ng error sa loob ng Java at karaniwang patuloy pa ring tumatakbo ang server:
java.lang.OutOfMemoryError: Java heap spaceKapag mas malaki sa memory ng server ang heap, pinapatay mula sa labas ang buong process. Killed lamang ang sinasabi ng console, at nasa kernel log ang ebidensiya:
sudo dmesg -T | grep -i "out of memory"Hindi inaayos ng pagdaragdag ng swap ang problema kahit mapipigilan nito ang pagpatay sa process. Kapag kailangang basahin muli ng tick loop ang world mula sa swap, hindi nito natutugunan ang bawat deadline. Dahil dito, magkakaroon ang players ng nag-freeze na server sa halip na nag-crash na server.
Isang paalala tungkol sa version, batay sa pinakabagong impormasyon noong August 2026: Nangangailangan ng Java 21 ang Minecraft Java 1.20.5 at mga mas bagong version. Magsisimula ang mas lumang runtime ngunit mabibigo ito kalaunan dahil sa unsupported class file version error. Para itong mensahe mula sa compiler at nakalilito ito sa unang pagkakita rito.
sudo apt install -y openjdk-21-jre-headless
java -versionMahalaga ba ang disk speed para sa game server?
Mas maliit ang epekto nito habang naglalaro kaysa sa inaasahan ng karamihan, pero malaking bagay ito sa dalawang partikular na sandali. Binabasa ang world papunta sa memory sa startup at isinusulat pabalik sa disk kapag nag-autosave. Kaya nakikita ang disk speed bilang mabagal na boot at bilang pause kapag tumatakbo ang save. Sa pagitan ng mga ito, mula sa RAM ang karamihan ng mga read operation.
May dalawang dahilan kung bakit mas mahalaga ang disk kaysa sa ipinahihiwatig ng buod na iyon. Kapag nag-e-explore, naglo-load ng bagong chunks o zones mula sa disk habang gumagalaw ang mga player, at nangyayari ang read na iyon sa loob ng tick budget. Kapag nag-autosave sa malaking world, maraming data ang sabay-sabay na isinusulat. Sa mabagal na volume, maaaring ma-block ng write ang loop nang sapat na katagal para lumabas ang babalang "Can't keep up" sa itaas. Pareho itong latency problem, hindi throughput problem. Kaya mas mahalaga rito ang pagitan ng NVMe at SATA SSD sa isang VPS kaysa sa ipinahihiwatig ng headline megabytes per second. Ang mahalaga ay kung gaano katagal ang isang maliit na operation.
Piliin ang volume na may sapat na kapasidad para sa paglaki. Lumalaki ang world sa tuwing may naglalakad sa bagong lugar, at pinararami ng mga backup ang kabuuang laki nito. Patakbuhin ang du -sh world isang beses bawat linggo sa loob ng isang buwan para malaman ang aktuwal na growth rate.
Tick rate, ping, at ang pagkakaiba ng mga ito
Ang tick rate ay kung ilang beses bawat segundo muling kinakalkula ng server ang game world. Tumatakbo ang Minecraft Java sa 20. Karaniwang tumatakbo sa 64 ang mga server ng Source engine. Hindi ka makabibili ng mas mataas na rate sa Minecraft dahil bahagi ng game design ang rate. Kaya ang layunin ay mapanatili ang 20, hindi lumampas dito.
Ang ping ay ang round trip sa pagitan ng isang player at ng server. Magkaibang reklamo ang sanhi ng dalawang ito, kaya paghiwalayin muna ang mga ito bago gumastos. Kapag hindi nakumpleto ng server ang mga tick, sabay-sabay nagkakaroon ng rubber-banding ang lahat at malinaw itong ipinapakita sa server log. Kapag mahaba ang network path ng isang player, siya lamang ang nagla-lag at maayos ang iba pang grupo. Hindi kailanman maaayos ng mas malakas na CPU ang ikalawang sitwasyon.
Ang latency ay nakabatay sa lokasyon, hindi sa plan tier
Ang liwanag sa fibre ay bumibiyahe nang humigit-kumulang 200 kilometro bawat millisecond. Dalawang beses tinatahak ng round trip ang distansya, kaya ang pinakamababang latency ay humigit-kumulang 1 ms sa bawat 100 km sa pagitan ng player at server. Walang provider na makalalampas sa limitasyong ito, at hindi ito mababago ng pag-upgrade ng plan.
The data behind this chart
[
{
"label": "Toronto to New York",
"distance_km": 550,
"rtt_floor_ms": 5.5
},
{
"label": "Dallas to Chicago",
"distance_km": 1290,
"rtt_floor_ms": 12.9
},
{
"label": "Dallas to Los Angeles",
"distance_km": 1990,
"rtt_floor_ms": 19.9
},
{
"label": "New York to London",
"distance_km": 5570,
"rtt_floor_ms": 55.7
},
{
"label": "Los Angeles to Sydney",
"distance_km": 12070,
"rtt_floor_ms": 120.7
}
]Ang mga ito ay minimum na halaga na kinalkula mula sa great circle distance. Hindi tuwid ang mga totoong fibre cable, at nagdaragdag ng kaunting latency ang bawat router sa path, kaya ang magandang resulta sa aktuwal na network ay karaniwang nasa halos doble ng minimum na halaga. Ang player sa Toronto na kumokonekta sa server sa New York, 550 km ang layo, ay may minimum na 5.5 ms at karaniwang makakakita ng latency na nasa teens. Ang path mula Los Angeles papuntang Sydney ay may minimum na 120.7 ms, at walang halagang makapagpapabago rito.
Kaya ilagay ang server malapit sa mga taong naglalaro rito. Kung magkahiwalay sa isang karagatan ang inyong grupo, may makakaranas talaga ng mahabang path. Karaniwan, ang makatarungang pagpili ay ang region kung nasaan ang karamihan sa mga player.
Sukatin ang path sa halip na manghula:
sudo apt install -y mtr-tiny
mtr -rwzc 100 203.0.113.10Unahin ang huling linya. Ang linyang iyon ang server, at ang loss at latency nito lamang ang tumutukoy sa pakiramdam ng laro. Ang loss na lumilitaw sa isang middle hop habang malinis ang final hop ay halos palaging ICMP rate limiting sa router na iyon. Ibinababa ng mga router ang priority ng mga reply sa probe packet habang normal nilang ipinapasa ang totoong traffic. Patakbuhin ito ng bawat player patungo sa server, dahil magkakaiba ang path na tinatahak ng bawat isa.
Paano kinakalkula ang minimum na round trip
Ang liwanag sa salamin ay gumagalaw nang humigit-kumulang dalawang-katlo ng bilis nito sa vacuum, na katumbas ng halos 200 km bawat millisecond. Dalawang beses tinatahak ng round trip ang distansya, kaya ang minimum na halaga sa millisecond ay ang one-way distance sa kilometro na hinati sa 100. Ang New York papuntang London ay 5,570 km, at ang 5570 na hinati sa 100 ay 55.7 ms. Mas mataas sa halagang ito ang bawat nasusukat na numero dahil sumusunod ang mga cable sa mga baybayin at nangangailangan ng oras ang mga router para magproseso.
Buksan lamang ang mga port na kailangan ng game
Kailangan ng game server ng isa o dalawang bukas na port, at wala nang iba. Ang karaniwang default:
- Minecraft Java Edition: TCP 25565
- Minecraft Bedrock Edition: UDP 19132
- Valheim: UDP 2456 at UDP 2457
- Palworld: UDP 8211
- Mga game na gumagamit ng Source engine gaya ng Counter-Strike 2: UDP 27015
Suriin ang sariling documentation ng game, dahil may ilang title na gumagamit ng dagdag na query port. Pinakamalinaw na halimbawa ang Valheim: ang 2456 ang nagdadala ng game traffic, at ang 2457 ang sumasagot sa Steam server query na nagpapakita sa server mo sa browser list. Walang silbi ang pagbukas sa mga numerong iyon gamit ang TCP, dahil UDP lamang ang ginagamit ng Valheim.
Payagan ang SSH bago mo i-enable ang firewall, kung hindi ay mai-lock out mo ang sarili mo sa server:
sudo ufw allow 22/tcp
sudo ufw allow 25565/tcp
sudo ufw enable
sudo ufw status verboseMaraming provider ang nagpapatakbo rin ng network firewall sa control panel nila, na hiwalay sa firewall sa server mismo. Kapag bukas ang isang port sa ufw ngunit sarado roon, tatanggihan pa rin ang mga connection. Pareho ang makikitang sintomas mula sa labas, kaya suriin ang dalawang lugar bago ka magsimulang mag-edit ng config files.
Madaling suriin ang TCP port mula sa ibang machine:
sudo apt install -y netcat-openbsd
nc -vz 203.0.113.10 25565Hindi masusuri ang UDP sa ganoong paraan. Karaniwang tahimik ang saradong UDP port, kaya walang masasabi ang probe na walang natanggap na reply. Kumpirmahin na lamang ito mula sa server side, at hanapin ang game process na naka-bind sa inaasahan mong port:
sudo ss -lunp | grep 2456Huwag kailanman ilantad sa internet ang RCON, ang remote console protocol. Isang password lamang ito na ipinapadala sa plaintext connection, sa port 25575 bilang default. I-bind ito sa 127.0.0.1 at gamitin ito sa pamamagitan ng SSH tunnel. Patakbuhin din ang game server bilang sarili nitong unprivileged user, upang hindi maabot ng bug sa isang mod ang iba pang bahagi ng machine. Sinasaklaw ng Ang unang sampung minuto sa bagong VPS ang user account at SSH hardening na ipinapalagay ng seksyong ito na nagawa mo na.
Run the server under systemd so it restarts
A server started by hand in an SSH session dies when the session closes, and it stays dead after a reboot. systemd fixes both. Write /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft Java server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms4G -Xmx4G -jar server.jar nogui
Restart=on-failure
RestartSec=15
TimeoutStopSec=180
[Install]
WantedBy=multi-user.targetRestart=on-failure brings the server back after a crash and leaves it down after a clean shutdown, which is what you want. Restart=always fights you every time you stop the server deliberately. TimeoutStopSec=180 matters more than it looks. systemctl stop sends SIGTERM, the vanilla Minecraft server catches that signal and saves the world before exiting, and when the timeout expires systemd sends SIGKILL instead. A large world can take longer than the default 90 seconds to write, and whatever has not reached disk when SIGKILL lands is gone.
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo journalctl -u minecraft -fA healthy start ends with a line like Done (12.345s)! For help, type "help". If the unit flips between activating and failed, journalctl -u minecraft -n 50 holds the reason, and it is usually a wrong path in WorkingDirectory or a heap bigger than the box.
systemd gives you no interactive console, so plan for that up front. Use RCON on localhost for commands, or run the server inside a tmux session, the same habit that keeps a long running Claude Code session alive on a VPS between logins.
Games distributed through Steam need SteamCMD before any of this. The Ubuntu package is a 32 bit binary, which is why the architecture line is there. Skip that line and apt reports that it has no installation candidate:
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmdSome game servers grow their memory use the longer they run, and a scheduled restart at a quiet hour is the accepted workaround rather than a fix. A systemd timer calling systemctl restart is easier to reason about than a cron entry, because systemctl list-timers shows you exactly when it will next fire.
Mag-backup ng world ayon sa iskedyul
Napapalitan ang lahat sa game server maliban sa world directory at player data. Ilang minuto lang ang pag-reinstall ng game. Ilang buwan naman ang kailangan para muling buuin ang ginawa ng inyong grupo.
Ligtas ang backup kapag kinopya ito habang walang nagsusulat ng data. Ang pagpapahinto sa server nang isang minuto ang pinakamadaling paraan para matiyak ito:
sudo systemctl stop minecraft
sudo tar czf /var/backups/mc-$(date +%F).tgz -C /opt/minecraft world world_nether world_the_end
sudo systemctl start minecraftKung hindi katanggap-tanggap ang nightly pause, i-flush muna ang world. Sa Minecraft console, pinahihinto ng save-off ang autosave, isinusulat ng save-all flush ang lahat ng nakabinbing data, at muling ino-on ng save-on ang autosave kapag tapos na ang pagkopya. Kapag kinopya ang world habang may isinusulat pa ang server, maaaring makuha ang isang region file na hindi pa kumpleto ang pagkakasulat. Malalaman mo lang ito kapag kailangan mo nang mag-restore.
Magtabi ng kahit isang kopya sa labas ng machine. Hindi makakaligtas sa pagkasira ng disk ang backup na nasa parehong disk. Convenience lamang ang provider snapshot, hindi ito kapalit ng backup, dahil nasa parehong account ito na maaari mong mawalan ng access. Ang mga naka-iskedyul na restic backup sa off-site storage ang namamahala sa retention at deduplication, kaya hindi mapupuno ng isang buwang nightly world copies ang volume mo.
Mag-restore ka rin ng isang backup. Haka-haka lamang ang backup na hindi mo pa kailanman na-restore. I-extract ang archive kagabi sa isang hiwalay na directory, ituro rito ang isang test server, at tiyaking naglo-load ang world at nasa tamang lugar pa rin ang mga gusali.
Bago mag-commit, subukan muna
Bumili muna ng isang buwan sa halip na isang taon, at magsagawa ng test kasama ang mga totoong player sa loob ng isang gabi. Patakbuhin ang single-thread na sysbench figure, pagkatapos ay patakbuhin ng bawat player ang mtr papunta sa server. Ipinapakita ng kumpletong VPS benchmark procedure kung paano gamitin ang mga tool na ito at kung ano ang hitsura ng hindi magandang resulta. Tinutulungan ka naman ng aktuwal na buwanang gastos ng VPS na tiyaking binabayaran mo ang resource na naglilimita sa server mo, hindi ang resource na may pinakamalaking numerong nakalagay sa plan page.
Dalawang post ang nagpapatuloy mula sa puntong ito. Ang sunod-sunod na paggawa ng Minecraft server sa VPS ang step-by-step na bersyon ng lahat ng nabanggit, gamit ang larong karaniwang unang sinisimulan ng mga tao. Mainam basahin ang mas malawak na listahan ng mga bagay na kayang patakbuhin ng VPS kung gusto mong may kapaki-pakinabang na ginagawa ang server kapag walang game night.
FAQ
Maaari ba akong maglaro ng games sa isang VPS sa halip na bumili ng gaming PC?
Hindi. Walang GPU ang karaniwang VPS. May virtual display adapter lamang ito para sa console ng provider. Kaya kapag nag-install ka ng desktop, iniuulat ng glxinfo -B ang software renderer na llvmpipe, at tumatakbo ang 3D game sa ilang frames per second lamang. Kahit may nakakabit na GPU, nagdaragdag ang remote play ng video encoding at decoding sa bawat round trip ng frame. Hindi idinisenyo ang RDP at VNC para rito. Gamitin ang VPS para i-host ang dedicated server na kokonektahan ng grupo ninyo. Mag-rent ng GPU time o gumamit ng cloud gaming service kung ang gusto mo ay maglaro.
Ilang CPU core ang kailangan ng game server?
Para sa karamihan ng games, mas mahusay ang dalawang mabilis na core kaysa walong mababagal na core. Tumatakbo ang world simulation sa isang main thread, at hindi matutulungan ng mga karagdagang core ang thread na iyon na maabot ang 50 ms deadline nito. Ihambing ang mga candidate plan gamit ang sysbench cpu --cpu-max-prime=20000 --threads=1 run at basahin ang events per second na value. Sulit bayaran ang mga karagdagang core kung magpapatakbo ka rin ng pangalawang server o database sa parehong box. Sa ganitong setup, makatatakbo ang mga workload na iyon nang hindi kumukuha ng oras mula sa tick thread.
Gaano karaming RAM ang kailangan ng Minecraft server?
Humigit-kumulang 2 GB ng heap para sa vanilla world na may tinatayang 10 players, at 8 GB para sa malaking modpack na may parehong bilang ng players. Itakda ang -Xms at -Xmx sa parehong value. Mag-iwan ng 1 GB hanggang 2 GB na memorya ng machine na libre para sa operating system. Gumagamit ang JVM ng memorya sa labas ng heap, at kailangan ng kernel ng page cache. Kapag mas malaki ang heap kaysa sa memorya ng box, papatayin ng kernel ang process. Lalabas ito sa dmesg bilang out of memory line, hindi bilang Java error.
Bakit nagla-lag ang players ko kahit may natitirang CPU at RAM ang server?
Dalawang sanhi ang posibleng tumugma sa sitwasyong ito. Suriin ang server log para sa Can't keep up! Is the server overloaded?. Ibig sabihin nito, hindi naabot ng single main thread ang 50 ms tick budget nito habang idle ang ibang core. Kung wala ang line na iyon, network path ang problema. Patakbuhin ng bawat player ang mtr -rwzc 100 203.0.113.10 laban sa address ng server mo at basahin ang huling line. Suriin din ang st column sa vmstat 1. Kapag lampas sa ilang porsiyento ang steal time, oversold ang host. Ibig sabihin, hindi talaga available sa iyo ang idle CPU na nakikita mo.
Aling mga port ang kailangan kong buksan para sa game server?
Ang sariling port lamang ng game, kasama ang SSH. Gumagamit ang Minecraft Java ng TCP 25565, ang Minecraft Bedrock ng UDP 19132, ang Valheim ng UDP 2456 at 2457, at ang Palworld ng UDP 8211. Idagdag ang SSH rule bago patakbuhin ang ufw enable, kung hindi ay mawawala ang access mo sa box. Tandaan na maraming provider ang nagpapatakbo ng pangalawang firewall sa kanilang control panel. Kailangang bukas ang port sa parehong firewall. Huwag kailanman buksan sa internet ang RCON sa port 25575, dahil isang password lamang ito na ipinapadala sa plaintext.