mirror of
https://github.com/maierfelix/POGOserver.git
synced 2026-10-22 08:04:55 -05:00
Added mongodb, many updates & bug fixes
- Added mongodb database - Removed dumps - Added jwt google auth decode plugin - Added long decode plugin - Updated protos to latest commit - Updated readme - Added avatar saving - Fixed bug, where username, level and exp didnt got displayed - Default username is "undefined" - Clear console stdin - Save players into db stdin - Seperated login/register phase - Added decode long util method
This commit is contained in:
18
src/packets/Data.DownloadUrlEntry.js
Normal file
18
src/packets/Data.DownloadUrlEntry.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import proto from "../proto";
|
||||
|
||||
/**
|
||||
* @param {Object}
|
||||
* @return {Object}
|
||||
*/
|
||||
export default function DownloadUrlEntry(obj) {
|
||||
|
||||
return (
|
||||
new proto.Data.DownloadUrlEntry({
|
||||
url: obj.url,
|
||||
asset_id: obj.id,
|
||||
size: obj.size,
|
||||
checksum: obj.checksum
|
||||
})
|
||||
);
|
||||
|
||||
}
|
||||
@@ -11,7 +11,7 @@ export default function ResponseEnvelope(obj) {
|
||||
status_code: obj.status,
|
||||
unknown6: new proto.Networking.Envelopes.Unknown6Response({
|
||||
response_type: 6,
|
||||
response_data: new proto.Networking.Envelopes.Unknown6Response.Unknown2({
|
||||
unknown2: new proto.Networking.Envelopes.Unknown6Response.Unknown2({
|
||||
unknown1: 1
|
||||
})
|
||||
}),
|
||||
|
||||
@@ -26,7 +26,7 @@ export default function DownloadSettings(obj) {
|
||||
get_map_objects_min_refresh_seconds: 5,
|
||||
get_map_objects_max_refresh_seconds: 30,
|
||||
get_map_objects_min_distance_meters: 10,
|
||||
google_maps_api_key: "AIzaSyDF9rkP8lhcddBtvH9gVFzjnNo13WtmJIM"
|
||||
google_maps_api_key: CFG.SERVER_GMAPS_API_KEY
|
||||
}),
|
||||
inventory_settings: new proto.Settings.InventorySettings({
|
||||
max_pokemon: 1000,
|
||||
|
||||
25
src/packets/Responses.GetDownloadUrls.js
Normal file
25
src/packets/Responses.GetDownloadUrls.js
Normal file
@@ -0,0 +1,25 @@
|
||||
import proto from "../proto";
|
||||
|
||||
import DownloadUrlEntry from "./Data.DownloadUrlEntry";
|
||||
|
||||
/**
|
||||
* @return {Object}
|
||||
*/
|
||||
export default function GetDownloadUrls() {
|
||||
|
||||
let download_urls = [
|
||||
DownloadUrlEntry({
|
||||
url: "",
|
||||
asset_id: "",
|
||||
size: 0,
|
||||
checksum: 0
|
||||
})
|
||||
];
|
||||
|
||||
return (
|
||||
new proto.Networking.Responses.GetDownloadUrlsResponse({
|
||||
download_urls: download_urls
|
||||
}).encode()
|
||||
);
|
||||
|
||||
}
|
||||
@@ -10,37 +10,81 @@ export default function GetInventoryData(obj) {
|
||||
new proto.Networking.Responses.GetInventoryResponse({
|
||||
success: true,
|
||||
inventory_delta: new proto.Inventory.InventoryDelta({
|
||||
original_timestamp_ms: new Date().getTime * 1000,
|
||||
new_timestamp_ms: new Date().getTime * 1000,
|
||||
inventory_items: [
|
||||
// player stats
|
||||
new proto.Inventory.InventoryItem({
|
||||
inventory_item_data: new proto.Inventory.InventoryItemData({
|
||||
pokemon_data: new proto.Data.PokemonData({
|
||||
id: 123781297398,
|
||||
pokemon_id: 25,
|
||||
cp: 10000000000,
|
||||
is_egg: false,
|
||||
height_m: 100,
|
||||
weight_kg: 1,
|
||||
move_1: 219,
|
||||
move_2: 26,
|
||||
deployed_fort_id: 0,
|
||||
owner_name: "",
|
||||
origin: 0,
|
||||
individual_attack: 100,
|
||||
individual_defense: 100,
|
||||
individual_stamina: 100,
|
||||
cp_multiplier: 100,
|
||||
pokeball: 1,
|
||||
creation_time_ms: new Date().getTime() * 1000
|
||||
"player_stats": new proto.Data.Player.PlayerStats({
|
||||
"level": 99,
|
||||
"experience": 1304364,
|
||||
"prev_level_xp": 900000,
|
||||
"next_level_xp": 1350000,
|
||||
"km_walked": 54.55459213256836,
|
||||
"pokemons_encountered": 3942,
|
||||
"unique_pokedex_entries": 93,
|
||||
"pokemons_captured": 3569,
|
||||
"evolutions": 782,
|
||||
"poke_stop_visits": 3113,
|
||||
"pokeballs_thrown": 5783,
|
||||
"eggs_hatched": 27,
|
||||
"big_magikarp_caught": 11,
|
||||
"battle_attack_won": 36,
|
||||
"battle_attack_total": 44,
|
||||
"battle_defended_won": 0,
|
||||
"battle_training_won": 1,
|
||||
"battle_training_total": 2,
|
||||
"prestige_raised_total": 190,
|
||||
"prestige_dropped_total": 27000,
|
||||
"pokemon_deployed": 2,
|
||||
"small_rattata_caught": 79
|
||||
})
|
||||
})
|
||||
}),
|
||||
// pokedex entry
|
||||
new proto.Inventory.InventoryItem({
|
||||
inventory_item_data: new proto.Inventory.InventoryItemData({
|
||||
item: new proto.Inventory.Item({
|
||||
item_id: 4,
|
||||
count: 1000
|
||||
"pokedex_entry": new proto.Data.PokedexEntry({
|
||||
"pokemon_id": 147,
|
||||
"times_encountered": 7,
|
||||
"times_captured": 6,
|
||||
"evolution_stone_pieces": 0,
|
||||
"evolution_stones": 0
|
||||
})
|
||||
})
|
||||
}),
|
||||
// pokemon
|
||||
new proto.Inventory.InventoryItem({
|
||||
inventory_item_data: new proto.Inventory.InventoryItemData({
|
||||
"pokemon_data": new proto.Data.PokemonData({
|
||||
"id": 151,
|
||||
"pokemon_id": 151,
|
||||
"cp": 9454,
|
||||
"stamina": 53,
|
||||
"stamina_max": 53,
|
||||
"move_1": 221,
|
||||
"move_2": 80,
|
||||
"deployed_fort_id": "",
|
||||
"owner_name": "",
|
||||
"is_egg": false,
|
||||
"egg_km_walked_target": 0,
|
||||
"egg_km_walked_start": 0,
|
||||
"origin": 0,
|
||||
"height_m": 0.3461824357509613,
|
||||
"weight_kg": 2.0753486156463623,
|
||||
"individual_attack": 2,
|
||||
"individual_defense": 0,
|
||||
"individual_stamina": 9,
|
||||
"cp_multiplier": 0.5974000096321106,
|
||||
"pokeball": 2,
|
||||
"battles_attacked": 0,
|
||||
"battles_defended": 0,
|
||||
"egg_incubator_id": "",
|
||||
"creation_time_ms": new Date().getTime() * 1000,
|
||||
"num_upgrades": 0,
|
||||
"additional_cp_multiplier": 0,
|
||||
"favorite": 0,
|
||||
"nickname": "Ad°0lf_fH$TL3R",
|
||||
"from_fort": 0
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
52
src/packets/Responses.GetMapObjects.js
Normal file
52
src/packets/Responses.GetMapObjects.js
Normal file
@@ -0,0 +1,52 @@
|
||||
import proto from "../proto";
|
||||
|
||||
/**
|
||||
* @param {Request} request
|
||||
* @return {Object}
|
||||
*/
|
||||
export default function GetMapObjects(request) {
|
||||
|
||||
var cells = proto.Networking.Requests.Messages.GetMapObjectsMessage.decode(request.request_message.toBuffer()).cell_id;
|
||||
|
||||
var cellsRes = [];
|
||||
|
||||
cells.forEach((cell)=>{
|
||||
cellsRes.push(new proto.Map.MapCell({
|
||||
s2_cell_id: cell,
|
||||
current_timestamp_ms: new Date().getTime() * 1000,
|
||||
forts: [
|
||||
new proto.Map.Fort.FortData({
|
||||
id: "wuff",
|
||||
last_modified_timestamp_ms: new Date().getTime() * 1000,
|
||||
latitude: 39.1893730163574220,
|
||||
longitude: -96.5853271484375000,
|
||||
owned_by_team: 2,
|
||||
guard_pokemon_id: 150,
|
||||
guard_pokemon_cp: 2000,
|
||||
gym_points: 1000,
|
||||
is_in_battle: false,
|
||||
enabled: true,
|
||||
type: proto.Map.Fort.FortType.GYM,
|
||||
sponsor: proto.Map.Fort.FortSponsor.MCDONALDS,
|
||||
rendering_type: proto.Map.Fort.FortRenderingType.DEFAULT
|
||||
})
|
||||
],
|
||||
spawn_points: [ ],
|
||||
deleted_objects: [ ],
|
||||
is_truncated_list: false,
|
||||
fort_summaries: [ ],
|
||||
decimated_spawn_points: [ ],
|
||||
wild_pokemons: [ ],
|
||||
catchable_pokemons: [ ],
|
||||
nearby_pokemons: [ ]
|
||||
}));
|
||||
});
|
||||
|
||||
return (
|
||||
new proto.Networking.Responses.GetMapObjectsResponse({
|
||||
status: 1,
|
||||
map_cells: cellsRes
|
||||
}).encode()
|
||||
);
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ function getPlayerDataPacket(obj) {
|
||||
new proto.Data.PlayerData({
|
||||
creation_timestamp_ms: 1467936859925,
|
||||
username: obj.username,
|
||||
team: obj.team,
|
||||
team: proto.Enums.TeamColor.YELLOW,
|
||||
tutorial_state: obj.tutorial_state,
|
||||
avatar: new proto.Data.Player.PlayerAvatar(obj.avatar),
|
||||
max_pokemon_storage: 250,
|
||||
@@ -18,7 +18,6 @@ function getPlayerDataPacket(obj) {
|
||||
daily_bonus: new proto.Data.Player.DailyBonus({
|
||||
next_defender_bonus_collect_timestamp_ms: 1470174535972
|
||||
}),
|
||||
// equipped_badge: new proto.Data.Player.EquippedBadge({}),
|
||||
contact_settings: new proto.Data.Player.ContactSettings({
|
||||
send_marketing_emails: true
|
||||
}),
|
||||
@@ -40,17 +39,25 @@ function buildPlayerData(obj) {
|
||||
let pokecoins = obj.pokecoins;
|
||||
let stardust = obj.stardust;
|
||||
|
||||
let avatar = {
|
||||
skin: 2,
|
||||
let avatar = obj.avatar || {
|
||||
skin: 0,
|
||||
hair: 2,
|
||||
shirt: 1,
|
||||
pants: 2,
|
||||
hat: 1,
|
||||
hat: 0,
|
||||
shoes: 2,
|
||||
eyes: 3,
|
||||
gender: proto.Enums.Gender.MALE,
|
||||
backpack: 1
|
||||
};
|
||||
|
||||
let tutorial_state = [0, 1, 3, 4, 7];
|
||||
let tutorial_state = [
|
||||
proto.Enums.TutorialState.LEGAL_SCREEN,
|
||||
proto.Enums.TutorialState.AVATAR_SELECTION,
|
||||
proto.Enums.TutorialState.POKEMON_CAPTURE,
|
||||
proto.Enums.TutorialState.NAME_SELECTION,
|
||||
proto.Enums.TutorialState.FIRST_TIME_EXPERIENCE_COMPLETE
|
||||
];
|
||||
|
||||
let currencies = [
|
||||
new proto.Data.Player.Currency({
|
||||
@@ -87,7 +94,7 @@ export default function GetPlayer(obj) {
|
||||
new proto.Networking.Responses.GetPlayerResponse({
|
||||
success: true,
|
||||
player_data: packet
|
||||
}).encode()
|
||||
})
|
||||
);
|
||||
|
||||
}
|
||||
@@ -49,6 +49,7 @@ export default function ItemTemplates(obj) {
|
||||
"damage_window_end_ms": 3400,
|
||||
"energy_delta": -20
|
||||
}),
|
||||
// unused but saved here for later use
|
||||
move_sequence_settings: new proto.Settings.Master.MoveSequenceSettings({
|
||||
"sequence": ["anim attacker atk-move", "f2fvfx attacker acid_fast", "sfx attacker 051-0_acid", "wait 0.15", "vfx defender acid_fast_hit", "anim defender damageS01", "wait 0.35", "sys ui-sync", "sys complete"]
|
||||
}),
|
||||
|
||||
@@ -7,8 +7,11 @@ export GetInventory from "./Responses.GetInventory";
|
||||
export GetPlayer from "./Responses.GetPlayer";
|
||||
export GetPlayerProfile from "./Responses.GetPlayerProfile";
|
||||
|
||||
export GetMapObjects from "./Responses.GetMapObjects";
|
||||
|
||||
export ItemTemplates from "./Responses.ItemTemplates";
|
||||
export CheckAwardedBadges from "./Responses.CheckAwardedBadges";
|
||||
export GetDownloadUrls from "./Responses.GetDownloadUrls";
|
||||
|
||||
export AuthTicket from "./Envelopes.AuthTicket";
|
||||
export ResponseEnvelope from "./Envelopes.ResponseEnvelope";
|
||||
|
||||
Reference in New Issue
Block a user