Revert MySQL usage back to 5.1 (legacy)

Found inconsistencies with the usage of MySQL 5.7. In case of such scenarios, better continue using the legacy system.
Reverted ROM-like tables to MyISAM.
This commit is contained in:
ronancpl
2017-11-29 21:41:55 -02:00
parent f359d62f64
commit 0e70f6a4cd
6 changed files with 34 additions and 17 deletions
+4 -4
View File
@@ -16,7 +16,7 @@ The main objective of this project is to try as best as possible to recreate wha
--- ---
### Download items ### Download items
Server files: https://github.com/ronancpl/MapleSolaxiaV2 Server files: https://github.com/ronancpl/HeavenMS
Client files & general tools: https://drive.google.com/drive/folders/0BzDsHSr-0V4MYVJ0TWIxd05hYUk Client files & general tools: https://drive.google.com/drive/folders/0BzDsHSr-0V4MYVJ0TWIxd05hYUk
@@ -39,8 +39,8 @@ Use that link ONLY AS AN ORIENTATION on where here things start to become ambigu
Firstly, install all the general tools required to run the server: Firstly, install all the general tools required to run the server:
* WampServer3.1.0_x64.exe -> recipient of the MySQL server. * WampServer2.0i.exe -> recipient of the MySQL server.
* HeidiSQL_9.4.0.5125_Setup.exe -> MySQL client component, visually shows the DB data and hubs queries. * mysql-query-browser.msi -> MySQL client component, visually shows the DB data and hubs queries.
* hamachi.msi -> used for establishing a tunnelling route for the server/client communication. * hamachi.msi -> used for establishing a tunnelling route for the server/client communication.
@@ -79,7 +79,7 @@ Hamachi is optional, though. You don't have to install Hamachi if you want to ma
Set the "MapleSolaxiaV2" folder on a place of your preference. It is recommended for use "C:\Nexon\MapleSolaxiaV2". Set the "MapleSolaxiaV2" folder on a place of your preference. It is recommended for use "C:\Nexon\MapleSolaxiaV2".
Setting up the SQL: open HeidiSQL, then first-time create a new session, with these parameters at startup and click OK. Setting up the SQL: open MySQL Query Browser, then first-time create a new session, with these parameters at startup and click OK.
Server Host: localhost Port: 3306 Username: root Server Host: localhost Port: 3306 Username: root
+16 -1
View File
@@ -1,6 +1,8 @@
========== HeavenMS (MapleSolaxiaV2) ========== #**HeavenMS _(MapleSolaxiaV2)_**
Credits: Credits:
Ronan - Developer Ronan - Developer
Vcoc - Freelance Developer Vcoc - Freelance Developer
--------------------------- ---------------------------
@@ -18,6 +20,7 @@ Feature list:
--------------------------- ---------------------------
PQs: PQs:
* HPQ/KPQ/LPQ/LMPQ/OPQ/EllinPQ/PiratePQ/MagatiaPQ/HorntailPQ/AmoriaPQ. * HPQ/KPQ/LPQ/LMPQ/OPQ/EllinPQ/PiratePQ/MagatiaPQ/HorntailPQ/AmoriaPQ.
* CWKPQ as Expedition-based event. * CWKPQ as Expedition-based event.
* Expeditions: Scarga/Horntail/Showa/Zakum/Pinkbean. * Expeditions: Scarga/Horntail/Showa/Zakum/Pinkbean.
@@ -28,10 +31,13 @@ PQs:
* Capt. Latanica remade as an event (parties can now fight the boss). * Capt. Latanica remade as an event (parties can now fight the boss).
Skills: Skills:
* Maker skill features properly developed. * Maker skill features properly developed.
* Server is using heurisitics to calculate fee costs for the Maker (errors sums up to 8k mesos, reagent errors stacks up comformant with it's level). * Server is using heurisitics to calculate fee costs for the Maker (errors sums up to 8k mesos, reagent errors stacks up comformant with it's level).
* New skill: Chair Mastery (max lv 1) - Players having this passive skill can gain a significant boost of HP/MP recovery when sitting on a field/map chair.
Quests: Quests:
* Doll house quest functional. * Doll house quest functional.
* Quests can now reward properly items when matching a reward item with the player's job. * Quests can now reward properly items when matching a reward item with the player's job.
* Loads of quests have been patched. * Loads of quests have been patched.
@@ -39,10 +45,12 @@ Quests:
* Enchanced rewarding system: checks for stacking opportunities on the inventory before checking for new slots. * Enchanced rewarding system: checks for stacking opportunities on the inventory before checking for new slots.
Player Social Network: Player Social Network:
* Guild and Alliance system fully functional. * Guild and Alliance system fully functional.
* Beginners can create and join a "beginner-only" party (characters up to level 10). * Beginners can create and join a "beginner-only" party (characters up to level 10).
Cash & Items: Cash & Items:
* EXP/DROP/Cosmetic Coupons. * EXP/DROP/Cosmetic Coupons.
* EXP/DROP coupons now appears as a buff effect when on active time. * EXP/DROP coupons now appears as a buff effect when on active time.
* Great deal of cash items functional. * Great deal of cash items functional.
@@ -54,6 +62,7 @@ Cash & Items:
* Pet item ignore. * Pet item ignore.
Monsters, Maps & Reactors: Monsters, Maps & Reactors:
* Every monsterbook card is now droppable by overworld mobs. * Every monsterbook card is now droppable by overworld mobs.
* Added meso drop data for basically every missing overworld mob. * Added meso drop data for basically every missing overworld mob.
* Monsterbook displays drop data info conformant with the underlying DB (needs custom wz). See more on the MobBookUpdate feature. * Monsterbook displays drop data info conformant with the underlying DB (needs custom wz). See more on the MobBookUpdate feature.
@@ -66,18 +75,21 @@ Monsters, Maps & Reactors:
* Updated Crimsonwood, World Tour and Neo City, enabling quest completion and game progression in these areas. * Updated Crimsonwood, World Tour and Neo City, enabling quest completion and game progression in these areas.
PQ potentials: PQ potentials:
* Lobby system - Multiple PQ instances on same channel. * Lobby system - Multiple PQ instances on same channel.
* Expedition system - Multiples parties can attempt on a same instance (lobbies and expeds are mutually-exclusive). * Expedition system - Multiples parties can attempt on a same instance (lobbies and expeds are mutually-exclusive).
* Guild queue system - Guilds can register themselves on a queue for the GPQ. * Guild queue system - Guilds can register themselves on a queue for the GPQ.
* EIM Pool system - After the first instance setup, next event instances are loaded beforehand and set on a pooling queue, optimizing future loadouts. * EIM Pool system - After the first instance setup, next event instances are loaded beforehand and set on a pooling queue, optimizing future loadouts.
Player potentials: Player potentials:
* Adventurer Mount quests functional. * Adventurer Mount quests functional.
* All Equipment levels up. * All Equipment levels up.
* Player level rates. * Player level rates.
* Gain fame by quests. * Gain fame by quests.
Server potentials: Server potentials:
* Multi-worlds. * Multi-worlds.
* Inventory auto-gather and auto-sorting feature. * Inventory auto-gather and auto-sorting feature.
* Enhanced auto-pot system: pet uses as many potions as necessary to reach the desired threshold. * Enhanced auto-pot system: pet uses as many potions as necessary to reach the desired threshold.
@@ -92,11 +104,13 @@ Server potentials:
* Usage of Bcrypt (up-to-date) as the main password hashing algorithm, replacing old SHA's -- credits to shavit. * Usage of Bcrypt (up-to-date) as the main password hashing algorithm, replacing old SHA's -- credits to shavit.
Admin/GM commands: Admin/GM commands:
* Server commands layered by GM levels. * Server commands layered by GM levels.
* Spawn Zakum/Horntail/Pinkbean. * Spawn Zakum/Horntail/Pinkbean.
* New commands. * New commands.
External tools: External tools:
* MapleArrowFetcher - Updates min/max quantity dropped on all arrows drop data, calculations based on mob level and whether it's a boss or not. * MapleArrowFetcher - Updates min/max quantity dropped on all arrows drop data, calculations based on mob level and whether it's a boss or not.
* MapleCouponInstaller - Retrieves coupon info from the WZ and makes a SQL table with it. The server will use that table to gather info regarding rates and intervals. * MapleCouponInstaller - Retrieves coupon info from the WZ and makes a SQL table with it. The server will use that table to gather info regarding rates and intervals.
* MapleIdRetriever - Two behaviors: generates a SQL table with relation (id, name) of the handbook given as input. Given a file with names, outputs a file with ids. * MapleIdRetriever - Two behaviors: generates a SQL table with relation (id, name) of the handbook given as input. Given a file with names, outputs a file with ids.
@@ -109,6 +123,7 @@ External tools:
* MapleSkillMakerReagentIndexer - Generates a new maker table describing all stat-improvements from the Maker reagents (those empowering crystals and jewels). * MapleSkillMakerReagentIndexer - Generates a new maker table describing all stat-improvements from the Maker reagents (those empowering crystals and jewels).
Project: Project:
* Organized project code. * Organized project code.
* Highly configurable server (see all server flags at ServerConstants). * Highly configurable server (see all server flags at ServerConstants).
* Fixed/added some missing packets for MoveEnvironment, summons and others. * Fixed/added some missing packets for MoveEnvironment, summons and others.
+3 -1
View File
@@ -2,6 +2,8 @@
<project-private xmlns="http://www.netbeans.org/ns/project-private/1"> <project-private xmlns="http://www.netbeans.org/ns/project-private/1">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="2"/> <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="2"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group/> <group>
<file>file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/net/server/handlers/login/LoginPasswordHandler.java</file>
</group>
</open-files> </open-files>
</project-private> </project-private>
+8 -8
View File
@@ -63,14 +63,14 @@ CREATE TABLE IF NOT EXISTS `alliance` (
`rank5` varchar(11) NOT NULL DEFAULT '', `rank5` varchar(11) NOT NULL DEFAULT '',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
INDEX (name) INDEX (name)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `allianceguilds` ( CREATE TABLE IF NOT EXISTS `allianceguilds` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`allianceid` int(10) NOT NULL DEFAULT '-1', `allianceid` int(10) NOT NULL DEFAULT '-1',
`guildid` int(10) NOT NULL DEFAULT '-1', `guildid` int(10) NOT NULL DEFAULT '-1',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `area_info` ( CREATE TABLE IF NOT EXISTS `area_info` (
`id` int(11) NOT NULL AUTO_INCREMENT, `id` int(11) NOT NULL AUTO_INCREMENT,
@@ -78,7 +78,7 @@ CREATE TABLE IF NOT EXISTS `area_info` (
`area` int(11) NOT NULL, `area` int(11) NOT NULL,
`info` varchar(200) NOT NULL, `info` varchar(200) NOT NULL,
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `bbs_replies` ( CREATE TABLE IF NOT EXISTS `bbs_replies` (
`replyid` int(10) unsigned NOT NULL AUTO_INCREMENT, `replyid` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -13052,14 +13052,14 @@ CREATE TABLE IF NOT EXISTS `makercreatedata` (
`quantity` smallint(6) NOT NULL, `quantity` smallint(6) NOT NULL,
`tuc` tinyint(3) NOT NULL, `tuc` tinyint(3) NOT NULL,
PRIMARY KEY (`id`,`itemid`) PRIMARY KEY (`id`,`itemid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `makerrecipedata` ( CREATE TABLE IF NOT EXISTS `makerrecipedata` (
`itemid` int(11) NOT NULL, `itemid` int(11) NOT NULL,
`req_item` int(11) NOT NULL, `req_item` int(11) NOT NULL,
`count` smallint(6) NOT NULL, `count` smallint(6) NOT NULL,
PRIMARY KEY (`itemid`,`req_item`) PRIMARY KEY (`itemid`,`req_item`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `makerrewarddata` ( CREATE TABLE IF NOT EXISTS `makerrewarddata` (
`itemid` int(11) NOT NULL, `itemid` int(11) NOT NULL,
@@ -13067,7 +13067,7 @@ CREATE TABLE IF NOT EXISTS `makerrewarddata` (
`quantity` smallint(6) NOT NULL, `quantity` smallint(6) NOT NULL,
`prob` tinyint(3) unsigned NOT NULL DEFAULT '100', `prob` tinyint(3) unsigned NOT NULL DEFAULT '100',
PRIMARY KEY (`itemid`,`rewardid`) PRIMARY KEY (`itemid`,`rewardid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
# updated with the MapleSkillMakerFetcher feature # updated with the MapleSkillMakerFetcher feature
INSERT IGNORE INTO `makercreatedata` (`id`, `itemid`, `req_level`, `req_maker_level`, `req_meso`, `req_item`, `req_equip`, `catalyst`, `quantity`, `tuc`) VALUES INSERT IGNORE INTO `makercreatedata` (`id`, `itemid`, `req_level`, `req_maker_level`, `req_meso`, `req_item`, `req_equip`, `catalyst`, `quantity`, `tuc`) VALUES
@@ -15935,7 +15935,7 @@ CREATE TABLE IF NOT EXISTS `makerreagentdata` (
`stat` varchar(20) NOT NULL, `stat` varchar(20) NOT NULL,
`value` smallint(6) NOT NULL, `value` smallint(6) NOT NULL,
PRIMARY KEY (`itemid`) PRIMARY KEY (`itemid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT IGNORE INTO `makerreagentdata` (`itemid`, `stat`, `value`) VALUES INSERT IGNORE INTO `makerreagentdata` (`itemid`, `stat`, `value`) VALUES
(4250000, "incPAD", 1), (4250000, "incPAD", 1),
@@ -16397,7 +16397,7 @@ CREATE TABLE IF NOT EXISTS `nxcoupons` (
`starthour` int(11) NOT NULL DEFAULT '0', `starthour` int(11) NOT NULL DEFAULT '0',
`endhour` int(11) NOT NULL DEFAULT '0', `endhour` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=41 ; ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=41 ;
INSERT INTO `nxcoupons` (`id`, `couponid`, `rate`, `activeday`, `starthour`, `endhour`) VALUES INSERT INTO `nxcoupons` (`id`, `couponid`, `rate`, `activeday`, `starthour`, `endhour`) VALUES
(1,5211000,2,254,18,20), (1,5211000,2,254,18,20),
+2 -2
View File
@@ -1,4 +1,4 @@
#THIS SQL MUST BE USED AFTER 'db_database.sql' #THIS SQL MUST BE USED AFTER 'db_database.sql'
#NEXT SQL 'db_shopupdate.sql' IS OPTIONAL #NEXT SQL 'db_shopupdate.sql' IS OPTIONAL
USE `heavenms`; USE `heavenms`;
@@ -20040,7 +20040,7 @@ USE `heavenms`;
UNIQUE KEY (`dropperid`, `itemid`), UNIQUE KEY (`dropperid`, `itemid`),
KEY `mobid` (`dropperid`), KEY `mobid` (`dropperid`),
INDEX (dropperid, itemid) INDEX (dropperid, itemid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
#pass (sorted) data from one table to another #pass (sorted) data from one table to another
INSERT INTO drop_data (dropperid, itemid, minimum_quantity, maximum_quantity, questid, chance) INSERT INTO drop_data (dropperid, itemid, minimum_quantity, maximum_quantity, questid, chance)
+1 -1
View File
@@ -1,4 +1,4 @@
#THIS SQL IS OPTIONAL, TO BE USED AFTER 'db_drops.sql' #THIS SQL IS OPTIONAL, TO BE USED AFTER 'db_drops.sql'
#THIS REQUIRES PROVIDED WZ FILES #THIS REQUIRES PROVIDED WZ FILES
USE `heavenms`; USE `heavenms`;