diff --git a/BdsManegerInfo.json b/BdsManegerInfo.json new file mode 100644 index 0000000..b9dfc33 --- /dev/null +++ b/BdsManegerInfo.json @@ -0,0 +1,47 @@ +{ + "docs_base": "https://docs.bdsmaneger.com/docs/Bds Maneger core", + "docs": { + "url": "https://docs.the-bds-maneger.org", + "main": "Bds Maneger core", + "rest_api": "docs/Bds Maneger core/REST API/" + }, + "temp_host": { + "url": "http://hosts.bdsmaneger.com:3020" + }, + "download": { + "php": "https://raw.githubusercontent.com/The-Bds-Maneger/Php_Static_Binary/main/binarys.json", + "servers": "https://raw.githubusercontent.com/The-Bds-Maneger/external_files/main/Server.json" + }, + "Servers": { + "bedrock": { + "stop": "stop", + "op": "op \"{{Player}}\"", + "deop": "op \"{{Player}}\"", + "kick": "kick \"{{Player}}\" \"{{Text}}\"", + "tp": "tp \"{{Player}}\" {{CCO}}" + }, + "java": { + "stop": "stop", + "op": "op \"{{Player}}\"", + "deop": "op \"{{Player}}\"", + "ban": "ban 0 0 0", + "kick": "kick \"{{Player}}\" {{Text}}", + "tp": "tp {{Player}} {{CCO}}" + }, + "pocketmine": { + "stop": "stop", + "op": "op {{Player}}", + "deop": "op {{Player}}", + "ban": "ban {{Player}}", + "kick": "kick {{Player}}", + "tp": "tp {{Player}} {{CCO}}" + } + }, + "contributors": [ + { + "name": "Matheus Sampaio Queiroga", + "email": "srherobrine20@gmail.com", + "url": "https://sirherobrine23.org/?from=the-bds-maneger-project" + } + ] +} diff --git a/extra.json b/extra.json deleted file mode 100644 index bd2bcb9..0000000 --- a/extra.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "docs_base": "https://docs.bdsmaneger.com/docs/Bds Maneger core", - "docs": { - "url": "https://docs.the-bds-maneger.org", - "main": "Bds Maneger core", - "rest_api": "docs/Bds Maneger core/REST API/" - }, - "temp_host": { - "url": "http://hosts.bdsmaneger.com:3020" - }, - "download": { - "php": "https://raw.githubusercontent.com/The-Bds-Maneger/external_files/main/php_bin.json", - "servers": "https://raw.githubusercontent.com/Bds-Maneger/external_files/main/Server.json" - }, - "contributors": [ - { - "name": "Matheus Sampaio Queiroga", - "email": "srherobrine20@gmail.com", - "url": "https://sirherobrine23.org/?from=the-bds-maneger-project" - } - ] -} diff --git a/index.js b/index.js index bbceac8..05939fe 100644 --- a/index.js +++ b/index.js @@ -23,7 +23,7 @@ function date(format) { const bds_core_package = resolve(__dirname, "package.json") module.exports.package_path = bds_core_package module.exports.package_json = require("./package.json"); -module.exports.extra_json = require("./extra.json"); +module.exports.extra_json = require("./BdsManegerInfo.json"); const { bds_dir } = require("./lib/BdsSettings"); const { arch } = require("./lib/BdsSystemInfo"); diff --git a/package-lock.json b/package-lock.json index e1fadbe..dab2899 100644 --- a/package-lock.json +++ b/package-lock.json @@ -277,9 +277,9 @@ "dev": true }, "node_modules/@eslint/eslintrc": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", - "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -461,7 +461,7 @@ }, "node_modules/@the-bds-maneger/fetchsync": { "version": "1.0.0", - "resolved": "git+ssh://git@github.com/The-Bds-Maneger/fetchSync.git#2b8d59de7ca59ac1682e60c73ae7c608b0e4011b", + "resolved": "git+ssh://git@github.com/The-Bds-Maneger/fetchSync.git#c4af0cae45f434250dd7d2b0617395b5001371df", "license": "AGPL-3.0-or-later", "dependencies": { "node-fetch": "^2.6.1" @@ -516,9 +516,9 @@ } }, "node_modules/@types/node": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.2.tgz", - "integrity": "sha512-jJs9ErFLP403I+hMLGnqDRWT0RYKSvArxuBVh2veudHV7ifEC1WAmjJADacZ7mRbA2nWgHtn8xyECMAot0SkAw==" + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz", + "integrity": "sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==" }, "node_modules/@types/node-fetch": { "version": "2.5.11", @@ -922,12 +922,6 @@ "safe-buffer": "^5.1.1" } }, - "node_modules/bl/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "node_modules/bl/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -2154,13 +2148,13 @@ } }, "node_modules/eslint": { - "version": "7.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", - "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "version": "7.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz", + "integrity": "sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==", "dev": true, "dependencies": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.2", + "@eslint/eslintrc": "^0.4.3", "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -2708,12 +2702,6 @@ "readable-stream": "^2.0.0" } }, - "node_modules/from2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "node_modules/from2/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -3474,6 +3462,12 @@ "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", "dev": true }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5967,14 +5961,14 @@ "dev": true }, "node_modules/resolve-dependencies": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/resolve-dependencies/-/resolve-dependencies-6.0.6.tgz", - "integrity": "sha512-8amTjN9uqfNrZkeXCRB7vTSWNNPAI1S1TSaHnlvlFktIv4sZaNHo+NA9w3b5UZELfAgVm9O8PLTj7ZVdIu80Qg==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/resolve-dependencies/-/resolve-dependencies-6.0.7.tgz", + "integrity": "sha512-4CRHX/P4upp0eNbs9Hab7vAFKgLKvmOzRkJscYnTfG0B7fhKtDXB9mniXB3KPzlgJ2Lvl3Mht8fOmQi3CW3V+Q==", "dev": true, "dependencies": { - "enhanced-resolve": "^5.7.0", - "globby": "^11.0.2", - "meriyah": "^4.1.2" + "enhanced-resolve": "^5.8.2", + "globby": "^11.0.4", + "meriyah": "^4.2.0" } }, "node_modules/resolve-from": { @@ -6450,9 +6444,9 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.6.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.1.tgz", - "integrity": "sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==", + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -6498,12 +6492,6 @@ "node": ">= 0.8.0" } }, - "node_modules/tar-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "node_modules/tar-stream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -7252,9 +7240,9 @@ "dev": true }, "@eslint/eslintrc": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", - "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -7390,8 +7378,8 @@ } }, "@the-bds-maneger/fetchsync": { - "version": "git+ssh://git@github.com/The-Bds-Maneger/fetchSync.git#2b8d59de7ca59ac1682e60c73ae7c608b0e4011b", - "from": "@the-bds-maneger/fetchsync@https://github.com/The-Bds-Maneger/fetchSync.git", + "version": "git+ssh://git@github.com/The-Bds-Maneger/fetchSync.git#c4af0cae45f434250dd7d2b0617395b5001371df", + "from": "@the-bds-maneger/fetchsync@github:The-Bds-Maneger/fetchSync", "requires": { "node-fetch": "^2.6.1" } @@ -7442,9 +7430,9 @@ } }, "@types/node": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.2.tgz", - "integrity": "sha512-jJs9ErFLP403I+hMLGnqDRWT0RYKSvArxuBVh2veudHV7ifEC1WAmjJADacZ7mRbA2nWgHtn8xyECMAot0SkAw==" + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz", + "integrity": "sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==" }, "@types/node-fetch": { "version": "2.5.11", @@ -7757,12 +7745,6 @@ "safe-buffer": "^5.1.1" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -8737,13 +8719,13 @@ "dev": true }, "eslint": { - "version": "7.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", - "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "version": "7.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz", + "integrity": "sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.2", + "@eslint/eslintrc": "^0.4.3", "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -9178,12 +9160,6 @@ "readable-stream": "^2.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -9743,6 +9719,12 @@ "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", "dev": true }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -11848,14 +11830,14 @@ "dev": true }, "resolve-dependencies": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/resolve-dependencies/-/resolve-dependencies-6.0.6.tgz", - "integrity": "sha512-8amTjN9uqfNrZkeXCRB7vTSWNNPAI1S1TSaHnlvlFktIv4sZaNHo+NA9w3b5UZELfAgVm9O8PLTj7ZVdIu80Qg==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/resolve-dependencies/-/resolve-dependencies-6.0.7.tgz", + "integrity": "sha512-4CRHX/P4upp0eNbs9Hab7vAFKgLKvmOzRkJscYnTfG0B7fhKtDXB9mniXB3KPzlgJ2Lvl3Mht8fOmQi3CW3V+Q==", "dev": true, "requires": { - "enhanced-resolve": "^5.7.0", - "globby": "^11.0.2", - "meriyah": "^4.1.2" + "enhanced-resolve": "^5.8.2", + "globby": "^11.0.4", + "meriyah": "^4.2.0" } }, "resolve-from": { @@ -12205,9 +12187,9 @@ }, "dependencies": { "ajv": { - "version": "8.6.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.1.tgz", - "integrity": "sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==", + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -12245,12 +12227,6 @@ "xtend": "^4.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", diff --git a/rest/api.js b/rest/api.js index 0b6fe59..439f75f 100644 --- a/rest/api.js +++ b/rest/api.js @@ -12,7 +12,7 @@ const { GetPlatform, GetServerVersion, GetPaths, UpdatePlatform, bds_dir } = req const admzip = require("adm-zip"); const pretty = require("express-prettify"); const latest_log = resolve(GetPaths("log"), "latest.log") -const docs = require("../extra.json").docs; +const docs = require("../BdsManegerInfo.json").docs; const { CheckPlayer, token_verify } = require("../scripts/check"); function api(port_api = 1932){ diff --git a/scripts/download.js b/scripts/download.js index 013332a..6b923a1 100644 --- a/scripts/download.js +++ b/scripts/download.js @@ -6,8 +6,7 @@ const { valid_platform } = require("../lib/BdsSystemInfo"); const { GetServerPaths, GetServerVersion, UpdateServerVersion, GetPlatform } = require("../lib/BdsSettings"); const { GitClone } = require("../lib/git_simples"); const { execSync } = require("child_process"); -const fetchSync = require("@the-bds-maneger/fetchsync") -const Extra = require("../extra.json"); +const Extra = require("../BdsManegerInfo.json"); const bds_dir_bedrock = GetServerPaths("bedrock"), @@ -15,8 +14,8 @@ const bds_dir_pocketmine = GetServerPaths("pocketmine"), bds_dir_jsprismarine = GetServerPaths("jsprismarine"); -module.exports = function (version, force_install, callback) { - const Servers = fetchSync(Extra.download.servers).json(), PHPBin = fetchSync(Extra.download.php).json() +module.exports = async function (version, force_install, callback) { + const Servers = (await (await fetch(Extra.download.servers)).json()), PHPBin = (await (await fetch(Extra.download.php)).json()); const ServerVersion = GetServerVersion() const CurrentPlatform = GetPlatform() if (force_install === true) { @@ -25,7 +24,7 @@ module.exports = function (version, force_install, callback) { ServerVersion.pocketmine = "latest" } if (!(version) || version === true || version === "true" || version === "latest") version = Servers.latest[CurrentPlatform] - var url, response; + var url; console.log(`Installing version ${version}`); // Bedrock Installer Script @@ -43,9 +42,11 @@ module.exports = function (version, force_install, callback) { if (existsSync(join(bds_dir_bedrock, "server.properties"))) server_configs = readFileSync(join(bds_dir_bedrock, "server.properties"), "utf8"); if (existsSync(join(bds_dir_bedrock, "permissions.json"))) permissions = readFileSync(join(bds_dir_bedrock, "permissions.json"), "utf8"); if (existsSync(join(bds_dir_bedrock, "whitelist.json"))) whitelist = readFileSync(join(bds_dir_bedrock, "whitelist.json"), "utf8"); - fetchSync(url, {}, true).Buffer; + + // Download and Add to Adm_Zip + const zip = new AdmZip(Buffer.from((await (await fetch(url)).arrayBuffer()))) console.log("Download Sucess") - const zip = new AdmZip(response) + zip.extractAllTo(bds_dir_bedrock, true) console.log("Extract Sucess") if (server_configs) writeFileSync(join(bds_dir_bedrock, "server.properties"), server_configs); @@ -68,10 +69,9 @@ module.exports = function (version, force_install, callback) { } else { url = Servers.java[version].url console.log(`Server data publish: ${Servers.java[version].data}`) - response = fetchSync(url, {}, true).Buffer - console.log("Download Sucess") - writeFileSync(join(bds_dir_java, "MinecraftServerJava.jar"), response, "binary") - console.log("Save sucess"); + + writeFileSync(join(bds_dir_java, "MinecraftServerJava.jar"), Buffer.from((await (await fetch(url)).arrayBuffer())), "binary") + console.log("Success when downloading and saving Minecraft Server java"); UpdateServerVersion(version); if (typeof callback === "function") callback(true); return true @@ -89,20 +89,19 @@ module.exports = function (version, force_install, callback) { } else { const PocketMineJson = Servers.pocketmine[version] console.log(`Server data publish: ${PocketMineJson.data}`); - response = fetchSync(PocketMineJson.url, {}, true).Buffer; - console.log("Success when downloading php from PocketMine-MP"); - // Write php file - writeFileSync(join(bds_dir_pocketmine, "PocketMine-MP.phar"), response, "binary") - + + writeFileSync(join(bds_dir_pocketmine, "PocketMine-MP.phar"), Buffer.from((await (await fetch(PocketMineJson.url)).arrayBuffer())), "binary") + console.log("Success downloading and saving PocketMine-MP php"); + // Check PHP binary var urlPHPBin; /* Check System php */try {urlPHPBin = PHPBin[process.platform][bds.arch]} catch (error) {throw new Error("unsupported system")} console.log("Downloading PHP Binaries"); - // Fetch Files - const php = fetchSync(urlPHPBin, {}, true); - const zipExtractBin = new AdmZip(php); - // Extract bin + // Get PHP bin File and extract + const zipExtractBin = new AdmZip(Buffer.from((await (await fetch(urlPHPBin)).arrayBuffer()))); + zipExtractBin.extractAllTo(bds_dir_pocketmine, true) console.log("Successfully extracting the binaries") + // Check Configs and others const phpFolder = resolve(bds_dir_pocketmine, "bin") const phpConfigInit = readFileSync(join(phpFolder, "php7", "bin", "php.ini"), "utf-8").split(/\n/g).filter(a=>a.trim());