Mengelola jaringan MikroTik di lingkungan sekolah atau kantor dengan ratusan user aktif harian memiliki tantangan tersendiri. Salah satu drama klasik yang sering terjadi adalah ketika ada user yang komplain tidak bisa login karena muncul pesan error: “simultaneous session limit reached”.
Padahal, si user baru saja menyalakan laptop atau HP-nya. Masalah duplicate user atau sesi ganda yang “nyangkut” di sistem ini sering kali menjadi biang kerok yang menghabiskan waktu kita hanya untuk membuka Winbox dan melakukan kick manual.
Di artikel kali ini, saya akan membagikan script hasil modifikasi pribadi yang bekerja secara otomatis untuk membersihkan sampah sesi ganda tersebut. Dengan begitu, Anda bisa fokus pada pekerjaan infrastruktur lain yang lebih penting.
Catatan Penting: Logika pemotongan string dan manajemen variabel pada script ini optimal bekerja pada MikroTik RouterOS v6. Pastikan versi perangkat Anda sesuai sebelum memasangnya.
Asal-usul Script
Script dasar ini awalnya saya temukan dari dokumentasi Syed Jahanzaib. Di sini, saya melakukan sedikit modifikasi serta menyederhanakan penjelasannya agar lebih mudah dipahami oleh rekan-rekan sesama sysadmin.
Berikut adalah source code script-nya:
# Syed Jahanzaib
# Hotspot script to remove duplicate users - Script taken from mikrotik forums with Minor changes
# Optimized for RouterOS v6
:local uname $user;
:local usercount 0;
:local usertime "00:00:00";
:local kickable;
# Jika maksimal user yang boleh login adalah 1, maka masukkan maxuser 2.
:local maxuser 2;
:foreach i in=[/ip hotspot active find user=$uname] do= {
:local curup [/ip hotspot active get $i uptime];
:if ( $curup > $usertime ) do={
:set usertime $curup;
:set kickable $i;
}
:set usercount ($usercount+1);
}
:if ($usercount >= $maxuser) do={
:log error "Duplicate Login user found: $uname ($usercount/$maxuser- Time > $usertime) - Now kicking ... !!!";
/ip hotspot active remove numbers=$kickable;
} else {
:log info "HOTSPOT user logged-in ID = $uname ($usercount/$maxuser)";
}
Cara Pemasangan di Winbox MikroTik
Cara menggunakannya sangat mudah karena kita memanfaatkan fitur event trigger bawaan user profile MikroTik. Silakan ikuti langkah berikut:
- Buka Winbox, lalu masuk ke menu IP > Hotspot > User Profiles.
- Pilih atau klik dua kali pada Profile yang ingin Anda pasangi script ini.
- Buka tab Script.
- Tempelkan (paste) kode di atas pada kolom On Login.
Kenapa ditaruh di On Login? Karena script ini dirancang untuk langsung memindai status aktif begitu ada kecocokan ID user yang mencoba masuk ke jaringan.

Memahami Variabel `maxuser` (Penting!)
Hal yang perlu Anda perhatikan adalah penentuan nilai pada variabel maxuser. Variabel ini bertindak sebagai benteng validasi pada baris kode :if ($usercount >= $maxuser). Jika jumlah sesi yang aktif di sistem sudah menyentuh atau melewati angka tersebut, MikroTik akan otomatis menendang (remove) sesi lama yang menggantung.
Anda bisa menyesuaikan variabel ini berdasarkan kebijakan (policy) jaringan di tempat Anda. Berikut rumusnya:
- Kasus 1 (Profil Siswa/Karyawan Biasa): Jika satu akun hanya boleh dipakai oleh 1 perangkat, maka isi nilai
maxuser 2;. - Kasus 2 (Profil Guru/Manajemen): Jika satu akun diberikan dispensasi untuk bisa digunakan oleh 2 perangkat sekaligus, maka Anda harus mengalikan batasnya. Isi nilai variabelnya menjadi
maxuser 4;, dan begitu seterusnya.
Kesimpulan
Dengan mengimplementasikan script otomatisasi ini pada RouterOS v6, Anda tidak akan lagi diganggu oleh drama user yang meminta tolong dihapuskan sesi aktifnya secara manual akibat ganti perangkat atau sinyal terputus tiba-tiba.
Semoga trik ringan ini bermanfaat untuk menjaga stabilitas resource router dan ketenangan kerja Anda. Jika ada baris kode yang kurang berjalan atau Anda punya skenario jaringan yang berbeda, mari kita diskusikan di kolom komentar!





