Cara Pilih VPS Terbaik Untuk Game Server
Ketahui spesifikasi VPS yang tepat untuk game server anda. Fokus kepada kelajuan single core CPU dan RAM yang mencukupi, serta kepentingan lokasi pelayan untuk mengurangkan latency.
Apakah jenis VPS permainan yang anda maksudkan?
VPS untuk pelayan permainan adalah pembelian yang baik untuk satu tugas: menjalankan pelayan berdedikasi yang anda dan rakan anda sambungkan daripada mesin anda sendiri. Ia merupakan pembelian yang kurang baik untuk perkara lain yang dimaksudkan orang ramai dengan frasa tersebut, iaitu bermain permainan itu sendiri pada VPS melalui desktop jauh. Kedua-dua tugas tersebut memerlukan perkakasan yang bertentangan. Pelayan berdedikasi memerlukan satu teras CPU yang pantas dan RAM yang mencukupi untuk memuatkan dunia permainan. Bermain permainan memerlukan GPU (unit pemprosesan grafik), dan pelan VPS standard tidak memilikinya.
Segala maklumat di bawah adalah mengenai tugas yang pertama. Tugas yang kedua patut diberi perhatian selama dua minit, kerana ramai orang membeli pelayan yang salah untuk tujuan tersebut.
Mengapa anda tidak boleh bermain permainan pada VPS
VPS standard memberikan anda teras CPU maya dan tiada kad grafik. Tiada apa-apa yang dilalukan (pass-through) daripada hos fizikal, jadi tiada pemapar perkakasan (hardware renderer) yang boleh digunakan oleh permainan. Anda boleh melihat apa yang anda sebenarnya perolehi:
sudo apt install -y pciutils
lspci | grep -iE "vga|3d"Jawapannya ialah penyesuai paparan maya, sesuatu seperti peranti GPU Cirrus Logic atau virtio. Ia wujud supaya konsol web pembekal boleh memaparkan skrin kepada anda, dan ia tidak mempunyai pecutan 3D di sebaliknya. Pasang desktop dan pelayan VNC di atasnya dan glxinfo -B akan melaporkan pemaparnya sebagai llvmpipe, iaitu pemapar perisian Mesa yang berjalan pada CPU. Permainan 3D moden yang dilukis oleh CPU berjalan pada kadar beberapa bingkai sesaat, jadi ia tidak boleh dimainkan sebelum apa-apa pun keluar dari kotak tersebut. Instans Windows menghadapi halangan yang sama dari sisi lain. Banyak tajuk permainan keluar semasa pelancaran dengan aduan bahawa ia tidak dapat mencipta peranti Direct3D, kerana tiada penyesuai paparan untuk menciptakannya.
Masalah kedua ialah perjalanan kembali kepada anda. Bermain pada kotak jauh bermakna setiap bingkai dikodkan kepada video, dihantar melalui internet, dan dinyahkod pada skrin anda. Itu menambah masa pengekodan dan penyahkodan di samping sela input (input lag) permainan itu sendiri, dan RDP serta VNC direka untuk desktop dan bukannya untuk pergerakan 60 bingkai sesaat. Perkhidmatan permainan awan menyelesaikan perkara ini dengan perkakasan GPU sebenar dan protokol penstriman yang dibina khusus. VPS biasa tidak mempunyai kedua-duanya. Jika anda mahu bermain, sewa masa GPU. Jika anda mahu menjadi hos, teruskan membaca.
Keperluan sebenar pelayan permainan berdedikasi
Pelayan permainan ialah gelung simulasi. Ia menyimpan dunia dalam memori dan menggerakkannya pada kadar yang tetap setiap saat. Setiap pemain yang bersambung kemudiannya akan menerima bahagian dunia yang boleh dilihat oleh mereka.
Bentuk gelung ini menentukan perkakasan yang diperlukan. Gelung tersebut kebanyakannya berjalan pada satu thread, jadi kelajuan teras lebih penting daripada bilangan teras. Dunia permainan disimpan dalam memori, jadi RAM biasanya merupakan had pertama yang akan anda temui. Cakera tidak banyak digunakan semasa permainan berlangsung, tetapi sibuk semasa proses memuatkan dan menyimpan data. Laluan rangkaian anda menentukan ping, dan tiada pelan langganan yang boleh mengubahnya.
Kelajuan teras tunggal lebih penting daripada bilangan teras
Kebanyakan pelayan permainan memproses dunia pada satu thread utama. Gelung tick Minecraft dan frame pelayan enjin Source kedua-duanya berfungsi dengan cara ini. Tick tersebut mempunyai tempoh masa yang ditetapkan. Minecraft Java berjalan pada 20 tick sesaat, yang memberikan setiap tick bajet sebanyak 50 milisaat. Apabila tugasan tidak dapat diselesaikan dalam tempoh tersebut, pelayan akan mencetak mesej ini:
[12:04:51] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2547ms or 50 ticks behindBaris tersebut bermaksud satu thread telah kehabisan masa. Menambah bilangan teras tidak memberikan lebih banyak masa kepada thread tersebut. Pelan dengan 2 vCPU yang pantas akan mengekalkan kadar tick yang gagal dikekalkan oleh pelan dengan 8 vCPU yang perlahan, kerana hanya satu daripada 8 teras tersebut yang melakukan kerja yang penting.
Ukur kelajuan thread tunggal sebelum anda membuat sebarang komitmen:
sudo apt install -y sysbench
sysbench cpu --cpu-max-prime=20000 --threads=1 runBaca baris events per second. Nombor tersebut tidak membawa makna secara sendirian dan hanya berguna sebagai perbandingan, jadi jalankan ujian pada dua pelan calon dan bandingkan hasilnya. Satu ujian penanda aras VPS penuh merangkumi cakera dan rangkaian dengan cara yang sama.
Teras tambahan masih mempunyai kegunaannya. Ia menjalankan pelayan permainan kedua, pangkalan data, sandaran harian dan penjana chunk tanpa mencuri masa daripada thread tick. Perisian pelayan juga telah mula mengagihkan beban kerja, dan Paper, iaitu fork pelayan Minecraft yang popular, memindahkan sebahagian kerja keluar daripada thread tick utama. Jadi, spesifikasi yang patut dibeli adalah beberapa teras yang pantas, bukan banyak teras yang perlahan.
Satu nombor tidak pernah muncul pada halaman pelan, namun ia menentukan sama ada teras pantas yang anda bayar itu benar-benar milik anda:
vmstat 1 5Lajur st ialah peratusan masa vCPU anda sedia untuk berjalan tetapi hos fizikal memberikan teras tersebut kepada orang lain. Nilai st yang stabil melebihi beberapa peratus bermakna hos tersebut telah terlebih jual (oversold). Pemain akan merasai gangguan tersebut sebagai stutter walaupun top pada kotak anda masih menunjukkan CPU melahu, kerana masa melahu itu bukan milik anda untuk digunakan.
Berapakah RAM yang diperlukan oleh pelayan permainan?
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
}
]Ini adalah peruntukan permulaan yang diterbitkan dalam dokumentasi permainan dan modpack, setakat Ogos 2026. Ia merupakan panduan, bukan angka yang diukur pada satu pelayan sahaja. Vanilla Minecraft Java selesa dengan 2 GB heap untuk sekitar 10 pemain. Jumlah pemain yang sama pada modpack yang besar memerlukan 8 GB, kerana mod menambah entiti dan struktur janaan yang semuanya disimpan dalam heap tersebut. Minimum yang disenaraikan oleh Valheim ialah 2 GB, namun pengendali dengan dunia kecil melaporkan proses tersebut stabil pada sekitar 3 GB, jadi 4 GB adalah titik permulaan yang wajar. Palworld merupakan pengecualian pada 16 GB untuk maksimum 32 pemain, iaitu jumlah yang disyorkan oleh Pocketpair.
RAM tidak berskala mengikut sambungan. Ia berskala mengikut dunia yang dimuatkan. Setiap pemain mengekalkan kawasan di sekeliling mereka untuk dimuatkan, jadi dua pemain yang berdiri bersama menggunakan sumber yang jauh lebih sedikit berbanding dua pemain yang meneroka di hujung peta yang bertentangan. Itulah sebabnya "RAM bagi setiap pemain" hanyalah panduan kasar manakala "RAM bagi setiap kawasan aktif" adalah faktor penentu sebenar, dan sebab mengapa kumpulan kecil yang gemar meneroka boleh melebihi kapasiti pelan yang disasarkan untuk dua kali ganda jumlah mereka.
Pelayan Java memerlukan dua peraturan tambahan. Tetapkan heap minimum dan maksimum kepada nilai yang sama supaya JVM tidak perlu berhenti untuk mengubah saiznya:
java -Xms4G -Xmx4G -jar server.jar noguiKemudian, sediakan ruang tambahan (headroom). JVM menggunakan memori di luar heap yang anda berikan untuk thread stack dan native buffer, manakala kernel memerlukan page cache untuk membaca fail dunia dengan pantas. Pada pelayan 6 GB, heap 4 GB adalah munasabah manakala heap 6 GB adalah tidak wajar.
Dua kegagalan memori kelihatan sangat berbeza, jadi pelajari kedua-dua rentetan ini. Heap yang terlalu kecil akan mencetuskan ralat di dalam Java, dan pelayan biasanya akan terus berjalan dalam keadaan perlahan:
java.lang.OutOfMemoryError: Java heap spaceHeap yang lebih besar daripada kapasiti pelayan akan menyebabkan keseluruhan proses dimatikan dari luar. Konsol hanya memaparkan Killed, dan bukti tersebut terdapat dalam log kernel:
sudo dmesg -T | grep -i "out of memory"Menambah swap akan menghentikan proses dimatikan tanpa menyelesaikan masalah sebenar. Gelung tick (tick loop) yang terpaksa membaca semula dunianya daripada swap akan terlepas setiap tempoh masa (deadline), jadi pemain anda akan mendapat pelayan yang terhenti (frozen) dan bukannya pelayan yang terhempas (crashed).
Satu nota versi, terkini setakat Ogos 2026: Minecraft Java 1.20.5 dan versi seterusnya memerlukan Java 21. Runtime yang lebih lama akan bermula dan kemudian gagal dengan ralat unsupported class file version, yang kelihatan seperti mesej pengkompil dan mengelirukan sesiapa sahaja yang pertama kali menemuinya.
sudo apt install -y openjdk-21-jre-headless
java -versionAdakah kelajuan cakera penting untuk pelayan permainan?
Kurang daripada jangkaan orang ramai semasa permainan berlangsung, namun sangat penting pada dua ketika tertentu. Dunia permainan dibaca ke dalam memori semasa permulaan dan ditulis semula semasa autosave, jadi kelajuan cakera akan kelihatan sebagai proses but yang perlahan dan jeda semasa simpanan dijalankan. Di antara waktu tersebut, kebanyakan bacaan dilayan daripada RAM.
Dua perkara menjadikan cakera lebih penting daripada ringkasan tersebut. Eksplorasi memuatkan chunk atau zon baharu daripada cakera semasa pemain bergerak, dan bacaan tersebut berlaku dalam bajet tick. Autosave pada dunia yang besar menulis banyak data sekaligus, dan pada volum yang perlahan, penulisan tersebut menyekat gelung (loop) cukup lama untuk memaparkan amaran "Can't keep up" di atas. Kedua-duanya adalah masalah kependaman (latency) dan bukannya masalah throughput, itulah sebabnya jurang antara NVMe dan SATA SSD pada VPS lebih penting di sini berbanding angka megabait sesaat yang diiklankan. Perkara yang perlu anda titikberatkan ialah berapa lama satu operasi kecil mengambil masa.
Tentukan saiz volum untuk pertumbuhan. Dunia permainan berkembang setiap kali seseorang berjalan ke tempat baharu, dan sandaran (backup) anda akan menggandakan saiznya. Jalankan du -sh world sekali seminggu selama sebulan dan anda akan mengetahui kadar pertumbuhan sebenar anda.
Tick rate, ping, dan perbezaan antara keduanya
Tick rate ialah kekerapan pelayan mengira semula keadaan dunia dalam satu saat. Minecraft Java berjalan pada kadar 20. Pelayan enjin Source biasanya berjalan pada kadar 64. Anda tidak boleh membeli kadar yang lebih tinggi dalam Minecraft kerana kadar tersebut adalah sebahagian daripada reka bentuk permainan, jadi matlamatnya adalah untuk mengekalkan kadar 20 dan bukannya melebihi angka tersebut.
Ping ialah masa perjalanan pergi dan balik antara pemain dan pelayan. Kedua-dua perkara ini menghasilkan aduan yang berbeza, jadi asingkan masalah tersebut sebelum anda membelanjakan wang. Apabila pelayan terlepas tick, semua orang akan mengalami rubber-banding pada masa yang sama dan log pelayan akan menyatakan perkara tersebut secara jelas. Apabila seorang pemain mempunyai laluan rangkaian yang panjang, hanya pemain itu yang mengalami sela masa (lag) manakala pemain lain tidak terjejas. CPU yang lebih berkuasa tidak akan menyelesaikan masalah kedua ini.
Latensi bergantung pada lokasi, bukan pelan langganan
Cahaya dalam gentian optik bergerak kira-kira 200 kilometer per milisaat. Perjalanan pergi balik meliputi jarak tersebut sebanyak dua kali, jadi had minimum (floor) adalah lebih kurang 1 ms bagi setiap 100 km antara pemain dan pelayan. Tiada penyedia perkhidmatan yang dapat mengatasi had fizikal ini, dan tiada naik taraf pelan yang akan mengubahnya.
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
}
]Ini adalah had minimum yang dikira berdasarkan jarak bulatan agung (great circle distance). Gentian optik sebenar tidak dipasang dalam garis lurus, dan setiap penghala (router) pada laluan tersebut menambah sedikit latensi, jadi hasil dunia sebenar yang baik biasanya adalah sekitar dua kali ganda daripada had minimum tersebut. Seorang pemain di Toronto yang mengakses pelayan di New York, sejauh 550 km, mempunyai had minimum 5.5 ms dan biasanya akan melihat angka belasan milisaat. Laluan dari Los Angeles ke Sydney mempunyai had minimum 120.7 ms, dan tiada jumlah wang yang dapat mengubahnya.
Oleh itu, letakkan pelayan berhampiran dengan pemainnya. Jika kumpulan anda terpisah merentasi lautan, seseorang pasti akan mendapat laluan yang jauh, dan penyelesaian yang adil biasanya adalah memilih wilayah yang menempatkan majoriti pemain.
Ukur laluan tersebut daripada membuat andaian:
sudo apt install -y mtr-tiny
mtr -rwzc 100 203.0.113.10Baca baris terakhir dahulu. Baris itu adalah pelayan, dan kehilangan paket (loss) serta latensinya adalah satu-satunya faktor yang menentukan kelancaran permainan. Kehilangan paket yang ditunjukkan pada hop pertengahan dengan hop terakhir yang bersih hampir selalu disebabkan oleh pengehadan kadar ICMP pada penghala tersebut, kerana penghala akan mengurangkan keutamaan balasan kepada paket siasatan (probe packets) sementara trafik sebenar tetap dihantar seperti biasa. Minta setiap pemain menjalankannya ke arah pelayan, kerana setiap daripada mereka menggunakan laluan yang berbeza.
Cara had minimum perjalanan pergi balik dikira
Cahaya dalam kaca bergerak pada kira-kira dua pertiga kelajuannya dalam vakum, yang bersamaan dengan hampir 200 km per milisaat. Perjalanan pergi balik meliputi jarak tersebut sebanyak dua kali, jadi had minimum dalam milisaat adalah jarak sehala dalam kilometer dibahagikan dengan 100. New York ke London adalah 5,570 km, dan 5570 dibahagikan dengan 100 memberikan 55.7 ms. Setiap nombor yang diukur akan sentiasa lebih tinggi daripada ini, kerana kabel mengikut garis pantai dan penghala memerlukan masa untuk memproses data.
Buka hanya port yang diperlukan oleh permainan
Pelayan permainan hanya memerlukan satu atau dua port dibuka dan tiada yang lain. Berikut adalah tetapan lalai yang biasa:
- Minecraft Java Edition: TCP 25565
- Minecraft Bedrock Edition: UDP 19132
- Valheim: UDP 2456 dan UDP 2457
- Palworld: UDP 8211
- Permainan enjin Source seperti Counter-Strike 2: UDP 27015
Semak dokumentasi permainan tersebut, kerana beberapa tajuk menggunakan port pertanyaan (query port) tambahan. Valheim adalah contoh paling jelas: 2456 membawa trafik permainan dan 2457 menjawab pertanyaan pelayan Steam yang membolehkan pelayan anda muncul dalam senarai pelayar. Membuka nombor tersebut pada TCP tidak akan memberikan sebarang hasil, kerana Valheim hanya menggunakan protokol UDP.
Benarkan SSH sebelum anda mengaktifkan firewall, atau anda akan terkunci daripada pelayan anda sendiri:
sudo ufw allow 22/tcp
sudo ufw allow 25565/tcp
sudo ufw enable
sudo ufw status verboseBanyak penyedia perkhidmatan juga menjalankan firewall rangkaian dalam panel kawalan mereka, yang berasingan daripada firewall pada pelayan. Port yang dibuka dalam ufw tetapi ditutup di sana masih akan menolak sambungan, dan simptomnya adalah sama dari luar, jadi periksa kedua-dua tempat sebelum anda mula menyunting fail konfigurasi.
Memeriksa port TCP daripada mesin lain adalah mudah:
sudo apt install -y netcat-openbsd
nc -vz 203.0.113.10 25565UDP tidak boleh diuji dengan cara tersebut. Port UDP yang tertutup biasanya senyap, jadi ujian yang tidak mendapat balasan tidak memberikan sebarang maklumat. Sahkan daripada bahagian pelayan sebaliknya, dan cari proses permainan yang terikat (bound) pada port yang anda jangkakan:
sudo ss -lunp | grep 2456Jangan sekali-kali mendedahkan RCON, iaitu protokol konsol jauh, kepada internet. Ia merupakan kata laluan tunggal yang dihantar melalui sambungan teks biasa, pada port 25575 secara lalai. Ikat (bind) ia kepada 127.0.0.1 dan capai ia melalui terowong SSH. Jalankan pelayan permainan sebagai pengguna tanpa keistimewaan (unprivileged user) sendiri, supaya pepijat dalam mod tidak boleh mencapai bahagian lain mesin tersebut. Sepuluh minit pertama pada VPS baharu merangkumi akaun pengguna dan pengukuhan SSH yang bahagian ini andaikan telah anda lakukan.
Jalankan pelayan di bawah systemd supaya ia dimulakan semula
Pelayan yang dimulakan secara manual dalam sesi SSH akan mati apabila sesi ditutup, dan ia kekal mati selepas but semula. systemd menyelesaikan kedua-dua masalah ini. Tulis /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 memulakan semula pelayan selepas ranap dan membiarkannya mati selepas penutupan yang teratur, iaitu keadaan yang anda inginkan. Restart=always akan menyukarkan anda setiap kali anda menghentikan pelayan secara sengaja. TimeoutStopSec=180 lebih penting daripada yang kelihatan. systemctl stop menghantar SIGTERM, pelayan Minecraft biasa akan menangkap isyarat tersebut dan menyimpan dunia sebelum keluar, dan apabila tamat tempoh, systemd akan menghantar SIGKILL sebagai ganti. Dunia yang besar mungkin mengambil masa lebih lama daripada 90 saat yang ditetapkan secara lalai untuk ditulis, dan apa sahaja yang belum sampai ke cakera apabila SIGKILL tiba akan hilang.
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo journalctl -u minecraft -fPermulaan yang sihat berakhir dengan baris seperti Done (12.345s)! For help, type "help". Jika unit bertukar antara activating dan failed, journalctl -u minecraft -n 50 mengandungi puncanya, dan ia biasanya disebabkan oleh laluan yang salah dalam WorkingDirectory atau saiz heap yang lebih besar daripada kapasiti pelayan.
systemd tidak memberikan anda konsol interaktif, jadi rancang perkara tersebut lebih awal. Gunakan RCON pada localhost untuk arahan, atau jalankan pelayan di dalam sesi tmux, tabiat yang sama yang mengekalkan sesi Claude Code yang berjalan lama pada VPS antara log masuk.
Permainan yang diedarkan melalui Steam memerlukan SteamCMD sebelum melakukan semua ini. Pakej Ubuntu ialah binari 32 bit, itulah sebabnya baris seni bina disertakan. Abaikan baris tersebut dan apt akan melaporkan bahawa ia tidak mempunyai calon pemasangan:
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmdSesetengah pelayan permainan meningkatkan penggunaan memori semakin lama ia berjalan, dan penjadualan semula pada waktu sunyi adalah penyelesaian sementara yang diterima berbanding pembaikan sebenar. Pemasa systemd yang memanggil systemctl restart lebih mudah difahami daripada entri cron, kerana systemctl list-timers menunjukkan kepada anda dengan tepat bila ia akan diaktifkan seterusnya.
Sandarkan dunia mengikut jadual
Segala-galanya pada pelayan permainan boleh diganti kecuali direktori dunia dan data pemain. Memasang semula permainan hanya mengambil masa beberapa minit. Membina semula apa yang telah dibina oleh kumpulan anda mengambil masa berbulan-bulan.
Sandaran yang selamat ialah sandaran yang dibuat semasa tiada proses penulisan berlaku. Menghentikan pelayan selama seminit adalah cara paling mudah untuk menjamin perkara tersebut:
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 minecraftJika jeda waktu malam tidak boleh diterima, lakukan flush pada dunia terlebih dahulu. Dalam konsol Minecraft, save-off menghentikan autosave, save-all flush menulis segala data yang masih tertangguh, dan save-on menghidupkan semula autosave setelah proses penyalinan selesai. Menyalin dunia semasa pelayan sedang dalam proses penulisan boleh menyebabkan fail rantau (region file) yang disalin hanya separuh ditulis, dan anda tidak akan menyedarinya sehingga hari anda perlu melakukan pemulihan.
Simpan sekurang-kurangnya satu salinan di luar mesin. Sandaran pada cakera yang sama tidak akan terselamat jika cakera tersebut rosak, dan snapshot penyedia perkhidmatan hanyalah satu kemudahan dan bukannya sandaran, kerana ia berada dalam akaun yang sama yang mungkin anda hilang. Sandaran restic berjadual ke storan luar tapak menguruskan pengekalan dan penyahduplikasian, supaya salinan dunia setiap malam selama sebulan tidak akan memenuhkan volum anda.
Kemudian, lakukan pemulihan. Sandaran yang tidak pernah anda pulihkan hanyalah satu andaian. Ekstrak arkib malam tadi ke dalam direktori simpanan, halakan pelayan ujian kepadanya, dan sahkan bahawa dunia tersebut dimuatkan serta bangunan berada di tempat asalnya.
Semak kotak sebelum anda membuat komitmen
Beli untuk tempoh satu bulan dan bukannya setahun, kemudian buat ujian dengan pemain sebenar untuk satu malam. Jalankan angka sysbench bagi satu thread, kemudian minta setiap pemain menjalankan mtr ke arah pelayan. Prosedur penanda aras VPS yang lengkap membimbing anda melalui alatan tersebut dan menunjukkan rupa hasil yang buruk, manakala kos sebenar VPS sebulan membantu anda memastikan anda membayar untuk sumber yang mengehadkan pelayan anda, bukannya sumber yang dicetak paling besar pada halaman pelan.
Dua hantaran menyambung perbincangan daripada titik ini. Membina pelayan Minecraft pada VPS ialah versi langkah demi langkah bagi semua perkara di atas, menggunakan permainan yang menjadi pilihan kebanyakan orang untuk bermula. Senarai lebih luas perkara yang boleh dijalankan oleh VPS wajar dibaca jika anda mahu kotak tersebut melakukan sesuatu yang berguna di antara malam permainan.
FAQ
Bolehkah saya bermain permainan video pada VPS dan bukannya membeli PC gaming?
Tidak. VPS standard tidak mempunyai GPU, hanya penyesuai paparan maya untuk konsol pembekal. Apabila desktop dipasang, glxinfo -B akan melaporkan perisian pemapar llvmpipe dan permainan 3D hanya akan berjalan pada kadar beberapa bingkai sesaat. Walaupun dengan GPU yang dipasang, permainan jarak jauh menambah proses pengekodan dan penyahkodan video pada setiap pusingan bingkai, manakala RDP dan VNC tidak direka untuk tujuan tersebut. VPS adalah untuk mengehoskan pelayan berdedikasi yang disambungkan oleh kumpulan anda. Sewa masa GPU atau gunakan perkhidmatan permainan awan jika tujuan anda adalah untuk bermain.
Berapa banyak teras CPU yang diperlukan oleh pelayan permainan?
Dua teras yang pantas adalah lebih baik daripada lapan teras yang perlahan untuk kebanyakan permainan. Ini kerana simulasi dunia berjalan pada satu thread utama dan teras tambahan tidak dapat membantu thread tersebut memenuhi had masa 50 ms. Bandingkan pelan calon dengan sysbench cpu --cpu-max-prime=20000 --threads=1 run dan baca angka acara sesaat (events per second). Teras tambahan berbaloi untuk dibayar jika anda turut menjalankan pelayan kedua atau pangkalan data pada mesin yang sama, kerana beban kerja tersebut boleh berjalan tanpa mencuri masa daripada thread tick.
Berapa banyak RAM yang diperlukan oleh pelayan Minecraft?
Sekitar 2 GB heap untuk dunia vanilla dengan kira-kira 10 pemain, dan 8 GB untuk modpack yang besar dengan jumlah pemain yang sama. Tetapkan -Xms dan -Xmx kepada nilai yang sama, dan biarkan 1 GB hingga 2 GB memori mesin bebas untuk sistem pengendalian. Ini kerana JVM menggunakan memori di luar heap dan kernel memerlukan page cache. Heap yang lebih besar daripada kapasiti mesin akan menyebabkan proses ditamatkan oleh kernel, yang akan muncul dalam dmesg sebagai baris out of memory dan bukannya ralat Java.
Mengapa pemain saya mengalami lag sedangkan pelayan mempunyai lebihan CPU dan RAM?
Dua punca sering menyebabkan keadaan ini. Semak log pelayan untuk Can't keep up! Is the server overloaded?, yang bermaksud thread utama tunggal terlepas bajet tick 50 ms sementara teras lain melahu. Jika baris tersebut tiada, masalahnya ialah laluan rangkaian. Minta setiap pemain menjalankan mtr -rwzc 100 203.0.113.10 terhadap alamat pelayan anda dan baca baris terakhir. Semak juga lajur st dalam vmstat 1: steal time yang melebihi beberapa peratus bermakna hos telah terlebih jual (oversold), jadi CPU melahu yang anda lihat sebenarnya tidak tersedia untuk anda.
Port manakah yang perlu saya buka untuk pelayan permainan?
Hanya port permainan itu sendiri, ditambah dengan SSH. Minecraft Java menggunakan TCP 25565, Minecraft Bedrock menggunakan UDP 19132, Valheim menggunakan UDP 2456 dan 2457, manakala Palworld menggunakan UDP 8211. Tambahkan peraturan SSH sebelum anda menjalankan ufw enable, atau anda akan kehilangan akses kepada mesin tersebut. Ingat bahawa ramai pembekal menjalankan firewall kedua dalam panel kawalan mereka, dan port tersebut perlu dibuka pada kedua-duanya. Jangan sekali-kali membuka RCON pada port 25575 kepada internet, kerana ia hanya menggunakan satu kata laluan yang dihantar dalam teks biasa (plaintext).