This repository has been archived on 2024-01-16. You can view files and clone it, but cannot push or open issues or pull requests.
Files

83 lines
3.2 KiB
JavaScript
Raw Permalink Normal View History

2021-04-19 23:26:14 -03:00
const bds = require("../index")
const {CheckBan} = require("./check");
2021-04-20 22:09:34 -03:00
const fs = require("fs");
2021-04-19 23:26:14 -03:00
2021-04-20 22:09:34 -03:00
function MytypeKill(player) {
2021-04-19 23:26:14 -03:00
console.warn(`Player ${player} tried to connect to the server`)
2021-04-20 22:09:34 -03:00
let removeUser = `tp "${player}" ~ ~9999999999999999999999999 ~`
2021-04-19 23:26:14 -03:00
console.log(removeUser);
2021-04-20 22:09:34 -03:00
var RemoveUser = setInterval(() => {
bds.command(removeUser);
bds_server_string.stdout.on("data", (data) => {
if (data.includes("disconnected:")) {
if (data.includes(player)) clearInterval(RemoveUser);
2021-04-19 23:26:14 -03:00
}
2021-04-20 22:09:34 -03:00
})
}, 6 * 1000);
return RemoveUser;
2021-04-19 23:26:14 -03:00
}
2021-04-20 22:09:34 -03:00
const Bedrock = function (data){
const file_users = fs.readFileSync(bds.players_files, "utf8");
const users = JSON.parse(file_users);
2021-04-23 21:40:08 -03:00
const CurrentData = new Date();
for (let line of data.split(/\r?\n/g)) {
2021-04-20 22:09:34 -03:00
if (line.includes("connected:")) {
2021-04-23 21:40:08 -03:00
line = line.replace("[INFO] Player ", "").trim()
let GetSatatus = line.trim().split(/\s+/g)[0];
const GetUser = [];
for (let index of line.trim().replace("connected:", "").replace("dis", "").trim().split(", xuid:")) if (index !== "") GetUser.push(index.trim());
2021-04-20 22:09:34 -03:00
// -------------------------------------------------
2021-04-23 21:40:08 -03:00
var username = GetUser[0];
console.log(GetUser);
2021-04-20 22:09:34 -03:00
// User Connected
2021-04-23 21:40:08 -03:00
if (GetSatatus === "connected:") {
2021-04-20 22:09:34 -03:00
if (CheckBan(username)) MytypeKill(username)
2021-05-05 23:48:25 -03:00
else if (users.bedrock[username] === undefined) {
2021-04-23 21:40:08 -03:00
var xuid = GetUser[1];
2021-05-05 23:48:25 -03:00
users.bedrock[username] = {
2021-04-23 21:40:08 -03:00
date: CurrentData,
connected: true,
xboxID: xuid,
update: [
{
date: CurrentData,
connected: true,
}
]
}
} else {
2021-05-05 23:48:25 -03:00
users.bedrock[username].connected = true
users.bedrock[username].date = CurrentData
users.bedrock[username].update.push({
2021-04-20 22:09:34 -03:00
date: CurrentData,
connected: true,
2021-04-19 23:26:14 -03:00
})
}
}
2021-04-20 22:09:34 -03:00
// User Disconnected
2021-04-23 21:40:08 -03:00
else if (GetSatatus === "disconnected:") {
if (!(CheckBan(username))){
2021-05-05 23:48:25 -03:00
users.bedrock[username].connected = false
users.bedrock[username].date = CurrentData
users.bedrock[username].update.push({
2021-04-23 21:40:08 -03:00
date: CurrentData,
connected: false,
})
}
2021-04-20 22:09:34 -03:00
}
2021-04-19 23:26:14 -03:00
}
2021-04-23 21:40:08 -03:00
}
2021-04-20 22:09:34 -03:00
fs.writeFileSync(bds.players_files, JSON.stringify(users, null, 2))
2021-05-05 23:48:25 -03:00
if (users.bedrock[username]) return true
2021-04-23 21:40:08 -03:00
else return false
2021-04-19 23:26:14 -03:00
}
2021-04-20 22:09:34 -03:00
module.exports = function (data){
if (bds.platform === "bedrock") return Bedrock(data);
else if (bds.platform === "java") return false;
else if (bds.platform === "pocketmine") return false
2021-04-29 00:35:47 -03:00
else if (bds.platform === "jsprismarine") return false
2021-04-20 22:09:34 -03:00
else throw new Error("Plafotform Error !!")
};