P0nk
8c4d3092a7
Remove "Maple" prefix from MapleSessionCoordinator name
2021-08-18 15:47:01 +02:00
P0nk
a8c6ef8934
Fix remote host not clearing after login
...
This would cause the client to disconnect whenever exiting the game
or returning to the login screen if the multiclient deterrent was enabled.
2021-08-18 11:58:52 +02:00
P0nk
435cafd381
Refactor MapleClient constructor, fix issue with multiclient check
2021-07-18 16:27:41 +02:00
P0nk
850d44d549
Minor cleanup - pom and encryption package
2021-07-18 16:05:34 +02:00
P0nk
5f149f0a27
Configure logging to be less verbose
...
Packet logging to the console is especially concise
2021-07-18 15:40:43 +02:00
P0nk
9e3f3cc036
Restructure "net" packages
2021-07-18 14:26:23 +02:00
P0nk
11e83522d6
Log packets in dedicated handlers instead of in encoder/decoder
2021-07-18 14:09:39 +02:00
P0nk
ab03dd3109
Minor cleanup
2021-07-17 11:24:11 +02:00
P0nk
6e6fbf3be7
Consistently use Hwid domain object, fix login bypass
...
Login bypass (skip pin/pic) was broken due to an
inconsistency in hwid format.
2021-07-15 23:51:01 +02:00
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