User blog:LOTRMod/Joetater: A Region Saver

Joetater is a small and simple mod with the aim of making life much easier for server admins who want to reset their worlds. It's designed with servers running the LOTR Mod in mind, but it's a separate mod in its own right and can be used for any server.

Why?
We're all familiar with the LOTR Mod's fast pace of development, and the many new biomes, structures, and other terrain generation changes that updates bring. And that won't be changing any time soon. With all this, it's inevitable that server players will be wanting frequent world resets, so they can go and find the new things in unexplored areas generated with the new updates. And any good server should be prepared to do these resets.

But of course, players don't want their builds to be reset! And  LOTR Mod servers can get famously big, and players' builds are widespread. These things combined mean that carrying out a server reset can be a long and arduous task.

You have to gather a list of all the builds, work out which region files they correspond to, then spend ages on Filezilla or a similar program downloading exactly the right region files, hope to Ilúvatar you haven't made a mistake, and only then can you delete the world and re-upload the saved regions. It's a long and arduous process, fraught with the possibility of disaster at every step. (I speak from experience.)

What does Joetater do?
Joetater removes the need for the second part of this process. You still have to gather a list of all the builds you need to save, but you don't have to spend ages calculating and selectively downloading the right region files.

Joetater adds one new command, /joetate, which allows you to define an area in-game and automatically backs up all region-files within that area to a separate "joetated" folder. The chunks don't have to be loaded in-game at the time, and in fact it's probably best that they're not.

Repeat this for every build, then you can delete the world and copy back the Joetated region files from their folder, restoring the builds while providing new terrain around them. Sorted!

How do I use it?
The command has two modes: When you use the command, it will notify you of how many region files have been saved. The files are copied to their appropriate place in the "joetated" folder, from where you may retrieve them for later use.
 * Square "radius" mode: Use /joetate r  to select a square region centred on your current position. The square "radius" (i.e. half the side length) is specified. You don't have to physically visit the region in-game; you can do /joetate r   to select regions centred anywhere in the world.
 * Box mode: Use /joetate b     to select a rectangular region that ranges from x-min to x-max (west to east) and z-min to z-max (north to south). Again, there is no need to have the region loaded in the world.

And yes, it works in all dimensions. The structure of the "joetated" folder is the same as the world folder, with the same subfolders for dimensions, etc.

IMPORTANT: If the region is loaded in-game, Joetater does not save it first. Joetater only copies the currently existing file on the hard drive which corresponds to that region, which may or may not include any recent changes that have been made since opening the world.

Can I download it?
Of course!

Joetater v1.0

'''Warning. '''I cannot guarantee that this actually works without bugs. We've tested it on the Official Server already, and in singleplayer. Everything seems to work perfectly fine. And we will be using it for resets at T.O.S. from now on, so if there are any problems they'll be discovered soon - but you never know what might happen with mods, and builds are too precious to risk. All I'm saying is, if you use this to save your regions and something goes wrong, I can accept no responsibility.

Why didn't you just make this part of the LOTR Mod?
Because it's much easier to maintain, fix bugs, and release updates as a small separate mod. Also, because people may want to use it for servers other than LOTR Mod servers.

Isn't there stuff that can do this already?
WorldEdit isn't good enough for this. It's a horrible effort to save really big builds, sometimes crashing the server, and pasting them back in can be a nightmare.

There may well be other mods that can do the same kind of thing (I have no idea) but this tool is designed specifically for us at the Official Server, so we can know exactly how it works and tailor it to suit exactly what we need. Of course, all the other servers will be doing much the same thing, so I hope their admins will benefit similarly from the tool.

And even if there are other tools, it only took a couple of hours to make this, so it's not a waste of time.