[Feature] Client Checksum Verification (Resubmit old 1678) (#1922)

* [Feature] Client Checksum Verification (Resubmit old 1678)

* Updated db version

* Add new updatechecksum to CmakeLists.txt

* Removed magic number and used constant

* Fix new command to have access to worldserver

* spacing, more venbose desc and remove unneeded check

* Cleanup, refactoring

Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
Paul Coene
2022-03-06 21:26:29 -05:00
committed by GitHub
parent eca2ed0321
commit 2a5ddde78a
23 changed files with 356 additions and 33 deletions
+3 -2
View File
@@ -22,8 +22,9 @@ OP_ExpansionInfo=0x590d
OP_GuildsList=0x507a
OP_EnterWorld=0x578f
OP_PostEnterWorld=0x6259
OP_World_Client_CRC1=0x12cc
OP_World_Client_CRC2=0x0f13
OP_World_Client_CRC1=0x0f13
OP_World_Client_CRC2=0x4b8d
OP_World_Client_CRC3=0x298d
OP_SendSpellChecksum=0x0000
OP_SendSkillCapsChecksum=0x0000
@@ -249,6 +249,11 @@ foreach my $table_to_generate (@tables) {
$default_value = '""';
}
# for datetime values that set default value all zeroed out
if ($default_value =~ /0000-00-00 00:00:00/i) {
$default_value = 0;
}
my $struct_data_type = translate_mysql_data_type_to_c($data_type);
# struct
+1
View File
@@ -429,6 +429,7 @@
9173|2021_09_14_zone_lava_damage.sql|SHOW COLUMNS FROM `zone` LIKE 'lava_damage'|empty|
9174|2021_10_09_not_null_door_columns.sql|SELECT * FROM db_version WHERE version >= 9174|empty|
9175|2022_01_02_expansion_default_value_all.sql|SHOW COLUMNS FROM `forage` LIKE 'min_expansion'|contains|unsigned
9176|2022_01_10_checksum_verification.sql|SHOW COLUMNS FROM `account` LIKE 'checksum_crc1_eqgame'|empty|
# Upgrade conditions:
# This won't be needed after this system is implemented, but it is used database that are not
@@ -0,0 +1,10 @@
INSERT INTO `variables` (`varname`, `value`, `information`, `ts`) VALUES ('crc_eqgame', '0', 'Client CRC64 Checksum on: eqgame.exe', '2021-09-23 14:16:27');
INSERT INTO `variables` (`varname`, `value`, `information`, `ts`) VALUES ('crc_skillcaps', '0', 'Client CRC64 Checksum on: SkillCaps.txt', '2021-09-23 14:16:21');
INSERT INTO `variables` (`varname`, `value`, `information`, `ts`) VALUES ('crc_basedata', '0', 'Client CRC64 Checksum on: BaseData.txt','2021-09-23 14:16:21');
ALTER TABLE `account`
ADD COLUMN `crc_eqgame` TEXT NULL AFTER `suspend_reason`,
ADD COLUMN `crc_skillcaps` TEXT NULL AFTER `crc_eqgame`,
ADD COLUMN `crc_basedata` TEXT NULL AFTER `crc_skillcaps`;
ALTER TABLE account` CHANGE `suspendeduntil` `suspendeduntil` datetime NULL COMMENT '';