Bots DB Versioning
Bots now have a database versioning system!
To access this feature, you MUST have compiled binaries with the cmake 'BOTS' enabled option. Adding/updating your database schema for bots is simple: 1) Run the eqemu_update.pl script ** It is recommended that you backup your database using one of the backup options before proceeding ** 2) Select the "4) [EQEmu DB Bots Schema] Check for Bot REQUIRED database updates... (Must have bots enabled)" option 3) Select the option again if there are PENDING updates That's all there is to it! Notes on what will occur: - For non-bots databases, all required schema will be applied - For databases with existing schema: --> The new schema will be created --> A required conversion will be applied --> The original tables will be renamed to <table_name>##'_old' For administrators who run an active 'bots' server, I recommend letting this settle for a day or two so that anything I may have missed can be addressed. As currently implemented, bots must be updated by running the script. The methodology of the 'world' process call is not setup to handle the 'bots' integration. I have tested this pretty thoroughly and Akkadius tested the changes to the eqemu_update.pl script prior. Hopefully, this will be a move in the right direction for keeping bots active and not side-lined! ================================================== ================================================== === Changes: - Bot database schema now more closely reflects the Player Profile conversion schema - Some new fields have been added to a few tables for near-future implementations - Bot time is now the int-based UNIX_TIMESTAMP standard - matching current character fields - Default rules have been renamed to address 'naming oddities' in contextual reference - A few broken processes have been fixed and are working properly ================================================== ================================================== === Special note on restoring bots database backups: http://www.eqemulator.org/forums/sho...d.php?p=244321 |
You the man Uleat!
|
If you're running a 'bots' server, please keep an eye on this thread for important fixes related to this implementation.
- Fix Bot::Save() - mislabeled column name `creation_date` correction in new bot save code (thanks rencro!) |
Nice work Uleat!
|
You're my master!
|
The 2015_09_30_bots.sql file has been updated to exclude broken key constraints and the system has been re-enabled.
Please post if you run into any issues. Sorry for the inconvenience! |
Here is the result of a 'standard' post-conversion bot tables query: http://wiki.eqemulator.org/i?Module=...Paste=TtvuBFHN
If you have custom tables, they should be updated to reflect any name changes to the 'standard' bots schema. |
There is a known issue being addressed with the 2015_09_30_bots.sql file.
The update script will report errors at these lines: - #675 - #735 - #755 - #768 - #779 It was traced to the conditional check for `bot_inventories` regarding the 6th augment slot. If you're having issues with this, please ask for a solution in this thread. |
I updated to latest bot code and found there is a nasty bug with loading bots.
The HP values don't match with the rows its referencing, thus HP is always set to 75 when they are loaded/spawned (bc it references atk and loads it into the hp field). I was wondering why every time I spawned a bot it would have low health. So in bots.cpp LoadBot function, change the atoi(row[27]) to atoi(row[28]) and its fixed! Figured you guys would want to know. Here is the whole function(fixed) so you can see what I mean. Code:
Bot* Bot::LoadBot(uint32 botID, std::string* errorMessage) |
Good catch!!
Sorry about that..not quite sure how that happened. Fixed in master branch. |
Quote:
Code:
Running Update: 9000 - 2015_09_30_bots.sql |
Can you verify that: 'DROP FUNCTION IF EXISTS `GetMobType`;'
is the line 18 that is failing? EDIT: Couple of mentions of corruption and one of the dev's link this: http://webcheatsheet.com/sql/Fix_Can..._corrupted.php You will also need to set your `db_version`.`bots_version` value back to '0' so that the updater will run - or.. run the update script manually and ensure that your above mentioned field is set to '9000' |
Quote:
|
Glad you got it working!
|
I updated the 2015_09_30_bots.sql script file in hopes that we can alleviate those special case failures.
EDIT: If you happen to use this updated script, please let me know if it is working properly. |
All times are GMT -4. The time now is 03:40 AM. |
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.