Using Java ThreadPool + Mob Skills & Event Instance patch + Eqp Merge
Server source now uses Java ThreadPool, recycling used thread resources for next uses. Added Grenade visual effect for other players. Implemented an attempt towards unsynced mob behavior, where reportedly players were able to pin same mob in different sections of the map. Solved several deadlock issues, mostly regarding character synchronized methods, event instance scripts and player/item vision-unvision. Solved an issue where mobs would not cast some skills of it's skillset. Frequent behavior on low-leveled mobs. Fixed a bug on 2nd Maker quest where players could complete it by merely disassembling an equipment. New custom mechanic: equipment merge. Similarly to the Bazaar NPC, every equipment after the selected one is used up, and a fraction of their stat amounts are used as stat gains on the currently equipped items. If restrictions are enabled, players must be high-leveled and Maker lv3 to use it. Skill Storm Break no longer uses up arrows. Added a server flag to allow access for all Aran job skills from the beginning. Implemented Battleship and Super Transformation questline scripts. Fixed a desynchronization within pet position and cash inventory position, that could potentially lead to some inventory issues until relogin. Improved timestamp handling in some handler classes. Spam detection is entirely a server-side matter, hence removed usage of client-sided timestamp content. Refactored some pet response packets, improving some of their behaviors. Fixed some quest issues: Maker lv1 and Omega Sector meteorite one.
This commit is contained in:
@@ -89,6 +89,7 @@ Cash & Items:
|
||||
* Storage with "Arrange Items" feature functional.
|
||||
* Close-quarters evaluation mode for items (sandbox).
|
||||
* Further improved Karma scissors & Untradeable items mechanics.
|
||||
* Reviewed pet/item position data inconsistency within CASH inventory.
|
||||
* Spikes on shoes.
|
||||
* Vega's spell.
|
||||
* Owl of Minerva.
|
||||
@@ -175,6 +176,7 @@ Server potentials:
|
||||
* Delete Character (requires ENABLE_PIC activated).
|
||||
* Smoothed up view-all-char feature, now showing properly all available characters and not disconnecting players too often.
|
||||
* Centralized getcurrenttime throughout several server handlers, boosting it's performance overall.
|
||||
* Centralized server timestamping, several timestamps received from clients are now unused, preventing some spammable exploits.
|
||||
* Autosaver (periodically saves on DB current state of every player in-game).
|
||||
* Both fixed and randomized versions of HP/MP growth rate available, regarding player job (enable one at ServerConstants). Placeholder for HP/MP washing feature.
|
||||
* Implemented methods to get the current Players' MaxHP/MaxMP method with equipment HP/MP gains already summed up.
|
||||
@@ -191,6 +193,7 @@ Custom NPCs:
|
||||
* Asia: scroll & rarities shop NPC.
|
||||
* Abdula: lists droppers of needed skill/mastery books.
|
||||
* Agent E: accessory crafter.
|
||||
* Dalair: automatized equipment-merger.
|
||||
* Donation Box: automatized item-buyer.
|
||||
* Coco & Ace of Hearts: C. scroll crafters.
|
||||
|
||||
@@ -239,6 +242,7 @@ Project:
|
||||
* Reviewed SQL data, eliminating duplicated entries on the tables.
|
||||
* Improved login phase, using cache over DB queries.
|
||||
* Usage of HikariCP to improve the DB connection management.
|
||||
* Usage of Java Threadpool to improve runnable call management.
|
||||
* Developed many survey tools for content profiling.
|
||||
* Developed a robust anti-exploit login coordinator system.
|
||||
* Protected many flaws with login management system.
|
||||
|
||||
20
docs/moveactions.txt
Normal file
20
docs/moveactions.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
0 walk right
|
||||
1 walk left
|
||||
2 walk right
|
||||
3 walk left
|
||||
4 stand right
|
||||
5 stand left
|
||||
6 jump right
|
||||
7 jump left
|
||||
8 defend right
|
||||
9 defend left
|
||||
10 prone right
|
||||
11 prone left
|
||||
12 swim right
|
||||
13 swim left
|
||||
14 15 ladder left
|
||||
16 17 ladder mid
|
||||
18 dead right
|
||||
19 dead left
|
||||
20 sit right
|
||||
21 sit left
|
||||
@@ -2,12 +2,15 @@
|
||||
Spiegelmann -> 2042000
|
||||
Coco -> 9000017
|
||||
Agent E -> 9000036
|
||||
Dalair -> 9000040
|
||||
Donation Box -> 9000041
|
||||
Abdula -> 9209000
|
||||
Abdula -> 9209000 *
|
||||
|
||||
CUSTOM NPC SHOPS:
|
||||
Asia -> 2082014
|
||||
T-1337 -> 9201101
|
||||
CUSTOM NPC SHOPS (db_shopupdate.sql):
|
||||
Asia -> 2082014 *
|
||||
T-1337 -> 9201101 *
|
||||
|
||||
* : those won't get disabled when USE_ENABLE_CUSTOM_NPC_SCRIPTS = false
|
||||
|
||||
LOGS:
|
||||
|
||||
@@ -1414,4 +1417,40 @@ Removido possibilidade de colocar itens "untradeable" no Duey.
|
||||
Removido possibilidade de preparar engagements enquanto segurando aneis de casamento.
|
||||
|
||||
23 Outubro 2018,
|
||||
Adicionado script para quest de 4o job de Cygnus Knights.
|
||||
Adicionado script para quest de 4o job de Cygnus Knights.
|
||||
|
||||
25 - 27 Outubro 2018,
|
||||
Scripts de eventos agora executam em uma thread separada, assim resolvendo possíveis problemas de deadlocks.
|
||||
Realizada tentativa de solução para casos onde jogadores percebem mobs em pontos diferentes do mapa em certas situações.
|
||||
Clareado um problema de deadlock relacionado a packets de visão/desaparecimento de jogadores e mobs.
|
||||
Resolvido diversos problemas de deadlocks relacionados com event instances.
|
||||
Implementado ThreadManager. Este sistema utiliza a abordagem de ThreadPool para reciclagem de threads utilizadas, assim eliminando realização de overhead ao criar novas threads a todo uso.
|
||||
Resolvido certos casos onde requisição de item pickup de jogador não era devidamente registrado pelo servidor como ação válida.
|
||||
|
||||
29 - 31 Outubro 2018,
|
||||
Corrigido mobs não lançando skills em determinados casos. Comportamento notável era mobs de nível baixo utilizando nenhuma skill.
|
||||
Skill Storm Break não mais remove flechas ao ser utilizada.
|
||||
Implementado método que força alteração na posição atual de mobs no mapa.
|
||||
Mobs que forem atacados de muito longe terão suas posições atualizadas para todos os jogadores no mapa, buscando assim evitar dessincronizações entre clientes.
|
||||
Adicionado drops de red bean porridge em alguns mobs de El Nath.
|
||||
Implementado flag para opção de aquisição de belts de Dojo regular ou fácil.
|
||||
Corrigido map banish de mobs não funcionando corretamente após as últimas atualizações do MoveLifeHandler.
|
||||
Corrigido bug na quest do 2nd Maker que permitia conclusão de quest ao realizar disassemble em equipamentos.
|
||||
Adicionado nova mecânica custom: amalgama de equipamentos. Jogadores acima do nível 160, que possuem Maker level 3, poderão utilizar esta mecânica para alavancar atributos dos itens equipados.
|
||||
Refatorado método de ganho de fama para não mais usar modificador synchronized, assim evitando possível caso de deadlock.
|
||||
Adicionado server flag que permite acesso a todas as skills de job de Aran ao iniciar novo job.
|
||||
Corrigido horário irregular no sistema do servidor.
|
||||
Adicionado scripts para skill quests de Battleship e Super Transformation.
|
||||
|
||||
03 Novembro 2018,
|
||||
Corrigido caso onde pets estavam com posições de inventário desatualizadas, levando a certas inconsistências com evoluir/administrar pets.
|
||||
|
||||
05 Novembro 2018,
|
||||
Alterado administração de timestamp nos handlers. Agora detecção de spam é inteiramente responsabilidade do servidor, onde a detecção de spam ocorre de acordo com quantidade de vezes que um pacote é recebido num dado intervalo de tempo estipulado internamente.
|
||||
Refatorado packets que lidam com respostas a comandos de pets.
|
||||
|
||||
07 - 09 Novembro 2018,
|
||||
Corrigido drop data de Ultra Gray com item inexistente.
|
||||
Corrigido quest de meteoritos mudando estado da quest mesmo quando jogador não recebe o item devido a inventário cheio.
|
||||
Corrigido quest de Maker lv1 retirando mesos além da quantidade esperada, ao realizar ações da quest.
|
||||
Adicionado server flag que lida com utilização de features NPCs custom.
|
||||
28
docs/npcmarkups.txt
Normal file
28
docs/npcmarkups.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Source: http://metropi.forumotion.net/t32-npc-scripting-guide-from-ragezone
|
||||
|
||||
NPC Markups:
|
||||
#b = Blue text.
|
||||
#c[itemid]# Shows how many [itemid] the player has in their inventory.
|
||||
#d = Purple text.
|
||||
#e = Bold text.
|
||||
#f[imagelocation]# - Shows an image inside the .wz files.
|
||||
#g = Green text.
|
||||
#h # - Shows the name of the player.
|
||||
#i[itemid]# - Shows a picture of the item.
|
||||
#k = Black text.
|
||||
#l - Selection close.
|
||||
#m[mapid]# - Shows the name of the map.
|
||||
#n = Normal text (removes bold).
|
||||
#o[mobid]# - Shows the name of the mob.
|
||||
#p[npcid]# - Shows the name of the NPC.
|
||||
#q[skillid]# - Shows the name of the skill.
|
||||
#r = Red text.
|
||||
#s[skillid]# - Shows the image of the skill.
|
||||
#t[itemid]# - Shows the name of the item.
|
||||
#v[itemid]# - Shows a picture of the item.
|
||||
#x - Returns "0%" (need more information on this).
|
||||
#z[itemid]# - Shows the name of the item.
|
||||
#B[%]# - Shows a 'progress' bar.
|
||||
#F[imagelocation]# - Shows an image inside the .wz files.
|
||||
#L[number]# Selection open.
|
||||
\r\n - Moves down a line.
|
||||
Reference in New Issue
Block a user