Optimasi Mob dan Entity: Kurangi Penyebab Lag Terbesar di Server Minecraft
Setelah view-distance, mob dan entity adalah penyebab lag terbesar di server Minecraft. Panduan menyetelnya tanpa merusak gameplay: pahami zona spawn dan despawn (24, 32, 128 blok), turunkan mob cap dengan aman, kecilkan mob-spawn-range, dan bagi rata spawn antar pemain lewat per-player-mob-spawns.
Daftar isi
Kalau kamu sudah menyetel view-distance dan simulation-distance tapi server masih berat, tersangka berikutnya hampir selalu sama: entity. Mob, item yang berserakan, projectile, dan armor stand adalah beban paling mahal yang ditanggung server tiap tick. Bahkan CPU termahal sekalipun bisa bertekuk lutut kalau jumlah entity dibiarkan liar.
Panduan ini adalah bagian dari seri optimasi server. Kita bahas cara menjinakkan entity tanpa membuat server terasa kosong atau mematikan farm pemain. Kuncinya adalah memahami dulu cara kerja spawn dan despawn, baru menyetel knob yang tepat.
Entity adalah beban terberat, ukur dulu
Sebelum mengubah apa pun, buktikan dulu bahwa entity memang biang lagnya. Jalankan profiler Spark saat server lag, lalu lihat persentase yang dihabiskan untuk memproses entity dan mob spawning. Patokan sehatnya: jaga total entity tick di bawah 30%. Kalau angkanya jauh di atas itu, bagian inilah yang perlu kamu garap.
Ingat prinsip dari panduan utama: tiap perubahan punya tradeoff. Mengurangi mob berarti mengurangi sesuatu di gameplay. Tujuan kita bukan menghapus mob, tapi mengembalikan jumlahnya ke tingkat yang wajar.
Pahami dulu: cara mob spawn dan despawn
Hampir semua knob optimasi mob bekerja di atas satu mekanik vanilla yang sama. Kalau kamu paham ini, sisanya jadi masuk akal. Semua jarak diukur dari pemain terdekat:
- Di dalam 24 blok: mob hostile tidak spawn secara alami. Terlalu dekat dengan pemain. Mob yang sudah ada tetap di tempat.
- Antara 24 dan 128 blok: inilah zona spawn. Mob baru bermunculan di sini, di sekeliling tiap pemain.
- Lebih dari 32 blok: mob mulai punya peluang despawn (hilang sendiri), dan AI-nya melambat karena di luar jangkauan aktif (
entity-activation-range). - Lebih dari 128 blok: mob langsung despawn seketika.
Pelajaran pentingnya: mob yang membebani server adalah yang menumpuk di zona aktif di sekeliling pemain. Hampir semua setelan di bawah ini bekerja dengan cara mengecilkan zona itu atau menurunkan kepadatannya.
Knob 1: turunkan mob cap (spawn-limits)
Mob cap adalah batas jumlah tiap kategori mob per pemain. Ada di bukkit.yml, dan defaultnya mengikuti vanilla:
spawn-limits:
monsters: 70
animals: 10
water-animals: 5
water-ambient: 20
axolotls: 5
ambient: 15Angka monsters: 70 itu besar. Menurunkannya adalah cara paling langsung mengurangi beban entity. Kabar baiknya: memangkas mob cap sampai 50% dari nilai vanilla biasanya tidak terasa oleh pemain, sementara bebannya turun signifikan.
Pakai tabel ini sebagai titik awal, lalu sesuaikan sambil memantau Spark:
| Target beban | monsters | mob-spawn-range |
|---|---|---|
| 100% (vanilla) | 70 | 8 |
| Sekitar 50% | 35 | 5 sampai 6 |
| Sekitar 30% | 21 | 4 sampai 5 |
Kolom ketiga adalah knob berikutnya, dan keduanya paling baik disetel bersamaan.
Knob 2: kecilkan mob-spawn-range
mob-spawn-range di spigot.yml menentukan radius (dalam chunk) di sekeliling pemain tempat server mencoba men-spawn mob. Defaultnya 8 chunk, yang setara dengan zona spawn 128 blok tadi.
Menurunkannya menarik zona spawn lebih dekat ke pemain, sehingga mob lebih jarang muncul di kejauhan dan kepadatan terasa lebih terkendali. Aturannya:
- Jangan di bawah
3, dan jangan lebih darisimulation-distancedikurangi satu. - Nilai
5atau6adalah titik tengah yang aman untuk kebanyakan server.
Knob 3: bagi rata spawn dengan per-player-mob-spawns
Ini knob yang sering disalahpahami, padahal dampaknya besar. Secara historis, mob cap bersifat global: satu kolam tunggal untuk seluruh server. Akibatnya, satu pemain yang AFK di mob farm atau satu sudut dunia yang penuh mob bisa menghabiskan jatah spawn seluruh server, sehingga pemain lain berkeliaran di dunia yang terasa kosong tanpa mob.
per-player-mob-spawns (di paper-world-defaults.yml) mengubah ini: tiap pemain mendapat jatahnya sendiri. Mob dibagi rata, bukan diperebutkan. Efek sampingnya bagus untuk performa: karena distribusinya adil, kamu bisa memasang mob cap lebih rendah tanpa membuat sebagian pemain kehilangan mob sama sekali.
Knob 4: entity-activation-range, hati-hati tradeoff-nya
entity-activation-range (di spigot.yml) menentukan jarak di mana mob berhenti di-tick penuh. Di luar jarak ini, AI mob melambat untuk menghemat CPU. Defaultnya:
entity-activation-range:
animals: 32
monsters: 32
raiders: 64
misc: 16
water: 16
villagers: 32
flying-monsters: 32Menurunkan angka ini menghemat CPU, tapi inilah knob yang paling mudah merusak gameplay: mob yang "membeku" terlalu dekat membuat banyak farm berhenti bekerja dan mob terasa bodoh. Sebaliknya, sebagian pemilik server justru perlu menaikkan nilai ini agar farm berfungsi seperti vanilla, dengan konsekuensi beban CPU naik.
Saran amannya: biarkan default dulu. Sentuh knob ini hanya kalau Spark menunjukkan entity activation sebagai bottleneck nyata, dan ubah sedikit demi sedikit sambil mengamati efeknya pada farm.
Knob 5: jinakkan spawner dan item
Dua sumber entity lain yang sering terlupakan:
- nerf-spawner-mobs (
spigot.yml) menghapus AI dari mob yang lahir dari spawner. Sangat membantu kalau pemain boleh memindahkan spawner. Pasangkan denganspawner-nerfed-mobs-should-jump: truesupaya farm berbasis spawner tetap jalan. - Item yang berserakan juga entity. Paper bisa mempercepat despawn item "sampah" lewat
alt-item-despawn-rate, dan membatasi jumlah projectile per chunk lewatentity-per-chunk-save-limit. Keduanya mengurangi entity tanpa menyentuh mob hidup.
Setel, lalu ukur lagi
Optimasi entity bukan tebak-tebakan. Pola kerjanya selalu sama: ubah satu knob, jalankan server di kondisi ramai, lalu cek lagi entity tick di Spark. Kalau membaik dan pemain tidak protes, lanjut. Kalau farm rusak atau dunia terasa kosong, mundurkan sedikit.
Jangan ubah semua knob sekaligus. Kalau lima setelan kamu geser bersamaan lalu sesuatu rusak, kamu tidak akan tahu yang mana penyebabnya.
Langkah selanjutnya
Mob dan entity biasanya adalah kemenangan besar kedua setelah view-distance dan simulation-distance. Dengan keduanya beres, server kamu sudah jauh lebih ringan.
Kembali ke panduan utama mengatasi lag untuk melihat langkah lainnya, dan pastikan plugin pemantau seperti Spark selalu terpasang supaya kamu bisa mengukur tiap perubahan.
Setelah server ringan, lanjutkan membangun komunitasnya: baca cara menambah pemain server, lalu daftarkan servermu di MSID supaya pemain Indonesia menemukannya di daftar server Minecraft Indonesia.
Selamat menjinakkan entity-mu!