Dynamic World/Channel deployment + Channel scheduler update

Added "8-slot SETUP expand" item on the CashShop.
Solved a concurrency issue on the fameGainByQuest method.
Refactored many resource freeing modules throughout the source code.
Implemented dynamic deployment of worlds and channels on the server system. Only creation of channels and worlds are available on this feature.
Added a dedicated worker for schedules requested on EventManager.
Fixed a potential cause for deadlocks on the channel schedulers' system.
Refactored many schedules used by the EventManager and Channel, futher improving overall scheduling performance on the server.
This commit is contained in:
ronancpl
2018-07-23 20:45:41 -03:00
parent bee8b5259b
commit 8aadf7c369
48 changed files with 1152 additions and 260 deletions

View File

@@ -132,6 +132,7 @@ Player potentials:
Server potentials:
* Multi-worlds.
* Dynamic World/Channel deployment.
* Inventory auto-gather and auto-sorting feature.
* Enhanced auto-pot system: pet uses as many potions as necessary to reach the desired threshold.
* Enhanced buff system: smartly checks for the best available buff effects to be active on the player.

View File

@@ -1163,4 +1163,13 @@ Implementado um sistema adicional de checagem de slots disponíveis no inventár
Corrigido tooltip de player shops e hired merchants, agora com ícone mostrando se há como visitar uma loja ou está ocupada.
Corrigido player shop permits diferentes do comum não sendo consumidos ao usar.
Corrigido player shop sempre aparecendo como o tipo básico (sem estandes), para qualquer permit itemid.
Corrigido cash pet food ignorando certos petids ao ler dados do WZ.
Corrigido cash pet food ignorando certos petids ao ler dados do WZ.
21 - 23 Julho 2018,
Adicionado "Add SETUP slot" na lista de itens do cash shop.
Corrigido problema de acesso concorrente no método fameGainByQuest.
Refatorado vários métodos de liberamento de recursos do server, tais como em: Channel, MapleMap, MapleMapFactory e EventManager.
Implementado código que ofereçe suporte para abrir novos worlds e channels sob demanda.
Adicionado scheduler dedicado para ações de event managers.
Corrigido potencial de deadlock em alguns pontos do sistema de schedulers de canais.
Refatorado vários temporizadores utilizados pelo EventManager e Channel, como o respawn de mobs e o disposeInstance.