P0nk
cce85ea663
Use Hwid for login bypass
2021-07-15 22:08:19 +02:00
P0nk
81393392ab
Clean up Apache Mina, goodbye!
2021-07-13 22:10:01 +02:00
P0nk
94e1125eca
Move some remaining bits and pieces to netty implementation, start cleaning up
2021-07-13 21:54:07 +02:00
P0nk
fc694f1b0f
Able to log incoming and outgoing packets
2021-07-13 21:50:19 +02:00
P0nk
3de827553e
Fix idle state disconnecting regardless of received pong
2021-07-12 19:52:55 +02:00
P0nk
5a7d8e6b1f
Use MapleClient for session management
...
First working version of the Netty implementation,
but there's a lot remaining to be done.
2021-07-11 18:56:45 +02:00
P0nk
86224f5152
Merge branch 'master' into netty
2021-07-11 15:20:00 +02:00
P0nk
b8781ee209
Merge branch 'master' into fix-tools
...
# Conflicts:
# pom.xml
2021-07-11 14:53:11 +02:00
P0nk
14a405adb2
Consistent handling of wz files and their paths
2021-07-10 17:49:04 +02:00
P0nk
fcb43af8e3
Minor refactors
2021-07-10 13:52:19 +02:00
P0nk
0e98abff41
Minor renaming and refactoring
2021-06-29 20:27:32 +02:00
P0nk
828c3c5345
Add Hwid class for "nibble hwid" part of "remote host"
2021-06-29 20:26:14 +02:00
P0nk
d34798649b
Add dedicated host hwid cache, further refactor session coordinator
2021-06-29 08:35:21 +02:00
P0nk
671313ab57
Encapsulate hwid validation
2021-06-29 08:29:29 +02:00
P0nk
50e2b909f1
Use Instant instead of long for time measurement
2021-06-28 12:29:19 +02:00
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
f6aca2018e
Packet sending during Netty migration
2021-06-25 14:43:05 +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
5651bee2b5
Move client transition state and hostAddress to fields
2021-06-23 19:03:54 +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
P0nk
0fa6ad0e24
Refactor PacketProcessor, split into more methods
2021-06-23 16:09:43 +02:00
P0nk
5431150362
Set up packet codec and channel initialization
2021-06-22 20:32:51 +02:00
P0nk
171215e653
Clean up old In/OutPacket
2021-06-22 17:15:19 +02:00
P0nk
442684d852
Merge branch 'master' into netty
...
# Conflicts:
# pom.xml
2021-06-21 22:15:00 +02:00
P0nk
72ff8d563b
Refactor packet string charset
2021-06-21 22:03:20 +02:00
P0nk
4fd64884f2
Simplify getBytes and add tests for it
2021-06-21 21:45:06 +02:00
P0nk
aaf4b558f3
Finish InPacket & OutPacket implementations
2021-06-20 21:27:50 +02:00
P0nk
f3faee2e16
Add OutPacket interface and ByteBuf implementation
...
Replacement for LittleEndianWriter, GenericLittleEndianWriter,
and MaplePacketLittleEndianWriter.
2021-06-20 21:20:39 +02:00
P0nk
00abbb4acd
Add InPacket interface and ByteBuf implementation
...
Replacement for LittleEndianAccessor, SeekableLittleEndianAccessor,
GenericLittleEndianAccessor, and GenericSeekableLittleEndianAccessor.
2021-06-20 21:20:38 +02:00
P0nk
23bad12f8c
Netty WIP
...
Implementing ByteBuf backed In/OutPacket first in a separate branch
2021-06-15 22:12:40 +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