I had to take a break last week because of other committments. Yesterday I could pickup the work again and I am progressing on a _virtual_ level on the migration. What does “virtual” mean? More later to that.
Well, I am going through the list of the plugins as they were in the old server and (for those that are externally written and still being developed) download the latest version or (those that were custom-built for the server or those abanadoned) find the source code and try to update it for the latest minecraft server version.
The first part is relatively straightforward, the second one is much more complicated – in cases. While the plugins that we wrote for this server are all very small and often very easy to update, others are rather complicated because the core function is completely deprecated or because my Java skills are not sufficient to quickly do the job. So far I fixed 9 out of 10 plugins of this type and more to come (i.e there is one I could not fix so far).
The issue now is that I changed the plugins so that the code compiles and does not throw any error. This is where the “virtual” is coming in. I have not had the opportunity to actually test them in-game. There is a high chance that most of them will be easy to fix even if they prove not to work initially or if other issues arise. Another option will be that if one plugin REALLY proves to be hard to fix that we restrict some feature for a while or find a workaround until we can sustainably fix it. I hope that I will be able to start proper testing towards the end of this week and see some sustainable progress. Will keep you guys updated.
Update Monday 2025-03-17:
I have now started to look more in detail if the plugins actually work. I have updated a few more plugins and downloaded recent versions of still maintained plugins. So far, all is looking good and I am working myself through them one by one.
I had to adjust the functionality of one plugin: The custom built plugin that prevents people from getting on the nether roof with ender pearls other other means. In the past, we used a program interface (API) to another plugin that included a function for a “safe” teleport. It allowed people to be relocated somewhere near without being dropped into Lava. The interface for safe teleport has been removed from external access so now we just configure a default warp point and send people there instead.
More updates will follow.