Which data to save and when

We know what can be saved to a file, but what should we save? Writing data to a file uses disk space. Therefore, we want to save only what we need to. It is better to think, "Which information do I want to keep after the server shuts down?" For example, a banking plugin will want to keep the balance of each account. As another example, a PvP arena plugin will not care about having information about an arena match. It is quite likely that the match will simply be canceled as the server is shutting down. When considering the teleportation plugin, we will want to still have the locations of each warp after the server is shut down.

Our next concern is when to save this information. Writing data to files has the potential to lag a server if it is a large amount of data. If you are unfamiliar with the term "lag", it is a phrase that is used to indicate that the server is running slowly. You know when this happens because the game becomes very choppy and players and mobs seem to move around sporadically. This is an unpleasant experience for everyone. Hence, you want to save your data only when you have to. There are three typical options for how often you want to save your data:

  • Every time the data is modified
  • Periodically, such as every hour
  • When the server/plugin is shut down

These options are ordered by how safe they are. For instance, if your data is saved only when the server is shut down, then you run the risk of losing unsaved data in case the server crashes. If data is saved every hour, then in the worst case, you will lose only one hour's worth of data. For this reason, the first option should always be used when possible. The second and third options should be considered only if the plugin handles a large amount of data and/or the data is modified very often, such as several times every minute. The data of the teleportation plugin will only be modified when someone creates/deletes a warp or sets their home warp location. Therefore, we will invoke the save method every time the data is modified.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.115.195