Commit Graph

31 Commits

Author SHA1 Message Date
P0nk
da2d8abc56 Handlers read from InPacket instead of SeekableLittleEndianAccessor 2021-08-22 22:10:19 +02:00
P0nk
8f6860d7d7 All packet creating methods now create Packet instead of byte[]
This commit got way too big...
- Remove deprecated methods for sending packets
- Favor OutPacket & Packet over MaplePacketLittleEndianWriter, LittleEndianWriter, and byte array
- Split up some packet creating methods into separate classes
2021-08-21 01:36:51 +02:00
P0nk
d8b0929975 Tweak OutPacket 2021-08-20 13:11:46 +02:00
P0nk
e184f25184 Remove "Maple" prefix from MaplePacketCreator name 2021-08-19 21:31:57 +02:00
P0nk
8c4d3092a7 Remove "Maple" prefix from MapleSessionCoordinator name 2021-08-18 15:47:01 +02:00
P0nk
435cafd381 Refactor MapleClient constructor, fix issue with multiclient check 2021-07-18 16:27:41 +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
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
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
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
5431150362 Set up packet codec and channel initialization 2021-06-22 20:32:51 +02:00
P0nk
23bad12f8c Netty WIP
Implementing ByteBuf backed In/OutPacket first in a separate branch
2021-06-15 22:12:40 +02:00
P0nk
4dc0935391 Reformat MapleClient
Now uses 4 space indentation
2021-06-08 19:32:06 +02:00
P0nk
a18a1cb8ce Replace NashornScriptEngine with implicit GraalJSScriptEngine
GraalJSScriptEngine implements Invocable, which is why casting to it works.
However, this is just a quick and ugly fix to make it compile.
A better solution would be to cast it once, immediately after `eval`,
and from then on only handle it as Invocable.

Scripts still need to be fixed. They are still using Rhino and Nashorn-specific
ways of importing packages.
Usages of "importPackage" and "Packages" need to be replaced with
the Graal specific "Java.type".
2021-04-17 15:12:19 +02: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
3434c7334b cleanup: remove redundant cast 2021-04-08 17:39:55 +02:00
P0nk
6253169e35 cleanup: replace anonymous inner class with lambda 2021-04-07 23:45:28 +02:00
P0nk
7e206d4589 refactor: use try-with-resources for client db operations 2021-04-04 16:49:01 +02:00
P0nk
754ab67de7 Change default birthday and tempban to fix conversion issue
ResultSet#getLong on a timestamp field is not allowed
2021-04-02 16:12:57 +02:00
P0nk
813643036b Switch to Maven file structure 2021-03-30 21:56:34 +02:00