← All posts FiveM

Cara Optimasi Server FiveM Agar Tidak Lag (Panduan 2026)

Panduan sistematis mengoptimasi server FiveM: membedakan lag client, server, dan jaringan, mengukur dengan resmon dan profiler, memperbaiki script, database, dan asset streaming, sampai kapan perlu upgrade infrastruktur.

"Server lag" adalah keluhan paling sering di komunitas FiveM, sekaligus yang paling sering ditangani dengan cara salah. Banyak owner langsung upgrade RAM, mengganti hosting, atau menghapus resource secara acak, padahal penyebabnya belum diketahui.

Panduan ini memakai pendekatan yang biasa dipakai engineer: ukur dulu, baru ubah. Kita mulai dari membedakan jenis lag, lalu masuk ke alat ukur, perbaikan di level script, database, asset, dan terakhir infrastruktur.

Langkah 0: Kenali jenis lag-nya

Kata "lag" bisa berarti tiga masalah berbeda dengan solusi berbeda:

GejalaKemungkinan sumberCara cek
FPS turun, game patah-patah, hanya dialami sebagian pemainClient: script client berat, asset besar, PC pemainresmon di client, cek spesifikasi PC
Semua pemain merasakan delay bersamaan, aksi telat diproses, kendaraan "teleport"Server thread: script server, databaseHitch warning di console, profiler server
Ping tinggi atau naik turun, packet lossJaringan: rute ISP, serangan DDoS, bandwidthPing/traceroute dari beberapa ISP, grafik jaringan host

Kalau hanya satu atau dua pemain yang mengeluh FPS drop, masalahnya hampir pasti di sisi client mereka atau resource client tertentu, bukan di server. Arahkan mereka ke panduan spesifikasi PC untuk FiveM dan cara mengatasi crash dan stuck loading.

Langkah 1: Baca console server

Console FXServer (atau tab Live Console di txAdmin) adalah sumber data pertama. Cari pesan seperti:

server thread hitch warning: timer interval of 412 milliseconds

Pesan ini berarti thread utama server tertahan lebih lama dari seharusnya. Satu atau dua kali saat server start masih wajar. Kalau muncul terus-menerus saat server ramai, ada sesuatu yang memblokir thread utama. Cara membaca dan menelusuri pesan ini dibahas lengkap di cara mengatasi FiveM server hitch warning.

Perhatikan juga error berulang dari resource tertentu. Script yang melempar error di loop bisa membanjiri console dan ikut menambah beban.

Langkah 2: Ukur dengan resmon dan profiler

FiveM menyediakan dua alat bawaan:

  • resmon (di client, lewat console F8: resmon 1) menampilkan waktu CPU dan memori per resource di sisi client.
  • profiler (di console server) merekam aktivitas server dalam sejumlah frame, lalu menampilkannya dalam bentuk timeline yang bisa kamu periksa.
profiler record 500
profiler view

Rekam saat server sedang ramai atau saat lag terjadi, bukan saat sepi. Data dari server kosong tidak akan menunjukkan masalah yang muncul di jam ramai. Panduan langkah demi langkah memakai kedua alat ini ada di cara menggunakan resmon dan profiler FiveM, dan dokumentasi resminya di docs.fivem.net.

Hasil pengukuran ini menentukan langkah berikutnya. Kalau satu resource mendominasi, fokus ke resource itu. Kalau semuanya kecil tapi server tetap berat, masalahnya bisa ada di database, jumlah entity, atau infrastruktur.

Langkah 3: Perbaiki pola script yang boros

Sebagian besar masalah performa di server roleplay berasal dari script, baik buatan sendiri maupun hasil beli atau download. Pola yang paling sering ditemukan:

Loop tanpa jeda

-- Buruk: jalan setiap frame, selamanya
CreateThread(function()
    while true do
        Wait(0)
        local pos = GetEntityCoords(PlayerPedId())
        if #(pos - lokasiToko) < 2.0 then
            DrawText3D(...)
        end
    end
end)

-- Lebih baik: tidur lama saat jauh, cepat hanya saat dekat
CreateThread(function()
    while true do
        local sleep = 1000
        local pos = GetEntityCoords(PlayerPedId())
        if #(pos - lokasiToko) < 10.0 then
            sleep = 0
            if #(pos - lokasiToko) < 2.0 then DrawText3D(...) end
        end
        Wait(sleep)
    end
end)

Lebih baik lagi, gunakan sistem zona atau target (misalnya zona di ox_lib atau resource target) yang dirancang untuk menangani banyak titik interaksi sekaligus.

Loop di server yang memproses semua pemain terlalu sering

Script yang setiap detik mengambil data semua pemain, menghitung sesuatu, lalu menulis ke database akan makin berat seiring bertambahnya pemain. Perpanjang intervalnya, proses hanya data yang berubah, dan simpan ke database secara berkala, bukan setiap perubahan kecil.

Event yang di-broadcast ke semua pemain

TriggerClientEvent('event', -1, data) mengirim data ke semua pemain. Untuk data yang melekat pada entity atau pemain, state bags sering lebih efisien. Untuk data yang hanya relevan bagi pemain di dekat lokasi, kirim ke pemain itu saja.

Resource duplikat dan tidak terpakai

Dua sistem HUD, tiga script notifikasi, resource "testing" yang lupa dimatikan. Audit server.cfg dan hapus yang tidak benar-benar dipakai. Lebih sedikit resource berarti lebih sedikit thread, event handler, dan memori.

Langkah 4: Optimasi database

Query database yang lambat sering muncul sebagai hitch di server, terutama jika ada script yang menunggu hasil query secara sinkron. oxmysql bisa memberi peringatan untuk query yang lambat (cek nama convar di dokumentasi oxmysql versi kamu). Aktifkan, lalu perhatikan query yang sering muncul.

Perbaikan umum:

  • Index kolom yang dipakai di WHERE, misalnya citizenid, license, atau plate. Cek dengan EXPLAIN di MySQL/MariaDB.
  • Hindari SELECT * pada tabel besar jika hanya butuh satu kolom.
  • Bersihkan data lama, misalnya log transaksi atau telepon dari bertahun-tahun lalu, setelah backup.
  • Database di mesin yang sama dengan FXServer menghilangkan latensi jaringan antar server, asalkan resource mesin cukup.

Sebelum menghapus data apa pun, ikuti panduan backup dan restore database FiveM.

Langkah 5: Kendalikan entity dan asset streaming

  • Entity berlebih: kendaraan yang ditinggal pemain, prop dari script, NPC yang di-spawn tanpa dibersihkan. Pastikan script yang membuat entity juga menghapusnya, dan jadwalkan pembersihan kendaraan terbengkalai.
  • Asset besar: MLO, mobil addon, dan pakaian custom dengan tekstur raksasa memperlambat loading pemain dan bisa memicu crash di PC spesifikasi rendah. FXServer memberi peringatan untuk asset yang terlalu besar saat start. Perhatikan peringatan tersebut dan kompres teksturnya.
  • Terlalu banyak mobil addon: setiap model menambah data yang harus diunduh dan dimuat. Pilih yang memang dipakai.

Langkah 6: Pastikan konfigurasi dasar benar

  • Pakai artifact FXServer yang direkomendasikan dan cukup baru. Perbaikan performa dan stabilitas rutin masuk ke artifact baru. Cek daftar artifact di halaman resmi Cfx.re.
  • OneSync aktif sesuai kebutuhan server roleplay modern.
  • Restart terjadwal lewat txAdmin, misalnya sekali atau dua kali sehari di jam sepi, membantu membersihkan memory leak dari script yang kurang rapi. Ini mitigasi, bukan solusi akar masalah.
  • Jangan jalankan hal lain di mesin yang sama kalau resource terbatas, seperti bot Discord berat, game server lain, atau build tools.

Langkah 7: Kapan masalahnya ada di infrastruktur?

Setelah script dan database dibenahi, baru masuk akal menilai infrastruktur. Beberapa tanda bahwa mesin atau jaringan adalah batasnya:

  • Satu core CPU penuh sementara core lain menganggur. Thread utama server FiveM sangat bergantung pada performa single-core. Banyak core lambat tidak menggantikan sedikit core yang cepat.
  • Performa naik turun tanpa perubahan di server. Di VPS dengan resource yang dibagi (shared), aktivitas pengguna lain di host yang sama bisa memengaruhi CPU kamu. Ini dikenal sebagai masalah "noisy neighbor".
  • RAM hampir penuh dan swap aktif. Swap di disk jauh lebih lambat daripada RAM dan bisa memicu hitch.
  • Ping naik atau packet loss saat jam ramai, atau lonjakan traffic tidak wajar yang menandakan serangan DDoS.

Perbedaan antara VPS, VDS, dan dedicated server, serta dampaknya ke performa FiveM, dibahas di VPS vs VDS vs Dedicated Server untuk FiveM. Untuk perkiraan kebutuhan CPU dan RAM sesuai jumlah slot, lihat berapa RAM dan CPU untuk server FiveM.

Agar keputusan upgrade didasarkan pada data, pasang monitoring jangka panjang. Grafik CPU, RAM, dan jumlah pemain dari beberapa minggu jauh lebih berguna daripada kesan sesaat. Panduannya ada di monitoring FiveM dengan Prometheus dan Grafana.

Checklist optimasi

  1. Tentukan jenis lag: client, server, atau jaringan.
  2. Catat hitch warning dan error di console.
  3. Rekam profiler saat ramai, cek resmon di client.
  4. Perbaiki atau ganti resource yang paling berat.
  5. Index database dan bersihkan query lambat.
  6. Bersihkan entity dan kompres asset besar.
  7. Perbarui artifact dan atur restart terjadwal.
  8. Baru evaluasi CPU, RAM, dan jaringan dengan data monitoring.

Ubah satu hal setiap kali, lalu ukur lagi. Kalau kamu mengganti lima hal sekaligus, kamu tidak akan tahu mana yang sebenarnya membantu.

Butuh infrastruktur yang bisa diprediksi?

Kami menjalankan kota roleplay sendiri, Noctis Roleplay, di infrastruktur yang sama dengan yang kami tawarkan. Kalau hasil pengukuranmu menunjukkan batasnya ada di CPU atau jaringan, lihat hosting FiveM Noctis: vDedicated dengan AMD Ryzen, DDR5, NVMe, root penuh, dan anti-DDoS di jaringan kami sendiri (AS202118) di Singapore. Paket mulai dari VDS Mini untuk development sampai VDS Medium (4 vCPU, 16 GB RAM) untuk kota dengan script stack berat. Detailnya di Noctis Cloud, atau tanya tim kami lewat Discord.

start here

Building something with Noctis?

Tell us what you need. A real person on our team reads every message.