- Fixed bug where first-run detection was checked in a bad way, which
potentionally caused missing critical data
- Updated to pogo-asset-downloader v0.2.3
This commit is contained in:
Felix 2016-08-20 14:18:59 +02:00
parent 8b61647a6d
commit 2b0ef8281c
4 changed files with 18 additions and 9 deletions

3
cfg.js
View File

@ -44,6 +44,7 @@ export default {
TICK_INTERVAL: 1,
BOOT_TIMEOUT: 10000,
// Currently supported pokemon
MAX_POKEMON_NATIONAL_ID: 151
MAX_POKEMON_NATIONAL_ID: 151,
DUMP_ASSET_PATH: "data/"
}

View File

@ -26,7 +26,7 @@
"mysql": "^2.11.1",
"jwt-decode": "^2.1.0",
"long": "^3.2.0",
"pogo-asset-downloader": "^0.2.2",
"pogo-asset-downloader": "^0.2.3",
"node-pogo-protos": "^1.3.0",
"pogo-decode": "^0.5.2",
"path": "^0.12.7",

View File

@ -192,17 +192,23 @@ class GameServer {
}
getLocalIPv4() {
let address = null;
let interfaces = os.networkInterfaces();
for (var dev in interfaces) {
interfaces[dev].filter((details) => details.family === "IPv4" && details.internal === false ? address = details.address: void 0);
};
return (address);
}
directoryExists(directory) {
try {
fs.statSync(directory);
return true;
} catch(e) {
return false;
}
}
greet() {
console.log(greetMessage);
}

View File

@ -7,7 +7,7 @@ import CFG from "../cfg";
export function setup() {
let isFirstRun = !!fse.ensureDirSync("data/");
let isFirstRun = !this.directoryExists(CFG.DUMP_ASSET_PATH);
if (isFirstRun) {
this.print("Preparing to dump required assets..", 36);
@ -37,7 +37,7 @@ export function setup() {
export function parseAssetDigest() {
let asset = null;
try {
asset = proto.Networking.Responses.GetAssetDigestResponse.decode(fs.readFileSync("data/asset_digest"));
asset = proto.Networking.Responses.GetAssetDigestResponse.decode(fs.readFileSync(CFG.DUMP_ASSET_PATH + "asset_digest"));
} catch (e) {
this.print(e, 31);
}
@ -51,7 +51,9 @@ export function onFirstRun(resolve) {
password: CFG.DOWNLOAD_PASSWORD
}).then((asset) => {
this.print(`Dumping asset digest..`, 35);
fs.writeFileSync("data/asset_digest", asset.toBuffer());
// create data dir, if login successed
fse.ensureDirSync(CFG.DUMP_ASSET_PATH);
fs.writeFileSync(CFG.DUMP_ASSET_PATH + "asset_digest", asset.toBuffer());
this.dumpPkmnModels(() => {
resolve();
});
@ -71,7 +73,7 @@ export function dumpPkmnModels(resolve) {
downloads.map((item) => {
this.print(`Dumping model ${item.name}..`, 35);
try {
fs.writeFileSync("data/" + item.name, item.body);
fs.writeFileSync(CFG.DUMP_ASSET_PATH + item.name, item.body);
}
catch (e) {
this.print(`Error while dumping model ${item.name}:` + e, 31);