Jump to content

Botman server manager official support thread


Smegzor

Recommended Posts

Claim vote uses the API key that is provided to you if you register your server at 7daystodie-servers.com

Once you have the API key, you can securely give it to the bot via the panel, or via irc.  I do not recommend telling the bot in game as you are required to keep that API key secret.  The bot for its part does not log the API as such.  It stores it in an ini file that only the bot has access to and any attempt to ask the bot for it won't work because the api key is automatically removed from all bot responses.  It literally can't tell you what your key is.  I don't encrypt it and probably won't since my code is open source so any encryption code I add is public.

 

Here is the in game command (which you can do via IRC by sticking cmd infront eg. cmd /uptime)

 

/set server api {api key from 7daystodie-servers.com}
Your API key is not recorded in logs or the databases and no bot command reports it.  It is used to determine if a player has voted for your server today.
While the bot takes precautions to keep your API key a secret, you should be careful not to type it anywhere in public.  The safest place to give it to the bot is in private chat on IRC or on the bot's web interface when that is available.

 

Here is the bot's IRC command

 

set api key {API key from 7daystodie-servers.com}
Tell the bot your servers API key.  DO NOT do this in a public channel!
Your key is not logged or displayed anywhere.  It is kept out of the database too.
Once set, your players will be able to use the command /claim vote.

Link to comment
Share on other sites

Hi guys!

 

I have released an important bug fix update to all bots on a18 and a19 (should be everyone).  There is also a bug fix version of Mudlet which I have installed on a few bots so far.  I will leave them running overnight and if nothing bad happens (shouldn't) I will replace everyone's Mudlet.  The main fix is IRC is 100% working now, not randomly going deaf to all commands send from IRC.  There are some other fixes and over the next 3 days I will be working on adding 1 or more SQLite3 databases which will host all the memory tables and the tracking table (but not inventory at this stage).  These changes and more that we are working on will significantly improve bot performance.

 

Link to comment
Share on other sites

The Botman mod has been updated to version 2.1.5 (for A19 only)

 

Changes:

Marking/filling now does it in a straight line no longer 1 block from the east this is pblock fixed!
Exporting prefabs now go to LocalPrefabs was changed in a19 now exporting prefabs they go there.

Link to comment
Share on other sites

  • 2 weeks later...

Anyone know what this error is when trying to use =>  visitmap -6144 -6144 6144 6144 (in console)

 

Using 7dtd b180 - live map worked before ....

works with standard in game maps also, so not sure what changed, and sorry, I understand the error, just don't know

why it's happening, or a fix, thanks.

live map error.png

using nitrogen map btw

 

working after a19 went stable...thanks for the help

Edited by kokuojeiku (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...

Hi guys!

 

I am working on several performance improvements around the bot's database activities which should make the bot generate a lot less frequent db traffic.  I have also fixed the last remaining IRC bug (where the bot can randomly fall off the irc channels and not notice).  There are some other bug fixes and some more coming and I hope to get a few long promised features finished this week.  My birthday is coming up fast and I'd like to get these things sorted while I'm still young.

 

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

  • 2 weeks later...

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.

 

Link to comment
Share on other sites

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.

 

Edited by Smegzor (see edit history)
Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

 

Edited by Smegzor (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...
On 10/24/2020 at 9:39 AM, Sunbursts said:

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

Edited by kokuojeiku (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...