Treasure Searches: Event resources right before Removal phases



The Dev Blog texts are provided by the Development Team in English.

Dear Settlers,

When the Removal Phase of a game event like Easter or Christmas gets activated, Treasure Searches don't provide event resources any more.

Treasure Searches that ended before the activation of the Removal Phase generally still provide Event resources, with one exception:

If the reward was not "physically" received while logged in/ if the player did not get a new reward mail during the event runtime, no event resources are provided, no matter when the search ended. That is why a Treasure Search, even though it was finished during an event or close before the Removal Phase, did not provide event resources.

To explain this mechanic and provide insight into the matter, BB_Alex created yet another Dev Blog.

Terminology
Let me start by defining a terminology to avoid misunderstandings:
Zone - Everything in The Settlers Online related to you. The island, adventures, items. It's your personal instance in TSO.
Zone shutdown - 15 minutes after exiting the game, the island zone is shut down. It is inactive until one of your friends visits the island or you log in again. When logging in again, certain time related things are being handled as if the time was simply "fast-forwarded".
fast-forward - This term is used for a calculation process, which is applied at the point when you login and start the game. The process is used to save progress while your zone is inactive.
loot table - A table containing the loot, the chances and conditions. One of the conditions is if a certain event is active.
treasure search task - The task, which is performed by your explorer. This tasks generates a loot table under certain conditions and sends the result via in-game mail to you.
persisting - Data gets saved into the database to be available at a different time.
fail-safe - A safety mechanic responsible to keep a system stable and avoid errors or locked zones.




What happens if I am offline?
If your zone is inactive there is no calculation. When you leave the game your zone will be shut down after 15 minutes and it will remain inactive until you login and start the game again. While the game loads, the time frame in which your zone was inactive is calculated during the fast-forward process.


Is the treasure search task part of my zone?
Yes. The explorers, and every task they execute, belong to your zone. The calculation of their activities while your zone was inactive is done as soon as you login and start the game.


When is the loot table generated?
The loot table is generated at the beginning of the treasure search task. The loot table results aren't persisting in the database, but are only available as long as the zone is active and are lost as soon as the zone is shut down.

Is the event also part of my zone?
No. An event with all the values is set globally for the whole game world. It doesn't matter if your zone is active or inactive. The event will start and stop independently of your zone.


Why don't explorers bring back event resources?
Let me explain a possible situation and maybe the most common one, where treasure searches won't provide event resources.
1. You start the treasure search task, which theoretically will be finished before the end of the event
2. The loot table is generated and the results are available
3. You close the game
4. After 15 minutes your zone is shut down and the loot table results are lost
5. During your inactive time the event ends
6. You log in and start the game
7. The fast-forward process calculates your zone and the fail-safe generates the missing loot results again based on the currently active condition. The event is not part of those conditions, because it ended before you logged in.
8. The loot doesn't contain eggs

What exactly is the bug/error?
The results of the treasure search task are not saved (persisting). The basic fail-safe mechanic made this bug hard to track down.


Is it not possible to save (persist) the results?
It is possible. However each individual item in the loot table results would have to be saved (persisting). The amount of treasure search tasks running simultaneously multiplied by the amount of individual items generated in the loot table would require a lot of space in the database.


Next steps
A solution we are currently exploring is to save the conditions if a certain event is active. We still have to test to ensure this solution will work as intended while maintaining a stable game environment.


I hope I was able to explain the system and answer questions.

Happy Settling!
BB_Alex