Account Authorization Process in NeptuneEvo
Account Authorization Process in NeptuneEvo
During the 'InitAccount' method, player account data is updated or initialized by creating an 'AccountData' object with information from the database, including login details and subscription status. Errors might occur during data deserialization, handled by using try-catch blocks to assign default values when exceptions are raised during the process .
In the 'InitAccount' method, linkage is validated by checking if the player's session data is null, verifying hardware and social club information, ensuring the account isn't already linked to another session, and validating social club matches. The system further confirms the account is not blocked by analyzing server settings and queue limitations .
The 'AutorizationAccount' method will return an 'Already' status if the player is already logged in or if another session is already using the account's login credentials. This status is communicated to the player via an error notification at the bottom center of the screen, letting them know they are already authorized .
A discrepancy in HWID checks occurs if the 'RealHWID' of a player is 'NONE', which triggers a loading error, halting the process. Ensuring HWID validity is crucial for security, but when incorrectly managed, potentially blocks legitimate access attempts, necessitating rigorous data validation and system coherence .
When a 'LoadingError' result is returned during account authorization, the system notifies the player with an error message positioned at the bottom center of their screen, indicating that they must wait to retry the authorization .
If 'AutorizationEnum.SclubError' is encountered, it implies a breach of social club verification either by mismatched socials club credentials or failed account creation verification. This results in sending an error notification to the player indicating incorrect social club information, and the process is halted without authorizing the player .
The 'AutorizationAccount' method initially checks if a player is banned by attempting to retrieve a 'Ban' object. If the player is banned and the ban is a hard ban that is still in effect, the method formats and sends a ban message to the player before exiting the authorization process .
The 'AccountData' class manages extended functionalities by storing data for promotions and collections, leveraging JSON deserialization to load or initialize lists of promo codes and gift collections. Defaults are specified for failed deserializations, with default lists assigned to avoid errors and ensure system stability .
The system uses the 'JsonConvert.DeserializeObject' method to convert JSON strings into specific data types for account-related information such as promo codes and bonus codes. If deserialization fails, either due to format errors or invalid data, default values like an empty list are assigned to handle exceptions gracefully .
The 'Main.SetUpEverything' function finalizes the setup of the player's session, preparing the environment for gameplay. It checks account engagement timelines for analytics, determining a user's return or current status, thereby integrating this data into analytic events for further user behavior analysis .