Botman server manager official support thread

The botman mod has been updated again.  Same mod version.  The harmony.dll has been replaced.  It fixes some issues that were noticed.

 
I have released the update to the a18 and a19 code branches (yeah people still play a18).  I will update the github repo later today and post a changelog.  Here's a quick summary of what's in the update..

- Potential fix for the web token loop that sometimes happens.  If it still loops it now just reads the token list instead of endlessly trying to set a new token.

- Fixed a bug in /gamble but I probably only recently broke it as it was working for everyone before.

- All of the bot's memory tables that used to live in the main database engine now live in an SQLite database that is individual to each bot (not shared).  More tables are moving to SQLite but I need to add some more code before I'm ready to release those.  They have been converted in my dev bot and are working.

- There was an issue in the slots system that would sometimes cause the bot to kick players saying that the server was full when it wasn't.  it was a tempory issue that self corrected but would last several minutes.  The bot should have a more accurate record now of the current state of the slots so that shouldn't happen or if it does, maybe for 1-2 players and not most of them.

- There are a couple of other fixes that I added last week.  I've forgotten the details already so those will have to wait for the changelog.

- Oh yeah, if the bot falls off the irc channels it can now detect that and will rejoin after about a minute.

Also there were some hosted bots that were running the current release of the Mudlet engine but there is an unreleased bug fix in their testing branch atm which fixes an issue where the bot will randomly stop responding to all irc chatter.  I have finished replacing all hosted bot's Mudlets with the testing version which works perfectly fine and doesn't have that issue.  When they release it to stable I will replace Mudlet again.

Bots will automatically update but you can force it to happen sooner with /update code (or via the panel) or via irc with update code.

Its possible that for a minute immediately after the update some bot commands might not work while the bot transitions to using SQLite but that if it happens at all will self-correct no later than 3 minutes after the update is applied.

 
An fun and bad bot bug has finally been found and fixed.

The cause of the player resets was a difference between 2 copies of the player records.  The bot keeps a database table called players and to save on database reads I load the entire table into a memory table (a Lua table).  I checked how many records each table had (never thought to check it before as they should always match) and I found the Lua table was short by 6 players.  After establishing who they were I told the bot to load one of them which it failed to do.  I then debugged the crap out of the code responsible for loading the player record and I found where it failed, some code I don't really need so I simply removed it.  The bot was then able to load the player record so I restarted the bot and checked the table record counts again and this time they matched.

Yay!  That bug was around for far far too long and had evaded all previous attempts to fix it.

 
The panel (mybotpanel.com) is moving to https://panel.botman.nz and the server currently hosting the panel at mybotpanel.com will be closing in a few days.  This is just a cost cutting measure since I already have the botman.nz domain and hosting space for the panel.  I no longer need the additional cost of a dedicated domain and dedicated server.  The panel is live right now at https://panel.botman.nz Everyone's logins and settings are there.  If you continue using mybotpanel.com the only stuff you stand to lose is the panel's copy of the map (you'll get that back very easily), and if you add or change any sub-accounts.  Other than those all settings are stored in your bot(s) and will not be lost.    If anyone finds that the new panel is not able to access your bot(s) please let me know.  An easy way to test that it is working properly is to use the panel to restart the bot.  If the panel is connected properly your bot will restart.
Note again:  The panel is live right now at https://panel.botman.nz  Please update your bookmarks.

 
There is currently an email issue with the panel at its new location.  The host's security is too high.  I am working with them to get it fixed and may need to solve it with a little code fix.  In the meantime if you need to reset your password, please contact me and I will be able to assist you with that.

If anyone's panel is missing their bot or a bot if you have more than one, or you can't log in please message me. I have fixed 1 missing bot database connection so far and expect a few more but not a lot of connection issues. Also recently Highope reported that some people with bots not hosted through Botmanhosting have contacted him but none of them have contacted me. He hasn't passed on any of them so I still don't know who those people are. If you have issues do not contact Highope as he has left to do his own thing and is no longer assisting with panel stuff.

 
Last edited by a moderator:
I have released an important bugfix update to the a18 and a19 code branches and updated the github repo (finally).

Here is the changelog..

Added SQLite database and moved the MySQL memory tables to it to reduce load on the main database engine mainly for hosted bots where one engine is responsible for many bots.
 

Changed the random number function so it uses the local bot's SQLite database instead of MySQL.
 

Added a random password generator function mainly for the bot to use with Alloc's web API when setting the web token.
 

Fixed issue with the /who command giving too much info to players it shouldn't.  Sorry if you missed out.
 

Fixed bug in the location safezone command.  You could not undo the safezone command due to me using true instead of false.  Ooops.
 

Recoded the /gamble command (and its aliases).  It should no longer give less tickets than asked for unless you don't have enough cash or doing so would exceed the maximum tickets (which is 100).  It didn't ever charge for tickets not issued.  Now it works a bit differently internally.  It first collects all the tickets, then removes ones you already have and it uses that remaining pool to randomly select tickets for you.  The old code was more of a dartboard approach, but dartboards aren't edible so I'm now using a cheeseboard.
 

Fixed a bug in the /track command and related commands.  Mostly the bug and the fix happened before updating github so there's nothing much to see of it here.
 

Players that are whitelisted in the bot's whitelist can now connect using a proxy without the bot banning them for that.
 

The botman config now has its own parser function.  There is more work to be done with that but it means that the bot can now read and process it in telnet mode or API mode.
 

Telnet traffic displayed in Mudlet's own main window is now suppressed after a short time and only displays for about a minute on server and bot startup.  There is an updated Bot profile with a button to toggle this feature should you need to see telnet traffic there.
 

A minor bugfix was done to the bot's slots system as it was getting out of sync with how many players were actually on the server versus the slots table and the bot was incorrectly telling players that the server was full when it wasn't.
 

The bot's Google translate feature has been disabled in the code.  It may come back in the future.
 

The bot's afk (idle) kick timer is now configurable.
 

The bot will attempt to secure its IRC channels with a password if you set one.  This also requires that you are using a modern version of Mudlet not the old modded version from 6 years ago.  You really should upgrade (self-hosters).  Hosted bots are all using the modern Mudlet already.
 

The bot can now detect when it has fallen off the IRC channels and will auto-rejoin them.  This may require the modern Mudlet.  I am not sure if this is fully supported by the old modded Mudlet.
 

Fixed (again) a bug that causes on rare occasions (usually) a player to get reset in the bot as if they were new again.  The previous bugfix which is probably also new to this update helped but there were still some players getting reset.  The bot now looks for them in a table called events that the bot fills with player joins, deaths and other events.  If the bot finds their steam id in that table it does not reset them as new.  If this still doesn't fix it I will need to hand in my [MAN] card.
 

The irc command 'show inventory' now has an exclude {player name} option.  Currently it can only exclude 1 player but it is useful if you want to see what inventory happened in a base and exclude the base owner.  Later I will make it possible to add lots of names so you can do this with shared bases.
 

Fixed a bug with loading player records into the bot's in-memory players table that was causing the number of records there to not always match the number of records in the database players table.  This bug was partly responsible for resetting some players as new when they joined the server.
 

Added SQLite databases and code to manage them.  SQLite is amazing!  I wish I had figured out how to use it years earlier.  I am using to to reduce load on the MySQL database.  This means that each bot can do the bulk of its rapid and frequent database tasks without touching the main database engine which in turn means that bots will experience less lag and commands will respond much quicker.
 

The reconnect timer no longer sets web tokens.  This was causing a slow infinite loop sometimes of setting web tokens.

New commands:

{/set player {steam id/name/entity id} name {new name}
Uses the botman console command bm-overridechatname or Stompy's bc-playername override console command if the Botman mod is missing.  This changes the in-game player name in chat however there is currently a bug in the Botman mod where it works but only in private chat which isn't very useful.

 
I have released Botman mod 2.3.2

The console command bm-overridechatname works properly now.  Also thanks to the bot it persists across reboots and player rejoins until an admin changes it.

The bot in-game command for this is /set player {steam id/name/entity id} name {new name}

eg.   /set player Joe name [GI] Joe

 
Botman mod 2.3.3 is out!  It fixes the console command bm-chunkreset.  Specifically it now regens water.  It may have yet more issues, I only did basic testing of it to make sure nothing bad happened and I was specifically testing regenerating an area with water.

 
I have released a very small update to the a18 and a19 code branches that should fix the lottery not getting won as often as expected.

 
I have fixed the bug in the daily lottery drawing and have released an update to the a18 and a19 code branches.  If people want a shot at the high lottery prize they better get in quick!

 
I have updated the Botman mod to version 2.3.4

There was a typo in the console command bm-pexport that prevented it saving with the supplied name.  Instead it saved as {filename}.  It is working correctly now.

 
Its a proof of concept.  I have yet to see it in the wild and I already have a few countermeasures in place and some that need a little work but are essentially ready.  When I am made aware of it actually happening on a server that has the bot on it (not just the mod) I will be able to investigate and code effective countermeasures.  Until then its a cool story.  Also I personally curate all anticheat bans and not once have any been unexplained or in any way in-doubt.  Its not like there isn't other evidence to confirm or disprove that a detection is wrong.  I always check for supporting evidence.

I look forward to the day it finally happens.  I expect it won't take much effort to at least prevent it from causing innocent players getting banned and I should have little trouble detecting the real hacker.  Its not likely that they will do absolutely nothing themselves.

 
Last edited by a moderator:
Hello. I found the bug with "lcbprefabrule". This is making fake claims on online map And nothing help to remove them.. I hope for the hotfix it. Thanks.

 
hi, I'm testing this is very good, but I don't understand how to do the mixed server (pvp / pve), that is, half of the pvp map and the other half pve. I put the coordinates in killzone but it does not warn anything if I am in pve or pvp zone. I don't really understand much.

 
Hello. I found the bug with "lcbprefabrule". This is making fake claims on online map And nothing help to remove them.. I hope for the hotfix it. Thanks.
Unless I am told other wise, the only way I can remove the fake/ghost LCB(s) that are returned to players is to access the players.xml file and remove the ones from the coords of live map showing them, of course when server is off.

Sadly I used to be able to place a new one, botman gives it back to me, I place again, it stays then I remove it in console using rlp xxxx (the coords of lcb) not now, now only players.xml file....

When removing coords in players.xml you need to use coords of (for example) 2676 53 3131 is in file as 2676,53,3131

 
Last edited by a moderator:
Back
Top