diff --git a/README.md b/README.md index f9f7d39a17..c1804d3db1 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ The main objective of this project is to try as best as possible to recreate wha --- ### 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 @@ -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: -* WampServer3.1.0_x64.exe -> recipient of the MySQL server. -* HeidiSQL_9.4.0.5125_Setup.exe -> MySQL client component, visually shows the DB data and hubs queries. +* WampServer2.0i.exe -> recipient of the MySQL server. +* 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. @@ -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". -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 diff --git a/docs/feature_list.txt b/docs/feature_list.md similarity index 97% rename from docs/feature_list.txt rename to docs/feature_list.md index 788194ec0f..4df4f51b30 100644 --- a/docs/feature_list.txt +++ b/docs/feature_list.md @@ -1,6 +1,8 @@ -========== HeavenMS (MapleSolaxiaV2) ========== +#**HeavenMS _(MapleSolaxiaV2)_** Credits: + Ronan - Developer + Vcoc - Freelance Developer --------------------------- @@ -18,6 +20,7 @@ Feature list: --------------------------- PQs: + * HPQ/KPQ/LPQ/LMPQ/OPQ/EllinPQ/PiratePQ/MagatiaPQ/HorntailPQ/AmoriaPQ. * CWKPQ as Expedition-based event. * Expeditions: Scarga/Horntail/Showa/Zakum/Pinkbean. @@ -28,10 +31,13 @@ PQs: * Capt. Latanica remade as an event (parties can now fight the boss). Skills: + * 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). +* 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: + * Doll house quest functional. * Quests can now reward properly items when matching a reward item with the player's job. * 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. Player Social Network: + * Guild and Alliance system fully functional. * Beginners can create and join a "beginner-only" party (characters up to level 10). Cash & Items: + * EXP/DROP/Cosmetic Coupons. * EXP/DROP coupons now appears as a buff effect when on active time. * Great deal of cash items functional. @@ -54,6 +62,7 @@ Cash & Items: * Pet item ignore. Monsters, Maps & Reactors: + * Every monsterbook card is now droppable by overworld mobs. * 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. @@ -66,18 +75,21 @@ Monsters, Maps & Reactors: * Updated Crimsonwood, World Tour and Neo City, enabling quest completion and game progression in these areas. PQ potentials: + * Lobby system - Multiple PQ instances on same channel. * 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. * 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: + * Adventurer Mount quests functional. * All Equipment levels up. * Player level rates. * Gain fame by quests. Server potentials: + * Multi-worlds. * Inventory auto-gather and auto-sorting feature. * 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. Admin/GM commands: + * Server commands layered by GM levels. * Spawn Zakum/Horntail/Pinkbean. * New commands. 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. * 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. @@ -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). Project: + * Organized project code. * Highly configurable server (see all server flags at ServerConstants). * Fixed/added some missing packets for MoveEnvironment, summons and others. diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 3287222d26..10e4a73544 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -2,6 +2,8 @@ - + + file:/C:/Nexon/MapleSolaxia/MapleSolaxiaV2/src/net/server/handlers/login/LoginPasswordHandler.java + diff --git a/sql/db_database.sql b/sql/db_database.sql index da5ffa9e5c..5a9bb4984f 100644 --- a/sql/db_database.sql +++ b/sql/db_database.sql @@ -63,14 +63,14 @@ CREATE TABLE IF NOT EXISTS `alliance` ( `rank5` varchar(11) NOT NULL DEFAULT '', PRIMARY KEY (`id`), INDEX (name) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; +) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `allianceguilds` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `allianceid` int(10) NOT NULL DEFAULT '-1', `guildid` int(10) NOT NULL DEFAULT '-1', 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` ( `id` int(11) NOT NULL AUTO_INCREMENT, @@ -78,7 +78,7 @@ CREATE TABLE IF NOT EXISTS `area_info` ( `area` int(11) NOT NULL, `info` varchar(200) NOT NULL, 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` ( `replyid` int(10) unsigned NOT NULL AUTO_INCREMENT, @@ -13052,14 +13052,14 @@ CREATE TABLE IF NOT EXISTS `makercreatedata` ( `quantity` smallint(6) NOT NULL, `tuc` tinyint(3) NOT NULL, PRIMARY KEY (`id`,`itemid`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `makerrecipedata` ( `itemid` int(11) NOT NULL, `req_item` int(11) NOT NULL, `count` smallint(6) NOT NULL, PRIMARY KEY (`itemid`,`req_item`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `makerrewarddata` ( `itemid` int(11) NOT NULL, @@ -13067,7 +13067,7 @@ CREATE TABLE IF NOT EXISTS `makerrewarddata` ( `quantity` smallint(6) NOT NULL, `prob` tinyint(3) unsigned NOT NULL DEFAULT '100', PRIMARY KEY (`itemid`,`rewardid`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=MyISAM DEFAULT CHARSET=latin1; # 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 @@ -15935,7 +15935,7 @@ CREATE TABLE IF NOT EXISTS `makerreagentdata` ( `stat` varchar(20) NOT NULL, `value` smallint(6) NOT NULL, PRIMARY KEY (`itemid`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; +) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT IGNORE INTO `makerreagentdata` (`itemid`, `stat`, `value`) VALUES (4250000, "incPAD", 1), @@ -16397,7 +16397,7 @@ CREATE TABLE IF NOT EXISTS `nxcoupons` ( `starthour` int(11) NOT NULL DEFAULT '0', `endhour` int(11) NOT NULL DEFAULT '0', 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 (1,5211000,2,254,18,20), diff --git a/sql/db_drops.sql b/sql/db_drops.sql index 40978a4c5c..7cf28764c5 100644 --- a/sql/db_drops.sql +++ b/sql/db_drops.sql @@ -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 USE `heavenms`; @@ -20040,7 +20040,7 @@ USE `heavenms`; UNIQUE KEY (`dropperid`, `itemid`), KEY `mobid` (`dropperid`), 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 INSERT INTO drop_data (dropperid, itemid, minimum_quantity, maximum_quantity, questid, chance) diff --git a/sql/db_shopupdate.sql b/sql/db_shopupdate.sql index 2d2cb67f84..d4897e89d3 100644 --- a/sql/db_shopupdate.sql +++ b/sql/db_shopupdate.sql @@ -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 USE `heavenms`;