Joetater is a small and simple mod with the aim of making life much easier for server admins. 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.
Joetater Changelog Version 1.4: + Added an IP logging feature to log players' IP addresses and match them against those of banned players Version 1.3: + Added configurable ingame checking for certain items above certain thresholds in player inventories Version 1.2: + Added a config option to set the maximum joetate size * Default maximum joetate size is now 2000 blocks This prevents accidents and misuse with overly large region sizes, since in such a case it would be very difficult to remove the unwanted region files. Version 1.1: + Added the /jbiome command to set biome IDs Version 1.0: Released. + Added the /joetate command
What does Joetater do?
Joetater adds four main features:
- Joetate, a world reset tool
- Jbiome, a command for changing Middle-earth biomes
- Inventory checker, alerts admins when a player has a certain item in their inventory
- IP list, tracks players IPs and alerts admins when a player joins with the same IP as a banned player
All features except jbiome can be effectively disabled in the config if you only want to use some of them.
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.
Normally, you have to gather a list of all the builds, work out which region files they correspond to, then spend ages on your favorite FTP 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.)
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.
With the command, /joetate, you can define an area in-game and it will automatically back up all region-files within that area to a separate "joetater" folder found within your world 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!
The command has two modes:
- Square "radius" mode: Use /joetate r <square-radius> [origin-x] [origin-z] to select a region centred anywhere in the world. Leave out the coordinates if you wish to select a square region centred on your current position. The square "radius" (i.e. half the side length) is specified.
- Box mode: Use /joetate b <min-x> <max-x> <min-z> <max-z> 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.
The maximum region selection is 2000 by 2000 by default. This can be increased up to 20000 by 20000 in the config. 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 "joetater" folder, from where you may retrieve them for later use.
And yes, it works in all dimensions. The structure of the "joetater" folder is the same as the world folder, with the same subfolders for dimensions, etc. The command joetates the files from the same dimension you are in. If you run the command from the console, it will joetate files in the overworld.
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.
Have you ever wanted to change a biome in Middle-earth? Perhaps you used world edit to attempt to change it but with no success? Jbiome is a command that allows you to change an area to a Middle-earth biome of your choosing.
Like the joetate command, jbiome has two modes:
- Square "radius" mode: Use /jbiome r <biomeid> <square-radius> [origin-x] [origin-z] to select a region and change it to the biome specified. The square "radius" (i.e. half the side length) is specified.
- Box mode: Use /jbiome b <biomeid> <min-x> <max-x> <min-z> <max-z> 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). This will change the region to the biome specified.
To find the biome id, look it up on this wiki's regions page.
Warning: Be careful with selection a large region, as too large a reason will cause considerable amounts of lag or even freeze your game.
Note: The chunks that were changed will likely need to be unloaded and reloaded before any change is visible to your client.
The inventory checker is a tool which alerts admins whenever a player has an item specified on the list. It is very useful for any server which has banned items, especially the overworld and any associated items. To set it up, find the file in your config folder labeled joetater_ingame_checker.txt. Go ahead and edit this file. Each line is a new entry and lines beginning with '#' will be ignored. To add an entry, type
<id>, <meta-data>, <amount>
The id cannot be numeric, it must be of the form minecraft:item, lotr.tile:item etc. The meta-data checks the meta-data of the item; Use -1 for all meta-data. The amount is the number of items the player must have in order to trigger the warning. An example entry is
minecraft:planks, -1, 20
which will only trigger if a player has at least 20 planks of any meta-data.
An example of the alert message displayed to admins is shown below.
Joetater: WARNING! Player Imanoob has 20 of item minecraft:planks:-1
All players inventories are checked once every five seconds by default, although this can be changed to be as often as every tick to only every two minutes. Any players with the specified items at the time the inventory is checked will trigger an alert message to admins. Consecutive warnings will be issued every minute by default, but can be changed from as often as every tick to five minutes between warnings. It is possible to avoid the checker if you only have the item for a short amount of time, but this is very difficult since you do not know when the inventory check occurs, thus the chance of getting caught is quite high. You can however hide items in pouches to avoid detection, but putting them back in your inventory will put you at risk of getting caught for having an item you're not supposed to.
The IP list keeps track of every player's IP address and will warn admins when a player joins with the same IP as a banned player. This can be very useful for detecting players trying to bypass their ban by using another account. Of course, there is always the chance that another member on the same internet connection is playing on the same server.
This list of IP addresses is stored in your main server directory labeled joetater-ips.json. It contains the player's name, their UUID, their IP address and the date they last connected with that IP address. If the player has connected from multiple IP addresses, each IP address will be listed, along with the date it was last seen. IP addresses are kept for 200 days by default, but this can be changed to your liking.
|Officially supported mods:|