// ==UserScript==
// @name Anti-Bot Hack
// @namespace http://tampermonkey.net/
// @version 2
// @description Kick unwanted bots that join ur server
// @author 3lectr0N!nj@
// @match https://www.pucks.io/
// @require https://update.greasyfork.org/scripts/539331/1607205/BumpyballioPucksio%20Decoder.js
// @require https://greasyfork.org/scripts/448029-rblu/code/RBLU.js
// @icon https://www.google.com/s2/favicons?sz=64&domain=pucks.io
// @grant none
// ==/UserScript==
let f = false
let kick = null
const server = window.server ={
url : null,
s :null,
antihack(){
const ah = new WebSocket(this.url)
this.s = ah
ah.onopen = function(){
ah.send(new Uint8Array([8, 1, 18, 49, 10, 12, 65, 78, 84, 73, 72, 65, 67, 75, 45, 66, 79, 84, 18, 28, 65, 85, 51, 115, 49, 111, 120, 101, 86, 113, 79, 80, 74, 116, 56, 87, 114, 104, 52, 104, 69, 102, 52, 121, 102, 56, 57, 50, 24, 230, 6, 32, 14, 56, 1]))
}
let bots = ((prompt("Enter an average number of bots u see"))/3)
ah.addEventListener("message", () => {
f = true;
kick = setInterval(() => {
if (f==true) {
ah.send(new Uint8Array([8, 7, 18, 10, 18, 5, 13, 0, 0, 128, 63, 24, 220, 72]));
} else {
ah.send(new Uint8Array([8, 7, 18, 5, 18, 0, 24, 220, 72]));
}
f = !f;
}, bots);
});
},
}
function checkbot(json){
if(json.message){
if (kick !== null) {
clearInterval(kick);
kick = null;
f = false
server.s.close()
return;
}else{
let msg = String(json.message)
if(msg === "/kick/"){
server.antihack()
return;
}
}
}
}
WebSocket.prototype._send = WebSocket.prototype.send
WebSocket.prototype.send = function(data){
server.url = this.url
data = new Uint8Array(data)
console.log(data)
checkbot(Sdecoder(data))
return this._send(data)
}