Bug fixes, new commands, A17.2 compatibility fixes.
The player archiver is working now so I have removed the block on the command /archive players. The archiver works very slowly on purpose to avoid disrupting the bot's normal functions. It will never archive admins, donors or players that are currently known to the server (via the lkp console command).
The bot makes a backup of its data before running the archiver so you can easily restore the bot if the archived data causes issues for you.
Added new command /set say uses name (the default), or /set say uses nick (your nickname on IRC). Normally if you type say hello (on IRC), in game the bot will use your player name, but it can use your IRC nickname instead if you want that.
The bot can now use Alloc's web API to send commands to the server and telnet to monitor the server at the same time. This avoids an issue in the API where it will randomly skip lines which causes the bot to miss stuff. This seems to happen mainly on very busy servers and could have other causes such as large mods. I have not been able to prevent it happening so the next best fix is to not use the API to monitor server traffic. The API is much better for sending commands to the server than telnet due to the result of each command being returned without all of the noise that comes with telnet traffic.
To use this feature you can tell the bot /read log using telnet. The bot will automatically enable this feature if your bot knows the API port and you haven't told the bot that telnet is disabled.
Fixed a bug with the hardcoded give commands. They weren't specifying a quantity which used to be fine but in A17 it now requires a quality and no longer assumes a quantity of 1.
The /bloodmoon, /day7 and when feral commands now says things like "Feral hordes are expected in about 5 days" when your server is using the new random horde setting.
If your server is using random hordes, the bot will not despawn zombies prior to the bloodmoon starting even if you told it to do that as it doesn't know when the horde starts until it spawns.
Fixed the /info command to be compatible with A17.2 changes. It now reports all of the new zombie movement settings.
Fixed a typo in the command /remove zombies before bloodmoon. It wasn't disabling the feature even though it said it was.
The bot will automatically delay a server reboot when it detects the bloodmoon starting.
Added command /quick fix shop. It does the same job as /fix shop but doesn't bother reading all the spawnable items known to the server and just re-validates the items in the shop against the list that the bot already has.
The command /make maze is working again but it currently creates a ton of extra server traffic. Do not use this when your server is busy. You can /cancel maze to stop it but that won't stop the extra traffic. I will recode it to defer the chunk recalc (or whatever the calc does) until after the maze is complete and have it applied to a larger area instead of per block.
I have attempted to fix a very old bot bug involving logging in to IRC. Previously it recorded that you were authenticated on the shared bots database but now it uses the local bot database. This should prevent the bot getting confused when you are known to multiple linked bots.
Fixed a bug that prevented the bot reporting screamers and airdrops. The airdrop now triggers a PM up to 2000 blocks away.
Some servers have been having an issue where the bot forgets what mods are installed. I have previously coded a fix for this and this time I have coded it so that once the bot knows Alloc's mod and the BC mod are installed it records that fact and won't forget that again until you reset the bot. This does mean that if the mods are removed in the meantime the bot will continue to think they are there and will try to use them but this is better than not using them when they are in fact present.
Monday, March 25, 2019
Powered by WHMCompleteSolution