Optimisasi Villager
Penjelasan tentang cara kerja AI villager, kenapa villager berat untuk server, dan gimana cara mengoptimalkannya menggunakan plugin seperti FarmControl & AntiVillagerLag.
Villager adalah salah satu entitas paling berat di Minecraft, bahkan lebih berat daripada banyak mob lain. Alasannya sederhana, villager punya AI kompleks, rutinitas harian, pencarian blok, pathfinding sampai job gossip system. Bagian ini menjelaskan:
- Cara kerja AI villager (dasar teknis)
- Kenapa breeder & trading hall bikin spike CPU
- Bagaimana plugin seperti FarmControl, AntiVillagerLag, dan integrasi server membantu mengendalikannya
Dasar Kerja AI Villager
Villager menjalankan beberapa proses AI setiap tick:
- Job Search (Mencari Workstation)
Setiap villager akan Mencari workstation secara repetitif, mengecek pathfinding ke workstation, dan mengganti job jika block diklaim/dilepas. Ini adalah salah satu penyebab CPU spike terbesar. - Pathfinding
Villager akan mencoba mencapai workstation, mencapai bed, mendatangi bell, dan berinteraksi dengan villager lain. Pathfinding -> operasi yang sangat mahal bagi CPU, apalagi jika villager diberi ruang banyak blok untuk bergerak. - Sleep Cycle
Villager mencoba tidur -> gagal -> ulangi pathfinding -> gagal lagi -> ulangi.
Masalah umum: bed diambil, blockage, posisi sempit. - Restock Cycle
Villager melakukan restock 2x per hari: mengecek workstation, menjalankan pathfinding, mencoba restock dan mengulangi saat gagal. Jika workstation jauh atau tidak reachable -> spam AI loop. - Gossip System
Villager saling menyimpan reputasi, bertukar gossip dan mengkalkulasi harga trade. Proses ini tidak terlalu berat, tapi terjadi terus-menerus.
Membatasi Villager dengan Plugin
Dengan memahami dasar di atas, kita bisa menggunakan plugin untuk membantu menahan atau membatasi beban server. Berikut plugin & metode yang sering saya gunakan:
AntiVillagerLag
AntiVillagerLag adalah plugin yang berfungsi untuk mengurangi lag dari trading hall tanpa merusak perilaku villager yang bersifat vanilla. Plugin ini bekerja dengan cara mematikan dan menyalakan AI villager secara fleksibel sehingga villager tetap bisa restock dan level up, tetapi tidak membebani server ketika tidak dibutuhkan.
-
Cara Kerja Singkat
Villager dapat di optimize (AI dimatikan) menggunakan nametag, block, atau workstation sesuai konfigurasi. Saat AI dimatikan: villager tidak bergerak, tidak tidur, tidak breeding, dan tidak berkontribusi pada farm-sehingga lebih ringan untuk server tetapi masih bisa trade. Player tetap bisa klik villager untuk memicu restock dan level-up. -
Penggunaan Nyata
Untuk penggunaan nyata, kalian bisa melihat contohnya pada Foxy Network:
Dokumentasi as player: https://wiki.foxy-network.net/gameplay-limits-and-rule/aturan-ai-villager
Penjelasan penggunaan as player (video):
Selain AntiVillagerLag, plugin FarmControl efektif untuk membatasi jumlah villager yang menumpuk pada suatu area.
Ditulis oleh Evan Andreyan (A.K.A LourenT) - Head of Development, foxy-network.net