Artikel ini saya buat untuk menjawab pertanyaan seorang teman kepada saya melalui akun media sosial saya.
Dan juga tulisan ini adalah kelanjutan dari postingan sebelumnya yang berjudul : Memperbaiki Dan Mengaktifkan Fitur Multi-Login Limiter di Panel UDP.
Jadi jika sobat belum membaca artikel tersebut saya sarankan untuk membacanya terlebih dahulu untuk lebih memahami apa yang akan kita bahas pada topik kali ini.
Teman-teman mungkin bertanya dari mana tulisan -ama ini bisa muncul pada menu registry udp 2.5 lite ?
Jawaban nya , tulisan ini muncul ketika teman-teman melakukan penghapusan daftar nama user yang melakukan multilogin dari daftar.Setelah melakukan penghapusan dengan menekan angka 0 ,tiba-tiba tulisan -ama akan muncul dan fungsi dari fitur multilogin limiter akan berhenti bekerja.
Teman-teman juga akan bertanya kenapa hal ini bisa terjadi ?
1.1. Munculnya tulisan -ama: Saat Anda menekan 0 to clear record, script asli menjalankan perintah ini: print_center -ama "" >/etc/limit.log. Fungsi print_center -ama adalah perintah untuk mewarnai tulisan (biasanya warna kuning). Saat perintah warna itu disuruh menulis ke dalam file teks biasa (/etc/limit.log), dia bingung. Dia tidak bisa menulis warna di file teks, jadi dia hanya menuliskan sisa kodenya, yaitu spasi dan teks -ama. File log Anda bukan kosong, tapi isinya sampah warna.
2.Kenapa Log Berhenti Tercatat? Ini yang paling licik. Di dalam kode menu asli, ada baris pemantau tersembunyi: "Jika user masuk ke menu Limit Accounts, cek apakah limiter sedang berjalan. Jika ya, MATIKAN". Jadi, ketika Anda masuk ke menu Limit Accounts hanya untuk sekedar melihat log (Limit Registry), si script menu langsung membunuh proses limiter kita di belakang layar secara diam-diam! Itulah kenapa setelah itu tidak ada lagi yang terblokir.
Disini saya akan memberikan langkah perbaikan dengan 2 cara,kamu bisa memilih cara mana yang paling mudah untuk kamu gunakan.
Cara 1
Cara Memperbaikinya (Langkah Demi Langkah)
Kita harus menyadap dan memperbaiki 2 baris kode di dalam file menu utama Anda.
Langkah 1: Buka Script Menu Utama
Ketik perintah ini di SSH:
nano /usr/bin/udp
Langkah 2: Cari dan Nonaktifkan "Pembunuh Limiter"
Di dalam file yang sangat panjang itu, tekan Ctrl+W di keyboard (fungsi pencarian), lalu ketik: Check if limiter is already running lalu tekan Enter.
Anda akan menemukan baris kode yang mirip seperti ini:
# Check if limiter is already running and remove from scheduled tasks if so
for i in $(atq | awk '{print $1}'); do
if [[ ! $(at -c $i | grep '/etc/limiter.sh') = "" ]]; then
atrm $i
sed -i '/etc/limiter.sh/d' /var/spool/cron/crontabs/root
print_center -verd "Limiter stopped"
enter
return
fi
done
GANTI kode di atas menjadi komentar (dinonaktifkan) dengan menambahkan tanda # di depan setiap barisnya, sehingga hasilnya persis seperti ini:
# PERBAIKAN Z: Nonaktifkan auto-kill supaya limiter tidak dimatikan saat buka menu
# for i in $(atq | awk '{print $1}'); do
# if [[ ! $(at -c $i | grep '/etc/limiter.sh') = "" ]]; then
# atrm $i
# sed -i '/etc/limiter.sh/d' /var/spool/cron/crontabs/root
# print_center -verd "Limiter stopped"
# enter
# return
# fi
# done
Langkah 3: Perbaiki Cara Mengosongkan Log
Sekarang, tekan Ctrl+W lagi untuk mencari, ketik: option = "0" lalu tekan Enter.
Anda akan menemukan 2 hasil. Cari yang ada di dalam fungsi log(), bentuknya seperti ini:
read option
[[ $option = "0" ]] && print_center -ama "" >/etc/limit.log
}
GANTI baris [[ $option... tersebut dengan perintah pengosongan file yang bersih:
read option
[[ $option = "0" ]] && echo "" > /etc/limit.log
}
Langkah 4: Simpan dan Bersihkan
1.Simpan file yang sudah diperbaiki: Tekan Ctrl+O, lalu Enter, lalu Ctrl+X.
2.Sekarang, bersihkan tulisan -ama yang nyangkut di log tadi dengan ketik:
echo "" > /etc/limit.log
Tes Akhir
Sekarang sistem sudah bersih dari jebakan. Mari kita pastikan semuanya bekerja mulus:
1.Nyalakan kembali limiter lewat menu:
udp
2.Pilih: 1 (UDP Custom) -> 7 (Limit Accounts) -> 1 (Multi-Login Limiter). Isi waktu cek 1 dan unblock 5 seperti biasa. (Jika muncul tulisan Limiter started, berarti sukses).
3.Buka Menu Log untuk Membuktikan:
Masuk lagi ke menu: udp -> 1 -> 7 -> 3 (Limiter Log).
Pastikan sekarang tidak ada tulisan -ama lagi, dan log pemblokiran user Anda muncul dengan rapi.
4.Tes Clear Record:
Saat di dalam menu Log tadi, tekan 0 lalu Enter. Keluar dari menu, lalu masuk lagi ke menu Log. Sekarang seharusnya sudah muncul tulisan "no account limiter record" yang bersih!
Cara 2
Mengedit file panjang pakai nano memang sangat rentan salah letak, apalagi harus cari kata per kata.
Kali ini saya akan memberikan perintah otomatis (Sihir Linux) yang akan mengedit sendiri file tersebut secara presisi tanpa Anda harus membuka nano sama sekali. Anda hanya perlu Copy-Paste perintahnya.
Ikuti langkah ini persis seperti yang tertulis:
LANGKAH 1: Cadangkan File Asli (Biar Aman)
Ketik perintah ini untuk membackup file menu Anda sebelum diubah otomatis:
cp /usr/bin/udp /usr/bin/udp.backup
(Tidak akan muncul pesan apa-apa jika berhasil, langsung lanjut ke langkah 2)
LANGKAH 2: Otomatis Nonaktifkan "Pembunuh Limiter"
Copy perintah panjang ini, lalu paste di SSH lalu tekan Enter:
sed -i '/Check if limiter is already running/,/done/ s/^/ # /' /usr/bin/udp
Penjelasan: Perintah ini secara otomatis mencari blok kode "Check if limiter..." sampai kata "done", lalu menambahkan tanda # di depan setiap barisnya sehingga dinonaktifkan.
LANGKAH 3: Otomatis Perbaiki Pengosongan Log
Copy perintah ini, lalu paste di SSH lalu tekan Enter:
sed -i 's/print_center -ama "" >\/etc\/limit.log/echo "" > \/etc\/limit.log/' /usr/bin/udp
Penjelasan: Perintah ini secara otomatis mencari perintah sampah lama, dan langsung menggantinya dengan perintah echo yang bersih.
LANGKAH 4: Bersihkan Tulisan Sampah "-ama"
Sekarang kita bersihkan file log yang kemarin terkontaminasi tulisan aneh:
echo "" > /etc/limit.log
LANGKAH 5: Matikan Sisa Proses dan Nyalakan Ulang
Karena tadi menu sempat mematikan limiter secara paksa, kita harus menghidupkannya lagi lewat menu.
1.Matikan dulu semua proses limiter yang mungkin nyangkut:
pkill -f limiter.sh
2.Sekarang Reboot vps,tunggu beberapa saat hingga proses reboot selesai dan vps hidup kembali.
3.Setelah vps hidup kembali,buka menu Anda:
udp
4.Masuk ke menu seperti biasa:
Pilih 1 (UDP Custom) -> Pilih 7 (Limit Accounts) -> Pilih 1 (Multi-Login Limiter).
Isi waktu cek: 1 -> Isi waktu unblock: 5.
Cara Membuktikan Sekarang
1.Tes Clear Record:
Dari menu utama, masuk ke: 7 (Limit Accounts) -> 3 (Limiter Log).
Jika muncul tulisan "no account limiter record", berarti tulisan -ama sudah berhasil dibersihkan. Tekan 0 lalu Enter. Masuk lagi ke menu Log, pastikan tetap bersih.
2.Tes Multilogin:
Hubungkan 2 HP. Tunggu 1-2 menit sampai putus.
Lalu masuk lagi ke menu Limiter Log. Sekarang log akan tercatat dengan rapi tanpa error, dan sistem tetap berjalan di background meskipun Anda bolak-balik buka menu!
Selamat mencoba dan sampai jumpa di artikel selanjutnya.See you...
