Commit Graph

60 Commits

Author SHA1 Message Date
P0nk
5bc2f47883 Move session init management to new class 2021-06-28 12:00:09 +02:00
P0nk
69a4dd8c6d Factor out duplicated code that adds remote host to pool 2021-06-28 11:02:06 +02:00
P0nk
b35c4d3de8 Handle hwid assocation expiry in dedicated class 2021-06-28 10:37:06 +02:00
P0nk
2c18f7a4a8 Move the remaining session database logic 2021-06-27 21:35:43 +02:00
P0nk
8041ccd6bd Move some session database logic to dedicated class
I need to clean up this class before attempting
to migrate away from IoSession for session handling.
2021-06-27 09:44:55 +02:00
P0nk
b19f65f7ee Encapsulate ip address logic in new class 2021-06-26 23:40:59 +02:00
P0nk
80cacd609a Disconnect client if idle
Thanks SharpAceX for Guida,
which I used as a reference.
2021-06-24 22:09:21 +02:00
P0nk
9638d5c417 Initial Netty implementation for networking
Split into 1 LoginServer and 1 ChannelServer per channel.

There is still a lot of cleanup and refactoring to be done.
Currently, the reliance on IoSession holding client state
is the most pressing issue to be addressed.
2021-06-23 18:20:08 +02:00
James McDowell
e967294eb9 Add back in NPC conversation names
The names of the npc conversations were useful for context. Added them  back in.
2021-05-26 19:41:27 +10:00
James McDowell
9128329d37 Swapped from list to set to prevent duplicates
Use a set instead, clone instead of adding directly to the list.
2021-05-20 19:16:22 +10:00
James McDowell
cff3d3df56 Added the ability to specify a custom rebirth npc id, which is automatically added to the list of scriptable npcs for overriding. Changed scriptable npcs to use config instead of a constants file, so that users can easily modify them without digging into the code and requiring a rebuild. 2021-05-16 14:46:38 +10:00
James McDowell
45ca7009c8 Updated to allow a generic rebirth npc id to be passed through and used for rebirthing if it's enabled. 2021-05-16 10:32:51 +10:00
P0nk
5a5110d905 Use existing connection for loading new year + family
Move async tasks earlier for lower chance of having to wait
2021-04-16 20:41:17 +02:00
P0nk
8335e77f2e Load developer room async on startup 2021-04-13 22:44:20 +02:00
P0nk
dd7c2a697a Load skillbook source information async on startup 2021-04-13 08:14:11 +02:00
P0nk
055ee01ae9 Load quests async on startup 2021-04-12 22:05:57 +02:00
P0nk
a59b55db57 Load cash items async on startup 2021-04-12 21:44:47 +02:00
P0nk
415376ce08 Load skills async on startup 2021-04-12 21:06:05 +02:00
P0nk
ab56d18bd3 Log startup time 2021-04-11 14:02:25 +02:00
P0nk
68239bc0b5 Make database operations during startup consistent
Use the same Connection. and log things in a similar fashion
2021-04-11 13:52:35 +02:00
P0nk
858fcd2a3a Actually perform name changes & world transfers on startup
No changes were being committed
2021-04-11 13:05:12 +02:00
ronancpl
d4e4150a6e cleanup: adjust syntax 2021-04-10 09:43:05 -03:00
ronancpl
7a3d5d2b94 Allow local/LAN/WAN login-phase connections
Allow clients connecting from different IP domains (local/LAN/WAN) to get past login phase and clean unnecessary local server check.
2021-04-09 20:54:53 -03:00
P0nk
a5b42b8a43 cleanup: use primitive type instead of wrapper type 2021-04-08 17:49:22 +02:00
P0nk
202f2d8bc5 cleanup: use bulk operation instead of iteration 2021-04-08 17:49:21 +02:00
P0nk
3434c7334b cleanup: remove redundant cast 2021-04-08 17:39:55 +02:00
P0nk
ebb3aa7ba3 cleanup: prefer List#sort over Collections#sort 2021-04-08 07:44:02 +02:00
P0nk
5730b3b42d cleanup: use implicit generic type with diamond operator 2021-04-08 07:42:10 +02:00
P0nk
8aa44711e3 cleanup: use Integer#parseInt where applicable 2021-04-08 07:40:42 +02:00
P0nk
7ff8190977 cleanup: remove unnecessary boxing 2021-04-08 07:39:02 +02:00
P0nk
5c6f515d18 cleanup: use for-each loop where applicable 2021-04-08 07:36:38 +02:00
P0nk
0ff8a80ef2 cleanup: remove unnecessary semicolon 2021-04-08 07:34:56 +02:00
P0nk
f37d4063fb cleanup: remove unnecessary interface modifiers 2021-04-08 07:33:52 +02:00
P0nk
dde52653e5 cleanup: remove unnecessary conversion to String 2021-04-08 07:30:12 +02:00
P0nk
5e3b346053 cleanup: use Java-style array declaration 2021-04-08 07:17:03 +02:00
P0nk
ed5a444753 cleanup: remove unnecessary unboxing 2021-04-07 23:52:58 +02:00
P0nk
6253169e35 cleanup: replace anonymous inner class with lambda 2021-04-07 23:45:28 +02:00
P0nk
b3c1259580 Use new logging for all startup messages 2021-04-07 18:40:47 +02:00
RubenD96
e8d2256683 Fix exploit for negative itemId's in PetExcludeItemsHandler 2021-04-07 17:26:55 +02:00
RubenD96
28707fa0f3 Fix exploit for invalid skill macro name length 2021-04-07 17:26:49 +02:00
P0nk
2f34b3ed8b Fix ranking update query using a keyword for field name
"Rank" is a reserved keyword in MySQL 8.
This caused an SQLSyntaxErrorException during the task run.
2021-04-06 21:12:23 +02:00
P0nk
02256e04ed Fix SQL type conversion error during ranking move update
Caused by prior upgrade to MySQL 8 which seems more strict when it comes to type conversions.
2021-04-06 21:11:56 +02:00
P0nk
69635f5e6c refactor: use try-with-resources for db operations in various places 2021-04-05 00:19:59 +02:00
P0nk
e13c313839 refactor: use try-with-resources for db operations in various handlers 2021-04-05 00:11:42 +02:00
P0nk
429f82e4fe refactor: use try-with-resources for nx coupon db operations 2021-04-05 00:09:51 +02:00
P0nk
8b686b60f1 refactor: use try-with-resources for ranking db operations 2021-04-04 23:56:46 +02:00
P0nk
f1ff0cb55f refactor: use try-with-resources for wedding ring db operations 2021-04-04 23:48:56 +02:00
P0nk
cb518863b0 refactor: use try-with-resources for various world wide db operations 2021-04-04 23:45:40 +02:00
P0nk
fc34d54cdd refactor: use try-with-resources for buddy list db operations 2021-04-04 21:48:52 +02:00
P0nk
0c267f8eee refactor: use try-with-resources for Duey db operations 2021-04-04 16:12:46 +02:00