fix: login failure on u25 & u26 #1967
@ -18,6 +18,7 @@ export const getAllianceController: RequestHandler = async (req, res) => {
 | 
				
			|||||||
    res.end();
 | 
					    res.end();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// POST request since U27
 | 
				
			||||||
/*interface IGetAllianceRequest {
 | 
					/*interface IGetAllianceRequest {
 | 
				
			||||||
    memberCount: number;
 | 
					    memberCount: number;
 | 
				
			||||||
    clanLeaderName: string;
 | 
					    clanLeaderName: string;
 | 
				
			||||||
 | 
				
			|||||||
@ -101,30 +101,36 @@ const createLoginResponse = (myAddress: string, account: IDatabaseAccountJson, b
 | 
				
			|||||||
        id: account.id,
 | 
					        id: account.id,
 | 
				
			||||||
        DisplayName: account.DisplayName,
 | 
					        DisplayName: account.DisplayName,
 | 
				
			||||||
        CountryCode: account.CountryCode,
 | 
					        CountryCode: account.CountryCode,
 | 
				
			||||||
        ForceLogoutVersion: account.ForceLogoutVersion,
 | 
					 | 
				
			||||||
        AmazonAuthToken: account.AmazonAuthToken,
 | 
					        AmazonAuthToken: account.AmazonAuthToken,
 | 
				
			||||||
        AmazonRefreshToken: account.AmazonRefreshToken,
 | 
					        AmazonRefreshToken: account.AmazonRefreshToken,
 | 
				
			||||||
        ConsentNeeded: account.ConsentNeeded,
 | 
					        ConsentNeeded: account.ConsentNeeded,
 | 
				
			||||||
        TrackedSettings: account.TrackedSettings,
 | 
					        TrackedSettings: account.TrackedSettings,
 | 
				
			||||||
        Nonce: account.Nonce,
 | 
					        Nonce: account.Nonce,
 | 
				
			||||||
        Groups: [],
 | 
					 | 
				
			||||||
        IRC: config.myIrcAddresses ?? [myAddress],
 | 
					        IRC: config.myIrcAddresses ?? [myAddress],
 | 
				
			||||||
        NRS: config.NRS,
 | 
					        NRS: config.NRS,
 | 
				
			||||||
        BuildLabel: buildLabel
 | 
					        BuildLabel: buildLabel
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    if (version_compare(buildLabel, "2019.08.29.20.01") >= 0) {
 | 
				
			||||||
 | 
					        // U25.7 and up
 | 
				
			||||||
 | 
					        resp.ForceLogoutVersion = account.ForceLogoutVersion;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (version_compare(buildLabel, "2019.10.31.22.42") >= 0) {
 | 
				
			||||||
 | 
					        // U26 and up
 | 
				
			||||||
 | 
					        resp.Groups = [];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    if (version_compare(buildLabel, "2021.04.13.19.58") >= 0) {
 | 
					    if (version_compare(buildLabel, "2021.04.13.19.58") >= 0) {
 | 
				
			||||||
        resp.DTLS = 99;
 | 
					        resp.DTLS = 99;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    if (version_compare(buildLabel, "2022.04.29.12.53") >= 0) {
 | 
					    if (version_compare(buildLabel, "2022.04.29.12.53") >= 0) {
 | 
				
			||||||
        resp.ClientType = account.ClientType;
 | 
					        resp.ClientType = account.ClientType;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    if (version_compare(buildLabel, "2022.09.06.19.24") >= 0) {
 | 
					    if (version_compare(buildLabel, "2022.09.06.19.24") >= 0) {
 | 
				
			||||||
        resp.CrossPlatformAllowed = account.CrossPlatformAllowed;
 | 
					        resp.CrossPlatformAllowed = account.CrossPlatformAllowed;
 | 
				
			||||||
        resp.HUB = `https://${myAddress}/api/`;
 | 
					        resp.HUB = `https://${myAddress}/api/`;
 | 
				
			||||||
        resp.MatchmakingBuildId = buildConfig.matchmakingBuildId;
 | 
					        resp.MatchmakingBuildId = buildConfig.matchmakingBuildId;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    if (version_compare(buildLabel, "2023.04.25.23.40") >= 0) {
 | 
					    if (version_compare(buildLabel, "2023.04.25.23.40") >= 0) {
 | 
				
			||||||
        resp.platformCDNs = [`https://${myAddress}/`];
 | 
					        resp.platformCDNs = [`https://${myAddress}/`];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return resp;
 | 
					    return resp;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,7 @@ import { Alliance, Guild, GuildMember } from "@/src/models/guildModel";
 | 
				
			|||||||
import { hasGuildPermissionEx } from "@/src/services/guildService";
 | 
					import { hasGuildPermissionEx } from "@/src/services/guildService";
 | 
				
			||||||
import { getInventory } from "@/src/services/inventoryService";
 | 
					import { getInventory } from "@/src/services/inventoryService";
 | 
				
			||||||
import { getAccountForRequest, getSuffixedName } from "@/src/services/loginService";
 | 
					import { getAccountForRequest, getSuffixedName } from "@/src/services/loginService";
 | 
				
			||||||
 | 
					import { version_compare } from "@/src/services/worldStateService";
 | 
				
			||||||
import { GuildPermission, ILongMOTD } from "@/src/types/guildTypes";
 | 
					import { GuildPermission, ILongMOTD } from "@/src/types/guildTypes";
 | 
				
			||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -55,5 +56,9 @@ export const setGuildMotdController: RequestHandler = async (req, res) => {
 | 
				
			|||||||
        await guild.save();
 | 
					        await guild.save();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (!account.BuildLabel || version_compare(account.BuildLabel, "2020.03.24.20.24") > 0) {
 | 
				
			||||||
        res.json({ IsLongMOTD, MOTD });
 | 
					        res.json({ IsLongMOTD, MOTD });
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        res.send(MOTD).end();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -170,6 +170,7 @@ apiRouter.get("/deleteSession.php", deleteSessionController);
 | 
				
			|||||||
apiRouter.get("/divvyAllianceVault.php", divvyAllianceVaultController);
 | 
					apiRouter.get("/divvyAllianceVault.php", divvyAllianceVaultController);
 | 
				
			||||||
apiRouter.get("/dojo", dojoController);
 | 
					apiRouter.get("/dojo", dojoController);
 | 
				
			||||||
apiRouter.get("/drones.php", dronesController);
 | 
					apiRouter.get("/drones.php", dronesController);
 | 
				
			||||||
 | 
					apiRouter.get("/getAlliance.php", getAllianceController);
 | 
				
			||||||
apiRouter.get("/getDailyDealStockLevels.php", getDailyDealStockLevelsController);
 | 
					apiRouter.get("/getDailyDealStockLevels.php", getDailyDealStockLevelsController);
 | 
				
			||||||
apiRouter.get("/getFriends.php", getFriendsController);
 | 
					apiRouter.get("/getFriends.php", getFriendsController);
 | 
				
			||||||
apiRouter.get("/getGuild.php", getGuildController);
 | 
					apiRouter.get("/getGuild.php", getGuildController);
 | 
				
			||||||
@ -308,6 +309,7 @@ apiRouter.post("/trainingResult.php", trainingResultController);
 | 
				
			|||||||
apiRouter.post("/unlockShipFeature.php", unlockShipFeatureController);
 | 
					apiRouter.post("/unlockShipFeature.php", unlockShipFeatureController);
 | 
				
			||||||
apiRouter.post("/updateAlignment.php", updateAlignmentController);
 | 
					apiRouter.post("/updateAlignment.php", updateAlignmentController);
 | 
				
			||||||
apiRouter.post("/updateChallengeProgress.php", updateChallengeProgressController);
 | 
					apiRouter.post("/updateChallengeProgress.php", updateChallengeProgressController);
 | 
				
			||||||
 | 
					apiRouter.post("/updateInventory.php", missionInventoryUpdateController); // U26 and below
 | 
				
			||||||
apiRouter.post("/updateNodeIntros.php", genericUpdateController);
 | 
					apiRouter.post("/updateNodeIntros.php", genericUpdateController);
 | 
				
			||||||
apiRouter.post("/updateQuest.php", updateQuestController);
 | 
					apiRouter.post("/updateQuest.php", updateQuestController);
 | 
				
			||||||
apiRouter.post("/updateSession.php", updateSessionPostController);
 | 
					apiRouter.post("/updateSession.php", updateSessionPostController);
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@ export interface IAccountAndLoginResponseCommons {
 | 
				
			|||||||
    CountryCode: string;
 | 
					    CountryCode: string;
 | 
				
			||||||
    ClientType?: string;
 | 
					    ClientType?: string;
 | 
				
			||||||
    CrossPlatformAllowed?: boolean;
 | 
					    CrossPlatformAllowed?: boolean;
 | 
				
			||||||
    ForceLogoutVersion: number;
 | 
					    ForceLogoutVersion?: number;
 | 
				
			||||||
    AmazonAuthToken?: string;
 | 
					    AmazonAuthToken?: string;
 | 
				
			||||||
    AmazonRefreshToken?: string;
 | 
					    AmazonRefreshToken?: string;
 | 
				
			||||||
    ConsentNeeded: boolean;
 | 
					    ConsentNeeded: boolean;
 | 
				
			||||||
@ -45,7 +45,7 @@ export interface ILoginRequest {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
export interface ILoginResponse extends IAccountAndLoginResponseCommons {
 | 
					export interface ILoginResponse extends IAccountAndLoginResponseCommons {
 | 
				
			||||||
    id: string;
 | 
					    id: string;
 | 
				
			||||||
    Groups: IGroup[];
 | 
					    Groups?: IGroup[];
 | 
				
			||||||
    BuildLabel: string;
 | 
					    BuildLabel: string;
 | 
				
			||||||
    MatchmakingBuildId?: string;
 | 
					    MatchmakingBuildId?: string;
 | 
				
			||||||
    platformCDNs?: string[];
 | 
					    platformCDNs?: string[];
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user