Langsung ke konten utama
pemilik-serverpapermobentity

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.

Tim MSID5 menit baca
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.

Diagram zona spawn dan despawn mob di sekitar pemain: lingkaran terdalam berjari-jari 24 blok tempat mob tidak spawn, cincin antara 24 dan 128 blok adalah zona spawn tempat mob bermunculan, batas 32 blok menandai mulai adanya peluang despawn dan AI mob melambat, dan di luar 128 blok mob langsung despawn seketika

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:

yaml
spawn-limits:
  monsters: 70
  animals: 10
  water-animals: 5
  water-ambient: 20
  axolotls: 5
  ambient: 15

Angka 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 bebanmonstersmob-spawn-range
100% (vanilla)708
Sekitar 50%355 sampai 6
Sekitar 30%214 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 dari simulation-distance dikurangi satu.
  • Nilai 5 atau 6 adalah 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.

Diagram perbandingan mob cap global versus per-player: pada cap global, satu kolam mob tunggal dihabiskan oleh satu pemain di mob farm sehingga pemain lain tidak kebagian mob, sedangkan pada per-player setiap pemain punya jatah mob sendiri sehingga pembagiannya adil dan server bisa memakai cap lebih rendah

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:

yaml
entity-activation-range:
  animals: 32
  monsters: 32
  raiders: 64
  misc: 16
  water: 16
  villagers: 32
  flying-monsters: 32

Menurunkan 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 dengan spawner-nerfed-mobs-should-jump: true supaya 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 lewat entity-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!

Baca juga