Naero Posted October 27, 2015 Share Posted October 27, 2015 (edited) ________________________________________________________________________________________________________________________________________________ I will preface this thread by underscoring the fact that we cannot case-specifically return any lost items or Pokemon, nor can we reset cooldown times if you're penalized by one due to a rollback; any posts made asking for that only serve to pollute the forums and will be deleted as such. I can not make any promise that any absolute resolution will be made for the entire issue anytime soon, but I can promise that sifting through this thread will make you more informed on rollbacks and how to potentially elude the often-inevitable event. With a glaring trend of reports for rollback-reverted items, a cascade needs to be made on this entire plight—both to help users stay on their toes to possibly stave off rollbacks, and to inform those rollback-plagued users who are turning here for a solution. ⋯⋯⋯⋯⋯⋯⋯⋯⋯ Rollbacks occur whenever the server was unable to successfully save newly gained progress—in which case, the data in the database remains changeless, as that newly gained progress—while temp-held by the server for your log-in session—never registered in the database. This mostly commonly occurs in the wake of a server crash wherein data was gained after Point A (the last saving point), but the server crashed intervened with Point B (a would-be saving point, had the server not crashed before it). Additional but much more uncommon causal scenarios can be when your computer logs you out abruptly, such as during a sudden shut-down; in those cases, progress may also end up unsaved, as it did not give your game client ample time to query the database to save it before your computer force-ended the client. Due to how onerously taxing it would be for the server to insta-save all data—especially for the more data-rich characters of data—the systematically scheduled saving points of some data need to be regulated more strictly; as that opens up a broad window for Pokemon data, which are among the larger-scale data types for the server to save, nature dictates that those are the most commonly lost. These saving-point intervals aren't bound to be deregulated due to those reasons, but we do hope to minimize the frequency of server crashes in order to forestall more rollback cases moving into the future. ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ As long as it is possible for the server to crash, which is perpetuated as new, potentially deadlock-inducing server-coding is added, the game will never be absolutely devoid of potential rollbacks; it will be a minefield wherein the mines are irremovable, but it is possible to tread through it when regardful of precautionary measures. Relogging. This is usually is the ticket to staving off most rollback cases. By relogging, you effectively force-save the data, as your client tells the database to save your data to ensure that it's retained by the time you log back in. Because the client needs a little time to processually communicate with the database to save it, you are advised not to "force-end" your client—be it through terminating it via the task-manager prematurely, insta-shutting off your computer, and so on. Due to varying data-type integers used, different forms of data take discrepant amounts of times to save. While account-side data, items, quest variables, and so on all fold into a pecking order, they all tend to insta-save within a few minutes; it's Pokemon data, on the other hand, that takes longer to save (5-20 minutes) and thus runs the biggest risk of a rollback loss. Since all Pokemon-specific data is lumped together and saved synchronously, I would advise relogging when any of the following data changes happen to your Pokemon: Capturing it. This is obviously the most primal, as your Pokemon's existence will be lost if no Pokemon-data saves occur before a server crash. Equipping an item to it. This is also critical but more overlooked, since it can cause Held Item losses. Since item data consists of only a few points, the server manages to insta-save the fact that it was removed from your inventory, but the item will then embed itself into the Pokemon data of the holder; that means that if Pokemon data fails to save after the item is removed, there is a good chance that the item will be lost, because it will revert your backpack's state to a point whereafter the item was already removed from it. Evolving it. This may be a more negligible contingency for Pokemon that evolve on a level-up basis; but when an evolutionary item is expended in accomplishing the evolution, there is more at risk than a simple retrogression. Due to the reasons precedingly explained, item data saves at a much more systematically frequent rate than Pokemon; resultantly, you could see yourself losing both the evolutionary item and the evolution it induced if you item-evolve a Pokemon before a Pokemon-data saving point. Expending an item on it or paying for a service. Whenever you use an expendable item on your Pokemon—be it a healing item, TM, evolutionary item, vitamins, and so forth—you risk losing the aftereffect of the item's usage and the item itself, as items will embed themselves into the Pokemon's data while it's possible for item data (the usage of the item) to save before it—in addition to money expended, such as on a move-tutor. Whether it is worth relogging to preserve the aftervalue of more mundane items, such as a potion, is your call; but if you're more frugal, you may want to habituate relogging after such changes to ensure that the more invaluable expenditures don't end up rewardless in a rollback. Trading. When trading for a new Pokemon, it may also be a considerable amount of time from Point A (trade-acquiring the Pokemon) to Point B (a Pokemon-data saving point); as such, it's a broad window of time for the server to crash and intervene with saving it. If it's a money-for-Pokemon trade, it is especially urgent to log out, as the server will be faster to save the fact that money is lost than it will be to save the Pokemon's new account-holder. ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ Due to the varying saving-point intervals, it is possible to lose data while the entire control flow of obtaining it ends up disordered; for example, if the only method of obtaining an item was through a one-off NPC and a server crashed thereupon purchasing it, the server may have registered the fact that you've used up your one chance to buy it while failing to save the item, thereby deadlocking you from obtaining the item. I've devised similar NPC-oriented solutions for this in the past, such as Professor Oak giving you a new starter Pokemon if your starter Pokemon rolled back, and I will try to be amenable to adding more fallbacks for similar predicaments as they come to my knowledge. The exact data you lost will be irrecoverable, as we have no means of systematically authenticating that the item was obtained and lost via a rollback before manually returning it; but through systemic means, we can mitigate the damage of rollbacks and clear up progressional deadlocks caused by it. Before making such a suggestion, however, the following questions must be addressed: is an essential source of obtaining the data gone (such as an NPC disappearing)? Is it possible for scripts to discern that it was lost due to a rollback? Is the data indispensable? For some questions, only scripters can give a definitive yes, but it is food for thought before raising up a suggestion to obtain it. Edited May 15, 2018 by Astraea 3 Do not contact staff members for private support. Share the question on the forums due to being of use to others. Please use proper forum. Unsolicited messages will be trashed. Thanks. Link to comment https://pokemonrevolution.net/forum/topic/5968-hit-by-a-rollback/ Share on other sites More sharing options...
Recommended Posts