Hi guys!  I am releasing the update to the a18 code branch shortly.  I have just finished writing the changelog and have updated the bot's github repo

Here is the changelog..


Replaced the bot profile.  The main changes are some new buttons to control stuff such as hiding or displaying the telnet stream.  Its needed with this bot update but will work on older bots and older bot profiles will work still but won't be able to display the telnet stream without some code.


Donors records are now stored in a dedicated donors table rather than in the players table and the bot will automatically migrate that data out of the player records.  If you go back to an older version of the bot, you will 'lose' your donor records.  Technically they are still there, just no longer in the players table.


Command help on IRC now reports the command restrictions of each command, eg.  admin only, etc


The command /reset player {name}  is now /reset player record {name}


The bot's claim scanner has been replaced with a much better feature in the Botman mod that does the same job, but better.


The bot's lag check feature has been disabled as its not really needed anymore.  Instead the focus has been on more efficient use of commands and moving some features onto the Botman mod.


The base command cooldown now applies no matter how far from the base players are.  Previously it was ignored up to 200 metres away from the base.

The /make maze command has been improved.  It renders nicer and a bit tidier.  Also you can now create multi-level mazes or add a roof to your single level maze.


Here is the updated maze command help..

    /make maze (default maze 20 x 20)
    /make maze wall {block name} fill {air block} width {number} length {number} height {number} x {x coord} y {y coord} z {z coord}
    The bot also accepts wide, long, and tall instead of width, length, and height.
    The maze will generate with no roof.  If you want a roof add the word roof.
    If you want a multi-level maze add levels {number}. Note: it will include a floor.
    You will need to cut holes or make rooms yourself.
    Generate and build a random maze.  Someone must stay there until the maze completes or it will fail to spawn fully.
    Default values: wall steelBlock fill air width 20 length 20 height 3. It uses your current position for x, y and z if not given.
    Note: width and length are multiplied by 2.
The /who command displayed more info to admins and donors than it did for everyone else.  Now only admins get that extra info.


Added some new easter eggs somewhere in the code, and more silly code comments (don't judge me!) xD


Replaced the built-in telnet logger with my own code due to changes in how the official logger handles stuff. Also the bot now hides all telnet traffic from the main Mudlet window in an attempt to fix some performance issues and also to fix an issue with Mudlet running for extended periods in virtual desktops (a buffer overflow possibly).

The new Mudlet profile has a button to show/hide telnet traffic for debugging porpoises.


The bot's handling of the web API has been improved. It should work much better than previously.


The bot's log handling has been improved for some of the bigger logs. Others may get the same treatment later.


There is a new slots system to replace the old reserved slots system. Its not quite 100% working yet but the remaining issues should be easy fixes.  This

new system also forms the basis of a new online players list that is coming to the panel so you will be able to see a list of servers and who is playing on them.


The bot has better monitoring for when it is connected to the server and loses the connection.


With the new donors table, the donor expiry has been moved from when the player joins to a nightly event at midnight server time.  This way donors are properly expired when they are supposed to be.  Donors are now backed up along with other bot tables.


Added new database tables and fields and fixed some typos.


Cleaned up some of the language used in the daily lottery. No more potty mouth.


The bot no longer spams the server regularly to keep track of the server time.  Instead it reads it once then relies on an internal clock to track that. Occasionally telnet traffic will also update it.
The bot's reconnect logic (timer) has been cleaned up.


If the bot has been told to be quiet (less chatty) it won't announce itself when it joins the server either.


Added more panel support.


Removed a spammy message about removing claims from reset zones.


Tweaked logic in the bot's player joined code. Amoung other stuff it doesn't allow players to have in their name to block a server attack.


Doge mode has been updated to strictly conform to doge mode as defined on the internet.


There is some new PVP commentary which might be COVID-19 related.


New commands:


/enable (or /disable) bot colours (default enabled)
If you want something else managing chat colours you can stop the bot replacing them by disabling that feature with this command.


/reset player profile {player name}
Make the server delete a player's profile.


/reset prefab {player name}
Reset a prefab where the player is standing.  If doing on yourself in-game you only need /reset prefab.


/enable (or /disable) anticheat
Enable or disable the anticheat feature in the Botman mod.  Default is disabled.


The anticheat feature requires that you have installed the 0harmony.dll in 7daystodieserver_data/managed (not in the Mods folder). Other advanced features such as resetting regions and prefabs also require that dll.
With anticheat enabled the Botman mod will report to telnet when it detects any player including admins enabling dm, god mode, spawning entities and more. It also keeps temporary records that are lost when the server shuts down.
You can view the report in the console with the console command bm-anticheat report.  The bot reads that report and also monitors for the live anticheat alerts.  If a player who is not an admin is detected using god mode etc they are immediately banned for 10 years.
The bot will ignore admins that are using /test as player so you can safely use that bot feature without getting banned the instant you fly.  You can test the anticheat feature by enabling dm then removing your admin status.  Just make sure you are able to restore your admin status independently of the bot before doing that.


There is a new daily hackers log file that is only created when a hacker is detected.  Anticheat bans are also recorded in the shared bots database where other bots can see it.  Currently they do not do anything with that information.


/set reset delay {days}
Sets the delay of days between resets. 0 for every reboot. This setting is for the Botman mod's region reset feature.


/set map colour FF0000 (red is the default colour)
Set the colour of reset regions on Alloc's web map. This setting is for the Botman mod's region reset feature.


/enable (or /disable) mapping
Enable or disable plotting reset regions on Alloc's web map. This setting is for the Botman mod's region reset feature for those who modify Alloc's map themselves and don't want the bot messing that up.


/set pvp temp ban {minutes} (this used to be hardcoded at 1 hour)
Set how long to temporarily ban a player after a pvp kill.
This is only used in PVE when there is no prison location.


/set p2p access {access level}
Restrict the /visit command to players at and above a bot access level.
Levels are 99 (everyone), 90 (everyone except new players), 10 (donors), 2 (mods), 1 (admins), 0 (owners).


New irc bot command 'map' that just gives you the url to your server's map.

Fixed bugs: (probably not a complete list as bug fixing has been an ongoing process over months).


There was a bug that caused gimme to not work, constantly saying you were in a base no matter where in the map you are.  This was caused by the setting of a flag that could never be unset if a certain feature was disabled.


If you set a cost for locations and later changed the name of the bot's money, the bot did not allow anyone to teleport to locations with a cost.


Fixed some issues with the lobby and spawn locations.


Fixed a maths bug in the /bail command.  Math, not even once.


Fixed a bug where the bot would reboot the server twice (oops).


The /mend command is working again.  I mended it.


Fixed a bug in /visit map. I was visiting large areas outside of the map and as a result it took forever and would break sometimes.  I don't know what I am doing *mashes keyboard*


Fixed (well hopefully) some shop issues with validating items.  Also applies to zombies and other entities.


Fixed a bug where the bot was resetting the bot's name to Bot in the Botman config. If that happens to anyone's bot it should only ever mess up once due to adding a new table to store the Botman mod's config settings.


Fixed a bug with setting up teleports.


Fixed issues with refreshing the bot's record of who the admins are.


Fixed bug in irc bot command 'who'


Fixed bug in irc bot command 'donors'


Fixed inconsistency between the bot and the panel's handling of donor expiry dates.


Somehow some bots are missing inventory and tracking tables.  I have added code to check for and recreate any missing tables.


There are other changes to the code that are far less glamorous but were needed anyway and I've probably forgotten a few.  Its been a long time and a lot of coding since the last update.  Onwards to new features!

Wednesday, June 3, 2020

« Back