Ada dua pendekatan untuk melawan bot. Mereka adalah perlindungan sisi klien dan analisis sisi server.
Perlindungan sisi klien adalah pendekatan yang paling jelas - brute force, dalam arti tertentu. Anda melakukan segala upaya untuk memastikan bahwa klien game sepenuhnya sah, belum dirusak, dan tidak ada program lain yang memengaruhinya. Sekarang ini adalah masalah yang sulit, dan mustahil untuk dipecahkan sepenuhnya. Tetapi banyak permainan yang mencoba, dan sukses dengan metode ini. Saya tahu ada beberapa solusi siap pakai untuk perlindungan klien, dan menyarankan Anda mencarinya. Menerapkannya sendiri adalah tugas yang menakutkan.
Selain kurang efektif 100%, perlindungan sisi klien memiliki kelemahan karena sangat menjengkelkan bagi pemain Anda. Biasanya ini menyiratkan hal-hal seperti menonaktifkan pengalihan tugas alt-tab, program antivirus, dll.
Analisis sisi server kurang mengganggu. Dalam pendekatan ini, Anda memiliki beberapa kode server yang menganalisis pola perilaku pemain. Paling sering, bot bermain berbeda. Sebagai contoh, pemain manusia memiliki waktu yang bervariasi antara aksi (seperti menembak), dan kali ini mematuhi distribusi kurva-lonceng. Bot primitif akan memiliki waktu yang konstan, atau didistribusikan secara merata selama beberapa interval. Fakta menyenangkan: menggunakan metode ini, kami pernah menangkap seorang pemain dengan bot mekanik - perangkat pintar yang menekan tombol pada keyboard fisiknya. Tak perlu dikatakan, tidak jumlah perlindungan klien dapat menangkap bahwa . Meski demikian, analisis ini tidak sempurna. Bot yang lebih maju akan menipu sistem Anda, dan semakin banyak pemeriksaan yang Anda terapkan, bot yang lebih maju akan menjadi.
Untuk perlindungan terbaik, Anda dapat menggabungkan kedua metode ini. Perlindungan klien akan mempersulit pengembangan bot, dan analisis server akan menghentikan bot sederhana yang dikembangkan dengan cepat. Tapi apa pun yang Anda lakukan, Anda tidak pernah dapat menghentikan bot sepenuhnya. Nah, kecuali Anda mengirim perwakilan Anda ke rumah pemain, untuk mengawasi permainan mereka dan melaporkan pelanggaran. (Ngomong-ngomong, yang tidak pernah terdengar sebelumnya. Aku sudah pasti membaca sebuah cerita tentang perusahaan poker online yang mengirim orang ke rumah pemain yang sangat sukses, untuk memastikan dia bermain dengan sah. Tapi sepertinya aku tidak bisa menemukannya sekarang.)
Ada dua rekomendasi yang lebih meragukan untuk memerangi bot. Pertama, enkripsi lalu lintas jaringan Anda. Saya tidak berpikir ini akan berhasil. Dengan klien Anda di tangan musuh, lalu lintas dapat dan akan didekripsi ... atau klien Anda sendiri akan digunakan untuk enkripsi. Di sisi lain, enkripsi menambah lag, dan itu sangat buruk untuk "penembak waktu nyata". Rekomendasi kedua adalah "rancang game Anda dengan ini". Meskipun ini sepertinya ide yang bagus, saya belum pernah melihat satu game pun yang mengelola ini.