Commit Graph

419 Commits

Author SHA1 Message Date
Ponk
d2b3372dd4 Merge pull request #4 from P0nk/db-connection
Upgrade MySQL version, fix connection pool, rework Docker support
2021-04-03 15:26:18 +02:00
P0nk
34e3cd1cbd Clean up unused files 2021-04-03 15:23:10 +02:00
P0nk
90687007f5 Rework Docker support
- Use multi-stage build for the application image
- Utilize connection pool init timeout for waiting on database container startup,
"docker-compose-wait" dependency is no longer required
- Override database host through environment variable - used in docker-compose
- Rename database scripts for explicit ordering (db container loads them alphabetically)
2021-04-03 14:59:37 +02:00
P0nk
8b7e989fed Use native way for connection pool init timeout 2021-04-02 20:16:57 +02:00
P0nk
08a0407417 Explicitly set scrolling mode where ResultSet is used for scrolling 2021-04-02 16:41:44 +02:00
P0nk
754ab67de7 Change default birthday and tempban to fix conversion issue
ResultSet#getLong on a timestamp field is not allowed
2021-04-02 16:12:57 +02:00
P0nk
7169a74e94 Make connection pool init timeout configurable 2021-04-02 15:14:55 +02:00
P0nk
45331d17b0 Set up connection pool and enforce usage of it
Attempt to initialize connection pool on startup until a timeout.
2021-04-02 14:20:45 +02:00
P0nk
05bd668cc2 Upgrade to MySQL 8
Workaround for exception thrown by ResultSet#beforeFirst():
"Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY"
2021-04-02 14:09:49 +02:00
P0nk
2873d0d031 Update database credentials 2021-04-02 13:52:44 +02:00
Ponk
5d75f4a53a Merge pull request #3 from P0nk/maven
Set up Maven for dependencies and build
2021-04-01 16:40:36 +02:00
P0nk
7b61dc3d58 Update README with download links 2021-04-01 16:27:31 +02:00
P0nk
8a3db29b02 Fix launch.bat
- Use latest Java 8 version
- Target the artifact produced by Maven
2021-04-01 07:36:33 +02:00
P0nk
e8fd11c08c Build jar with maven "package" lifecycle 2021-03-31 22:07:49 +02:00
P0nk
6583337f48 Clean up NetBeans files and dependencies 2021-03-30 22:48:51 +02:00
P0nk
4fae148e35 Move dependencies to pom 2021-03-30 22:14:57 +02:00
P0nk
813643036b Switch to Maven file structure 2021-03-30 21:56:34 +02:00
Ponk
4acc5675d6 Set project name to "Cosmic" (#2)
* Change name to Cosmic

* Update database credentials
2021-03-29 22:22:06 +02:00
Ponk
c2d80578fe First commit of HeavenMS-2! Updated README (#1) 2021-03-21 20:24:52 +01:00
ronancpl
d5d775f184 Unmount project files
Update contents in order to promote IDE wildcarding of the base source.
2019-12-28 08:25:53 -03:00
ronancpl
af5206cbfc Update README.md 2019-12-28 06:47:59 -03:00
ronancpl
388fe87c31 Update feature_list.md rev398 2019-12-27 03:26:20 -03:00
ronancpl
b22813c8e5 P. Search on DB & Bamboo Rain patch
Revised bosses on Dojo taking OHKO's from Bamboo Rain.
Fixed default table attribute "partySearch" on DB.
Preparing for new release.
2019-12-27 02:27:10 -03:00
ronancpl
07fe495bfd Skillbook announcer update + Encoded temporary mob buffs + Slot gains patch
Encoded temporary mob buffs on mob control request/spawn packets.
Improved scroll generator NPC, now testing other bucket set possibilities.
Fixed slot gain method recently updated leading to a temporary visual glitch (inventory would show as normal after relogin).
Reviewed mobid check by name, no longer trying to generate a whole mob instance for info retrieval.
Added debuff purge when applying a buyback.
Reviewed skillbook announcer not informing properly storybooks, reactor or script loots.
Fixed autoaggro not working properly as soon as a player enters the field.
Fixed "fake" mobs disappearing as soon as its controller changes.
2019-12-24 20:11:32 -03:00
ronancpl
959d990ab8 Merging credits_update branch
Updated year timestamp on copyleft headers.
Updated aliases on credits, on where they may have been missing.
2019-12-13 02:52:36 -03:00
ronancpl
183017ca3b Updating credits & missing aliases 2019-12-13 02:35:26 -03:00
ronancpl
a60191cc82 Update AbstractMapleCharacterObject.java
Patch up on AP assigning handing NPE's after null marks started being used for unwarranted stats.
2019-12-07 22:02:40 -03:00
ronancpl
8afbff9db9 Stat pool & Skills on change field Patch + Elemental Charge broadcast
Patched account storages not getting cached properly at login time.
Reviewed item acquisition at the Cash Shop happening before point transaction.
EXP toggle flag now also works on equipment gains.
Factored several skills (Energy Charge, Wind Walk, Dash) not updating properly other players when changing maps.
Refactored stat pool system, which wasn't working properly on limit scenarios.
Fixed "untradeable at wear"equipments losing flags upon equipping.
Reviewed Inventory Sort, now sorting projectiles at descending order on damage.
Implemented support for visibility of effects on weapons imbued with Charge skill (e.g. Paladin's Holy Charge) for other players.
2019-12-07 03:05:26 -03:00
DevilTea
06b43d9e07 Add docker-compose support (#545) 2019-11-27 20:06:01 -03:00
ronancpl
bb586a7c0b Storybook announce + AOE Mobskills & Autopot & Inventory check Patch
Implemented storybook detection for the skillbook announcer.
Fixed an issue with AOE mob skills not locating players properly in certain situations.
Reviewed interaction of players within same remote network on multiclient system.
Patched messages when leaving the expedition area showing up for leaving players.
Patched some skill questline item chances unexpectedly too low.
Reviewed Rush questline-exclusive area not allowing multiple players in the room.
Fixed meso capacity check on shop owner happening after item transaction.
Patched server-side autopot settings, now using threshold cooling method to determine a player's updated settings.
Reviewed locking flow regarding world/channel deployment on main class.
Fixed a scenario where items collectable by party members would not show up in case those were the only items to be dropped and none needed by the last-hitter.
Patched an issue in the inventory space checking algorithm that would allow a transaction for multiple of the same equipments.
Refactored Dojo entry/exit modules.
Patched a check on Maker skill.
Fixed Cygnus FA buff getting reapplied each time the skill procs.
2019-11-26 01:13:15 -03:00
ronancpl
661dcf0a96 Quickslot Bindings
Added quickslot bindings, courtesy of @shavitush.
2019-11-19 01:15:52 -03:00
ronancpl
c7048a09ac Updating more credits 2019-11-14 23:57:28 -03:00
ronancpl
75d026b27f Updating credits 2019-11-14 22:38:59 -03:00
ronancpl
2045852e9c Merge branch 'master' of https://github.com/ronancpl/HeavenMS into credits_update 2019-11-14 22:35:43 -03:00
ronancpl
6d57eb1033 After-quest messages & MCPQ patch + Scroll Generator
Fixed an issue within Restore Lost Item functionality.
New custom NPC: scroll generator. Trades a scroll for bundles of common miscellaneous items.
Revised several lock-acquiring flow scenarios.
Fixed pet autopot taking out "negative" amounts from inventory.
Added zombify and confuse diseases dispellable by all-cure potions.
Patched after-quest messages sometimes allowing player movement, that shouldn't be available until the message box is closed.
Reviewed multiclient component, now also evaluating passed HWID alongside remote IP.
Fixed missing info about questlines on skillbook announcer NPC after recent updates.
Fixed some Aran skills not applying MP consume properly.
Cleared a few issues within MCPQ collectable solo/party items and skills.
Improved response time on scroll generator by adding a cache for scroll requirements.
2019-11-14 00:49:15 -03:00
ronancpl
d9f87f18a1 Script references patch
Cleared issue in a few scripts which would be trying to access Java Math library methods with unexpected parameter types.
Fixed EllinPQ rewarder NPC handing out an unexpected itemid to the player.
Cleared SQL foreign key constraint statement no longer supposed to be used.
2019-10-30 23:31:15 -03:00
ronancpl
7d8d4691da Services unrestrained to channels + Event scripts placeholder
Fixed an inconsistent scenario where player data would remain in world player storage even though they were no longer online.
Implemented missing functionality for "Safety Charm" which allows 30% MaxHP/MP heal on return.
Improved services facility, no longer tightly related to channels.
Implemented a world service for "save players" (services acts as a monitor).
Reviewed the event script initialization approach. Players no longer are retained from logging in on a channel whilst the events don't finish loadup.
Fixed certain quest items not showing up, which would happen due to them not being quest requisites.
Fixed NPC Pi crashing players when trying to craft arrows.
Fixed pet re-evolution quest not working on Robos.
Fixed boss HPBar not disappearing in certain situations.
Revised gathered mob info on linked mobs, no longer marshaling stats.
Fixed two possible deadlock scenarios within the cancel effect method.
Added lock auditing support for read-write locks.
Implemented code support for Cygnus intro clip.
Reviewed updateBuffEffect, now properly checking for pirate buffs in order to send the expected packet.
Reviewed unnecessary load of field objects, which would be doing so just for fetching the predicted map names.
Fixed mob buff tooltips not showing on "fake" mobs in the event of them turning into "real".
Reviewed usage of "unique" constraint on petid within the inventoryitems table.
Fixed portal in Ariant unexpectedly leading players who completed the "secret passageway" of Sleepywood into it.
Fixed a loop case in quest scripts from Magatia's broker having ore request.
2019-10-29 01:48:58 -03:00
salem909
54cdba01ae Update AbstractMovementPacketHandler (#532)
updatePosition should throw exception too in default case 👍
2019-10-15 15:13:22 -03:00
ronancpl
efbf415787 Update db_database.sql 2019-10-12 17:31:38 -03:00
ronancpl
80cd240ab8 Channel Services + Mob Movement patch + Portal map scripts
Refactored several schedulers within the channel class, now running within their own service modules.
Fixed a case where mob movements would get mistakably processed for other than the target mob during a map transition, leading to weird movements on the mob in the entered area.
Added usage of foreign key for petid's.
Implemented functionality for "Hair Membership" coupons.
Fixed skill Body Pressure not applying the chance to neutralise on touch.
Fixed quest related to NPC Shaman Rock not completing due to unmatched progress.
Fixed an issue with updating title progress "Touch the Sky".
2019-10-12 17:13:03 -03:00
Gambiner
b93c9ce1d6 Overhaul of in-game text focusing on consumable items (#523)
* Update Say.img.xml

* Update Act.img.xml

* Update Check.img.xml

* Cleanup of descriptions for consumable items

- Fixed broken line returns.
- Made minor adjustments to some item descriptions to make them more GMS-like.
- Fixed various typos, spelling errors, grammar problems, etc.
- Changed description of Sunrise Dew to indicate 4050 MP recovery (was 4000).
- Added description of item effects in tooltips for Heartstopper and Smore.
- Tweaked scroll and mastery book descriptions to follow a consistent format.

* Catchup updates + small fixes

- Small fixes to text here and there.
- Say.img.xml and QuestInfo.img.xml should include updates that were made from the previous HeavenMS commit.
2019-10-06 19:03:33 -03:00
ronancpl
7ee947b404 Quest progress overview + Raise UI scripting + Shelved events loadout
Performed a syllabus over quest progress tracking. Quests that were supposed to show up as startable/completable upon achieved progress should be able to do so. Reviewed progress tracking on scripts to adequate to this scenario.
Fixed some scenarios on where quest dialog popups would appear when updating a quest progress.
Fixed some scripts not using updated package addresses after the recent package refactor.
Reviewed Raise UI, no longer rendering players unable to access CS/MTS in certain scenarios.
Fixed a check of available space in inventory, when trying to obtain items from quests, not informing the player it happened due to a one-of-a-kind item already present.
Fixed quest dialog (feature present in many quests) not showing to players when completing it.
Fixed several issues with the Cygnus 1st job advancement quests.
Added scripting within Raise UI open action. Mimiana egg uses this to keep track of player's EXP progress.
Fixed pets not getting despawned as expiration takes place.
Fixed hidden players being able to control mobs when either entering map or hidden state.
Fixed estimated HP/MP alert not taking bonuses (such as from buffs or equipments) into account.
Fixed Energy Charge refreshing buff time upon touching mobs, skewing the  uptime of the skill's stat buffs.
Switched SnakeYaml for YamlBeans, which makes up for a single JAR artifact.
Refactored a channel's event scripts loadout, now taking place after the server bootup phase.
2019-10-03 20:01:09 -03:00
ronancpl
eae6dccbc0 Broad packages refactor
Added macro update when using SP reset.
Refactored several packages containing general classes.
Fixed "worker" nomenclature in class methods misleadingly denoting "task".
2019-09-20 22:41:19 -03:00
Adam James-Liebau Johnson
181573dc74 Riizade/config file (#520)
* added POJO + yaml file

* made config members public

* switched to yaml

* modified files to use YamlConfig over ServerConstants

* removed constants from ServerConstants

* removed unused imports

* removed unused import

* removed world ini

* removed now unused .ini files

* fixed docker-launch.sh

* added jackson dependency JARs

* fixed errors

* removed unused server config values, added world defaults

* don't use env variables for docker

* fixed package imports/specifiers for js files
2019-09-20 20:49:24 -03:00
ronancpl
e169971384 Knights' Seal & I. MaxHP + Adherent mob status + Script point-warps
Fixed Seal skill not working for Blaze Wizard.
Added a check against Seal skill on bosses.
Reviewed improper usage of "random spawn point arrival" at several warps on scripts.
Refactored CPQ modules fetching players from the channel storage, this should be unneeded after a recent update on the player object from MPC.
Added door objects as a visible map object for the player server-side view component.
Fixed a few scenarios where mobs would unexpectedly show up impervious to mob status.
Fixed scenario where a player wouldn't receive disease informations from other players after changing maps.
Fixed some magic-type skills (such as Magic Claw or Freeze) not displaying damage value for other players when the player is within melee-range from the mob.
Added check for whether a given quest is scripted before trying to find the script.
Fixed registering items onto MTS leading to loss of a few of its properties (expiration, item level, etc).
Fixed "Improved MaxHP" skill gains not working for Thunderbreakers.
Refactored pet autopot to also apply on HP/MP consumption by items/skills.
Added portal sound effect on Mystic Doors.
2019-09-13 03:04:44 -03:00
Ubaware
259c2e5ba1 Fix for daily timers. Minor family fixes. Server code to change guild leader. (#513) 2019-09-13 01:25:16 -03:00
BHB88
da2395cc3a Add Aran High Defense functionality (#512)
* Add High Defense functionality

* Use proper morph models
2019-09-13 01:17:28 -03:00
ronancpl
ab756a1f5a Update mychanges_ptbr.txt 2019-08-30 00:47:29 -03:00
ronancpl
82d6d6d757 Io write Update
Removed usage of busy loop in handling sent packets.
2019-08-30 00:44:05 -03:00
ronancpl
efbce82a8b Pooled Io Write + EXP loss & Detached morph patch + Storages in World
Fixed autocommit getting called early/unavailable in a few catch blocks, when trying to save player.
Fixed the missing variable declaration in several quest scripts that were recently formatted.
Reworked the EXP loss formula applied at a knock-out. The new formula follows past discussions in several MS forums.
Fixed a deadlock issue related with party HP and party doors management.
Refactored management of packets sent to client through an IoSession. New system no longer makes use of a synchronized statement when calling announce(packet), rather makes use of dedicated threads to send queued packets for the respective players.
Fixed SP reset allowing increase of unexpected skills.
Refactored storages, no longer instantiated as coupled with the character, rather instantiated in a map within the world object, with accountid as key.
Reviewed usage of character objects of offline party members, that weren't being properly checked.
Fixed some unexpected cases with buffs and morphs (within the enhanced buff system) making the latter show up as another morph figure.
Added a "priority buff" perspective within the enhanced buff system, to let such priority items/skills take awareness over other buffs. (This would be vital for some quests, as the one reported in #514 )
Fixed EXP gains in certain scenarios showing up with less amount than the expected (due to float point operations).
Fixed a critical bug that have emerged in a recent mount-skill update, issue happened due to an improper object initialization.
Fixed mount information packet not being relayed to the player at world login time, rendering some quests not startable until the mob levels up.
2019-08-28 03:49:05 -03:00