CLI Color and Modifications actions relelases #163

Merged
Sirherobrine23 merged 6 commits from main into main 2021-08-20 02:56:15 +00:00
3 changed files with 957 additions and 957 deletions
Showing only changes of commit 868ef26136 - Show all commits

1
.gitignore vendored
View File

@ -12,6 +12,7 @@ node_modules/
Bds_Maneger
.dccache
docs/
the-bds-maneger-core-*.tgz
# Bds Maneger Core Binaries
bds_maneger

View File

@ -1,6 +1,14 @@
# Log
*.log
# Develop files
.devcontainer/
.vscode/
.Build/
# Linters
.eslint*
# test files
*.test
*test*.js*
@ -12,5 +20,8 @@ git*
.git*
# Docker
.dockerignore
Docker*
.docker*
Docker*
# Npm
the-bds-maneger-core*.tgz

View File

@ -8,10 +8,39 @@
"temp_host": {
"url": "http://hosts.bdsmaneger.com:3020"
},
"download": {
"Fetchs": {
"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"
},
"IgnoreLog": {
"bedrock": [
{
"value": "Running AutoCompaction",
"regex": true
}
],
"java": [],
"pocketmine": [],
"spigot": []
},
"StartedServer": {
"bedrock": {
"value": "Server started",
"regex": true
},
"java": {
"value": null,
"regex": false
},
"pocketmine": {
"value": null,
"regex": false
},
"spigot": {
"value": null,
"regex": false
}
},
"Servers": {
"bedrock": {
"stop": "stop",

View File

@ -4,7 +4,7 @@ tag: bdsmaneger/core:dev
target: bdscore
buildx:
enable: false
platform: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
platform: linux/amd64,linux/arm/v7,linux/arm64
# Docker Run envs
env:
@ -47,5 +47,6 @@ ports:
# More options
options:
build: []
run: []
run:
- "-v $(pwd)/Test:/root/bds_core"
runArgv: []

View File

@ -15,17 +15,6 @@ FROM bdsbase AS bdscore
# Create Volume to Storage Server And Config
VOLUME [ "/root/bds_core" ]
# Copy Bds Maneger Core
WORKDIR /opt/backend_core_scripts/
# Install Core dependencies
COPY package*.json ./
RUN npm install
# Copy BdsManger Core
COPY ./ ./
RUN chmod a+x -v bin/*
# Set default ENVs to Bds Core
ENV PLAYERS="5" \
WORLD_NAME="The Ultimate Server" \
@ -40,5 +29,16 @@ ENV PLAYERS="5" \
# Bds Maneger Core required ports
EXPOSE 19132/udp 19133/udp 1932/tcp
# Copy Bds Maneger Core
WORKDIR /opt/backend_core_scripts/
# Install Core dependencies
COPY package*.json ./
RUN npm install
# Copy BdsManger Core
COPY ./ ./
RUN chmod a+x -v bin/*
# Set Entrypint
ENTRYPOINT [ "node", "./bin/Docker.js" ]

View File

@ -1,16 +1,23 @@
# Bds Maneger Core
Create manage a server for Minecraft Bedrock, java and derivatives with an integration in NodeJs in which we deliver a versatile REST API for integration with large projects up to independent projects.
Bds Maneger Core is a javascript core in Nodejs that manages several types of server seftware for Minecraft Bedrock and Java. Bds Maneger Core has integrated with a REST API with full integration with Bds Maneger Core in addition to CLI and One bot versions for the telegram.
Any contribution is welcome, but before a look at [CONTRIBUTING.md](CONTRIBUTING.md), [Bds Manager Core code of conduct](CODE_OF_CONDUCT.md)
## More important information for users before 1.10.0+
## Requirements for Bds Maneger Core
In Version 1.11.0 there was a big change in the way to get the new settings and that left a good part of the program broken, so for those who are going to upgrade to the latest versions of Bds maneger Core will have to change the settings manually.
### All
* [Nodejs 14+](https://nodejs.org/en/download/)
* [OpenJDK 16+](https://www.oracle.com/java/technologies/javase-jdk16-downloads.html)
### Windows 10+
* [Microsoft Visual Studio C++ (The Bds Maneger Documentation)](<https://docs.bdsmaneger.com/docs/Bds Maneger core/WindowsFixDll/#windows-server>)
## Documentation
We have a separate repository for all Bds Maneger Project documentation, <a href="https://docs.bdsmaneger.com/Bds Maneger core" target="_blank">link here from the main page</a>, <a href="https://github.com/The-Bds-Maneger/Bds-Manager-Project-Documentation" target="_blank">Repository link</a>
We have a separate repository for all Bds Maneger Project documentation, [link here from the main page](<https://docs.bdsmaneger.com/Bds Maneger core>), [Repository link](https://github.com/The-Bds-Maneger/Bds-Manager-Project-Documentation)
## Badges
@ -19,50 +26,65 @@ We have a separate repository for all Bds Maneger Project documentation, <a href
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/Bds-Maneger/bds_maneger_api.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Bds-Maneger/bds_maneger_api/context:javascript)
[![DeepScan grade](https://deepscan.io/api/teams/13683/projects/16691/branches/363172/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=13683&pid=16691&bid=363172)
## Start our Docker image, making everything easier
## Start Bds Maneger Core with npx
Windows:
### CLI
All options can be found in the bds maneger core documentation.
`npx --package=@the-bds-maneger/core@latest bds_maneger -sk`
### Telegram Bot
`npx --package=@the-bds-maneger/core@latest bds_telegram`
## Install Bds Maneger Core globally
The commands available after installation:
* bds_maneger
* bds_telegram
`npm i -g @the-bds-maneger/core@latest`
## Launch Bds Maneger Core with a docker image
### Windows
```cmd
$ docker run --rm -d --name BdsManegerCore -v BdsCore:/home/bds/bds_core ^
--restart=always ^
-p 19132:19132/udp -p 19133:19133/udp -p 1932:1932/tcp ^
-e TELEGRAM_TOKEN="null" ^
docker run --rm -d --name BdsManegerCore -v BdsCore:/home/bds/bds_core ^
--restart=always -p 19132:19132/udp -p 19133:19133/udp -p 1932:1932/tcp ^
-e DESCRIPTION="running Minecraft Bedrock Server on the docker by Bds Manager" ^
-e WORLD_NAME="Bds Maneger Docker" ^
-e GAMEMODE="survival" ^
-e DIFFICULTY="normal" ^
-e XBOX_ACCOUNT="false" ^
-e ACCOUNT="false" ^
-e PLAYERS="13" ^
-e SERVER="bedrock" ^
-e ENABLE_COMMANDS="false" ^
bdsmaneger/core:latest
```
Linux/MacOS:
### Linux/MacOS
```bash
$ docker run --rm -d --name BdsManegerCore -v BdsCore/:/home/bds/bds_core \
--restart=always \
-p 19132:19132/udp -p 19133:19133/udp -p 1932:1932/tcp \
-e TELEGRAM_TOKEN="null" \
docker run --rm -d --name BdsManegerCore -v BdsCore/:/home/bds/bds_core \
--restart=always -p 19132:19132/udp -p 19133:19133/udp -p 1932:1932/tcp \
-e DESCRIPTION="running Minecraft Bedrock Server on the docker by Bds Manager" \
-e WORLD_NAME="Bds Maneger Docker" \
-e GAMEMODE="survival" \
-e DIFFICULTY="normal" \
-e XBOX_ACCOUNT="false" \
-e ACCOUNT="false" \
-e PLAYERS="13" \
-e SERVER="bedrock" \
-e ENABLE_COMMANDS="false"
-e ENABLE_COMMANDS="false" \
bdsmaneger/core:latest
```
## We also have some Implementation Models for Azure
## Azure Container and Azure VM
### Microsoft Azure Virtual machine
We've separate the repository for azure deploy templates, [go here](https://github.com/The-Bds-Maneger/Azure#azure-deploys) if you want to deploy to azure.
Here we have a virtual machine totally dedicated to Bds Maneger Core, it still uses Docker to deploy Docker images.
## Oracle Cloud
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FThe-Bds-Maneger%2FAzure_VMs%2Fmain%2Fdeploy.json)
More Information Access the repository: [Azure VMs](https://github.com/The-Bds-Maneger/Azure_VMs)
soon!

View File

@ -1,11 +1,23 @@
#!/usr/bin/env node
process.env.BDS_DOCKER_IMAGE = true;
const path = require("path");
const fs = require("fs");
const BdsCore = require("../index");
const { GetPlatform } = require("../lib/BdsSettings");
const { Servers } = require("../lib/ServerURL");
const { GetPlatform, bds_dir } = require("../lib/BdsSettings");
const { CronJob } = require("cron");
const BdsInfo = require("../BdsManegerInfo.json");
process.env.BDS_DOCKER_IMAGE = true;
// Get Current Tokens and Show in the console
function ShowToken() {
const TokenFilePath = path.join(bds_dir, "bds_tokens.json");
let Tokens = 1
if (fs.existsSync(TokenFilePath)) {
[...JSON.parse(fs.readFileSync(TokenFilePath, "utf8"))].slice(0, 5).forEach(token => {console.log(Tokens+":", "Bds API Token:", token.token); Tokens++});
} else {
console.log("No Tokens Found");
}
}
function StartServer(){
console.log("The entire log can be accessed via the api and/or the docker log");
@ -13,32 +25,35 @@ function StartServer(){
ServerStarted.log(a => process.stdout.write(a));
ServerStarted.exit(process.exit);
BdsCore.api();
new CronJob("0 */1 * * *", async () => {
try {
const CurrentLocalVersion = BdsCore.getBdsConfig().server.versions[GetPlatform()],
CurrentRemoteVersion = Object.getOwnPropertyNames((await (await fetch(BdsInfo.download.servers)).json())[GetPlatform()])[0];
if (CurrentLocalVersion !== CurrentRemoteVersion) {
let currenttime = `Hello we are starting the server upgrade from version ${CurrentLocalVersion} to version ${CurrentRemoteVersion}, you have 20 seconds to exit the server`
console.log("Update Server:", currenttime);
ServerStarted.say(currenttime);
let countdown = 20;
while (countdown > 1) {
currenttime = `${countdown} seconds remaining to stop Server!`;
ShowToken();
if (process.env.UPDATE_SERVER === "true") {
new CronJob("0 */1 * * *", async () => {
try {
const CurrentLocalVersion = BdsCore.getBdsConfig().server.versions[GetPlatform()],
CurrentRemoteVersion = Object.getOwnPropertyNames((await (await fetch(BdsInfo.Fetchs.servers)).json())[GetPlatform()])[0];
if (CurrentLocalVersion !== CurrentRemoteVersion) {
let currenttime = `Hello we are starting the server upgrade from version ${CurrentLocalVersion} to version ${CurrentRemoteVersion}, you have 20 seconds to exit the server`
console.log("Update Server:", currenttime);
ServerStarted.say(currenttime);
let countdown = 20;
while (countdown > 1) {
currenttime = `${countdown} seconds remaining to stop Server!`;
console.log(currenttime);
ServerStarted.say(currenttime);
countdown--;
await new Promise(resolve => setTimeout(resolve, 1000));
}
currenttime = "Stopping the server"
console.log(currenttime);
ServerStarted.say(currenttime);
countdown--;
await new Promise(resolve => setTimeout(resolve, 1000));
await new Promise(resolve => setTimeout(resolve, 600));
ServerStarted.stop();
}
currenttime = "Stopping the server"
console.log(currenttime);
ServerStarted.say(currenttime);
await new Promise(resolve => setTimeout(resolve, 600));
ServerStarted.stop();
} catch (err) {
console.log(err);
}
} catch (err) {
console.log(err);
}
});
});
}
}
// Check Installed Server
@ -53,22 +68,24 @@ if (Object.getOwnPropertyNames(AllVersions).filter(platform => AllVersions[platf
StartServer();
});
} else {
// Check for Update
if (AllVersions[GetPlatform()] === Object.getOwnPropertyNames(Servers[GetPlatform()])[0]) {
console.log("The entire log can be accessed via the api and/or the docker log");
const ServerStarted = BdsCore.start();
ServerStarted.log(a => process.stdout.write(a));
ServerStarted.exit(process.exit);
BdsCore.api();
} else {
BdsCore.download(true, true, (err) => {
if (err) {
console.log(err);
process.exit(1);
}
StartServer();
});
}
(async () => {
// Check for Update
if (AllVersions[GetPlatform()] === Object.getOwnPropertyNames((await (await fetch(BdsInfo.Fetchs.servers)).json())[GetPlatform()])[0]) {
console.log("The entire log can be accessed via the api and/or the docker log");
const ServerStarted = BdsCore.start();
ServerStarted.log(a => process.stdout.write(a));
ServerStarted.exit(process.exit);
BdsCore.api();
} else {
BdsCore.download(true, true, (err) => {
if (err) {
console.log(err);
process.exit(1);
}
StartServer();
});
}
})();
}
} else {
console.log("Server is not installed, starting server implementation");
@ -94,6 +111,7 @@ if (Object.getOwnPropertyNames(AllVersions).filter(platform => AllVersions[platf
port: 19132,
portv6: 19133,
}
BdsCore.bds_maneger_token_register(["admin"]);
BdsCore.set_config(ServerConfig);
StartServer();
});

View File

@ -8,10 +8,11 @@ const argv = require("minimist")(process.argv.slice(2));
if (Object.getOwnPropertyNames(argv).length <= 1) argv.help = true
const bds = require("../index");
const { valid_platform } = require("../lib/BdsSystemInfo");
const SystemInfo = require("../lib/BdsSystemInfo");
const { bds_dir, GetServerVersion, GetPlatform, UpdatePlatform, GetServerPaths, GetPaths } = require("../lib/BdsSettings");
const commandExits = require("../lib/commandExist");
const download = require("../src/BdsServersDownload");
const BdsConfigAndInfo = require("../BdsManegerInfo.json");
// Options
const
@ -32,8 +33,8 @@ if (kill) bds.kill();
// Set Bds Platform
if (server) UpdatePlatform(server);
function StartServer(){
const { Servers } = require("../lib/ServerURL");
async function StartServer(){
const Servers = (await (await fetch(BdsConfigAndInfo.Fetchs.servers)).json());
// Check Server Update
if (Versions[GetPlatform()] !== null) {
if (Versions[GetPlatform()] !== Servers.latest[GetPlatform()]) {
@ -143,10 +144,10 @@ if (SystemCheck) {
"*",
"**************************************************************",
"* Servers currently available:",
`* - Bedrock: ${valid_platform.bedrock}`,
`* - Java: ${valid_platform.java}`,
`* - Pocketmine-MP: ${valid_platform.pocketmine}`,
`* - JSPrismarine: ${valid_platform.jsprismarine}`,
`* - Bedrock: ${SystemInfo.valid_platform.bedrock}`,
`* - Java: ${SystemInfo.valid_platform.java}`,
`* - Pocketmine-MP: ${SystemInfo.valid_platform.pocketmine}`,
`* - JSPrismarine: ${SystemInfo.valid_platform.jsprismarine}`,
"*",
"**************************************************************"
];
@ -156,38 +157,39 @@ if (SystemCheck) {
// Download server
if (bds_version){
try {
if (argv.interactive) {
const LoadVersion = require("../lib/ServerURL").Servers[GetPlatform()]
const Version = Object.getOwnPropertyNames(LoadVersion)
const StartQuestion = (Readline) => {
Readline.question("Select a version to download: ", input => {
if (Version[parseInt(input) - 1]) {
Readline.close();
download(Version[parseInt(input) - 1], true, function(){
if (start) return StartServer();
console.log("Installation was successful, so start the server with the -s option");
process.exit(0);
})
} else {
console.log("Invalid Option");
StartQuestion(Readline);
}
});
(async () => {
try {
if (argv.interactive) {
const LoadVersion = (await (await fetch(BdsConfigAndInfo.Fetchs.servers)).json())[GetPlatform()]
const Version = Object.getOwnPropertyNames(LoadVersion)
const StartQuestion = (Readline) => {
Readline.question("Select a version to download: ", input => {
if (Version[parseInt(input) - 1]) {
Readline.close();
download(Version[parseInt(input) - 1], true, function(){
if (start) return StartServer();
console.log("Installation was successful, so start the server with the -s option");
process.exit(0);
})
} else {
console.log("Invalid Option");
StartQuestion(Readline);
}
});
}
console.log(`Selected platform: ${GetPlatform()}, Total available versions: ${Version.length}`);
console.log("Option Version");
for (let option in Version) console.log(`${parseInt(option) + 1} -------- ${Version[option]}`);
StartQuestion(readline.createInterface({input: process.stdin,output: process.stdout}));
}
console.log(`Selected platform: ${GetPlatform()}, Total available versions: ${Version.length}`);
console.log("Option Version");
for (let option in Version) console.log(`${parseInt(option) + 1} -------- ${Version[option]}`);
StartQuestion(readline.createInterface({input: process.stdin,output: process.stdout}));
}
else bds.download(bds_version, true, function(){
if (start) StartServer();
})
}
catch (error) {console.error(error);process.exit(165);}
else bds.download(bds_version, true, function(){
if (start) StartServer();
})
} catch (error) {console.error(error);process.exit(165);}
})();
}
// Start server

View File

@ -1,11 +1,12 @@
#!/usr/bin/env node
const fs = require("fs");
const { Telegraf, Markup } = require("telegraf");
const bds = require("../index");
const { GetPlatform, GetPaths, GetTelegramToken } = require("../lib/BdsSettings");
const { GetKernel, arch, system } = require("../lib/BdsSystemInfo");
const { Detect } = require("../src/CheckKill");
const { Servers } = require("../lib/ServerURL");
const { CheckTelegramUser } = require("../src/UsersAndtokenChecks")
const { CheckTelegramUser } = require("../src/UsersAndtokenChecks");
const BdsInfo = require("../BdsManegerInfo.json");
// Bot Start And Help messages
const HelpAndStart = [
@ -203,7 +204,7 @@ bot.command("download", async ctx => {
ctx.reply(`Sucess install ${GetPlatform()} with version ${version}`);
} else {
await ctx.deleteMessage();
const KeyboardVersion = Markup.keyboard(Object.getOwnPropertyNames(Servers[GetPlatform()]).map(version => {
const KeyboardVersion = Markup.keyboard(Object.getOwnPropertyNames((await (await fetch(BdsInfo.Fetchs.servers)).json())[GetPlatform()]).map(version => {
return {
text: `/download ${version}`
}

View File

@ -2,10 +2,7 @@ const { join, resolve, basename } = require("path");
const { existsSync, writeFileSync, mkdirSync, readFileSync } = require("fs");
const { homedir } = require("os");
const { valid_platform } = require("./BdsSystemInfo");
const yaml = {
parse: require("js-yaml").load,
stringify: require("js-yaml").dump
}
const yaml = require("js-yaml");
// PATHs
const home = homedir();
@ -34,6 +31,7 @@ var Config = {
platform: default_platformConfig,
BackupCron: [
{
enabled: false,
cron: "0 1 * * */3",
Azure: false,
Oracle: false,
@ -71,7 +69,6 @@ var Config = {
ban: [
{
username: "Steve",
telegram: true,
bedrock: true,
java: true,
pocketmine: true,
@ -80,7 +77,6 @@ var Config = {
},
{
username: "Alex",
telegram: true,
bedrock: true,
java: true,
pocketmine: true,
@ -89,7 +85,6 @@ var Config = {
},
{
username: "steve",
telegram: true,
bedrock: true,
java: true,
pocketmine: true,
@ -98,7 +93,6 @@ var Config = {
},
{
username: "alex",
telegram: true,
bedrock: true,
java: true,
pocketmine: true,
@ -108,17 +102,18 @@ var Config = {
],
telegram: {
admins: ["all_users"],
ban: ["Steve_mine_mine"],
token: null
}
}
// Config
const ConfigPath = join(resolve(homedir(), "bds_core"), "BdsConfig.yaml")
function SaveConfig(){writeFileSync(ConfigPath, yaml.stringify(Config));}
function SaveConfig(){writeFileSync(ConfigPath, yaml.dump(Config));}
if (existsSync(ConfigPath)) Config = {
...Config,
...yaml.parse(readFileSync(ConfigPath, "utf8"))
}; else writeFileSync(ConfigPath, yaml.stringify(Config))
...yaml.load(readFileSync(ConfigPath, "utf8"))
}; else writeFileSync(ConfigPath, yaml.dump(Config))
process.on("exit", () => SaveConfig())
// Paths
@ -131,7 +126,6 @@ const ServersPaths = {
bedrock: join(Config.paths.servers, "Bedrock"),
java: join(Config.paths.servers, "Java"),
pocketmine: join(Config.paths.servers, "Pocketmine-MP"),
jsprismarine: join(Config.paths.servers, "JSPrismarine"),
dragonfly: join(Config.paths.servers, "Dragonfly_go"),
spigot: join(Config.paths.servers, "Spigot")
}
@ -181,9 +175,6 @@ function UpdatePlatform(platform = Config.server.platform){
} else if (/spigot/.test(platform)) {
Config.server.platform = "spigot";
SaveConfig()
} else if (/jsprismarine/.test(platform)) {
Config.server.platform = "jsprismarine";
SaveConfig()
} else throw new Error("platform no Exists")
return platform
}

View File

@ -2,7 +2,11 @@ const { execSync } = require("child_process");
const { release } = require("os");
const { readdirSync } = require("fs");
const commadExist = require("./commandExist");
const { PHPBin, Servers } = require("./ServerURL");
const fetchSync = require("@the-bds-maneger/fetchsync");
// Load JSON for Server and PHP Zip files
const PHPBin = fetchSync("https://raw.githubusercontent.com/The-Bds-Maneger/Php_Static_Binary/main/binarys.json").json(),
Servers = fetchSync("https://raw.githubusercontent.com/The-Bds-Maneger/external_files/main/Server.json").json();
// System Architect (x64, aarch64 and others)
var arch;

View File

@ -1,5 +0,0 @@
const fetchSync = require("@the-bds-maneger/fetchsync");
module.exports = {
Servers: fetchSync("https://raw.githubusercontent.com/The-Bds-Maneger/external_files/main/Server.json").json(),
PHPBin: fetchSync("https://raw.githubusercontent.com/The-Bds-Maneger/Php_Static_Binary/main/binarys.json").json()
}

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "@the-bds-maneger/core",
"version": "1.13.4",
"version": "1.13.5",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@the-bds-maneger/core",
"version": "1.13.4",
"version": "1.13.5",
"license": "AGPL-3.0-or-later",
"dependencies": {
"@azure/storage-blob": "^12.6.0",

View File

@ -19,8 +19,8 @@
"Docker": "node .Build/DockerImage.js"
},
"bin": {
"bds_maneger": "./bin/bds_maneger.js",
"bds_telegram": "./bin/telegram_bot.js"
"bds_maneger": "bin/bds_maneger.js",
"bds_telegram": "bin/telegram_bot.js"
},
"repository": {
"type": "git",

View File

@ -22,7 +22,9 @@ function start() {
command: String,
args: [],
cwd: String,
env: process.env,
env: {
...process.env
},
}
// Minecraft Bedrock Oficial
@ -85,11 +87,17 @@ function start() {
// Post Start
if (GetPlatform() === "java") {
const eula_file = path.join(GetServerPaths("java"), "eula.txt");
console.log(fs.readFileSync(eula_file, "utf8"));
if (fs.readFileSync(eula_file, "utf8").includes("eula=false")) {
fs.writeFileSync(eula_file, fs.readFileSync(eula_file, "utf8").replaceAll("eula=false", "eula=true"));
throw new Error("Restart application/CLI")
const eula_file_path = path.join(GetServerPaths("java"), "eula.txt");
if (fs.existsSync(eula_file_path)) {
const eula_file = fs.readFileSync(eula_file_path, "utf8");
console.log(eula_file);
if (eula_file.includes("eula=false")) {
fs.writeFileSync(eula_file_path, eula_file.replace(/eula=false/gi, "eula=true"));
throw new Error("Restart application/CLI")
}
} else {
console.log("EULA file not found");
throw new Error("EULA file not found")
}
}

View File

@ -18,14 +18,9 @@ module.exports = async function (version, force_install, callback) {
bds_dir_dragonfly = GetServerPaths("dragonfly");
// JSON Configs and others
const Servers = (await (await fetch(Extra.download.servers)).json());
const Servers = (await (await fetch(Extra.Fetchs.servers)).json());
const ServerVersion = GetServerVersion();
const CurrentPlatform = GetPlatform();
if (force_install === true) {
ServerVersion.java = "latest";
ServerVersion.bedrock = "latest"
ServerVersion.pocketmine = "latest"
}
if (!(version) || version === true || version === "true" || version === "latest") version = Servers.latest[CurrentPlatform]
var url;
@ -152,7 +147,7 @@ module.exports = async function (version, force_install, callback) {
async function php_download() {
const bds_dir_pocketmine = GetServerPaths("pocketmine");
const PHPBin = (await (await fetch(Extra.download.php)).json());
const PHPBin = (await (await fetch(Extra.Fetchs.php)).json());
const phpFolder = resolve(bds_dir_pocketmine, "bin");
const phpExtensiosnsDir = resolve(bds_dir_pocketmine, "bin/php7/lib/php/extensions");