SSD Nodes Learn Hosting plans →
Panduan Matt ConnorOleh Matt Connor

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 behind

Baris 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 run

Baca 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 5

Lajur 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.

Berapa banyak RAM yang diperlukan oleh pelayan permainan?

CartaCommon starting RAM per game server (published guidance, not a measurement)
Data di sebalik carta ini
[
  {
    "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
  }
]

Itulah peruntukan permulaan yang diterbitkan dalam dokumentasi permainan dan modpack, setakat Ogos 2026. Angka ini ialah panduan, bukan ukuran yang diambil pada satu pelayan tertentu. Minecraft Java tanpa mod beroperasi dengan baik menggunakan 2 GB heap untuk kira-kira 10 pemain. Jumlah pemain yang sama pada modpack besar memerlukan 8 GB kerana mod tersebut menambah entiti dan struktur jana yang semuanya berada dalam heap itu. Minimum yang disenaraikan oleh Valheim ialah 2 GB, manakala pentadbir dengan dunia kecil melaporkan proses biasanya menggunakan hampir 3 GB. Jadi, 4 GB ialah titik permulaan yang munasabah. Palworld ialah kes luar biasa dengan 16 GB untuk maksimum 32 pemain, seperti yang disyorkan oleh Pocketpair.

Penggunaan RAM tidak meningkat mengikut bilangan sambungan. Sebaliknya, ia meningkat mengikut dunia yang dimuatkan. Setiap pemain memastikan kawasan di sekelilingnya terus dimuatkan. Oleh itu, dua pemain yang berada di tempat yang sama menggunakan jauh lebih sedikit RAM berbanding dua pemain yang meneroka sudut peta yang bertentangan. Sebab itu “RAM bagi setiap pemain” hanya panduan kasar, manakala “RAM bagi setiap kawasan aktif” ialah faktor sebenar. Kumpulan kecil yang gemar meneroka boleh melebihi pelan yang disediakan untuk jumlah pemain dua kali ganda.

Pelayan Java memerlukan dua tetapan tambahan. Tetapkan heap minimum dan maksimum kepada nilai yang sama supaya JVM tidak perlu berhenti seketika untuk mengubah saiznya:

java -Xms4G -Xmx4G -jar server.jar nogui

Kemudian, sediakan lebihan kapasiti. JVM menggunakan memori di luar heap yang anda tetapkan untuk tindanan thread dan penimbal natif. Kernel juga memerlukan cache halaman untuk membaca fail dunia dengan pantas. Pada pelayan dengan 6 GB RAM, heap 4 GB ialah tetapan yang munasabah, manakala heap 6 GB bukan.

Kegagalan memori ini kelihatan sangat berbeza, jadi kenali kedua-dua mesejnya. Heap yang terlalu kecil menghasilkan ralat dalam Java, dan pelayan biasanya masih berjalan dengan prestasi yang merosot:

java.lang.OutOfMemoryError: Java heap space

Heap yang lebih besar daripada kapasiti pelayan menyebabkan keseluruhan proses dihentikan dari luar. Konsol hanya memaparkan Killed, manakala buktinya terdapat dalam log kernel:

sudo dmesg -T | grep -i "out of memory"

Menambah swap menghentikan proses daripada dihentikan, tetapi tidak menyelesaikan masalah. Gelung tick yang perlu membaca semula dunia daripada swap akan terlepas setiap tarikh akhir. Akibatnya, pemain mendapat pelayan yang membeku dan bukannya pelayan yang terhenti.

Satu nota tentang versi. Berdasarkan semakan pada 2026-10-11 terhadap metadata versi Mojang, Minecraft Java 1.20.5 hingga 1.21.11 memerlukan Java 21. Versi 26.1 dan yang lebih baharu, termasuk versi semasa 26.3, memerlukan Java 25. Runtime yang lebih lama boleh bermula, tetapi kemudian gagal dengan ralat versi fail kelas yang tidak disokong. Mesej ini kelihatan seperti mesej daripada compiler dan sering mengelirukan pengguna apabila pertama kali menemuinya. Ubuntu 22.04, 24.04 dan 26.04 semuanya menyediakan runtime Java 25 dalam arkib standardnya:

sudo apt install -y openjdk-25-jre-headless
java -version

Adakah 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.

Kadar tick, ping dan perbezaan antara kedua-duanya

Kadar tick ialah bilangan kali sesaat pelayan mengira semula dunia. Minecraft Java berjalan pada kadar 20. Pelayan enjin Source biasanya berjalan pada kadar 64. Dalam Minecraft, 20 ialah kadar yang menjadi asas reka bentuk permainan. Perintah /tick rate boleh mengubahnya, tetapi tindakan itu mempercepatkan atau memperlahankan seluruh dunia dan bukannya menjadikannya lebih lancar. Pelayan yang lebih berkuasa juga tidak akan meningkatkan kadar itu secara automatik. Jadi, matlamatnya ialah mengekalkan kadar 20, bukan melebihinya.

Ping ialah masa pergi balik antara seorang pemain dengan pelayan. Kedua-dua keadaan ini menghasilkan aduan yang berbeza. Bezakan keadaan tersebut sebelum membelanjakan wang. Apabila pelayan terlepas tick, semua pemain mengalami rubber-band pada masa yang sama dan log pelayan biasanya menyatakannya dengan jelas. Apabila seorang pemain mempunyai laluan rangkaian yang panjang, hanya pemain itu mengalami lag dan pemain lain tidak terjejas. CPU yang lebih berkuasa tidak akan menyelesaikan keadaan kedua.

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.

CartaRound trip floor by distance, fibre physics only
Data di sebalik carta ini
[
  {
    "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.10

Baca 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 memerlukan satu atau dua port yang dibuka, dan tiada yang lain. Nilai lalai yang biasa:

  • Minecraft Java Edition: TCP 25565
  • Minecraft Bedrock Edition: UDP 19132
  • Valheim: UDP 2456 dan UDP 2457
  • Palworld: UDP 8211
  • Permainan Valve berasaskan Source dan Source 2, seperti Counter-Strike 2: UDP 27015

Semak dokumentasi permainan itu sendiri kerana sesetengah tajuk menggunakan port pertanyaan tambahan. Valheim ialah contoh yang paling jelas: 2456 membawa trafik permainan, manakala 2457 menjawab pertanyaan pelayan Steam yang membolehkan pelayan anda dipaparkan dalam senarai pelayar. Membuka nombor tersebut pada TCP tidak menghasilkan apa-apa kerana Valheim hanya menggunakan UDP.

Benarkan SSH sebelum mengaktifkan firewall. Jika tidak, anda akan terkunci daripada pelayan sendiri:

sudo ufw allow 22/tcp
sudo ufw allow 25565/tcp
sudo ufw enable
sudo ufw status verbose

Banyak penyedia juga menjalankan firewall rangkaian dalam panel kawalan mereka, berasingan daripada firewall pada pelayan. Port yang dibuka dalam ufw tetapi ditutup dalam firewall penyedia tetap menolak sambungan. Gejalanya sama dari luar, jadi semak kedua-dua tempat sebelum mula mengedit fail konfigurasi.

Memeriksa port TCP dari mesin lain adalah mudah:

sudo apt install -y netcat-openbsd
nc -vz 203.0.113.10 25565

UDP tidak boleh diuji dengan cara itu. Port UDP yang ditutup biasanya tidak memberikan respons, jadi probe yang tidak menerima balasan tidak memberikan sebarang maklumat. Sebaliknya, sahkan dari sisi pelayan dan cari proses permainan yang terikat pada port yang dijangkakan:

sudo ss -lunp | grep 2456

Jangan dedahkan RCON, iaitu protokol konsol jauh, kepada internet. RCON hanya menggunakan satu kata laluan yang dihantar melalui sambungan teks biasa, pada port 25575 secara lalai. Ikatkannya pada 127.0.0.1 dan aksesnya melalui terowong SSH. Jalankan pelayan permainan sebagai pengguna tanpa keistimewaan yang berasingan juga supaya pepijat dalam mod tidak dapat mencapai bahagian lain mesin. Sepuluh minit pertama pada VPS baharu menerangkan akaun pengguna dan pengukuhan SSH yang diandaikan telah anda lakukan dalam bahagian ini.

Jalankan pelayan melalui systemd supaya dimulakan semula

Pelayan yang dimulakan secara manual dalam sesi SSH akan berhenti apabila sesi ditutup dan kekal berhenti selepas reboot. systemd menyelesaikan kedua-dua masalah ini. Unit tersebut menjalankan pelayan sebagai pengguna minecraft tersendiri. Pengguna itu memiliki /opt/minecraft sahaja:

sudo useradd --system --home-dir /opt/minecraft --shell /usr/sbin/nologin minecraft
sudo chown -R minecraft:minecraft /opt/minecraft

Kemudian 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.target

Restart=on-failure menghidupkan semula pelayan selepas pelayan terhenti akibat kerosakan dan membiarkannya berhenti selepas penutupan yang teratur. Inilah tingkah laku yang dikehendaki. Restart=always akan mengganggu anda setiap kali pelayan dihentikan dengan sengaja. TimeoutStopSec=180 lebih penting daripada yang kelihatan. systemctl stop menghantar SIGTERM. Pelayan Minecraft standard menangkap isyarat itu dan menyimpan dunia sebelum keluar. Apabila tempoh tamat berlaku, systemd pula menghantar SIGKILL. Dunia yang besar mungkin memerlukan lebih daripada 90 saat lalai untuk disimpan. Apa-apa data yang belum ditulis ke cakera apabila SIGKILL dihantar akan hilang.

sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo journalctl -u minecraft -f

Permulaan yang berjaya berakhir dengan baris seperti Done (12.345s)! For help, type "help". Jika unit bertukar antara keadaan activating dan failed, journalctl -u minecraft -n 50 menyimpan sebabnya. Biasanya puncanya ialah path yang salah dalam WorkingDirectory atau saiz heap yang lebih besar daripada memori pelayan.

Servis systemd seperti ini tidak menyediakan konsol interaktif secara lalai. Rancang perkara itu dari awal. Gunakan RCON pada localhost untuk menjalankan arahan. Sebagai pilihan, jalankan pelayan dalam sesi tmux. Kaedah yang sama memastikan sesi Claude Code yang berjalan lama kekal aktif pada VPS antara sesi log masuk.

Permainan yang diedarkan melalui Steam memerlukan SteamCMD terlebih dahulu. Pakej Ubuntu ialah binari 32 bit. Oleh itu, baris architecture diperlukan. Jika baris itu dilangkau, apt akan melaporkan bahawa tiada installation candidate:

sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd

Sesetengah pelayan permainan meningkatkan penggunaan memori semakin lama dijalankan. Restart berjadual pada waktu kurang sibuk ialah penyelesaian yang biasa digunakan, bukan pembaikan sebenar. Pemasa systemd yang memanggil systemctl restart lebih mudah difahami berbanding entri cron kerana systemctl list-timers menunjukkan dengan tepat bila pemasa itu akan berjalan 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 minecraft

Jika 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 pada VPS dan bukannya membeli PC permainan?

Tidak. VPS standard tidak mempunyai GPU, sebaliknya hanya mempunyai penyesuai paparan maya untuk konsol penyedia. Oleh itu, selepas desktop dipasang, glxinfo -B melaporkan pemapar perisian llvmpipe dan permainan 3D berjalan pada beberapa bingkai sesaat. Walaupun GPU dipasangkan, permainan jauh menambah pengekodan dan penyahkodan video pada setiap perjalanan pergi balik bingkai, manakala RDP dan VNC sememangnya tidak direka untuk tujuan itu. VPS digunakan untuk mengehos pelayan khusus yang disambungkan oleh kumpulan anda. Sewakan masa GPU atau gunakan perkhidmatan permainan awan jika itu yang anda mahu lakukan.

Berapa banyak teras CPU yang diperlukan oleh pelayan permainan?

Dua teras pantas lebih baik daripada lapan teras perlahan bagi kebanyakan permainan, kerana simulasi dunia berjalan pada satu thread utama dan teras tambahan tidak dapat membantu thread itu memenuhi had masa 50 ms. Bandingkan pelan yang dipertimbangkan dengan sysbench cpu --cpu-max-prime=20000 --threads=1 run dan baca angka peristiwa sesaat. Teras tambahan berbaloi apabila anda turut menjalankan pelayan kedua atau pangkalan data pada mesin yang sama, kerana beban kerja tersebut boleh berjalan tanpa mengambil masa daripada thread tick.

Berapa banyak RAM yang diperlukan oleh pelayan Minecraft?

Kira-kira 2 GB heap untuk dunia vanilla dengan kira-kira 10 pemain, dan 8 GB untuk modpack besar dengan bilangan pemain yang sama. Tetapkan -Xms dan -Xmx kepada nilai yang sama, dan biarkan 1 GB hingga 2 GB memori mesin tersedia untuk sistem pengendalian. JVM menggunakan memori di luar heap, manakala kernel memerlukan cache halaman. Heap yang lebih besar daripada kapasiti mesin menyebabkan proses ditamatkan oleh kernel. Keadaan ini muncul dalam dmesg sebagai baris kehabisan memori, bukannya sebagai ralat Java.

Mengapakah pemain saya mengalami lag apabila CPU dan RAM pelayan masih tersedia?

Dua punca sepadan dengan keadaan itu. Semak log pelayan untuk Can't keep up! Is the server overloaded?, yang bermaksud thread utama tunggal terlepas belanjawan tick 50 ms sementara teras lain tidak digunakan. Dalam Paper, amaran itu boleh dimatikan dengan warn-on-overload: false dalam bukkit.yml. Oleh itu, pastikan amaran tersebut masih didayakan sebelum menganggap ketiadaannya sebagai petunjuk. Jika amaran didayakan tetapi tiada, semak laluan rangkaian. Minta setiap pemain menjalankan mtr -rwzc 100 203.0.113.10 terhadap alamat pelayan anda dan membaca baris terakhir. Semak juga lajur st dalam vmstat 1. Masa steal melebihi beberapa peratus bermaksud hos terlebih jual, jadi CPU melahu yang anda lihat sebenarnya tidak tersedia untuk anda.

Port manakah yang perlu dibuka untuk pelayan permainan?

Hanya port permainan itu sendiri serta 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 menjalankan ufw enable, atau anda akan kehilangan akses kepada mesin tersebut. Ingat bahawa banyak penyedia menjalankan firewall kedua dalam panel kawalan mereka. Port itu mesti dibuka pada kedua-dua firewall. Jangan buka RCON pada port 25575 kepada Internet, kerana ia menghantar satu kata laluan dalam teks biasa.