Queries database then scans corresponding SQL file, replacing values
in INSERT statements with data from the database.
Is not smart about which INSERT statement gets which data; line-end
comments can get shuffled around if SQL file INSERTs are out of order
or missing. If you're doing INSERT or DELETE operations, make sure
to add a blank "INSERT INTO `table` VALUES ();" or manually remove
the INSERT statement respectively before dumping tables.
MyISAM = table level locking, fast but not safe for multiple simultaneous writes
InnoDB = row level locking, slow, but is safe for multiple simultaneous writes
```
Features MyISAM InnoDB
Type Non-Transactional Transactional
Locking Table locking Row-level locking
Foreign keys No Yes
Table, index, data storage Three separate files Combined Tablespace
ACID No Yes
```
- Rebranding.
- Migrate to GitLab.
- Add support for database updates when using Docker.
- Give purpose to version.h (adjust minor version with client updates).
- Add an in-game `!ver` command.
- Remove references to AGPL.
* Offset was wrong and time at dock was also wrong. This was fixed.
* Issue with docking position for Ferries is still wrong, but pos in table is now retail accurate.
* NPC at dock in Mhaura now moves when ferry arrives and departs, also tells you about it,
not 100% retail accurate as it needs to rotate when it reaches final location. Leaving it as a TODO
for someone else to complete it.
Npc List SQL: These updates were done by the new next-gen npc id job. This job is way more accurate than the previous version due to the changes we made in reformatting npc_list.sql. A handful of zones were detected as shifted. Since this is the first run of the new job, I tried to do some manual spot checking in each shifted zone, and from the npcs I spot checked, things were looking correct to me. With that said, it's still possible there are bugs. If anyone finds any, please tag me in the issue or change so that I can look at why the job did not update it correctly. I apologize in advance for any incorrect ids :p
Scripts/Transport/Elevators - These were done by a post processing script, which shifts any ids the npc list job shifted in any lua xcript or transport/elevators SQL. This is just done by doing an ordered by descending find/replace. What this means is, if the script was out of sync with the npc ids before this change, it will still have the wrong id and need to be fixed manually - otherwise it will have obtained the new id as according to the batch job. Any scripts that get manually corrected due to being out of sync should be automatically picked up next time its id shifts. Help in verifying these is appreciated - if we get them all in sync, this job should be able to keep them in sync.
Very interested in any bugs that may be found so that we can improve the jobs further. If anyone is interested in the jobs, check the darkstar-utils repo.
Attempts to locate and shift script ids to match new npc ids as necessary
I double checked any that were noted in a comment, but otherwise largely assumed they shifted by one, since all zones shifted by 1 with the addition of UnityMaster npc.
This means that if the npc was broken before from neglect, it probably still is, but otherwise its likely fixed.
I couldn't possibly test everything myself so please help test and report remaining issues.
SQL: Nashmau ferry ghosting issue, and that's all.
Getting the ferry NPCs to give the time dialog leads to them turning, and I can't do the dock NPCs speaking if the ferry arrives/departs without the player entity, so I guess I'm done for now ^^
SQL: Rescheduled Selbina-Mhaura, Mhaura-Aht Urghan, and Aht Urghan-Nashmau ferries to use closer to retail timing.
SCRIPTS: Ferries departing from Mhaura will no longer disconnect players. (Bug 868)
- Dock NPCs in Selbina and Aht Urghan will now give estimates for ferry activities, while Mhaura will also identify which ferry is passing through.
Need to fix Nashmau's NPC. I will probably add timing checks to the ferry captains as well, since I'm already overhauling the system.